From e3b94efb3d36a89b7c981813626719ed48d5ec2f Mon Sep 17 00:00:00 2001 From: Nikola Milosavljevic <73236646+NikolaMilosa@users.noreply.github.com> Date: Tue, 3 Sep 2024 11:53:12 +0200 Subject: [PATCH 01/25] chore: refactoring proposals agent to increase testability (#851) --- rs/cli/src/ctx.rs | 15 +- rs/cli/src/operations/hostos_rollout.rs | 11 +- rs/cli/src/runner.rs | 4 +- rs/ic-management-backend/src/endpoints/mod.rs | 4 +- rs/ic-management-backend/src/lazy_registry.rs | 10 +- rs/ic-management-backend/src/proposal.rs | 214 ++++++++++-------- rs/ic-management-backend/src/registry.rs | 14 +- rs/ic-management-backend/src/release.rs | 7 +- 8 files changed, 160 insertions(+), 119 deletions(-) diff --git a/rs/cli/src/ctx.rs b/rs/cli/src/ctx.rs index 892ec73be..9ae02d2dd 100644 --- a/rs/cli/src/ctx.rs +++ b/rs/cli/src/ctx.rs @@ -11,7 +11,7 @@ use ic_canisters::{governance::governance_canister_version, IcAgentCanisterClien use ic_management_backend::{ lazy_git::LazyGit, lazy_registry::{LazyRegistry, LazyRegistryImpl}, - proposal::ProposalAgent, + proposal::{ProposalAgent, ProposalAgentImpl}, registry::{local_registry_path, sync_local_store}, }; use ic_management_types::Network; @@ -34,6 +34,7 @@ pub struct DreContext { ic_admin: Option<Arc<dyn IcAdmin>>, runner: RefCell<Option<Rc<Runner>>>, ic_repo: RefCell<Option<Arc<dyn LazyGit>>>, + proposal_agent: Arc<dyn ProposalAgent>, verbose_runner: bool, skip_sync: bool, ic_admin_path: Option<String>, @@ -79,6 +80,7 @@ impl DreContext { .await?; Ok(Self { + proposal_agent: Arc::new(ProposalAgentImpl::new(&network.nns_urls)), network, registry: RefCell::new(None), ic_admin, @@ -165,7 +167,12 @@ impl DreContext { info!("Using local registry path for network {}: {}", network.name, local_path.display()); let local_registry = LocalRegistry::new(local_path, Duration::from_millis(1000)).expect("Failed to create local registry"); - let registry = Arc::new(LazyRegistryImpl::new(local_registry, network.clone(), self.skip_sync)); + let registry = Arc::new(LazyRegistryImpl::new( + local_registry, + network.clone(), + self.skip_sync, + self.proposals_agent(), + )); *self.registry.borrow_mut() = Some(registry.clone()); registry } @@ -206,8 +213,8 @@ impl DreContext { SubnetManager::new(registry, self.network().clone()) } - pub fn proposals_agent(&self) -> ProposalAgent { - ProposalAgent::new(self.network().get_nns_urls()) + pub fn proposals_agent(&self) -> Arc<dyn ProposalAgent> { + self.proposal_agent.clone() } pub async fn runner(&self) -> Rc<Runner> { diff --git a/rs/cli/src/operations/hostos_rollout.rs b/rs/cli/src/operations/hostos_rollout.rs index 4903abbdb..16b86c08e 100644 --- a/rs/cli/src/operations/hostos_rollout.rs +++ b/rs/cli/src/operations/hostos_rollout.rs @@ -132,7 +132,7 @@ pub struct HostosRollout { pub grouped_nodes: BTreeMap<NodeGroup, Vec<Node>>, pub subnets: Arc<BTreeMap<PrincipalId, Subnet>>, pub network: Network, - pub proposal_agent: ProposalAgent, + pub proposal_agent: Arc<dyn ProposalAgent>, pub only_filter: Vec<String>, pub exclude_filter: Vec<String>, pub version: String, @@ -142,7 +142,7 @@ impl HostosRollout { nodes: Arc<BTreeMap<PrincipalId, Node>>, subnets: Arc<BTreeMap<PrincipalId, Subnet>>, network: &Network, - proposal_agent: ProposalAgent, + proposal_agent: Arc<dyn ProposalAgent>, rollout_version: &str, only_filter: &[String], exclude_filter: &[String], @@ -533,6 +533,7 @@ impl HostosRollout { pub mod test { use crate::operations::hostos_rollout::NodeAssignment::{Assigned, Unassigned}; use crate::operations::hostos_rollout::NodeOwner::{Dfinity, Others}; + use ic_management_backend::proposal::ProposalAgentImpl; use ic_management_types::{Network, Node, Operator, Provider, Subnet}; use std::net::Ipv6Addr; @@ -584,7 +585,7 @@ pub mod test { Arc::new(union.clone()), Arc::new(subnet.clone()), &network, - ProposalAgent::new(nns_urls), + Arc::new(ProposalAgentImpl::new(nns_urls)) as Arc<dyn ProposalAgent>, version_one.clone().as_str(), &[], &[], @@ -623,7 +624,7 @@ pub mod test { Arc::new(union.clone()), Arc::new(subnet.clone()), &network, - ProposalAgent::new(nns_urls), + Arc::new(ProposalAgentImpl::new(nns_urls)) as Arc<dyn ProposalAgent>, version_one.clone().as_str(), &[], &nodes_to_exclude, @@ -651,7 +652,7 @@ pub mod test { Arc::new(union.clone()), Arc::new(subnet.clone()), &network, - ProposalAgent::new(nns_urls), + Arc::new(ProposalAgentImpl::new(nns_urls)) as Arc<dyn ProposalAgent>, version_two.clone().as_str(), &[], &[], diff --git a/rs/cli/src/runner.rs b/rs/cli/src/runner.rs index 2998042a9..f2a79af97 100644 --- a/rs/cli/src/runner.rs +++ b/rs/cli/src/runner.rs @@ -47,7 +47,7 @@ pub struct Runner { registry: Arc<dyn LazyRegistry>, ic_repo: RefCell<Option<Arc<dyn LazyGit>>>, network: Network, - proposal_agent: ProposalAgent, + proposal_agent: Arc<dyn ProposalAgent>, verbose: bool, } @@ -56,7 +56,7 @@ impl Runner { ic_admin: Arc<dyn IcAdmin>, registry: Arc<dyn LazyRegistry>, network: Network, - agent: ProposalAgent, + agent: Arc<dyn ProposalAgent>, verbose: bool, ic_repo: RefCell<Option<Arc<dyn LazyGit>>>, ) -> Self { diff --git a/rs/ic-management-backend/src/endpoints/mod.rs b/rs/ic-management-backend/src/endpoints/mod.rs index cce18e25d..d614b0b69 100644 --- a/rs/ic-management-backend/src/endpoints/mod.rs +++ b/rs/ic-management-backend/src/endpoints/mod.rs @@ -159,7 +159,7 @@ async fn get_subnet( #[get("/rollout")] async fn rollout(registry: web::Data<Arc<RwLock<registry::RegistryState>>>) -> Result<HttpResponse, Error> { let registry = registry.read().await; - let proposal_agent = proposal::ProposalAgent::new(registry.get_nns_urls()); + let proposal_agent = proposal::ProposalAgentImpl::new(registry.get_nns_urls()); let network = registry.network(); let prometheus_client = prometheus::client(&network); let service = RolloutBuilder { @@ -175,7 +175,7 @@ async fn rollout(registry: web::Data<Arc<RwLock<registry::RegistryState>>>) -> R #[get("/subnets/versions")] async fn subnets_release(registry: web::Data<Arc<RwLock<registry::RegistryState>>>) -> Result<HttpResponse, Error> { let registry = registry.read().await; - let proposal_agent = proposal::ProposalAgent::new(registry.get_nns_urls()); + let proposal_agent = proposal::ProposalAgentImpl::new(registry.get_nns_urls()); let network = registry.network(); let prometheus_client = prometheus::client(&network); response_from_result( diff --git a/rs/ic-management-backend/src/lazy_registry.rs b/rs/ic-management-backend/src/lazy_registry.rs index 58d7f6319..6b02a98cf 100644 --- a/rs/ic-management-backend/src/lazy_registry.rs +++ b/rs/ic-management-backend/src/lazy_registry.rs @@ -33,9 +33,10 @@ use tokio::sync::RwLock; use tokio::try_join; use crate::health::HealthStatusQuerier; +use crate::node_labels; +use crate::proposal::ProposalAgent; use crate::public_dashboard::query_ic_dashboard_list; use crate::registry::{DFINITY_DCS, NNS_SUBNET_NAME}; -use crate::{node_labels, proposal}; const KNOWN_SUBNETS: &[(&str, &str)] = &[ ( @@ -181,6 +182,7 @@ where unassigned_nodes_replica_version: RwLock<Option<Arc<String>>>, firewall_rule_set: RwLock<Option<Arc<BTreeMap<String, FirewallRuleSet>>>>, no_sync: bool, + proposal_agent: Arc<dyn ProposalAgent>, } pub trait LazyRegistryEntry: RegistryValue { @@ -277,7 +279,7 @@ impl LazyRegistryFamilyEntries for LazyRegistryImpl { } impl LazyRegistryImpl { - pub fn new(local_registry: LocalRegistry, network: Network, no_sync: bool) -> Self { + pub fn new(local_registry: LocalRegistry, network: Network, no_sync: bool, proposal_agent: Arc<dyn ProposalAgent>) -> Self { Self { local_registry, network, @@ -290,6 +292,7 @@ impl LazyRegistryImpl { unassigned_nodes_replica_version: RwLock::new(None), firewall_rule_set: RwLock::new(None), no_sync, + proposal_agent, } } @@ -686,11 +689,10 @@ impl LazyRegistry for LazyRegistryImpl { return Ok(()); } - let proposal_agent = proposal::ProposalAgent::new(self.network.get_nns_urls()); let nodes = self.nodes().await?; let subnets = self.subnets().await?; - let topology_proposals = proposal_agent.list_open_topology_proposals().await?; + let topology_proposals = self.proposal_agent.list_open_topology_proposals().await?; let nodes: BTreeMap<_, _> = nodes .iter() .map(|(p, n)| { diff --git a/rs/ic-management-backend/src/proposal.rs b/rs/ic-management-backend/src/proposal.rs index e191f1a52..72cbb476e 100644 --- a/rs/ic-management-backend/src/proposal.rs +++ b/rs/ic-management-backend/src/proposal.rs @@ -4,6 +4,7 @@ use anyhow::Result; use backon::ExponentialBuilder; use backon::Retryable; use candid::{Decode, Encode}; +use futures::future::BoxFuture; use futures_util::future::try_join_all; use ic_agent::agent::http_transport::ReqwestTransport; use ic_agent::Agent; @@ -28,8 +29,23 @@ use registry_canister::mutations::node_management::do_remove_nodes::RemoveNodesP use serde::Serialize; use url::Url; +#[allow(dead_code)] +pub trait ProposalAgent: Send + Sync { + fn list_open_topology_proposals(&self) -> BoxFuture<'_, Result<Vec<TopologyChangeProposal>>>; + + fn list_open_elect_replica_proposals(&self) -> BoxFuture<'_, Result<Vec<UpdateElectedReplicaVersionsProposal>>>; + + fn list_open_elect_hostos_proposals(&self) -> BoxFuture<'_, Result<Vec<UpdateElectedHostosVersionsProposal>>>; + + fn list_open_update_nodes_hostos_versions_proposals(&self) -> BoxFuture<'_, Result<Vec<UpdateNodesHostosVersionsProposal>>>; + + fn list_update_subnet_version_proposals(&self) -> BoxFuture<'_, Result<Vec<SubnetUpdateProposal>>>; + + fn list_update_unassigned_nodes_version_proposals(&self) -> BoxFuture<'_, Result<Vec<UpdateUnassignedNodesProposal>>>; +} + #[derive(Clone)] -pub struct ProposalAgent { +pub struct ProposalAgentImpl { agent: Agent, } @@ -84,123 +100,137 @@ pub struct UpdateUnassignedNodesProposal { pub payload: UpdateUnassignedNodesConfigPayload, } -#[allow(dead_code)] -impl ProposalAgent { - pub fn new(nns_urls: &[Url]) -> Self { - let client = reqwest::Client::builder() - .use_rustls_tls() - .timeout(Duration::from_secs(30)) - .build() - .expect("Could not create HTTP client."); - let agent = Agent::builder() - .with_transport(ReqwestTransport::create_with_client(nns_urls[0].clone(), client).expect("Failed to create transport")) - .with_verify_query_signatures(false) - .build() - .expect("failed to build the agent"); +impl ProposalAgent for ProposalAgentImpl { + fn list_open_topology_proposals(&self) -> BoxFuture<'_, Result<Vec<TopologyChangeProposal>>> { + Box::pin(async { + let proposals = &self.list_proposals(vec![ProposalStatus::Open]).await?; + let create_subnet_proposals = Self::nodes_proposals(filter_map_nns_function_proposals::<CreateSubnetPayload>(proposals)).into_iter(); - Self { agent } - } + let add_nodes_to_subnet_proposals = + Self::nodes_proposals(filter_map_nns_function_proposals::<AddNodesToSubnetPayload>(proposals)).into_iter(); - fn nodes_proposals<T: TopologyChangePayload>(proposals: Vec<(ProposalInfo, T)>) -> Vec<TopologyChangeProposal> { - proposals.into_iter().map(TopologyChangeProposal::from).collect() - } + let remove_nodes_from_subnet_proposals = + Self::nodes_proposals(filter_map_nns_function_proposals::<RemoveNodesFromSubnetPayload>(proposals)).into_iter(); - pub async fn list_open_topology_proposals(&self) -> Result<Vec<TopologyChangeProposal>> { - let proposals = &self.list_proposals(vec![ProposalStatus::Open]).await?; - let create_subnet_proposals = Self::nodes_proposals(filter_map_nns_function_proposals::<CreateSubnetPayload>(proposals)).into_iter(); + let remove_nodes_proposals = Self::nodes_proposals(filter_map_nns_function_proposals::<RemoveNodesPayload>(proposals)).into_iter(); - let add_nodes_to_subnet_proposals = - Self::nodes_proposals(filter_map_nns_function_proposals::<AddNodesToSubnetPayload>(proposals)).into_iter(); + let membership_change_proposals = + Self::nodes_proposals(filter_map_nns_function_proposals::<ChangeSubnetMembershipPayload>(proposals)).into_iter(); - let remove_nodes_from_subnet_proposals = - Self::nodes_proposals(filter_map_nns_function_proposals::<RemoveNodesFromSubnetPayload>(proposals)).into_iter(); + let mut result = create_subnet_proposals + .chain(add_nodes_to_subnet_proposals) + .chain(remove_nodes_from_subnet_proposals) + .chain(membership_change_proposals) + .chain(remove_nodes_proposals) + .collect::<Vec<_>>(); + result.sort_by_key(|p| p.id); + result.reverse(); - let remove_nodes_proposals = Self::nodes_proposals(filter_map_nns_function_proposals::<RemoveNodesPayload>(proposals)).into_iter(); + Ok(result) + }) + } - let membership_change_proposals = - Self::nodes_proposals(filter_map_nns_function_proposals::<ChangeSubnetMembershipPayload>(proposals)).into_iter(); + fn list_open_elect_replica_proposals(&self) -> BoxFuture<'_, Result<Vec<UpdateElectedReplicaVersionsProposal>>> { + Box::pin(async { + let proposals = &self.list_proposals(vec![ProposalStatus::Open]).await?; + let open_elect_guest_proposals = filter_map_nns_function_proposals::<ReviseElectedGuestosVersionsPayload>(proposals); - let mut result = create_subnet_proposals - .chain(add_nodes_to_subnet_proposals) - .chain(remove_nodes_from_subnet_proposals) - .chain(membership_change_proposals) - .chain(remove_nodes_proposals) - .collect::<Vec<_>>(); - result.sort_by_key(|p| p.id); - result.reverse(); + let result = open_elect_guest_proposals + .into_iter() + .map(|(proposal_info, proposal_payload)| UpdateElectedReplicaVersionsProposal { + proposal_id: proposal_info.id.expect("proposal should have an id").id, + version_elect: proposal_payload.replica_version_to_elect.expect("version elect should exist"), - Ok(result) + versions_unelect: proposal_payload.replica_versions_to_unelect, + }) + .sorted_by_key(|p| p.proposal_id) + .rev() + .collect::<Vec<_>>(); + + Ok(result) + }) } - pub async fn list_open_elect_replica_proposals(&self) -> Result<Vec<UpdateElectedReplicaVersionsProposal>> { - let proposals = &self.list_proposals(vec![ProposalStatus::Open]).await?; - let open_elect_guest_proposals = filter_map_nns_function_proposals::<ReviseElectedGuestosVersionsPayload>(proposals); + fn list_open_elect_hostos_proposals(&self) -> BoxFuture<'_, Result<Vec<UpdateElectedHostosVersionsProposal>>> { + Box::pin(async { + let proposals = &self.list_proposals(vec![ProposalStatus::Open]).await?; + let open_elect_guest_proposals = filter_map_nns_function_proposals::<UpdateElectedHostosVersionsPayload>(proposals); - let result = open_elect_guest_proposals - .into_iter() - .map(|(proposal_info, proposal_payload)| UpdateElectedReplicaVersionsProposal { - proposal_id: proposal_info.id.expect("proposal should have an id").id, - version_elect: proposal_payload.replica_version_to_elect.expect("version elect should exist"), + let result = open_elect_guest_proposals + .into_iter() + .map(|(proposal_info, proposal_payload)| UpdateElectedHostosVersionsProposal { + proposal_id: proposal_info.id.expect("proposal should have an id").id, + version_elect: proposal_payload.hostos_version_to_elect.expect("version elect should exist"), - versions_unelect: proposal_payload.replica_versions_to_unelect, - }) - .sorted_by_key(|p| p.proposal_id) - .rev() - .collect::<Vec<_>>(); + versions_unelect: proposal_payload.hostos_versions_to_unelect, + }) + .sorted_by_key(|p| p.proposal_id) + .rev() + .collect::<Vec<_>>(); - Ok(result) + Ok(result) + }) } - pub async fn list_open_elect_hostos_proposals(&self) -> Result<Vec<UpdateElectedHostosVersionsProposal>> { - let proposals = &self.list_proposals(vec![ProposalStatus::Open]).await?; - let open_elect_guest_proposals = filter_map_nns_function_proposals::<UpdateElectedHostosVersionsPayload>(proposals); + fn list_open_update_nodes_hostos_versions_proposals(&self) -> BoxFuture<'_, Result<Vec<UpdateNodesHostosVersionsProposal>>> { + Box::pin(async { + let proposals = &self.list_proposals(vec![ProposalStatus::Open]).await?; + let open_update_nodes_hostos_versions_proposals = filter_map_nns_function_proposals::<UpdateNodesHostosVersionPayload>(proposals); - let result = open_elect_guest_proposals - .into_iter() - .map(|(proposal_info, proposal_payload)| UpdateElectedHostosVersionsProposal { - proposal_id: proposal_info.id.expect("proposal should have an id").id, - version_elect: proposal_payload.hostos_version_to_elect.expect("version elect should exist"), + let result = open_update_nodes_hostos_versions_proposals + .into_iter() + .map(|(proposal_info, proposal_payload)| UpdateNodesHostosVersionsProposal { + proposal_id: proposal_info.id.expect("proposal should have an id").id, + hostos_version_id: proposal_payload.hostos_version_id.expect("version elect should exist"), - versions_unelect: proposal_payload.hostos_versions_to_unelect, - }) - .sorted_by_key(|p| p.proposal_id) - .rev() - .collect::<Vec<_>>(); + node_ids: proposal_payload.node_ids, + }) + .sorted_by_key(|p| p.proposal_id) + .rev() + .collect::<Vec<_>>(); - Ok(result) + Ok(result) + }) } - pub async fn list_open_update_nodes_hostos_versions_proposals(&self) -> Result<Vec<UpdateNodesHostosVersionsProposal>> { - let proposals = &self.list_proposals(vec![ProposalStatus::Open]).await?; - let open_update_nodes_hostos_versions_proposals = filter_map_nns_function_proposals::<UpdateNodesHostosVersionPayload>(proposals); - - let result = open_update_nodes_hostos_versions_proposals - .into_iter() - .map(|(proposal_info, proposal_payload)| UpdateNodesHostosVersionsProposal { - proposal_id: proposal_info.id.expect("proposal should have an id").id, - hostos_version_id: proposal_payload.hostos_version_id.expect("version elect should exist"), - - node_ids: proposal_payload.node_ids, - }) - .sorted_by_key(|p| p.proposal_id) - .rev() - .collect::<Vec<_>>(); + fn list_update_subnet_version_proposals(&self) -> BoxFuture<'_, Result<Vec<SubnetUpdateProposal>>> { + Box::pin(async { + Ok(filter_map_nns_function_proposals(&self.list_proposals(vec![]).await?) + .into_iter() + .map(|(info, payload)| SubnetUpdateProposal { info: info.into(), payload }) + .collect::<Vec<_>>()) + }) + } - Ok(result) + fn list_update_unassigned_nodes_version_proposals(&self) -> BoxFuture<'_, Result<Vec<UpdateUnassignedNodesProposal>>> { + Box::pin(async { + Ok(filter_map_nns_function_proposals(&self.list_proposals(vec![]).await?) + .into_iter() + .map(|(info, payload)| UpdateUnassignedNodesProposal { info: info.into(), payload }) + .collect::<Vec<_>>()) + }) } +} + +#[allow(dead_code)] +impl ProposalAgentImpl { + pub fn new(nns_urls: &[Url]) -> Self { + let client = reqwest::Client::builder() + .use_rustls_tls() + .timeout(Duration::from_secs(30)) + .build() + .expect("Could not create HTTP client."); + let agent = Agent::builder() + .with_transport(ReqwestTransport::create_with_client(nns_urls[0].clone(), client).expect("Failed to create transport")) + .with_verify_query_signatures(false) + .build() + .expect("failed to build the agent"); - pub async fn list_update_subnet_version_proposals(&self) -> Result<Vec<SubnetUpdateProposal>> { - Ok(filter_map_nns_function_proposals(&self.list_proposals(vec![]).await?) - .into_iter() - .map(|(info, payload)| SubnetUpdateProposal { info: info.into(), payload }) - .collect::<Vec<_>>()) + Self { agent } } - pub async fn list_update_unassigned_nodes_version_proposals(&self) -> Result<Vec<UpdateUnassignedNodesProposal>> { - Ok(filter_map_nns_function_proposals(&self.list_proposals(vec![]).await?) - .into_iter() - .map(|(info, payload)| UpdateUnassignedNodesProposal { info: info.into(), payload }) - .collect::<Vec<_>>()) + fn nodes_proposals<T: TopologyChangePayload>(proposals: Vec<(ProposalInfo, T)>) -> Vec<TopologyChangeProposal> { + proposals.into_iter().map(TopologyChangeProposal::from).collect() } async fn list_proposals(&self, include_status: Vec<ProposalStatus>) -> Result<Vec<ProposalInfo>> { diff --git a/rs/ic-management-backend/src/registry.rs b/rs/ic-management-backend/src/registry.rs index ecdf392fd..7c8617f27 100644 --- a/rs/ic-management-backend/src/registry.rs +++ b/rs/ic-management-backend/src/registry.rs @@ -1,7 +1,7 @@ use crate::git_ic_repo::IcRepo; use crate::health::HealthStatusQuerier; use crate::node_labels; -use crate::proposal::{self, SubnetUpdateProposal, UpdateUnassignedNodesProposal}; +use crate::proposal::{self, ProposalAgent, SubnetUpdateProposal, UpdateUnassignedNodesProposal}; use crate::public_dashboard::query_ic_dashboard_list; use decentralization::network::{AvailableNodesQuerier, NodesConverter, SubnetQuerier, SubnetQueryBy}; use futures::future::BoxFuture; @@ -615,7 +615,7 @@ impl RegistryState { pub async fn nodes_with_proposals(&self) -> Result<BTreeMap<PrincipalId, Node>> { let nodes = self.nodes.clone(); - let proposal_agent = proposal::ProposalAgent::new(self.network.get_nns_urls()); + let proposal_agent = proposal::ProposalAgentImpl::new(self.network.get_nns_urls()); let topology_proposals = proposal_agent.list_open_topology_proposals().await?; @@ -633,18 +633,18 @@ impl RegistryState { } pub async fn open_elect_replica_proposals(&self) -> Result<Vec<UpdateElectedReplicaVersionsProposal>> { - let proposal_agent = proposal::ProposalAgent::new(self.network.get_nns_urls()); + let proposal_agent = proposal::ProposalAgentImpl::new(self.network.get_nns_urls()); proposal_agent.list_open_elect_replica_proposals().await } pub async fn open_elect_hostos_proposals(&self) -> Result<Vec<UpdateElectedHostosVersionsProposal>> { - let proposal_agent = proposal::ProposalAgent::new(self.network.get_nns_urls()); + let proposal_agent = proposal::ProposalAgentImpl::new(self.network.get_nns_urls()); proposal_agent.list_open_elect_hostos_proposals().await } pub async fn subnets_with_proposals(&self) -> Result<BTreeMap<PrincipalId, Subnet>> { let subnets = self.subnets.clone(); - let proposal_agent = proposal::ProposalAgent::new(self.network.get_nns_urls()); + let proposal_agent = proposal::ProposalAgentImpl::new(self.network.get_nns_urls()); let topology_proposals = proposal_agent.list_open_topology_proposals().await?; @@ -682,13 +682,13 @@ impl RegistryState { } pub async fn open_subnet_upgrade_proposals(&self) -> Result<Vec<SubnetUpdateProposal>> { - let proposal_agent = proposal::ProposalAgent::new(self.get_nns_urls()); + let proposal_agent = proposal::ProposalAgentImpl::new(self.get_nns_urls()); proposal_agent.list_update_subnet_version_proposals().await } pub async fn open_upgrade_unassigned_nodes_proposals(&self) -> Result<Vec<UpdateUnassignedNodesProposal>> { - let proposal_agent = proposal::ProposalAgent::new(self.get_nns_urls()); + let proposal_agent = proposal::ProposalAgentImpl::new(self.get_nns_urls()); proposal_agent.list_update_unassigned_nodes_version_proposals().await } diff --git a/rs/ic-management-backend/src/release.rs b/rs/ic-management-backend/src/release.rs index 8a4a59545..41b29185a 100644 --- a/rs/ic-management-backend/src/release.rs +++ b/rs/ic-management-backend/src/release.rs @@ -13,7 +13,8 @@ use std::collections::{BTreeMap, BTreeSet}; use std::str::FromStr; use strum_macros::{Display, EnumString}; -use crate::proposal::{ProposalAgent, SubnetUpdateProposal}; +use crate::proposal::ProposalAgent; +use crate::proposal::{ProposalAgentImpl, SubnetUpdateProposal}; use crate::registry::NNS_SUBNET_NAME; #[derive(Serialize, Clone, Display, EnumString)] @@ -141,7 +142,7 @@ impl RolloutConfig { } pub struct RolloutBuilder { - pub proposal_agent: ProposalAgent, + pub proposal_agent: ProposalAgentImpl, pub prometheus_client: prometheus_http_query::Client, pub subnets: BTreeMap<PrincipalId, Subnet>, pub releases: Vec<Release>, @@ -620,7 +621,7 @@ async fn get_update_states( } pub async fn list_subnets_release_statuses( - proposal_agent: &ProposalAgent, + proposal_agent: &ProposalAgentImpl, prometheus_client: &prometheus_http_query::Client, network: Network, subnets: BTreeMap<PrincipalId, Subnet>, From 65e1de743d99f0ee1db105f59ed9ebe0cb947474 Mon Sep 17 00:00:00 2001 From: Nikola Milosavljevic <73236646+NikolaMilosa@users.noreply.github.com> Date: Tue, 3 Sep 2024 14:29:33 +0200 Subject: [PATCH 02/25] fix: registry canister (#854) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> --- Cargo.Bazel.lock | 18 +++++- Cargo.lock | 4 ++ rs/ic-canisters/Cargo.toml | 4 ++ rs/ic-canisters/src/registry.rs | 70 +++++++++++++++++++++--- rs/ic-management-backend/src/registry.rs | 15 ++--- 5 files changed, 96 insertions(+), 15 deletions(-) diff --git a/Cargo.Bazel.lock b/Cargo.Bazel.lock index 3ae1b8d26..55e28dcfb 100644 --- a/Cargo.Bazel.lock +++ b/Cargo.Bazel.lock @@ -1,5 +1,5 @@ { - "checksum": "76ee0866d5618a992b9197d6e283f29d8ae8c99652ea79b1025390bcd0d1ab07", + "checksum": "98c4b087938d37a4ae4cd08aa4c609f2abde672bb6e51a11137bd24fa1b6b40d", "crates": { "actix-codec 0.5.2": { "name": "actix-codec", @@ -16909,6 +16909,10 @@ "id": "ic-base-types 0.9.0", "target": "ic_base_types" }, + { + "id": "ic-interfaces-registry 0.9.0", + "target": "ic_interfaces_registry" + }, { "id": "ic-management-canister-types 0.9.0", "target": "ic_management_canister_types" @@ -16929,6 +16933,14 @@ "id": "ic-protobuf 0.9.0", "target": "ic_protobuf" }, + { + "id": "ic-registry-keys 0.9.0", + "target": "ic_registry_keys" + }, + { + "id": "ic-registry-nns-data-provider 0.9.0", + "target": "ic_registry_nns_data_provider" + }, { "id": "ic-registry-transport 0.9.0", "target": "ic_registry_transport" @@ -16941,6 +16953,10 @@ "id": "ic-transport-types 0.37.1", "target": "ic_transport_types" }, + { + "id": "ic-types 0.9.0", + "target": "ic_types" + }, { "id": "ic-utils 0.37.0", "target": "ic_utils" diff --git a/Cargo.lock b/Cargo.lock index b2dc2bf1c..0fc55878e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3366,14 +3366,18 @@ dependencies = [ "hex", "ic-agent", "ic-base-types", + "ic-interfaces-registry", "ic-management-canister-types", "ic-nns-common", "ic-nns-constants", "ic-nns-governance", "ic-protobuf", + "ic-registry-keys", + "ic-registry-nns-data-provider", "ic-registry-transport", "ic-sns-wasm", "ic-transport-types", + "ic-types", "ic-utils 0.37.0", "log", "pkcs11", diff --git a/rs/ic-canisters/Cargo.toml b/rs/ic-canisters/Cargo.toml index 1ee2aad2f..e167fa459 100644 --- a/rs/ic-canisters/Cargo.toml +++ b/rs/ic-canisters/Cargo.toml @@ -32,3 +32,7 @@ url = { workspace = true } ic-sns-wasm = { workspace = true } trustworthy-node-metrics-types = { workspace = true } ic-transport-types = { workspace = true } +ic-registry-keys.workspace = true +ic-types.workspace = true +ic-interfaces-registry.workspace = true +ic-registry-nns-data-provider.workspace = true diff --git a/rs/ic-canisters/src/registry.rs b/rs/ic-canisters/src/registry.rs index 705a76d08..d4421720e 100644 --- a/rs/ic-canisters/src/registry.rs +++ b/rs/ic-canisters/src/registry.rs @@ -1,8 +1,17 @@ use ic_agent::Agent; use ic_base_types::PrincipalId; +use ic_interfaces_registry::RegistryTransportRecord; use ic_nns_constants::REGISTRY_CANISTER_ID; -use ic_protobuf::registry::subnet::v1::SubnetListRecord; -use ic_registry_transport::pb::v1::{RegistryGetValueRequest, RegistryGetValueResponse}; +use ic_protobuf::{ + registry::{crypto::v1::PublicKey, subnet::v1::SubnetListRecord}, + types::v1::SubnetId, +}; +use ic_registry_keys::make_crypto_threshold_signing_pubkey_key; +use ic_registry_nns_data_provider::certification::decode_certified_deltas; +use ic_registry_transport::pb::v1::{ + RegistryGetChangesSinceRequest, RegistryGetLatestVersionResponse, RegistryGetValueRequest, RegistryGetValueResponse, +}; +use ic_types::crypto::threshold_sig::ThresholdSigPublicKey; use prost::Message; use crate::IcAgentCanisterClient; @@ -23,14 +32,63 @@ impl RegistryCanisterWrapper { } pub async fn get_subnets(&self) -> anyhow::Result<Vec<PrincipalId>> { + let decoded_resp = self.get_value("subnet_list".to_string()).await?; + + let mapped = SubnetListRecord::decode(decoded_resp.as_slice())?; + + Ok(mapped.subnets.into_iter().map(|id: Vec<u8>| PrincipalId::try_from(id).unwrap()).collect()) + } + + pub async fn nns_subnet_id(&self) -> anyhow::Result<SubnetId> { + let decoded_resp = self.get_value("nns_subnet_id".to_string()).await?; + + SubnetId::decode(decoded_resp.as_slice()).map_err(anyhow::Error::from) + } + + pub async fn nns_public_key(&self) -> anyhow::Result<ThresholdSigPublicKey> { + let subnet_id = self.nns_subnet_id().await?; + let subnet_id = ic_types::SubnetId::new(ic_types::PrincipalId::try_from( + subnet_id.principal_id.ok_or(anyhow::anyhow!("Failed to find nns subnet id"))?.raw, + )?); + + let decoded_resp = self.get_value(make_crypto_threshold_signing_pubkey_key(subnet_id)).await?; + + ThresholdSigPublicKey::try_from(PublicKey::decode(decoded_resp.as_slice())?).map_err(anyhow::Error::from) + } + + pub async fn get_latest_version(&self) -> anyhow::Result<u64> { + let response = self.agent.query(®ISTRY_CANISTER_ID.into(), "get_latest_version").call().await?; + + RegistryGetLatestVersionResponse::decode(response.as_slice()) + .map_err(anyhow::Error::from) + .map(|r| r.version) + } + + pub async fn get_certified_changes_since(&self, version: u64) -> anyhow::Result<Vec<RegistryTransportRecord>> { + let request = RegistryGetChangesSinceRequest { version }; + let mut buf = vec![]; + request.encode(&mut buf)?; + + let response = self + .agent + .query(®ISTRY_CANISTER_ID.into(), "get_certified_changes_since") + .with_arg(buf) + .call() + .await?; + + decode_certified_deltas(version, ®ISTRY_CANISTER_ID, &self.nns_public_key().await?, response.as_slice()) + .map_err(|e| anyhow::anyhow!("Error decoding certificed deltas: {:?}", e)) + .map(|(res, _, _)| res) + } + + async fn get_value(&self, request: String) -> anyhow::Result<Vec<u8>> { let request = RegistryGetValueRequest { - key: "subnet_list".as_bytes().to_vec(), + key: request.as_bytes().to_vec(), ..Default::default() }; let mut buf = vec![]; request.encode(&mut buf)?; - let response = self.agent.query(®ISTRY_CANISTER_ID.into(), "get_value").with_arg(buf).call().await?; let decoded_resp = RegistryGetValueResponse::decode(&response[..])?; @@ -38,8 +96,6 @@ impl RegistryCanisterWrapper { return Err(anyhow::anyhow!(error.reason)); } - let mapped = SubnetListRecord::decode(&decoded_resp.value[..])?; - - Ok(mapped.subnets.into_iter().map(|id: Vec<u8>| PrincipalId::try_from(id).unwrap()).collect()) + Ok(decoded_resp.value) } } diff --git a/rs/ic-management-backend/src/registry.rs b/rs/ic-management-backend/src/registry.rs index 7c8617f27..1049510ea 100644 --- a/rs/ic-management-backend/src/registry.rs +++ b/rs/ic-management-backend/src/registry.rs @@ -8,6 +8,8 @@ use futures::future::BoxFuture; use futures::TryFutureExt; use ic_base_types::NodeId; use ic_base_types::{RegistryVersion, SubnetId}; +use ic_canisters::registry::RegistryCanisterWrapper; +use ic_canisters::IcAgentCanisterClient; use ic_interfaces_registry::{RegistryClient, RegistryValue, ZERO_REGISTRY_VERSION}; use ic_management_types::{ Artifact, ArtifactReleases, Datacenter, DatacenterOwner, Guest, Network, NetworkError, Node, NodeProviderDetails, NodeProvidersResponse, @@ -937,6 +939,8 @@ pub fn local_registry_path(network: &Network) -> PathBuf { local_cache_path().join(Path::new(network.name.as_str())).join("local_registry") } +#[allow(dead_code)] +// Probably will not be used anymore pub async fn nns_public_key(registry_canister: &RegistryCanister) -> anyhow::Result<ThresholdSigPublicKey> { let (nns_subnet_id_vec, _) = registry_canister .get_value(ROOT_SUBNET_ID_KEY.as_bytes().to_vec(), None) @@ -963,7 +967,8 @@ pub async fn sync_local_store(target_network: &Network) -> anyhow::Result<()> { let local_registry_path = local_registry_path(target_network); let local_store = Arc::new(LocalStoreImpl::new(local_registry_path.clone())); let nns_urls = target_network.get_nns_urls().clone(); - let registry_canister = RegistryCanister::new(nns_urls); + let agent = IcAgentCanisterClient::from_anonymous(nns_urls.first().unwrap().clone()).unwrap(); + let registry_canister: RegistryCanisterWrapper = agent.into(); let mut local_latest_version = if !Path::new(&local_registry_path).exists() { ZERO_REGISTRY_VERSION } else { @@ -972,7 +977,6 @@ pub async fn sync_local_store(target_network: &Network) -> anyhow::Result<()> { registry_cache.get_latest_version() }; let mut updates = vec![]; - let nns_public_key = nns_public_key(®istry_canister).await?; loop { match registry_canister.get_latest_version().await { @@ -998,13 +1002,10 @@ pub async fn sync_local_store(target_network: &Network) -> anyhow::Result<()> { } }, Err(e) => { - error!("Failed to get latest registry version: {}", e); + error!("Failed to get latest registry version: {:?}", e); } } - if let Ok((mut initial_records, _, _)) = registry_canister - .get_certified_changes_since(local_latest_version.get(), &nns_public_key) - .await - { + if let Ok(mut initial_records) = registry_canister.get_certified_changes_since(local_latest_version.get()).await { initial_records.sort_by_key(|tr| tr.version); let changelog = initial_records.iter().fold(Changelog::default(), |mut cl, r| { let rel_version = (r.version - local_latest_version).get(); From c5940e8bc889a14065236af1f172ef71b49c96bb Mon Sep 17 00:00:00 2001 From: Luka Skugor <luka.skugor@chimeramail.com> Date: Tue, 3 Sep 2024 15:35:58 +0200 Subject: [PATCH 03/25] feat(release-notes): improve exclusion filters (#855) Co-authored-by: CI Automation <infra@dfinity.org> --- release-controller/release_notes.py | 45 ++++++++---- release-controller/test_release_notes.py | 90 +++++++++++++++++++++++- 2 files changed, 120 insertions(+), 15 deletions(-) diff --git a/release-controller/release_notes.py b/release-controller/release_notes.py index 07b06e307..5af16d8e3 100755 --- a/release-controller/release_notes.py +++ b/release-controller/release_notes.py @@ -130,15 +130,24 @@ class Team: EXCLUDE_CHANGES_FILTERS = [ - r".+\/sns\/.+", - r".+\/ckbtc\/.+", - r".+\/cketh\/.+", + r"sns", + r"ckbtc", + r"cketh", r"rs\/nns.+", - r".+test.+", - r"^bazel$", - r".*boundary.*", - r".*rosetta.*", - r".*pocket[_-]ic.*", + r"test", + r"^bazel", + r"boundary", + r"rosetta", + r"pocket[_-]ic", + r"^Cargo.lock$", + r"registry\/admin", + r"canister", +] + +EXCLUDED_SCOPES = [ + "ic-admin", + "nns", + "sns", ] INCLUDE_CHANGES = ["bazel/external_crates.bzl"] @@ -312,8 +321,16 @@ def get_change_description_for_commit( file_changes = ic_repo.file_changes_for_commit(commit_hash) exclusion_reason = None guestos_change = is_guestos_change(ic_repo, commit_hash) - if guestos_change and not any( - f for f in file_changes if not any(re.match(filter, f["file_path"]) for filter in EXCLUDE_CHANGES_FILTERS) + if ( + guestos_change + and not exclusion_reason + and not any( + f + for f in file_changes + if not any( + f not in INCLUDE_CHANGES and re.search(filter, f["file_path"]) for filter in EXCLUDE_CHANGES_FILTERS + ) + ) ): exclusion_reason = "Changed files are excluded by file path filter" @@ -363,9 +380,13 @@ def get_change_description_for_commit( commit_type = conventional["type"].lower() commit_type = commit_type if commit_type in TYPE_PRETTY_MAP else "other" - if guestos_change and not REPLICA_TEAMS.intersection(teams): + if guestos_change and not exclusion_reason and not REPLICA_TEAMS.intersection(teams): exclusion_reason = "The change is not owned by any replica team" + scope = conventional["scope"] if conventional["scope"] else "" + if guestos_change and not exclusion_reason and scope in EXCLUDED_SCOPES: + exclusion_reason = f"Scope of the change ({scope}) is not related to GuestOS" + teams = sorted(list(teams)) commiter_parts = commiter.split() @@ -378,7 +399,7 @@ def get_change_description_for_commit( commit=commit_hash, teams=list(teams), type=commit_type, - scope=conventional["scope"] if conventional["scope"] else "", + scope=scope, message=conventional["message"], commiter=commiter, exclusion_reason=exclusion_reason, diff --git a/release-controller/test_release_notes.py b/release-controller/test_release_notes.py index 487b52037..35a9d0019 100644 --- a/release-controller/test_release_notes.py +++ b/release-controller/test_release_notes.py @@ -5,7 +5,6 @@ import pytest -# @pytest.mark.skip(reason="expensive, will be removed") def test_get_change_description_for_commit(): with tempfile.TemporaryDirectory() as repo_cache_dir: ic_repo = GitRepo( @@ -78,6 +77,91 @@ def test_get_change_description_for_commit(): exclusion_reason=None, guestos_change=False, ) + # modifies ic-admin + assert get_change_description_for_commit(commit_hash="d436a526d", ic_repo=ic_repo) == Change( + commit="d436a526d", + teams=[ + "ic-interface-owners", + ], + type="feat", + scope="ic-admin", + message="Print hashes rather than entire blobs when submitting InstallCode proposals ([#1093](https://github.com/dfinity/ic/pull/1093))", + commiter="jaso ", + exclusion_reason="Changed files are excluded by file path filter", + guestos_change=True, + ) + assert get_change_description_for_commit(commit_hash="92e0f4a55", ic_repo=ic_repo) == Change( + commit="92e0f4a55", + teams=[ + "ic-interface-owners", + ], + type="feat", + scope="nns", + message="Store `wasm_metadata` in SNS-W's stable memory (attempt #2) ([#977](https://github.com/dfinity/ic/pull/977))", + commiter="Arsh Ter-", + exclusion_reason="Scope of the change (nns) is not related to GuestOS", + guestos_change=True, + ) + assert get_change_description_for_commit(commit_hash="0aa15a5be", ic_repo=ic_repo) == Change( + commit="0aa15a5be", + teams=[ + "ic-interface-owners", + ], + type="feat", + scope="nns", + message="Automatically set SNS Governance, Ledger, Index, Archive canisters memory limits once ([#1004](https://github.com/dfinity/ic/pull/1004))", + commiter="Andr Popo", + exclusion_reason="Changed files are excluded by file path filter", + guestos_change=True, + ) + assert get_change_description_for_commit(commit_hash="974f22dc1", ic_repo=ic_repo) == Change( + commit="974f22dc1", + teams=[ + "ic-interface-owners", + ], + type="feat", + scope="sns", + message="Expose the wasm_memory_limit in sns_canisters_summary's settings ([#1054](https://github.com/dfinity/ic/pull/1054))", + commiter="Andr Popo", + exclusion_reason="Changed files are excluded by file path filter", + guestos_change=True, + ) + assert get_change_description_for_commit(commit_hash="05b02520f", ic_repo=ic_repo) == Change( + commit="05b02520f", + teams=[ + "ic-interface-owners", + ], + type="feat", + scope="sns", + message="Reject new participants if the maximum number of required SNS neurons has been reached ([#924](https://github.com/dfinity/ic/pull/924))", + commiter="Arsh Ter-", + exclusion_reason="Scope of the change (sns) is not related to GuestOS", + guestos_change=True, + ) + assert get_change_description_for_commit(commit_hash="57293157d", ic_repo=ic_repo) == Change( + commit="57293157d", + teams=[ + "ic-interface-owners", + ], + type="chore", + scope="sns", + message="Remove migration code for setting SNS memory limits ([#1159](https://github.com/dfinity/ic/pull/1159))", + commiter="Andr Popo", + exclusion_reason="Changed files are excluded by file path filter", + guestos_change=True, + ) + assert get_change_description_for_commit(commit_hash="f4242cbcf", ic_repo=ic_repo) == Change( + commit="f4242cbcf", + teams=[ + "ic-interface-owners", + ], + type="chore", + scope="", + message="add decoding quota to http_request in NNS root canister ([#1031](https://github.com/dfinity/ic/pull/1031))", + commiter="mras ", + exclusion_reason="Changed files are excluded by file path filter", + guestos_change=True, + ) def test_release_notes(): @@ -107,7 +191,7 @@ def test_release_notes(): * author: Adri Alic | [`5e319b9de`](https://github.com/dfinity/ic/commit/5e319b9de) Consensus,Interface(consensus): Change definition of better to exclude disqualified block makers ([#673](https://github.com/dfinity/ic/pull/673)) * author: Alex Uta | [`736beea98`](https://github.com/dfinity/ic/commit/736beea98) Execution,Interface,Message Routing,Runtime: Enable transparent huge pages for the page allocator ([#665](https://github.com/dfinity/ic/pull/665)) * author: Dimi Sarl | [`96035ca4c`](https://github.com/dfinity/ic/commit/96035ca4c) Execution,Interface,Networking,Runtime: Reduce DTS slice limit for regular messages on system subnets ([#621](https://github.com/dfinity/ic/pull/621)) -* author: Alex | [`f0093242d`](https://github.com/dfinity/ic/commit/f0093242d) Execution,Interface,Runtime: Enforce taking a canister snapshot only when canister is not empty ([#452](https://github.com/dfinity/ic/pull/452)) +* ~~author: Alex | [`f0093242d`](https://github.com/dfinity/ic/commit/f0093242d) Execution,Interface,Runtime: Enforce taking a canister snapshot only when canister is not empty ([#452](https://github.com/dfinity/ic/pull/452)) [AUTO-EXCLUDED:Changed files are excluded by file path filter]~~ * ~~author: dani | [`a89a2e17c`](https://github.com/dfinity/ic/commit/a89a2e17c) Interface(nns): Metrics for public neurons. ([#685](https://github.com/dfinity/ic/pull/685)) [AUTO-EXCLUDED:Changed files are excluded by file path filter]~~ * ~~author: dani | [`448c85ccc`](https://github.com/dfinity/ic/commit/448c85ccc) Interface(nns): Added include_public_neurons_in_full_neurons to ListNeurons. ([#589](https://github.com/dfinity/ic/pull/589)) [AUTO-EXCLUDED:Changed files are excluded by file path filter]~~ * ~~author: jaso | [`2b109fb9b`](https://github.com/dfinity/ic/commit/2b109fb9b) Interface(nns): Define update_canister_settings proposal type without execution ([#529](https://github.com/dfinity/ic/pull/529)) [AUTO-EXCLUDED:Changed files are excluded by file path filter]~~ @@ -120,7 +204,7 @@ def test_release_notes(): ## Chores: * author: kpop | [`204542c15`](https://github.com/dfinity/ic/commit/204542c15) Consensus,Interface(consensus): change the associated `Error` type of `TryFrom<pb>` from `String` to `ProxyDecodeError` for some consensus types ([#695](https://github.com/dfinity/ic/pull/695)) * author: Drag Djur | [`4bebd6f6a`](https://github.com/dfinity/ic/commit/4bebd6f6a) Execution,Interface: Add Wasm memory threshold field to canister settings ([#475](https://github.com/dfinity/ic/pull/475)) -* author: Andr Popo | [`9bc6e18ac`](https://github.com/dfinity/ic/commit/9bc6e18ac) Interface(neurons_fund): Populate hotkeys when necessary in the NNS Governance → Swap → SNS Governance dataflow ([#688](https://github.com/dfinity/ic/pull/688)) +* ~~author: Andr Popo | [`9bc6e18ac`](https://github.com/dfinity/ic/commit/9bc6e18ac) Interface(neurons_fund): Populate hotkeys when necessary in the NNS Governance → Swap → SNS Governance dataflow ([#688](https://github.com/dfinity/ic/pull/688)) [AUTO-EXCLUDED:Changed files are excluded by file path filter]~~ * author: Dani Shar | [`b4be567dc`](https://github.com/dfinity/ic/commit/b4be567dc) Interface: Bump rust version to 1.80 ([#642](https://github.com/dfinity/ic/pull/642)) * author: mras | [`dbfbeceea`](https://github.com/dfinity/ic/commit/dbfbeceea) Interface: bump jemallocator v0.3 to tikv-jemallocator v0.5 ([#654](https://github.com/dfinity/ic/pull/654)) * author: Leo Eich | [`668fbe08f`](https://github.com/dfinity/ic/commit/668fbe08f) Interface: Rename ECDSA metrics ([#535](https://github.com/dfinity/ic/pull/535)) From a970d5f7a889c704d2413ce0fdc801fb7a3ee2b7 Mon Sep 17 00:00:00 2001 From: Luka Skugor <luka.skugor@chimeramail.com> Date: Tue, 3 Sep 2024 16:03:46 +0200 Subject: [PATCH 04/25] feature(release-controller): Remove empty sections and extra empty lines from published notes (#856) Co-authored-by: CI Automation <infra@dfinity.org> --- release-controller/publish_notes.py | 3 + release-controller/test_publish_notes.py | 91 +++++++++++++++++++++++- 2 files changed, 92 insertions(+), 2 deletions(-) diff --git a/release-controller/publish_notes.py b/release-controller/publish_notes.py index dcebe3f14..c81968fc5 100644 --- a/release-controller/publish_notes.py +++ b/release-controller/publish_notes.py @@ -58,6 +58,9 @@ def exclusion_reason(line: str) -> str: changelog += "\n".join(lines) changelog += "\n" + # remove empty sections + changelog = re.sub(r"[^\n]+\n-+\n(?!\s*\*)", "", changelog, flags=re.S) + changelog = re.sub(r"\n{3,}", "\n\n", changelog, flags=re.S) return changelog diff --git a/release-controller/test_publish_notes.py b/release-controller/test_publish_notes.py index e1c98f4f5..ad6e597e3 100644 --- a/release-controller/test_publish_notes.py +++ b/release-controller/test_publish_notes.py @@ -82,8 +82,6 @@ def test_publish_if_ready__ready(mocker): ------------------------------------------- - - ## Excluded Changes ### Excluded by authors @@ -149,6 +147,95 @@ def test_publish_if_ready__ready(mocker): ) +def test_publish_if_ready__remove_empty_sections(mocker): + github_client = Github() + mocker.patch.object(github_client, "get_repo") + repo = github_client.get_repo("dfinity/non-existent-mock") + publish_client = PublishNotesClient(repo) + mocker.patch.object(publish_client, "ensure_published") + + publish_client.publish_if_ready( + """\ +Review checklist +================ + +Please cross\\-out your team once you finished the review + +* ~~@team-consensus~~ +* ~~@team-crypto~~ +* ~~@team-messaging~~ +* ~~@team-networking~~ +* ~~@node-team~~ +* ~~@team-runtime~~ + +Release Notes for [**rc--2024-02-21\\_23-01**](https://github.com/dfinity/ic/tree/rc--2024-02-21_23-01) (2e921c9adfc71f3edc96a9eb5d85fc742e7d8a9f) +================================================================================================================================================= + +Changelog since git revision [8d4b6898d878fa3db4028b316b78b469ed29f293](https://dashboard.internetcomputer.org/release/8d4b6898d878fa3db4028b316b78b469ed29f293) + +Bugfixes: +--------- + +Features: +--------- + +* ~~author: Igor Novg |~~ [5f9e639d1](https://github.com/dfinity/ic/commit/5f9e639d1) ~~Boundary Nodes: remove njs~~ +* ~~author: Igor Novg |~~ [eb7f3dc5c](https://github.com/dfinity/ic/commit/eb7f3dc5c) ~~Boundary Nodes: improve nginx performance~~ +* author: Kami Popi | [26f30f055](https://github.com/dfinity/ic/commit/26f30f055) Consensus: Purge non-finalized blocks and notarizations below the finalized height + +Tests: +------ + +Chores: +------- + +* author: ~~Leo Eich | [b4673936a](https://github.com/dfinity/ic/commit/b4673936a) Consensus(ecdsa):~~ Make key\\_unmasked\\_ref in PreSignatureQuadrupleRef required +* author: Leo Eich | [b733f7043](https://github.com/dfinity/ic/commit/b733f7043) Consensus(ecdsa): Extend Quadruple state machine in preparation for random unmasked kappa +* ~~author: Leo Eich | [6a4d8962c](https://github.com/dfinity/ic/commit/6a4d8962c) Consensus(ecdsa): Make masked kappa config optional~~ +* author: Leo Eich | [e76c5a374](https://github.com/dfinity/ic/commit/e76c5a374) Consensus(ecdsa): Stop relaying tECDSA signature shares + +Something: +---------- +* author: Leo Eich | [2d63da24c](https://github.com/dfinity/ic/commit/2d63da24c) Consensus(ecdsa): ~~Add optional kappa\\_unmasked config to QuadrupleInCreation~~ + +Other: +------ +""", + "2e921c9adfc71f3edc96a9eb5d85fc742e7d8a9f", + ) + + # assert publish_client.ensure_published.call_count == 1 + publish_client.ensure_published.assert_called_once_with( # pylint: disable=no-member + version="2e921c9adfc71f3edc96a9eb5d85fc742e7d8a9f", + changelog="""\ +Release Notes for [**rc--2024-02-21\\_23-01**](https://github.com/dfinity/ic/tree/rc--2024-02-21_23-01) (2e921c9adfc71f3edc96a9eb5d85fc742e7d8a9f) +================================================================================================================================================= + +Changelog since git revision [8d4b6898d878fa3db4028b316b78b469ed29f293](https://dashboard.internetcomputer.org/release/8d4b6898d878fa3db4028b316b78b469ed29f293) + +Features: +--------- + +* [`26f30f055`](https://github.com/dfinity/ic/commit/26f30f055) Consensus: Purge non-finalized blocks and notarizations below the finalized height + +Chores: +------- + +* [`b733f7043`](https://github.com/dfinity/ic/commit/b733f7043) Consensus(ecdsa): Extend Quadruple state machine in preparation for random unmasked kappa +* [`e76c5a374`](https://github.com/dfinity/ic/commit/e76c5a374) Consensus(ecdsa): Stop relaying tECDSA signature shares + +## Excluded Changes + +### Excluded by authors +* [`5f9e639d1`](https://github.com/dfinity/ic/commit/5f9e639d1) Boundary Nodes: remove njs +* [`eb7f3dc5c`](https://github.com/dfinity/ic/commit/eb7f3dc5c) Boundary Nodes: improve nginx performance +* [`b4673936a`](https://github.com/dfinity/ic/commit/b4673936a) Consensus(ecdsa): Make key\\_unmasked\\_ref in PreSignatureQuadrupleRef required +* [`6a4d8962c`](https://github.com/dfinity/ic/commit/6a4d8962c) Consensus(ecdsa): Make masked kappa config optional +* [`2d63da24c`](https://github.com/dfinity/ic/commit/2d63da24c) Consensus(ecdsa): Add optional kappa\\_unmasked config to QuadrupleInCreation +""", + ) + + def test_publish_if_ready__not_ready1(mocker): github_client = Github() mocker.patch.object(github_client, "get_repo") From 9e58a66df73ce8d9f6bb896b6f6680836cfd5b44 Mon Sep 17 00:00:00 2001 From: Nikola Milosavljevic <73236646+NikolaMilosa@users.noreply.github.com> Date: Wed, 4 Sep 2024 11:28:45 +0200 Subject: [PATCH 05/25] fix: updating leftover runner images (#860) --- .github/workflows/qualify.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/qualify.yaml b/.github/workflows/qualify.yaml index bb87666ae..e7e968d7e 100644 --- a/.github/workflows/qualify.yaml +++ b/.github/workflows/qualify.yaml @@ -23,7 +23,7 @@ jobs: setup: runs-on: labels: dre-runner-custom - container: ghcr.io/dfinity/dre/actions-runner:7efd87b0eac3ebd255be7efe00a3b39b0f9e9fc1 + container: ghcr.io/dfinity/dre/actions-runner:f6690a4413269978d8b5d2e53b7346e99b0231b8 outputs: matrix: ${{ steps.generate.outputs.output }} steps: @@ -42,7 +42,7 @@ jobs: matrix: ${{ fromJson(needs.setup.outputs.matrix) }} runs-on: labels: dre-runner-custom - container: ghcr.io/dfinity/dre/actions-runner:7efd87b0eac3ebd255be7efe00a3b39b0f9e9fc1 + container: ghcr.io/dfinity/dre/actions-runner:f6690a4413269978d8b5d2e53b7346e99b0231b8 steps: - uses: actions/checkout@v4 with: From c9629974857ebbbb5b40f0adfbd4073932aa06e3 Mon Sep 17 00:00:00 2001 From: DFINITYManu <123385598+DFINITYManu@users.noreply.github.com> Date: Wed, 4 Sep 2024 14:26:04 +0200 Subject: [PATCH 06/25] Refactor authentication detection. (#844) Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> --- Cargo.Bazel.lock | 704 ++++++++++++++++++++--- Cargo.lock | 93 ++- Cargo.toml | 31 +- rs/cli/Cargo.toml | 2 + rs/cli/src/auth.rs | 328 ++++++++--- rs/cli/src/commands/mod.rs | 113 +++- rs/cli/src/commands/vote.rs | 56 +- rs/cli/src/ctx.rs | 118 ++-- rs/cli/src/main.rs | 1 + rs/qualifier/src/qualify_util.rs | 56 +- rs/rollout-controller/src/actions/mod.rs | 8 +- 11 files changed, 1170 insertions(+), 340 deletions(-) diff --git a/Cargo.Bazel.lock b/Cargo.Bazel.lock index 55e28dcfb..5fa9488f1 100644 --- a/Cargo.Bazel.lock +++ b/Cargo.Bazel.lock @@ -1,5 +1,5 @@ { - "checksum": "98c4b087938d37a4ae4cd08aa4c609f2abde672bb6e51a11137bd24fa1b6b40d", + "checksum": "2c42277b10b758d02d577974e54b09d0e0b596963845dfadd0589edcabe3044a", "crates": { "actix-codec 0.5.2": { "name": "actix-codec", @@ -6311,6 +6311,81 @@ }, "license": "MIT OR Apache-2.0" }, + "clio 0.3.5": { + "name": "clio", + "version": "0.3.5", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/clio/0.3.5/download", + "sha256": "b7fc6734af48458f72f5a3fa7b840903606427d98a710256e808f76a965047d9" + } + }, + "targets": [ + { + "Library": { + "crate_name": "clio", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "clio", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "clap", + "clap-parse" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "cfg-if 1.0.0", + "target": "cfg_if" + }, + { + "id": "clap 4.5.16", + "target": "clap" + }, + { + "id": "is-terminal 0.4.13", + "target": "is_terminal" + }, + { + "id": "tempfile 3.12.0", + "target": "tempfile" + }, + { + "id": "walkdir 2.5.0", + "target": "walkdir" + } + ], + "selects": { + "cfg(unix)": [ + { + "id": "libc 0.2.157", + "target": "libc" + } + ], + "cfg(windows)": [ + { + "id": "windows-sys 0.42.0", + "target": "windows_sys" + } + ] + } + }, + "edition": "2021", + "version": "0.3.5" + }, + "license": "MIT" + }, "colorchoice 1.0.2": { "name": "colorchoice", "version": "1.0.2", @@ -7829,13 +7904,13 @@ }, "license": "MIT OR Apache-2.0" }, - "cryptoki 0.3.1": { + "cryptoki 0.7.0": { "name": "cryptoki", - "version": "0.3.1", + "version": "0.7.0", "repository": { "Http": { - "url": "https://static.crates.io/crates/cryptoki/0.3.1/download", - "sha256": "570006e51d08ec89ce5bbfdcf428ad96111636d524bf2447bee6377fd0e1d889" + "url": "https://static.crates.io/crates/cryptoki/0.7.0/download", + "sha256": "60d645cc2c5faf466571c0c752d39d8fbc2746773b2f043ac8f9cd73bec55db9" } }, "targets": [ @@ -7856,6 +7931,10 @@ ], "deps": { "common": [ + { + "id": "bitflags 1.3.2", + "target": "bitflags" + }, { "id": "cryptoki-sys 0.1.8", "target": "cryptoki_sys" @@ -7867,6 +7946,10 @@ { "id": "log 0.4.22", "target": "log" + }, + { + "id": "secrecy 0.8.0", + "target": "secrecy" } ], "selects": {} @@ -7875,13 +7958,13 @@ "proc_macro_deps": { "common": [ { - "id": "derivative 2.2.0", - "target": "derivative" + "id": "paste 1.0.15", + "target": "paste" } ], "selects": {} }, - "version": "0.3.1" + "version": "0.7.0" }, "license": "Apache-2.0" }, @@ -9464,53 +9547,6 @@ }, "license": "MIT OR Apache-2.0" }, - "derivative 2.2.0": { - "name": "derivative", - "version": "2.2.0", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/derivative/2.2.0/download", - "sha256": "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" - } - }, - "targets": [ - { - "ProcMacro": { - "crate_name": "derivative", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "derivative", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "proc-macro2 1.0.86", - "target": "proc_macro2" - }, - { - "id": "quote 1.0.37", - "target": "quote" - }, - { - "id": "syn 1.0.109", - "target": "syn" - } - ], - "selects": {} - }, - "edition": "2015", - "version": "2.2.0" - }, - "license": "MIT/Apache-2.0" - }, "derive_arbitrary 1.3.2": { "name": "derive_arbitrary", "version": "1.3.2", @@ -10756,6 +10792,10 @@ "id": "clap_complete 4.5.24", "target": "clap_complete" }, + { + "id": "clio 0.3.5", + "target": "clio" + }, { "id": "colored 2.1.0", "target": "colored" @@ -10765,7 +10805,7 @@ "target": "comfy_table" }, { - "id": "cryptoki 0.3.1", + "id": "cryptoki 0.7.0", "target": "cryptoki" }, { @@ -10916,6 +10956,10 @@ "id": "reqwest 0.12.7", "target": "reqwest" }, + { + "id": "secrecy 0.8.0", + "target": "secrecy" + }, { "id": "self_update 0.41.0", "target": "self_update" @@ -42680,7 +42724,6 @@ "printing", "proc-macro", "quote", - "visit", "visit-mut" ], "selects": {} @@ -48163,6 +48206,121 @@ }, "license": "MIT OR Apache-2.0" }, + "windows-sys 0.42.0": { + "name": "windows-sys", + "version": "0.42.0", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows-sys/0.42.0/download", + "sha256": "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_sys", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "windows_sys", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "Win32", + "Win32_Foundation", + "default" + ], + "selects": {} + }, + "deps": { + "common": [], + "selects": { + "aarch64-pc-windows-gnullvm": [ + { + "id": "windows_aarch64_gnullvm 0.42.2", + "target": "windows_aarch64_gnullvm" + } + ], + "aarch64-pc-windows-msvc": [ + { + "id": "windows_aarch64_msvc 0.42.2", + "target": "windows_aarch64_msvc" + } + ], + "aarch64-uwp-windows-msvc": [ + { + "id": "windows_aarch64_msvc 0.42.2", + "target": "windows_aarch64_msvc" + } + ], + "i686-pc-windows-gnu": [ + { + "id": "windows_i686_gnu 0.42.2", + "target": "windows_i686_gnu" + } + ], + "i686-pc-windows-msvc": [ + { + "id": "windows_i686_msvc 0.42.2", + "target": "windows_i686_msvc" + } + ], + "i686-uwp-windows-gnu": [ + { + "id": "windows_i686_gnu 0.42.2", + "target": "windows_i686_gnu" + } + ], + "i686-uwp-windows-msvc": [ + { + "id": "windows_i686_msvc 0.42.2", + "target": "windows_i686_msvc" + } + ], + "x86_64-pc-windows-gnu": [ + { + "id": "windows_x86_64_gnu 0.42.2", + "target": "windows_x86_64_gnu" + } + ], + "x86_64-pc-windows-gnullvm": [ + { + "id": "windows_x86_64_gnullvm 0.42.2", + "target": "windows_x86_64_gnullvm" + } + ], + "x86_64-pc-windows-msvc": [ + { + "id": "windows_x86_64_msvc 0.42.2", + "target": "windows_x86_64_msvc" + } + ], + "x86_64-uwp-windows-gnu": [ + { + "id": "windows_x86_64_gnu 0.42.2", + "target": "windows_x86_64_gnu" + } + ], + "x86_64-uwp-windows-msvc": [ + { + "id": "windows_x86_64_msvc 0.42.2", + "target": "windows_x86_64_msvc" + } + ] + } + }, + "edition": "2018", + "version": "0.42.0" + }, + "license": "MIT OR Apache-2.0" + }, "windows-sys 0.48.0": { "name": "windows-sys", "version": "0.48.0", @@ -48518,13 +48676,13 @@ }, "license": "MIT OR Apache-2.0" }, - "windows_aarch64_gnullvm 0.48.5": { + "windows_aarch64_gnullvm 0.42.2": { "name": "windows_aarch64_gnullvm", - "version": "0.48.5", + "version": "0.42.2", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_aarch64_gnullvm/0.48.5/download", - "sha256": "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + "url": "https://static.crates.io/crates/windows_aarch64_gnullvm/0.42.2/download", + "sha256": "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" } }, "targets": [ @@ -48555,14 +48713,14 @@ "deps": { "common": [ { - "id": "windows_aarch64_gnullvm 0.48.5", + "id": "windows_aarch64_gnullvm 0.42.2", "target": "build_script_build" } ], "selects": {} }, "edition": "2018", - "version": "0.48.5" + "version": "0.42.2" }, "build_script_attrs": { "data_glob": [ @@ -48571,13 +48729,13 @@ }, "license": "MIT OR Apache-2.0" }, - "windows_aarch64_gnullvm 0.52.6": { + "windows_aarch64_gnullvm 0.48.5": { "name": "windows_aarch64_gnullvm", - "version": "0.52.6", + "version": "0.48.5", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download", - "sha256": "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" + "url": "https://static.crates.io/crates/windows_aarch64_gnullvm/0.48.5/download", + "sha256": "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" } }, "targets": [ @@ -48608,14 +48766,14 @@ "deps": { "common": [ { - "id": "windows_aarch64_gnullvm 0.52.6", + "id": "windows_aarch64_gnullvm 0.48.5", "target": "build_script_build" } ], "selects": {} }, - "edition": "2021", - "version": "0.52.6" + "edition": "2018", + "version": "0.48.5" }, "build_script_attrs": { "data_glob": [ @@ -48624,19 +48782,19 @@ }, "license": "MIT OR Apache-2.0" }, - "windows_aarch64_msvc 0.48.5": { - "name": "windows_aarch64_msvc", - "version": "0.48.5", + "windows_aarch64_gnullvm 0.52.6": { + "name": "windows_aarch64_gnullvm", + "version": "0.52.6", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_aarch64_msvc/0.48.5/download", - "sha256": "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + "url": "https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download", + "sha256": "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" } }, "targets": [ { "Library": { - "crate_name": "windows_aarch64_msvc", + "crate_name": "windows_aarch64_gnullvm", "crate_root": "src/lib.rs", "srcs": [ "**/*.rs" @@ -48653,7 +48811,7 @@ } } ], - "library_target_name": "windows_aarch64_msvc", + "library_target_name": "windows_aarch64_gnullvm", "common_attrs": { "compile_data_glob": [ "**" @@ -48661,14 +48819,14 @@ "deps": { "common": [ { - "id": "windows_aarch64_msvc 0.48.5", + "id": "windows_aarch64_gnullvm 0.52.6", "target": "build_script_build" } ], "selects": {} }, - "edition": "2018", - "version": "0.48.5" + "edition": "2021", + "version": "0.52.6" }, "build_script_attrs": { "data_glob": [ @@ -48677,13 +48835,119 @@ }, "license": "MIT OR Apache-2.0" }, - "windows_aarch64_msvc 0.52.6": { + "windows_aarch64_msvc 0.42.2": { "name": "windows_aarch64_msvc", - "version": "0.52.6", + "version": "0.42.2", "repository": { "Http": { - "url": "https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download", - "sha256": "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" + "url": "https://static.crates.io/crates/windows_aarch64_msvc/0.42.2/download", + "sha256": "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_aarch64_msvc", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "windows_aarch64_msvc", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_aarch64_msvc 0.42.2", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.42.2" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0" + }, + "windows_aarch64_msvc 0.48.5": { + "name": "windows_aarch64_msvc", + "version": "0.48.5", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows_aarch64_msvc/0.48.5/download", + "sha256": "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_aarch64_msvc", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "windows_aarch64_msvc", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_aarch64_msvc 0.48.5", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.48.5" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0" + }, + "windows_aarch64_msvc 0.52.6": { + "name": "windows_aarch64_msvc", + "version": "0.52.6", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download", + "sha256": "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" } }, "targets": [ @@ -48730,6 +48994,59 @@ }, "license": "MIT OR Apache-2.0" }, + "windows_i686_gnu 0.42.2": { + "name": "windows_i686_gnu", + "version": "0.42.2", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows_i686_gnu/0.42.2/download", + "sha256": "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_i686_gnu", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "windows_i686_gnu", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_i686_gnu 0.42.2", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.42.2" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0" + }, "windows_i686_gnu 0.48.5": { "name": "windows_i686_gnu", "version": "0.48.5", @@ -48889,6 +49206,59 @@ }, "license": "MIT OR Apache-2.0" }, + "windows_i686_msvc 0.42.2": { + "name": "windows_i686_msvc", + "version": "0.42.2", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows_i686_msvc/0.42.2/download", + "sha256": "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_i686_msvc", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "windows_i686_msvc", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_i686_msvc 0.42.2", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.42.2" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0" + }, "windows_i686_msvc 0.48.5": { "name": "windows_i686_msvc", "version": "0.48.5", @@ -48995,6 +49365,59 @@ }, "license": "MIT OR Apache-2.0" }, + "windows_x86_64_gnu 0.42.2": { + "name": "windows_x86_64_gnu", + "version": "0.42.2", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows_x86_64_gnu/0.42.2/download", + "sha256": "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_x86_64_gnu", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "windows_x86_64_gnu", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_x86_64_gnu 0.42.2", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.42.2" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0" + }, "windows_x86_64_gnu 0.48.5": { "name": "windows_x86_64_gnu", "version": "0.48.5", @@ -49101,6 +49524,59 @@ }, "license": "MIT OR Apache-2.0" }, + "windows_x86_64_gnullvm 0.42.2": { + "name": "windows_x86_64_gnullvm", + "version": "0.42.2", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows_x86_64_gnullvm/0.42.2/download", + "sha256": "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_x86_64_gnullvm", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "windows_x86_64_gnullvm", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_x86_64_gnullvm 0.42.2", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.42.2" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0" + }, "windows_x86_64_gnullvm 0.48.5": { "name": "windows_x86_64_gnullvm", "version": "0.48.5", @@ -49207,6 +49683,59 @@ }, "license": "MIT OR Apache-2.0" }, + "windows_x86_64_msvc 0.42.2": { + "name": "windows_x86_64_msvc", + "version": "0.42.2", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/windows_x86_64_msvc/0.42.2/download", + "sha256": "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + } + }, + "targets": [ + { + "Library": { + "crate_name": "windows_x86_64_msvc", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "windows_x86_64_msvc", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "windows_x86_64_msvc 0.42.2", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.42.2" + }, + "build_script_attrs": { + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0" + }, "windows_x86_64_msvc 0.48.5": { "name": "windows_x86_64_msvc", "version": "0.48.5", @@ -50904,6 +51433,7 @@ "aarch64-unknown-linux-gnu": [ "aarch64-unknown-linux-gnu" ], + "aarch64-uwp-windows-msvc": [], "arm-unknown-linux-gnueabi": [ "arm-unknown-linux-gnueabi" ], @@ -51643,6 +52173,8 @@ "i686-unknown-linux-gnu": [ "i686-unknown-linux-gnu" ], + "i686-uwp-windows-gnu": [], + "i686-uwp-windows-msvc": [], "powerpc-unknown-linux-gnu": [ "powerpc-unknown-linux-gnu" ], @@ -51692,6 +52224,8 @@ ], "x86_64-unknown-none": [ "x86_64-unknown-none" - ] + ], + "x86_64-uwp-windows-gnu": [], + "x86_64-uwp-windows-msvc": [] } } diff --git a/Cargo.lock b/Cargo.lock index 0fc55878e..772b884a6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1253,6 +1253,21 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" +[[package]] +name = "clio" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7fc6734af48458f72f5a3fa7b840903606427d98a710256e808f76a965047d9" +dependencies = [ + "cfg-if", + "clap 4.5.16", + "is-terminal", + "libc", + "tempfile", + "walkdir", + "windows-sys 0.42.0", +] + [[package]] name = "colorchoice" version = "1.0.2" @@ -1548,14 +1563,16 @@ dependencies = [ [[package]] name = "cryptoki" -version = "0.3.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "570006e51d08ec89ce5bbfdcf428ad96111636d524bf2447bee6377fd0e1d889" +checksum = "60d645cc2c5faf466571c0c752d39d8fbc2746773b2f043ac8f9cd73bec55db9" dependencies = [ + "bitflags 1.3.2", "cryptoki-sys", - "derivative", "libloading 0.7.4", "log", + "paste", + "secrecy", ] [[package]] @@ -1873,17 +1890,6 @@ dependencies = [ "serde", ] -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "derive_arbitrary" version = "1.3.2" @@ -2133,6 +2139,7 @@ dependencies = [ "clap 4.5.16", "clap-num", "clap_complete", + "clio", "colored", "comfy-table", "cryptoki", @@ -2176,6 +2183,7 @@ dependencies = [ "regex", "registry-canister", "reqwest", + "secrecy", "self_update", "serde", "serde_json", @@ -9564,6 +9572,21 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + [[package]] name = "windows-sys" version = "0.48.0" @@ -9622,6 +9645,12 @@ dependencies = [ "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -9634,6 +9663,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -9646,6 +9681,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -9664,6 +9705,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -9676,6 +9723,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -9688,6 +9741,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -9700,6 +9759,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" diff --git a/Cargo.toml b/Cargo.toml index 31a4667dd..b97a0ee76 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -36,7 +36,6 @@ description = "Tooling for managing the Internet Computer" documentation = "https://github.com/dfinity/dre/" [workspace.dependencies] -actix = "0.13.5" actix-web = { version = "4.9.0", default-features = false, features = [ "compress-gzip", "macros", @@ -44,10 +43,7 @@ actix-web = { version = "4.9.0", default-features = false, features = [ actix-rt = "2.10.0" ahash = "0.8.11" anyhow = "1.0.86" -assert_matches = "1.5.0" async-recursion = "1.1.1" -async-timer = "0.7.4" -async-trait = "0.1.82" axum-otel-metrics = "0.8.1" axum = "0.7.5" backoff = { version = "0.4.0", features = ["tokio"] } @@ -67,41 +63,30 @@ clap = { version = "4.5", features = [ "string", "cargo", ] } +clio = { version = "0.3.5", features = ["clap", "clap-parse"] } colored = "2.1.0" -counter = "0.6.0" comfy-table = "7.1.1" crossbeam = "0.8.4" crossbeam-channel = "0.5.13" -cryptoki = "0.3.1" -csv = "1.3.0" +cryptoki = "0.7.0" custom_error = "1.9.2" decentralization = { path = "rs/decentralization" } -trustworthy-node-metrics = { path = "rs/dre-canisters/trustworthy-node-metrics/src/trustworthy-node-metrics" } trustworthy-node-metrics-types = { path = "rs/dre-canisters/trustworthy-node-metrics/src/trustworthy-node-metrics-types" } -derive_builder = "0.20.1" -derive_more = "1" dialoguer = "0.11.0" dirs = "5.0.1" dotenv = "0.15.0" base64 = "0.22.1" -easy-parallel = "3.3.1" edit = "0.1.5" -either = "1.13.0" -enum-map = "1.1.1" env_logger = "0.11.5" erased-serde = "0.4.5" -exitcode = "1.1.2" flate2 = "1.0.33" -float-ord = "0.3.2" fs-err = "2.11.0" fs2 = "0.4.3" futures = "0.3.30" -futures-core = "0.3.30" futures-util = "0.3.30" hex = "0.4.3" humantime = "2.1.0" humantime-serde = "1.1.1" -hyper = { version = "1.4.1" } ic-agent = "0.37.1" octocrab = "0.39.0" self_update = { version = "0.41.0", features = ["archive-tar"] } @@ -115,8 +100,6 @@ ic-cdk = { git = "https://github.com/dfinity/cdk-rs.git", rev = "3e54016734c8f73 ic-config = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } ic-crypto-utils-threshold-sig-der = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } ic-http-endpoints-metrics = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-identity-hsm = "0.37.0" -ic-interfaces = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } ic-interfaces-registry = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } ic-management-backend = { path = "rs/ic-management-backend" } ic-management-canister-types = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } @@ -146,7 +129,6 @@ ic-sns-wasm = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee cycles-minting-canister = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } ic-transport-types = "0.37.1" ic-utils = "0.37.0" -include_dir = "0.7.4" itertools = "0.13.0" keyring = { version = "3.2.1", features = [ "apple-native", @@ -154,10 +136,8 @@ keyring = { version = "3.2.1", features = [ ] } lazy_static = "1.5.0" log = "0.4.22" -lru = "0.12.4" num-traits = "0.2" opentelemetry = { version = "0.22.0", features = ["metrics"] } -phantom_newtype = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } pkcs11 = "0.5.0" pretty_assertions = "1.4.0" pretty_env_logger = "0.5.0" @@ -166,7 +146,6 @@ prometheus = { version = "0.13.4", features = ["process"] } prost = "0.12" rand = { version = "0.8.5", features = ["std_rng"] } rand_seeder = "0.3.0" -rayon = "1.10.0" regex = "1.10.6" registry-canister = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } reqwest = { version = "0.12", default-features = false, features = [ @@ -174,13 +153,10 @@ reqwest = { version = "0.12", default-features = false, features = [ "blocking", ] } retry = "2.0.0" -reverse_geocoder = "4.1.1" -ring = "0.17.8" rstest = { version = "0.22.0", default-features = false } rust_decimal = "1.36.0" # or the latest version rust_decimal_macros = "1.36.0" # optional, for using macros serde = { version = "1.0", features = ["derive"] } -serde_derive = "1.0.209" serde_json = "1.0.127" serde_yaml = "0.9.34" shlex = "1.3.0" @@ -194,7 +170,6 @@ slog = { version = "2.7.0", features = [ "release_max_level_debug", "release_max_level_trace", ] } -socket2 = "0.5.7" spinners = "4.1.1" strum = { version = "0.26.3", features = ["derive"] } strum_macros = "0.26.4" @@ -205,8 +180,6 @@ thiserror = "1.0.63" tokio = { version = "1.40.0", features = ["full"] } tokio-util = "0.7.11" url = "2.5.2" -urlencoding = "2.1.3" -warp = "0.3" wiremock = "0.6.1" human_bytes = "0.4" headless_chrome = { version = "1.0.13", features = [ diff --git a/rs/cli/Cargo.toml b/rs/cli/Cargo.toml index 5f984ddf3..b78c6a228 100644 --- a/rs/cli/Cargo.toml +++ b/rs/cli/Cargo.toml @@ -56,6 +56,7 @@ regex = { workspace = true } registry-canister = { workspace = true } reqwest = { workspace = true } self_update = { workspace = true } +secrecy = { version = "0.8.0" } serde = { workspace = true } serde_json = { workspace = true } sha2 = { workspace = true } @@ -73,6 +74,7 @@ keyring = { workspace = true } comfy-table = { workspace = true } human_bytes = { workspace = true } headless_chrome = { workspace = true } +clio = { workspace = true } [dev-dependencies] actix-rt = { workspace = true } diff --git a/rs/cli/src/auth.rs b/rs/cli/src/auth.rs index 608952be5..cb51b35df 100644 --- a/rs/cli/src/auth.rs +++ b/rs/cli/src/auth.rs @@ -1,16 +1,26 @@ use std::path::PathBuf; use std::str::FromStr; +use anyhow::anyhow; +use clio::InputPath; +use cryptoki::object::AttributeInfo; +use cryptoki::session::Session; use cryptoki::{ context::{CInitializeArgs, Pkcs11}, - session::{SessionFlags, UserType}, + object::{Attribute, AttributeType}, + session::UserType, + slot::{Slot, TokenInfo}, }; use dialoguer::{console::Term, theme::ColorfulTheme, Password, Select}; use ic_canisters::governance::GovernanceCanisterWrapper; use ic_canisters::IcAgentCanisterClient; use ic_management_types::Network; use keyring::{Entry, Error}; -use log::info; +use log::{debug, info, warn}; +use secrecy::SecretString; +use std::sync::Mutex; + +use crate::commands::{AuthOpts, HsmOpts, HsmParams}; #[derive(Clone, Debug)] pub struct Neuron { @@ -22,21 +32,23 @@ pub struct Neuron { static RELEASE_AUTOMATION_DEFAULT_PRIVATE_KEY_PEM: &str = ".config/dfx/identity/release-automation/identity.pem"; // Relative to the home directory const RELEASE_AUTOMATION_NEURON_ID: u64 = 80; +// As per fn str_to_key_id(s: &str) in ic-canisters/.../parallel_hardware_identity.rs, +// the representation of key ID that the canister client wants is a sequence of +// pairs of hex digits, case-insensitive. The key ID as stored in the HSM is +// a Vec<u8>. We only store the little-endianest of the digits from that Vec<> in +// our key_id variable. The following function produces what the ic-canisters +// code wants. +pub fn hsm_key_id_to_string(s: u8) -> String { + format!("{:02x?}", s) +} + impl Neuron { - pub async fn new( - private_key_pem: Option<PathBuf>, - hsm_slot: Option<u64>, - hsm_pin: Option<String>, - hsm_key_id: Option<String>, - neuron_id: Option<u64>, - network: &Network, - include_proposer: bool, - ) -> anyhow::Result<Self> { - let auth = Auth::from_cli_args(private_key_pem, hsm_slot, hsm_pin, hsm_key_id)?; + pub async fn new(auth: Auth, neuron_id: Option<u64>, network: &Network, include_proposer: bool) -> anyhow::Result<Self> { let neuron_id = match neuron_id { Some(n) => n, - None => auth.auto_detect_neuron_id(network.get_nns_urls()).await?, + None => auth.auto_detect_neuron_id(network.get_nns_urls().to_vec()).await?, }; + debug!("Identifying as neuron ID {}", neuron_id); Ok(Self { auth, neuron_id, @@ -55,7 +67,10 @@ impl Neuron { vec![] } + // FIXME: there should be no unchecked anything. + // Caller must be able to bubble up the error of the file not existing there. pub fn automation_neuron_unchecked() -> Self { + debug!("Constructing neuron using the release automation private key"); Self { auth: Auth::Keyfile { path: dirs::home_dir().unwrap().join(RELEASE_AUTOMATION_DEFAULT_PRIVATE_KEY_PEM), @@ -66,6 +81,7 @@ impl Neuron { } pub fn anonymous_neuron() -> Self { + debug!("Constructing anonymous neuron (ID 0)"); Self { auth: Auth::Anonymous, neuron_id: 0, @@ -76,7 +92,7 @@ impl Neuron { #[derive(Clone, Debug)] pub enum Auth { - Hsm { pin: String, slot: u64, key_id: String }, + Hsm { pin: String, slot: u64, key_id: u8 }, Keyfile { path: PathBuf }, Anonymous, } @@ -91,28 +107,13 @@ impl Auth { "--slot".to_string(), slot.to_string(), "--key-id".to_string(), - key_id.clone(), + key_id.to_string(), ], Auth::Keyfile { path } => vec!["--secret-key-pem".to_string(), path.to_string_lossy().to_string()], Auth::Anonymous => vec![], } } - pub fn from_cli_args( - private_key_pem: Option<PathBuf>, - hsm_slot: Option<u64>, - hsm_pin: Option<String>, - hsm_key_id: Option<String>, - ) -> anyhow::Result<Self> { - match (private_key_pem, hsm_slot, hsm_pin, hsm_key_id) { - (Some(path), _, _, _) if path.exists() => Ok(Auth::Keyfile { path }), - (Some(path), _, _, _) => Err(anyhow::anyhow!("Invalid key file path: {}", path.display())), - (None, Some(slot), Some(pin), Some(key_id)) => Ok(Auth::Hsm { pin, slot, key_id }), - (None, None, None, None) => Ok(Self::detect_hsm_auth()?.map_or(Auth::Anonymous, |a| a)), - _ => Err(anyhow::anyhow!("Invalid auth arguments")), - } - } - fn pkcs11_lib_path() -> anyhow::Result<PathBuf> { let lib_macos_path = PathBuf::from_str("/Library/OpenSC/lib/opensc-pkcs11.so")?; let lib_linux_path = PathBuf::from_str("/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so")?; @@ -125,60 +126,26 @@ impl Auth { } } - fn detect_hsm_auth() -> anyhow::Result<Option<Self>> { - info!("Detecting HSM devices"); - let ctx = Pkcs11::new(Self::pkcs11_lib_path()?)?; - ctx.initialize(CInitializeArgs::OsThreads)?; - for slot in ctx.get_slots_with_token()? { - let info = ctx.get_slot_info(slot)?; - if info.slot_description().starts_with("Nitrokey Nitrokey HSM") { - let key_id = format!("hsm-{}-{}", info.slot_description(), info.manufacturer_id()); - let pin_entry = Entry::new("dre-tool-hsm-pin", &key_id)?; - let pin = match pin_entry.get_password() { - // TODO: Remove the old keyring entry search ("release-cli") after August 1st, 2024 - Err(Error::NoEntry) => match Entry::new("release-cli", &key_id) { - Err(Error::NoEntry) => Password::new().with_prompt("Please enter the HSM PIN: ").interact()?, - Ok(pin_entry) => pin_entry.get_password()?, - Err(e) => return Err(anyhow::anyhow!("Failed to get pin from keyring: {}", e)), - }, - Ok(pin) => pin, - Err(e) => return Err(anyhow::anyhow!("Failed to get pin from keyring: {}", e)), - }; - - let mut flags = SessionFlags::new(); - flags.set_serial_session(true); - let session = ctx.open_session_no_callback(slot, flags).unwrap(); - session.login(UserType::User, Some(&pin))?; - info!("HSM login successful!"); - pin_entry.set_password(&pin)?; - return Ok(Some(Auth::Hsm { - pin, - slot: slot.id(), - key_id: "01".to_string(), - })); - } + pub fn create_canister_client(&self, nns_urls: Vec<url::Url>, lock: Option<Mutex<()>>) -> anyhow::Result<IcAgentCanisterClient> { + // FIXME: why do we even take multiple URLs if only the first one is ever used? + let url = nns_urls.first().ok_or(anyhow::anyhow!("No NNS URLs provided"))?.to_owned(); + match self { + Auth::Hsm { pin, slot, key_id } => IcAgentCanisterClient::from_hsm(pin.clone(), *slot, hsm_key_id_to_string(*key_id), url, lock), + Auth::Keyfile { path } => IcAgentCanisterClient::from_key_file(path.clone(), url), + Auth::Anonymous => IcAgentCanisterClient::from_anonymous(url), } - Ok(None) } - pub async fn auto_detect_neuron_id(&self, nns_urls: &[url::Url]) -> anyhow::Result<u64> { - let url = nns_urls.first().ok_or(anyhow::anyhow!("No nns urls provided"))?.to_owned(); - let client = match self { - Auth::Hsm { pin, slot, key_id } => { - let pin_clone = pin.clone(); - let slot = *slot; - let key_id_clone = key_id.clone(); - IcAgentCanisterClient::from_hsm(pin_clone, slot, key_id_clone, url, None)? - } - Auth::Keyfile { path } => IcAgentCanisterClient::from_key_file(path.clone(), url)?, - Auth::Anonymous => IcAgentCanisterClient::from_anonymous(url)?, - }; + async fn auto_detect_neuron_id(&self, nns_urls: Vec<url::Url>) -> anyhow::Result<u64> { + let selfclone = self.clone(); + let nnsurlsclone = nns_urls.clone(); + let client = tokio::task::spawn_blocking(move || selfclone.create_canister_client(nnsurlsclone, None)).await??; let governance = GovernanceCanisterWrapper::from(client); let response = governance.list_neurons().await?; let neuron_ids = response.neuron_infos.keys().copied().collect::<Vec<_>>(); match neuron_ids.len() { 0 => Err(anyhow::anyhow!( - "HSM doesn't control any neurons. Response fro governance canister: {:?}", + "Hardware security module doesn't control any neurons. Response from governance canister: {:?}", response )), 1 => Ok(neuron_ids[0]), @@ -190,4 +157,213 @@ impl Auth { .ok_or_else(|| anyhow::anyhow!("No neuron selected")), } } + + fn detect_hsm_auth(maybe_pin: Option<String>, maybe_slot: Option<u64>, maybe_key_id: Option<u8>) -> anyhow::Result<Self> { + if maybe_slot.is_none() && maybe_key_id.is_none() { + debug!("Scanning hardware security module devices"); + } + if let Some(slot) = &maybe_slot { + debug!("Probing hardware security module in slot {}", slot); + } + if let Some(key_id) = &maybe_key_id { + debug!("Limiting key scan to keys with ID {}", key_id); + } + + let ctx = Pkcs11::new(Self::pkcs11_lib_path()?)?; + ctx.initialize(CInitializeArgs::OsThreads)?; + for slot in ctx.get_slots_with_token()? { + let info = ctx.get_slot_info(slot)?; + let token_info = ctx.get_token_info(slot)?; + if info.slot_description().starts_with("Nitrokey Nitrokey HSM") && maybe_slot.is_none() || (maybe_slot.unwrap() == slot.id()) { + let session = ctx.open_ro_session(slot)?; + let key_id = match Auth::find_key_id_in_slot_session(&session, maybe_key_id)? { + Some((key_id, label)) => { + debug!( + "Found key with ID {} ({}) in slot {}", + key_id, + match label { + Some(label) => format!("labeled {}", label), + None => "without label".to_string(), + }, + slot.id() + ); + key_id + } + None => { + if maybe_slot.is_some() && maybe_key_id.is_some() { + // We have been asked to be very specific. Fail fast, + // instead of falling back to Auth::Anonymous. + return Err(anyhow!( + "Could not find a key ID {} within hardware security module in slot {}", + maybe_key_id.unwrap(), + slot.id() + )); + } else { + // Let's try the next slot just in case. + continue; + } + } + }; + let memo_key: String = format!("hsm-{}-{}", info.slot_description(), info.manufacturer_id()); + let pin = Auth::get_or_prompt_pin_checked_for_slot(&session, maybe_pin, slot, token_info, &memo_key)?; + let detected = Some(Auth::Hsm { + pin, + slot: slot.id(), + key_id, + }); + info!("Using key ID {} of hardware security module in slot {}", key_id, slot); + return Ok(detected.map_or(Auth::Anonymous, |a| a)); + } + } + if maybe_slot.is_none() && maybe_key_id.is_none() && maybe_pin.is_none() { + info!("No hardware security module detected -- falling back to anonymous operations"); + } else { + return Err(anyhow!( + "No hardware security module detected{}{}", + match maybe_slot { + None => "".to_string(), + Some(slot) => format!(" in slot {}", slot), + }, + match maybe_key_id { + None => "".to_string(), + Some(key_id) => format!(" that contains a key ID {}", key_id), + } + )); + } + Ok(Auth::Anonymous) + } + + /// Finds the key ID in a slot. If a key ID is specified, + /// then the search is limited to that key ID. If not, then + /// the first key that has an ID and is for a token is returned. + /// If a key is found, this function returns Some, with a tuple of + /// the found key ID, and possibly the label assigned to said key ID + /// (None if no / invalid label). + fn find_key_id_in_slot_session(session: &Session, key_id: Option<u8>) -> anyhow::Result<Option<(u8, Option<String>)>> { + let token_types = vec![AttributeType::Token, AttributeType::Id]; + let label_types = vec![AttributeType::Label]; + let objects = session.find_objects(&[])?; + for hnd in objects.iter() { + if let [AttributeInfo::Available(_), AttributeInfo::Available(_)] = session.get_attribute_info(*hnd, &token_types)?[0..token_types.len()] + { + // Object may be a token and has an ID. + if let [Attribute::Token(true), Attribute::Id(token_id)] = &session.get_attributes(*hnd, &token_types)?[0..token_types.len()] { + // Object is a token, and we have extracted the ID. + if !token_id.is_empty() && (key_id.is_none() || token_id[0] == key_id.unwrap()) { + let found_key_id = token_id[0]; + let mut label: Option<String> = None; + if let [AttributeInfo::Available(_)] = &session.get_attribute_info(*hnd, &label_types)?[0..label_types.len()] { + // Object has a label. + if let [Attribute::Label(token_label)] = &session.get_attributes(*hnd, &label_types)?[0..label_types.len()] { + // We have extracted the label; we make a copy of it. + label = match String::from_utf8(token_label.clone()) { + Ok(label) => Some(label), + Err(_) => None, + } + } + } + return Ok(Some((found_key_id, label))); + } + } + } + } + Ok(None) + } + + fn get_or_prompt_pin_checked_for_slot( + session: &Session, + maybe_pin: Option<String>, + slot: Slot, + token_info: TokenInfo, + memo_key: &str, + ) -> anyhow::Result<String> { + if token_info.user_pin_locked() { + return Err(anyhow!("The PIN for the token stored in slot {} is locked", slot.id())); + } + if token_info.user_pin_final_try() { + warn!( + "The PIN for the token stored in slot {} is at its last try, and if this operation fails, the token will be locked", + slot.id() + ); + } + let ret = Ok(match maybe_pin { + Some(pin) => { + let sekrit = SecretString::from_str(pin.as_str()).unwrap(); + session.login(UserType::User, Some(&sekrit))?; + pin + } + None => { + let pin_entry = Entry::new("dre-tool-hsm-pin", memo_key)?; + let tentative_pin = match pin_entry.get_password() { + // TODO: Remove the old keyring entry search ("release-cli") after August 1st, 2024 + Err(Error::NoEntry) => match Entry::new("release-cli", memo_key) { + Err(Error::NoEntry) => Password::new() + .with_prompt("Please enter the hardware security module PIN: ") + .interact()?, + Ok(pin_entry) => pin_entry.get_password()?, + Err(e) => return Err(anyhow::anyhow!("Problem getting PIN from keyring: {}", e)), + }, + Ok(pin) => pin, + Err(e) => return Err(anyhow::anyhow!("Problem getting from keyring: {}", e)), + }; + let sekrit = SecretString::from_str(tentative_pin.as_str()).unwrap(); + match session.login(UserType::User, Some(&sekrit)) { + Ok(_) => { + pin_entry.set_password(&tentative_pin)?; + tentative_pin + } + Err(e) => { + pin_entry.delete_credential()?; + return Err(anyhow!("Hardware security module PIN incorrect ({})", e)); + } + } + } + }); + info!("Hardware security module PIN correct"); + ret + } + + /// Create an Auth that automatically detects an HSM. Falls back to + /// anonymous authentication if no HSM is detected. Prompts the user + /// for a PIN if no PIN is specified and the HSM needs to be unlocked. + /// Caller can optionally limit search to a specific slot or key ID. + pub async fn auto(hsm_pin: Option<String>, hsm_slot: Option<u64>, hsm_key_id: Option<u8>) -> anyhow::Result<Self> { + tokio::task::spawn_blocking(move || Self::detect_hsm_auth(hsm_pin, hsm_slot, hsm_key_id)).await? + } + + pub async fn pem(private_key_pem: PathBuf) -> anyhow::Result<Self> { + // Check path exists. This blocks. + let t = tokio::task::spawn_blocking(move || { + let inp = InputPath::new(&private_key_pem); + match inp { + Ok(inp) => Ok(inp.path().to_path_buf()), + Err(e) => Err(e), + } + }) + .await?; + Ok(Self::Keyfile { path: t? }) + } + + pub(crate) async fn from_auth_opts(auth_opts: AuthOpts) -> Result<Self, anyhow::Error> { + match &auth_opts { + // Private key case. + AuthOpts { + private_key_pem: Some(private_key_pem), + hsm_opts: _, + } => { + info!("Using requested private key file {}", private_key_pem.path()); + Auth::pem(private_key_pem.path().to_path_buf()).await + } + // Slot and key case. + // Also autodetect case. + AuthOpts { + private_key_pem: _, + hsm_opts: + HsmOpts { + hsm_pin: pin, + hsm_params: HsmParams { hsm_slot, hsm_key_id }, + }, + } => Auth::auto(pin.clone(), *hsm_slot, *hsm_key_id).await, + } + } } diff --git a/rs/cli/src/commands/mod.rs b/rs/cli/src/commands/mod.rs index f5751ef9e..110847369 100644 --- a/rs/cli/src/commands/mod.rs +++ b/rs/cli/src/commands/mod.rs @@ -1,9 +1,11 @@ -use std::{collections::BTreeMap, path::PathBuf, str::FromStr}; +use std::{collections::BTreeMap, str::FromStr}; use crate::commands::subnet::Subnet; use api_boundary_nodes::ApiBoundaryNodes; -use clap::{error::ErrorKind, Parser}; +use clap::Parser; +use clap::{error::ErrorKind, Args as ClapArgs}; use clap_num::maybe_hex; +use clio::*; use completions::Completions; use der_to_principal::DerToPrincipal; use firewall::Firewall; @@ -48,24 +50,71 @@ pub mod upgrade; mod version; mod vote; -#[derive(Parser, Debug)] -#[clap(version = env!("CARGO_PKG_VERSION"), about, author)] -pub struct Args { - /// Pin for the HSM key used for submitting proposals - #[clap(long, global = true, hide_env_values = true, env = "HSM_PIN")] - pub hsm_pin: Option<String>, - +/// HSM authentication parameters +#[derive(ClapArgs, Debug, Clone)] +pub(crate) struct HsmParams { /// Slot that HSM key uses, can be read with pkcs11-tool - #[clap(long, value_parser=maybe_hex::<u64>, global = true, env = "HSM_SLOT")] - pub hsm_slot: Option<u64>, + #[clap(required = false, + conflicts_with = "private_key_pem", + long, value_parser=maybe_hex::<u64>, global = true, env = "HSM_SLOT")] + pub(crate) hsm_slot: Option<u64>, /// HSM Key ID, can be read with pkcs11-tool - #[clap(long, global = true, env = "HSM_KEY_ID")] - pub hsm_key_id: Option<String>, + #[clap(required = false, conflicts_with = "private_key_pem", long, value_parser=maybe_hex::<u8>, global = true, env = "HSM_KEY_ID")] + pub(crate) hsm_key_id: Option<u8>, +} - /// Path to key pem file - #[clap(long, global = true, env = "PRIVATE_KEY_PEM")] - pub private_key_pem: Option<PathBuf>, +/// HSM authentication arguments +/// These comprise an optional PIN and optional parameters. +/// The PIN is used during autodetection if the optional +/// parameters are missing. +#[derive(ClapArgs, Debug, Clone)] +pub(crate) struct HsmOpts { + /// Pin for the HSM key used for submitting proposals + // Must be present if slot and key are specified. + #[clap( + required = false, + alias = "hsm-pim", + conflicts_with = "private_key_pem", + long, + global = true, + hide_env_values = true, + env = "HSM_PIN" + )] + pub(crate) hsm_pin: Option<String>, + #[clap(flatten)] + pub(crate) hsm_params: HsmParams, +} + +// The following should ideally be defined in terms of an Enum +// as there is no conceivable scenario in which both a PEM file +// and a set of HSM options can be used by the program. +// Sadly, until ticket +// https://github.com/clap-rs/clap/issues/2621 +// is fixed, we cannot do this, and we must use a struct instead. +// Note that group(multiple = false) has no effect, and therefore +// we have to use conflicts and requires to specify option deps. +#[derive(ClapArgs, Debug, Clone)] +#[group(multiple = false)] +/// Authentication arguments +pub(crate) struct AuthOpts { + /// Path to private key file (in PEM format) + #[clap( + long, + required = false, + global = true, + conflicts_with_all = ["hsm_pin", "hsm_slot", "hsm_key_id"], + env = "PRIVATE_KEY_PEM")] + pub(crate) private_key_pem: Option<InputPath>, + #[clap(flatten)] + pub(crate) hsm_opts: HsmOpts, +} + +#[derive(Parser, Debug)] +#[clap(version = env!("CARGO_PKG_VERSION"), about, author)] +pub(crate) struct Args { + #[clap(flatten)] + pub(crate) auth_opts: AuthOpts, /// Neuron ID #[clap(long, global = true, env = "NEURON_ID")] @@ -108,7 +157,7 @@ The argument is mandatory for testnets, and is optional for mainnet and staging" /// Don't sync with the registry /// - /// Useful for when the nns is unreachable + /// Useful for when the NNS is unreachable #[clap(long)] pub no_sync: bool, @@ -117,6 +166,22 @@ The argument is mandatory for testnets, and is optional for mainnet and staging" pub forum_post_link: Option<String>, } +// Do not use outside of DRE CLI. +// You can run your command by directly instantiating it. +impl ExecutableCommand for Args { + fn require_ic_admin(&self) -> IcAdminRequirement { + self.subcommands.require_ic_admin() + } + + async fn execute(&self, ctx: DreContext) -> anyhow::Result<()> { + self.subcommands.execute(ctx).await + } + + fn validate(&self, cmd: &mut Command) { + self.subcommands.validate(cmd) + } +} + macro_rules! impl_executable_command_for_enums { ($($var:ident),*) => { use crate::ctx::DreContext; @@ -234,17 +299,3 @@ pub enum IcAdminRequirement { Detect, // detect the neuron OverridableBy { network: Network, neuron: AuthNeuron }, // eg automation which we know where is placed } - -impl ExecutableCommand for Args { - fn require_ic_admin(&self) -> IcAdminRequirement { - self.subcommands.require_ic_admin() - } - - async fn execute(&self, ctx: DreContext) -> anyhow::Result<()> { - self.subcommands.execute(ctx).await - } - - fn validate(&self, cmd: &mut Command) { - self.subcommands.validate(cmd) - } -} diff --git a/rs/cli/src/commands/vote.rs b/rs/cli/src/commands/vote.rs index 9ef20c67b..4fcc4bfaf 100644 --- a/rs/cli/src/commands/vote.rs +++ b/rs/cli/src/commands/vote.rs @@ -35,7 +35,8 @@ pub struct Vote { #[clap(long, use_value_delimiter = true, value_delimiter = ',', default_value = "12")] pub accepted_topics: Vec<i32>, - /// Override default sleep time + /// Sleep time between voting cycles. If set to 0s, + /// only one voting cycle will take place. #[clap(long, default_value = "60s", value_parser = parse_duration)] pub sleep_time: Duration, } @@ -49,7 +50,10 @@ impl ExecutableCommand for Vote { let client: GovernanceCanisterWrapper = ctx.create_ic_agent_canister_client(None)?.into(); let mut voted_proposals = HashSet::new(); - DesktopNotifier::send_info("DRE vote: starting", "Starting the voting loop..."); + + if self.sleep_time != Duration::from_secs(0) { + DesktopNotifier::send_info("DRE vote: starting", "Starting the voting loop..."); + } loop { let proposals = client.get_pending_proposals().await?; @@ -64,7 +68,8 @@ impl ExecutableCommand for Vote { // Clear last line in terminal print!("\x1B[1A\x1B[K"); - std::io::stdout().flush().unwrap(); + // No need to panic if standard out doesn't flush (e.g. /dev/null). + let _ = std::io::stdout().flush(); for proposal in proposals { DesktopNotifier::send_info( @@ -78,24 +83,33 @@ impl ExecutableCommand for Vote { ), ); - let response = match client.register_vote(ctx.ic_admin().neuron().neuron_id, proposal.id.unwrap().id).await { - Ok(response) => format!("Voted successfully: {}", response), - Err(e) => { - DesktopNotifier::send_critical( - "DRE vote: error", - &format!( - "Error voting on proposal {} (topic {:?}, proposer {}) -> {}", - proposal.id.unwrap().id, - proposal.topic(), - proposal.proposer.unwrap_or_default().id, - e - ), - ); - format!("Error voting: {}", e) - } - }; - info!("{}", response); - voted_proposals.insert(proposal.id.unwrap().id); + let prop_id = proposal.id.unwrap().id; + if !ctx.is_dry_run() { + let response = match client.register_vote(ctx.ic_admin().neuron().neuron_id, proposal.id.unwrap().id).await { + Ok(response) => format!("Voted successfully: {}", response), + Err(e) => { + DesktopNotifier::send_critical( + "DRE vote: error", + &format!( + "Error voting on proposal {} (topic {:?}, proposer {}) -> {}", + prop_id, + proposal.topic(), + proposal.proposer.unwrap_or_default().id, + e + ), + ); + format!("Error voting: {}", e) + } + }; + info!("{}", response); + } else { + info!("Would have voted for proposal {}", prop_id) + } + voted_proposals.insert(prop_id); + } + + if self.sleep_time == Duration::from_secs(0) { + break; } let mut sp = Spinner::with_timer( diff --git a/rs/cli/src/ctx.rs b/rs/cli/src/ctx.rs index 9ae02d2dd..6c41537fa 100644 --- a/rs/cli/src/ctx.rs +++ b/rs/cli/src/ctx.rs @@ -17,9 +17,10 @@ use ic_management_backend::{ use ic_management_types::Network; use ic_registry_local_registry::LocalRegistry; use log::info; +use url::Url; use crate::{ - auth::Neuron, + auth::{Auth, Neuron}, commands::{Args, ExecutableCommand, IcAdminRequirement}, ic_admin::{download_ic_admin, should_update_ic_admin, IcAdmin, IcAdminImpl}, runner::Runner, @@ -39,45 +40,50 @@ pub struct DreContext { skip_sync: bool, ic_admin_path: Option<String>, forum_post_link: Option<String>, + dry_run: bool, } impl DreContext { - pub async fn from_args(args: &Args) -> anyhow::Result<Self> { - let network = match args.no_sync { - false => ic_management_types::Network::new(args.network.clone(), &args.nns_urls) + pub async fn new( + network: String, + nns_urls: Vec<Url>, + auth: Auth, + neuron_id: Option<u64>, + verbose: bool, + no_sync: bool, + yes: bool, + dry_run: bool, + ic_admin_requirement: IcAdminRequirement, + forum_post_link: Option<String>, + ) -> anyhow::Result<Self> { + let network = match no_sync { + false => ic_management_types::Network::new(network.clone(), &nns_urls) .await .map_err(|e| anyhow::anyhow!(e))?, - true => Network::new_unchecked(args.network.clone(), &args.nns_urls)?, + true => Network::new_unchecked(network.clone(), &nns_urls)?, }; - let (neuron_id, private_key_pem) = { - let neuron_id = match args.neuron_id { - Some(n) => Some(n), - None if network.name == "staging" => Some(STAGING_NEURON_ID), - None => None, - }; - - let path = PathBuf::from_str(&std::env::var("HOME")?)?.join(".config/dfx/identity/bootstrap-super-leader/identity.pem"); - let private_key_pem = match args.private_key_pem.as_ref() { - Some(p) => Some(p.clone()), - None if network.name == "staging" && path.exists() => Some(path), - None => None, - }; - (neuron_id, private_key_pem) + // Overrides of neuron ID and private key PEM file for staging. + // Appropriate fallbacks take place when options are missing. + // I personally don't think this should be here, but more refactoring + // needs to take place for this code to reach its final destination. + let (neuron_id, auth_opts) = if network.name == "staging" { + let staging_path = PathBuf::from_str(&std::env::var("HOME")?)?.join(".config/dfx/identity/bootstrap-super-leader/identity.pem"); + ( + neuron_id.or(Some(STAGING_NEURON_ID)), + match (&auth, Auth::pem(staging_path).await) { + // There is no private key PEM specified, this is staging, the user + // did not specify HSM options, and the default staging path exists, + // so we use the default staging path. + (Auth::Anonymous, Ok(staging_pem_auth)) => staging_pem_auth, + _ => auth.clone(), + }, + ) + } else { + (neuron_id, auth.clone()) }; - let (ic_admin, ic_admin_path) = Self::init_ic_admin( - &network, - neuron_id, - private_key_pem, - args.hsm_slot, - args.hsm_key_id.clone(), - args.hsm_pin.clone(), - args.yes, - args.dry_run, - args.require_ic_admin(), - ) - .await?; + let (ic_admin, ic_admin_path) = Self::init_ic_admin(&network, neuron_id, auth_opts, yes, dry_run, ic_admin_requirement).await?; Ok(Self { proposal_agent: Arc::new(ProposalAgentImpl::new(&network.nns_urls)), @@ -85,21 +91,35 @@ impl DreContext { registry: RefCell::new(None), ic_admin, runner: RefCell::new(None), - verbose_runner: args.verbose, - skip_sync: args.no_sync, + verbose_runner: verbose, + skip_sync: no_sync, ic_admin_path, - forum_post_link: args.forum_post_link.clone(), + forum_post_link: forum_post_link.clone(), ic_repo: RefCell::new(None), + dry_run, }) } + pub(crate) async fn from_args(args: &Args) -> anyhow::Result<Self> { + Self::new( + args.network.clone(), + args.nns_urls.clone(), + Auth::from_auth_opts(args.auth_opts.clone()).await?, + args.neuron_id, + args.verbose, + args.no_sync, + args.yes, + args.dry_run, + args.subcommands.require_ic_admin(), + args.forum_post_link.clone(), + ) + .await + } + async fn init_ic_admin( network: &Network, neuron_id: Option<u64>, - private_key_pem: Option<PathBuf>, - hsm_slot: Option<u64>, - hsm_key_id: Option<String>, - hsm_pin: Option<String>, + auth: Auth, proceed_without_confirmation: bool, dry_run: bool, requirement: IcAdminRequirement, @@ -113,14 +133,12 @@ impl DreContext { neuron_id: 0, include_proposer: false, }, - IcAdminRequirement::Detect => { - Neuron::new(private_key_pem, hsm_slot, hsm_pin.clone(), hsm_key_id.clone(), neuron_id, network, true).await? - } + IcAdminRequirement::Detect => Neuron::new(auth, neuron_id, network, true).await?, IcAdminRequirement::OverridableBy { network: accepted_network, neuron, } => { - let maybe_neuron = Neuron::new(private_key_pem, hsm_slot, hsm_pin.clone(), hsm_key_id.clone(), neuron_id, network, true).await; + let maybe_neuron = Neuron::new(auth, neuron_id, network, true).await; match maybe_neuron { Ok(n) => n, @@ -181,18 +199,16 @@ impl DreContext { &self.network } + pub fn is_dry_run(&self) -> bool { + self.dry_run + } + /// Uses `ic_agent::Agent` pub fn create_ic_agent_canister_client(&self, lock: Option<Mutex<()>>) -> anyhow::Result<IcAgentCanisterClient> { - let nns_url = self.network.get_nns_urls().first().expect("Should have at least one NNS url"); + let urls = self.network.get_nns_urls().to_vec(); match &self.ic_admin { - Some(a) => match &a.neuron().auth { - crate::auth::Auth::Hsm { pin, slot, key_id } => { - IcAgentCanisterClient::from_hsm(pin.to_string(), *slot, key_id.to_string(), nns_url.to_owned(), lock) - } - crate::auth::Auth::Keyfile { path } => IcAgentCanisterClient::from_key_file(path.into(), nns_url.to_owned()), - crate::auth::Auth::Anonymous => IcAgentCanisterClient::from_anonymous(nns_url.to_owned()), - }, - None => IcAgentCanisterClient::from_anonymous(nns_url.to_owned()), + Some(a) => a.neuron().auth.create_canister_client(urls, lock), + None => IcAgentCanisterClient::from_anonymous(urls.first().expect("Should have at least one NNS url").clone()), } } diff --git a/rs/cli/src/main.rs b/rs/cli/src/main.rs index a5c5b41a1..4efe485d6 100644 --- a/rs/cli/src/main.rs +++ b/rs/cli/src/main.rs @@ -26,6 +26,7 @@ async fn main() -> anyhow::Result<()> { dotenv().ok(); let args = Args::parse(); + let mut cmd = Args::command(); args.validate(&mut cmd); diff --git a/rs/qualifier/src/qualify_util.rs b/rs/qualifier/src/qualify_util.rs index 7aa26b6e5..a03258f15 100644 --- a/rs/qualifier/src/qualify_util.rs +++ b/rs/qualifier/src/qualify_util.rs @@ -2,7 +2,8 @@ use std::{path::PathBuf, str::FromStr}; use anyhow::Error; use dre::{ - commands::{qualify::execute::Execute, Args, ExecutableCommand}, + auth::Auth, + commands::{qualify::execute::Execute, ExecutableCommand}, ctx::DreContext, }; use ic_management_backend::registry::local_registry_path; @@ -62,35 +63,32 @@ pub async fn qualify( info!("Removed registry from previous runs"); } - let args = Args { - hsm_pin: None, - hsm_slot: None, - hsm_key_id: None, - private_key_pem: Some(private_key_pem), - neuron_id: Some(neuron_id), - ic_admin: None, - yes: true, - dry_run: false, - network: network_name.to_string(), - nns_urls: config.nns_urls, - subcommands: dre::commands::Subcommands::Qualify(dre::commands::qualify::Qualify { - subcommand: dre::commands::qualify::Subcommands::Execute(Execute { - version: to_version, - from_version: Some(from_version), - step_range, - deployment_name: config.deployment_name, - prometheus_endpoint: config.prometheus_url, - artifacts: Some(artifacts.clone()), - grafana_url: Some(config.grafana_url), - }), + let cmd = dre::commands::Subcommands::Qualify(dre::commands::qualify::Qualify { + subcommand: dre::commands::qualify::Subcommands::Execute(Execute { + version: to_version, + from_version: Some(from_version), + step_range, + deployment_name: config.deployment_name, + prometheus_endpoint: config.prometheus_url, + artifacts: Some(artifacts.clone()), + grafana_url: Some(config.grafana_url), }), - verbose: false, - no_sync: false, - forum_post_link: None, - }; - let ctx = DreContext::from_args(&args).await?; - - args.execute(ctx).await?; + }); + let ctx = DreContext::new( + network_name.to_string(), + config.nns_urls, + Auth::pem(private_key_pem).await?, + Some(neuron_id), + false, + false, + true, + false, + cmd.require_ic_admin(), + None, + ) + .await?; + + cmd.execute(ctx).await?; std::fs::copy(&log_path, artifacts.join("farm-driver.log"))?; Ok(()) diff --git a/rs/rollout-controller/src/actions/mod.rs b/rs/rollout-controller/src/actions/mod.rs index 959fdfaa4..55b490edc 100644 --- a/rs/rollout-controller/src/actions/mod.rs +++ b/rs/rollout-controller/src/actions/mod.rs @@ -1,7 +1,7 @@ -use std::{path::PathBuf, time::Duration}; +use std::time::Duration; use dre::{ - auth::Neuron, + auth::{Auth, Neuron}, ic_admin::{IcAdmin, IcAdminImpl, ProposeCommand, ProposeOptions}, }; use ic_base_types::PrincipalId; @@ -112,7 +112,7 @@ pub struct ActionExecutor<'a> { impl<'a> ActionExecutor<'a> { pub async fn new(neuron_id: u64, private_key_pem: String, network: Network, simulate: bool, logger: Option<&'a Logger>) -> anyhow::Result<Self> { - let neuron = Neuron::new(Some(PathBuf::from(private_key_pem)), None, None, None, Some(neuron_id), &network, true).await?; + let neuron = Neuron::new(Auth::pem(private_key_pem.into()).await?, Some(neuron_id), &network, true).await?; Ok(Self { ic_admin_wrapper: IcAdminImpl::new(network, None, true, neuron, simulate), logger, @@ -120,7 +120,7 @@ impl<'a> ActionExecutor<'a> { } pub async fn test(network: Network, logger: Option<&'a Logger>) -> anyhow::Result<Self> { - let neuron = Neuron::new(None, None, None, None, None, &network, true).await?; + let neuron = Neuron::new(Auth::auto(None, None, None).await?, None, &network, true).await?; Ok(Self { ic_admin_wrapper: IcAdminImpl::new(network, None, true, neuron, true), logger, From 4317cf679ae7023501e69108ff7b66b9b756368a Mon Sep 17 00:00:00 2001 From: Luka Skugor <luka.skugor@chimeramail.com> Date: Wed, 4 Sep 2024 14:33:54 +0200 Subject: [PATCH 07/25] chore: add more vscode settings (#861) Co-authored-by: CI Automation <infra@dfinity.org> --- .vscode/extensions.json | 15 +++++++++++++++ .vscode/settings.json | 6 +++++- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 .vscode/extensions.json diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 000000000..a508fced5 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,15 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. + // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp + // List of extensions which should be recommended for users of this workspace. + "recommendations": [ + "charliermarsh.ruff", + "ms-python.vscode-pylance", + "rust-lang.rust-analyzer", + "BazelBuild.vscode-bazel", + "StackBuild.bazel-stack-vscode", + "redhat.vscode-yaml", + ], + // List of extensions recommended by VS Code that should not be recommended for users of this workspace. + "unwantedRecommendations": [] +} diff --git a/.vscode/settings.json b/.vscode/settings.json index 532db4443..ec66bbdfc 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,9 +4,13 @@ }, "rust-analyzer.showUnlinkedFileNotification": false, "python.testing.pytestArgs": [ - "release-controller", + ".", "-vv" ], "python.testing.unittestEnabled": false, "python.testing.pytestEnabled": true, + "[python]": { + "editor.defaultFormatter": "charliermarsh.ruff", + "editor.formatOnSave": true + }, } From 00e419f85fb9dff6754447206047ab690cf044c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C5=A1a=20Tomi=C4=87?= <sasa.tomic@dfinity.org> Date: Wed, 4 Sep 2024 16:58:38 +0200 Subject: [PATCH 08/25] feat: Replace poetry with rye for managing Python dependencies (#857) Co-authored-by: Luka Skugor <luka.skugor@chimeramail.com> --- .github/workflows/build-runner.yaml | 4 +- .../workflows/manage-runner-post/action.yaml | 2 +- .../workflows/manage-runner-pre/action.yaml | 2 +- .github/workflows/update-dependencies.yaml | 12 +- .pre-commit-config.yaml | 19 +- .python-version | 2 +- BUILD.bazel | 6 - Makefile | 38 - WORKSPACE.bazel | 8 +- bin/mk-release.py | 4 +- bin/poetry.sh | 19 - bin/release-controller-update-data-model.sh | 14 + docker/.python-version | 1 + docker/Dockerfile | 79 +- docker/docker-update-image.py | 279 - docker/runner.Dockerfile | 25 +- docs/bazel/tips-and-tricks.md | 8 - docs/contributing.md | 51 +- docs/make-release.md | 11 +- k8s/elastic-retention-enforcer/README.md | 4 +- k8s/elastic-template-creator/README.md | 4 +- poetry.lock | 6536 ----------------- pyproject.toml | 119 +- requirements-dev.lock | 640 ++ requirements.lock | 640 ++ requirements.txt | 3011 -------- 26 files changed, 1424 insertions(+), 10114 deletions(-) delete mode 100644 Makefile delete mode 100755 bin/poetry.sh create mode 100755 bin/release-controller-update-data-model.sh create mode 100644 docker/.python-version delete mode 100755 docker/docker-update-image.py delete mode 100644 poetry.lock create mode 100644 requirements-dev.lock create mode 100644 requirements.lock delete mode 100644 requirements.txt diff --git a/.github/workflows/build-runner.yaml b/.github/workflows/build-runner.yaml index a73277ccc..166de51ec 100644 --- a/.github/workflows/build-runner.yaml +++ b/.github/workflows/build-runner.yaml @@ -34,8 +34,8 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: "Copy requirements.txt" - run: cp requirements.txt docker + - name: "Copy docker image dependencies" + run: cp pyproject.toml requirements.lock requirements-dev.lock .python-version README.md rust-toolchain.toml docker/ shell: bash - name: Build and push Docker image diff --git a/.github/workflows/manage-runner-post/action.yaml b/.github/workflows/manage-runner-post/action.yaml index 07a9aeb17..63f16cd8e 100644 --- a/.github/workflows/manage-runner-post/action.yaml +++ b/.github/workflows/manage-runner-post/action.yaml @@ -50,4 +50,4 @@ runs: # Configure cache updates # https://github.com/actions/cache/blob/main/tips-and-workarounds.md#update-a-cache # https://github.com/actions/cache/blob/main/examples.md#---bazel - key: ${{ runner.os }}-bazel-${{ hashFiles('.bazelversion', '.bazelrc', 'WORKSPACE.bazel', 'Cargo.Bazel.lock', 'requirements.txt') }} + key: ${{ runner.os }}-bazel-${{ hashFiles('.bazelversion', '.bazelrc', 'WORKSPACE.bazel', 'Cargo.Bazel.lock', 'requirements.lock') }} diff --git a/.github/workflows/manage-runner-pre/action.yaml b/.github/workflows/manage-runner-pre/action.yaml index 4d8a0373d..cbd373b1e 100644 --- a/.github/workflows/manage-runner-pre/action.yaml +++ b/.github/workflows/manage-runner-pre/action.yaml @@ -54,7 +54,7 @@ runs: # Configure cache updates # https://github.com/actions/cache/blob/main/tips-and-workarounds.md#update-a-cache # https://github.com/actions/cache/blob/main/examples.md#---bazel - key: ${{ runner.os }}-bazel-${{ hashFiles('.bazelversion', '.bazelrc', 'WORKSPACE.bazel', 'Cargo.Bazel.lock', 'requirements.txt') }} + key: ${{ runner.os }}-bazel-${{ hashFiles('.bazelversion', '.bazelrc', 'WORKSPACE.bazel', 'Cargo.Bazel.lock', 'requirements.lock') }} restore-keys: | ${{ runner.os }}-bazel- diff --git a/.github/workflows/update-dependencies.yaml b/.github/workflows/update-dependencies.yaml index d5e72982f..14e63f1af 100644 --- a/.github/workflows/update-dependencies.yaml +++ b/.github/workflows/update-dependencies.yaml @@ -20,8 +20,10 @@ jobs: uses: actions/setup-python@v5 with: python-version: "3.11" - - name: "🐍 Install Poetry" - uses: snok/install-poetry@v1 + - name: "🐍 Install rye" + run: | + export RYE_INSTALL_OPTION="--yes" + curl -sSf https://rye.astral.sh/get | bash - name: "⚒️ Run autoupdate for ic-deps" run: | @@ -51,10 +53,8 @@ jobs: # Reinstall gcc sudo apt install gcc -y - poetry lock --no-update - poetry update CARGO_BAZEL_REPIN=true bazel query >/dev/null - ./bin/poetry.sh + ./bin/release-controller-update-data-model.sh - name: "🆕 Create a new Pull Request with the changes" uses: peter-evans/create-pull-request@v6 @@ -62,7 +62,7 @@ jobs: commit-message: "chore: Update dependencies" branch: bot-update-deps title: "chore: Update dependencies" - body: "This PR updates poetry (Python) and cargo (Rust) dependencies and IC repository dependencies" + body: "This PR updates Python, Rust crates, and IC repository dependencies" token: ${{ secrets.GIX_CREATE_PR_PAT }} - name: "🪓 Tear down runner" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a070f8890..640d5d53a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -66,22 +66,6 @@ repos: # files will be recognized regardless of extension. - --match=.* - - repo: https://github.com/PyCQA/pylint - rev: v3.2.5 - hooks: - - id: pylint - name: pylint - exclude: | - (?x)^( - release-controller/release_index.py - )$ - entry: python3 -m pylint.__main__ - types: [python] - args: [ - "-rn", # Only display messages - "-sn", # Don't display the score - "--disable=R,C,W0621,E0401,W0703,E1123", # Disable: Refactor, Convention, some warnings - ] - repo: local hooks: - id: release-index-checks @@ -104,5 +88,6 @@ repos: if [[ "$found" == false ]]; then exit 0 fi - poetry run python release-controller/ci_check.py --repo-path ~/.cache/git/ic + command -v rye >/dev/null || echo 'rye' not found. Please install it by following the instructions from https://rye.astral.sh/ + rye run python release-controller/ci_check.py --repo-path ~/.cache/git/ic ' diff --git a/.python-version b/.python-version index 8531a3b7e..d9506ceba 100644 --- a/.python-version +++ b/.python-version @@ -1 +1 @@ -3.12.2 +3.12.5 diff --git a/BUILD.bazel b/BUILD.bazel index dcaf7076e..5039c9edb 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -12,12 +12,6 @@ alias( actual = "@rules_rust//:rustfmt", ) -alias( - name = "poetry", - actual = "@python_deps_poetry//:rules_python_wheel_entry_point_poetry", - tags = ["no-cache"], -) - genrule( name = "release-docs", srcs = ["//release-controller:README.md"], diff --git a/Makefile b/Makefile deleted file mode 100644 index 434fd5c5a..000000000 --- a/Makefile +++ /dev/null @@ -1,38 +0,0 @@ -POETRY_ENV_PATH := $(shell ( venv/bin/poetry env info ; echo Path: /tmp/PhonyPath ) | grep Path: | head -1 | awk -F : '{ print $$2 }') -CARGO_PATH := $(shell which cargo || echo /tmp/PhonyCargo ) - -.PHONY = debug - -debug: - echo $(POETRY_ENV_PATH) - echo $(CARGO_PATH) - -venv/bin/pip3: - virtualenv venv || { echo virtualenv is not installed or on your PATH, please install it. ; exit 1 ; } - -venv/bin/poetry: venv/bin/pip3 - venv/bin/pip3 install poetry - -$(POETRY_ENV_PATH): venv/bin/poetry - venv/bin/poetry install --no-root - -$(POETRY_ENV_PATH)/bin/poetry: $(POETRY_ENV_PATH) venv/bin/poetry - venv/bin/poetry run pip3 install poetry - -$(POETRY_ENV_PATH)/bin/safety: $(POETRY_ENV_PATH) - venv/bin/poetry run pip3 install safety - -safety: $(POETRY_ENV_PATH)/bin/safety - venv/bin/poetry run safety check - -# Run this to lock Poetry dependencies after an update on pyproject.toml. -requirements.txt: pyproject.toml poetry.lock $(POETRY_ENV_PATH)/bin/poetry bin/poetry-export.sh WORKSPACE.bazel - venv/bin/poetry run poetry lock --no-update - venv/bin/poetry run bin/poetry-export.sh - -$(CARGO_PATH)-check: - cargo install cargo-check || { echo Cargo is not installed or on your PATH, please install it. ; exit 1 ; } - touch $(CARGO_PATH)-check - -cargo-audit: $(CARGO_PATH)-check - cargo audit diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index 0f1811182..62f1164b0 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -50,14 +50,8 @@ load("@rules_python//python:pip.bzl", "pip_parse") pip_parse( name = "python_deps", - experimental_requirement_cycles = { - "poetry": [ - "poetry", - "poetry-plugin-export", - ], - }, python_interpreter_target = interpreter, - requirements_lock = "//:requirements.txt", + requirements_lock = "//:requirements.lock", ) load("@python_deps//:requirements.bzl", "install_deps") diff --git a/bin/mk-release.py b/bin/mk-release.py index 16211f520..7d502efee 100755 --- a/bin/mk-release.py +++ b/bin/mk-release.py @@ -62,10 +62,10 @@ def add_git_tag(tag_name): def update_change_log(current_version, new_version): - # call poetry run pychangelog generate to update CHANGELOG.md + # call rye run pychangelog generate to update CHANGELOG.md subprocess.check_call( [ - "poetry", + "rye", "run", "git-changelog", "--filter-commits", diff --git a/bin/poetry.sh b/bin/poetry.sh deleted file mode 100755 index 273daebf2..000000000 --- a/bin/poetry.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env sh - -set -e - -git_root=$(git rev-parse --show-toplevel) -( - cd $git_root - bazel run //:poetry -- export --with dev -f requirements.txt >requirements.txt.2 - mv requirements.txt.2 requirements.txt -) - -bazel run //:poetry -- install -bazel run //:poetry -- run datamodel-codegen \ - --input $git_root/release-index-schema.json \ - --input-file-type jsonschema \ - --output $git_root/release-controller/release_index.py \ - --target-python-version 3.10 \ - --output-model-type pydantic_v2.BaseModel \ - --disable-timestamp diff --git a/bin/release-controller-update-data-model.sh b/bin/release-controller-update-data-model.sh new file mode 100755 index 000000000..3cf13b8c6 --- /dev/null +++ b/bin/release-controller-update-data-model.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +set -eEuo pipefail + +git_root=$(git rev-parse --show-toplevel) +cd "$git_root" +command -v rye >/dev/null \ + || rye run datamodel-codegen \ + --input $git_root/release-index-schema.json \ + --input-file-type jsonschema \ + --output $git_root/release-controller/release_index.py \ + --target-python-version $(cat .python-version) \ + --output-model-type pydantic_v2.BaseModel \ + --disable-timestamp diff --git a/docker/.python-version b/docker/.python-version new file mode 100644 index 000000000..d9506ceba --- /dev/null +++ b/docker/.python-version @@ -0,0 +1 @@ +3.12.5 diff --git a/docker/Dockerfile b/docker/Dockerfile index 140e4510d..e6762c986 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,45 +1,3 @@ -# Start the Python build. -FROM ubuntu:20.04 as pythonbuilder - -ENV TZ=UTC - -# The Python build dependencies section in this install command -# should be updated both here and in the README.md file. -# The Python runtime dependencies are installed below. -# (see "Python runtime dependencies"). -RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \ - apt -yq update && \ - apt -yqq install --no-install-recommends \ - git openssh-client curl xz-utils time apt-transport-https ca-certificates lsb-release gnupg2 && \ - apt -yq update && \ - echo Installing Python build dependencies >&2 && \ - apt -yq install --no-install-recommends \ - build-essential libncurses-dev libbz2-dev libreadline-dev \ - libssl-dev make build-essential libssl-dev zlib1g-dev \ - libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \ - libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \ - libffi-dev liblzma-dev - -# Set Python up in /opt/pyenv. -RUN mkdir -p /opt/pyenv -COPY pyproject.toml poetry.lock /opt/pyenv/ -RUN echo Installing the correct Python and requisite modules >&2 && \ - set -ex && \ - cd /opt/pyenv && \ - export PYENV_ROOT=$PWD/install && \ - curl https://pyenv.run > pyenv.sh && \ - bash pyenv.sh && \ - export PYTHON_VERSION=$(sed -nr 's/^python = "[^0-9\.]*([0-9\.]*).*"/\1/p' < pyproject.toml) && \ - $PYENV_ROOT/bin/pyenv install $PYTHON_VERSION || { ret=$? ; cat /tmp/python-build.*.log ; exit $ret ; } && rm -rf /tmp/python-build* && \ - export PYTHON_ROOT=$PYENV_ROOT/versions/$PYTHON_VERSION && \ - export PATH=$PYTHON_ROOT/bin:$PATH && \ - pip install poetry && \ - echo Installing Python dependencies into $PYTHON_ROOT >&2 && poetry config virtualenvs.create false && \ - poetry install && \ - ln -sf $PYTHON_ROOT $PWD/active - - -# Start the final container build. FROM ubuntu:20.04 ARG protobuf_version=3.18.1 @@ -51,13 +9,6 @@ ARG protobuf_version=3.18.1 ENV TZ=UTC -# The Python build dependencies section in this install command -# should be updated both here and in the README.md file. When -# a build dependency is added (above / README.md file), the -# runtime dependencies should be updated to contain the runtime -# (not the -dev) package corresponding to it. Don't worry, -# if dependencies are missing in the runtime section, the build -# will alert you. RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \ apt -yq update && \ apt -yqq install --no-install-recommends \ @@ -71,22 +22,17 @@ RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone & liblmdb0 libsqlite3-dev sqlite3 vim nano jq zip unzip shellcheck \ iputils-ping sudo gosu podman tini && \ chmod +s /usr/sbin/gosu && \ - echo Installing Python runtime dependencies for the Python built before >&2 && \ - apt -yqq install --no-install-recommends \ - libtk8.6 && \ echo Cleaning out APT cache for smaller images as per 'http://docs.projectatomic.io/container-best-practices/#_clearing_packaging_caches_and_temporary_package_downloads' >&2 && \ apt-get clean -# Copy the Python built in the pythonbuilder container to the final container. -COPY --from=pythonbuilder /opt/pyenv /opt/pyenv/ -# Verify all shared libraries are available. If this step fails, you must add -# the package for that shared library above in the Python runtime dependencies. -# Note: the libopenblas exception listed below exists because that library -# links to a libgfortran library within the same directory (not part of the -# system library path) and therefore is not an error if `ldd` can't "find" it. -RUN echo Verifying all shared libraries are available for Python >&2 && \ - if find /opt/pyenv/active/ -name "*.so" -a ! -name "libopenblas*" | xargs -n1 ldd | grep ' not found' >&2 ; then echo The libraries listed above are missing >&2 ; exit 4 ; fi -ENV PATH=/opt/pyenv/active/bin:$PATH +ENV RYE_HOME="/opt/rye" +ENV PATH="$RYE_HOME/shims:$PATH" + +RUN curl -sSf https://rye.astral.sh/get | RYE_NO_AUTO_INSTALL=1 RYE_INSTALL_OPTION="--yes" bash + +COPY pyproject.toml requirements.lock requirements-dev.lock .python-version README.md ./ + +RUN rye sync --no-dev --no-lock # Install the "mold" linker for fast linking of Rust executables ARG mold_version=1.11.0 @@ -101,7 +47,7 @@ RUN useradd -ms /bin/bash -u 1000 ubuntu && \ mkdir -p /cargo /cargo_target /builds /builds/dfinity-lab && \ chown -R 1000.1000 /cargo /cargo_target /builds -# Allow passworless sudo. entrypoint.sh relies on sudo +# Allow passwordless sudo. entrypoint.sh relies on sudo RUN usermod -a -G sudo ubuntu && echo "ubuntu ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers # Install Rust and Cargo in /opt @@ -113,9 +59,10 @@ ENV RUSTUP_HOME=/opt/rustup \ PROTOC_INCLUDE=/opt/protoc/include \ PATH=/opt/cargo/bin:$PATH -# Make sure /rust-toolchain.toml has the same version -ARG rust_version=1.66.1 -RUN curl --fail https://sh.rustup.rs -sSf \ +COPY rust-toolchain.toml /usr/src/rust-toolchain.toml + +RUN rust_version=$(grep -oP '(?<=channel = ")[^"]+' /usr/src/rust-toolchain.toml) && \ + curl --fail https://sh.rustup.rs -sSf \ | sh -s -- -y --default-toolchain ${rust_version}-x86_64-unknown-linux-gnu --no-modify-path && \ rustup default ${rust_version}-x86_64-unknown-linux-gnu && \ rustup component add rls && \ diff --git a/docker/docker-update-image.py b/docker/docker-update-image.py deleted file mode 100755 index 207232213..000000000 --- a/docker/docker-update-image.py +++ /dev/null @@ -1,279 +0,0 @@ -#!/usr/bin/env python3 -import filecmp -import fnmatch -import os -import pathlib -import pty -import re -import shlex -import shutil -import subprocess -import sys - -import git -from colorama import Fore -from colorama import init - -git_repo = git.Repo(os.path.dirname(__file__), search_parent_directories=True) -repo_root = pathlib.Path(git_repo.git.rev_parse("--show-toplevel")) -IMAGE = "registry.gitlab.com/dfinity-lab/core/release/ci-build" -os.chdir(repo_root) -# Init colorama, strip=False forces colors even on non-interactive terminals, such as the CI logs -init(autoreset=True, strip=False) - - -def ci_config_declared_image_digest(): - """Return the image digest that the CI config wants to use.""" - with open(repo_root / ".gitlab-ci.yml", encoding="utf8") as f: - s = re.search(r"image:.+release/ci-build@(.+)", f.read()) - if s: - return s.group(1).strip() - return "" - - -def local_image_sha256_unchecked(creator="docker"): - """Return a tuple of the latest image digest and a set of all image digests.""" - digests = subprocess.check_output([creator, "images", "--digests", "--format", "{{.Digest}}", IMAGE]) - digests = digests.decode("utf8").splitlines() - if len(digests) > 0: - return (digests[0], set([d for d in digests if d.startswith("sha256:")])) - return ("", set()) - - -def find_ci_files(): - matches = [] - for root, dirs, filenames in os.walk(repo_root): - dirs[:] = [d for d in dirs if d not in [".git"]] - for filename in fnmatch.filter(filenames, "*.yml"): - matches.append(os.path.join(root, filename)) - return matches - - -def patch_ci_config_image_sha256(target_sha256): - if not isinstance(target_sha256, str) or not target_sha256.startswith("sha256:"): - _print_red("Refusing to patch the CI config to use invalid image digest %s" % target_sha256) - sys.exit(1) - _print_green("Patching CI config to use image sha256 %s" % target_sha256) - for f in find_ci_files(): - print("Patching CI config file %s" % f) - subprocess.check_call( - ["sed", "--in-place", "-e", f"s!/release/ci-build.*$!/release/ci-build@{target_sha256}!", f] - ) - - -def docker_build_image(cache_image, builder="docker"): - """Build the container image.""" - _print_green("Building the docker image...") - os.environ["DOCKER_BUILDKIT"] = "1" - progress = ["--progress=plain"] if builder == "docker" else [] - cmd = ( - [ - builder, - "build", - ] - + progress - + [ - "--cache-from", - cache_image, - "--tag", - "release:latest", - "--tag", - IMAGE, - "-f", - "docker/Dockerfile", - ".", - ] - ) - _print_green("$", shlex.join(cmd)) - exit_code = pty.spawn(cmd) - if exit_code != 0: - _print_red("Command failed with exit code %d" % exit_code) - sys.exit(exit_code) - - -def docker_pull(ci_target_sha256, creator="docker"): - _print_magenta("docker pull '%s'" % IMAGE) - exit_code = pty.spawn([creator, "pull", f"{IMAGE}@{ci_target_sha256}"]) - if exit_code != 0: - _print_red("Command failed with exit code %d" % exit_code) - sys.exit(exit_code) - - -def docker_push(creator="docker"): - _print_magenta("docker push '%s'" % IMAGE) - # Variable set automatically by GitLab - registry_user = os.environ.get("CI_REGISTRY_USER") - registry_pass = os.environ.get("CI_REGISTRY_PASSWORD") - registry = os.environ.get("CI_REGISTRY") - if registry_user and registry_pass and registry: - print("Logging in to the docker registry...") - out = subprocess.check_output( - [creator, "login", "--username", registry_user, "--password-stdin", registry], - input=registry_pass.encode("utf8"), - ) - print(out) - else: - _print_magenta("Cannot login to docker registry. Will try to push without logging in.") - if not registry_user: - _print_magenta("CI_REGISTRY_USER environment variable is not set.") - if not registry_pass: - _print_magenta("CI_REGISTRY_PASSWORD environment variable is not set.") - if not registry: - _print_magenta("CI_REGISTRY environment variable is not set.") - - exit_code = pty.spawn([creator, "push", IMAGE]) - if exit_code != 0: - _print_red("Command failed with exit code %d" % exit_code) - sys.exit(exit_code) - - -def repo_changes_push(): - _print_magenta("git commit && git push") - gitlab_token = os.environ.get("GITLAB_PUSH_TOKEN") - if not gitlab_token: - _print_magenta("GITLAB_PUSH_TOKEN environment variable is not set. Cannot push changes to the repo.") - return - git_status = git_repo.git.status("--short", ".gitlab-ci.yml", "docker") - if not git_status: - _print_green("No changes in the git repo") - return - print("Git repo is dirty") - print(git_status) - git_branch = os.environ.get("CI_COMMIT_REF_NAME") - if not git_branch: - _print_magenta("Cannot find git branch. Cannot push changes.") - return - git_repo.config_writer().set_value("pull", "rebase", "true").release() - git_repo.config_writer().set_value("rebase", "autoStash", "true").release() - git_repo.config_writer().set_value("user", "name", "Release Team").release() - git_repo.config_writer().set_value( - "user", "email", "eng-release-bots-aaaafbmaump5gpag4pbjfuarry@dfinity.slack.com" - ).release() - git_repo.git.stash() - print("Active git branch", git_branch) - git_repo.git.checkout(git_branch) - git_repo.git.stash("pop") - # Update the remote URL to include the token with the write access - origin = git_repo.remotes.origin - remote_url = list(origin.urls)[0] - remote_url = re.sub(r"https://(.+?)@", f"https://token:{gitlab_token}@", remote_url) - origin.set_url(remote_url) - print("Set the remote URL to: {}".format(remote_url)) - # Commit and push - git_repo.git.add(all=True) - git_repo.git.stash() - origin.pull(git_branch, force=True) - git_repo.git.stash("pop") - git_repo.git.reset() - git_repo.git.add(".gitlab-ci.yml", "docker", update=True) - git_repo.git.commit("--no-verify", message="Automatically updated CI docker image") - origin.push() - _print_green("Pushed changes successfully") - - -def _are_dirs_identical(dir1, dir2): - """Return True if two directories have identical tree content.""" - compared = filecmp.dircmp(dir1, dir2) - if compared.left_only or compared.right_only or compared.diff_files or compared.funny_files: - _print_red( - "dir diff found: %s %s %s" - % (dir1, dir2, (compared.left_only or compared.right_only or compared.diff_files or compared.funny_files)) - ) - return False - for subdir in compared.common_dirs: - if not _are_dirs_identical(os.path.join(dir1, subdir), os.path.join(dir2, subdir)): - return False - return True - - -def _are_files_identical(file_list, local_cp_of_dir_image): - """Return false if all files from the file_list are unmodified compared to the local_cp_of_dir_image.""" - for f in file_list: - remote, local = f, local_cp_of_dir_image / f - if not os.path.exists(remote) and not os.path.exists(local): - # Files do not exist either in the container or in the local copy - # so this is the same, and we continue merrily - continue - try: - if not filecmp.cmp(remote, local): - _print_red("file diff found: %s" % (f)) - return False - except FileNotFoundError: - _print_red("file diff found (missing in one side): %s" % (f)) - return False - return True - - -def _print_color(color, *kwargs): - if isinstance(kwargs, list) or isinstance(kwargs, tuple): - print(color + " ".join(kwargs)) - else: - print(color + kwargs) - - -def _print_green(*kwargs): - _print_color(Fore.GREEN, *kwargs) - - -def _print_magenta(*kwargs): - _print_color(Fore.MAGENTA, *kwargs) - - -def _print_red(*kwargs): - _print_color(Fore.RED, *kwargs) - - -def main(): - # Override these environment variables to buildah and podman - # in order to establish the right tools to use here. - builder = os.environ.get("BUILDER", "docker") - creator = os.environ.get("CREATOR", "docker") - - os.environ["TERM"] = "xterm" # to have colors in the child (pty spawned) processes - local_sha256, local_sha256_set = local_image_sha256_unchecked(creator=creator) - ci_target_sha256 = ci_config_declared_image_digest() - if ci_target_sha256.startswith("sha256:"): - docker_pull(ci_target_sha256, creator=creator) - if not ci_target_sha256.startswith("sha256:") or ci_target_sha256 not in local_sha256_set: - _print_magenta("ci_target_sha256 '%s' not in local_sha256 '%s'" % (ci_target_sha256, local_sha256_set)) - docker_build_image(cache_image=f"{IMAGE}@{ci_target_sha256}", builder=builder) - docker_push() - local_sha256, _ = local_image_sha256_unchecked(creator=creator) - patch_ci_config_image_sha256(local_sha256) - repo_changes_push() - sys.exit(0) - - _print_green("ci_target_sha256 '%s' in local_sha256 '%s'" % (ci_target_sha256, local_sha256_set)) - _print_green("Checking if the 'docker' subdir in the repo changed from the one in the image") - - container_id = subprocess.check_output([creator, "create", f"{IMAGE}@{ci_target_sha256}"]).decode("utf8").strip() - LOCAL_COPY_OF_IMAGE_SUBDIRS = pathlib.Path("target/check_docker_image_change") - shutil.rmtree(LOCAL_COPY_OF_IMAGE_SUBDIRS, ignore_errors=True) - LOCAL_COPY_OF_IMAGE_SUBDIR_DOCKER = LOCAL_COPY_OF_IMAGE_SUBDIRS / "docker" - LOCAL_COPY_OF_IMAGE_SUBDIR_DOCKER.mkdir(parents=True, exist_ok=True) - file_deps = ["Pipfile", "Pipfile.lock", "/opt/pyenv/pyproject.toml", "/opt/pyenv/poetry.lock"] - for f in file_deps: - p = subprocess.run([creator, "cp", f"{container_id}:{f}", LOCAL_COPY_OF_IMAGE_SUBDIRS], check=False) - if p.returncode not in [0, 125, 1]: # 125 = ENOENT in Buildah, 1 = ENOENT in Docker. - p.check_returncode() - subprocess.check_call([creator, "cp", f"{container_id}:docker", LOCAL_COPY_OF_IMAGE_SUBDIRS]) - subprocess.check_call([creator, "rm", container_id]) - - if _are_dirs_identical("docker", LOCAL_COPY_OF_IMAGE_SUBDIR_DOCKER) and _are_files_identical( - file_deps, LOCAL_COPY_OF_IMAGE_SUBDIRS - ): - _print_green("Docker image dependencies unchanged in the image. Ending here.") - sys.exit(0) - - _print_magenta("Docker image dependencies changed, updating the docker image.") - - # Something changed in the docker config, recreate the image and push it - docker_build_image(cache_image=f"{IMAGE}@{ci_target_sha256}", builder=builder) - docker_push(creator=creator) - local_sha256, _ = local_image_sha256_unchecked() - patch_ci_config_image_sha256(local_sha256) - repo_changes_push() - - -if __name__ == "__main__": - main() diff --git a/docker/runner.Dockerfile b/docker/runner.Dockerfile index 9feed440d..0a0ba5958 100644 --- a/docker/runner.Dockerfile +++ b/docker/runner.Dockerfile @@ -32,18 +32,15 @@ RUN ln -s /usr/local/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1 && \ ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1 && \ rm -rf openssl -RUN mkdir python3.12 && \ - curl -o python3.12/Python-3.12.0.tar.xz -L https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz && \ - tar -xzvf python3.12/Python-3.12.0.tar.xz -C python3.12 && \ - cd python3.12/Python-3.12.0 && \ - ./configure --enable-optimizations && \ - make -j 8 && \ - make altinstall && \ - ln -s python3.12 /usr/local/bin/python && \ - ln -s pip3.12 /usr/local/bin/pip - -COPY requirements.txt . -RUN pip install -r requirements.txt + +ENV RYE_HOME="/opt/rye" +ENV PATH="$RYE_HOME/shims:$PATH" + +RUN curl -sSf https://rye.astral.sh/get | RYE_NO_AUTO_INSTALL=1 RYE_INSTALL_OPTION="--yes" bash + +COPY pyproject.toml requirements.lock requirements-dev.lock .python-version README.md ./ + +RUN rye sync --no-dev --no-lock # Runner user RUN adduser --disabled-password --gecos "" --uid $RUNNER_UID runner \ @@ -89,8 +86,10 @@ ENV HOME=/home/runner USER runner WORKDIR /home/runner +COPY rust-toolchain.toml /usr/src/rust-toolchain.toml + # Rust version should align with one in `rust-toolchain.toml` and `WORKSPACE.bazel` -RUN curl https://sh.rustup.rs -sSf | bash -s -- -y --default-toolchain 1.79.0-x86_64-unknown-linux-gnu -t x86_64-apple-darwin --no-update-default-toolchain +RUN curl https://sh.rustup.rs -sSf | bash -s -- -y --default-toolchain $(grep -oP '(?<=channel = ")[^"]+' /usr/src/rust-toolchain.toml)-x86_64-unknown-linux-gnu -t x86_64-apple-darwin --no-update-default-toolchain ENV PATH="/home/runner/.cargo/bin:$PATH" ENV PATH="$PATH:/home/runner/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/" diff --git a/docs/bazel/tips-and-tricks.md b/docs/bazel/tips-and-tricks.md index af751d242..037c7ac98 100644 --- a/docs/bazel/tips-and-tricks.md +++ b/docs/bazel/tips-and-tricks.md @@ -1,12 +1,4 @@ -??? tip "Refresh Python dependencies in Bazel" - - Steps: - - 1. `poetry add <dependency>` - 2. Run `./bin/poetry-export.sh` - 3. Use regular bazel operations, the new dependency should now be available - ??? tip "Local development and troubleshooting with OCI images" Steps: diff --git a/docs/contributing.md b/docs/contributing.md index ebcf3485e..62cd8d2cc 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -75,44 +75,45 @@ Note: if the list of dependencies above changes, update the [docker/Dockerfile] file accordingly, so CI stays in sync with local development environments. -#### poetry installation +#### Rye installation + +Rye is a comprehensive project and package management solution for Python. +Rye provides a unified experience to install and manages Python installations, +pyproject.toml based projects, dependencies and virtualenvs seamlessly. Run the following from the repo root: ```bash -# change into the directory of the repo -# cd ~/src/release -pyenv install # installs Python from .python-version -pip3 install poetry # installs poetry to your Python -poetry env use $(which python) # instructs poetry to use pyenv's Python -poetry install # installs all our dependencies -``` - -Follow the instructions onscreen. Once the install is done, -close and open your shell window, or run `bash` again. -When you change into the `release` directory (this repo), -typing `poetry env info` should show that the current -folder is associated with a 3.11-based virtualenv. - -You can see the full path to your virtualenv's Python interpreter -with the command `poetry env info -p`. This is the interpreter -you should use in your IDE and in day-to-day commands with regards -to the Python programs in this repo. To activate the use of -this interpreter on the shell: +curl -sSf https://rye.astral.sh/get | bash +``` + +Follow the instructions on screen. Once the install is done, +reopen your shell or run `source "$HOME/.rye/env"`. + +You can make sure all dependencies are installed by running + +```bash +rye sync +``` + +And you can enter the `venv` manually if needed by running `. .venv/bin/activate`. +This is typically not needed. + +It's sufficient to prefix any command with the following: ```bash -source "$(poetry env info -p)/bin/activate" +rye run <command> ``` +to run the `<command>` with all expected dependencies. + ### 3. Install pre-commit Install and enable pre-commit. It's highly recommended in order to prevent pushing code to github that will surely cause failures. ``` -# cd ~/src/release -# source "$(poetry env info -p)/bin/activate" -pip3 install --user pre-commit -pre-commit install +# cd ~/src/dre +rye run pre-commit install ``` More detailed instructions at https://pre-commit.com/#installation . diff --git a/docs/make-release.md b/docs/make-release.md index 449bd2c92..60fc311b5 100644 --- a/docs/make-release.md +++ b/docs/make-release.md @@ -1,9 +1,8 @@ # How to make a new release -You will need `poetry` installed on your system. After that, run -`poetry install` in the DRE repo folder to update your poetry setup -to have the necessary requirements to produce a new release. +You will need `rye` installed on your system (check the README if you don't have it). +After that, run `rye sync` in the DRE repo folder to install all dependencies. Go to the repo root, and check that you don't have any dirty changes and that you are on the main branch. @@ -18,14 +17,14 @@ If all looks okay, you can run the following convenience script to change the ve Example: ``` -❯ poetry run bin/mk-release.py 0.5.0 +❯ rye run bin/mk-release.py 0.5.0 INFO: Updating version from 0.4.3 to 0.5.0 Already up to date. INFO: Patching file pyproject.toml INFO: --- INFO: +++ INFO: @@ -1,6 +1,6 @@ -INFO: [tool.poetry] +INFO: [project] INFO: name = "dre-repo" INFO: -version = "0.4.3" INFO: +version = "0.5.0" @@ -80,7 +79,7 @@ Next, create and push the git tag to the repo, to trigger the release CI workflo git checkout main git pull git status -poetry run bin/mk-release.py --tag 0.5.0 +rye run bin/mk-release.py --tag 0.5.0 ``` Wait for the triggered [GH action to finish](https://github.com/dfinity/dre/actions). It will take some time because it's building binaries for x86 and for darwin. diff --git a/k8s/elastic-retention-enforcer/README.md b/k8s/elastic-retention-enforcer/README.md index 425b2ccc0..2124bcc0f 100644 --- a/k8s/elastic-retention-enforcer/README.md +++ b/k8s/elastic-retention-enforcer/README.md @@ -12,5 +12,5 @@ It is evaluated only if remaining indexes after the evaluation of age policy hav ### Example run ```bash -poetry run python retention.py <elastic-url> [--max-age <days>] [--max-disk-util <humanfriendly>] -``` \ No newline at end of file +rye run python retention.py <elastic-url> [--max-age <days>] [--max-disk-util <humanfriendly>] +``` diff --git a/k8s/elastic-template-creator/README.md b/k8s/elastic-template-creator/README.md index 0fab0c7ac..0bb65b758 100644 --- a/k8s/elastic-template-creator/README.md +++ b/k8s/elastic-template-creator/README.md @@ -4,5 +4,5 @@ Template creator for ElasticSearch which should create an index template for log ### Example run ```bash -poetry run python template-creator.py <elastic-url> [--index-pattern <pattern>] [--template-name <template-name>] [--shard-size-per-index <num-of-shards>] -``` \ No newline at end of file +rye run python template-creator.py <elastic-url> [--index-pattern <pattern>] [--template-name <template-name>] [--shard-size-per-index <num-of-shards>] +``` diff --git a/poetry.lock b/poetry.lock deleted file mode 100644 index c6588d969..000000000 --- a/poetry.lock +++ /dev/null @@ -1,6536 +0,0 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. - -[[package]] -name = "aiofiles" -version = "24.1.0" -description = "File support for asyncio." -optional = false -python-versions = ">=3.8" -files = [ - {file = "aiofiles-24.1.0-py3-none-any.whl", hash = "sha256:b4ec55f4195e3eb5d7abd1bf7e061763e864dd4954231fb8539a0ef8bb8260e5"}, - {file = "aiofiles-24.1.0.tar.gz", hash = "sha256:22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c"}, -] - -[[package]] -name = "aiohappyeyeballs" -version = "2.4.0" -description = "Happy Eyeballs for asyncio" -optional = false -python-versions = ">=3.8" -files = [ - {file = "aiohappyeyeballs-2.4.0-py3-none-any.whl", hash = "sha256:7ce92076e249169a13c2f49320d1967425eaf1f407522d707d59cac7628d62bd"}, - {file = "aiohappyeyeballs-2.4.0.tar.gz", hash = "sha256:55a1714f084e63d49639800f95716da97a1f173d46a16dfcfda0016abb93b6b2"}, -] - -[[package]] -name = "aiohttp" -version = "3.10.5" -description = "Async http client/server framework (asyncio)" -optional = false -python-versions = ">=3.8" -files = [ - {file = "aiohttp-3.10.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:18a01eba2574fb9edd5f6e5fb25f66e6ce061da5dab5db75e13fe1558142e0a3"}, - {file = "aiohttp-3.10.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:94fac7c6e77ccb1ca91e9eb4cb0ac0270b9fb9b289738654120ba8cebb1189c6"}, - {file = "aiohttp-3.10.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2f1f1c75c395991ce9c94d3e4aa96e5c59c8356a15b1c9231e783865e2772699"}, - {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f7acae3cf1a2a2361ec4c8e787eaaa86a94171d2417aae53c0cca6ca3118ff6"}, - {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:94c4381ffba9cc508b37d2e536b418d5ea9cfdc2848b9a7fea6aebad4ec6aac1"}, - {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c31ad0c0c507894e3eaa843415841995bf8de4d6b2d24c6e33099f4bc9fc0d4f"}, - {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0912b8a8fadeb32ff67a3ed44249448c20148397c1ed905d5dac185b4ca547bb"}, - {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d93400c18596b7dc4794d48a63fb361b01a0d8eb39f28800dc900c8fbdaca91"}, - {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d00f3c5e0d764a5c9aa5a62d99728c56d455310bcc288a79cab10157b3af426f"}, - {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:d742c36ed44f2798c8d3f4bc511f479b9ceef2b93f348671184139e7d708042c"}, - {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:814375093edae5f1cb31e3407997cf3eacefb9010f96df10d64829362ae2df69"}, - {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8224f98be68a84b19f48e0bdc14224b5a71339aff3a27df69989fa47d01296f3"}, - {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d9a487ef090aea982d748b1b0d74fe7c3950b109df967630a20584f9a99c0683"}, - {file = "aiohttp-3.10.5-cp310-cp310-win32.whl", hash = "sha256:d9ef084e3dc690ad50137cc05831c52b6ca428096e6deb3c43e95827f531d5ef"}, - {file = "aiohttp-3.10.5-cp310-cp310-win_amd64.whl", hash = "sha256:66bf9234e08fe561dccd62083bf67400bdbf1c67ba9efdc3dac03650e97c6088"}, - {file = "aiohttp-3.10.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8c6a4e5e40156d72a40241a25cc226051c0a8d816610097a8e8f517aeacd59a2"}, - {file = "aiohttp-3.10.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c634a3207a5445be65536d38c13791904fda0748b9eabf908d3fe86a52941cf"}, - {file = "aiohttp-3.10.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4aff049b5e629ef9b3e9e617fa6e2dfeda1bf87e01bcfecaf3949af9e210105e"}, - {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1942244f00baaacaa8155eca94dbd9e8cc7017deb69b75ef67c78e89fdad3c77"}, - {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e04a1f2a65ad2f93aa20f9ff9f1b672bf912413e5547f60749fa2ef8a644e061"}, - {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7f2bfc0032a00405d4af2ba27f3c429e851d04fad1e5ceee4080a1c570476697"}, - {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:424ae21498790e12eb759040bbb504e5e280cab64693d14775c54269fd1d2bb7"}, - {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:975218eee0e6d24eb336d0328c768ebc5d617609affaca5dbbd6dd1984f16ed0"}, - {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4120d7fefa1e2d8fb6f650b11489710091788de554e2b6f8347c7a20ceb003f5"}, - {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:b90078989ef3fc45cf9221d3859acd1108af7560c52397ff4ace8ad7052a132e"}, - {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ba5a8b74c2a8af7d862399cdedce1533642fa727def0b8c3e3e02fcb52dca1b1"}, - {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:02594361128f780eecc2a29939d9dfc870e17b45178a867bf61a11b2a4367277"}, - {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8fb4fc029e135859f533025bc82047334e24b0d489e75513144f25408ecaf058"}, - {file = "aiohttp-3.10.5-cp311-cp311-win32.whl", hash = "sha256:e1ca1ef5ba129718a8fc827b0867f6aa4e893c56eb00003b7367f8a733a9b072"}, - {file = "aiohttp-3.10.5-cp311-cp311-win_amd64.whl", hash = "sha256:349ef8a73a7c5665cca65c88ab24abe75447e28aa3bc4c93ea5093474dfdf0ff"}, - {file = "aiohttp-3.10.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:305be5ff2081fa1d283a76113b8df7a14c10d75602a38d9f012935df20731487"}, - {file = "aiohttp-3.10.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3a1c32a19ee6bbde02f1cb189e13a71b321256cc1d431196a9f824050b160d5a"}, - {file = "aiohttp-3.10.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:61645818edd40cc6f455b851277a21bf420ce347baa0b86eaa41d51ef58ba23d"}, - {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c225286f2b13bab5987425558baa5cbdb2bc925b2998038fa028245ef421e75"}, - {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ba01ebc6175e1e6b7275c907a3a36be48a2d487549b656aa90c8a910d9f3178"}, - {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8eaf44ccbc4e35762683078b72bf293f476561d8b68ec8a64f98cf32811c323e"}, - {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1c43eb1ab7cbf411b8e387dc169acb31f0ca0d8c09ba63f9eac67829585b44f"}, - {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de7a5299827253023c55ea549444e058c0eb496931fa05d693b95140a947cb73"}, - {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4790f0e15f00058f7599dab2b206d3049d7ac464dc2e5eae0e93fa18aee9e7bf"}, - {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:44b324a6b8376a23e6ba25d368726ee3bc281e6ab306db80b5819999c737d820"}, - {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0d277cfb304118079e7044aad0b76685d30ecb86f83a0711fc5fb257ffe832ca"}, - {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:54d9ddea424cd19d3ff6128601a4a4d23d54a421f9b4c0fff740505813739a91"}, - {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4f1c9866ccf48a6df2b06823e6ae80573529f2af3a0992ec4fe75b1a510df8a6"}, - {file = "aiohttp-3.10.5-cp312-cp312-win32.whl", hash = "sha256:dc4826823121783dccc0871e3f405417ac116055bf184ac04c36f98b75aacd12"}, - {file = "aiohttp-3.10.5-cp312-cp312-win_amd64.whl", hash = "sha256:22c0a23a3b3138a6bf76fc553789cb1a703836da86b0f306b6f0dc1617398abc"}, - {file = "aiohttp-3.10.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7f6b639c36734eaa80a6c152a238242bedcee9b953f23bb887e9102976343092"}, - {file = "aiohttp-3.10.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f29930bc2921cef955ba39a3ff87d2c4398a0394ae217f41cb02d5c26c8b1b77"}, - {file = "aiohttp-3.10.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f489a2c9e6455d87eabf907ac0b7d230a9786be43fbe884ad184ddf9e9c1e385"}, - {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:123dd5b16b75b2962d0fff566effb7a065e33cd4538c1692fb31c3bda2bfb972"}, - {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b98e698dc34966e5976e10bbca6d26d6724e6bdea853c7c10162a3235aba6e16"}, - {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3b9162bab7e42f21243effc822652dc5bb5e8ff42a4eb62fe7782bcbcdfacf6"}, - {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1923a5c44061bffd5eebeef58cecf68096e35003907d8201a4d0d6f6e387ccaa"}, - {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d55f011da0a843c3d3df2c2cf4e537b8070a419f891c930245f05d329c4b0689"}, - {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:afe16a84498441d05e9189a15900640a2d2b5e76cf4efe8cbb088ab4f112ee57"}, - {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:f8112fb501b1e0567a1251a2fd0747baae60a4ab325a871e975b7bb67e59221f"}, - {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:1e72589da4c90337837fdfe2026ae1952c0f4a6e793adbbfbdd40efed7c63599"}, - {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:4d46c7b4173415d8e583045fbc4daa48b40e31b19ce595b8d92cf639396c15d5"}, - {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:33e6bc4bab477c772a541f76cd91e11ccb6d2efa2b8d7d7883591dfb523e5987"}, - {file = "aiohttp-3.10.5-cp313-cp313-win32.whl", hash = "sha256:c58c6837a2c2a7cf3133983e64173aec11f9c2cd8e87ec2fdc16ce727bcf1a04"}, - {file = "aiohttp-3.10.5-cp313-cp313-win_amd64.whl", hash = "sha256:38172a70005252b6893088c0f5e8a47d173df7cc2b2bd88650957eb84fcf5022"}, - {file = "aiohttp-3.10.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f6f18898ace4bcd2d41a122916475344a87f1dfdec626ecde9ee802a711bc569"}, - {file = "aiohttp-3.10.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5ede29d91a40ba22ac1b922ef510aab871652f6c88ef60b9dcdf773c6d32ad7a"}, - {file = "aiohttp-3.10.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:673f988370f5954df96cc31fd99c7312a3af0a97f09e407399f61583f30da9bc"}, - {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58718e181c56a3c02d25b09d4115eb02aafe1a732ce5714ab70326d9776457c3"}, - {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b38b1570242fbab8d86a84128fb5b5234a2f70c2e32f3070143a6d94bc854cf"}, - {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:074d1bff0163e107e97bd48cad9f928fa5a3eb4b9d33366137ffce08a63e37fe"}, - {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd31f176429cecbc1ba499d4aba31aaccfea488f418d60376b911269d3b883c5"}, - {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7384d0b87d4635ec38db9263e6a3f1eb609e2e06087f0aa7f63b76833737b471"}, - {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8989f46f3d7ef79585e98fa991e6ded55d2f48ae56d2c9fa5e491a6e4effb589"}, - {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:c83f7a107abb89a227d6c454c613e7606c12a42b9a4ca9c5d7dad25d47c776ae"}, - {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:cde98f323d6bf161041e7627a5fd763f9fd829bcfcd089804a5fdce7bb6e1b7d"}, - {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:676f94c5480d8eefd97c0c7e3953315e4d8c2b71f3b49539beb2aa676c58272f"}, - {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:2d21ac12dc943c68135ff858c3a989f2194a709e6e10b4c8977d7fcd67dfd511"}, - {file = "aiohttp-3.10.5-cp38-cp38-win32.whl", hash = "sha256:17e997105bd1a260850272bfb50e2a328e029c941c2708170d9d978d5a30ad9a"}, - {file = "aiohttp-3.10.5-cp38-cp38-win_amd64.whl", hash = "sha256:1c19de68896747a2aa6257ae4cf6ef59d73917a36a35ee9d0a6f48cff0f94db8"}, - {file = "aiohttp-3.10.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7e2fe37ac654032db1f3499fe56e77190282534810e2a8e833141a021faaab0e"}, - {file = "aiohttp-3.10.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f5bf3ead3cb66ab990ee2561373b009db5bc0e857549b6c9ba84b20bc462e172"}, - {file = "aiohttp-3.10.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1b2c16a919d936ca87a3c5f0e43af12a89a3ce7ccbce59a2d6784caba945b68b"}, - {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad146dae5977c4dd435eb31373b3fe9b0b1bf26858c6fc452bf6af394067e10b"}, - {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8c5c6fa16412b35999320f5c9690c0f554392dc222c04e559217e0f9ae244b92"}, - {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:95c4dc6f61d610bc0ee1edc6f29d993f10febfe5b76bb470b486d90bbece6b22"}, - {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da452c2c322e9ce0cfef392e469a26d63d42860f829026a63374fde6b5c5876f"}, - {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:898715cf566ec2869d5cb4d5fb4be408964704c46c96b4be267442d265390f32"}, - {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:391cc3a9c1527e424c6865e087897e766a917f15dddb360174a70467572ac6ce"}, - {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:380f926b51b92d02a34119d072f178d80bbda334d1a7e10fa22d467a66e494db"}, - {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce91db90dbf37bb6fa0997f26574107e1b9d5ff939315247b7e615baa8ec313b"}, - {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9093a81e18c45227eebe4c16124ebf3e0d893830c6aca7cc310bfca8fe59d857"}, - {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ee40b40aa753d844162dcc80d0fe256b87cba48ca0054f64e68000453caead11"}, - {file = "aiohttp-3.10.5-cp39-cp39-win32.whl", hash = "sha256:03f2645adbe17f274444953bdea69f8327e9d278d961d85657cb0d06864814c1"}, - {file = "aiohttp-3.10.5-cp39-cp39-win_amd64.whl", hash = "sha256:d17920f18e6ee090bdd3d0bfffd769d9f2cb4c8ffde3eb203777a3895c128862"}, - {file = "aiohttp-3.10.5.tar.gz", hash = "sha256:f071854b47d39591ce9a17981c46790acb30518e2f83dfca8db2dfa091178691"}, -] - -[package.dependencies] -aiohappyeyeballs = ">=2.3.0" -aiosignal = ">=1.1.2" -async-timeout = {version = ">=4.0,<5.0", markers = "python_version < \"3.11\""} -attrs = ">=17.3.0" -frozenlist = ">=1.1.1" -multidict = ">=4.5,<7.0" -yarl = ">=1.0,<2.0" - -[package.extras] -speedups = ["Brotli", "aiodns (>=3.2.0)", "brotlicffi"] - -[[package]] -name = "aiosignal" -version = "1.3.1" -description = "aiosignal: a list of registered asynchronous callbacks" -optional = false -python-versions = ">=3.7" -files = [ - {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, - {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, -] - -[package.dependencies] -frozenlist = ">=1.1.0" - -[[package]] -name = "annotated-types" -version = "0.7.0" -description = "Reusable constraint types to use with typing.Annotated" -optional = false -python-versions = ">=3.8" -files = [ - {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, - {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, -] - -[[package]] -name = "antlr4-python3-runtime" -version = "4.9.3" -description = "ANTLR 4.9.3 runtime for Python 3.7" -optional = false -python-versions = "*" -files = [ - {file = "antlr4-python3-runtime-4.9.3.tar.gz", hash = "sha256:f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b"}, -] - -[[package]] -name = "anyio" -version = "4.4.0" -description = "High level compatibility layer for multiple asynchronous event loop implementations" -optional = false -python-versions = ">=3.8" -files = [ - {file = "anyio-4.4.0-py3-none-any.whl", hash = "sha256:c1b2d8f46a8a812513012e1107cb0e68c17159a7a594208005a57dc776e1bdc7"}, - {file = "anyio-4.4.0.tar.gz", hash = "sha256:5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94"}, -] - -[package.dependencies] -exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} -idna = ">=2.8" -sniffio = ">=1.1" -typing-extensions = {version = ">=4.1", markers = "python_version < \"3.11\""} - -[package.extras] -doc = ["Sphinx (>=7)", "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)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] -trio = ["trio (>=0.23)"] - -[[package]] -name = "appdirs" -version = "1.4.4" -description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -optional = false -python-versions = "*" -files = [ - {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"}, - {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"}, -] - -[[package]] -name = "appnope" -version = "0.1.4" -description = "Disable App Nap on macOS >= 10.9" -optional = false -python-versions = ">=3.6" -files = [ - {file = "appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c"}, - {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"}, -] - -[[package]] -name = "argcomplete" -version = "3.5.0" -description = "Bash tab completion for argparse" -optional = false -python-versions = ">=3.8" -files = [ - {file = "argcomplete-3.5.0-py3-none-any.whl", hash = "sha256:d4bcf3ff544f51e16e54228a7ac7f486ed70ebf2ecfe49a63a91171c76bf029b"}, - {file = "argcomplete-3.5.0.tar.gz", hash = "sha256:4349400469dccfb7950bb60334a680c58d88699bff6159df61251878dc6bf74b"}, -] - -[package.extras] -test = ["coverage", "mypy", "pexpect", "ruff", "wheel"] - -[[package]] -name = "argon2-cffi" -version = "23.1.0" -description = "Argon2 for Python" -optional = false -python-versions = ">=3.7" -files = [ - {file = "argon2_cffi-23.1.0-py3-none-any.whl", hash = "sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea"}, - {file = "argon2_cffi-23.1.0.tar.gz", hash = "sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08"}, -] - -[package.dependencies] -argon2-cffi-bindings = "*" - -[package.extras] -dev = ["argon2-cffi[tests,typing]", "tox (>4)"] -docs = ["furo", "myst-parser", "sphinx", "sphinx-copybutton", "sphinx-notfound-page"] -tests = ["hypothesis", "pytest"] -typing = ["mypy"] - -[[package]] -name = "argon2-cffi-bindings" -version = "21.2.0" -description = "Low-level CFFI bindings for Argon2" -optional = false -python-versions = ">=3.6" -files = [ - {file = "argon2-cffi-bindings-21.2.0.tar.gz", hash = "sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_i686.whl", hash = "sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win32.whl", hash = "sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082"}, - {file = "argon2_cffi_bindings-21.2.0-cp36-abi3-win_amd64.whl", hash = "sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f"}, - {file = "argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93"}, - {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3e385d1c39c520c08b53d63300c3ecc28622f076f4c2b0e6d7e796e9f6502194"}, - {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c3e3cc67fdb7d82c4718f19b4e7a87123caf8a93fde7e23cf66ac0337d3cb3f"}, - {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a22ad9800121b71099d0fb0a65323810a15f2e292f2ba450810a7316e128ee5"}, - {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f9f8b450ed0547e3d473fdc8612083fd08dd2120d6ac8f73828df9b7d45bb351"}, - {file = "argon2_cffi_bindings-21.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:93f9bf70084f97245ba10ee36575f0c3f1e7d7724d67d8e5b08e61787c320ed7"}, - {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583"}, - {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d"}, - {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670"}, - {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb"}, - {file = "argon2_cffi_bindings-21.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a"}, -] - -[package.dependencies] -cffi = ">=1.0.1" - -[package.extras] -dev = ["cogapp", "pre-commit", "pytest", "wheel"] -tests = ["pytest"] - -[[package]] -name = "arrow" -version = "1.3.0" -description = "Better dates & times for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80"}, - {file = "arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85"}, -] - -[package.dependencies] -python-dateutil = ">=2.7.0" -types-python-dateutil = ">=2.8.10" - -[package.extras] -doc = ["doc8", "sphinx (>=7.0.0)", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx_rtd_theme (>=1.3.0)"] -test = ["dateparser (==1.*)", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytz (==2021.1)", "simplejson (==3.*)"] - -[[package]] -name = "astroid" -version = "3.2.4" -description = "An abstract syntax tree for Python with inference support." -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "astroid-3.2.4-py3-none-any.whl", hash = "sha256:413658a61eeca6202a59231abb473f932038fbcbf1666587f66d482083413a25"}, - {file = "astroid-3.2.4.tar.gz", hash = "sha256:0e14202810b30da1b735827f78f5157be2bbd4a7a59b7707ca0bfc2fb4c0063a"}, -] - -[package.dependencies] -typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} - -[[package]] -name = "asttokens" -version = "2.4.1" -description = "Annotate AST trees with source code positions" -optional = false -python-versions = "*" -files = [ - {file = "asttokens-2.4.1-py2.py3-none-any.whl", hash = "sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24"}, - {file = "asttokens-2.4.1.tar.gz", hash = "sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0"}, -] - -[package.dependencies] -six = ">=1.12.0" - -[package.extras] -astroid = ["astroid (>=1,<2)", "astroid (>=2,<4)"] -test = ["astroid (>=1,<2)", "astroid (>=2,<4)", "pytest"] - -[[package]] -name = "async-lru" -version = "2.0.4" -description = "Simple LRU cache for asyncio" -optional = false -python-versions = ">=3.8" -files = [ - {file = "async-lru-2.0.4.tar.gz", hash = "sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627"}, - {file = "async_lru-2.0.4-py3-none-any.whl", hash = "sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224"}, -] - -[package.dependencies] -typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} - -[[package]] -name = "async-timeout" -version = "4.0.3" -description = "Timeout context manager for asyncio programs" -optional = false -python-versions = ">=3.7" -files = [ - {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, - {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, -] - -[[package]] -name = "atlassian-python-api" -version = "3.41.15" -description = "Python Atlassian REST API Wrapper" -optional = false -python-versions = "*" -files = [ - {file = "atlassian_python_api-3.41.15-py3-none-any.whl", hash = "sha256:1c271ca9b1688acdaef09ad6f763570868a381394530d1fba49b5b104fffe54a"}, - {file = "atlassian_python_api-3.41.15.tar.gz", hash = "sha256:3c852f38ad8645887fbfe1526c12f2c1951ba06a24a1bbb36bdf7ccdc6d7b1ac"}, -] - -[package.dependencies] -beautifulsoup4 = "*" -deprecated = "*" -jmespath = "*" -oauthlib = "*" -requests = "*" -requests-oauthlib = "*" -six = "*" - -[package.extras] -kerberos = ["requests-kerberos"] - -[[package]] -name = "attrs" -version = "24.2.0" -description = "Classes Without Boilerplate" -optional = false -python-versions = ">=3.7" -files = [ - {file = "attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2"}, - {file = "attrs-24.2.0.tar.gz", hash = "sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346"}, -] - -[package.extras] -benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] -tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] - -[[package]] -name = "babel" -version = "2.16.0" -description = "Internationalization utilities" -optional = false -python-versions = ">=3.8" -files = [ - {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"}, - {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, -] - -[package.extras] -dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] - -[[package]] -name = "bcrypt" -version = "4.2.0" -description = "Modern password hashing for your software and your servers" -optional = false -python-versions = ">=3.7" -files = [ - {file = "bcrypt-4.2.0-cp37-abi3-macosx_10_12_universal2.whl", hash = "sha256:096a15d26ed6ce37a14c1ac1e48119660f21b24cba457f160a4b830f3fe6b5cb"}, - {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c02d944ca89d9b1922ceb8a46460dd17df1ba37ab66feac4870f6862a1533c00"}, - {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d84cf6d877918620b687b8fd1bf7781d11e8a0998f576c7aa939776b512b98d"}, - {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:1bb429fedbe0249465cdd85a58e8376f31bb315e484f16e68ca4c786dcc04291"}, - {file = "bcrypt-4.2.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:655ea221910bcac76ea08aaa76df427ef8625f92e55a8ee44fbf7753dbabb328"}, - {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:1ee38e858bf5d0287c39b7a1fc59eec64bbf880c7d504d3a06a96c16e14058e7"}, - {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:0da52759f7f30e83f1e30a888d9163a81353ef224d82dc58eb5bb52efcabc399"}, - {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:3698393a1b1f1fd5714524193849d0c6d524d33523acca37cd28f02899285060"}, - {file = "bcrypt-4.2.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:762a2c5fb35f89606a9fde5e51392dad0cd1ab7ae64149a8b935fe8d79dd5ed7"}, - {file = "bcrypt-4.2.0-cp37-abi3-win32.whl", hash = "sha256:5a1e8aa9b28ae28020a3ac4b053117fb51c57a010b9f969603ed885f23841458"}, - {file = "bcrypt-4.2.0-cp37-abi3-win_amd64.whl", hash = "sha256:8f6ede91359e5df88d1f5c1ef47428a4420136f3ce97763e31b86dd8280fbdf5"}, - {file = "bcrypt-4.2.0-cp39-abi3-macosx_10_12_universal2.whl", hash = "sha256:c52aac18ea1f4a4f65963ea4f9530c306b56ccd0c6f8c8da0c06976e34a6e841"}, - {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3bbbfb2734f0e4f37c5136130405332640a1e46e6b23e000eeff2ba8d005da68"}, - {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3413bd60460f76097ee2e0a493ccebe4a7601918219c02f503984f0a7ee0aebe"}, - {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:8d7bb9c42801035e61c109c345a28ed7e84426ae4865511eb82e913df18f58c2"}, - {file = "bcrypt-4.2.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3d3a6d28cb2305b43feac298774b997e372e56c7c7afd90a12b3dc49b189151c"}, - {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:9c1c4ad86351339c5f320ca372dfba6cb6beb25e8efc659bedd918d921956bae"}, - {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:27fe0f57bb5573104b5a6de5e4153c60814c711b29364c10a75a54bb6d7ff48d"}, - {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:8ac68872c82f1add6a20bd489870c71b00ebacd2e9134a8aa3f98a0052ab4b0e"}, - {file = "bcrypt-4.2.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:cb2a8ec2bc07d3553ccebf0746bbf3d19426d1c6d1adbd4fa48925f66af7b9e8"}, - {file = "bcrypt-4.2.0-cp39-abi3-win32.whl", hash = "sha256:77800b7147c9dc905db1cba26abe31e504d8247ac73580b4aa179f98e6608f34"}, - {file = "bcrypt-4.2.0-cp39-abi3-win_amd64.whl", hash = "sha256:61ed14326ee023917ecd093ee6ef422a72f3aec6f07e21ea5f10622b735538a9"}, - {file = "bcrypt-4.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:39e1d30c7233cfc54f5c3f2c825156fe044efdd3e0b9d309512cc514a263ec2a"}, - {file = "bcrypt-4.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f4f4acf526fcd1c34e7ce851147deedd4e26e6402369304220250598b26448db"}, - {file = "bcrypt-4.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:1ff39b78a52cf03fdf902635e4c81e544714861ba3f0efc56558979dd4f09170"}, - {file = "bcrypt-4.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:373db9abe198e8e2c70d12b479464e0d5092cc122b20ec504097b5f2297ed184"}, - {file = "bcrypt-4.2.0.tar.gz", hash = "sha256:cf69eaf5185fd58f268f805b505ce31f9b9fc2d64b376642164e9244540c1221"}, -] - -[package.extras] -tests = ["pytest (>=3.2.1,!=3.3.0)"] -typecheck = ["mypy"] - -[[package]] -name = "beautifulsoup4" -version = "4.12.3" -description = "Screen-scraping library" -optional = false -python-versions = ">=3.6.0" -files = [ - {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, - {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, -] - -[package.dependencies] -soupsieve = ">1.2" - -[package.extras] -cchardet = ["cchardet"] -chardet = ["chardet"] -charset-normalizer = ["charset-normalizer"] -html5lib = ["html5lib"] -lxml = ["lxml"] - -[[package]] -name = "black" -version = "24.8.0" -description = "The uncompromising code formatter." -optional = false -python-versions = ">=3.8" -files = [ - {file = "black-24.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:09cdeb74d494ec023ded657f7092ba518e8cf78fa8386155e4a03fdcc44679e6"}, - {file = "black-24.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:81c6742da39f33b08e791da38410f32e27d632260e599df7245cccee2064afeb"}, - {file = "black-24.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:707a1ca89221bc8a1a64fb5e15ef39cd755633daa672a9db7498d1c19de66a42"}, - {file = "black-24.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:d6417535d99c37cee4091a2f24eb2b6d5ec42b144d50f1f2e436d9fe1916fe1a"}, - {file = "black-24.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fb6e2c0b86bbd43dee042e48059c9ad7830abd5c94b0bc518c0eeec57c3eddc1"}, - {file = "black-24.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:837fd281f1908d0076844bc2b801ad2d369c78c45cf800cad7b61686051041af"}, - {file = "black-24.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:62e8730977f0b77998029da7971fa896ceefa2c4c4933fcd593fa599ecbf97a4"}, - {file = "black-24.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:72901b4913cbac8972ad911dc4098d5753704d1f3c56e44ae8dce99eecb0e3af"}, - {file = "black-24.8.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:7c046c1d1eeb7aea9335da62472481d3bbf3fd986e093cffd35f4385c94ae368"}, - {file = "black-24.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:649f6d84ccbae73ab767e206772cc2d7a393a001070a4c814a546afd0d423aed"}, - {file = "black-24.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2b59b250fdba5f9a9cd9d0ece6e6d993d91ce877d121d161e4698af3eb9c1018"}, - {file = "black-24.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:6e55d30d44bed36593c3163b9bc63bf58b3b30e4611e4d88a0c3c239930ed5b2"}, - {file = "black-24.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:505289f17ceda596658ae81b61ebbe2d9b25aa78067035184ed0a9d855d18afd"}, - {file = "black-24.8.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b19c9ad992c7883ad84c9b22aaa73562a16b819c1d8db7a1a1a49fb7ec13c7d2"}, - {file = "black-24.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1f13f7f386f86f8121d76599114bb8c17b69d962137fc70efe56137727c7047e"}, - {file = "black-24.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:f490dbd59680d809ca31efdae20e634f3fae27fba3ce0ba3208333b713bc3920"}, - {file = "black-24.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eab4dd44ce80dea27dc69db40dab62d4ca96112f87996bca68cd75639aeb2e4c"}, - {file = "black-24.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3c4285573d4897a7610054af5a890bde7c65cb466040c5f0c8b732812d7f0e5e"}, - {file = "black-24.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e84e33b37be070ba135176c123ae52a51f82306def9f7d063ee302ecab2cf47"}, - {file = "black-24.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:73bbf84ed136e45d451a260c6b73ed674652f90a2b3211d6a35e78054563a9bb"}, - {file = "black-24.8.0-py3-none-any.whl", hash = "sha256:972085c618ee94f402da1af548a4f218c754ea7e5dc70acb168bfaca4c2542ed"}, - {file = "black-24.8.0.tar.gz", hash = "sha256:2500945420b6784c38b9ee885af039f5e7471ef284ab03fa35ecdde4688cd83f"}, -] - -[package.dependencies] -click = ">=8.0.0" -mypy-extensions = ">=0.4.3" -packaging = ">=22.0" -pathspec = ">=0.9.0" -platformdirs = ">=2" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} - -[package.extras] -colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] -jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] -uvloop = ["uvloop (>=0.15.2)"] - -[[package]] -name = "bleach" -version = "6.1.0" -description = "An easy safelist-based HTML-sanitizing tool." -optional = false -python-versions = ">=3.8" -files = [ - {file = "bleach-6.1.0-py3-none-any.whl", hash = "sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6"}, - {file = "bleach-6.1.0.tar.gz", hash = "sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe"}, -] - -[package.dependencies] -six = ">=1.9.0" -webencodings = "*" - -[package.extras] -css = ["tinycss2 (>=1.1.0,<1.3)"] - -[[package]] -name = "blinker" -version = "1.8.2" -description = "Fast, simple object-to-object and broadcast signaling" -optional = false -python-versions = ">=3.8" -files = [ - {file = "blinker-1.8.2-py3-none-any.whl", hash = "sha256:1779309f71bf239144b9399d06ae925637cf6634cf6bd131104184531bf67c01"}, - {file = "blinker-1.8.2.tar.gz", hash = "sha256:8f77b09d3bf7c795e969e9486f39c2c5e9c39d4ee07424be2bc594ece9642d83"}, -] - -[[package]] -name = "build" -version = "1.2.1" -description = "A simple, correct Python build frontend" -optional = false -python-versions = ">=3.8" -files = [ - {file = "build-1.2.1-py3-none-any.whl", hash = "sha256:75e10f767a433d9a86e50d83f418e83efc18ede923ee5ff7df93b6cb0306c5d4"}, - {file = "build-1.2.1.tar.gz", hash = "sha256:526263f4870c26f26c433545579475377b2b7588b6f1eac76a001e873ae3e19d"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "os_name == \"nt\""} -importlib-metadata = {version = ">=4.6", markers = "python_full_version < \"3.10.2\""} -packaging = ">=19.1" -pyproject_hooks = "*" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} - -[package.extras] -docs = ["furo (>=2023.08.17)", "sphinx (>=7.0,<8.0)", "sphinx-argparse-cli (>=1.5)", "sphinx-autodoc-typehints (>=1.10)", "sphinx-issues (>=3.0.0)"] -test = ["build[uv,virtualenv]", "filelock (>=3)", "pytest (>=6.2.4)", "pytest-cov (>=2.12)", "pytest-mock (>=2)", "pytest-rerunfailures (>=9.1)", "pytest-xdist (>=1.34)", "setuptools (>=42.0.0)", "setuptools (>=56.0.0)", "setuptools (>=56.0.0)", "setuptools (>=67.8.0)", "wheel (>=0.36.0)"] -typing = ["build[uv]", "importlib-metadata (>=5.1)", "mypy (>=1.9.0,<1.10.0)", "tomli", "typing-extensions (>=3.7.4.3)"] -uv = ["uv (>=0.1.18)"] -virtualenv = ["virtualenv (>=20.0.35)"] - -[[package]] -name = "cachecontrol" -version = "0.14.0" -description = "httplib2 caching for requests" -optional = false -python-versions = ">=3.7" -files = [ - {file = "cachecontrol-0.14.0-py3-none-any.whl", hash = "sha256:f5bf3f0620c38db2e5122c0726bdebb0d16869de966ea6a2befe92470b740ea0"}, - {file = "cachecontrol-0.14.0.tar.gz", hash = "sha256:7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938"}, -] - -[package.dependencies] -filelock = {version = ">=3.8.0", optional = true, markers = "extra == \"filecache\""} -msgpack = ">=0.5.2,<2.0.0" -requests = ">=2.16.0" - -[package.extras] -dev = ["CacheControl[filecache,redis]", "black", "build", "cherrypy", "furo", "mypy", "pytest", "pytest-cov", "sphinx", "sphinx-copybutton", "tox", "types-redis", "types-requests"] -filecache = ["filelock (>=3.8.0)"] -redis = ["redis (>=2.10.5)"] - -[[package]] -name = "cachetools" -version = "5.5.0" -description = "Extensible memoizing collections and decorators" -optional = false -python-versions = ">=3.7" -files = [ - {file = "cachetools-5.5.0-py3-none-any.whl", hash = "sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292"}, - {file = "cachetools-5.5.0.tar.gz", hash = "sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a"}, -] - -[[package]] -name = "cbor2" -version = "5.6.4" -description = "CBOR (de)serializer with extensive tag support" -optional = false -python-versions = ">=3.8" -files = [ - {file = "cbor2-5.6.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c40c68779a363f47a11ded7b189ba16767391d5eae27fac289e7f62b730ae1fc"}, - {file = "cbor2-5.6.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c0625c8d3c487e509458459de99bf052f62eb5d773cc9fc141c6a6ea9367726d"}, - {file = "cbor2-5.6.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:de7137622204168c3a57882f15dd09b5135bda2bcb1cf8b56b58d26b5150dfca"}, - {file = "cbor2-5.6.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3545e1e62ec48944b81da2c0e0a736ca98b9e4653c2365cae2f10ae871e9113"}, - {file = "cbor2-5.6.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d6749913cd00a24eba17406a0bfc872044036c30a37eb2fcde7acfd975317e8a"}, - {file = "cbor2-5.6.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:57db966ab08443ee54b6f154f72021a41bfecd4ba897fe108728183ad8784a2a"}, - {file = "cbor2-5.6.4-cp310-cp310-win_amd64.whl", hash = "sha256:380e0c7f4db574dcd86e6eee1b0041863b0aae7efd449d49b0b784cf9a481b9b"}, - {file = "cbor2-5.6.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5c763d50a1714e0356b90ad39194fc8ef319356b89fb001667a2e836bfde88e3"}, - {file = "cbor2-5.6.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:58a7ac8861857a9f9b0de320a4808a2a5f68a2599b4c14863e2748d5a4686c99"}, - {file = "cbor2-5.6.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7d715b2f101730335e84a25fe0893e2b6adf049d6d44da123bf243b8c875ffd8"}, - {file = "cbor2-5.6.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f53a67600038cb9668720b309fdfafa8c16d1a02570b96d2144d58d66774318"}, - {file = "cbor2-5.6.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f898bab20c4f42dca3688c673ff97c2f719b1811090430173c94452603fbcf13"}, - {file = "cbor2-5.6.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5e5d50fb9f47d295c1b7f55592111350424283aff4cc88766c656aad0300f11f"}, - {file = "cbor2-5.6.4-cp311-cp311-win_amd64.whl", hash = "sha256:7f9d867dcd814ab8383ad132eb4063e2b69f6a9f688797b7a8ca34a4eadb3944"}, - {file = "cbor2-5.6.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e0860ca88edf8aaec5461ce0e498eb5318f1bcc70d93f90091b7a1f1d351a167"}, - {file = "cbor2-5.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c38a0ed495a63a8bef6400158746a9cb03c36f89aeed699be7ffebf82720bf86"}, - {file = "cbor2-5.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0c8d8c2f208c223a61bed48dfd0661694b891e423094ed30bac2ed75032142aa"}, - {file = "cbor2-5.6.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24cd2ce6136e1985da989e5ba572521023a320dcefad5d1fff57fba261de80ca"}, - {file = "cbor2-5.6.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7facce04aed2bf69ef43bdffb725446fe243594c2451921e89cc305bede16f02"}, - {file = "cbor2-5.6.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f9c8ee0d89411e5e039a4f3419befe8b43c0dd8746eedc979e73f4c06fe0ef97"}, - {file = "cbor2-5.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:9b45d554daa540e2f29f1747df9f08f8d98ade65a67b1911791bc193d33a5923"}, - {file = "cbor2-5.6.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0a5cb2c16687ccd76b38cfbfdb34468ab7d5635fb92c9dc5e07831c1816bd0a9"}, - {file = "cbor2-5.6.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6f985f531f7495527153c4f66c8c143e4cf8a658ec9e87b14bc5438e0a8d0911"}, - {file = "cbor2-5.6.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9d9c7b4bd7c3ea7e5587d4f1bbe073b81719530ddadb999b184074f064896e2"}, - {file = "cbor2-5.6.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64d06184dcdc275c389fee3cd0ea80b5e1769763df15f93ecd0bf4c281817365"}, - {file = "cbor2-5.6.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:e9ba7116f201860fb4c3e80ef36be63851ec7e4a18af70fea22d09cab0b000bf"}, - {file = "cbor2-5.6.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:341468ae58bdedaa05c907ab16e90dd0d5c54d7d1e66698dfacdbc16a31e815b"}, - {file = "cbor2-5.6.4-cp38-cp38-win_amd64.whl", hash = "sha256:bcb4994be1afcc81f9167c220645d878b608cae92e19f6706e770f9bc7bbff6c"}, - {file = "cbor2-5.6.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:41c43abffe217dce70ae51c7086530687670a0995dfc90cc35f32f2cf4d86392"}, - {file = "cbor2-5.6.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:227a7e68ba378fe53741ed892b5b03fe472b5bd23ef26230a71964accebf50a2"}, - {file = "cbor2-5.6.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:13521b7c9a0551fcc812d36afd03fc554fa4e1b193659bb5d4d521889aa81154"}, - {file = "cbor2-5.6.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f4816d290535d20c7b7e2663b76da5b0deb4237b90275c202c26343d8852b8a"}, - {file = "cbor2-5.6.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1e98d370106821335efcc8fbe4136ea26b4747bf29ca0e66512b6c4f6f5cc59f"}, - {file = "cbor2-5.6.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:68743a18e16167ff37654a29321f64f0441801dba68359c82dc48173cc6c87e1"}, - {file = "cbor2-5.6.4-cp39-cp39-win_amd64.whl", hash = "sha256:7ba5e9c6ed17526d266a1116c045c0941f710860c5f2495758df2e0d848c1b6d"}, - {file = "cbor2-5.6.4-py3-none-any.whl", hash = "sha256:fe411c4bf464f5976605103ebcd0f60b893ac3e4c7c8d8bc8f4a0cb456e33c60"}, - {file = "cbor2-5.6.4.tar.gz", hash = "sha256:1c533c50dde86bef1c6950602054a0ffa3c376e8b0e20c7b8f5b108793f6983e"}, -] - -[package.extras] -benchmarks = ["pytest-benchmark (==4.0.0)"] -doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme (>=1.3.0)", "typing-extensions"] -test = ["coverage (>=7)", "hypothesis", "pytest"] - -[[package]] -name = "certifi" -version = "2024.8.30" -description = "Python package for providing Mozilla's CA Bundle." -optional = false -python-versions = ">=3.6" -files = [ - {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, - {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, -] - -[[package]] -name = "cffi" -version = "1.17.0" -description = "Foreign Function Interface for Python calling C code." -optional = false -python-versions = ">=3.8" -files = [ - {file = "cffi-1.17.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f9338cc05451f1942d0d8203ec2c346c830f8e86469903d5126c1f0a13a2bcbb"}, - {file = "cffi-1.17.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a0ce71725cacc9ebf839630772b07eeec220cbb5f03be1399e0457a1464f8e1a"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c815270206f983309915a6844fe994b2fa47e5d05c4c4cef267c3b30e34dbe42"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6bdcd415ba87846fd317bee0774e412e8792832e7805938987e4ede1d13046d"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a98748ed1a1df4ee1d6f927e151ed6c1a09d5ec21684de879c7ea6aa96f58f2"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0a048d4f6630113e54bb4b77e315e1ba32a5a31512c31a273807d0027a7e69ab"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24aa705a5f5bd3a8bcfa4d123f03413de5d86e497435693b638cbffb7d5d8a1b"}, - {file = "cffi-1.17.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:856bf0924d24e7f93b8aee12a3a1095c34085600aa805693fb7f5d1962393206"}, - {file = "cffi-1.17.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:4304d4416ff032ed50ad6bb87416d802e67139e31c0bde4628f36a47a3164bfa"}, - {file = "cffi-1.17.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:331ad15c39c9fe9186ceaf87203a9ecf5ae0ba2538c9e898e3a6967e8ad3db6f"}, - {file = "cffi-1.17.0-cp310-cp310-win32.whl", hash = "sha256:669b29a9eca6146465cc574659058ed949748f0809a2582d1f1a324eb91054dc"}, - {file = "cffi-1.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:48b389b1fd5144603d61d752afd7167dfd205973a43151ae5045b35793232aa2"}, - {file = "cffi-1.17.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c5d97162c196ce54af6700949ddf9409e9833ef1003b4741c2b39ef46f1d9720"}, - {file = "cffi-1.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ba5c243f4004c750836f81606a9fcb7841f8874ad8f3bf204ff5e56332b72b9"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bb9333f58fc3a2296fb1d54576138d4cf5d496a2cc118422bd77835e6ae0b9cb"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:435a22d00ec7d7ea533db494da8581b05977f9c37338c80bc86314bec2619424"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d1df34588123fcc88c872f5acb6f74ae59e9d182a2707097f9e28275ec26a12d"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:df8bb0010fdd0a743b7542589223a2816bdde4d94bb5ad67884348fa2c1c67e8"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8b5b9712783415695663bd463990e2f00c6750562e6ad1d28e072a611c5f2a6"}, - {file = "cffi-1.17.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ffef8fd58a36fb5f1196919638f73dd3ae0db1a878982b27a9a5a176ede4ba91"}, - {file = "cffi-1.17.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4e67d26532bfd8b7f7c05d5a766d6f437b362c1bf203a3a5ce3593a645e870b8"}, - {file = "cffi-1.17.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45f7cd36186db767d803b1473b3c659d57a23b5fa491ad83c6d40f2af58e4dbb"}, - {file = "cffi-1.17.0-cp311-cp311-win32.whl", hash = "sha256:a9015f5b8af1bb6837a3fcb0cdf3b874fe3385ff6274e8b7925d81ccaec3c5c9"}, - {file = "cffi-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:b50aaac7d05c2c26dfd50c3321199f019ba76bb650e346a6ef3616306eed67b0"}, - {file = "cffi-1.17.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aec510255ce690d240f7cb23d7114f6b351c733a74c279a84def763660a2c3bc"}, - {file = "cffi-1.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2770bb0d5e3cc0e31e7318db06efcbcdb7b31bcb1a70086d3177692a02256f59"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:db9a30ec064129d605d0f1aedc93e00894b9334ec74ba9c6bdd08147434b33eb"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a47eef975d2b8b721775a0fa286f50eab535b9d56c70a6e62842134cf7841195"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f3e0992f23bbb0be00a921eae5363329253c3b86287db27092461c887b791e5e"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6107e445faf057c118d5050560695e46d272e5301feffda3c41849641222a828"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb862356ee9391dc5a0b3cbc00f416b48c1b9a52d252d898e5b7696a5f9fe150"}, - {file = "cffi-1.17.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c1c13185b90bbd3f8b5963cd8ce7ad4ff441924c31e23c975cb150e27c2bf67a"}, - {file = "cffi-1.17.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:17c6d6d3260c7f2d94f657e6872591fe8733872a86ed1345bda872cfc8c74885"}, - {file = "cffi-1.17.0-cp312-cp312-win32.whl", hash = "sha256:c3b8bd3133cd50f6b637bb4322822c94c5ce4bf0d724ed5ae70afce62187c492"}, - {file = "cffi-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:dca802c8db0720ce1c49cce1149ff7b06e91ba15fa84b1d59144fef1a1bc7ac2"}, - {file = "cffi-1.17.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6ce01337d23884b21c03869d2f68c5523d43174d4fc405490eb0091057943118"}, - {file = "cffi-1.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cab2eba3830bf4f6d91e2d6718e0e1c14a2f5ad1af68a89d24ace0c6b17cced7"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:14b9cbc8f7ac98a739558eb86fabc283d4d564dafed50216e7f7ee62d0d25377"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b00e7bcd71caa0282cbe3c90966f738e2db91e64092a877c3ff7f19a1628fdcb"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:41f4915e09218744d8bae14759f983e466ab69b178de38066f7579892ff2a555"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4760a68cab57bfaa628938e9c2971137e05ce48e762a9cb53b76c9b569f1204"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:011aff3524d578a9412c8b3cfaa50f2c0bd78e03eb7af7aa5e0df59b158efb2f"}, - {file = "cffi-1.17.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:a003ac9edc22d99ae1286b0875c460351f4e101f8c9d9d2576e78d7e048f64e0"}, - {file = "cffi-1.17.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ef9528915df81b8f4c7612b19b8628214c65c9b7f74db2e34a646a0a2a0da2d4"}, - {file = "cffi-1.17.0-cp313-cp313-win32.whl", hash = "sha256:70d2aa9fb00cf52034feac4b913181a6e10356019b18ef89bc7c12a283bf5f5a"}, - {file = "cffi-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:b7b6ea9e36d32582cda3465f54c4b454f62f23cb083ebc7a94e2ca6ef011c3a7"}, - {file = "cffi-1.17.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:964823b2fc77b55355999ade496c54dde161c621cb1f6eac61dc30ed1b63cd4c"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:516a405f174fd3b88829eabfe4bb296ac602d6a0f68e0d64d5ac9456194a5b7e"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dec6b307ce928e8e112a6bb9921a1cb00a0e14979bf28b98e084a4b8a742bd9b"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4094c7b464cf0a858e75cd14b03509e84789abf7b79f8537e6a72152109c76e"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2404f3de742f47cb62d023f0ba7c5a916c9c653d5b368cc966382ae4e57da401"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3aa9d43b02a0c681f0bfbc12d476d47b2b2b6a3f9287f11ee42989a268a1833c"}, - {file = "cffi-1.17.0-cp38-cp38-win32.whl", hash = "sha256:0bb15e7acf8ab35ca8b24b90af52c8b391690ef5c4aec3d31f38f0d37d2cc499"}, - {file = "cffi-1.17.0-cp38-cp38-win_amd64.whl", hash = "sha256:93a7350f6706b31f457c1457d3a3259ff9071a66f312ae64dc024f049055f72c"}, - {file = "cffi-1.17.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1a2ddbac59dc3716bc79f27906c010406155031a1c801410f1bafff17ea304d2"}, - {file = "cffi-1.17.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6327b572f5770293fc062a7ec04160e89741e8552bf1c358d1a23eba68166759"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbc183e7bef690c9abe5ea67b7b60fdbca81aa8da43468287dae7b5c046107d4"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bdc0f1f610d067c70aa3737ed06e2726fd9d6f7bfee4a351f4c40b6831f4e82"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6d872186c1617d143969defeadac5a904e6e374183e07977eedef9c07c8953bf"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0d46ee4764b88b91f16661a8befc6bfb24806d885e27436fdc292ed7e6f6d058"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f76a90c345796c01d85e6332e81cab6d70de83b829cf1d9762d0a3da59c7932"}, - {file = "cffi-1.17.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0e60821d312f99d3e1569202518dddf10ae547e799d75aef3bca3a2d9e8ee693"}, - {file = "cffi-1.17.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:eb09b82377233b902d4c3fbeeb7ad731cdab579c6c6fda1f763cd779139e47c3"}, - {file = "cffi-1.17.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:24658baf6224d8f280e827f0a50c46ad819ec8ba380a42448e24459daf809cf4"}, - {file = "cffi-1.17.0-cp39-cp39-win32.whl", hash = "sha256:0fdacad9e0d9fc23e519efd5ea24a70348305e8d7d85ecbb1a5fa66dc834e7fb"}, - {file = "cffi-1.17.0-cp39-cp39-win_amd64.whl", hash = "sha256:7cbc78dc018596315d4e7841c8c3a7ae31cc4d638c9b627f87d52e8abaaf2d29"}, - {file = "cffi-1.17.0.tar.gz", hash = "sha256:f3157624b7558b914cb039fd1af735e5e8049a87c817cc215109ad1c8779df76"}, -] - -[package.dependencies] -pycparser = "*" - -[[package]] -name = "cfgv" -version = "3.4.0" -description = "Validate configuration and produce human readable error messages." -optional = false -python-versions = ">=3.8" -files = [ - {file = "cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9"}, - {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, -] - -[[package]] -name = "charset-normalizer" -version = "3.3.2" -description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -optional = false -python-versions = ">=3.7.0" -files = [ - {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, - {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, -] - -[[package]] -name = "cleo" -version = "2.1.0" -description = "Cleo allows you to create beautiful and testable command-line interfaces." -optional = false -python-versions = ">=3.7,<4.0" -files = [ - {file = "cleo-2.1.0-py3-none-any.whl", hash = "sha256:4a31bd4dd45695a64ee3c4758f583f134267c2bc518d8ae9a29cf237d009b07e"}, - {file = "cleo-2.1.0.tar.gz", hash = "sha256:0b2c880b5d13660a7ea651001fb4acb527696c01f15c9ee650f377aa543fd523"}, -] - -[package.dependencies] -crashtest = ">=0.4.1,<0.5.0" -rapidfuzz = ">=3.0.0,<4.0.0" - -[[package]] -name = "click" -version = "8.1.7" -description = "Composable command line interface toolkit" -optional = false -python-versions = ">=3.7" -files = [ - {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, - {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} - -[[package]] -name = "clickhouse-connect" -version = "0.7.19" -description = "ClickHouse Database Core Driver for Python, Pandas, and Superset" -optional = false -python-versions = "~=3.8" -files = [ - {file = "clickhouse-connect-0.7.19.tar.gz", hash = "sha256:ce8f21f035781c5ef6ff57dc162e8150779c009b59f14030ba61f8c9c10c06d0"}, - {file = "clickhouse_connect-0.7.19-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6ac74eb9e8d6331bae0303d0fc6bdc2125aa4c421ef646348b588760b38c29e9"}, - {file = "clickhouse_connect-0.7.19-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:300f3dea7dd48b2798533ed2486e4b0c3bb03c8d9df9aed3fac44161b92a30f9"}, - {file = "clickhouse_connect-0.7.19-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c72629f519105e21600680c791459d729889a290440bbdc61e43cd5eb61d928"}, - {file = "clickhouse_connect-0.7.19-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ece0fb202cd9267b3872210e8e0974e4c33c8f91ca9f1c4d92edea997189c72"}, - {file = "clickhouse_connect-0.7.19-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a6e5adf0359043d4d21c9a668cc1b6323a1159b3e1a77aea6f82ce528b5e4c5b"}, - {file = "clickhouse_connect-0.7.19-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:63432180179e90f6f3c18861216f902d1693979e3c26a7f9ef9912c92ce00d14"}, - {file = "clickhouse_connect-0.7.19-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:754b9c58b032835caaa9177b69059dc88307485d2cf6d0d545b3dedb13cb512a"}, - {file = "clickhouse_connect-0.7.19-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:24e2694e89d12bba405a14b84c36318620dc50f90adbc93182418742d8f6d73f"}, - {file = "clickhouse_connect-0.7.19-cp310-cp310-win32.whl", hash = "sha256:52929826b39b5b0f90f423b7a035930b8894b508768e620a5086248bcbad3707"}, - {file = "clickhouse_connect-0.7.19-cp310-cp310-win_amd64.whl", hash = "sha256:5c301284c87d132963388b6e8e4a690c0776d25acc8657366eccab485e53738f"}, - {file = "clickhouse_connect-0.7.19-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ee47af8926a7ec3a970e0ebf29a82cbbe3b1b7eae43336a81b3a0ca18091de5f"}, - {file = "clickhouse_connect-0.7.19-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ce429233b2d21a8a149c8cd836a2555393cbcf23d61233520db332942ffb8964"}, - {file = "clickhouse_connect-0.7.19-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:617c04f5c46eed3344a7861cd96fb05293e70d3b40d21541b1e459e7574efa96"}, - {file = "clickhouse_connect-0.7.19-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f08e33b8cc2dc1873edc5ee4088d4fc3c0dbb69b00e057547bcdc7e9680b43e5"}, - {file = "clickhouse_connect-0.7.19-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:921886b887f762e5cc3eef57ef784d419a3f66df85fd86fa2e7fbbf464c4c54a"}, - {file = "clickhouse_connect-0.7.19-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6ad0cf8552a9e985cfa6524b674ae7c8f5ba51df5bd3ecddbd86c82cdbef41a7"}, - {file = "clickhouse_connect-0.7.19-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:70f838ef0861cdf0e2e198171a1f3fd2ee05cf58e93495eeb9b17dfafb278186"}, - {file = "clickhouse_connect-0.7.19-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c5f0d207cb0dcc1adb28ced63f872d080924b7562b263a9d54d4693b670eb066"}, - {file = "clickhouse_connect-0.7.19-cp311-cp311-win32.whl", hash = "sha256:8c96c4c242b98fcf8005e678a26dbd4361748721b6fa158c1fe84ad15c7edbbe"}, - {file = "clickhouse_connect-0.7.19-cp311-cp311-win_amd64.whl", hash = "sha256:bda092bab224875ed7c7683707d63f8a2322df654c4716e6611893a18d83e908"}, - {file = "clickhouse_connect-0.7.19-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8f170d08166438d29f0dcfc8a91b672c783dc751945559e65eefff55096f9274"}, - {file = "clickhouse_connect-0.7.19-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:26b80cb8f66bde9149a9a2180e2cc4895c1b7d34f9dceba81630a9b9a9ae66b2"}, - {file = "clickhouse_connect-0.7.19-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ba80e3598acf916c4d1b2515671f65d9efee612a783c17c56a5a646f4db59b9"}, - {file = "clickhouse_connect-0.7.19-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d38c30bd847af0ce7ff738152478f913854db356af4d5824096394d0eab873d"}, - {file = "clickhouse_connect-0.7.19-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d41d4b159071c0e4f607563932d4fa5c2a8fc27d3ba1200d0929b361e5191864"}, - {file = "clickhouse_connect-0.7.19-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3682c2426f5dbda574611210e3c7c951b9557293a49eb60a7438552435873889"}, - {file = "clickhouse_connect-0.7.19-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6d492064dca278eb61be3a2d70a5f082e2ebc8ceebd4f33752ae234116192020"}, - {file = "clickhouse_connect-0.7.19-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:62612da163b934c1ff35df6155a47cf17ac0e2d2f9f0f8f913641e5c02cdf39f"}, - {file = "clickhouse_connect-0.7.19-cp312-cp312-win32.whl", hash = "sha256:196e48c977affc045794ec7281b4d711e169def00535ecab5f9fdeb8c177f149"}, - {file = "clickhouse_connect-0.7.19-cp312-cp312-win_amd64.whl", hash = "sha256:b771ca6a473d65103dcae82810d3a62475c5372fc38d8f211513c72b954fb020"}, - {file = "clickhouse_connect-0.7.19-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:85a016eebff440b76b90a4725bb1804ddc59e42bba77d21c2a2ec4ac1df9e28d"}, - {file = "clickhouse_connect-0.7.19-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f059d3e39be1bafbf3cf0e12ed19b3cbf30b468a4840ab85166fd023ce8c3a17"}, - {file = "clickhouse_connect-0.7.19-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39ed54ba0998fd6899fcc967af2b452da28bd06de22e7ebf01f15acbfd547eac"}, - {file = "clickhouse_connect-0.7.19-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e4b4d786572cb695a087a71cfdc53999f76b7f420f2580c9cffa8cc51442058"}, - {file = "clickhouse_connect-0.7.19-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3710ca989ceae03d5ae56a436b4fe246094dbc17a2946ff318cb460f31b69450"}, - {file = "clickhouse_connect-0.7.19-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d104f25a054cb663495a51ccb26ea11bcdc53e9b54c6d47a914ee6fba7523e62"}, - {file = "clickhouse_connect-0.7.19-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ee23b80ee4c5b05861582dd4cd11f0ca0d215a899e9ba299a6ec6e9196943b1b"}, - {file = "clickhouse_connect-0.7.19-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:942ec21211d369068ab0ac082312d4df53c638bfc41545d02c41a9055e212df8"}, - {file = "clickhouse_connect-0.7.19-cp38-cp38-win32.whl", hash = "sha256:cb8f0a59d1521a6b30afece7c000f6da2cd9f22092e90981aa83342032e5df99"}, - {file = "clickhouse_connect-0.7.19-cp38-cp38-win_amd64.whl", hash = "sha256:98d5779dba942459d5dc6aa083e3a8a83e1cf6191eaa883832118ad7a7e69c87"}, - {file = "clickhouse_connect-0.7.19-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9f57aaa32d90f3bd18aa243342b3e75f062dc56a7f988012a22f65fb7946e81d"}, - {file = "clickhouse_connect-0.7.19-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5fb25143e4446d3a73fdc1b7d976a0805f763c37bf8f9b2d612a74f65d647830"}, - {file = "clickhouse_connect-0.7.19-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b4e19c9952b7b9fe24a99cca0b36a37e17e2a0e59b14457a2ce8868aa32e30e"}, - {file = "clickhouse_connect-0.7.19-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9876509aa25804f1377cb1b54dd55c1f5f37a9fbc42fa0c4ac8ac51b38db5926"}, - {file = "clickhouse_connect-0.7.19-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:04cfb1dae8fb93117211cfe4e04412b075e47580391f9eee9a77032d8e7d46f4"}, - {file = "clickhouse_connect-0.7.19-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b04f7c57f61b5dfdbf49d4b5e4fa5e91ce86bee09bb389b641268afa8f511ab4"}, - {file = "clickhouse_connect-0.7.19-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:e5b563f32dcc9cb6ff1f6ed238e83c3e80eb15814b1ea130817c004c241a3c2e"}, - {file = "clickhouse_connect-0.7.19-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6018675a231130bd03a7b39a3e875e683286d98115085bfa3ac0918f555f4bfe"}, - {file = "clickhouse_connect-0.7.19-cp39-cp39-win32.whl", hash = "sha256:5cb67ae3309396033b825626d60fe2cd789c1d2a183faabef8ffdbbef153d7fb"}, - {file = "clickhouse_connect-0.7.19-cp39-cp39-win_amd64.whl", hash = "sha256:fd225af60478c068cde0952e8df8f731f24c828b75cc1a2e61c21057ff546ecd"}, - {file = "clickhouse_connect-0.7.19-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6f31898e0281f820e35710b5c4ad1d40a6c01ffae5278afaef4a16877ac8cbfb"}, - {file = "clickhouse_connect-0.7.19-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:51c911b0b8281ab4a909320f41dd9c0662796bec157c8f2704de702c552104db"}, - {file = "clickhouse_connect-0.7.19-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1088da11789c519f9bb8927a14b16892e3c65e2893abe2680eae68bf6c63835"}, - {file = "clickhouse_connect-0.7.19-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:03953942cc073078b40619a735ebeaed9bf98efc71c6f43ce92a38540b1308ce"}, - {file = "clickhouse_connect-0.7.19-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:4ac0602fa305d097a0cd40cebbe10a808f6478c9f303d57a48a3a0ad09659544"}, - {file = "clickhouse_connect-0.7.19-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:4fdefe9eb2d38063835f8f1f326d666c3f61de9d6c3a1607202012c386ca7631"}, - {file = "clickhouse_connect-0.7.19-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ff6469822fe8d83f272ffbb3fb99dcc614e20b1d5cddd559505029052eff36e7"}, - {file = "clickhouse_connect-0.7.19-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46298e23f7e7829f0aa880a99837a82390c1371a643b21f8feb77702707b9eaa"}, - {file = "clickhouse_connect-0.7.19-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c6409390b13e09c19435ff65e2ebfcf01f9b2382e4b946191979a5d54ef8625c"}, - {file = "clickhouse_connect-0.7.19-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:cd7e7097b30b70eb695b7b3b6c79ba943548c053cc465fa74efa67a2354f6acd"}, - {file = "clickhouse_connect-0.7.19-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:15e080aead66e43c1f214b3e76ab26e3f342a4a4f50e3bbc3118bdd013d12e5f"}, - {file = "clickhouse_connect-0.7.19-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:194d2a32ba1b370cb5ac375dd4153871bb0394ff040344d8f449cb36ea951a96"}, - {file = "clickhouse_connect-0.7.19-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ac93aafd6a542fdcad4a2b6778575eab6dbdbf8806e86d92e1c1aa00d91cfee"}, - {file = "clickhouse_connect-0.7.19-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b208dd3e29db7154b02652c26157a1903bea03d27867ca5b749edc2285c62161"}, - {file = "clickhouse_connect-0.7.19-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:9724fdf3563b2335791443cb9e2114be7f77c20c8c4bbfb3571a3020606f0773"}, -] - -[package.dependencies] -certifi = "*" -lz4 = "*" -pytz = "*" -urllib3 = ">=1.26" -zstandard = "*" - -[package.extras] -arrow = ["pyarrow"] -numpy = ["numpy"] -orjson = ["orjson"] -pandas = ["pandas"] -sqlalchemy = ["sqlalchemy (>1.3.21,<2.0)"] -tzlocal = ["tzlocal (>=4.0)"] - -[[package]] -name = "cobble" -version = "0.1.4" -description = "Create data objects" -optional = false -python-versions = ">=3.5" -files = [ - {file = "cobble-0.1.4-py3-none-any.whl", hash = "sha256:36c91b1655e599fd428e2b95fdd5f0da1ca2e9f1abb0bc871dec21a0e78a2b44"}, - {file = "cobble-0.1.4.tar.gz", hash = "sha256:de38be1539992c8a06e569630717c485a5f91be2192c461ea2b220607dfa78aa"}, -] - -[[package]] -name = "colorama" -version = "0.4.6" -description = "Cross-platform colored terminal text." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -files = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] - -[[package]] -name = "comm" -version = "0.2.2" -description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." -optional = false -python-versions = ">=3.8" -files = [ - {file = "comm-0.2.2-py3-none-any.whl", hash = "sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3"}, - {file = "comm-0.2.2.tar.gz", hash = "sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e"}, -] - -[package.dependencies] -traitlets = ">=4" - -[package.extras] -test = ["pytest"] - -[[package]] -name = "contourpy" -version = "1.3.0" -description = "Python library for calculating contours of 2D quadrilateral grids" -optional = false -python-versions = ">=3.9" -files = [ - {file = "contourpy-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7"}, - {file = "contourpy-1.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42"}, - {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7"}, - {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab"}, - {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589"}, - {file = "contourpy-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41"}, - {file = "contourpy-1.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d"}, - {file = "contourpy-1.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223"}, - {file = "contourpy-1.3.0-cp310-cp310-win32.whl", hash = "sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f"}, - {file = "contourpy-1.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b"}, - {file = "contourpy-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad"}, - {file = "contourpy-1.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49"}, - {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66"}, - {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081"}, - {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1"}, - {file = "contourpy-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d"}, - {file = "contourpy-1.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c"}, - {file = "contourpy-1.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb"}, - {file = "contourpy-1.3.0-cp311-cp311-win32.whl", hash = "sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c"}, - {file = "contourpy-1.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67"}, - {file = "contourpy-1.3.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f"}, - {file = "contourpy-1.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6"}, - {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639"}, - {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c"}, - {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06"}, - {file = "contourpy-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09"}, - {file = "contourpy-1.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd"}, - {file = "contourpy-1.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35"}, - {file = "contourpy-1.3.0-cp312-cp312-win32.whl", hash = "sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb"}, - {file = "contourpy-1.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b"}, - {file = "contourpy-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3"}, - {file = "contourpy-1.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7"}, - {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84"}, - {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0"}, - {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b"}, - {file = "contourpy-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da"}, - {file = "contourpy-1.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14"}, - {file = "contourpy-1.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8"}, - {file = "contourpy-1.3.0-cp313-cp313-win32.whl", hash = "sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294"}, - {file = "contourpy-1.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087"}, - {file = "contourpy-1.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8"}, - {file = "contourpy-1.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b"}, - {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973"}, - {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18"}, - {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8"}, - {file = "contourpy-1.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6"}, - {file = "contourpy-1.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2"}, - {file = "contourpy-1.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927"}, - {file = "contourpy-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8"}, - {file = "contourpy-1.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c"}, - {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca"}, - {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f"}, - {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc"}, - {file = "contourpy-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2"}, - {file = "contourpy-1.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e"}, - {file = "contourpy-1.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800"}, - {file = "contourpy-1.3.0-cp39-cp39-win32.whl", hash = "sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5"}, - {file = "contourpy-1.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843"}, - {file = "contourpy-1.3.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c"}, - {file = "contourpy-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779"}, - {file = "contourpy-1.3.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4"}, - {file = "contourpy-1.3.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0"}, - {file = "contourpy-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102"}, - {file = "contourpy-1.3.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb"}, - {file = "contourpy-1.3.0.tar.gz", hash = "sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4"}, -] - -[package.dependencies] -numpy = ">=1.23" - -[package.extras] -bokeh = ["bokeh", "selenium"] -docs = ["furo", "sphinx (>=7.2)", "sphinx-copybutton"] -mypy = ["contourpy[bokeh,docs]", "docutils-stubs", "mypy (==1.11.1)", "types-Pillow"] -test = ["Pillow", "contourpy[test-no-images]", "matplotlib"] -test-no-images = ["pytest", "pytest-cov", "pytest-rerunfailures", "pytest-xdist", "wurlitzer"] - -[[package]] -name = "crashtest" -version = "0.4.1" -description = "Manage Python errors with ease" -optional = false -python-versions = ">=3.7,<4.0" -files = [ - {file = "crashtest-0.4.1-py3-none-any.whl", hash = "sha256:8d23eac5fa660409f57472e3851dab7ac18aba459a8d19cbbba86d3d5aecd2a5"}, - {file = "crashtest-0.4.1.tar.gz", hash = "sha256:80d7b1f316ebfbd429f648076d6275c877ba30ba48979de4191714a75266f0ce"}, -] - -[[package]] -name = "cryptography" -version = "43.0.0" -description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -optional = false -python-versions = ">=3.7" -files = [ - {file = "cryptography-43.0.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:64c3f16e2a4fc51c0d06af28441881f98c5d91009b8caaff40cf3548089e9c74"}, - {file = "cryptography-43.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3dcdedae5c7710b9f97ac6bba7e1052b95c7083c9d0e9df96e02a1932e777895"}, - {file = "cryptography-43.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d9a1eca329405219b605fac09ecfc09ac09e595d6def650a437523fcd08dd22"}, - {file = "cryptography-43.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:ea9e57f8ea880eeea38ab5abf9fbe39f923544d7884228ec67d666abd60f5a47"}, - {file = "cryptography-43.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:9a8d6802e0825767476f62aafed40532bd435e8a5f7d23bd8b4f5fd04cc80ecf"}, - {file = "cryptography-43.0.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:cc70b4b581f28d0a254d006f26949245e3657d40d8857066c2ae22a61222ef55"}, - {file = "cryptography-43.0.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:4a997df8c1c2aae1e1e5ac49c2e4f610ad037fc5a3aadc7b64e39dea42249431"}, - {file = "cryptography-43.0.0-cp37-abi3-win32.whl", hash = "sha256:6e2b11c55d260d03a8cf29ac9b5e0608d35f08077d8c087be96287f43af3ccdc"}, - {file = "cryptography-43.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:31e44a986ceccec3d0498e16f3d27b2ee5fdf69ce2ab89b52eaad1d2f33d8778"}, - {file = "cryptography-43.0.0-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:7b3f5fe74a5ca32d4d0f302ffe6680fcc5c28f8ef0dc0ae8f40c0f3a1b4fca66"}, - {file = "cryptography-43.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac1955ce000cb29ab40def14fd1bbfa7af2017cca696ee696925615cafd0dce5"}, - {file = "cryptography-43.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:299d3da8e00b7e2b54bb02ef58d73cd5f55fb31f33ebbf33bd00d9aa6807df7e"}, - {file = "cryptography-43.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:ee0c405832ade84d4de74b9029bedb7b31200600fa524d218fc29bfa371e97f5"}, - {file = "cryptography-43.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:cb013933d4c127349b3948aa8aaf2f12c0353ad0eccd715ca789c8a0f671646f"}, - {file = "cryptography-43.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:fdcb265de28585de5b859ae13e3846a8e805268a823a12a4da2597f1f5afc9f0"}, - {file = "cryptography-43.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:2905ccf93a8a2a416f3ec01b1a7911c3fe4073ef35640e7ee5296754e30b762b"}, - {file = "cryptography-43.0.0-cp39-abi3-win32.whl", hash = "sha256:47ca71115e545954e6c1d207dd13461ab81f4eccfcb1345eac874828b5e3eaaf"}, - {file = "cryptography-43.0.0-cp39-abi3-win_amd64.whl", hash = "sha256:0663585d02f76929792470451a5ba64424acc3cd5227b03921dab0e2f27b1709"}, - {file = "cryptography-43.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2c6d112bf61c5ef44042c253e4859b3cbbb50df2f78fa8fae6747a7814484a70"}, - {file = "cryptography-43.0.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:844b6d608374e7d08f4f6e6f9f7b951f9256db41421917dfb2d003dde4cd6b66"}, - {file = "cryptography-43.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:51956cf8730665e2bdf8ddb8da0056f699c1a5715648c1b0144670c1ba00b48f"}, - {file = "cryptography-43.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:aae4d918f6b180a8ab8bf6511a419473d107df4dbb4225c7b48c5c9602c38c7f"}, - {file = "cryptography-43.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:232ce02943a579095a339ac4b390fbbe97f5b5d5d107f8a08260ea2768be8cc2"}, - {file = "cryptography-43.0.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5bcb8a5620008a8034d39bce21dc3e23735dfdb6a33a06974739bfa04f853947"}, - {file = "cryptography-43.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:08a24a7070b2b6804c1940ff0f910ff728932a9d0e80e7814234269f9d46d069"}, - {file = "cryptography-43.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e9c5266c432a1e23738d178e51c2c7a5e2ddf790f248be939448c0ba2021f9d1"}, - {file = "cryptography-43.0.0.tar.gz", hash = "sha256:b88075ada2d51aa9f18283532c9f60e72170041bba88d7f37e49cbb10275299e"}, -] - -[package.dependencies] -cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""} - -[package.extras] -docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] -docstest = ["pyenchant (>=1.6.11)", "readme-renderer", "sphinxcontrib-spelling (>=4.0.1)"] -nox = ["nox"] -pep8test = ["check-sdist", "click", "mypy", "ruff"] -sdist = ["build"] -ssh = ["bcrypt (>=3.1.5)"] -test = ["certifi", "cryptography-vectors (==43.0.0)", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] -test-randomorder = ["pytest-randomly"] - -[[package]] -name = "cycler" -version = "0.12.1" -description = "Composable style cycles" -optional = false -python-versions = ">=3.8" -files = [ - {file = "cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30"}, - {file = "cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c"}, -] - -[package.extras] -docs = ["ipython", "matplotlib", "numpydoc", "sphinx"] -tests = ["pytest", "pytest-cov", "pytest-xdist"] - -[[package]] -name = "datamodel-code-generator" -version = "0.25.9" -description = "Datamodel Code Generator" -optional = false -python-versions = "<4.0,>=3.7" -files = [ - {file = "datamodel_code_generator-0.25.9-py3-none-any.whl", hash = "sha256:9e0324233123d6e39a35bc0004771956935889a974aacfd7a0651de11d2219a9"}, - {file = "datamodel_code_generator-0.25.9.tar.gz", hash = "sha256:65ca9807d8edbd88a7f7931c10f4bc1c08bd9bbc5bb0508418a2b6a16590eb65"}, -] - -[package.dependencies] -argcomplete = ">=1.10,<4.0" -black = ">=19.10b0" -genson = ">=1.2.1,<2.0" -inflect = ">=4.1.0,<6.0" -isort = ">=4.3.21,<6.0" -jinja2 = ">=2.10.1,<4.0" -packaging = "*" -pydantic = [ - {version = ">=1.10.0,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.4.0 || >2.4.0,<3.0", extras = ["email"], markers = "python_version >= \"3.12\" and python_version < \"4.0\""}, - {version = ">=1.10.0,<2.4.0 || >2.4.0,<3.0", extras = ["email"], markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, - {version = ">=1.9.0,<2.4.0 || >2.4.0,<3.0", extras = ["email"], markers = "python_version >= \"3.10\" and python_version < \"3.11\""}, -] -pyyaml = ">=6.0.1" -toml = {version = ">=0.10.0,<1.0.0", markers = "python_version < \"3.11\""} - -[package.extras] -debug = ["PySnooper (>=0.4.1,<2.0.0)"] -graphql = ["graphql-core (>=3.2.3,<4.0.0)"] -http = ["httpx"] -validation = ["openapi-spec-validator (>=0.2.8,<0.7.0)", "prance (>=0.18.2)"] - -[[package]] -name = "debugpy" -version = "1.8.5" -description = "An implementation of the Debug Adapter Protocol for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "debugpy-1.8.5-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:7e4d594367d6407a120b76bdaa03886e9eb652c05ba7f87e37418426ad2079f7"}, - {file = "debugpy-1.8.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4413b7a3ede757dc33a273a17d685ea2b0c09dbd312cc03f5534a0fd4d40750a"}, - {file = "debugpy-1.8.5-cp310-cp310-win32.whl", hash = "sha256:dd3811bd63632bb25eda6bd73bea8e0521794cda02be41fa3160eb26fc29e7ed"}, - {file = "debugpy-1.8.5-cp310-cp310-win_amd64.whl", hash = "sha256:b78c1250441ce893cb5035dd6f5fc12db968cc07f91cc06996b2087f7cefdd8e"}, - {file = "debugpy-1.8.5-cp311-cp311-macosx_12_0_universal2.whl", hash = "sha256:606bccba19f7188b6ea9579c8a4f5a5364ecd0bf5a0659c8a5d0e10dcee3032a"}, - {file = "debugpy-1.8.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db9fb642938a7a609a6c865c32ecd0d795d56c1aaa7a7a5722d77855d5e77f2b"}, - {file = "debugpy-1.8.5-cp311-cp311-win32.whl", hash = "sha256:4fbb3b39ae1aa3e5ad578f37a48a7a303dad9a3d018d369bc9ec629c1cfa7408"}, - {file = "debugpy-1.8.5-cp311-cp311-win_amd64.whl", hash = "sha256:345d6a0206e81eb68b1493ce2fbffd57c3088e2ce4b46592077a943d2b968ca3"}, - {file = "debugpy-1.8.5-cp312-cp312-macosx_12_0_universal2.whl", hash = "sha256:5b5c770977c8ec6c40c60d6f58cacc7f7fe5a45960363d6974ddb9b62dbee156"}, - {file = "debugpy-1.8.5-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0a65b00b7cdd2ee0c2cf4c7335fef31e15f1b7056c7fdbce9e90193e1a8c8cb"}, - {file = "debugpy-1.8.5-cp312-cp312-win32.whl", hash = "sha256:c9f7c15ea1da18d2fcc2709e9f3d6de98b69a5b0fff1807fb80bc55f906691f7"}, - {file = "debugpy-1.8.5-cp312-cp312-win_amd64.whl", hash = "sha256:28ced650c974aaf179231668a293ecd5c63c0a671ae6d56b8795ecc5d2f48d3c"}, - {file = "debugpy-1.8.5-cp38-cp38-macosx_12_0_x86_64.whl", hash = "sha256:3df6692351172a42af7558daa5019651f898fc67450bf091335aa8a18fbf6f3a"}, - {file = "debugpy-1.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1cd04a73eb2769eb0bfe43f5bfde1215c5923d6924b9b90f94d15f207a402226"}, - {file = "debugpy-1.8.5-cp38-cp38-win32.whl", hash = "sha256:8f913ee8e9fcf9d38a751f56e6de12a297ae7832749d35de26d960f14280750a"}, - {file = "debugpy-1.8.5-cp38-cp38-win_amd64.whl", hash = "sha256:a697beca97dad3780b89a7fb525d5e79f33821a8bc0c06faf1f1289e549743cf"}, - {file = "debugpy-1.8.5-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:0a1029a2869d01cb777216af8c53cda0476875ef02a2b6ff8b2f2c9a4b04176c"}, - {file = "debugpy-1.8.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e84c276489e141ed0b93b0af648eef891546143d6a48f610945416453a8ad406"}, - {file = "debugpy-1.8.5-cp39-cp39-win32.whl", hash = "sha256:ad84b7cde7fd96cf6eea34ff6c4a1b7887e0fe2ea46e099e53234856f9d99a34"}, - {file = "debugpy-1.8.5-cp39-cp39-win_amd64.whl", hash = "sha256:7b0fe36ed9d26cb6836b0a51453653f8f2e347ba7348f2bbfe76bfeb670bfb1c"}, - {file = "debugpy-1.8.5-py2.py3-none-any.whl", hash = "sha256:55919dce65b471eff25901acf82d328bbd5b833526b6c1364bd5133754777a44"}, - {file = "debugpy-1.8.5.zip", hash = "sha256:b2112cfeb34b4507399d298fe7023a16656fc553ed5246536060ca7bd0e668d0"}, -] - -[[package]] -name = "decorator" -version = "5.1.1" -description = "Decorators for Humans" -optional = false -python-versions = ">=3.5" -files = [ - {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, - {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, -] - -[[package]] -name = "defusedxml" -version = "0.7.1" -description = "XML bomb protection for Python stdlib modules" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, - {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, -] - -[[package]] -name = "deprecated" -version = "1.2.14" -description = "Python @deprecated decorator to deprecate old python classes, functions or methods." -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "Deprecated-1.2.14-py2.py3-none-any.whl", hash = "sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c"}, - {file = "Deprecated-1.2.14.tar.gz", hash = "sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3"}, -] - -[package.dependencies] -wrapt = ">=1.10,<2" - -[package.extras] -dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "sphinx (<2)", "tox"] - -[[package]] -name = "dill" -version = "0.3.8" -description = "serialize all of Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7"}, - {file = "dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca"}, -] - -[package.extras] -graph = ["objgraph (>=1.7.2)"] -profile = ["gprof2dot (>=2022.7.29)"] - -[[package]] -name = "distlib" -version = "0.3.8" -description = "Distribution utilities" -optional = false -python-versions = "*" -files = [ - {file = "distlib-0.3.8-py2.py3-none-any.whl", hash = "sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784"}, - {file = "distlib-0.3.8.tar.gz", hash = "sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64"}, -] - -[[package]] -name = "dnspython" -version = "2.6.1" -description = "DNS toolkit" -optional = false -python-versions = ">=3.8" -files = [ - {file = "dnspython-2.6.1-py3-none-any.whl", hash = "sha256:5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50"}, - {file = "dnspython-2.6.1.tar.gz", hash = "sha256:e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc"}, -] - -[package.extras] -dev = ["black (>=23.1.0)", "coverage (>=7.0)", "flake8 (>=7)", "mypy (>=1.8)", "pylint (>=3)", "pytest (>=7.4)", "pytest-cov (>=4.1.0)", "sphinx (>=7.2.0)", "twine (>=4.0.0)", "wheel (>=0.42.0)"] -dnssec = ["cryptography (>=41)"] -doh = ["h2 (>=4.1.0)", "httpcore (>=1.0.0)", "httpx (>=0.26.0)"] -doq = ["aioquic (>=0.9.25)"] -idna = ["idna (>=3.6)"] -trio = ["trio (>=0.23)"] -wmi = ["wmi (>=1.5.1)"] - -[[package]] -name = "dulwich" -version = "0.21.7" -description = "Python Git Library" -optional = false -python-versions = ">=3.7" -files = [ - {file = "dulwich-0.21.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d4c0110798099bb7d36a110090f2688050703065448895c4f53ade808d889dd3"}, - {file = "dulwich-0.21.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2bc12697f0918bee324c18836053644035362bb3983dc1b210318f2fed1d7132"}, - {file = "dulwich-0.21.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:471305af74790827fcbafe330fc2e8bdcee4fb56ca1177c8c481b1c8f806c4a4"}, - {file = "dulwich-0.21.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d54c9d0e845be26f65f954dff13a1cd3f2b9739820c19064257b8fd7435ab263"}, - {file = "dulwich-0.21.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12d61334a575474e707614f2e93d6ed4cdae9eb47214f9277076d9e5615171d3"}, - {file = "dulwich-0.21.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e274cebaf345f0b1e3b70197f2651de92b652386b68020cfd3bf61bc30f6eaaa"}, - {file = "dulwich-0.21.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:817822f970e196e757ae01281ecbf21369383285b9f4a83496312204cf889b8c"}, - {file = "dulwich-0.21.7-cp310-cp310-win32.whl", hash = "sha256:7836da3f4110ce684dcd53489015fb7fa94ed33c5276e3318b8b1cbcb5b71e08"}, - {file = "dulwich-0.21.7-cp310-cp310-win_amd64.whl", hash = "sha256:4a043b90958cec866b4edc6aef5fe3c2c96a664d0b357e1682a46f6c477273c4"}, - {file = "dulwich-0.21.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ce8db196e79c1f381469410d26fb1d8b89c6b87a4e7f00ff418c22a35121405c"}, - {file = "dulwich-0.21.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:62bfb26bdce869cd40be443dfd93143caea7089b165d2dcc33de40f6ac9d812a"}, - {file = "dulwich-0.21.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c01a735b9a171dcb634a97a3cec1b174cfbfa8e840156870384b633da0460f18"}, - {file = "dulwich-0.21.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fa4d14767cf7a49c9231c2e52cb2a3e90d0c83f843eb6a2ca2b5d81d254cf6b9"}, - {file = "dulwich-0.21.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7bca4b86e96d6ef18c5bc39828ea349efb5be2f9b1f6ac9863f90589bac1084d"}, - {file = "dulwich-0.21.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a7b5624b02ef808cdc62dabd47eb10cd4ac15e8ac6df9e2e88b6ac6b40133673"}, - {file = "dulwich-0.21.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c3a539b4696a42fbdb7412cb7b66a4d4d332761299d3613d90a642923c7560e1"}, - {file = "dulwich-0.21.7-cp311-cp311-win32.whl", hash = "sha256:675a612ce913081beb0f37b286891e795d905691dfccfb9bf73721dca6757cde"}, - {file = "dulwich-0.21.7-cp311-cp311-win_amd64.whl", hash = "sha256:460ba74bdb19f8d498786ae7776745875059b1178066208c0fd509792d7f7bfc"}, - {file = "dulwich-0.21.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:4c51058ec4c0b45dc5189225b9e0c671b96ca9713c1daf71d622c13b0ab07681"}, - {file = "dulwich-0.21.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4bc4c5366eaf26dda3fdffe160a3b515666ed27c2419f1d483da285ac1411de0"}, - {file = "dulwich-0.21.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a0650ec77d89cb947e3e4bbd4841c96f74e52b4650830112c3057a8ca891dc2f"}, - {file = "dulwich-0.21.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f18f0a311fb7734b033a3101292b932158cade54b74d1c44db519e42825e5a2"}, - {file = "dulwich-0.21.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c589468e5c0cd84e97eb7ec209ab005a2cb69399e8c5861c3edfe38989ac3a8"}, - {file = "dulwich-0.21.7-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d62446797163317a397a10080c6397ffaaca51a7804c0120b334f8165736c56a"}, - {file = "dulwich-0.21.7-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e84cc606b1f581733df4350ca4070e6a8b30be3662bbb81a590b177d0c996c91"}, - {file = "dulwich-0.21.7-cp312-cp312-win32.whl", hash = "sha256:c3d1685f320907a52c40fd5890627945c51f3a5fa4bcfe10edb24fec79caadec"}, - {file = "dulwich-0.21.7-cp312-cp312-win_amd64.whl", hash = "sha256:6bd69921fdd813b7469a3c77bc75c1783cc1d8d72ab15a406598e5a3ba1a1503"}, - {file = "dulwich-0.21.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7d8ab29c660125db52106775caa1f8f7f77a69ed1fe8bc4b42bdf115731a25bf"}, - {file = "dulwich-0.21.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0d2e4485b98695bf95350ce9d38b1bb0aaac2c34ad00a0df789aa33c934469b"}, - {file = "dulwich-0.21.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e138d516baa6b5bafbe8f030eccc544d0d486d6819b82387fc0e285e62ef5261"}, - {file = "dulwich-0.21.7-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f34bf9b9fa9308376263fd9ac43143c7c09da9bc75037bb75c6c2423a151b92c"}, - {file = "dulwich-0.21.7-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:2e2c66888207b71cd1daa2acb06d3984a6bc13787b837397a64117aa9fc5936a"}, - {file = "dulwich-0.21.7-cp37-cp37m-win32.whl", hash = "sha256:10893105c6566fc95bc2a67b61df7cc1e8f9126d02a1df6a8b2b82eb59db8ab9"}, - {file = "dulwich-0.21.7-cp37-cp37m-win_amd64.whl", hash = "sha256:460b3849d5c3d3818a80743b4f7a0094c893c559f678e56a02fff570b49a644a"}, - {file = "dulwich-0.21.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:74700e4c7d532877355743336c36f51b414d01e92ba7d304c4f8d9a5946dbc81"}, - {file = "dulwich-0.21.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c92e72c43c9e9e936b01a57167e0ea77d3fd2d82416edf9489faa87278a1cdf7"}, - {file = "dulwich-0.21.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:d097e963eb6b9fa53266146471531ad9c6765bf390849230311514546ed64db2"}, - {file = "dulwich-0.21.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:808e8b9cc0aa9ac74870b49db4f9f39a52fb61694573f84b9c0613c928d4caf8"}, - {file = "dulwich-0.21.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1957b65f96e36c301e419d7adaadcff47647c30eb072468901bb683b1000bc5"}, - {file = "dulwich-0.21.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4b09bc3a64fb70132ec14326ecbe6e0555381108caff3496898962c4136a48c6"}, - {file = "dulwich-0.21.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5882e70b74ac3c736a42d3fdd4f5f2e6570637f59ad5d3e684760290b58f041"}, - {file = "dulwich-0.21.7-cp38-cp38-win32.whl", hash = "sha256:29bb5c1d70eba155ded41ed8a62be2f72edbb3c77b08f65b89c03976292f6d1b"}, - {file = "dulwich-0.21.7-cp38-cp38-win_amd64.whl", hash = "sha256:25c3ab8fb2e201ad2031ddd32e4c68b7c03cb34b24a5ff477b7a7dcef86372f5"}, - {file = "dulwich-0.21.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8929c37986c83deb4eb500c766ee28b6670285b512402647ee02a857320e377c"}, - {file = "dulwich-0.21.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cc1e11be527ac06316539b57a7688bcb1b6a3e53933bc2f844397bc50734e9ae"}, - {file = "dulwich-0.21.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0fc3078a1ba04c588fabb0969d3530efd5cd1ce2cf248eefb6baf7cbc15fc285"}, - {file = "dulwich-0.21.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40dcbd29ba30ba2c5bfbab07a61a5f20095541d5ac66d813056c122244df4ac0"}, - {file = "dulwich-0.21.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8869fc8ec3dda743e03d06d698ad489b3705775fe62825e00fa95aa158097fc0"}, - {file = "dulwich-0.21.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d96ca5e0dde49376fbcb44f10eddb6c30284a87bd03bb577c59bb0a1f63903fa"}, - {file = "dulwich-0.21.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e0064363bd5e814359657ae32517fa8001e8573d9d040bd997908d488ab886ed"}, - {file = "dulwich-0.21.7-cp39-cp39-win32.whl", hash = "sha256:869eb7be48243e695673b07905d18b73d1054a85e1f6e298fe63ba2843bb2ca1"}, - {file = "dulwich-0.21.7-cp39-cp39-win_amd64.whl", hash = "sha256:404b8edeb3c3a86c47c0a498699fc064c93fa1f8bab2ffe919e8ab03eafaaad3"}, - {file = "dulwich-0.21.7-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e598d743c6c0548ebcd2baf94aa9c8bfacb787ea671eeeb5828cfbd7d56b552f"}, - {file = "dulwich-0.21.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4a2d76c96426e791556836ef43542b639def81be4f1d6d4322cd886c115eae1"}, - {file = "dulwich-0.21.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6c88acb60a1f4d31bd6d13bfba465853b3df940ee4a0f2a3d6c7a0778c705b7"}, - {file = "dulwich-0.21.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ecd315847dea406a4decfa39d388a2521e4e31acde3bd9c2609c989e817c6d62"}, - {file = "dulwich-0.21.7-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d05d3c781bc74e2c2a2a8f4e4e2ed693540fbe88e6ac36df81deac574a6dad99"}, - {file = "dulwich-0.21.7-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6de6f8de4a453fdbae8062a6faa652255d22a3d8bce0cd6d2d6701305c75f2b3"}, - {file = "dulwich-0.21.7-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e25953c7acbbe4e19650d0225af1c0c0e6882f8bddd2056f75c1cc2b109b88ad"}, - {file = "dulwich-0.21.7-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:4637cbd8ed1012f67e1068aaed19fcc8b649bcf3e9e26649826a303298c89b9d"}, - {file = "dulwich-0.21.7-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:858842b30ad6486aacaa607d60bab9c9a29e7c59dc2d9cb77ae5a94053878c08"}, - {file = "dulwich-0.21.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:739b191f61e1c4ce18ac7d520e7a7cbda00e182c3489552408237200ce8411ad"}, - {file = "dulwich-0.21.7-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:274c18ec3599a92a9b67abaf110e4f181a4f779ee1aaab9e23a72e89d71b2bd9"}, - {file = "dulwich-0.21.7-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:2590e9b431efa94fc356ae33b38f5e64f1834ec3a94a6ac3a64283b206d07aa3"}, - {file = "dulwich-0.21.7-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ed60d1f610ef6437586f7768254c2a93820ccbd4cfdac7d182cf2d6e615969bb"}, - {file = "dulwich-0.21.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8278835e168dd097089f9e53088c7a69c6ca0841aef580d9603eafe9aea8c358"}, - {file = "dulwich-0.21.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffc27fb063f740712e02b4d2f826aee8bbed737ed799962fef625e2ce56e2d29"}, - {file = "dulwich-0.21.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:61e3451bd3d3844f2dca53f131982553be4d1b1e1ebd9db701843dd76c4dba31"}, - {file = "dulwich-0.21.7.tar.gz", hash = "sha256:a9e9c66833cea580c3ac12927e4b9711985d76afca98da971405d414de60e968"}, -] - -[package.dependencies] -urllib3 = ">=1.25" - -[package.extras] -fastimport = ["fastimport"] -https = ["urllib3 (>=1.24.1)"] -paramiko = ["paramiko"] -pgp = ["gpg"] - -[[package]] -name = "ecdsa" -version = "0.19.0" -description = "ECDSA cryptographic signature library (pure python)" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.6" -files = [ - {file = "ecdsa-0.19.0-py2.py3-none-any.whl", hash = "sha256:2cea9b88407fdac7bbeca0833b189e4c9c53f2ef1e1eaa29f6224dbc809b707a"}, - {file = "ecdsa-0.19.0.tar.gz", hash = "sha256:60eaad1199659900dd0af521ed462b793bbdf867432b3948e87416ae4caf6bf8"}, -] - -[package.dependencies] -six = ">=1.9.0" - -[package.extras] -gmpy = ["gmpy"] -gmpy2 = ["gmpy2"] - -[[package]] -name = "elasticsearch" -version = "7.17.9" -description = "Python client for Elasticsearch" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4" -files = [ - {file = "elasticsearch-7.17.9-py2.py3-none-any.whl", hash = "sha256:0e2454645dc00517dee4c6de3863411a9c5f1955d013c5fefa29123dadc92f98"}, - {file = "elasticsearch-7.17.9.tar.gz", hash = "sha256:66c4ece2adfe7cc120e2b6a6798a1fd5c777aecf82eec39bb95cef7cfc7ea2b3"}, -] - -[package.dependencies] -certifi = "*" -urllib3 = ">=1.21.1,<2" - -[package.extras] -async = ["aiohttp (>=3,<4)"] -develop = ["black", "coverage", "jinja2", "mock", "pytest", "pytest-cov", "pyyaml", "requests (>=2.0.0,<3.0.0)", "sphinx (<1.7)", "sphinx-rtd-theme"] -docs = ["sphinx (<1.7)", "sphinx-rtd-theme"] -requests = ["requests (>=2.4.0,<3.0.0)"] - -[[package]] -name = "elasticsearch-dsl" -version = "7.4.1" -description = "Python client for Elasticsearch" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "elasticsearch-dsl-7.4.1.tar.gz", hash = "sha256:07ee9c87dc28cc3cae2daa19401e1e18a172174ad9e5ca67938f752e3902a1d5"}, - {file = "elasticsearch_dsl-7.4.1-py2.py3-none-any.whl", hash = "sha256:97f79239a252be7c4cce554c29e64695d7ef6a4828372316a5e5ff815e7a7498"}, -] - -[package.dependencies] -elasticsearch = ">=7.0.0,<8.0.0" -python-dateutil = "*" -six = "*" - -[package.extras] -develop = ["coverage (<5.0.0)", "mock", "pytest (>=3.0.0)", "pytest-cov", "pytest-mock (<3.0.0)", "pytz", "sphinx", "sphinx-rtd-theme"] - -[[package]] -name = "elasticsearch-follow" -version = "0.2.6" -description = "An Elasticsearch tail" -optional = false -python-versions = "*" -files = [ - {file = "elasticsearch_follow-0.2.6-py3-none-any.whl", hash = "sha256:e96fc9b6123a4dd3754d548b7e13ec999e78a9b66cb58d7721b5d7c9287a6946"}, - {file = "elasticsearch_follow-0.2.6.tar.gz", hash = "sha256:7c91224dc27cb5d847cbeac6d283c65a4bcccb54360c03f5046fce224f47c68d"}, -] - -[package.dependencies] -certifi = "*" -click = "*" -elasticsearch = "*" -python-dateutil = "*" -pytz = "*" - -[[package]] -name = "email-validator" -version = "2.2.0" -description = "A robust email address syntax and deliverability validation library." -optional = false -python-versions = ">=3.8" -files = [ - {file = "email_validator-2.2.0-py3-none-any.whl", hash = "sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631"}, - {file = "email_validator-2.2.0.tar.gz", hash = "sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7"}, -] - -[package.dependencies] -dnspython = ">=2.0.0" -idna = ">=2.0.0" - -[[package]] -name = "exceptiongroup" -version = "1.2.2" -description = "Backport of PEP 654 (exception groups)" -optional = false -python-versions = ">=3.7" -files = [ - {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, - {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, -] - -[package.extras] -test = ["pytest (>=6)"] - -[[package]] -name = "execnet" -version = "2.1.1" -description = "execnet: rapid multi-Python deployment" -optional = false -python-versions = ">=3.8" -files = [ - {file = "execnet-2.1.1-py3-none-any.whl", hash = "sha256:26dee51f1b80cebd6d0ca8e74dd8745419761d3bef34163928cbebbdc4749fdc"}, - {file = "execnet-2.1.1.tar.gz", hash = "sha256:5189b52c6121c24feae288166ab41b32549c7e2348652736540b9e6e7d4e72e3"}, -] - -[package.extras] -testing = ["hatch", "pre-commit", "pytest", "tox"] - -[[package]] -name = "executing" -version = "2.1.0" -description = "Get the currently executing AST node of a frame, and other information" -optional = false -python-versions = ">=3.8" -files = [ - {file = "executing-2.1.0-py2.py3-none-any.whl", hash = "sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf"}, - {file = "executing-2.1.0.tar.gz", hash = "sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab"}, -] - -[package.extras] -tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipython", "littleutils", "pytest", "rich"] - -[[package]] -name = "fastjsonschema" -version = "2.20.0" -description = "Fastest Python implementation of JSON schema" -optional = false -python-versions = "*" -files = [ - {file = "fastjsonschema-2.20.0-py3-none-any.whl", hash = "sha256:5875f0b0fa7a0043a91e93a9b8f793bcbbba9691e7fd83dca95c28ba26d21f0a"}, - {file = "fastjsonschema-2.20.0.tar.gz", hash = "sha256:3d48fc5300ee96f5d116f10fe6f28d938e6008f59a6a025c2649475b87f76a23"}, -] - -[package.extras] -devel = ["colorama", "json-spec", "jsonschema", "pylint", "pytest", "pytest-benchmark", "pytest-cache", "validictory"] - -[[package]] -name = "filelock" -version = "3.15.4" -description = "A platform independent file lock." -optional = false -python-versions = ">=3.8" -files = [ - {file = "filelock-3.15.4-py3-none-any.whl", hash = "sha256:6ca1fffae96225dab4c6eaf1c4f4f28cd2568d3ec2a44e15a08520504de468e7"}, - {file = "filelock-3.15.4.tar.gz", hash = "sha256:2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb"}, -] - -[package.extras] -docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8.0.1)", "pytest (>=7.4.3)", "pytest-asyncio (>=0.21)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)", "virtualenv (>=20.26.2)"] -typing = ["typing-extensions (>=4.8)"] - -[[package]] -name = "flask" -version = "3.0.3" -description = "A simple framework for building complex web applications." -optional = false -python-versions = ">=3.8" -files = [ - {file = "flask-3.0.3-py3-none-any.whl", hash = "sha256:34e815dfaa43340d1d15a5c3a02b8476004037eb4840b34910c6e21679d288f3"}, - {file = "flask-3.0.3.tar.gz", hash = "sha256:ceb27b0af3823ea2737928a4d99d125a06175b8512c445cbd9a9ce200ef76842"}, -] - -[package.dependencies] -blinker = ">=1.6.2" -click = ">=8.1.3" -itsdangerous = ">=2.1.2" -Jinja2 = ">=3.1.2" -Werkzeug = ">=3.0.0" - -[package.extras] -async = ["asgiref (>=3.2)"] -dotenv = ["python-dotenv"] - -[[package]] -name = "fonttools" -version = "4.53.1" -description = "Tools to manipulate font files" -optional = false -python-versions = ">=3.8" -files = [ - {file = "fonttools-4.53.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0679a30b59d74b6242909945429dbddb08496935b82f91ea9bf6ad240ec23397"}, - {file = "fonttools-4.53.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e8bf06b94694251861ba7fdeea15c8ec0967f84c3d4143ae9daf42bbc7717fe3"}, - {file = "fonttools-4.53.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b96cd370a61f4d083c9c0053bf634279b094308d52fdc2dd9a22d8372fdd590d"}, - {file = "fonttools-4.53.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1c7c5aa18dd3b17995898b4a9b5929d69ef6ae2af5b96d585ff4005033d82f0"}, - {file = "fonttools-4.53.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e013aae589c1c12505da64a7d8d023e584987e51e62006e1bb30d72f26522c41"}, - {file = "fonttools-4.53.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9efd176f874cb6402e607e4cc9b4a9cd584d82fc34a4b0c811970b32ba62501f"}, - {file = "fonttools-4.53.1-cp310-cp310-win32.whl", hash = "sha256:c8696544c964500aa9439efb6761947393b70b17ef4e82d73277413f291260a4"}, - {file = "fonttools-4.53.1-cp310-cp310-win_amd64.whl", hash = "sha256:8959a59de5af6d2bec27489e98ef25a397cfa1774b375d5787509c06659b3671"}, - {file = "fonttools-4.53.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:da33440b1413bad53a8674393c5d29ce64d8c1a15ef8a77c642ffd900d07bfe1"}, - {file = "fonttools-4.53.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ff7e5e9bad94e3a70c5cd2fa27f20b9bb9385e10cddab567b85ce5d306ea923"}, - {file = "fonttools-4.53.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6e7170d675d12eac12ad1a981d90f118c06cf680b42a2d74c6c931e54b50719"}, - {file = "fonttools-4.53.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bee32ea8765e859670c4447b0817514ca79054463b6b79784b08a8df3a4d78e3"}, - {file = "fonttools-4.53.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6e08f572625a1ee682115223eabebc4c6a2035a6917eac6f60350aba297ccadb"}, - {file = "fonttools-4.53.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b21952c092ffd827504de7e66b62aba26fdb5f9d1e435c52477e6486e9d128b2"}, - {file = "fonttools-4.53.1-cp311-cp311-win32.whl", hash = "sha256:9dfdae43b7996af46ff9da520998a32b105c7f098aeea06b2226b30e74fbba88"}, - {file = "fonttools-4.53.1-cp311-cp311-win_amd64.whl", hash = "sha256:d4d0096cb1ac7a77b3b41cd78c9b6bc4a400550e21dc7a92f2b5ab53ed74eb02"}, - {file = "fonttools-4.53.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d92d3c2a1b39631a6131c2fa25b5406855f97969b068e7e08413325bc0afba58"}, - {file = "fonttools-4.53.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3b3c8ebafbee8d9002bd8f1195d09ed2bd9ff134ddec37ee8f6a6375e6a4f0e8"}, - {file = "fonttools-4.53.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32f029c095ad66c425b0ee85553d0dc326d45d7059dbc227330fc29b43e8ba60"}, - {file = "fonttools-4.53.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10f5e6c3510b79ea27bb1ebfcc67048cde9ec67afa87c7dd7efa5c700491ac7f"}, - {file = "fonttools-4.53.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f677ce218976496a587ab17140da141557beb91d2a5c1a14212c994093f2eae2"}, - {file = "fonttools-4.53.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9e6ceba2a01b448e36754983d376064730690401da1dd104ddb543519470a15f"}, - {file = "fonttools-4.53.1-cp312-cp312-win32.whl", hash = "sha256:791b31ebbc05197d7aa096bbc7bd76d591f05905d2fd908bf103af4488e60670"}, - {file = "fonttools-4.53.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ed170b5e17da0264b9f6fae86073be3db15fa1bd74061c8331022bca6d09bab"}, - {file = "fonttools-4.53.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c818c058404eb2bba05e728d38049438afd649e3c409796723dfc17cd3f08749"}, - {file = "fonttools-4.53.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:651390c3b26b0c7d1f4407cad281ee7a5a85a31a110cbac5269de72a51551ba2"}, - {file = "fonttools-4.53.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e54f1bba2f655924c1138bbc7fa91abd61f45c68bd65ab5ed985942712864bbb"}, - {file = "fonttools-4.53.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9cd19cf4fe0595ebdd1d4915882b9440c3a6d30b008f3cc7587c1da7b95be5f"}, - {file = "fonttools-4.53.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2af40ae9cdcb204fc1d8f26b190aa16534fcd4f0df756268df674a270eab575d"}, - {file = "fonttools-4.53.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:35250099b0cfb32d799fb5d6c651220a642fe2e3c7d2560490e6f1d3f9ae9169"}, - {file = "fonttools-4.53.1-cp38-cp38-win32.whl", hash = "sha256:f08df60fbd8d289152079a65da4e66a447efc1d5d5a4d3f299cdd39e3b2e4a7d"}, - {file = "fonttools-4.53.1-cp38-cp38-win_amd64.whl", hash = "sha256:7b6b35e52ddc8fb0db562133894e6ef5b4e54e1283dff606fda3eed938c36fc8"}, - {file = "fonttools-4.53.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:75a157d8d26c06e64ace9df037ee93a4938a4606a38cb7ffaf6635e60e253b7a"}, - {file = "fonttools-4.53.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4824c198f714ab5559c5be10fd1adf876712aa7989882a4ec887bf1ef3e00e31"}, - {file = "fonttools-4.53.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:becc5d7cb89c7b7afa8321b6bb3dbee0eec2b57855c90b3e9bf5fb816671fa7c"}, - {file = "fonttools-4.53.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84ec3fb43befb54be490147b4a922b5314e16372a643004f182babee9f9c3407"}, - {file = "fonttools-4.53.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:73379d3ffdeecb376640cd8ed03e9d2d0e568c9d1a4e9b16504a834ebadc2dfb"}, - {file = "fonttools-4.53.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:02569e9a810f9d11f4ae82c391ebc6fb5730d95a0657d24d754ed7763fb2d122"}, - {file = "fonttools-4.53.1-cp39-cp39-win32.whl", hash = "sha256:aae7bd54187e8bf7fd69f8ab87b2885253d3575163ad4d669a262fe97f0136cb"}, - {file = "fonttools-4.53.1-cp39-cp39-win_amd64.whl", hash = "sha256:e5b708073ea3d684235648786f5f6153a48dc8762cdfe5563c57e80787c29fbb"}, - {file = "fonttools-4.53.1-py3-none-any.whl", hash = "sha256:f1f8758a2ad110bd6432203a344269f445a2907dc24ef6bccfd0ac4e14e0d71d"}, - {file = "fonttools-4.53.1.tar.gz", hash = "sha256:e128778a8e9bc11159ce5447f76766cefbd876f44bd79aff030287254e4752c4"}, -] - -[package.extras] -all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "pycairo", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0)", "xattr", "zopfli (>=0.1.4)"] -graphite = ["lz4 (>=1.7.4.2)"] -interpolatable = ["munkres", "pycairo", "scipy"] -lxml = ["lxml (>=4.0)"] -pathops = ["skia-pathops (>=0.5.0)"] -plot = ["matplotlib"] -repacker = ["uharfbuzz (>=0.23.0)"] -symfont = ["sympy"] -type1 = ["xattr"] -ufo = ["fs (>=2.2.0,<3)"] -unicode = ["unicodedata2 (>=15.1.0)"] -woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] - -[[package]] -name = "fqdn" -version = "1.5.1" -description = "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers" -optional = false -python-versions = ">=2.7, !=3.0, !=3.1, !=3.2, !=3.3, !=3.4, <4" -files = [ - {file = "fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014"}, - {file = "fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f"}, -] - -[[package]] -name = "frozenlist" -version = "1.4.1" -description = "A list-like structure which implements collections.abc.MutableSequence" -optional = false -python-versions = ">=3.8" -files = [ - {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f9aa1878d1083b276b0196f2dfbe00c9b7e752475ed3b682025ff20c1c1f51ac"}, - {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29acab3f66f0f24674b7dc4736477bcd4bc3ad4b896f5f45379a67bce8b96868"}, - {file = "frozenlist-1.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74fb4bee6880b529a0c6560885fce4dc95936920f9f20f53d99a213f7bf66776"}, - {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:590344787a90ae57d62511dd7c736ed56b428f04cd8c161fcc5e7232c130c69a"}, - {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:068b63f23b17df8569b7fdca5517edef76171cf3897eb68beb01341131fbd2ad"}, - {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c849d495bf5154cd8da18a9eb15db127d4dba2968d88831aff6f0331ea9bd4c"}, - {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9750cc7fe1ae3b1611bb8cfc3f9ec11d532244235d75901fb6b8e42ce9229dfe"}, - {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9b2de4cf0cdd5bd2dee4c4f63a653c61d2408055ab77b151c1957f221cabf2a"}, - {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0633c8d5337cb5c77acbccc6357ac49a1770b8c487e5b3505c57b949b4b82e98"}, - {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:27657df69e8801be6c3638054e202a135c7f299267f1a55ed3a598934f6c0d75"}, - {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:f9a3ea26252bd92f570600098783d1371354d89d5f6b7dfd87359d669f2109b5"}, - {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:4f57dab5fe3407b6c0c1cc907ac98e8a189f9e418f3b6e54d65a718aaafe3950"}, - {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e02a0e11cf6597299b9f3bbd3f93d79217cb90cfd1411aec33848b13f5c656cc"}, - {file = "frozenlist-1.4.1-cp310-cp310-win32.whl", hash = "sha256:a828c57f00f729620a442881cc60e57cfcec6842ba38e1b19fd3e47ac0ff8dc1"}, - {file = "frozenlist-1.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:f56e2333dda1fe0f909e7cc59f021eba0d2307bc6f012a1ccf2beca6ba362439"}, - {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a0cb6f11204443f27a1628b0e460f37fb30f624be6051d490fa7d7e26d4af3d0"}, - {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b46c8ae3a8f1f41a0d2ef350c0b6e65822d80772fe46b653ab6b6274f61d4a49"}, - {file = "frozenlist-1.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fde5bd59ab5357e3853313127f4d3565fc7dad314a74d7b5d43c22c6a5ed2ced"}, - {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:722e1124aec435320ae01ee3ac7bec11a5d47f25d0ed6328f2273d287bc3abb0"}, - {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2471c201b70d58a0f0c1f91261542a03d9a5e088ed3dc6c160d614c01649c106"}, - {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c757a9dd70d72b076d6f68efdbb9bc943665ae954dad2801b874c8c69e185068"}, - {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f146e0911cb2f1da549fc58fc7bcd2b836a44b79ef871980d605ec392ff6b0d2"}, - {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f9c515e7914626b2a2e1e311794b4c35720a0be87af52b79ff8e1429fc25f19"}, - {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c302220494f5c1ebeb0912ea782bcd5e2f8308037b3c7553fad0e48ebad6ad82"}, - {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:442acde1e068288a4ba7acfe05f5f343e19fac87bfc96d89eb886b0363e977ec"}, - {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:1b280e6507ea8a4fa0c0a7150b4e526a8d113989e28eaaef946cc77ffd7efc0a"}, - {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:fe1a06da377e3a1062ae5fe0926e12b84eceb8a50b350ddca72dc85015873f74"}, - {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db9e724bebd621d9beca794f2a4ff1d26eed5965b004a97f1f1685a173b869c2"}, - {file = "frozenlist-1.4.1-cp311-cp311-win32.whl", hash = "sha256:e774d53b1a477a67838a904131c4b0eef6b3d8a651f8b138b04f748fccfefe17"}, - {file = "frozenlist-1.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:fb3c2db03683b5767dedb5769b8a40ebb47d6f7f45b1b3e3b4b51ec8ad9d9825"}, - {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1979bc0aeb89b33b588c51c54ab0161791149f2461ea7c7c946d95d5f93b56ae"}, - {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cc7b01b3754ea68a62bd77ce6020afaffb44a590c2289089289363472d13aedb"}, - {file = "frozenlist-1.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c9c92be9fd329ac801cc420e08452b70e7aeab94ea4233a4804f0915c14eba9b"}, - {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c3894db91f5a489fc8fa6a9991820f368f0b3cbdb9cd8849547ccfab3392d86"}, - {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba60bb19387e13597fb059f32cd4d59445d7b18b69a745b8f8e5db0346f33480"}, - {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8aefbba5f69d42246543407ed2461db31006b0f76c4e32dfd6f42215a2c41d09"}, - {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780d3a35680ced9ce682fbcf4cb9c2bad3136eeff760ab33707b71db84664e3a"}, - {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9acbb16f06fe7f52f441bb6f413ebae6c37baa6ef9edd49cdd567216da8600cd"}, - {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:23b701e65c7b36e4bf15546a89279bd4d8675faabc287d06bbcfac7d3c33e1e6"}, - {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3e0153a805a98f5ada7e09826255ba99fb4f7524bb81bf6b47fb702666484ae1"}, - {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:dd9b1baec094d91bf36ec729445f7769d0d0cf6b64d04d86e45baf89e2b9059b"}, - {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:1a4471094e146b6790f61b98616ab8e44f72661879cc63fa1049d13ef711e71e"}, - {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5667ed53d68d91920defdf4035d1cdaa3c3121dc0b113255124bcfada1cfa1b8"}, - {file = "frozenlist-1.4.1-cp312-cp312-win32.whl", hash = "sha256:beee944ae828747fd7cb216a70f120767fc9f4f00bacae8543c14a6831673f89"}, - {file = "frozenlist-1.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:64536573d0a2cb6e625cf309984e2d873979709f2cf22839bf2d61790b448ad5"}, - {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:20b51fa3f588ff2fe658663db52a41a4f7aa6c04f6201449c6c7c476bd255c0d"}, - {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:410478a0c562d1a5bcc2f7ea448359fcb050ed48b3c6f6f4f18c313a9bdb1826"}, - {file = "frozenlist-1.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c6321c9efe29975232da3bd0af0ad216800a47e93d763ce64f291917a381b8eb"}, - {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48f6a4533887e189dae092f1cf981f2e3885175f7a0f33c91fb5b7b682b6bab6"}, - {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6eb73fa5426ea69ee0e012fb59cdc76a15b1283d6e32e4f8dc4482ec67d1194d"}, - {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fbeb989b5cc29e8daf7f976b421c220f1b8c731cbf22b9130d8815418ea45887"}, - {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:32453c1de775c889eb4e22f1197fe3bdfe457d16476ea407472b9442e6295f7a"}, - {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693945278a31f2086d9bf3df0fe8254bbeaef1fe71e1351c3bd730aa7d31c41b"}, - {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1d0ce09d36d53bbbe566fe296965b23b961764c0bcf3ce2fa45f463745c04701"}, - {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3a670dc61eb0d0eb7080890c13de3066790f9049b47b0de04007090807c776b0"}, - {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:dca69045298ce5c11fd539682cff879cc1e664c245d1c64da929813e54241d11"}, - {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a06339f38e9ed3a64e4c4e43aec7f59084033647f908e4259d279a52d3757d09"}, - {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b7f2f9f912dca3934c1baec2e4585a674ef16fe00218d833856408c48d5beee7"}, - {file = "frozenlist-1.4.1-cp38-cp38-win32.whl", hash = "sha256:e7004be74cbb7d9f34553a5ce5fb08be14fb33bc86f332fb71cbe5216362a497"}, - {file = "frozenlist-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:5a7d70357e7cee13f470c7883a063aae5fe209a493c57d86eb7f5a6f910fae09"}, - {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bfa4a17e17ce9abf47a74ae02f32d014c5e9404b6d9ac7f729e01562bbee601e"}, - {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b7e3ed87d4138356775346e6845cccbe66cd9e207f3cd11d2f0b9fd13681359d"}, - {file = "frozenlist-1.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c99169d4ff810155ca50b4da3b075cbde79752443117d89429595c2e8e37fed8"}, - {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edb678da49d9f72c9f6c609fbe41a5dfb9a9282f9e6a2253d5a91e0fc382d7c0"}, - {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6db4667b187a6742b33afbbaf05a7bc551ffcf1ced0000a571aedbb4aa42fc7b"}, - {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55fdc093b5a3cb41d420884cdaf37a1e74c3c37a31f46e66286d9145d2063bd0"}, - {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82e8211d69a4f4bc360ea22cd6555f8e61a1bd211d1d5d39d3d228b48c83a897"}, - {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89aa2c2eeb20957be2d950b85974b30a01a762f3308cd02bb15e1ad632e22dc7"}, - {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d3e0c25a2350080e9319724dede4f31f43a6c9779be48021a7f4ebde8b2d742"}, - {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7268252af60904bf52c26173cbadc3a071cece75f873705419c8681f24d3edea"}, - {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:0c250a29735d4f15321007fb02865f0e6b6a41a6b88f1f523ca1596ab5f50bd5"}, - {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:96ec70beabbd3b10e8bfe52616a13561e58fe84c0101dd031dc78f250d5128b9"}, - {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:23b2d7679b73fe0e5a4560b672a39f98dfc6f60df63823b0a9970525325b95f6"}, - {file = "frozenlist-1.4.1-cp39-cp39-win32.whl", hash = "sha256:a7496bfe1da7fb1a4e1cc23bb67c58fab69311cc7d32b5a99c2007b4b2a0e932"}, - {file = "frozenlist-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:e6a20a581f9ce92d389a8c7d7c3dd47c81fd5d6e655c8dddf341e14aa48659d0"}, - {file = "frozenlist-1.4.1-py3-none-any.whl", hash = "sha256:04ced3e6a46b4cfffe20f9ae482818e34eba9b5fb0ce4056e4cc9b6e212d09b7"}, - {file = "frozenlist-1.4.1.tar.gz", hash = "sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b"}, -] - -[[package]] -name = "genson" -version = "1.3.0" -description = "GenSON is a powerful, user-friendly JSON Schema generator." -optional = false -python-versions = "*" -files = [ - {file = "genson-1.3.0-py3-none-any.whl", hash = "sha256:468feccd00274cc7e4c09e84b08704270ba8d95232aa280f65b986139cec67f7"}, - {file = "genson-1.3.0.tar.gz", hash = "sha256:e02db9ac2e3fd29e65b5286f7135762e2cd8a986537c075b06fc5f1517308e37"}, -] - -[[package]] -name = "ghp-import" -version = "2.1.0" -description = "Copy your docs directly to the gh-pages branch." -optional = false -python-versions = "*" -files = [ - {file = "ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"}, - {file = "ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619"}, -] - -[package.dependencies] -python-dateutil = ">=2.8.1" - -[package.extras] -dev = ["flake8", "markdown", "twine", "wheel"] - -[[package]] -name = "git-changelog" -version = "2.5.2" -description = "Automatic Changelog generator using Jinja2 templates." -optional = false -python-versions = ">=3.8" -files = [ - {file = "git_changelog-2.5.2-py3-none-any.whl", hash = "sha256:82eca31bd80fbd85e6b252fece82fe450706a7796b92c9d2c7f17c5944fe9ca7"}, - {file = "git_changelog-2.5.2.tar.gz", hash = "sha256:b71a404a524dc0b14a34f92d306ae011a05c5fcf7c78ee5b484af50ac44ced65"}, -] - -[package.dependencies] -appdirs = ">=1.4" -Jinja2 = ">=2.10" -packaging = ">=24.0" -semver = ">=2.13" -tomli = {version = ">=2.0", markers = "python_version < \"3.11\""} - -[[package]] -name = "gitdb" -version = "4.0.11" -description = "Git Object Database" -optional = false -python-versions = ">=3.7" -files = [ - {file = "gitdb-4.0.11-py3-none-any.whl", hash = "sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4"}, - {file = "gitdb-4.0.11.tar.gz", hash = "sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b"}, -] - -[package.dependencies] -smmap = ">=3.0.1,<6" - -[[package]] -name = "gitpython" -version = "3.1.43" -description = "GitPython is a Python library used to interact with Git repositories" -optional = false -python-versions = ">=3.7" -files = [ - {file = "GitPython-3.1.43-py3-none-any.whl", hash = "sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff"}, - {file = "GitPython-3.1.43.tar.gz", hash = "sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c"}, -] - -[package.dependencies] -gitdb = ">=4.0.1,<5" - -[package.extras] -doc = ["sphinx (==4.3.2)", "sphinx-autodoc-typehints", "sphinx-rtd-theme", "sphinxcontrib-applehelp (>=1.0.2,<=1.0.4)", "sphinxcontrib-devhelp (==1.0.2)", "sphinxcontrib-htmlhelp (>=2.0.0,<=2.0.1)", "sphinxcontrib-qthelp (==1.0.3)", "sphinxcontrib-serializinghtml (==1.1.5)"] -test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar", "typing-extensions"] - -[[package]] -name = "google-api-core" -version = "2.19.2" -description = "Google API client core library" -optional = false -python-versions = ">=3.7" -files = [ - {file = "google_api_core-2.19.2-py3-none-any.whl", hash = "sha256:53ec0258f2837dd53bbd3d3df50f5359281b3cc13f800c941dd15a9b5a415af4"}, - {file = "google_api_core-2.19.2.tar.gz", hash = "sha256:ca07de7e8aa1c98a8bfca9321890ad2340ef7f2eb136e558cee68f24b94b0a8f"}, -] - -[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" - -[package.extras] -grpc = ["grpcio (>=1.33.2,<2.0dev)", "grpcio (>=1.49.1,<2.0dev)", "grpcio-status (>=1.33.2,<2.0.dev0)", "grpcio-status (>=1.49.1,<2.0.dev0)"] -grpcgcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] -grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] - -[[package]] -name = "google-api-python-client" -version = "2.143.0" -description = "Google API Client Library for Python" -optional = false -python-versions = ">=3.7" -files = [ - {file = "google_api_python_client-2.143.0-py2.py3-none-any.whl", hash = "sha256:d5654134522b9b574b82234e96f7e0aeeabcbf33643fbabcd449ef0068e3a476"}, - {file = "google_api_python_client-2.143.0.tar.gz", hash = "sha256:6a75441f9078e6e2fcdf4946a153fda1e2cc81b5e9c8d6e8c0750c85c7f8a566"}, -] - -[package.dependencies] -google-api-core = ">=1.31.5,<2.0.dev0 || >2.3.0,<3.0.0.dev0" -google-auth = ">=1.32.0,<2.24.0 || >2.24.0,<2.25.0 || >2.25.0,<3.0.0.dev0" -google-auth-httplib2 = ">=0.2.0,<1.0.0" -httplib2 = ">=0.19.0,<1.dev0" -uritemplate = ">=3.0.1,<5" - -[[package]] -name = "google-auth" -version = "2.34.0" -description = "Google Authentication Library" -optional = false -python-versions = ">=3.7" -files = [ - {file = "google_auth-2.34.0-py2.py3-none-any.whl", hash = "sha256:72fd4733b80b6d777dcde515628a9eb4a577339437012874ea286bca7261ee65"}, - {file = "google_auth-2.34.0.tar.gz", hash = "sha256:8eb87396435c19b20d32abd2f984e31c191a15284af72eb922f10e5bde9c04cc"}, -] - -[package.dependencies] -cachetools = ">=2.0.0,<6.0" -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)"] -enterprise-cert = ["cryptography", "pyopenssl"] -pyopenssl = ["cryptography (>=38.0.3)", "pyopenssl (>=20.0.0)"] -reauth = ["pyu2f (>=0.1.5)"] -requests = ["requests (>=2.20.0,<3.0.0.dev0)"] - -[[package]] -name = "google-auth-httplib2" -version = "0.2.0" -description = "Google Authentication Library: httplib2 transport" -optional = false -python-versions = "*" -files = [ - {file = "google-auth-httplib2-0.2.0.tar.gz", hash = "sha256:38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05"}, - {file = "google_auth_httplib2-0.2.0-py2.py3-none-any.whl", hash = "sha256:b65a0a2123300dd71281a7bf6e64d65a0759287df52729bdd1ae2e47dc311a3d"}, -] - -[package.dependencies] -google-auth = "*" -httplib2 = ">=0.19.0" - -[[package]] -name = "google-auth-oauthlib" -version = "1.2.1" -description = "Google Authentication Library" -optional = false -python-versions = ">=3.6" -files = [ - {file = "google_auth_oauthlib-1.2.1-py2.py3-none-any.whl", hash = "sha256:2d58a27262d55aa1b87678c3ba7142a080098cbc2024f903c62355deb235d91f"}, - {file = "google_auth_oauthlib-1.2.1.tar.gz", hash = "sha256:afd0cad092a2eaa53cd8e8298557d6de1034c6cb4a740500b5357b648af97263"}, -] - -[package.dependencies] -google-auth = ">=2.15.0" -requests-oauthlib = ">=0.7.0" - -[package.extras] -tool = ["click (>=6.0.0)"] - -[[package]] -name = "googleapis-common-protos" -version = "1.65.0" -description = "Common protobufs used in Google APIs" -optional = false -python-versions = ">=3.7" -files = [ - {file = "googleapis_common_protos-1.65.0-py2.py3-none-any.whl", hash = "sha256:2972e6c496f435b92590fd54045060867f3fe9be2c82ab148fc8885035479a63"}, - {file = "googleapis_common_protos-1.65.0.tar.gz", hash = "sha256:334a29d07cddc3aa01dee4988f9afd9b2916ee2ff49d6b757155dc0d197852c0"}, -] - -[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" - -[package.extras] -grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] - -[[package]] -name = "h11" -version = "0.14.0" -description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" -optional = false -python-versions = ">=3.7" -files = [ - {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, - {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, -] - -[[package]] -name = "h2" -version = "4.1.0" -description = "HTTP/2 State-Machine based protocol implementation" -optional = false -python-versions = ">=3.6.1" -files = [ - {file = "h2-4.1.0-py3-none-any.whl", hash = "sha256:03a46bcf682256c95b5fd9e9a99c1323584c3eec6440d379b9903d709476bc6d"}, - {file = "h2-4.1.0.tar.gz", hash = "sha256:a83aca08fbe7aacb79fec788c9c0bac936343560ed9ec18b82a13a12c28d2abb"}, -] - -[package.dependencies] -hpack = ">=4.0,<5" -hyperframe = ">=6.0,<7" - -[[package]] -name = "hpack" -version = "4.0.0" -description = "Pure-Python HPACK header compression" -optional = false -python-versions = ">=3.6.1" -files = [ - {file = "hpack-4.0.0-py3-none-any.whl", hash = "sha256:84a076fad3dc9a9f8063ccb8041ef100867b1878b25ef0ee63847a5d53818a6c"}, - {file = "hpack-4.0.0.tar.gz", hash = "sha256:fc41de0c63e687ebffde81187a948221294896f6bdc0ae2312708df339430095"}, -] - -[[package]] -name = "httpcore" -version = "1.0.5" -description = "A minimal low-level HTTP client." -optional = false -python-versions = ">=3.8" -files = [ - {file = "httpcore-1.0.5-py3-none-any.whl", hash = "sha256:421f18bac248b25d310f3cacd198d55b8e6125c107797b609ff9b7a6ba7991b5"}, - {file = "httpcore-1.0.5.tar.gz", hash = "sha256:34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61"}, -] - -[package.dependencies] -certifi = "*" -h11 = ">=0.13,<0.15" - -[package.extras] -asyncio = ["anyio (>=4.0,<5.0)"] -http2 = ["h2 (>=3,<5)"] -socks = ["socksio (==1.*)"] -trio = ["trio (>=0.22.0,<0.26.0)"] - -[[package]] -name = "httplib2" -version = "0.22.0" -description = "A comprehensive HTTP client library." -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "httplib2-0.22.0-py3-none-any.whl", hash = "sha256:14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc"}, - {file = "httplib2-0.22.0.tar.gz", hash = "sha256:d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81"}, -] - -[package.dependencies] -pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0.2,<3.0.3 || >3.0.3,<4", markers = "python_version > \"3.0\""} - -[[package]] -name = "httpretty" -version = "1.1.4" -description = "HTTP client mock for Python" -optional = false -python-versions = ">=3" -files = [ - {file = "httpretty-1.1.4.tar.gz", hash = "sha256:20de0e5dd5a18292d36d928cc3d6e52f8b2ac73daec40d41eb62dee154933b68"}, -] - -[[package]] -name = "httpx" -version = "0.27.2" -description = "The next generation HTTP client." -optional = false -python-versions = ">=3.8" -files = [ - {file = "httpx-0.27.2-py3-none-any.whl", hash = "sha256:7bb2708e112d8fdd7829cd4243970f0c223274051cb35ee80c03301ee29a3df0"}, - {file = "httpx-0.27.2.tar.gz", hash = "sha256:f7c2be1d2f3c3c3160d441802406b206c2b76f5947b11115e6df10c6c65e66c2"}, -] - -[package.dependencies] -anyio = "*" -certifi = "*" -httpcore = "==1.*" -idna = "*" -sniffio = "*" - -[package.extras] -brotli = ["brotli", "brotlicffi"] -cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] -http2 = ["h2 (>=3,<5)"] -socks = ["socksio (==1.*)"] -zstd = ["zstandard (>=0.18.0)"] - -[[package]] -name = "humanfriendly" -version = "10.0" -description = "Human friendly output for text interfaces using Python" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477"}, - {file = "humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc"}, -] - -[package.dependencies] -pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_version >= \"3.8\""} - -[[package]] -name = "hypercorn" -version = "0.17.3" -description = "A ASGI Server based on Hyper libraries and inspired by Gunicorn" -optional = false -python-versions = ">=3.8" -files = [ - {file = "hypercorn-0.17.3-py3-none-any.whl", hash = "sha256:059215dec34537f9d40a69258d323f56344805efb462959e727152b0aa504547"}, - {file = "hypercorn-0.17.3.tar.gz", hash = "sha256:1b37802ee3ac52d2d85270700d565787ab16cf19e1462ccfa9f089ca17574165"}, -] - -[package.dependencies] -exceptiongroup = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -h11 = "*" -h2 = ">=3.1.0" -priority = "*" -taskgroup = {version = "*", markers = "python_version < \"3.11\""} -tomli = {version = "*", markers = "python_version < \"3.11\""} -typing_extensions = {version = "*", markers = "python_version < \"3.11\""} -wsproto = ">=0.14.0" - -[package.extras] -docs = ["pydata_sphinx_theme", "sphinxcontrib_mermaid"] -h3 = ["aioquic (>=0.9.0,<1.0)"] -trio = ["trio (>=0.22.0)"] -uvloop = ["uvloop (>=0.18)"] - -[[package]] -name = "hyperframe" -version = "6.0.1" -description = "HTTP/2 framing layer for Python" -optional = false -python-versions = ">=3.6.1" -files = [ - {file = "hyperframe-6.0.1-py3-none-any.whl", hash = "sha256:0ec6bafd80d8ad2195c4f03aacba3a8265e57bc4cff261e802bf39970ed02a15"}, - {file = "hyperframe-6.0.1.tar.gz", hash = "sha256:ae510046231dc8e9ecb1a6586f63d2347bf4c8905914aa84ba585ae85f28a914"}, -] - -[[package]] -name = "ic-py" -version = "1.0.1" -description = "Python Agent Library for the Internet Computer" -optional = false -python-versions = "*" -files = [ - {file = "ic-py-1.0.1.tar.gz", hash = "sha256:d44d3f4d127e928cdc6b898e68d08a826cb43bb19fafe6d429bafc74838d55c9"}, - {file = "ic_py-1.0.1-py3-none-any.whl", hash = "sha256:d72a214689ed8b2a645e9b5a910f62646b00e3375a1491910590fd5228aa6e9b"}, -] - -[package.dependencies] -antlr4-python3-runtime = "4.9.3" -cbor2 = ">=5.4.2" -ecdsa = ">=0.18.0b2" -httpx = ">=0.22.0" -leb128 = ">=1.0.4" -mnemonic = "0.20" -waiter = ">=1.2" - -[[package]] -name = "identify" -version = "2.6.0" -description = "File identification library for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "identify-2.6.0-py2.py3-none-any.whl", hash = "sha256:e79ae4406387a9d300332b5fd366d8994f1525e8414984e1a59e058b2eda2dd0"}, - {file = "identify-2.6.0.tar.gz", hash = "sha256:cb171c685bdc31bcc4c1734698736a7d5b6c8bf2e0c15117f4d469c8640ae5cf"}, -] - -[package.extras] -license = ["ukkonen"] - -[[package]] -name = "idna" -version = "3.8" -description = "Internationalized Domain Names in Applications (IDNA)" -optional = false -python-versions = ">=3.6" -files = [ - {file = "idna-3.8-py3-none-any.whl", hash = "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac"}, - {file = "idna-3.8.tar.gz", hash = "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603"}, -] - -[[package]] -name = "importlib-metadata" -version = "8.4.0" -description = "Read metadata from Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "importlib_metadata-8.4.0-py3-none-any.whl", hash = "sha256:66f342cc6ac9818fc6ff340576acd24d65ba0b3efabb2b4ac08b598965a4a2f1"}, - {file = "importlib_metadata-8.4.0.tar.gz", hash = "sha256:9a547d3bc3608b025f93d403fdd1aae741c24fbb8314df4b155675742ce303c5"}, -] - -[package.dependencies] -zipp = ">=0.5" - -[package.extras] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -perf = ["ipython"] -test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] - -[[package]] -name = "inflect" -version = "5.6.2" -description = "Correctly generate plurals, singular nouns, ordinals, indefinite articles; convert numbers to words" -optional = false -python-versions = ">=3.7" -files = [ - {file = "inflect-5.6.2-py3-none-any.whl", hash = "sha256:b45d91a4a28a4e617ff1821117439b06eaa86e2a4573154af0149e9be6687238"}, - {file = "inflect-5.6.2.tar.gz", hash = "sha256:aadc7ed73928f5e014129794bbac03058cca35d0a973a5fc4eb45c7fa26005f9"}, -] - -[package.extras] -docs = ["jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx"] -testing = ["pygments", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] - -[[package]] -name = "iniconfig" -version = "2.0.0" -description = "brain-dead simple config-ini parsing" -optional = false -python-versions = ">=3.7" -files = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, -] - -[[package]] -name = "installer" -version = "0.7.0" -description = "A library for installing Python wheels." -optional = false -python-versions = ">=3.7" -files = [ - {file = "installer-0.7.0-py3-none-any.whl", hash = "sha256:05d1933f0a5ba7d8d6296bb6d5018e7c94fa473ceb10cf198a92ccea19c27b53"}, - {file = "installer-0.7.0.tar.gz", hash = "sha256:a26d3e3116289bb08216e0d0f7d925fcef0b0194eedfa0c944bcaaa106c4b631"}, -] - -[[package]] -name = "ipykernel" -version = "6.29.5" -description = "IPython Kernel for Jupyter" -optional = false -python-versions = ">=3.8" -files = [ - {file = "ipykernel-6.29.5-py3-none-any.whl", hash = "sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5"}, - {file = "ipykernel-6.29.5.tar.gz", hash = "sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215"}, -] - -[package.dependencies] -appnope = {version = "*", markers = "platform_system == \"Darwin\""} -comm = ">=0.1.1" -debugpy = ">=1.6.5" -ipython = ">=7.23.1" -jupyter-client = ">=6.1.12" -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" -matplotlib-inline = ">=0.1" -nest-asyncio = "*" -packaging = "*" -psutil = "*" -pyzmq = ">=24" -tornado = ">=6.1" -traitlets = ">=5.4.0" - -[package.extras] -cov = ["coverage[toml]", "curio", "matplotlib", "pytest-cov", "trio"] -docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "trio"] -pyqt5 = ["pyqt5"] -pyside6 = ["pyside6"] -test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.23.5)", "pytest-cov", "pytest-timeout"] - -[[package]] -name = "ipython" -version = "8.27.0" -description = "IPython: Productive Interactive Computing" -optional = false -python-versions = ">=3.10" -files = [ - {file = "ipython-8.27.0-py3-none-any.whl", hash = "sha256:f68b3cb8bde357a5d7adc9598d57e22a45dfbea19eb6b98286fa3b288c9cd55c"}, - {file = "ipython-8.27.0.tar.gz", hash = "sha256:0b99a2dc9f15fd68692e898e5568725c6d49c527d36a9fb5960ffbdeaa82ff7e"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "sys_platform == \"win32\""} -decorator = "*" -exceptiongroup = {version = "*", markers = "python_version < \"3.11\""} -jedi = ">=0.16" -matplotlib-inline = "*" -pexpect = {version = ">4.3", markers = "sys_platform != \"win32\" and sys_platform != \"emscripten\""} -prompt-toolkit = ">=3.0.41,<3.1.0" -pygments = ">=2.4.0" -stack-data = "*" -traitlets = ">=5.13.0" -typing-extensions = {version = ">=4.6", markers = "python_version < \"3.12\""} - -[package.extras] -all = ["ipython[black,doc,kernel,matplotlib,nbconvert,nbformat,notebook,parallel,qtconsole]", "ipython[test,test-extra]"] -black = ["black"] -doc = ["docrepr", "exceptiongroup", "intersphinx-registry", "ipykernel", "ipython[test]", "matplotlib", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "sphinxcontrib-jquery", "tomli", "typing-extensions"] -kernel = ["ipykernel"] -matplotlib = ["matplotlib"] -nbconvert = ["nbconvert"] -nbformat = ["nbformat"] -notebook = ["ipywidgets", "notebook"] -parallel = ["ipyparallel"] -qtconsole = ["qtconsole"] -test = ["packaging", "pickleshare", "pytest", "pytest-asyncio (<0.22)", "testpath"] -test-extra = ["curio", "ipython[test]", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.23)", "pandas", "trio"] - -[[package]] -name = "ipywidgets" -version = "8.1.5" -description = "Jupyter interactive widgets" -optional = false -python-versions = ">=3.7" -files = [ - {file = "ipywidgets-8.1.5-py3-none-any.whl", hash = "sha256:3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245"}, - {file = "ipywidgets-8.1.5.tar.gz", hash = "sha256:870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17"}, -] - -[package.dependencies] -comm = ">=0.1.3" -ipython = ">=6.1.0" -jupyterlab-widgets = ">=3.0.12,<3.1.0" -traitlets = ">=4.3.1" -widgetsnbextension = ">=4.0.12,<4.1.0" - -[package.extras] -test = ["ipykernel", "jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"] - -[[package]] -name = "isoduration" -version = "20.11.0" -description = "Operations with ISO 8601 durations" -optional = false -python-versions = ">=3.7" -files = [ - {file = "isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042"}, - {file = "isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9"}, -] - -[package.dependencies] -arrow = ">=0.15.0" - -[[package]] -name = "isort" -version = "5.13.2" -description = "A Python utility / library to sort Python imports." -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, - {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, -] - -[package.extras] -colors = ["colorama (>=0.4.6)"] - -[[package]] -name = "itsdangerous" -version = "2.2.0" -description = "Safely pass data to untrusted environments and back." -optional = false -python-versions = ">=3.8" -files = [ - {file = "itsdangerous-2.2.0-py3-none-any.whl", hash = "sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef"}, - {file = "itsdangerous-2.2.0.tar.gz", hash = "sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173"}, -] - -[[package]] -name = "jaraco-classes" -version = "3.4.0" -description = "Utility functions for Python class constructs" -optional = false -python-versions = ">=3.8" -files = [ - {file = "jaraco.classes-3.4.0-py3-none-any.whl", hash = "sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790"}, - {file = "jaraco.classes-3.4.0.tar.gz", hash = "sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd"}, -] - -[package.dependencies] -more-itertools = "*" - -[package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)"] - -[[package]] -name = "jedi" -version = "0.19.1" -description = "An autocompletion tool for Python that can be used for text editors." -optional = false -python-versions = ">=3.6" -files = [ - {file = "jedi-0.19.1-py2.py3-none-any.whl", hash = "sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0"}, - {file = "jedi-0.19.1.tar.gz", hash = "sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd"}, -] - -[package.dependencies] -parso = ">=0.8.3,<0.9.0" - -[package.extras] -docs = ["Jinja2 (==2.11.3)", "MarkupSafe (==1.1.1)", "Pygments (==2.8.1)", "alabaster (==0.7.12)", "babel (==2.9.1)", "chardet (==4.0.0)", "commonmark (==0.8.1)", "docutils (==0.17.1)", "future (==0.18.2)", "idna (==2.10)", "imagesize (==1.2.0)", "mock (==1.0.1)", "packaging (==20.9)", "pyparsing (==2.4.7)", "pytz (==2021.1)", "readthedocs-sphinx-ext (==2.1.4)", "recommonmark (==0.5.0)", "requests (==2.25.1)", "six (==1.15.0)", "snowballstemmer (==2.1.0)", "sphinx (==1.8.5)", "sphinx-rtd-theme (==0.4.3)", "sphinxcontrib-serializinghtml (==1.1.4)", "sphinxcontrib-websupport (==1.2.4)", "urllib3 (==1.26.4)"] -qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] -testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] - -[[package]] -name = "jeepney" -version = "0.8.0" -description = "Low-level, pure Python DBus protocol wrapper." -optional = false -python-versions = ">=3.7" -files = [ - {file = "jeepney-0.8.0-py3-none-any.whl", hash = "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755"}, - {file = "jeepney-0.8.0.tar.gz", hash = "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806"}, -] - -[package.extras] -test = ["async-timeout", "pytest", "pytest-asyncio (>=0.17)", "pytest-trio", "testpath", "trio"] -trio = ["async_generator", "trio"] - -[[package]] -name = "jinja2" -version = "3.1.4" -description = "A very fast and expressive template engine." -optional = false -python-versions = ">=3.7" -files = [ - {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, - {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, -] - -[package.dependencies] -MarkupSafe = ">=2.0" - -[package.extras] -i18n = ["Babel (>=2.7)"] - -[[package]] -name = "jmespath" -version = "1.0.1" -description = "JSON Matching Expressions" -optional = false -python-versions = ">=3.7" -files = [ - {file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"}, - {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, -] - -[[package]] -name = "json5" -version = "0.9.25" -description = "A Python implementation of the JSON5 data format." -optional = false -python-versions = ">=3.8" -files = [ - {file = "json5-0.9.25-py3-none-any.whl", hash = "sha256:34ed7d834b1341a86987ed52f3f76cd8ee184394906b6e22a1e0deb9ab294e8f"}, - {file = "json5-0.9.25.tar.gz", hash = "sha256:548e41b9be043f9426776f05df8635a00fe06104ea51ed24b67f908856e151ae"}, -] - -[[package]] -name = "jsonpointer" -version = "3.0.0" -description = "Identify specific nodes in a JSON document (RFC 6901)" -optional = false -python-versions = ">=3.7" -files = [ - {file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"}, - {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"}, -] - -[[package]] -name = "jsonschema" -version = "4.23.0" -description = "An implementation of JSON Schema validation for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"}, - {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"}, -] - -[package.dependencies] -attrs = ">=22.2.0" -fqdn = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} -idna = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} -isoduration = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} -jsonpointer = {version = ">1.13", optional = true, markers = "extra == \"format-nongpl\""} -jsonschema-specifications = ">=2023.03.6" -referencing = ">=0.28.4" -rfc3339-validator = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} -rfc3986-validator = {version = ">0.1.0", optional = true, markers = "extra == \"format-nongpl\""} -rpds-py = ">=0.7.1" -uri-template = {version = "*", optional = true, markers = "extra == \"format-nongpl\""} -webcolors = {version = ">=24.6.0", optional = true, markers = "extra == \"format-nongpl\""} - -[package.extras] -format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] -format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=24.6.0)"] - -[[package]] -name = "jsonschema-specifications" -version = "2023.12.1" -description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" -optional = false -python-versions = ">=3.8" -files = [ - {file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"}, - {file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"}, -] - -[package.dependencies] -referencing = ">=0.31.0" - -[[package]] -name = "jupyter" -version = "1.1.1" -description = "Jupyter metapackage. Install all the Jupyter components in one go." -optional = false -python-versions = "*" -files = [ - {file = "jupyter-1.1.1-py2.py3-none-any.whl", hash = "sha256:7a59533c22af65439b24bbe60373a4e95af8f16ac65a6c00820ad378e3f7cc83"}, - {file = "jupyter-1.1.1.tar.gz", hash = "sha256:d55467bceabdea49d7e3624af7e33d59c37fff53ed3a350e1ac957bed731de7a"}, -] - -[package.dependencies] -ipykernel = "*" -ipywidgets = "*" -jupyter-console = "*" -jupyterlab = "*" -nbconvert = "*" -notebook = "*" - -[[package]] -name = "jupyter-client" -version = "8.6.2" -description = "Jupyter protocol implementation and client libraries" -optional = false -python-versions = ">=3.8" -files = [ - {file = "jupyter_client-8.6.2-py3-none-any.whl", hash = "sha256:50cbc5c66fd1b8f65ecb66bc490ab73217993632809b6e505687de18e9dea39f"}, - {file = "jupyter_client-8.6.2.tar.gz", hash = "sha256:2bda14d55ee5ba58552a8c53ae43d215ad9868853489213f37da060ced54d8df"}, -] - -[package.dependencies] -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" -python-dateutil = ">=2.8.2" -pyzmq = ">=23.0" -tornado = ">=6.2" -traitlets = ">=5.3" - -[package.extras] -docs = ["ipykernel", "myst-parser", "pydata-sphinx-theme", "sphinx (>=4)", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] -test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest (<8.2.0)", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"] - -[[package]] -name = "jupyter-console" -version = "6.6.3" -description = "Jupyter terminal console" -optional = false -python-versions = ">=3.7" -files = [ - {file = "jupyter_console-6.6.3-py3-none-any.whl", hash = "sha256:309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485"}, - {file = "jupyter_console-6.6.3.tar.gz", hash = "sha256:566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539"}, -] - -[package.dependencies] -ipykernel = ">=6.14" -ipython = "*" -jupyter-client = ">=7.0.0" -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" -prompt-toolkit = ">=3.0.30" -pygments = "*" -pyzmq = ">=17" -traitlets = ">=5.4" - -[package.extras] -test = ["flaky", "pexpect", "pytest"] - -[[package]] -name = "jupyter-core" -version = "5.7.2" -description = "Jupyter core package. A base package on which Jupyter projects rely." -optional = false -python-versions = ">=3.8" -files = [ - {file = "jupyter_core-5.7.2-py3-none-any.whl", hash = "sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409"}, - {file = "jupyter_core-5.7.2.tar.gz", hash = "sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9"}, -] - -[package.dependencies] -platformdirs = ">=2.5" -pywin32 = {version = ">=300", markers = "sys_platform == \"win32\" and platform_python_implementation != \"PyPy\""} -traitlets = ">=5.3" - -[package.extras] -docs = ["myst-parser", "pydata-sphinx-theme", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "traitlets"] -test = ["ipykernel", "pre-commit", "pytest (<8)", "pytest-cov", "pytest-timeout"] - -[[package]] -name = "jupyter-events" -version = "0.10.0" -description = "Jupyter Event System library" -optional = false -python-versions = ">=3.8" -files = [ - {file = "jupyter_events-0.10.0-py3-none-any.whl", hash = "sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960"}, - {file = "jupyter_events-0.10.0.tar.gz", hash = "sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22"}, -] - -[package.dependencies] -jsonschema = {version = ">=4.18.0", extras = ["format-nongpl"]} -python-json-logger = ">=2.0.4" -pyyaml = ">=5.3" -referencing = "*" -rfc3339-validator = "*" -rfc3986-validator = ">=0.1.1" -traitlets = ">=5.3" - -[package.extras] -cli = ["click", "rich"] -docs = ["jupyterlite-sphinx", "myst-parser", "pydata-sphinx-theme", "sphinxcontrib-spelling"] -test = ["click", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.19.0)", "pytest-console-scripts", "rich"] - -[[package]] -name = "jupyter-lsp" -version = "2.2.5" -description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server" -optional = false -python-versions = ">=3.8" -files = [ - {file = "jupyter-lsp-2.2.5.tar.gz", hash = "sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001"}, - {file = "jupyter_lsp-2.2.5-py3-none-any.whl", hash = "sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da"}, -] - -[package.dependencies] -jupyter-server = ">=1.1.2" - -[[package]] -name = "jupyter-server" -version = "2.14.2" -description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." -optional = false -python-versions = ">=3.8" -files = [ - {file = "jupyter_server-2.14.2-py3-none-any.whl", hash = "sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd"}, - {file = "jupyter_server-2.14.2.tar.gz", hash = "sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b"}, -] - -[package.dependencies] -anyio = ">=3.1.0" -argon2-cffi = ">=21.1" -jinja2 = ">=3.0.3" -jupyter-client = ">=7.4.4" -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" -jupyter-events = ">=0.9.0" -jupyter-server-terminals = ">=0.4.4" -nbconvert = ">=6.4.4" -nbformat = ">=5.3.0" -overrides = ">=5.0" -packaging = ">=22.0" -prometheus-client = ">=0.9" -pywinpty = {version = ">=2.0.1", markers = "os_name == \"nt\""} -pyzmq = ">=24" -send2trash = ">=1.8.2" -terminado = ">=0.8.3" -tornado = ">=6.2.0" -traitlets = ">=5.6.0" -websocket-client = ">=1.7" - -[package.extras] -docs = ["ipykernel", "jinja2", "jupyter-client", "myst-parser", "nbformat", "prometheus-client", "pydata-sphinx-theme", "send2trash", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-openapi (>=0.8.0)", "sphinxcontrib-spelling", "sphinxemoji", "tornado", "typing-extensions"] -test = ["flaky", "ipykernel", "pre-commit", "pytest (>=7.0,<9)", "pytest-console-scripts", "pytest-jupyter[server] (>=0.7)", "pytest-timeout", "requests"] - -[[package]] -name = "jupyter-server-terminals" -version = "0.5.3" -description = "A Jupyter Server Extension Providing Terminals." -optional = false -python-versions = ">=3.8" -files = [ - {file = "jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa"}, - {file = "jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269"}, -] - -[package.dependencies] -pywinpty = {version = ">=2.0.3", markers = "os_name == \"nt\""} -terminado = ">=0.8.3" - -[package.extras] -docs = ["jinja2", "jupyter-server", "mistune (<4.0)", "myst-parser", "nbformat", "packaging", "pydata-sphinx-theme", "sphinxcontrib-github-alt", "sphinxcontrib-openapi", "sphinxcontrib-spelling", "sphinxemoji", "tornado"] -test = ["jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-jupyter[server] (>=0.5.3)", "pytest-timeout"] - -[[package]] -name = "jupyterlab" -version = "4.2.5" -description = "JupyterLab computational environment" -optional = false -python-versions = ">=3.8" -files = [ - {file = "jupyterlab-4.2.5-py3-none-any.whl", hash = "sha256:73b6e0775d41a9fee7ee756c80f58a6bed4040869ccc21411dc559818874d321"}, - {file = "jupyterlab-4.2.5.tar.gz", hash = "sha256:ae7f3a1b8cb88b4f55009ce79fa7c06f99d70cd63601ee4aa91815d054f46f75"}, -] - -[package.dependencies] -async-lru = ">=1.0.0" -httpx = ">=0.25.0" -ipykernel = ">=6.5.0" -jinja2 = ">=3.0.3" -jupyter-core = "*" -jupyter-lsp = ">=2.0.0" -jupyter-server = ">=2.4.0,<3" -jupyterlab-server = ">=2.27.1,<3" -notebook-shim = ">=0.2" -packaging = "*" -setuptools = ">=40.1.0" -tomli = {version = ">=1.2.2", markers = "python_version < \"3.11\""} -tornado = ">=6.2.0" -traitlets = "*" - -[package.extras] -dev = ["build", "bump2version", "coverage", "hatch", "pre-commit", "pytest-cov", "ruff (==0.3.5)"] -docs = ["jsx-lexer", "myst-parser", "pydata-sphinx-theme (>=0.13.0)", "pytest", "pytest-check-links", "pytest-jupyter", "sphinx (>=1.8,<7.3.0)", "sphinx-copybutton"] -docs-screenshots = ["altair (==5.3.0)", "ipython (==8.16.1)", "ipywidgets (==8.1.2)", "jupyterlab-geojson (==3.4.0)", "jupyterlab-language-pack-zh-cn (==4.1.post2)", "matplotlib (==3.8.3)", "nbconvert (>=7.0.0)", "pandas (==2.2.1)", "scipy (==1.12.0)", "vega-datasets (==0.9.0)"] -test = ["coverage", "pytest (>=7.0)", "pytest-check-links (>=0.7)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter (>=0.5.3)", "pytest-timeout", "pytest-tornasync", "requests", "requests-cache", "virtualenv"] -upgrade-extension = ["copier (>=9,<10)", "jinja2-time (<0.3)", "pydantic (<3.0)", "pyyaml-include (<3.0)", "tomli-w (<2.0)"] - -[[package]] -name = "jupyterlab-pygments" -version = "0.3.0" -description = "Pygments theme using JupyterLab CSS variables" -optional = false -python-versions = ">=3.8" -files = [ - {file = "jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780"}, - {file = "jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d"}, -] - -[[package]] -name = "jupyterlab-server" -version = "2.27.3" -description = "A set of server components for JupyterLab and JupyterLab like applications." -optional = false -python-versions = ">=3.8" -files = [ - {file = "jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4"}, - {file = "jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4"}, -] - -[package.dependencies] -babel = ">=2.10" -jinja2 = ">=3.0.3" -json5 = ">=0.9.0" -jsonschema = ">=4.18.0" -jupyter-server = ">=1.21,<3" -packaging = ">=21.3" -requests = ">=2.31" - -[package.extras] -docs = ["autodoc-traits", "jinja2 (<3.2.0)", "mistune (<4)", "myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-copybutton", "sphinxcontrib-openapi (>0.8)"] -openapi = ["openapi-core (>=0.18.0,<0.19.0)", "ruamel-yaml"] -test = ["hatch", "ipykernel", "openapi-core (>=0.18.0,<0.19.0)", "openapi-spec-validator (>=0.6.0,<0.8.0)", "pytest (>=7.0,<8)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter[server] (>=0.6.2)", "pytest-timeout", "requests-mock", "ruamel-yaml", "sphinxcontrib-spelling", "strict-rfc3339", "werkzeug"] - -[[package]] -name = "jupyterlab-widgets" -version = "3.0.13" -description = "Jupyter interactive widgets for JupyterLab" -optional = false -python-versions = ">=3.7" -files = [ - {file = "jupyterlab_widgets-3.0.13-py3-none-any.whl", hash = "sha256:e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54"}, - {file = "jupyterlab_widgets-3.0.13.tar.gz", hash = "sha256:a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed"}, -] - -[[package]] -name = "keyring" -version = "24.3.1" -description = "Store and access your passwords safely." -optional = false -python-versions = ">=3.8" -files = [ - {file = "keyring-24.3.1-py3-none-any.whl", hash = "sha256:df38a4d7419a6a60fea5cef1e45a948a3e8430dd12ad88b0f423c5c143906218"}, - {file = "keyring-24.3.1.tar.gz", hash = "sha256:c3327b6ffafc0e8befbdb597cacdb4928ffe5c1212f7645f186e6d9957a898db"}, -] - -[package.dependencies] -importlib-metadata = {version = ">=4.11.4", markers = "python_version < \"3.12\""} -"jaraco.classes" = "*" -jeepney = {version = ">=0.4.2", markers = "sys_platform == \"linux\""} -pywin32-ctypes = {version = ">=0.2.0", markers = "sys_platform == \"win32\""} -SecretStorage = {version = ">=3.2", markers = "sys_platform == \"linux\""} - -[package.extras] -completion = ["shtab (>=1.1.0)"] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-ruff (>=0.2.1)"] - -[[package]] -name = "kiwisolver" -version = "1.4.5" -description = "A fast implementation of the Cassowary constraint solver" -optional = false -python-versions = ">=3.7" -files = [ - {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:05703cf211d585109fcd72207a31bb170a0f22144d68298dc5e61b3c946518af"}, - {file = "kiwisolver-1.4.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:146d14bebb7f1dc4d5fbf74f8a6cb15ac42baadee8912eb84ac0b3b2a3dc6ac3"}, - {file = "kiwisolver-1.4.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6ef7afcd2d281494c0a9101d5c571970708ad911d028137cd558f02b851c08b4"}, - {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9eaa8b117dc8337728e834b9c6e2611f10c79e38f65157c4c38e9400286f5cb1"}, - {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ec20916e7b4cbfb1f12380e46486ec4bcbaa91a9c448b97023fde0d5bbf9e4ff"}, - {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39b42c68602539407884cf70d6a480a469b93b81b7701378ba5e2328660c847a"}, - {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa12042de0171fad672b6c59df69106d20d5596e4f87b5e8f76df757a7c399aa"}, - {file = "kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a40773c71d7ccdd3798f6489aaac9eee213d566850a9533f8d26332d626b82c"}, - {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:19df6e621f6d8b4b9c4d45f40a66839294ff2bb235e64d2178f7522d9170ac5b"}, - {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:83d78376d0d4fd884e2c114d0621624b73d2aba4e2788182d286309ebdeed770"}, - {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e391b1f0a8a5a10ab3b9bb6afcfd74f2175f24f8975fb87ecae700d1503cdee0"}, - {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:852542f9481f4a62dbb5dd99e8ab7aedfeb8fb6342349a181d4036877410f525"}, - {file = "kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59edc41b24031bc25108e210c0def6f6c2191210492a972d585a06ff246bb79b"}, - {file = "kiwisolver-1.4.5-cp310-cp310-win32.whl", hash = "sha256:a6aa6315319a052b4ee378aa171959c898a6183f15c1e541821c5c59beaa0238"}, - {file = "kiwisolver-1.4.5-cp310-cp310-win_amd64.whl", hash = "sha256:d0ef46024e6a3d79c01ff13801cb19d0cad7fd859b15037aec74315540acc276"}, - {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:11863aa14a51fd6ec28688d76f1735f8f69ab1fabf388851a595d0721af042f5"}, - {file = "kiwisolver-1.4.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8ab3919a9997ab7ef2fbbed0cc99bb28d3c13e6d4b1ad36e97e482558a91be90"}, - {file = "kiwisolver-1.4.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fcc700eadbbccbf6bc1bcb9dbe0786b4b1cb91ca0dcda336eef5c2beed37b797"}, - {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dfdd7c0b105af050eb3d64997809dc21da247cf44e63dc73ff0fd20b96be55a9"}, - {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76c6a5964640638cdeaa0c359382e5703e9293030fe730018ca06bc2010c4437"}, - {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbea0db94288e29afcc4c28afbf3a7ccaf2d7e027489c449cf7e8f83c6346eb9"}, - {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ceec1a6bc6cab1d6ff5d06592a91a692f90ec7505d6463a88a52cc0eb58545da"}, - {file = "kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:040c1aebeda72197ef477a906782b5ab0d387642e93bda547336b8957c61022e"}, - {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f91de7223d4c7b793867797bacd1ee53bfe7359bd70d27b7b58a04efbb9436c8"}, - {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:faae4860798c31530dd184046a900e652c95513796ef51a12bc086710c2eec4d"}, - {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0157420efcb803e71d1b28e2c287518b8808b7cf1ab8af36718fd0a2c453eb0"}, - {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:06f54715b7737c2fecdbf140d1afb11a33d59508a47bf11bb38ecf21dc9ab79f"}, - {file = "kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fdb7adb641a0d13bdcd4ef48e062363d8a9ad4a182ac7647ec88f695e719ae9f"}, - {file = "kiwisolver-1.4.5-cp311-cp311-win32.whl", hash = "sha256:bb86433b1cfe686da83ce32a9d3a8dd308e85c76b60896d58f082136f10bffac"}, - {file = "kiwisolver-1.4.5-cp311-cp311-win_amd64.whl", hash = "sha256:6c08e1312a9cf1074d17b17728d3dfce2a5125b2d791527f33ffbe805200a355"}, - {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:32d5cf40c4f7c7b3ca500f8985eb3fb3a7dfc023215e876f207956b5ea26632a"}, - {file = "kiwisolver-1.4.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f846c260f483d1fd217fe5ed7c173fb109efa6b1fc8381c8b7552c5781756192"}, - {file = "kiwisolver-1.4.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ff5cf3571589b6d13bfbfd6bcd7a3f659e42f96b5fd1c4830c4cf21d4f5ef45"}, - {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7269d9e5f1084a653d575c7ec012ff57f0c042258bf5db0954bf551c158466e7"}, - {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da802a19d6e15dffe4b0c24b38b3af68e6c1a68e6e1d8f30148c83864f3881db"}, - {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3aba7311af82e335dd1e36ffff68aaca609ca6290c2cb6d821a39aa075d8e3ff"}, - {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:763773d53f07244148ccac5b084da5adb90bfaee39c197554f01b286cf869228"}, - {file = "kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2270953c0d8cdab5d422bee7d2007f043473f9d2999631c86a223c9db56cbd16"}, - {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d099e745a512f7e3bbe7249ca835f4d357c586d78d79ae8f1dcd4d8adeb9bda9"}, - {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:74db36e14a7d1ce0986fa104f7d5637aea5c82ca6326ed0ec5694280942d1162"}, - {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e5bab140c309cb3a6ce373a9e71eb7e4873c70c2dda01df6820474f9889d6d4"}, - {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0f114aa76dc1b8f636d077979c0ac22e7cd8f3493abbab152f20eb8d3cda71f3"}, - {file = "kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:88a2df29d4724b9237fc0c6eaf2a1adae0cdc0b3e9f4d8e7dc54b16812d2d81a"}, - {file = "kiwisolver-1.4.5-cp312-cp312-win32.whl", hash = "sha256:72d40b33e834371fd330fb1472ca19d9b8327acb79a5821d4008391db8e29f20"}, - {file = "kiwisolver-1.4.5-cp312-cp312-win_amd64.whl", hash = "sha256:2c5674c4e74d939b9d91dda0fae10597ac7521768fec9e399c70a1f27e2ea2d9"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3a2b053a0ab7a3960c98725cfb0bf5b48ba82f64ec95fe06f1d06c99b552e130"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cd32d6c13807e5c66a7cbb79f90b553642f296ae4518a60d8d76243b0ad2898"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59ec7b7c7e1a61061850d53aaf8e93db63dce0c936db1fda2658b70e4a1be709"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:da4cfb373035def307905d05041c1d06d8936452fe89d464743ae7fb8371078b"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2400873bccc260b6ae184b2b8a4fec0e4082d30648eadb7c3d9a13405d861e89"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:1b04139c4236a0f3aff534479b58f6f849a8b351e1314826c2d230849ed48985"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:4e66e81a5779b65ac21764c295087de82235597a2293d18d943f8e9e32746265"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:7931d8f1f67c4be9ba1dd9c451fb0eeca1a25b89e4d3f89e828fe12a519b782a"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:b3f7e75f3015df442238cca659f8baa5f42ce2a8582727981cbfa15fee0ee205"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:bbf1d63eef84b2e8c89011b7f2235b1e0bf7dacc11cac9431fc6468e99ac77fb"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:4c380469bd3f970ef677bf2bcba2b6b0b4d5c75e7a020fb863ef75084efad66f"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-win32.whl", hash = "sha256:9408acf3270c4b6baad483865191e3e582b638b1654a007c62e3efe96f09a9a3"}, - {file = "kiwisolver-1.4.5-cp37-cp37m-win_amd64.whl", hash = "sha256:5b94529f9b2591b7af5f3e0e730a4e0a41ea174af35a4fd067775f9bdfeee01a"}, - {file = "kiwisolver-1.4.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:11c7de8f692fc99816e8ac50d1d1aef4f75126eefc33ac79aac02c099fd3db71"}, - {file = "kiwisolver-1.4.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:53abb58632235cd154176ced1ae8f0d29a6657aa1aa9decf50b899b755bc2b93"}, - {file = "kiwisolver-1.4.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:88b9f257ca61b838b6f8094a62418421f87ac2a1069f7e896c36a7d86b5d4c29"}, - {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3195782b26fc03aa9c6913d5bad5aeb864bdc372924c093b0f1cebad603dd712"}, - {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fc579bf0f502e54926519451b920e875f433aceb4624a3646b3252b5caa9e0b6"}, - {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a580c91d686376f0f7c295357595c5a026e6cbc3d77b7c36e290201e7c11ecb"}, - {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cfe6ab8da05c01ba6fbea630377b5da2cd9bcbc6338510116b01c1bc939a2c18"}, - {file = "kiwisolver-1.4.5-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:d2e5a98f0ec99beb3c10e13b387f8db39106d53993f498b295f0c914328b1333"}, - {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a51a263952b1429e429ff236d2f5a21c5125437861baeed77f5e1cc2d2c7c6da"}, - {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3edd2fa14e68c9be82c5b16689e8d63d89fe927e56debd6e1dbce7a26a17f81b"}, - {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:74d1b44c6cfc897df648cc9fdaa09bc3e7679926e6f96df05775d4fb3946571c"}, - {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:76d9289ed3f7501012e05abb8358bbb129149dbd173f1f57a1bf1c22d19ab7cc"}, - {file = "kiwisolver-1.4.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:92dea1ffe3714fa8eb6a314d2b3c773208d865a0e0d35e713ec54eea08a66250"}, - {file = "kiwisolver-1.4.5-cp38-cp38-win32.whl", hash = "sha256:5c90ae8c8d32e472be041e76f9d2f2dbff4d0b0be8bd4041770eddb18cf49a4e"}, - {file = "kiwisolver-1.4.5-cp38-cp38-win_amd64.whl", hash = "sha256:c7940c1dc63eb37a67721b10d703247552416f719c4188c54e04334321351ced"}, - {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9407b6a5f0d675e8a827ad8742e1d6b49d9c1a1da5d952a67d50ef5f4170b18d"}, - {file = "kiwisolver-1.4.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:15568384086b6df3c65353820a4473575dbad192e35010f622c6ce3eebd57af9"}, - {file = "kiwisolver-1.4.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0dc9db8e79f0036e8173c466d21ef18e1befc02de8bf8aa8dc0813a6dc8a7046"}, - {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cdc8a402aaee9a798b50d8b827d7ecf75edc5fb35ea0f91f213ff927c15f4ff0"}, - {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6c3bd3cde54cafb87d74d8db50b909705c62b17c2099b8f2e25b461882e544ff"}, - {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:955e8513d07a283056b1396e9a57ceddbd272d9252c14f154d450d227606eb54"}, - {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:346f5343b9e3f00b8db8ba359350eb124b98c99efd0b408728ac6ebf38173958"}, - {file = "kiwisolver-1.4.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9098e0049e88c6a24ff64545cdfc50807818ba6c1b739cae221bbbcbc58aad3"}, - {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:00bd361b903dc4bbf4eb165f24d1acbee754fce22ded24c3d56eec268658a5cf"}, - {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7b8b454bac16428b22560d0a1cf0a09875339cab69df61d7805bf48919415901"}, - {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f1d072c2eb0ad60d4c183f3fb44ac6f73fb7a8f16a2694a91f988275cbf352f9"}, - {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:31a82d498054cac9f6d0b53d02bb85811185bcb477d4b60144f915f3b3126342"}, - {file = "kiwisolver-1.4.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6512cb89e334e4700febbffaaa52761b65b4f5a3cf33f960213d5656cea36a77"}, - {file = "kiwisolver-1.4.5-cp39-cp39-win32.whl", hash = "sha256:9db8ea4c388fdb0f780fe91346fd438657ea602d58348753d9fb265ce1bca67f"}, - {file = "kiwisolver-1.4.5-cp39-cp39-win_amd64.whl", hash = "sha256:59415f46a37f7f2efeec758353dd2eae1b07640d8ca0f0c42548ec4125492635"}, - {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5c7b3b3a728dc6faf3fc372ef24f21d1e3cee2ac3e9596691d746e5a536de920"}, - {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:620ced262a86244e2be10a676b646f29c34537d0d9cc8eb26c08f53d98013390"}, - {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:378a214a1e3bbf5ac4a8708304318b4f890da88c9e6a07699c4ae7174c09a68d"}, - {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf7be1207676ac608a50cd08f102f6742dbfc70e8d60c4db1c6897f62f71523"}, - {file = "kiwisolver-1.4.5-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:ba55dce0a9b8ff59495ddd050a0225d58bd0983d09f87cfe2b6aec4f2c1234e4"}, - {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:fd32ea360bcbb92d28933fc05ed09bffcb1704ba3fc7942e81db0fd4f81a7892"}, - {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5e7139af55d1688f8b960ee9ad5adafc4ac17c1c473fe07133ac092310d76544"}, - {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:dced8146011d2bc2e883f9bd68618b8247387f4bbec46d7392b3c3b032640126"}, - {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9bf3325c47b11b2e51bca0824ea217c7cd84491d8ac4eefd1e409705ef092bd"}, - {file = "kiwisolver-1.4.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:5794cf59533bc3f1b1c821f7206a3617999db9fbefc345360aafe2e067514929"}, - {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e368f200bbc2e4f905b8e71eb38b3c04333bddaa6a2464a6355487b02bb7fb09"}, - {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5d706eba36b4c4d5bc6c6377bb6568098765e990cfc21ee16d13963fab7b3e7"}, - {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85267bd1aa8880a9c88a8cb71e18d3d64d2751a790e6ca6c27b8ccc724bcd5ad"}, - {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:210ef2c3a1f03272649aff1ef992df2e724748918c4bc2d5a90352849eb40bea"}, - {file = "kiwisolver-1.4.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:11d011a7574eb3b82bcc9c1a1d35c1d7075677fdd15de527d91b46bd35e935ee"}, - {file = "kiwisolver-1.4.5.tar.gz", hash = "sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec"}, -] - -[[package]] -name = "leb128" -version = "1.0.8" -description = "LEB128(Little Endian Base 128)" -optional = false -python-versions = "*" -files = [ - {file = "leb128-1.0.8-py3-none-any.whl", hash = "sha256:76cd271e75ea91aa2fbf7783d60cb7d667b62143d544bcee59159ff258bf4523"}, - {file = "leb128-1.0.8.tar.gz", hash = "sha256:3a52dca242f93f87a3d766380a93a3fad53ef4044f03018d21705d3b2d9021ee"}, -] - -[[package]] -name = "lz4" -version = "4.3.3" -description = "LZ4 Bindings for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "lz4-4.3.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b891880c187e96339474af2a3b2bfb11a8e4732ff5034be919aa9029484cd201"}, - {file = "lz4-4.3.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:222a7e35137d7539c9c33bb53fcbb26510c5748779364014235afc62b0ec797f"}, - {file = "lz4-4.3.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f76176492ff082657ada0d0f10c794b6da5800249ef1692b35cf49b1e93e8ef7"}, - {file = "lz4-4.3.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1d18718f9d78182c6b60f568c9a9cec8a7204d7cb6fad4e511a2ef279e4cb05"}, - {file = "lz4-4.3.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6cdc60e21ec70266947a48839b437d46025076eb4b12c76bd47f8e5eb8a75dcc"}, - {file = "lz4-4.3.3-cp310-cp310-win32.whl", hash = "sha256:c81703b12475da73a5d66618856d04b1307e43428a7e59d98cfe5a5d608a74c6"}, - {file = "lz4-4.3.3-cp310-cp310-win_amd64.whl", hash = "sha256:43cf03059c0f941b772c8aeb42a0813d68d7081c009542301637e5782f8a33e2"}, - {file = "lz4-4.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:30e8c20b8857adef7be045c65f47ab1e2c4fabba86a9fa9a997d7674a31ea6b6"}, - {file = "lz4-4.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2f7b1839f795315e480fb87d9bc60b186a98e3e5d17203c6e757611ef7dcef61"}, - {file = "lz4-4.3.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edfd858985c23523f4e5a7526ca6ee65ff930207a7ec8a8f57a01eae506aaee7"}, - {file = "lz4-4.3.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e9c410b11a31dbdc94c05ac3c480cb4b222460faf9231f12538d0074e56c563"}, - {file = "lz4-4.3.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d2507ee9c99dbddd191c86f0e0c8b724c76d26b0602db9ea23232304382e1f21"}, - {file = "lz4-4.3.3-cp311-cp311-win32.whl", hash = "sha256:f180904f33bdd1e92967923a43c22899e303906d19b2cf8bb547db6653ea6e7d"}, - {file = "lz4-4.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:b14d948e6dce389f9a7afc666d60dd1e35fa2138a8ec5306d30cd2e30d36b40c"}, - {file = "lz4-4.3.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e36cd7b9d4d920d3bfc2369840da506fa68258f7bb176b8743189793c055e43d"}, - {file = "lz4-4.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:31ea4be9d0059c00b2572d700bf2c1bc82f241f2c3282034a759c9a4d6ca4dc2"}, - {file = "lz4-4.3.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33c9a6fd20767ccaf70649982f8f3eeb0884035c150c0b818ea660152cf3c809"}, - {file = "lz4-4.3.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bca8fccc15e3add173da91be8f34121578dc777711ffd98d399be35487c934bf"}, - {file = "lz4-4.3.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7d84b479ddf39fe3ea05387f10b779155fc0990125f4fb35d636114e1c63a2e"}, - {file = "lz4-4.3.3-cp312-cp312-win32.whl", hash = "sha256:337cb94488a1b060ef1685187d6ad4ba8bc61d26d631d7ba909ee984ea736be1"}, - {file = "lz4-4.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:5d35533bf2cee56f38ced91f766cd0038b6abf46f438a80d50c52750088be93f"}, - {file = "lz4-4.3.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:363ab65bf31338eb364062a15f302fc0fab0a49426051429866d71c793c23394"}, - {file = "lz4-4.3.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0a136e44a16fc98b1abc404fbabf7f1fada2bdab6a7e970974fb81cf55b636d0"}, - {file = "lz4-4.3.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abc197e4aca8b63f5ae200af03eb95fb4b5055a8f990079b5bdf042f568469dd"}, - {file = "lz4-4.3.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56f4fe9c6327adb97406f27a66420b22ce02d71a5c365c48d6b656b4aaeb7775"}, - {file = "lz4-4.3.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0e822cd7644995d9ba248cb4b67859701748a93e2ab7fc9bc18c599a52e4604"}, - {file = "lz4-4.3.3-cp38-cp38-win32.whl", hash = "sha256:24b3206de56b7a537eda3a8123c644a2b7bf111f0af53bc14bed90ce5562d1aa"}, - {file = "lz4-4.3.3-cp38-cp38-win_amd64.whl", hash = "sha256:b47839b53956e2737229d70714f1d75f33e8ac26e52c267f0197b3189ca6de24"}, - {file = "lz4-4.3.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6756212507405f270b66b3ff7f564618de0606395c0fe10a7ae2ffcbbe0b1fba"}, - {file = "lz4-4.3.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ee9ff50557a942d187ec85462bb0960207e7ec5b19b3b48949263993771c6205"}, - {file = "lz4-4.3.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b901c7784caac9a1ded4555258207d9e9697e746cc8532129f150ffe1f6ba0d"}, - {file = "lz4-4.3.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6d9ec061b9eca86e4dcc003d93334b95d53909afd5a32c6e4f222157b50c071"}, - {file = "lz4-4.3.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4c7bf687303ca47d69f9f0133274958fd672efaa33fb5bcde467862d6c621f0"}, - {file = "lz4-4.3.3-cp39-cp39-win32.whl", hash = "sha256:054b4631a355606e99a42396f5db4d22046a3397ffc3269a348ec41eaebd69d2"}, - {file = "lz4-4.3.3-cp39-cp39-win_amd64.whl", hash = "sha256:eac9af361e0d98335a02ff12fb56caeb7ea1196cf1a49dbf6f17828a131da807"}, - {file = "lz4-4.3.3.tar.gz", hash = "sha256:01fe674ef2889dbb9899d8a67361e0c4a2c833af5aeb37dd505727cf5d2a131e"}, -] - -[package.extras] -docs = ["sphinx (>=1.6.0)", "sphinx-bootstrap-theme"] -flake8 = ["flake8"] -tests = ["psutil", "pytest (!=3.3.0)", "pytest-cov"] - -[[package]] -name = "mammoth" -version = "1.8.0" -description = "Convert Word documents from docx to simple and clean HTML and Markdown" -optional = false -python-versions = ">=3.7" -files = [ - {file = "mammoth-1.8.0-py2.py3-none-any.whl", hash = "sha256:b2abf2340809b13a903c8b65a27846466290b869f0dd56e4a1e3072c4be1ea86"}, - {file = "mammoth-1.8.0.tar.gz", hash = "sha256:7e8aa7db53f4aa7e9620b22bf8b716f1a16c84e969de1a0b1f920c756184e3d8"}, -] - -[package.dependencies] -cobble = ">=0.1.3,<0.2" - -[[package]] -name = "markdown" -version = "3.7" -description = "Python implementation of John Gruber's Markdown." -optional = false -python-versions = ">=3.8" -files = [ - {file = "Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803"}, - {file = "markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2"}, -] - -[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]"] -testing = ["coverage", "pyyaml"] - -[[package]] -name = "markdownify" -version = "0.13.1" -description = "Convert HTML to markdown." -optional = false -python-versions = "*" -files = [ - {file = "markdownify-0.13.1-py3-none-any.whl", hash = "sha256:1d181d43d20902bcc69d7be85b5316ed174d0dda72ff56e14ae4c95a4a407d22"}, - {file = "markdownify-0.13.1.tar.gz", hash = "sha256:ab257f9e6bd4075118828a28c9d02f8a4bfeb7421f558834aa79b2dfeb32a098"}, -] - -[package.dependencies] -beautifulsoup4 = ">=4.9,<5" -six = ">=1.15,<2" - -[[package]] -name = "markupsafe" -version = "2.1.5" -description = "Safely add untrusted strings to HTML/XML markup." -optional = false -python-versions = ">=3.7" -files = [ - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, - {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, -] - -[[package]] -name = "matplotlib" -version = "3.9.2" -description = "Python plotting package" -optional = false -python-versions = ">=3.9" -files = [ - {file = "matplotlib-3.9.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:9d78bbc0cbc891ad55b4f39a48c22182e9bdaea7fc0e5dbd364f49f729ca1bbb"}, - {file = "matplotlib-3.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c375cc72229614632c87355366bdf2570c2dac01ac66b8ad048d2dabadf2d0d4"}, - {file = "matplotlib-3.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d94ff717eb2bd0b58fe66380bd8b14ac35f48a98e7c6765117fe67fb7684e64"}, - {file = "matplotlib-3.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab68d50c06938ef28681073327795c5db99bb4666214d2d5f880ed11aeaded66"}, - {file = "matplotlib-3.9.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:65aacf95b62272d568044531e41de26285d54aec8cb859031f511f84bd8b495a"}, - {file = "matplotlib-3.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:3fd595f34aa8a55b7fc8bf9ebea8aa665a84c82d275190a61118d33fbc82ccae"}, - {file = "matplotlib-3.9.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d8dd059447824eec055e829258ab092b56bb0579fc3164fa09c64f3acd478772"}, - {file = "matplotlib-3.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c797dac8bb9c7a3fd3382b16fe8f215b4cf0f22adccea36f1545a6d7be310b41"}, - {file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d719465db13267bcef19ea8954a971db03b9f48b4647e3860e4bc8e6ed86610f"}, - {file = "matplotlib-3.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8912ef7c2362f7193b5819d17dae8629b34a95c58603d781329712ada83f9447"}, - {file = "matplotlib-3.9.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7741f26a58a240f43bee74965c4882b6c93df3e7eb3de160126d8c8f53a6ae6e"}, - {file = "matplotlib-3.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:ae82a14dab96fbfad7965403c643cafe6515e386de723e498cf3eeb1e0b70cc7"}, - {file = "matplotlib-3.9.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ac43031375a65c3196bee99f6001e7fa5bdfb00ddf43379d3c0609bdca042df9"}, - {file = "matplotlib-3.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:be0fc24a5e4531ae4d8e858a1a548c1fe33b176bb13eff7f9d0d38ce5112a27d"}, - {file = "matplotlib-3.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf81de2926c2db243c9b2cbc3917619a0fc85796c6ba4e58f541df814bbf83c7"}, - {file = "matplotlib-3.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6ee45bc4245533111ced13f1f2cace1e7f89d1c793390392a80c139d6cf0e6c"}, - {file = "matplotlib-3.9.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:306c8dfc73239f0e72ac50e5a9cf19cc4e8e331dd0c54f5e69ca8758550f1e1e"}, - {file = "matplotlib-3.9.2-cp312-cp312-win_amd64.whl", hash = "sha256:5413401594cfaff0052f9d8b1aafc6d305b4bd7c4331dccd18f561ff7e1d3bd3"}, - {file = "matplotlib-3.9.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:18128cc08f0d3cfff10b76baa2f296fc28c4607368a8402de61bb3f2eb33c7d9"}, - {file = "matplotlib-3.9.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4876d7d40219e8ae8bb70f9263bcbe5714415acfdf781086601211335e24f8aa"}, - {file = "matplotlib-3.9.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d9f07a80deab4bb0b82858a9e9ad53d1382fd122be8cde11080f4e7dfedb38b"}, - {file = "matplotlib-3.9.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7c0410f181a531ec4e93bbc27692f2c71a15c2da16766f5ba9761e7ae518413"}, - {file = "matplotlib-3.9.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:909645cce2dc28b735674ce0931a4ac94e12f5b13f6bb0b5a5e65e7cea2c192b"}, - {file = "matplotlib-3.9.2-cp313-cp313-win_amd64.whl", hash = "sha256:f32c7410c7f246838a77d6d1eff0c0f87f3cb0e7c4247aebea71a6d5a68cab49"}, - {file = "matplotlib-3.9.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:37e51dd1c2db16ede9cfd7b5cabdfc818b2c6397c83f8b10e0e797501c963a03"}, - {file = "matplotlib-3.9.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b82c5045cebcecd8496a4d694d43f9cc84aeeb49fe2133e036b207abe73f4d30"}, - {file = "matplotlib-3.9.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f053c40f94bc51bc03832a41b4f153d83f2062d88c72b5e79997072594e97e51"}, - {file = "matplotlib-3.9.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dbe196377a8248972f5cede786d4c5508ed5f5ca4a1e09b44bda889958b33f8c"}, - {file = "matplotlib-3.9.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5816b1e1fe8c192cbc013f8f3e3368ac56fbecf02fb41b8f8559303f24c5015e"}, - {file = "matplotlib-3.9.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:cef2a73d06601437be399908cf13aee74e86932a5ccc6ccdf173408ebc5f6bb2"}, - {file = "matplotlib-3.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e0830e188029c14e891fadd99702fd90d317df294c3298aad682739c5533721a"}, - {file = "matplotlib-3.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ba9c1299c920964e8d3857ba27173b4dbb51ca4bab47ffc2c2ba0eb5e2cbc5"}, - {file = "matplotlib-3.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1cd93b91ab47a3616b4d3c42b52f8363b88ca021e340804c6ab2536344fad9ca"}, - {file = "matplotlib-3.9.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6d1ce5ed2aefcdce11904fc5bbea7d9c21fff3d5f543841edf3dea84451a09ea"}, - {file = "matplotlib-3.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:b2696efdc08648536efd4e1601b5fd491fd47f4db97a5fbfd175549a7365c1b2"}, - {file = "matplotlib-3.9.2-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d52a3b618cb1cbb769ce2ee1dcdb333c3ab6e823944e9a2d36e37253815f9556"}, - {file = "matplotlib-3.9.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:039082812cacd6c6bec8e17a9c1e6baca230d4116d522e81e1f63a74d01d2e21"}, - {file = "matplotlib-3.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6758baae2ed64f2331d4fd19be38b7b4eae3ecec210049a26b6a4f3ae1c85dcc"}, - {file = "matplotlib-3.9.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:050598c2b29e0b9832cde72bcf97627bf00262adbc4a54e2b856426bb2ef0697"}, - {file = "matplotlib-3.9.2.tar.gz", hash = "sha256:96ab43906269ca64a6366934106fa01534454a69e471b7bf3d79083981aaab92"}, -] - -[package.dependencies] -contourpy = ">=1.0.1" -cycler = ">=0.10" -fonttools = ">=4.22.0" -kiwisolver = ">=1.3.1" -numpy = ">=1.23" -packaging = ">=20.0" -pillow = ">=8" -pyparsing = ">=2.3.1" -python-dateutil = ">=2.7" - -[package.extras] -dev = ["meson-python (>=0.13.1)", "numpy (>=1.25)", "pybind11 (>=2.6)", "setuptools (>=64)", "setuptools_scm (>=7)"] - -[[package]] -name = "matplotlib-inline" -version = "0.1.7" -description = "Inline Matplotlib backend for Jupyter" -optional = false -python-versions = ">=3.8" -files = [ - {file = "matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca"}, - {file = "matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90"}, -] - -[package.dependencies] -traitlets = "*" - -[[package]] -name = "mccabe" -version = "0.7.0" -description = "McCabe checker, plugin for flake8" -optional = false -python-versions = ">=3.6" -files = [ - {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, - {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, -] - -[[package]] -name = "mergedeep" -version = "1.3.4" -description = "A deep merge function for 🐍." -optional = false -python-versions = ">=3.6" -files = [ - {file = "mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307"}, - {file = "mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8"}, -] - -[[package]] -name = "mistune" -version = "3.0.2" -description = "A sane and fast Markdown parser with useful plugins and renderers" -optional = false -python-versions = ">=3.7" -files = [ - {file = "mistune-3.0.2-py3-none-any.whl", hash = "sha256:71481854c30fdbc938963d3605b72501f5c10a9320ecd412c121c163a1c7d205"}, - {file = "mistune-3.0.2.tar.gz", hash = "sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8"}, -] - -[[package]] -name = "mkdocs" -version = "1.6.1" -description = "Project documentation with Markdown." -optional = false -python-versions = ">=3.8" -files = [ - {file = "mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e"}, - {file = "mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2"}, -] - -[package.dependencies] -click = ">=7.0" -colorama = {version = ">=0.4", markers = "platform_system == \"Windows\""} -ghp-import = ">=1.0" -jinja2 = ">=2.11.1" -markdown = ">=3.3.6" -markupsafe = ">=2.0.1" -mergedeep = ">=1.3.4" -mkdocs-get-deps = ">=0.2.0" -packaging = ">=20.5" -pathspec = ">=0.11.1" -pyyaml = ">=5.1" -pyyaml-env-tag = ">=0.1" -watchdog = ">=2.0" - -[package.extras] -i18n = ["babel (>=2.9.0)"] -min-versions = ["babel (==2.9.0)", "click (==7.0)", "colorama (==0.4)", "ghp-import (==1.0)", "importlib-metadata (==4.4)", "jinja2 (==2.11.1)", "markdown (==3.3.6)", "markupsafe (==2.0.1)", "mergedeep (==1.3.4)", "mkdocs-get-deps (==0.2.0)", "packaging (==20.5)", "pathspec (==0.11.1)", "pyyaml (==5.1)", "pyyaml-env-tag (==0.1)", "watchdog (==2.0)"] - -[[package]] -name = "mkdocs-get-deps" -version = "0.2.0" -description = "MkDocs extension that lists all dependencies according to a mkdocs.yml file" -optional = false -python-versions = ">=3.8" -files = [ - {file = "mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134"}, - {file = "mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c"}, -] - -[package.dependencies] -mergedeep = ">=1.3.4" -platformdirs = ">=2.2.0" -pyyaml = ">=5.1" - -[[package]] -name = "mkdocs-git-committers-plugin-2" -version = "2.3.0" -description = "An MkDocs plugin to create a list of contributors on the page. The git-committers plugin will seed the template context with a list of GitHub or GitLab committers and other useful GIT info such as last modified date" -optional = false -python-versions = ">=3.8,<4" -files = [ - {file = "mkdocs-git-committers-plugin-2-2.3.0.tar.gz", hash = "sha256:d6baca1ae04db8120640038eda8142f2d081c27b53f3b566c83c75717e4ed81a"}, - {file = "mkdocs_git_committers_plugin_2-2.3.0-py3-none-any.whl", hash = "sha256:7b3434af3be525c12858eb3b44b4c6b695b7c7b7760482ea8de1c6e292e84f0f"}, -] - -[package.dependencies] -gitpython = "*" -mkdocs = ">=1.0.3" -requests = "*" - -[[package]] -name = "mkdocs-git-revision-date-localized-plugin" -version = "1.2.7" -description = "Mkdocs plugin that enables displaying the localized date of the last git modification of a markdown file." -optional = false -python-versions = ">=3.8" -files = [ - {file = "mkdocs_git_revision_date_localized_plugin-1.2.7-py3-none-any.whl", hash = "sha256:d2b30ccb74ec8e118298758d75ae4b4f02c620daf776a6c92fcbb58f2b78f19f"}, - {file = "mkdocs_git_revision_date_localized_plugin-1.2.7.tar.gz", hash = "sha256:2f83b52b4dad642751a79465f80394672cbad022129286f40d36b03aebee490f"}, -] - -[package.dependencies] -babel = ">=2.7.0" -GitPython = "*" -mkdocs = ">=1.0" -pytz = "*" - -[[package]] -name = "mkdocs-material" -version = "9.5.34" -description = "Documentation that simply works" -optional = false -python-versions = ">=3.8" -files = [ - {file = "mkdocs_material-9.5.34-py3-none-any.whl", hash = "sha256:54caa8be708de2b75167fd4d3b9f3d949579294f49cb242515d4653dbee9227e"}, - {file = "mkdocs_material-9.5.34.tar.gz", hash = "sha256:1e60ddf716cfb5679dfd65900b8a25d277064ed82d9a53cd5190e3f894df7840"}, -] - -[package.dependencies] -babel = ">=2.10,<3.0" -colorama = ">=0.4,<1.0" -jinja2 = ">=3.0,<4.0" -markdown = ">=3.2,<4.0" -mkdocs = ">=1.6,<2.0" -mkdocs-material-extensions = ">=1.3,<2.0" -paginate = ">=0.5,<1.0" -pygments = ">=2.16,<3.0" -pymdown-extensions = ">=10.2,<11.0" -regex = ">=2022.4" -requests = ">=2.26,<3.0" - -[package.extras] -git = ["mkdocs-git-committers-plugin-2 (>=1.1,<2.0)", "mkdocs-git-revision-date-localized-plugin (>=1.2.4,<2.0)"] -imaging = ["cairosvg (>=2.6,<3.0)", "pillow (>=10.2,<11.0)"] -recommended = ["mkdocs-minify-plugin (>=0.7,<1.0)", "mkdocs-redirects (>=1.2,<2.0)", "mkdocs-rss-plugin (>=1.6,<2.0)"] - -[[package]] -name = "mkdocs-material-extensions" -version = "1.3.1" -description = "Extension pack for Python Markdown and MkDocs Material." -optional = false -python-versions = ">=3.8" -files = [ - {file = "mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31"}, - {file = "mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443"}, -] - -[[package]] -name = "mnemonic" -version = "0.20" -description = "Implementation of Bitcoin BIP-0039" -optional = false -python-versions = ">=3.5" -files = [ - {file = "mnemonic-0.20-py3-none-any.whl", hash = "sha256:acd2168872d0379e7a10873bb3e12bf6c91b35de758135c4fbd1015ef18fafc5"}, - {file = "mnemonic-0.20.tar.gz", hash = "sha256:7c6fb5639d779388027a77944680aee4870f0fcd09b1e42a5525ee2ce4c625f6"}, -] - -[[package]] -name = "more-itertools" -version = "10.4.0" -description = "More routines for operating on iterables, beyond itertools" -optional = false -python-versions = ">=3.8" -files = [ - {file = "more-itertools-10.4.0.tar.gz", hash = "sha256:fe0e63c4ab068eac62410ab05cccca2dc71ec44ba8ef29916a0090df061cf923"}, - {file = "more_itertools-10.4.0-py3-none-any.whl", hash = "sha256:0f7d9f83a0a8dcfa8a2694a770590d98a67ea943e3d9f5298309a484758c4e27"}, -] - -[[package]] -name = "msgpack" -version = "1.0.8" -description = "MessagePack serializer" -optional = false -python-versions = ">=3.8" -files = [ - {file = "msgpack-1.0.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:505fe3d03856ac7d215dbe005414bc28505d26f0c128906037e66d98c4e95868"}, - {file = "msgpack-1.0.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6b7842518a63a9f17107eb176320960ec095a8ee3b4420b5f688e24bf50c53c"}, - {file = "msgpack-1.0.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:376081f471a2ef24828b83a641a02c575d6103a3ad7fd7dade5486cad10ea659"}, - {file = "msgpack-1.0.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e390971d082dba073c05dbd56322427d3280b7cc8b53484c9377adfbae67dc2"}, - {file = "msgpack-1.0.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e073efcba9ea99db5acef3959efa45b52bc67b61b00823d2a1a6944bf45982"}, - {file = "msgpack-1.0.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82d92c773fbc6942a7a8b520d22c11cfc8fd83bba86116bfcf962c2f5c2ecdaa"}, - {file = "msgpack-1.0.8-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9ee32dcb8e531adae1f1ca568822e9b3a738369b3b686d1477cbc643c4a9c128"}, - {file = "msgpack-1.0.8-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e3aa7e51d738e0ec0afbed661261513b38b3014754c9459508399baf14ae0c9d"}, - {file = "msgpack-1.0.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69284049d07fce531c17404fcba2bb1df472bc2dcdac642ae71a2d079d950653"}, - {file = "msgpack-1.0.8-cp310-cp310-win32.whl", hash = "sha256:13577ec9e247f8741c84d06b9ece5f654920d8365a4b636ce0e44f15e07ec693"}, - {file = "msgpack-1.0.8-cp310-cp310-win_amd64.whl", hash = "sha256:e532dbd6ddfe13946de050d7474e3f5fb6ec774fbb1a188aaf469b08cf04189a"}, - {file = "msgpack-1.0.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9517004e21664f2b5a5fd6333b0731b9cf0817403a941b393d89a2f1dc2bd836"}, - {file = "msgpack-1.0.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d16a786905034e7e34098634b184a7d81f91d4c3d246edc6bd7aefb2fd8ea6ad"}, - {file = "msgpack-1.0.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2872993e209f7ed04d963e4b4fbae72d034844ec66bc4ca403329db2074377b"}, - {file = "msgpack-1.0.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c330eace3dd100bdb54b5653b966de7f51c26ec4a7d4e87132d9b4f738220ba"}, - {file = "msgpack-1.0.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83b5c044f3eff2a6534768ccfd50425939e7a8b5cf9a7261c385de1e20dcfc85"}, - {file = "msgpack-1.0.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1876b0b653a808fcd50123b953af170c535027bf1d053b59790eebb0aeb38950"}, - {file = "msgpack-1.0.8-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:dfe1f0f0ed5785c187144c46a292b8c34c1295c01da12e10ccddfc16def4448a"}, - {file = "msgpack-1.0.8-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:3528807cbbb7f315bb81959d5961855e7ba52aa60a3097151cb21956fbc7502b"}, - {file = "msgpack-1.0.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e2f879ab92ce502a1e65fce390eab619774dda6a6ff719718069ac94084098ce"}, - {file = "msgpack-1.0.8-cp311-cp311-win32.whl", hash = "sha256:26ee97a8261e6e35885c2ecd2fd4a6d38252246f94a2aec23665a4e66d066305"}, - {file = "msgpack-1.0.8-cp311-cp311-win_amd64.whl", hash = "sha256:eadb9f826c138e6cf3c49d6f8de88225a3c0ab181a9b4ba792e006e5292d150e"}, - {file = "msgpack-1.0.8-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:114be227f5213ef8b215c22dde19532f5da9652e56e8ce969bf0a26d7c419fee"}, - {file = "msgpack-1.0.8-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d661dc4785affa9d0edfdd1e59ec056a58b3dbb9f196fa43587f3ddac654ac7b"}, - {file = "msgpack-1.0.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d56fd9f1f1cdc8227d7b7918f55091349741904d9520c65f0139a9755952c9e8"}, - {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0726c282d188e204281ebd8de31724b7d749adebc086873a59efb8cf7ae27df3"}, - {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8db8e423192303ed77cff4dce3a4b88dbfaf43979d280181558af5e2c3c71afc"}, - {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99881222f4a8c2f641f25703963a5cefb076adffd959e0558dc9f803a52d6a58"}, - {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b5505774ea2a73a86ea176e8a9a4a7c8bf5d521050f0f6f8426afe798689243f"}, - {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:ef254a06bcea461e65ff0373d8a0dd1ed3aa004af48839f002a0c994a6f72d04"}, - {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e1dd7839443592d00e96db831eddb4111a2a81a46b028f0facd60a09ebbdd543"}, - {file = "msgpack-1.0.8-cp312-cp312-win32.whl", hash = "sha256:64d0fcd436c5683fdd7c907eeae5e2cbb5eb872fafbc03a43609d7941840995c"}, - {file = "msgpack-1.0.8-cp312-cp312-win_amd64.whl", hash = "sha256:74398a4cf19de42e1498368c36eed45d9528f5fd0155241e82c4082b7e16cffd"}, - {file = "msgpack-1.0.8-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:0ceea77719d45c839fd73abcb190b8390412a890df2f83fb8cf49b2a4b5c2f40"}, - {file = "msgpack-1.0.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1ab0bbcd4d1f7b6991ee7c753655b481c50084294218de69365f8f1970d4c151"}, - {file = "msgpack-1.0.8-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1cce488457370ffd1f953846f82323cb6b2ad2190987cd4d70b2713e17268d24"}, - {file = "msgpack-1.0.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3923a1778f7e5ef31865893fdca12a8d7dc03a44b33e2a5f3295416314c09f5d"}, - {file = "msgpack-1.0.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a22e47578b30a3e199ab067a4d43d790249b3c0587d9a771921f86250c8435db"}, - {file = "msgpack-1.0.8-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bd739c9251d01e0279ce729e37b39d49a08c0420d3fee7f2a4968c0576678f77"}, - {file = "msgpack-1.0.8-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d3420522057ebab1728b21ad473aa950026d07cb09da41103f8e597dfbfaeb13"}, - {file = "msgpack-1.0.8-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5845fdf5e5d5b78a49b826fcdc0eb2e2aa7191980e3d2cfd2a30303a74f212e2"}, - {file = "msgpack-1.0.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6a0e76621f6e1f908ae52860bdcb58e1ca85231a9b0545e64509c931dd34275a"}, - {file = "msgpack-1.0.8-cp38-cp38-win32.whl", hash = "sha256:374a8e88ddab84b9ada695d255679fb99c53513c0a51778796fcf0944d6c789c"}, - {file = "msgpack-1.0.8-cp38-cp38-win_amd64.whl", hash = "sha256:f3709997b228685fe53e8c433e2df9f0cdb5f4542bd5114ed17ac3c0129b0480"}, - {file = "msgpack-1.0.8-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f51bab98d52739c50c56658cc303f190785f9a2cd97b823357e7aeae54c8f68a"}, - {file = "msgpack-1.0.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:73ee792784d48aa338bba28063e19a27e8d989344f34aad14ea6e1b9bd83f596"}, - {file = "msgpack-1.0.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f9904e24646570539a8950400602d66d2b2c492b9010ea7e965025cb71d0c86d"}, - {file = "msgpack-1.0.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e75753aeda0ddc4c28dce4c32ba2f6ec30b1b02f6c0b14e547841ba5b24f753f"}, - {file = "msgpack-1.0.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5dbf059fb4b7c240c873c1245ee112505be27497e90f7c6591261c7d3c3a8228"}, - {file = "msgpack-1.0.8-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4916727e31c28be8beaf11cf117d6f6f188dcc36daae4e851fee88646f5b6b18"}, - {file = "msgpack-1.0.8-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7938111ed1358f536daf311be244f34df7bf3cdedb3ed883787aca97778b28d8"}, - {file = "msgpack-1.0.8-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:493c5c5e44b06d6c9268ce21b302c9ca055c1fd3484c25ba41d34476c76ee746"}, - {file = "msgpack-1.0.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fbb160554e319f7b22ecf530a80a3ff496d38e8e07ae763b9e82fadfe96f273"}, - {file = "msgpack-1.0.8-cp39-cp39-win32.whl", hash = "sha256:f9af38a89b6a5c04b7d18c492c8ccf2aee7048aff1ce8437c4683bb5a1df893d"}, - {file = "msgpack-1.0.8-cp39-cp39-win_amd64.whl", hash = "sha256:ed59dd52075f8fc91da6053b12e8c89e37aa043f8986efd89e61fae69dc1b011"}, - {file = "msgpack-1.0.8.tar.gz", hash = "sha256:95c02b0e27e706e48d0e5426d1710ca78e0f0628d6e89d5b5a5b91a5f12274f3"}, -] - -[[package]] -name = "multidict" -version = "6.0.5" -description = "multidict implementation" -optional = false -python-versions = ">=3.7" -files = [ - {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:228b644ae063c10e7f324ab1ab6b548bdf6f8b47f3ec234fef1093bc2735e5f9"}, - {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:896ebdcf62683551312c30e20614305f53125750803b614e9e6ce74a96232604"}, - {file = "multidict-6.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:411bf8515f3be9813d06004cac41ccf7d1cd46dfe233705933dd163b60e37600"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d147090048129ce3c453f0292e7697d333db95e52616b3793922945804a433c"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:215ed703caf15f578dca76ee6f6b21b7603791ae090fbf1ef9d865571039ade5"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c6390cf87ff6234643428991b7359b5f59cc15155695deb4eda5c777d2b880f"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fd81c4ebdb4f214161be351eb5bcf385426bf023041da2fd9e60681f3cebae"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3cc2ad10255f903656017363cd59436f2111443a76f996584d1077e43ee51182"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6939c95381e003f54cd4c5516740faba40cf5ad3eeff460c3ad1d3e0ea2549bf"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:220dd781e3f7af2c2c1053da9fa96d9cf3072ca58f057f4c5adaaa1cab8fc442"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:766c8f7511df26d9f11cd3a8be623e59cca73d44643abab3f8c8c07620524e4a"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:fe5d7785250541f7f5019ab9cba2c71169dc7d74d0f45253f8313f436458a4ef"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c1c1496e73051918fcd4f58ff2e0f2f3066d1c76a0c6aeffd9b45d53243702cc"}, - {file = "multidict-6.0.5-cp310-cp310-win32.whl", hash = "sha256:7afcdd1fc07befad18ec4523a782cde4e93e0a2bf71239894b8d61ee578c1319"}, - {file = "multidict-6.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:99f60d34c048c5c2fabc766108c103612344c46e35d4ed9ae0673d33c8fb26e8"}, - {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f285e862d2f153a70586579c15c44656f888806ed0e5b56b64489afe4a2dbfba"}, - {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:53689bb4e102200a4fafa9de9c7c3c212ab40a7ab2c8e474491914d2305f187e"}, - {file = "multidict-6.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:612d1156111ae11d14afaf3a0669ebf6c170dbb735e510a7438ffe2369a847fd"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7be7047bd08accdb7487737631d25735c9a04327911de89ff1b26b81745bd4e3"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de170c7b4fe6859beb8926e84f7d7d6c693dfe8e27372ce3b76f01c46e489fcf"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04bde7a7b3de05732a4eb39c94574db1ec99abb56162d6c520ad26f83267de29"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85f67aed7bb647f93e7520633d8f51d3cbc6ab96957c71272b286b2f30dc70ed"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425bf820055005bfc8aa9a0b99ccb52cc2f4070153e34b701acc98d201693733"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d3eb1ceec286eba8220c26f3b0096cf189aea7057b6e7b7a2e60ed36b373b77f"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7901c05ead4b3fb75113fb1dd33eb1253c6d3ee37ce93305acd9d38e0b5f21a4"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e0e79d91e71b9867c73323a3444724d496c037e578a0e1755ae159ba14f4f3d1"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:29bfeb0dff5cb5fdab2023a7a9947b3b4af63e9c47cae2a10ad58394b517fddc"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e030047e85cbcedbfc073f71836d62dd5dadfbe7531cae27789ff66bc551bd5e"}, - {file = "multidict-6.0.5-cp311-cp311-win32.whl", hash = "sha256:2f4848aa3baa109e6ab81fe2006c77ed4d3cd1e0ac2c1fbddb7b1277c168788c"}, - {file = "multidict-6.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:2faa5ae9376faba05f630d7e5e6be05be22913782b927b19d12b8145968a85ea"}, - {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:51d035609b86722963404f711db441cf7134f1889107fb171a970c9701f92e1e"}, - {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cbebcd5bcaf1eaf302617c114aa67569dd3f090dd0ce8ba9e35e9985b41ac35b"}, - {file = "multidict-6.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2ffc42c922dbfddb4a4c3b438eb056828719f07608af27d163191cb3e3aa6cc5"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ceb3b7e6a0135e092de86110c5a74e46bda4bd4fbfeeb3a3bcec79c0f861e450"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79660376075cfd4b2c80f295528aa6beb2058fd289f4c9252f986751a4cd0496"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4428b29611e989719874670fd152b6625500ad6c686d464e99f5aaeeaca175a"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d84a5c3a5f7ce6db1f999fb9438f686bc2e09d38143f2d93d8406ed2dd6b9226"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c0de87358b192de7ea9649beb392f107dcad9ad27276324c24c91774ca5271"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:79a6d2ba910adb2cbafc95dad936f8b9386e77c84c35bc0add315b856d7c3abb"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:92d16a3e275e38293623ebf639c471d3e03bb20b8ebb845237e0d3664914caef"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:fb616be3538599e797a2017cccca78e354c767165e8858ab5116813146041a24"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:14c2976aa9038c2629efa2c148022ed5eb4cb939e15ec7aace7ca932f48f9ba6"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:435a0984199d81ca178b9ae2c26ec3d49692d20ee29bc4c11a2a8d4514c67eda"}, - {file = "multidict-6.0.5-cp312-cp312-win32.whl", hash = "sha256:9fe7b0653ba3d9d65cbe7698cca585bf0f8c83dbbcc710db9c90f478e175f2d5"}, - {file = "multidict-6.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:01265f5e40f5a17f8241d52656ed27192be03bfa8764d88e8220141d1e4b3556"}, - {file = "multidict-6.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:19fe01cea168585ba0f678cad6f58133db2aa14eccaf22f88e4a6dccadfad8b3"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf7a982604375a8d49b6cc1b781c1747f243d91b81035a9b43a2126c04766f5"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:107c0cdefe028703fb5dafe640a409cb146d44a6ae201e55b35a4af8e95457dd"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:403c0911cd5d5791605808b942c88a8155c2592e05332d2bf78f18697a5fa15e"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aeaf541ddbad8311a87dd695ed9642401131ea39ad7bc8cf3ef3967fd093b626"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4972624066095e52b569e02b5ca97dbd7a7ddd4294bf4e7247d52635630dd83"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d946b0a9eb8aaa590df1fe082cee553ceab173e6cb5b03239716338629c50c7a"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b55358304d7a73d7bdf5de62494aaf70bd33015831ffd98bc498b433dfe5b10c"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:a3145cb08d8625b2d3fee1b2d596a8766352979c9bffe5d7833e0503d0f0b5e5"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d65f25da8e248202bd47445cec78e0025c0fe7582b23ec69c3b27a640dd7a8e3"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c9bf56195c6bbd293340ea82eafd0071cb3d450c703d2c93afb89f93b8386ccc"}, - {file = "multidict-6.0.5-cp37-cp37m-win32.whl", hash = "sha256:69db76c09796b313331bb7048229e3bee7928eb62bab5e071e9f7fcc4879caee"}, - {file = "multidict-6.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:fce28b3c8a81b6b36dfac9feb1de115bab619b3c13905b419ec71d03a3fc1423"}, - {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76f067f5121dcecf0d63a67f29080b26c43c71a98b10c701b0677e4a065fbd54"}, - {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b82cc8ace10ab5bd93235dfaab2021c70637005e1ac787031f4d1da63d493c1d"}, - {file = "multidict-6.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5cb241881eefd96b46f89b1a056187ea8e9ba14ab88ba632e68d7a2ecb7aadf7"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e94e6912639a02ce173341ff62cc1201232ab86b8a8fcc05572741a5dc7d93"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09a892e4a9fb47331da06948690ae38eaa2426de97b4ccbfafbdcbe5c8f37ff8"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55205d03e8a598cfc688c71ca8ea5f66447164efff8869517f175ea632c7cb7b"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37b15024f864916b4951adb95d3a80c9431299080341ab9544ed148091b53f50"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2a1dee728b52b33eebff5072817176c172050d44d67befd681609b4746e1c2e"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:edd08e6f2f1a390bf137080507e44ccc086353c8e98c657e666c017718561b89"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:60d698e8179a42ec85172d12f50b1668254628425a6bd611aba022257cac1386"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:3d25f19500588cbc47dc19081d78131c32637c25804df8414463ec908631e453"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:4cc0ef8b962ac7a5e62b9e826bd0cd5040e7d401bc45a6835910ed699037a461"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:eca2e9d0cc5a889850e9bbd68e98314ada174ff6ccd1129500103df7a94a7a44"}, - {file = "multidict-6.0.5-cp38-cp38-win32.whl", hash = "sha256:4a6a4f196f08c58c59e0b8ef8ec441d12aee4125a7d4f4fef000ccb22f8d7241"}, - {file = "multidict-6.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:0275e35209c27a3f7951e1ce7aaf93ce0d163b28948444bec61dd7badc6d3f8c"}, - {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e7be68734bd8c9a513f2b0cfd508802d6609da068f40dc57d4e3494cefc92929"}, - {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1d9ea7a7e779d7a3561aade7d596649fbecfa5c08a7674b11b423783217933f9"}, - {file = "multidict-6.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ea1456df2a27c73ce51120fa2f519f1bea2f4a03a917f4a43c8707cf4cbbae1a"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf590b134eb70629e350691ecca88eac3e3b8b3c86992042fb82e3cb1830d5e1"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5c0631926c4f58e9a5ccce555ad7747d9a9f8b10619621f22f9635f069f6233e"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dce1c6912ab9ff5f179eaf6efe7365c1f425ed690b03341911bf4939ef2f3046"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0868d64af83169e4d4152ec612637a543f7a336e4a307b119e98042e852ad9c"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:141b43360bfd3bdd75f15ed811850763555a251e38b2405967f8e25fb43f7d40"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7df704ca8cf4a073334e0427ae2345323613e4df18cc224f647f251e5e75a527"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6214c5a5571802c33f80e6c84713b2c79e024995b9c5897f794b43e714daeec9"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd6c8fca38178e12c00418de737aef1261576bd1b6e8c6134d3e729a4e858b38"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e02021f87a5b6932fa6ce916ca004c4d441509d33bbdbeca70d05dff5e9d2479"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ebd8d160f91a764652d3e51ce0d2956b38efe37c9231cd82cfc0bed2e40b581c"}, - {file = "multidict-6.0.5-cp39-cp39-win32.whl", hash = "sha256:04da1bb8c8dbadf2a18a452639771951c662c5ad03aefe4884775454be322c9b"}, - {file = "multidict-6.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:d6f6d4f185481c9669b9447bf9d9cf3b95a0e9df9d169bbc17e363b7d5487755"}, - {file = "multidict-6.0.5-py3-none-any.whl", hash = "sha256:0d63c74e3d7ab26de115c49bffc92cc77ed23395303d496eae515d4204a625e7"}, - {file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"}, -] - -[[package]] -name = "mypy-extensions" -version = "1.0.0" -description = "Type system extensions for programs checked with the mypy type checker." -optional = false -python-versions = ">=3.5" -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"}, -] - -[[package]] -name = "nbclient" -version = "0.10.0" -description = "A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor." -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "nbclient-0.10.0-py3-none-any.whl", hash = "sha256:f13e3529332a1f1f81d82a53210322476a168bb7090a0289c795fe9cc11c9d3f"}, - {file = "nbclient-0.10.0.tar.gz", hash = "sha256:4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09"}, -] - -[package.dependencies] -jupyter-client = ">=6.1.12" -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" -nbformat = ">=5.1" -traitlets = ">=5.4" - -[package.extras] -dev = ["pre-commit"] -docs = ["autodoc-traits", "mock", "moto", "myst-parser", "nbclient[test]", "sphinx (>=1.7)", "sphinx-book-theme", "sphinxcontrib-spelling"] -test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>=7.0.0)", "pytest (>=7.0,<8)", "pytest-asyncio", "pytest-cov (>=4.0)", "testpath", "xmltodict"] - -[[package]] -name = "nbconvert" -version = "7.16.4" -description = "Converting Jupyter Notebooks (.ipynb files) to other formats. Output formats include asciidoc, html, latex, markdown, pdf, py, rst, script. nbconvert can be used both as a Python library (`import nbconvert`) or as a command line tool (invoked as `jupyter nbconvert ...`)." -optional = false -python-versions = ">=3.8" -files = [ - {file = "nbconvert-7.16.4-py3-none-any.whl", hash = "sha256:05873c620fe520b6322bf8a5ad562692343fe3452abda5765c7a34b7d1aa3eb3"}, - {file = "nbconvert-7.16.4.tar.gz", hash = "sha256:86ca91ba266b0a448dc96fa6c5b9d98affabde2867b363258703536807f9f7f4"}, -] - -[package.dependencies] -beautifulsoup4 = "*" -bleach = "!=5.0.0" -defusedxml = "*" -jinja2 = ">=3.0" -jupyter-core = ">=4.7" -jupyterlab-pygments = "*" -markupsafe = ">=2.0" -mistune = ">=2.0.3,<4" -nbclient = ">=0.5.0" -nbformat = ">=5.7" -packaging = "*" -pandocfilters = ">=1.4.1" -pygments = ">=2.4.1" -tinycss2 = "*" -traitlets = ">=5.1" - -[package.extras] -all = ["flaky", "ipykernel", "ipython", "ipywidgets (>=7.5)", "myst-parser", "nbsphinx (>=0.2.12)", "playwright", "pydata-sphinx-theme", "pyqtwebengine (>=5.15)", "pytest (>=7)", "sphinx (==5.0.2)", "sphinxcontrib-spelling", "tornado (>=6.1)"] -docs = ["ipykernel", "ipython", "myst-parser", "nbsphinx (>=0.2.12)", "pydata-sphinx-theme", "sphinx (==5.0.2)", "sphinxcontrib-spelling"] -qtpdf = ["pyqtwebengine (>=5.15)"] -qtpng = ["pyqtwebengine (>=5.15)"] -serve = ["tornado (>=6.1)"] -test = ["flaky", "ipykernel", "ipywidgets (>=7.5)", "pytest (>=7)"] -webpdf = ["playwright"] - -[[package]] -name = "nbformat" -version = "5.10.4" -description = "The Jupyter Notebook format" -optional = false -python-versions = ">=3.8" -files = [ - {file = "nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b"}, - {file = "nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a"}, -] - -[package.dependencies] -fastjsonschema = ">=2.15" -jsonschema = ">=2.6" -jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0" -traitlets = ">=5.1" - -[package.extras] -docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] -test = ["pep440", "pre-commit", "pytest", "testpath"] - -[[package]] -name = "nest-asyncio" -version = "1.6.0" -description = "Patch asyncio to allow nested event loops" -optional = false -python-versions = ">=3.5" -files = [ - {file = "nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c"}, - {file = "nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe"}, -] - -[[package]] -name = "nodeenv" -version = "1.9.1" -description = "Node.js virtual environment builder" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -files = [ - {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"}, - {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"}, -] - -[[package]] -name = "notebook" -version = "7.2.2" -description = "Jupyter Notebook - A web-based notebook environment for interactive computing" -optional = false -python-versions = ">=3.8" -files = [ - {file = "notebook-7.2.2-py3-none-any.whl", hash = "sha256:c89264081f671bc02eec0ed470a627ed791b9156cad9285226b31611d3e9fe1c"}, - {file = "notebook-7.2.2.tar.gz", hash = "sha256:2ef07d4220421623ad3fe88118d687bc0450055570cdd160814a59cf3a1c516e"}, -] - -[package.dependencies] -jupyter-server = ">=2.4.0,<3" -jupyterlab = ">=4.2.0,<4.3" -jupyterlab-server = ">=2.27.1,<3" -notebook-shim = ">=0.2,<0.3" -tornado = ">=6.2.0" - -[package.extras] -dev = ["hatch", "pre-commit"] -docs = ["myst-parser", "nbsphinx", "pydata-sphinx-theme", "sphinx (>=1.3.6)", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"] -test = ["importlib-resources (>=5.0)", "ipykernel", "jupyter-server[test] (>=2.4.0,<3)", "jupyterlab-server[test] (>=2.27.1,<3)", "nbval", "pytest (>=7.0)", "pytest-console-scripts", "pytest-timeout", "pytest-tornasync", "requests"] - -[[package]] -name = "notebook-shim" -version = "0.2.4" -description = "A shim layer for notebook traits and config" -optional = false -python-versions = ">=3.7" -files = [ - {file = "notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef"}, - {file = "notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb"}, -] - -[package.dependencies] -jupyter-server = ">=1.8,<3" - -[package.extras] -test = ["pytest", "pytest-console-scripts", "pytest-jupyter", "pytest-tornasync"] - -[[package]] -name = "numpy" -version = "2.1.0" -description = "Fundamental package for array computing in Python" -optional = false -python-versions = ">=3.10" -files = [ - {file = "numpy-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6326ab99b52fafdcdeccf602d6286191a79fe2fda0ae90573c5814cd2b0bc1b8"}, - {file = "numpy-2.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0937e54c09f7a9a68da6889362ddd2ff584c02d015ec92672c099b61555f8911"}, - {file = "numpy-2.1.0-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:30014b234f07b5fec20f4146f69e13cfb1e33ee9a18a1879a0142fbb00d47673"}, - {file = "numpy-2.1.0-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:899da829b362ade41e1e7eccad2cf274035e1cb36ba73034946fccd4afd8606b"}, - {file = "numpy-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08801848a40aea24ce16c2ecde3b756f9ad756586fb2d13210939eb69b023f5b"}, - {file = "numpy-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:398049e237d1aae53d82a416dade04defed1a47f87d18d5bd615b6e7d7e41d1f"}, - {file = "numpy-2.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0abb3916a35d9090088a748636b2c06dc9a6542f99cd476979fb156a18192b84"}, - {file = "numpy-2.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:10e2350aea18d04832319aac0f887d5fcec1b36abd485d14f173e3e900b83e33"}, - {file = "numpy-2.1.0-cp310-cp310-win32.whl", hash = "sha256:f6b26e6c3b98adb648243670fddc8cab6ae17473f9dc58c51574af3e64d61211"}, - {file = "numpy-2.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:f505264735ee074250a9c78247ee8618292091d9d1fcc023290e9ac67e8f1afa"}, - {file = "numpy-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:76368c788ccb4f4782cf9c842b316140142b4cbf22ff8db82724e82fe1205dce"}, - {file = "numpy-2.1.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:f8e93a01a35be08d31ae33021e5268f157a2d60ebd643cfc15de6ab8e4722eb1"}, - {file = "numpy-2.1.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:9523f8b46485db6939bd069b28b642fec86c30909cea90ef550373787f79530e"}, - {file = "numpy-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54139e0eb219f52f60656d163cbe67c31ede51d13236c950145473504fa208cb"}, - {file = "numpy-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5ebbf9fbdabed208d4ecd2e1dfd2c0741af2f876e7ae522c2537d404ca895c3"}, - {file = "numpy-2.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:378cb4f24c7d93066ee4103204f73ed046eb88f9ad5bb2275bb9fa0f6a02bd36"}, - {file = "numpy-2.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8f699a709120b220dfe173f79c73cb2a2cab2c0b88dd59d7b49407d032b8ebd"}, - {file = "numpy-2.1.0-cp311-cp311-win32.whl", hash = "sha256:ffbd6faeb190aaf2b5e9024bac9622d2ee549b7ec89ef3a9373fa35313d44e0e"}, - {file = "numpy-2.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:0af3a5987f59d9c529c022c8c2a64805b339b7ef506509fba7d0556649b9714b"}, - {file = "numpy-2.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fe76d75b345dc045acdbc006adcb197cc680754afd6c259de60d358d60c93736"}, - {file = "numpy-2.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f358ea9e47eb3c2d6eba121ab512dfff38a88db719c38d1e67349af210bc7529"}, - {file = "numpy-2.1.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:dd94ce596bda40a9618324547cfaaf6650b1a24f5390350142499aa4e34e53d1"}, - {file = "numpy-2.1.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:b47c551c6724960479cefd7353656498b86e7232429e3a41ab83be4da1b109e8"}, - {file = "numpy-2.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0756a179afa766ad7cb6f036de622e8a8f16ffdd55aa31f296c870b5679d745"}, - {file = "numpy-2.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24003ba8ff22ea29a8c306e61d316ac74111cebf942afbf692df65509a05f111"}, - {file = "numpy-2.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b34fa5e3b5d6dc7e0a4243fa0f81367027cb6f4a7215a17852979634b5544ee0"}, - {file = "numpy-2.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c4f982715e65036c34897eb598d64aef15150c447be2cfc6643ec7a11af06574"}, - {file = "numpy-2.1.0-cp312-cp312-win32.whl", hash = "sha256:c4cd94dfefbefec3f8b544f61286584292d740e6e9d4677769bc76b8f41deb02"}, - {file = "numpy-2.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:a0cdef204199278f5c461a0bed6ed2e052998276e6d8ab2963d5b5c39a0500bc"}, - {file = "numpy-2.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8ab81ccd753859ab89e67199b9da62c543850f819993761c1e94a75a814ed667"}, - {file = "numpy-2.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:442596f01913656d579309edcd179a2a2f9977d9a14ff41d042475280fc7f34e"}, - {file = "numpy-2.1.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:848c6b5cad9898e4b9ef251b6f934fa34630371f2e916261070a4eb9092ffd33"}, - {file = "numpy-2.1.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:54c6a63e9d81efe64bfb7bcb0ec64332a87d0b87575f6009c8ba67ea6374770b"}, - {file = "numpy-2.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:652e92fc409e278abdd61e9505649e3938f6d04ce7ef1953f2ec598a50e7c195"}, - {file = "numpy-2.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ab32eb9170bf8ffcbb14f11613f4a0b108d3ffee0832457c5d4808233ba8977"}, - {file = "numpy-2.1.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:8fb49a0ba4d8f41198ae2d52118b050fd34dace4b8f3fb0ee34e23eb4ae775b1"}, - {file = "numpy-2.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:44e44973262dc3ae79e9063a1284a73e09d01b894b534a769732ccd46c28cc62"}, - {file = "numpy-2.1.0-cp313-cp313-win32.whl", hash = "sha256:ab83adc099ec62e044b1fbb3a05499fa1e99f6d53a1dde102b2d85eff66ed324"}, - {file = "numpy-2.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:de844aaa4815b78f6023832590d77da0e3b6805c644c33ce94a1e449f16d6ab5"}, - {file = "numpy-2.1.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:343e3e152bf5a087511cd325e3b7ecfd5b92d369e80e74c12cd87826e263ec06"}, - {file = "numpy-2.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f07fa2f15dabe91259828ce7d71b5ca9e2eb7c8c26baa822c825ce43552f4883"}, - {file = "numpy-2.1.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5474dad8c86ee9ba9bb776f4b99ef2d41b3b8f4e0d199d4f7304728ed34d0300"}, - {file = "numpy-2.1.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:1f817c71683fd1bb5cff1529a1d085a57f02ccd2ebc5cd2c566f9a01118e3b7d"}, - {file = "numpy-2.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a3336fbfa0d38d3deacd3fe7f3d07e13597f29c13abf4d15c3b6dc2291cbbdd"}, - {file = "numpy-2.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a894c51fd8c4e834f00ac742abad73fc485df1062f1b875661a3c1e1fb1c2f6"}, - {file = "numpy-2.1.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:9156ca1f79fc4acc226696e95bfcc2b486f165a6a59ebe22b2c1f82ab190384a"}, - {file = "numpy-2.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:624884b572dff8ca8f60fab591413f077471de64e376b17d291b19f56504b2bb"}, - {file = "numpy-2.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:15ef8b2177eeb7e37dd5ef4016f30b7659c57c2c0b57a779f1d537ff33a72c7b"}, - {file = "numpy-2.1.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:e5f0642cdf4636198a4990de7a71b693d824c56a757862230454629cf62e323d"}, - {file = "numpy-2.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f15976718c004466406342789f31b6673776360f3b1e3c575f25302d7e789575"}, - {file = "numpy-2.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:6c1de77ded79fef664d5098a66810d4d27ca0224e9051906e634b3f7ead134c2"}, - {file = "numpy-2.1.0.tar.gz", hash = "sha256:7dc90da0081f7e1da49ec4e398ede6a8e9cc4f5ebe5f9e06b443ed889ee9aaa2"}, -] - -[[package]] -name = "oauth2client" -version = "4.1.3" -description = "OAuth 2.0 client library" -optional = false -python-versions = "*" -files = [ - {file = "oauth2client-4.1.3-py2.py3-none-any.whl", hash = "sha256:b8a81cc5d60e2d364f0b1b98f958dbd472887acaf1a5b05e21c28c31a2d6d3ac"}, - {file = "oauth2client-4.1.3.tar.gz", hash = "sha256:d486741e451287f69568a4d26d70d9acd73a2bbfa275746c535b4209891cccc6"}, -] - -[package.dependencies] -httplib2 = ">=0.9.1" -pyasn1 = ">=0.1.7" -pyasn1-modules = ">=0.0.5" -rsa = ">=3.1.4" -six = ">=1.6.1" - -[[package]] -name = "oauthlib" -version = "3.2.2" -description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" -optional = false -python-versions = ">=3.6" -files = [ - {file = "oauthlib-3.2.2-py3-none-any.whl", hash = "sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca"}, - {file = "oauthlib-3.2.2.tar.gz", hash = "sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918"}, -] - -[package.extras] -rsa = ["cryptography (>=3.0.0)"] -signals = ["blinker (>=1.4.0)"] -signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] - -[[package]] -name = "overrides" -version = "7.7.0" -description = "A decorator to automatically detect mismatch when overriding a method." -optional = false -python-versions = ">=3.6" -files = [ - {file = "overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49"}, - {file = "overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a"}, -] - -[[package]] -name = "packaging" -version = "24.1" -description = "Core utilities for Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, - {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, -] - -[[package]] -name = "paginate" -version = "0.5.7" -description = "Divides large result sets into pages for easier browsing" -optional = false -python-versions = "*" -files = [ - {file = "paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591"}, - {file = "paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945"}, -] - -[package.extras] -dev = ["pytest", "tox"] -lint = ["black"] - -[[package]] -name = "pandas" -version = "2.2.2" -description = "Powerful data structures for data analysis, time series, and statistics" -optional = false -python-versions = ">=3.9" -files = [ - {file = "pandas-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:90c6fca2acf139569e74e8781709dccb6fe25940488755716d1d354d6bc58bce"}, - {file = "pandas-2.2.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c7adfc142dac335d8c1e0dcbd37eb8617eac386596eb9e1a1b77791cf2498238"}, - {file = "pandas-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4abfe0be0d7221be4f12552995e58723c7422c80a659da13ca382697de830c08"}, - {file = "pandas-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8635c16bf3d99040fdf3ca3db669a7250ddf49c55dc4aa8fe0ae0fa8d6dcc1f0"}, - {file = "pandas-2.2.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:40ae1dffb3967a52203105a077415a86044a2bea011b5f321c6aa64b379a3f51"}, - {file = "pandas-2.2.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8e5a0b00e1e56a842f922e7fae8ae4077aee4af0acb5ae3622bd4b4c30aedf99"}, - {file = "pandas-2.2.2-cp310-cp310-win_amd64.whl", hash = "sha256:ddf818e4e6c7c6f4f7c8a12709696d193976b591cc7dc50588d3d1a6b5dc8772"}, - {file = "pandas-2.2.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:696039430f7a562b74fa45f540aca068ea85fa34c244d0deee539cb6d70aa288"}, - {file = "pandas-2.2.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8e90497254aacacbc4ea6ae5e7a8cd75629d6ad2b30025a4a8b09aa4faf55151"}, - {file = "pandas-2.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58b84b91b0b9f4bafac2a0ac55002280c094dfc6402402332c0913a59654ab2b"}, - {file = "pandas-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d2123dc9ad6a814bcdea0f099885276b31b24f7edf40f6cdbc0912672e22eee"}, - {file = "pandas-2.2.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:2925720037f06e89af896c70bca73459d7e6a4be96f9de79e2d440bd499fe0db"}, - {file = "pandas-2.2.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0cace394b6ea70c01ca1595f839cf193df35d1575986e484ad35c4aeae7266c1"}, - {file = "pandas-2.2.2-cp311-cp311-win_amd64.whl", hash = "sha256:873d13d177501a28b2756375d59816c365e42ed8417b41665f346289adc68d24"}, - {file = "pandas-2.2.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:9dfde2a0ddef507a631dc9dc4af6a9489d5e2e740e226ad426a05cabfbd7c8ef"}, - {file = "pandas-2.2.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e9b79011ff7a0f4b1d6da6a61aa1aa604fb312d6647de5bad20013682d1429ce"}, - {file = "pandas-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1cb51fe389360f3b5a4d57dbd2848a5f033350336ca3b340d1c53a1fad33bcad"}, - {file = "pandas-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eee3a87076c0756de40b05c5e9a6069c035ba43e8dd71c379e68cab2c20f16ad"}, - {file = "pandas-2.2.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3e374f59e440d4ab45ca2fffde54b81ac3834cf5ae2cdfa69c90bc03bde04d76"}, - {file = "pandas-2.2.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:43498c0bdb43d55cb162cdc8c06fac328ccb5d2eabe3cadeb3529ae6f0517c32"}, - {file = "pandas-2.2.2-cp312-cp312-win_amd64.whl", hash = "sha256:d187d355ecec3629624fccb01d104da7d7f391db0311145817525281e2804d23"}, - {file = "pandas-2.2.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0ca6377b8fca51815f382bd0b697a0814c8bda55115678cbc94c30aacbb6eff2"}, - {file = "pandas-2.2.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9057e6aa78a584bc93a13f0a9bf7e753a5e9770a30b4d758b8d5f2a62a9433cd"}, - {file = "pandas-2.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:001910ad31abc7bf06f49dcc903755d2f7f3a9186c0c040b827e522e9cef0863"}, - {file = "pandas-2.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66b479b0bd07204e37583c191535505410daa8df638fd8e75ae1b383851fe921"}, - {file = "pandas-2.2.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a77e9d1c386196879aa5eb712e77461aaee433e54c68cf253053a73b7e49c33a"}, - {file = "pandas-2.2.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:92fd6b027924a7e178ac202cfbe25e53368db90d56872d20ffae94b96c7acc57"}, - {file = "pandas-2.2.2-cp39-cp39-win_amd64.whl", hash = "sha256:640cef9aa381b60e296db324337a554aeeb883ead99dc8f6c18e81a93942f5f4"}, - {file = "pandas-2.2.2.tar.gz", hash = "sha256:9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54"}, -] - -[package.dependencies] -numpy = [ - {version = ">=1.26.0", markers = "python_version >= \"3.12\""}, - {version = ">=1.23.2", markers = "python_version == \"3.11\""}, - {version = ">=1.22.4", markers = "python_version < \"3.11\""}, -] -python-dateutil = ">=2.8.2" -pytz = ">=2020.1" -tzdata = ">=2022.7" - -[package.extras] -all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "s3fs (>=2022.11.0)", "scipy (>=1.10.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"] -aws = ["s3fs (>=2022.11.0)"] -clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"] -compression = ["zstandard (>=0.19.0)"] -computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"] -consortium-standard = ["dataframe-api-compat (>=0.1.7)"] -excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"] -feather = ["pyarrow (>=10.0.1)"] -fss = ["fsspec (>=2022.11.0)"] -gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"] -hdf5 = ["tables (>=3.8.0)"] -html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"] -mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"] -output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"] -parquet = ["pyarrow (>=10.0.1)"] -performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"] -plot = ["matplotlib (>=3.6.3)"] -postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "psycopg2 (>=2.9.6)"] -pyarrow = ["pyarrow (>=10.0.1)"] -spss = ["pyreadstat (>=1.2.0)"] -sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"] -test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] -xml = ["lxml (>=4.9.2)"] - -[[package]] -name = "pandocfilters" -version = "1.5.1" -description = "Utilities for writing pandoc filters in python" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc"}, - {file = "pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e"}, -] - -[[package]] -name = "paramiko" -version = "3.4.1" -description = "SSH2 protocol library" -optional = false -python-versions = ">=3.6" -files = [ - {file = "paramiko-3.4.1-py3-none-any.whl", hash = "sha256:8e49fd2f82f84acf7ffd57c64311aa2b30e575370dc23bdb375b10262f7eac32"}, - {file = "paramiko-3.4.1.tar.gz", hash = "sha256:8b15302870af7f6652f2e038975c1d2973f06046cb5d7d65355668b3ecbece0c"}, -] - -[package.dependencies] -bcrypt = ">=3.2" -cryptography = ">=3.3" -pynacl = ">=1.5" - -[package.extras] -all = ["gssapi (>=1.4.1)", "invoke (>=2.0)", "pyasn1 (>=0.1.7)", "pywin32 (>=2.1.8)"] -gssapi = ["gssapi (>=1.4.1)", "pyasn1 (>=0.1.7)", "pywin32 (>=2.1.8)"] -invoke = ["invoke (>=2.0)"] - -[[package]] -name = "parso" -version = "0.8.4" -description = "A Python Parser" -optional = false -python-versions = ">=3.6" -files = [ - {file = "parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18"}, - {file = "parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d"}, -] - -[package.extras] -qa = ["flake8 (==5.0.4)", "mypy (==0.971)", "types-setuptools (==67.2.0.1)"] -testing = ["docopt", "pytest"] - -[[package]] -name = "pathspec" -version = "0.12.1" -description = "Utility library for gitignore style pattern matching of file paths." -optional = false -python-versions = ">=3.8" -files = [ - {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, - {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, -] - -[[package]] -name = "peewee" -version = "3.17.6" -description = "a little orm" -optional = false -python-versions = "*" -files = [ - {file = "peewee-3.17.6.tar.gz", hash = "sha256:cea5592c6f4da1592b7cff8eaf655be6648a1f5857469e30037bf920c03fb8fb"}, -] - -[[package]] -name = "pexpect" -version = "4.9.0" -description = "Pexpect allows easy control of interactive console applications." -optional = false -python-versions = "*" -files = [ - {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"}, - {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"}, -] - -[package.dependencies] -ptyprocess = ">=0.5" - -[[package]] -name = "pillow" -version = "10.4.0" -description = "Python Imaging Library (Fork)" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e"}, - {file = "pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b"}, - {file = "pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc"}, - {file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e"}, - {file = "pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46"}, - {file = "pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984"}, - {file = "pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141"}, - {file = "pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1"}, - {file = "pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c"}, - {file = "pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe"}, - {file = "pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319"}, - {file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d"}, - {file = "pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696"}, - {file = "pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496"}, - {file = "pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91"}, - {file = "pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22"}, - {file = "pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94"}, - {file = "pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef"}, - {file = "pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a"}, - {file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b"}, - {file = "pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9"}, - {file = "pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42"}, - {file = "pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a"}, - {file = "pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9"}, - {file = "pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3"}, - {file = "pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0"}, - {file = "pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc"}, - {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a"}, - {file = "pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309"}, - {file = "pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060"}, - {file = "pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea"}, - {file = "pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d"}, - {file = "pillow-10.4.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736"}, - {file = "pillow-10.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b"}, - {file = "pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd"}, - {file = "pillow-10.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84"}, - {file = "pillow-10.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0"}, - {file = "pillow-10.4.0-cp38-cp38-win32.whl", hash = "sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e"}, - {file = "pillow-10.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab"}, - {file = "pillow-10.4.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d"}, - {file = "pillow-10.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b"}, - {file = "pillow-10.4.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c"}, - {file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1"}, - {file = "pillow-10.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df"}, - {file = "pillow-10.4.0-cp39-cp39-win32.whl", hash = "sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef"}, - {file = "pillow-10.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5"}, - {file = "pillow-10.4.0-cp39-cp39-win_arm64.whl", hash = "sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885"}, - {file = "pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27"}, - {file = "pillow-10.4.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3"}, - {file = "pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06"}, -] - -[package.extras] -docs = ["furo", "olefile", "sphinx (>=7.3)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinxext-opengraph"] -fpx = ["olefile"] -mic = ["olefile"] -tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] -typing = ["typing-extensions"] -xmp = ["defusedxml"] - -[[package]] -name = "pkginfo" -version = "1.11.1" -description = "Query metadata from sdists / bdists / installed packages." -optional = false -python-versions = ">=3.8" -files = [ - {file = "pkginfo-1.11.1-py3-none-any.whl", hash = "sha256:bfa76a714fdfc18a045fcd684dbfc3816b603d9d075febef17cb6582bea29573"}, - {file = "pkginfo-1.11.1.tar.gz", hash = "sha256:2e0dca1cf4c8e39644eed32408ea9966ee15e0d324c62ba899a393b3c6b467aa"}, -] - -[package.extras] -testing = ["pytest", "pytest-cov", "wheel"] - -[[package]] -name = "platformdirs" -version = "4.2.2" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." -optional = false -python-versions = ">=3.8" -files = [ - {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, - {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, -] - -[package.extras] -docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] -type = ["mypy (>=1.8)"] - -[[package]] -name = "pluggy" -version = "1.5.0" -description = "plugin and hook calling mechanisms for python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, - {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, -] - -[package.extras] -dev = ["pre-commit", "tox"] -testing = ["pytest", "pytest-benchmark"] - -[[package]] -name = "poetry" -version = "1.8.3" -description = "Python dependency management and packaging made easy." -optional = false -python-versions = "<4.0,>=3.8" -files = [ - {file = "poetry-1.8.3-py3-none-any.whl", hash = "sha256:88191c69b08d06f9db671b793d68f40048e8904c0718404b63dcc2b5aec62d13"}, - {file = "poetry-1.8.3.tar.gz", hash = "sha256:67f4eb68288eab41e841cc71a00d26cf6bdda9533022d0189a145a34d0a35f48"}, -] - -[package.dependencies] -build = ">=1.0.3,<2.0.0" -cachecontrol = {version = ">=0.14.0,<0.15.0", extras = ["filecache"]} -cleo = ">=2.1.0,<3.0.0" -crashtest = ">=0.4.1,<0.5.0" -dulwich = ">=0.21.2,<0.22.0" -fastjsonschema = ">=2.18.0,<3.0.0" -installer = ">=0.7.0,<0.8.0" -keyring = ">=24.0.0,<25.0.0" -packaging = ">=23.1" -pexpect = ">=4.7.0,<5.0.0" -pkginfo = ">=1.10,<2.0" -platformdirs = ">=3.0.0,<5" -poetry-core = "1.9.0" -poetry-plugin-export = ">=1.6.0,<2.0.0" -pyproject-hooks = ">=1.0.0,<2.0.0" -requests = ">=2.26,<3.0" -requests-toolbelt = ">=1.0.0,<2.0.0" -shellingham = ">=1.5,<2.0" -tomli = {version = ">=2.0.1,<3.0.0", markers = "python_version < \"3.11\""} -tomlkit = ">=0.11.4,<1.0.0" -trove-classifiers = ">=2022.5.19" -virtualenv = ">=20.23.0,<21.0.0" -xattr = {version = ">=1.0.0,<2.0.0", markers = "sys_platform == \"darwin\""} - -[[package]] -name = "poetry-core" -version = "1.9.0" -description = "Poetry PEP 517 Build Backend" -optional = false -python-versions = ">=3.8,<4.0" -files = [ - {file = "poetry_core-1.9.0-py3-none-any.whl", hash = "sha256:4e0c9c6ad8cf89956f03b308736d84ea6ddb44089d16f2adc94050108ec1f5a1"}, - {file = "poetry_core-1.9.0.tar.gz", hash = "sha256:fa7a4001eae8aa572ee84f35feb510b321bd652e5cf9293249d62853e1f935a2"}, -] - -[[package]] -name = "poetry-plugin-export" -version = "1.8.0" -description = "Poetry plugin to export the dependencies to various formats" -optional = false -python-versions = "<4.0,>=3.8" -files = [ - {file = "poetry_plugin_export-1.8.0-py3-none-any.whl", hash = "sha256:adbe232cfa0cc04991ea3680c865cf748bff27593b9abcb1f35fb50ed7ba2c22"}, - {file = "poetry_plugin_export-1.8.0.tar.gz", hash = "sha256:1fa6168a85d59395d835ca564bc19862a7c76061e60c3e7dfaec70d50937fc61"}, -] - -[package.dependencies] -poetry = ">=1.8.0,<3.0.0" -poetry-core = ">=1.7.0,<3.0.0" - -[[package]] -name = "pre-commit" -version = "3.8.0" -description = "A framework for managing and maintaining multi-language pre-commit hooks." -optional = false -python-versions = ">=3.9" -files = [ - {file = "pre_commit-3.8.0-py2.py3-none-any.whl", hash = "sha256:9a90a53bf82fdd8778d58085faf8d83df56e40dfe18f45b19446e26bf1b3a63f"}, - {file = "pre_commit-3.8.0.tar.gz", hash = "sha256:8bb6494d4a20423842e198980c9ecf9f96607a07ea29549e180eef9ae80fe7af"}, -] - -[package.dependencies] -cfgv = ">=2.0.0" -identify = ">=1.0.0" -nodeenv = ">=0.11.1" -pyyaml = ">=5.1" -virtualenv = ">=20.10.0" - -[[package]] -name = "priority" -version = "2.0.0" -description = "A pure-Python implementation of the HTTP/2 priority tree" -optional = false -python-versions = ">=3.6.1" -files = [ - {file = "priority-2.0.0-py3-none-any.whl", hash = "sha256:6f8eefce5f3ad59baf2c080a664037bb4725cd0a790d53d59ab4059288faf6aa"}, - {file = "priority-2.0.0.tar.gz", hash = "sha256:c965d54f1b8d0d0b19479db3924c7c36cf672dbf2aec92d43fbdaf4492ba18c0"}, -] - -[[package]] -name = "prometheus-client" -version = "0.20.0" -description = "Python client for the Prometheus monitoring system." -optional = false -python-versions = ">=3.8" -files = [ - {file = "prometheus_client-0.20.0-py3-none-any.whl", hash = "sha256:cde524a85bce83ca359cc837f28b8c0db5cac7aa653a588fd7e84ba061c329e7"}, - {file = "prometheus_client-0.20.0.tar.gz", hash = "sha256:287629d00b147a32dcb2be0b9df905da599b2d82f80377083ec8463309a4bb89"}, -] - -[package.extras] -twisted = ["twisted"] - -[[package]] -name = "prompt-toolkit" -version = "3.0.47" -description = "Library for building powerful interactive command lines in Python" -optional = false -python-versions = ">=3.7.0" -files = [ - {file = "prompt_toolkit-3.0.47-py3-none-any.whl", hash = "sha256:0d7bfa67001d5e39d02c224b663abc33687405033a8c422d0d675a5a13361d10"}, - {file = "prompt_toolkit-3.0.47.tar.gz", hash = "sha256:1e1b29cb58080b1e69f207c893a1a7bf16d127a5c30c9d17a25a5d77792e5360"}, -] - -[package.dependencies] -wcwidth = "*" - -[[package]] -name = "proto-plus" -version = "1.24.0" -description = "Beautiful, Pythonic protocol buffers." -optional = false -python-versions = ">=3.7" -files = [ - {file = "proto-plus-1.24.0.tar.gz", hash = "sha256:30b72a5ecafe4406b0d339db35b56c4059064e69227b8c3bda7462397f966445"}, - {file = "proto_plus-1.24.0-py3-none-any.whl", hash = "sha256:402576830425e5f6ce4c2a6702400ac79897dab0b4343821aa5188b0fab81a12"}, -] - -[package.dependencies] -protobuf = ">=3.19.0,<6.0.0dev" - -[package.extras] -testing = ["google-api-core (>=1.31.5)"] - -[[package]] -name = "protobuf" -version = "5.28.0" -description = "" -optional = false -python-versions = ">=3.8" -files = [ - {file = "protobuf-5.28.0-cp310-abi3-win32.whl", hash = "sha256:66c3edeedb774a3508ae70d87b3a19786445fe9a068dd3585e0cefa8a77b83d0"}, - {file = "protobuf-5.28.0-cp310-abi3-win_amd64.whl", hash = "sha256:6d7cc9e60f976cf3e873acb9a40fed04afb5d224608ed5c1a105db4a3f09c5b6"}, - {file = "protobuf-5.28.0-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:532627e8fdd825cf8767a2d2b94d77e874d5ddb0adefb04b237f7cc296748681"}, - {file = "protobuf-5.28.0-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:018db9056b9d75eb93d12a9d35120f97a84d9a919bcab11ed56ad2d399d6e8dd"}, - {file = "protobuf-5.28.0-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:6206afcb2d90181ae8722798dcb56dc76675ab67458ac24c0dd7d75d632ac9bd"}, - {file = "protobuf-5.28.0-cp38-cp38-win32.whl", hash = "sha256:eef7a8a2f4318e2cb2dee8666d26e58eaf437c14788f3a2911d0c3da40405ae8"}, - {file = "protobuf-5.28.0-cp38-cp38-win_amd64.whl", hash = "sha256:d001a73c8bc2bf5b5c1360d59dd7573744e163b3607fa92788b7f3d5fefbd9a5"}, - {file = "protobuf-5.28.0-cp39-cp39-win32.whl", hash = "sha256:dde9fcaa24e7a9654f4baf2a55250b13a5ea701493d904c54069776b99a8216b"}, - {file = "protobuf-5.28.0-cp39-cp39-win_amd64.whl", hash = "sha256:853db610214e77ee817ecf0514e0d1d052dff7f63a0c157aa6eabae98db8a8de"}, - {file = "protobuf-5.28.0-py3-none-any.whl", hash = "sha256:510ed78cd0980f6d3218099e874714cdf0d8a95582e7b059b06cabad855ed0a0"}, - {file = "protobuf-5.28.0.tar.gz", hash = "sha256:dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add"}, -] - -[[package]] -name = "psutil" -version = "6.0.0" -description = "Cross-platform lib for process and system monitoring in Python." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" -files = [ - {file = "psutil-6.0.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a021da3e881cd935e64a3d0a20983bda0bb4cf80e4f74fa9bfcb1bc5785360c6"}, - {file = "psutil-6.0.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:1287c2b95f1c0a364d23bc6f2ea2365a8d4d9b726a3be7294296ff7ba97c17f0"}, - {file = "psutil-6.0.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:a9a3dbfb4de4f18174528d87cc352d1f788b7496991cca33c6996f40c9e3c92c"}, - {file = "psutil-6.0.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:6ec7588fb3ddaec7344a825afe298db83fe01bfaaab39155fa84cf1c0d6b13c3"}, - {file = "psutil-6.0.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:1e7c870afcb7d91fdea2b37c24aeb08f98b6d67257a5cb0a8bc3ac68d0f1a68c"}, - {file = "psutil-6.0.0-cp27-none-win32.whl", hash = "sha256:02b69001f44cc73c1c5279d02b30a817e339ceb258ad75997325e0e6169d8b35"}, - {file = "psutil-6.0.0-cp27-none-win_amd64.whl", hash = "sha256:21f1fb635deccd510f69f485b87433460a603919b45e2a324ad65b0cc74f8fb1"}, - {file = "psutil-6.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c588a7e9b1173b6e866756dde596fd4cad94f9399daf99ad8c3258b3cb2b47a0"}, - {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ed2440ada7ef7d0d608f20ad89a04ec47d2d3ab7190896cd62ca5fc4fe08bf0"}, - {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fd9a97c8e94059b0ef54a7d4baf13b405011176c3b6ff257c247cae0d560ecd"}, - {file = "psutil-6.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e8d0054fc88153ca0544f5c4d554d42e33df2e009c4ff42284ac9ebdef4132"}, - {file = "psutil-6.0.0-cp36-cp36m-win32.whl", hash = "sha256:fc8c9510cde0146432bbdb433322861ee8c3efbf8589865c8bf8d21cb30c4d14"}, - {file = "psutil-6.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:34859b8d8f423b86e4385ff3665d3f4d94be3cdf48221fbe476e883514fdb71c"}, - {file = "psutil-6.0.0-cp37-abi3-win32.whl", hash = "sha256:a495580d6bae27291324fe60cea0b5a7c23fa36a7cd35035a16d93bdcf076b9d"}, - {file = "psutil-6.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:33ea5e1c975250a720b3a6609c490db40dae5d83a4eb315170c4fe0d8b1f34b3"}, - {file = "psutil-6.0.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:ffe7fc9b6b36beadc8c322f84e1caff51e8703b88eee1da46d1e3a6ae11b4fd0"}, - {file = "psutil-6.0.0.tar.gz", hash = "sha256:8faae4f310b6d969fa26ca0545338b21f73c6b15db7c4a8d934a5482faa818f2"}, -] - -[package.extras] -test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] - -[[package]] -name = "ptyprocess" -version = "0.7.0" -description = "Run a subprocess in a pseudo terminal" -optional = false -python-versions = "*" -files = [ - {file = "ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35"}, - {file = "ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220"}, -] - -[[package]] -name = "pure-eval" -version = "0.2.3" -description = "Safely evaluate AST nodes without side effects" -optional = false -python-versions = "*" -files = [ - {file = "pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0"}, - {file = "pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42"}, -] - -[package.extras] -tests = ["pytest"] - -[[package]] -name = "pyasn1" -version = "0.6.0" -description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pyasn1-0.6.0-py2.py3-none-any.whl", hash = "sha256:cca4bb0f2df5504f02f6f8a775b6e416ff9b0b3b16f7ee80b5a3153d9b804473"}, - {file = "pyasn1-0.6.0.tar.gz", hash = "sha256:3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c"}, -] - -[[package]] -name = "pyasn1-modules" -version = "0.4.0" -description = "A collection of ASN.1-based protocols modules" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pyasn1_modules-0.4.0-py3-none-any.whl", hash = "sha256:be04f15b66c206eed667e0bb5ab27e2b1855ea54a842e5037738099e8ca4ae0b"}, - {file = "pyasn1_modules-0.4.0.tar.gz", hash = "sha256:831dbcea1b177b28c9baddf4c6d1013c24c3accd14a1873fffaa6a2e905f17b6"}, -] - -[package.dependencies] -pyasn1 = ">=0.4.6,<0.7.0" - -[[package]] -name = "pycparser" -version = "2.22" -description = "C parser in Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, - {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, -] - -[[package]] -name = "pydantic" -version = "2.8.2" -description = "Data validation using Python type hints" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pydantic-2.8.2-py3-none-any.whl", hash = "sha256:73ee9fddd406dc318b885c7a2eab8a6472b68b8fb5ba8150949fc3db939f23c8"}, - {file = "pydantic-2.8.2.tar.gz", hash = "sha256:6f62c13d067b0755ad1c21a34bdd06c0c12625a22b0fc09c6b149816604f7c2a"}, -] - -[package.dependencies] -annotated-types = ">=0.4.0" -email-validator = {version = ">=2.0.0", optional = true, markers = "extra == \"email\""} -pydantic-core = "2.20.1" -typing-extensions = [ - {version = ">=4.12.2", markers = "python_version >= \"3.13\""}, - {version = ">=4.6.1", markers = "python_version < \"3.13\""}, -] - -[package.extras] -email = ["email-validator (>=2.0.0)"] - -[[package]] -name = "pydantic-core" -version = "2.20.1" -description = "Core functionality for Pydantic validation and serialization" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pydantic_core-2.20.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3acae97ffd19bf091c72df4d726d552c473f3576409b2a7ca36b2f535ffff4a3"}, - {file = "pydantic_core-2.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:41f4c96227a67a013e7de5ff8f20fb496ce573893b7f4f2707d065907bffdbd6"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f239eb799a2081495ea659d8d4a43a8f42cd1fe9ff2e7e436295c38a10c286a"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:53e431da3fc53360db73eedf6f7124d1076e1b4ee4276b36fb25514544ceb4a3"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1f62b2413c3a0e846c3b838b2ecd6c7a19ec6793b2a522745b0869e37ab5bc1"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d41e6daee2813ecceea8eda38062d69e280b39df793f5a942fa515b8ed67953"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d482efec8b7dc6bfaedc0f166b2ce349df0011f5d2f1f25537ced4cfc34fd98"}, - {file = "pydantic_core-2.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e93e1a4b4b33daed65d781a57a522ff153dcf748dee70b40c7258c5861e1768a"}, - {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e7c4ea22b6739b162c9ecaaa41d718dfad48a244909fe7ef4b54c0b530effc5a"}, - {file = "pydantic_core-2.20.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4f2790949cf385d985a31984907fecb3896999329103df4e4983a4a41e13e840"}, - {file = "pydantic_core-2.20.1-cp310-none-win32.whl", hash = "sha256:5e999ba8dd90e93d57410c5e67ebb67ffcaadcea0ad973240fdfd3a135506250"}, - {file = "pydantic_core-2.20.1-cp310-none-win_amd64.whl", hash = "sha256:512ecfbefef6dac7bc5eaaf46177b2de58cdf7acac8793fe033b24ece0b9566c"}, - {file = "pydantic_core-2.20.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d2a8fa9d6d6f891f3deec72f5cc668e6f66b188ab14bb1ab52422fe8e644f312"}, - {file = "pydantic_core-2.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:175873691124f3d0da55aeea1d90660a6ea7a3cfea137c38afa0a5ffabe37b88"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37eee5b638f0e0dcd18d21f59b679686bbd18917b87db0193ae36f9c23c355fc"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:25e9185e2d06c16ee438ed39bf62935ec436474a6ac4f9358524220f1b236e43"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:150906b40ff188a3260cbee25380e7494ee85048584998c1e66df0c7a11c17a6"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ad4aeb3e9a97286573c03df758fc7627aecdd02f1da04516a86dc159bf70121"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3f3ed29cd9f978c604708511a1f9c2fdcb6c38b9aae36a51905b8811ee5cbf1"}, - {file = "pydantic_core-2.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0dae11d8f5ded51699c74d9548dcc5938e0804cc8298ec0aa0da95c21fff57b"}, - {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:faa6b09ee09433b87992fb5a2859efd1c264ddc37280d2dd5db502126d0e7f27"}, - {file = "pydantic_core-2.20.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9dc1b507c12eb0481d071f3c1808f0529ad41dc415d0ca11f7ebfc666e66a18b"}, - {file = "pydantic_core-2.20.1-cp311-none-win32.whl", hash = "sha256:fa2fddcb7107e0d1808086ca306dcade7df60a13a6c347a7acf1ec139aa6789a"}, - {file = "pydantic_core-2.20.1-cp311-none-win_amd64.whl", hash = "sha256:40a783fb7ee353c50bd3853e626f15677ea527ae556429453685ae32280c19c2"}, - {file = "pydantic_core-2.20.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:595ba5be69b35777474fa07f80fc260ea71255656191adb22a8c53aba4479231"}, - {file = "pydantic_core-2.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a4f55095ad087474999ee28d3398bae183a66be4823f753cd7d67dd0153427c9"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9aa05d09ecf4c75157197f27cdc9cfaeb7c5f15021c6373932bf3e124af029f"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e97fdf088d4b31ff4ba35db26d9cc472ac7ef4a2ff2badeabf8d727b3377fc52"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc633a9fe1eb87e250b5c57d389cf28998e4292336926b0b6cdaee353f89a237"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d573faf8eb7e6b1cbbcb4f5b247c60ca8be39fe2c674495df0eb4318303137fe"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26dc97754b57d2fd00ac2b24dfa341abffc380b823211994c4efac7f13b9e90e"}, - {file = "pydantic_core-2.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:33499e85e739a4b60c9dac710c20a08dc73cb3240c9a0e22325e671b27b70d24"}, - {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bebb4d6715c814597f85297c332297c6ce81e29436125ca59d1159b07f423eb1"}, - {file = "pydantic_core-2.20.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:516d9227919612425c8ef1c9b869bbbee249bc91912c8aaffb66116c0b447ebd"}, - {file = "pydantic_core-2.20.1-cp312-none-win32.whl", hash = "sha256:469f29f9093c9d834432034d33f5fe45699e664f12a13bf38c04967ce233d688"}, - {file = "pydantic_core-2.20.1-cp312-none-win_amd64.whl", hash = "sha256:035ede2e16da7281041f0e626459bcae33ed998cca6a0a007a5ebb73414ac72d"}, - {file = "pydantic_core-2.20.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:0827505a5c87e8aa285dc31e9ec7f4a17c81a813d45f70b1d9164e03a813a686"}, - {file = "pydantic_core-2.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:19c0fa39fa154e7e0b7f82f88ef85faa2a4c23cc65aae2f5aea625e3c13c735a"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa223cd1e36b642092c326d694d8bf59b71ddddc94cdb752bbbb1c5c91d833b"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c336a6d235522a62fef872c6295a42ecb0c4e1d0f1a3e500fe949415761b8a19"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7eb6a0587eded33aeefea9f916899d42b1799b7b14b8f8ff2753c0ac1741edac"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:70c8daf4faca8da5a6d655f9af86faf6ec2e1768f4b8b9d0226c02f3d6209703"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9fa4c9bf273ca41f940bceb86922a7667cd5bf90e95dbb157cbb8441008482c"}, - {file = "pydantic_core-2.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:11b71d67b4725e7e2a9f6e9c0ac1239bbc0c48cce3dc59f98635efc57d6dac83"}, - {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:270755f15174fb983890c49881e93f8f1b80f0b5e3a3cc1394a255706cabd203"}, - {file = "pydantic_core-2.20.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c81131869240e3e568916ef4c307f8b99583efaa60a8112ef27a366eefba8ef0"}, - {file = "pydantic_core-2.20.1-cp313-none-win32.whl", hash = "sha256:b91ced227c41aa29c672814f50dbb05ec93536abf8f43cd14ec9521ea09afe4e"}, - {file = "pydantic_core-2.20.1-cp313-none-win_amd64.whl", hash = "sha256:65db0f2eefcaad1a3950f498aabb4875c8890438bc80b19362cf633b87a8ab20"}, - {file = "pydantic_core-2.20.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:4745f4ac52cc6686390c40eaa01d48b18997cb130833154801a442323cc78f91"}, - {file = "pydantic_core-2.20.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a8ad4c766d3f33ba8fd692f9aa297c9058970530a32c728a2c4bfd2616d3358b"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41e81317dd6a0127cabce83c0c9c3fbecceae981c8391e6f1dec88a77c8a569a"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:04024d270cf63f586ad41fff13fde4311c4fc13ea74676962c876d9577bcc78f"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eaad4ff2de1c3823fddf82f41121bdf453d922e9a238642b1dedb33c4e4f98ad"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:26ab812fa0c845df815e506be30337e2df27e88399b985d0bb4e3ecfe72df31c"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c5ebac750d9d5f2706654c638c041635c385596caf68f81342011ddfa1e5598"}, - {file = "pydantic_core-2.20.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2aafc5a503855ea5885559eae883978c9b6d8c8993d67766ee73d82e841300dd"}, - {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4868f6bd7c9d98904b748a2653031fc9c2f85b6237009d475b1008bfaeb0a5aa"}, - {file = "pydantic_core-2.20.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:aa2f457b4af386254372dfa78a2eda2563680d982422641a85f271c859df1987"}, - {file = "pydantic_core-2.20.1-cp38-none-win32.whl", hash = "sha256:225b67a1f6d602de0ce7f6c1c3ae89a4aa25d3de9be857999e9124f15dab486a"}, - {file = "pydantic_core-2.20.1-cp38-none-win_amd64.whl", hash = "sha256:6b507132dcfc0dea440cce23ee2182c0ce7aba7054576efc65634f080dbe9434"}, - {file = "pydantic_core-2.20.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:b03f7941783b4c4a26051846dea594628b38f6940a2fdc0df00b221aed39314c"}, - {file = "pydantic_core-2.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1eedfeb6089ed3fad42e81a67755846ad4dcc14d73698c120a82e4ccf0f1f9f6"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:635fee4e041ab9c479e31edda27fcf966ea9614fff1317e280d99eb3e5ab6fe2"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:77bf3ac639c1ff567ae3b47f8d4cc3dc20f9966a2a6dd2311dcc055d3d04fb8a"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ed1b0132f24beeec5a78b67d9388656d03e6a7c837394f99257e2d55b461611"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6514f963b023aeee506678a1cf821fe31159b925c4b76fe2afa94cc70b3222b"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10d4204d8ca33146e761c79f83cc861df20e7ae9f6487ca290a97702daf56006"}, - {file = "pydantic_core-2.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2d036c7187b9422ae5b262badb87a20a49eb6c5238b2004e96d4da1231badef1"}, - {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9ebfef07dbe1d93efb94b4700f2d278494e9162565a54f124c404a5656d7ff09"}, - {file = "pydantic_core-2.20.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6b9d9bb600328a1ce523ab4f454859e9d439150abb0906c5a1983c146580ebab"}, - {file = "pydantic_core-2.20.1-cp39-none-win32.whl", hash = "sha256:784c1214cb6dd1e3b15dd8b91b9a53852aed16671cc3fbe4786f4f1db07089e2"}, - {file = "pydantic_core-2.20.1-cp39-none-win_amd64.whl", hash = "sha256:d2fe69c5434391727efa54b47a1e7986bb0186e72a41b203df8f5b0a19a4f669"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a45f84b09ac9c3d35dfcf6a27fd0634d30d183205230a0ebe8373a0e8cfa0906"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d02a72df14dfdbaf228424573a07af10637bd490f0901cee872c4f434a735b94"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2b27e6af28f07e2f195552b37d7d66b150adbaa39a6d327766ffd695799780f"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:084659fac3c83fd674596612aeff6041a18402f1e1bc19ca39e417d554468482"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:242b8feb3c493ab78be289c034a1f659e8826e2233786e36f2893a950a719bb6"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:38cf1c40a921d05c5edc61a785c0ddb4bed67827069f535d794ce6bcded919fc"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e0bbdd76ce9aa5d4209d65f2b27fc6e5ef1312ae6c5333c26db3f5ade53a1e99"}, - {file = "pydantic_core-2.20.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:254ec27fdb5b1ee60684f91683be95e5133c994cc54e86a0b0963afa25c8f8a6"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:407653af5617f0757261ae249d3fba09504d7a71ab36ac057c938572d1bc9331"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:c693e916709c2465b02ca0ad7b387c4f8423d1db7b4649c551f27a529181c5ad"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b5ff4911aea936a47d9376fd3ab17e970cc543d1b68921886e7f64bd28308d1"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:177f55a886d74f1808763976ac4efd29b7ed15c69f4d838bbd74d9d09cf6fa86"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:964faa8a861d2664f0c7ab0c181af0bea66098b1919439815ca8803ef136fc4e"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4dd484681c15e6b9a977c785a345d3e378d72678fd5f1f3c0509608da24f2ac0"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f6d6cff3538391e8486a431569b77921adfcdef14eb18fbf19b7c0a5294d4e6a"}, - {file = "pydantic_core-2.20.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a6d511cc297ff0883bc3708b465ff82d7560193169a8b93260f74ecb0a5e08a7"}, - {file = "pydantic_core-2.20.1.tar.gz", hash = "sha256:26ca695eeee5f9f1aeeb211ffc12f10bcb6f71e2989988fda61dabd65db878d4"}, -] - -[package.dependencies] -typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" - -[[package]] -name = "pydantic-yaml" -version = "1.3.0" -description = "Adds some YAML functionality to the excellent `pydantic` library." -optional = false -python-versions = ">=3.8" -files = [ - {file = "pydantic_yaml-1.3.0-py3-none-any.whl", hash = "sha256:0684255a860522c9226d4eff5c0e8ba44339683b5c5fa79fac4470c0e3821911"}, - {file = "pydantic_yaml-1.3.0.tar.gz", hash = "sha256:5671c9ef1731570aa2644432ae1e2dd34c406bd4a0a393df622f6b897a88df83"}, -] - -[package.dependencies] -importlib-metadata = "*" -pydantic = ">=1.8" -"ruamel.yaml" = ">=0.16.0,<0.19.0" -typing-extensions = ">=4.5.0" - -[package.extras] -dev = ["black (==23.11.0)", "mypy (==1.5.1)", "pre-commit (==2.21.0)", "pytest (==7.4.2)", "ruff (==0.1.5)", "setuptools (>=61.0.0)", "setuptools-scm[toml] (>=6.2)"] -docs = ["mkdocs", "mkdocs-material", "mkdocstrings[python]", "pygments", "pymdown-extensions"] - -[[package]] -name = "pydiscourse" -version = "1.7.0" -description = "\"A Python library for the Discourse API\"" -optional = false -python-versions = "*" -files = [ - {file = "pydiscourse-1.7.0-py2.py3-none-any.whl", hash = "sha256:d3ddf02510fb22dc425dfb7d81e6c363a14503ec53a7f7cb0d16d3f1f13259c4"}, - {file = "pydiscourse-1.7.0.tar.gz", hash = "sha256:e090b9143750941aef5042bd8a9cdb93376abf6c18fe5ebbf15d7813acbdafb3"}, -] - -[package.dependencies] -requests = ">=2.4.2" - -[[package]] -name = "pydrive2" -version = "1.20.0" -description = "Google Drive API made easy. Maintained fork of PyDrive." -optional = false -python-versions = ">=3.8" -files = [ - {file = "PyDrive2-1.20.0-py3-none-any.whl", hash = "sha256:d4582193d28f85d2a79e7a3772527110c0769aa763625f78fab81d0837f90564"}, - {file = "pydrive2-1.20.0.tar.gz", hash = "sha256:168ba6eb6d83c9b082f05bc8cb95ee93ce62389db3b559ff0e769b5bb8b2b10a"}, -] - -[package.dependencies] -google-api-python-client = ">=1.12.5" -oauth2client = ">=4.0.0" -pyOpenSSL = ">=19.1.0" -PyYAML = ">=3.0" - -[package.extras] -fsspec = ["appdirs (>=1.4.3)", "fsspec (>=2021.07.0)", "funcy (>=1.14)", "tqdm (>=4.0.0)"] -tests = ["black (==24.4.2)", "flake8", "flake8-docstrings", "funcy (>=1.14)", "importlib-resources (<6)", "pyinstaller", "pytest (>=4.6.0)", "pytest-mock", "timeout-decorator"] - -[[package]] -name = "pygithub" -version = "2.4.0" -description = "Use the full Github API v3" -optional = false -python-versions = ">=3.8" -files = [ - {file = "PyGithub-2.4.0-py3-none-any.whl", hash = "sha256:81935aa4bdc939fba98fee1cb47422c09157c56a27966476ff92775602b9ee24"}, - {file = "pygithub-2.4.0.tar.gz", hash = "sha256:6601e22627e87bac192f1e2e39c6e6f69a43152cfb8f307cee575879320b3051"}, -] - -[package.dependencies] -Deprecated = "*" -pyjwt = {version = ">=2.4.0", extras = ["crypto"]} -pynacl = ">=1.4.0" -requests = ">=2.14.0" -typing-extensions = ">=4.0.0" -urllib3 = ">=1.26.0" - -[[package]] -name = "pygments" -version = "2.18.0" -description = "Pygments is a syntax highlighting package written in Python." -optional = false -python-versions = ">=3.8" -files = [ - {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, - {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, -] - -[package.extras] -windows-terminal = ["colorama (>=0.4.6)"] - -[[package]] -name = "pyjwt" -version = "2.9.0" -description = "JSON Web Token implementation in Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "PyJWT-2.9.0-py3-none-any.whl", hash = "sha256:3b02fb0f44517787776cf48f2ae25d8e14f300e6d7545a4315cee571a415e850"}, - {file = "pyjwt-2.9.0.tar.gz", hash = "sha256:7e1e5b56cc735432a7369cbfa0efe50fa113ebecdc04ae6922deba8b84582d0c"}, -] - -[package.dependencies] -cryptography = {version = ">=3.4.0", optional = true, markers = "extra == \"crypto\""} - -[package.extras] -crypto = ["cryptography (>=3.4.0)"] -dev = ["coverage[toml] (==5.0.4)", "cryptography (>=3.4.0)", "pre-commit", "pytest (>=6.0.0,<7.0.0)", "sphinx", "sphinx-rtd-theme", "zope.interface"] -docs = ["sphinx", "sphinx-rtd-theme", "zope.interface"] -tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] - -[[package]] -name = "pylint" -version = "3.2.7" -description = "python code static checker" -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "pylint-3.2.7-py3-none-any.whl", hash = "sha256:02f4aedeac91be69fb3b4bea997ce580a4ac68ce58b89eaefeaf06749df73f4b"}, - {file = "pylint-3.2.7.tar.gz", hash = "sha256:1b7a721b575eaeaa7d39db076b6e7743c993ea44f57979127c517c6c572c803e"}, -] - -[package.dependencies] -astroid = ">=3.2.4,<=3.3.0-dev0" -colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} -dill = [ - {version = ">=0.3.7", markers = "python_version >= \"3.12\""}, - {version = ">=0.3.6", markers = "python_version >= \"3.11\" and python_version < \"3.12\""}, - {version = ">=0.2", markers = "python_version < \"3.11\""}, -] -isort = ">=4.2.5,<5.13.0 || >5.13.0,<6" -mccabe = ">=0.6,<0.8" -platformdirs = ">=2.2.0" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -tomlkit = ">=0.10.1" - -[package.extras] -spelling = ["pyenchant (>=3.2,<4.0)"] -testutils = ["gitpython (>3)"] - -[[package]] -name = "pymdown-extensions" -version = "10.9" -description = "Extension pack for Python Markdown." -optional = false -python-versions = ">=3.8" -files = [ - {file = "pymdown_extensions-10.9-py3-none-any.whl", hash = "sha256:d323f7e90d83c86113ee78f3fe62fc9dee5f56b54d912660703ea1816fed5626"}, - {file = "pymdown_extensions-10.9.tar.gz", hash = "sha256:6ff740bcd99ec4172a938970d42b96128bdc9d4b9bcad72494f29921dc69b753"}, -] - -[package.dependencies] -markdown = ">=3.6" -pyyaml = "*" - -[package.extras] -extra = ["pygments (>=2.12)"] - -[[package]] -name = "pynacl" -version = "1.5.0" -description = "Python binding to the Networking and Cryptography (NaCl) library" -optional = false -python-versions = ">=3.6" -files = [ - {file = "PyNaCl-1.5.0-cp36-abi3-macosx_10_10_universal2.whl", hash = "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1"}, - {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl", hash = "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92"}, - {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394"}, - {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d"}, - {file = "PyNaCl-1.5.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858"}, - {file = "PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b"}, - {file = "PyNaCl-1.5.0-cp36-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff"}, - {file = "PyNaCl-1.5.0-cp36-abi3-win32.whl", hash = "sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543"}, - {file = "PyNaCl-1.5.0-cp36-abi3-win_amd64.whl", hash = "sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93"}, - {file = "PyNaCl-1.5.0.tar.gz", hash = "sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba"}, -] - -[package.dependencies] -cffi = ">=1.4.1" - -[package.extras] -docs = ["sphinx (>=1.6.5)", "sphinx-rtd-theme"] -tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"] - -[[package]] -name = "pyopenssl" -version = "24.2.1" -description = "Python wrapper module around the OpenSSL library" -optional = false -python-versions = ">=3.7" -files = [ - {file = "pyOpenSSL-24.2.1-py3-none-any.whl", hash = "sha256:967d5719b12b243588573f39b0c677637145c7a1ffedcd495a487e58177fbb8d"}, - {file = "pyopenssl-24.2.1.tar.gz", hash = "sha256:4247f0dbe3748d560dcbb2ff3ea01af0f9a1a001ef5f7c4c647956ed8cbf0e95"}, -] - -[package.dependencies] -cryptography = ">=41.0.5,<44" - -[package.extras] -docs = ["sphinx (!=5.2.0,!=5.2.0.post0,!=7.2.5)", "sphinx-rtd-theme"] -test = ["pretend", "pytest (>=3.0.1)", "pytest-rerunfailures"] - -[[package]] -name = "pyparsing" -version = "3.1.4" -description = "pyparsing module - Classes and methods to define and execute parsing grammars" -optional = false -python-versions = ">=3.6.8" -files = [ - {file = "pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c"}, - {file = "pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032"}, -] - -[package.extras] -diagrams = ["jinja2", "railroad-diagrams"] - -[[package]] -name = "pyproject-hooks" -version = "1.1.0" -description = "Wrappers to call pyproject.toml-based build backend hooks." -optional = false -python-versions = ">=3.7" -files = [ - {file = "pyproject_hooks-1.1.0-py3-none-any.whl", hash = "sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2"}, - {file = "pyproject_hooks-1.1.0.tar.gz", hash = "sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965"}, -] - -[[package]] -name = "pyreadline3" -version = "3.4.1" -description = "A python implementation of GNU readline." -optional = false -python-versions = "*" -files = [ - {file = "pyreadline3-3.4.1-py3-none-any.whl", hash = "sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb"}, - {file = "pyreadline3-3.4.1.tar.gz", hash = "sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae"}, -] - -[[package]] -name = "pytest" -version = "8.3.2" -description = "pytest: simple powerful testing with Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pytest-8.3.2-py3-none-any.whl", hash = "sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5"}, - {file = "pytest-8.3.2.tar.gz", hash = "sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "sys_platform == \"win32\""} -exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} -iniconfig = "*" -packaging = "*" -pluggy = ">=1.5,<2" -tomli = {version = ">=1", markers = "python_version < \"3.11\""} - -[package.extras] -dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] - -[[package]] -name = "pytest-asyncio" -version = "0.24.0" -description = "Pytest support for asyncio" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pytest_asyncio-0.24.0-py3-none-any.whl", hash = "sha256:a811296ed596b69bf0b6f3dc40f83bcaf341b155a269052d82efa2b25ac7037b"}, - {file = "pytest_asyncio-0.24.0.tar.gz", hash = "sha256:d081d828e576d85f875399194281e92bf8a68d60d72d1a2faf2feddb6c46b276"}, -] - -[package.dependencies] -pytest = ">=8.2,<9" - -[package.extras] -docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1.0)"] -testing = ["coverage (>=6.2)", "hypothesis (>=5.7.1)"] - -[[package]] -name = "pytest-mock" -version = "3.14.0" -description = "Thin-wrapper around the mock package for easier use with pytest" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pytest-mock-3.14.0.tar.gz", hash = "sha256:2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0"}, - {file = "pytest_mock-3.14.0-py3-none-any.whl", hash = "sha256:0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f"}, -] - -[package.dependencies] -pytest = ">=6.2.5" - -[package.extras] -dev = ["pre-commit", "pytest-asyncio", "tox"] - -[[package]] -name = "pytest-xdist" -version = "3.6.1" -description = "pytest xdist plugin for distributed testing, most importantly across multiple CPUs" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pytest_xdist-3.6.1-py3-none-any.whl", hash = "sha256:9ed4adfb68a016610848639bb7e02c9352d5d9f03d04809919e2dafc3be4cca7"}, - {file = "pytest_xdist-3.6.1.tar.gz", hash = "sha256:ead156a4db231eec769737f57668ef58a2084a34b2e55c4a8fa20d861107300d"}, -] - -[package.dependencies] -execnet = ">=2.1" -pytest = ">=7.0.0" - -[package.extras] -psutil = ["psutil (>=3.0)"] -setproctitle = ["setproctitle"] -testing = ["filelock"] - -[[package]] -name = "python-dateutil" -version = "2.9.0.post0" -description = "Extensions to the standard Python datetime module" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -files = [ - {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, - {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, -] - -[package.dependencies] -six = ">=1.5" - -[[package]] -name = "python-dotenv" -version = "1.0.1" -description = "Read key-value pairs from a .env file and set them as environment variables" -optional = false -python-versions = ">=3.8" -files = [ - {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, - {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, -] - -[package.extras] -cli = ["click (>=5.0)"] - -[[package]] -name = "python-json-logger" -version = "2.0.7" -description = "A python library adding a json log formatter" -optional = false -python-versions = ">=3.6" -files = [ - {file = "python-json-logger-2.0.7.tar.gz", hash = "sha256:23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c"}, - {file = "python_json_logger-2.0.7-py3-none-any.whl", hash = "sha256:f380b826a991ebbe3de4d897aeec42760035ac760345e57b812938dc8b35e2bd"}, -] - -[[package]] -name = "pytz" -version = "2024.1" -description = "World timezone definitions, modern and historical" -optional = false -python-versions = "*" -files = [ - {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, - {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, -] - -[[package]] -name = "pywin32" -version = "306" -description = "Python for Window Extensions" -optional = false -python-versions = "*" -files = [ - {file = "pywin32-306-cp310-cp310-win32.whl", hash = "sha256:06d3420a5155ba65f0b72f2699b5bacf3109f36acbe8923765c22938a69dfc8d"}, - {file = "pywin32-306-cp310-cp310-win_amd64.whl", hash = "sha256:84f4471dbca1887ea3803d8848a1616429ac94a4a8d05f4bc9c5dcfd42ca99c8"}, - {file = "pywin32-306-cp311-cp311-win32.whl", hash = "sha256:e65028133d15b64d2ed8f06dd9fbc268352478d4f9289e69c190ecd6818b6407"}, - {file = "pywin32-306-cp311-cp311-win_amd64.whl", hash = "sha256:a7639f51c184c0272e93f244eb24dafca9b1855707d94c192d4a0b4c01e1100e"}, - {file = "pywin32-306-cp311-cp311-win_arm64.whl", hash = "sha256:70dba0c913d19f942a2db25217d9a1b726c278f483a919f1abfed79c9cf64d3a"}, - {file = "pywin32-306-cp312-cp312-win32.whl", hash = "sha256:383229d515657f4e3ed1343da8be101000562bf514591ff383ae940cad65458b"}, - {file = "pywin32-306-cp312-cp312-win_amd64.whl", hash = "sha256:37257794c1ad39ee9be652da0462dc2e394c8159dfd913a8a4e8eb6fd346da0e"}, - {file = "pywin32-306-cp312-cp312-win_arm64.whl", hash = "sha256:5821ec52f6d321aa59e2db7e0a35b997de60c201943557d108af9d4ae1ec7040"}, - {file = "pywin32-306-cp37-cp37m-win32.whl", hash = "sha256:1c73ea9a0d2283d889001998059f5eaaba3b6238f767c9cf2833b13e6a685f65"}, - {file = "pywin32-306-cp37-cp37m-win_amd64.whl", hash = "sha256:72c5f621542d7bdd4fdb716227be0dd3f8565c11b280be6315b06ace35487d36"}, - {file = "pywin32-306-cp38-cp38-win32.whl", hash = "sha256:e4c092e2589b5cf0d365849e73e02c391c1349958c5ac3e9d5ccb9a28e017b3a"}, - {file = "pywin32-306-cp38-cp38-win_amd64.whl", hash = "sha256:e8ac1ae3601bee6ca9f7cb4b5363bf1c0badb935ef243c4733ff9a393b1690c0"}, - {file = "pywin32-306-cp39-cp39-win32.whl", hash = "sha256:e25fd5b485b55ac9c057f67d94bc203f3f6595078d1fb3b458c9c28b7153a802"}, - {file = "pywin32-306-cp39-cp39-win_amd64.whl", hash = "sha256:39b61c15272833b5c329a2989999dcae836b1eed650252ab1b7bfbe1d59f30f4"}, -] - -[[package]] -name = "pywin32-ctypes" -version = "0.2.3" -description = "A (partial) reimplementation of pywin32 using ctypes/cffi" -optional = false -python-versions = ">=3.6" -files = [ - {file = "pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755"}, - {file = "pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8"}, -] - -[[package]] -name = "pywinpty" -version = "2.0.13" -description = "Pseudo terminal support for Windows from Python." -optional = false -python-versions = ">=3.8" -files = [ - {file = "pywinpty-2.0.13-cp310-none-win_amd64.whl", hash = "sha256:697bff211fb5a6508fee2dc6ff174ce03f34a9a233df9d8b5fe9c8ce4d5eaf56"}, - {file = "pywinpty-2.0.13-cp311-none-win_amd64.whl", hash = "sha256:b96fb14698db1284db84ca38c79f15b4cfdc3172065b5137383910567591fa99"}, - {file = "pywinpty-2.0.13-cp312-none-win_amd64.whl", hash = "sha256:2fd876b82ca750bb1333236ce98488c1be96b08f4f7647cfdf4129dfad83c2d4"}, - {file = "pywinpty-2.0.13-cp38-none-win_amd64.whl", hash = "sha256:61d420c2116c0212808d31625611b51caf621fe67f8a6377e2e8b617ea1c1f7d"}, - {file = "pywinpty-2.0.13-cp39-none-win_amd64.whl", hash = "sha256:71cb613a9ee24174730ac7ae439fd179ca34ccb8c5349e8d7b72ab5dea2c6f4b"}, - {file = "pywinpty-2.0.13.tar.gz", hash = "sha256:c34e32351a3313ddd0d7da23d27f835c860d32fe4ac814d372a3ea9594f41dde"}, -] - -[[package]] -name = "pyyaml" -version = "6.0.2" -description = "YAML parser and emitter for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, - {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, - {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, - {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, - {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, - {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, - {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, - {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, - {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, - {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, - {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, - {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, - {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, - {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, - {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, - {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, - {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, - {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, - {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, - {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, - {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, - {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, - {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, - {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, - {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, - {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, - {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, - {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, - {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, - {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, - {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, - {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, - {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, - {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, - {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, -] - -[[package]] -name = "pyyaml-env-tag" -version = "0.1" -description = "A custom YAML tag for referencing environment variables in YAML files. " -optional = false -python-versions = ">=3.6" -files = [ - {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"}, - {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, -] - -[package.dependencies] -pyyaml = "*" - -[[package]] -name = "pyzmq" -version = "26.2.0" -description = "Python bindings for 0MQ" -optional = false -python-versions = ">=3.7" -files = [ - {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:ddf33d97d2f52d89f6e6e7ae66ee35a4d9ca6f36eda89c24591b0c40205a3629"}, - {file = "pyzmq-26.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dacd995031a01d16eec825bf30802fceb2c3791ef24bcce48fa98ce40918c27b"}, - {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89289a5ee32ef6c439086184529ae060c741334b8970a6855ec0b6ad3ff28764"}, - {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5506f06d7dc6ecf1efacb4a013b1f05071bb24b76350832c96449f4a2d95091c"}, - {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ea039387c10202ce304af74def5021e9adc6297067f3441d348d2b633e8166a"}, - {file = "pyzmq-26.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a2224fa4a4c2ee872886ed00a571f5e967c85e078e8e8c2530a2fb01b3309b88"}, - {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:28ad5233e9c3b52d76196c696e362508959741e1a005fb8fa03b51aea156088f"}, - {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:1c17211bc037c7d88e85ed8b7d8f7e52db6dc8eca5590d162717c654550f7282"}, - {file = "pyzmq-26.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b8f86dd868d41bea9a5f873ee13bf5551c94cf6bc51baebc6f85075971fe6eea"}, - {file = "pyzmq-26.2.0-cp310-cp310-win32.whl", hash = "sha256:46a446c212e58456b23af260f3d9fb785054f3e3653dbf7279d8f2b5546b21c2"}, - {file = "pyzmq-26.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:49d34ab71db5a9c292a7644ce74190b1dd5a3475612eefb1f8be1d6961441971"}, - {file = "pyzmq-26.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:bfa832bfa540e5b5c27dcf5de5d82ebc431b82c453a43d141afb1e5d2de025fa"}, - {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:8f7e66c7113c684c2b3f1c83cdd3376103ee0ce4c49ff80a648643e57fb22218"}, - {file = "pyzmq-26.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3a495b30fc91db2db25120df5847d9833af237546fd59170701acd816ccc01c4"}, - {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77eb0968da535cba0470a5165468b2cac7772cfb569977cff92e240f57e31bef"}, - {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ace4f71f1900a548f48407fc9be59c6ba9d9aaf658c2eea6cf2779e72f9f317"}, - {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92a78853d7280bffb93df0a4a6a2498cba10ee793cc8076ef797ef2f74d107cf"}, - {file = "pyzmq-26.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:689c5d781014956a4a6de61d74ba97b23547e431e9e7d64f27d4922ba96e9d6e"}, - {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0aca98bc423eb7d153214b2df397c6421ba6373d3397b26c057af3c904452e37"}, - {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1f3496d76b89d9429a656293744ceca4d2ac2a10ae59b84c1da9b5165f429ad3"}, - {file = "pyzmq-26.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5c2b3bfd4b9689919db068ac6c9911f3fcb231c39f7dd30e3138be94896d18e6"}, - {file = "pyzmq-26.2.0-cp311-cp311-win32.whl", hash = "sha256:eac5174677da084abf378739dbf4ad245661635f1600edd1221f150b165343f4"}, - {file = "pyzmq-26.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:5a509df7d0a83a4b178d0f937ef14286659225ef4e8812e05580776c70e155d5"}, - {file = "pyzmq-26.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:c0e6091b157d48cbe37bd67233318dbb53e1e6327d6fc3bb284afd585d141003"}, - {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:ded0fc7d90fe93ae0b18059930086c51e640cdd3baebdc783a695c77f123dcd9"}, - {file = "pyzmq-26.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:17bf5a931c7f6618023cdacc7081f3f266aecb68ca692adac015c383a134ca52"}, - {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55cf66647e49d4621a7e20c8d13511ef1fe1efbbccf670811864452487007e08"}, - {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4661c88db4a9e0f958c8abc2b97472e23061f0bc737f6f6179d7a27024e1faa5"}, - {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea7f69de383cb47522c9c208aec6dd17697db7875a4674c4af3f8cfdac0bdeae"}, - {file = "pyzmq-26.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:7f98f6dfa8b8ccaf39163ce872bddacca38f6a67289116c8937a02e30bbe9711"}, - {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e3e0210287329272539eea617830a6a28161fbbd8a3271bf4150ae3e58c5d0e6"}, - {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6b274e0762c33c7471f1a7471d1a2085b1a35eba5cdc48d2ae319f28b6fc4de3"}, - {file = "pyzmq-26.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:29c6a4635eef69d68a00321e12a7d2559fe2dfccfa8efae3ffb8e91cd0b36a8b"}, - {file = "pyzmq-26.2.0-cp312-cp312-win32.whl", hash = "sha256:989d842dc06dc59feea09e58c74ca3e1678c812a4a8a2a419046d711031f69c7"}, - {file = "pyzmq-26.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:2a50625acdc7801bc6f74698c5c583a491c61d73c6b7ea4dee3901bb99adb27a"}, - {file = "pyzmq-26.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:4d29ab8592b6ad12ebbf92ac2ed2bedcfd1cec192d8e559e2e099f648570e19b"}, - {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9dd8cd1aeb00775f527ec60022004d030ddc51d783d056e3e23e74e623e33726"}, - {file = "pyzmq-26.2.0-cp313-cp313-macosx_10_15_universal2.whl", hash = "sha256:28c812d9757fe8acecc910c9ac9dafd2ce968c00f9e619db09e9f8f54c3a68a3"}, - {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d80b1dd99c1942f74ed608ddb38b181b87476c6a966a88a950c7dee118fdf50"}, - {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c997098cc65e3208eca09303630e84d42718620e83b733d0fd69543a9cab9cb"}, - {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ad1bc8d1b7a18497dda9600b12dc193c577beb391beae5cd2349184db40f187"}, - {file = "pyzmq-26.2.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:bea2acdd8ea4275e1278350ced63da0b166421928276c7c8e3f9729d7402a57b"}, - {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:23f4aad749d13698f3f7b64aad34f5fc02d6f20f05999eebc96b89b01262fb18"}, - {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:a4f96f0d88accc3dbe4a9025f785ba830f968e21e3e2c6321ccdfc9aef755115"}, - {file = "pyzmq-26.2.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ced65e5a985398827cc9276b93ef6dfabe0273c23de8c7931339d7e141c2818e"}, - {file = "pyzmq-26.2.0-cp313-cp313-win32.whl", hash = "sha256:31507f7b47cc1ead1f6e86927f8ebb196a0bab043f6345ce070f412a59bf87b5"}, - {file = "pyzmq-26.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:70fc7fcf0410d16ebdda9b26cbd8bf8d803d220a7f3522e060a69a9c87bf7bad"}, - {file = "pyzmq-26.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:c3789bd5768ab5618ebf09cef6ec2b35fed88709b104351748a63045f0ff9797"}, - {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:034da5fc55d9f8da09015d368f519478a52675e558c989bfcb5cf6d4e16a7d2a"}, - {file = "pyzmq-26.2.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:c92d73464b886931308ccc45b2744e5968cbaade0b1d6aeb40d8ab537765f5bc"}, - {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:794a4562dcb374f7dbbfb3f51d28fb40123b5a2abadee7b4091f93054909add5"}, - {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aee22939bb6075e7afededabad1a56a905da0b3c4e3e0c45e75810ebe3a52672"}, - {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ae90ff9dad33a1cfe947d2c40cb9cb5e600d759ac4f0fd22616ce6540f72797"}, - {file = "pyzmq-26.2.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:43a47408ac52647dfabbc66a25b05b6a61700b5165807e3fbd40063fcaf46386"}, - {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:25bf2374a2a8433633c65ccb9553350d5e17e60c8eb4de4d92cc6bd60f01d306"}, - {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_i686.whl", hash = "sha256:007137c9ac9ad5ea21e6ad97d3489af654381324d5d3ba614c323f60dab8fae6"}, - {file = "pyzmq-26.2.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:470d4a4f6d48fb34e92d768b4e8a5cc3780db0d69107abf1cd7ff734b9766eb0"}, - {file = "pyzmq-26.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:3b55a4229ce5da9497dd0452b914556ae58e96a4381bb6f59f1305dfd7e53fc8"}, - {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9cb3a6460cdea8fe8194a76de8895707e61ded10ad0be97188cc8463ffa7e3a8"}, - {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8ab5cad923cc95c87bffee098a27856c859bd5d0af31bd346035aa816b081fe1"}, - {file = "pyzmq-26.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ed69074a610fad1c2fda66180e7b2edd4d31c53f2d1872bc2d1211563904cd9"}, - {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:cccba051221b916a4f5e538997c45d7d136a5646442b1231b916d0164067ea27"}, - {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:0eaa83fc4c1e271c24eaf8fb083cbccef8fde77ec8cd45f3c35a9a123e6da097"}, - {file = "pyzmq-26.2.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:9edda2df81daa129b25a39b86cb57dfdfe16f7ec15b42b19bfac503360d27a93"}, - {file = "pyzmq-26.2.0-cp37-cp37m-win32.whl", hash = "sha256:ea0eb6af8a17fa272f7b98d7bebfab7836a0d62738e16ba380f440fceca2d951"}, - {file = "pyzmq-26.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:4ff9dc6bc1664bb9eec25cd17506ef6672d506115095411e237d571e92a58231"}, - {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:2eb7735ee73ca1b0d71e0e67c3739c689067f055c764f73aac4cc8ecf958ee3f"}, - {file = "pyzmq-26.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1a534f43bc738181aa7cbbaf48e3eca62c76453a40a746ab95d4b27b1111a7d2"}, - {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:aedd5dd8692635813368e558a05266b995d3d020b23e49581ddd5bbe197a8ab6"}, - {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:8be4700cd8bb02cc454f630dcdf7cfa99de96788b80c51b60fe2fe1dac480289"}, - {file = "pyzmq-26.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fcc03fa4997c447dce58264e93b5aa2d57714fbe0f06c07b7785ae131512732"}, - {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:402b190912935d3db15b03e8f7485812db350d271b284ded2b80d2e5704be780"}, - {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8685fa9c25ff00f550c1fec650430c4b71e4e48e8d852f7ddcf2e48308038640"}, - {file = "pyzmq-26.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:76589c020680778f06b7e0b193f4b6dd66d470234a16e1df90329f5e14a171cd"}, - {file = "pyzmq-26.2.0-cp38-cp38-win32.whl", hash = "sha256:8423c1877d72c041f2c263b1ec6e34360448decfb323fa8b94e85883043ef988"}, - {file = "pyzmq-26.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:76589f2cd6b77b5bdea4fca5992dc1c23389d68b18ccc26a53680ba2dc80ff2f"}, - {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:b1d464cb8d72bfc1a3adc53305a63a8e0cac6bc8c5a07e8ca190ab8d3faa43c2"}, - {file = "pyzmq-26.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4da04c48873a6abdd71811c5e163bd656ee1b957971db7f35140a2d573f6949c"}, - {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d049df610ac811dcffdc147153b414147428567fbbc8be43bb8885f04db39d98"}, - {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:05590cdbc6b902101d0e65d6a4780af14dc22914cc6ab995d99b85af45362cc9"}, - {file = "pyzmq-26.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c811cfcd6a9bf680236c40c6f617187515269ab2912f3d7e8c0174898e2519db"}, - {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:6835dd60355593de10350394242b5757fbbd88b25287314316f266e24c61d073"}, - {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc6bee759a6bddea5db78d7dcd609397449cb2d2d6587f48f3ca613b19410cfc"}, - {file = "pyzmq-26.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c530e1eecd036ecc83c3407f77bb86feb79916d4a33d11394b8234f3bd35b940"}, - {file = "pyzmq-26.2.0-cp39-cp39-win32.whl", hash = "sha256:367b4f689786fca726ef7a6c5ba606958b145b9340a5e4808132cc65759abd44"}, - {file = "pyzmq-26.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:e6fa2e3e683f34aea77de8112f6483803c96a44fd726d7358b9888ae5bb394ec"}, - {file = "pyzmq-26.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:7445be39143a8aa4faec43b076e06944b8f9d0701b669df4af200531b21e40bb"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:706e794564bec25819d21a41c31d4df2d48e1cc4b061e8d345d7fb4dd3e94072"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b435f2753621cd36e7c1762156815e21c985c72b19135dac43a7f4f31d28dd1"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:160c7e0a5eb178011e72892f99f918c04a131f36056d10d9c1afb223fc952c2d"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c4a71d5d6e7b28a47a394c0471b7e77a0661e2d651e7ae91e0cab0a587859ca"}, - {file = "pyzmq-26.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:90412f2db8c02a3864cbfc67db0e3dcdbda336acf1c469526d3e869394fe001c"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2ea4ad4e6a12e454de05f2949d4beddb52460f3de7c8b9d5c46fbb7d7222e02c"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fc4f7a173a5609631bb0c42c23d12c49df3966f89f496a51d3eb0ec81f4519d6"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:878206a45202247781472a2d99df12a176fef806ca175799e1c6ad263510d57c"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17c412bad2eb9468e876f556eb4ee910e62d721d2c7a53c7fa31e643d35352e6"}, - {file = "pyzmq-26.2.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:0d987a3ae5a71c6226b203cfd298720e0086c7fe7c74f35fa8edddfbd6597eed"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:39887ac397ff35b7b775db7201095fc6310a35fdbae85bac4523f7eb3b840e20"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:fdb5b3e311d4d4b0eb8b3e8b4d1b0a512713ad7e6a68791d0923d1aec433d919"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:226af7dcb51fdb0109f0016449b357e182ea0ceb6b47dfb5999d569e5db161d5"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bed0e799e6120b9c32756203fb9dfe8ca2fb8467fed830c34c877e25638c3fc"}, - {file = "pyzmq-26.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:29c7947c594e105cb9e6c466bace8532dc1ca02d498684128b339799f5248277"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cdeabcff45d1c219636ee2e54d852262e5c2e085d6cb476d938aee8d921356b3"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35cffef589bcdc587d06f9149f8d5e9e8859920a071df5a2671de2213bef592a"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18c8dc3b7468d8b4bdf60ce9d7141897da103c7a4690157b32b60acb45e333e6"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7133d0a1677aec369d67dd78520d3fa96dd7f3dcec99d66c1762870e5ea1a50a"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6a96179a24b14fa6428cbfc08641c779a53f8fcec43644030328f44034c7f1f4"}, - {file = "pyzmq-26.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4f78c88905461a9203eac9faac157a2a0dbba84a0fd09fd29315db27be40af9f"}, - {file = "pyzmq-26.2.0.tar.gz", hash = "sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f"}, -] - -[package.dependencies] -cffi = {version = "*", markers = "implementation_name == \"pypy\""} - -[[package]] -name = "quart" -version = "0.19.6" -description = "A Python ASGI web microframework with the same API as Flask" -optional = false -python-versions = ">=3.8" -files = [ - {file = "quart-0.19.6-py3-none-any.whl", hash = "sha256:f9092310f4eb120903da692a5e4354f05d48c28ca7ec3054d3d94dd862412c58"}, - {file = "quart-0.19.6.tar.gz", hash = "sha256:89ddda6da24300a5ea4f21e4582d5e89bc8ea678e724e0b747767143401e4558"}, -] - -[package.dependencies] -aiofiles = "*" -blinker = ">=1.6" -click = ">=8.0.0" -flask = ">=3.0.0" -hypercorn = ">=0.11.2" -itsdangerous = "*" -jinja2 = "*" -markupsafe = "*" -werkzeug = ">=3.0.0" - -[package.extras] -docs = ["pydata_sphinx_theme"] -dotenv = ["python-dotenv"] - -[[package]] -name = "rapidfuzz" -version = "3.9.6" -description = "rapid fuzzy string matching" -optional = false -python-versions = ">=3.8" -files = [ - {file = "rapidfuzz-3.9.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a7ed0d0b9c85720f0ae33ac5efc8dc3f60c1489dad5c29d735fbdf2f66f0431f"}, - {file = "rapidfuzz-3.9.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f3deff6ab7017ed21b9aec5874a07ad13e6b2a688af055837f88b743c7bfd947"}, - {file = "rapidfuzz-3.9.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c3f9fc060160507b2704f7d1491bd58453d69689b580cbc85289335b14fe8ca"}, - {file = "rapidfuzz-3.9.6-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c4e86c2b3827fa6169ad6e7d4b790ce02a20acefb8b78d92fa4249589bbc7a2c"}, - {file = "rapidfuzz-3.9.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f982e1aafb4bd8207a5e073b1efef9e68a984e91330e1bbf364f9ed157ed83f0"}, - {file = "rapidfuzz-3.9.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9196a51d0ec5eaaaf5bca54a85b7b1e666fc944c332f68e6427503af9fb8c49e"}, - {file = "rapidfuzz-3.9.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb5a514064e02585b1cc09da2fe406a6dc1a7e5f3e92dd4f27c53e5f1465ec81"}, - {file = "rapidfuzz-3.9.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e3a4244f65dbc3580b1275480118c3763f9dc29fc3dd96610560cb5e140a4d4a"}, - {file = "rapidfuzz-3.9.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:f6ebb910a702e41641e1e1dada3843bc11ba9107a33c98daef6945a885a40a07"}, - {file = "rapidfuzz-3.9.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:624fbe96115fb39addafa288d583b5493bc76dab1d34d0ebba9987d6871afdf9"}, - {file = "rapidfuzz-3.9.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1c59f1c1507b7a557cf3c410c76e91f097460da7d97e51c985343798e9df7a3c"}, - {file = "rapidfuzz-3.9.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f6f0256cb27b6a0fb2e1918477d1b56473cd04acfa245376a342e7c15806a396"}, - {file = "rapidfuzz-3.9.6-cp310-cp310-win32.whl", hash = "sha256:24d473d00d23a30a85802b502b417a7f5126019c3beec91a6739fe7b95388b24"}, - {file = "rapidfuzz-3.9.6-cp310-cp310-win_amd64.whl", hash = "sha256:248f6d2612e661e2b5f9a22bbd5862a1600e720da7bb6ad8a55bb1548cdfa423"}, - {file = "rapidfuzz-3.9.6-cp310-cp310-win_arm64.whl", hash = "sha256:e03fdf0e74f346ed7e798135df5f2a0fb8d6b96582b00ebef202dcf2171e1d1d"}, - {file = "rapidfuzz-3.9.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:52e4675f642fbc85632f691b67115a243cd4d2a47bdcc4a3d9a79e784518ff97"}, - {file = "rapidfuzz-3.9.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1f93a2f13038700bd245b927c46a2017db3dcd4d4ff94687d74b5123689b873b"}, - {file = "rapidfuzz-3.9.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42b70500bca460264b8141d8040caee22e9cf0418c5388104ff0c73fb69ee28f"}, - {file = "rapidfuzz-3.9.6-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a1e037fb89f714a220f68f902fc6300ab7a33349f3ce8ffae668c3b3a40b0b06"}, - {file = "rapidfuzz-3.9.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6792f66d59b86ccfad5e247f2912e255c85c575789acdbad8e7f561412ffed8a"}, - {file = "rapidfuzz-3.9.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:68d9cffe710b67f1969cf996983608cee4490521d96ea91d16bd7ea5dc80ea98"}, - {file = "rapidfuzz-3.9.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63daaeeea76da17fa0bbe7fb05cba8ed8064bb1a0edf8360636557f8b6511961"}, - {file = "rapidfuzz-3.9.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d214e063bffa13e3b771520b74f674b22d309b5720d4df9918ff3e0c0f037720"}, - {file = "rapidfuzz-3.9.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ed443a2062460f44c0346cb9d269b586496b808c2419bbd6057f54061c9b9c75"}, - {file = "rapidfuzz-3.9.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:5b0c9b227ee0076fb2d58301c505bb837a290ae99ee628beacdb719f0626d749"}, - {file = "rapidfuzz-3.9.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:82c9722b7dfaa71e8b61f8c89fed0482567fb69178e139fe4151fc71ed7df782"}, - {file = "rapidfuzz-3.9.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c18897c95c0a288347e29537b63608a8f63a5c3cb6da258ac46fcf89155e723e"}, - {file = "rapidfuzz-3.9.6-cp311-cp311-win32.whl", hash = "sha256:3e910cf08944da381159587709daaad9e59d8ff7bca1f788d15928f3c3d49c2a"}, - {file = "rapidfuzz-3.9.6-cp311-cp311-win_amd64.whl", hash = "sha256:59c4a61fab676d37329fc3a671618a461bfeef53a4d0b8b12e3bc24a14e166f8"}, - {file = "rapidfuzz-3.9.6-cp311-cp311-win_arm64.whl", hash = "sha256:8b4afea244102332973377fddbe54ce844d0916e1c67a5123432291717f32ffa"}, - {file = "rapidfuzz-3.9.6-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:70591b28b218fff351b88cdd7f2359a01a71f9f7f5a2e465ce3715ed4b3c422b"}, - {file = "rapidfuzz-3.9.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ee2d8355c7343c631a03e57540ea06e8717c19ecf5ff64ea07e0498f7f161457"}, - {file = "rapidfuzz-3.9.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:708fb675de0f47b9635d1cc6fbbf80d52cb710d0a1abbfae5c84c46e3abbddc3"}, - {file = "rapidfuzz-3.9.6-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d66c247c2d3bb7a9b60567c395a15a929d0ebcc5f4ceedb55bfa202c38c6e0c"}, - {file = "rapidfuzz-3.9.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:15146301b32e6e3d2b7e8146db1a26747919d8b13690c7f83a4cb5dc111b3a08"}, - {file = "rapidfuzz-3.9.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7a03da59b6c7c97e657dd5cd4bcaab5fe4a2affd8193958d6f4d938bee36679"}, - {file = "rapidfuzz-3.9.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d2c2fe19e392dbc22695b6c3b2510527e2b774647e79936bbde49db7742d6f1"}, - {file = "rapidfuzz-3.9.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:91aaee4c94cb45930684f583ffc4e7c01a52b46610971cede33586cf8a04a12e"}, - {file = "rapidfuzz-3.9.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3f5702828c10768f9281180a7ff8597da1e5002803e1304e9519dd0f06d79a85"}, - {file = "rapidfuzz-3.9.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:ccd1763b608fb4629a0b08f00b3c099d6395e67c14e619f6341b2c8429c2f310"}, - {file = "rapidfuzz-3.9.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cc7a0d4b2cb166bc46d02c8c9f7551cde8e2f3c9789df3827309433ee9771163"}, - {file = "rapidfuzz-3.9.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7496f53d40560a58964207b52586783633f371683834a8f719d6d965d223a2eb"}, - {file = "rapidfuzz-3.9.6-cp312-cp312-win32.whl", hash = "sha256:5eb1a9272ca71bc72be5415c2fa8448a6302ea4578e181bb7da9db855b367df0"}, - {file = "rapidfuzz-3.9.6-cp312-cp312-win_amd64.whl", hash = "sha256:0d21fc3c0ca507a1180152a6dbd129ebaef48facde3f943db5c1055b6e6be56a"}, - {file = "rapidfuzz-3.9.6-cp312-cp312-win_arm64.whl", hash = "sha256:43bb27a57c29dc5fa754496ba6a1a508480d21ae99ac0d19597646c16407e9f3"}, - {file = "rapidfuzz-3.9.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:83a5ac6547a9d6eedaa212975cb8f2ce2aa07e6e30833b40e54a52b9f9999aa4"}, - {file = "rapidfuzz-3.9.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:10f06139142ecde67078ebc9a745965446132b998f9feebffd71acdf218acfcc"}, - {file = "rapidfuzz-3.9.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74720c3f24597f76c7c3e2c4abdff55f1664f4766ff5b28aeaa689f8ffba5fab"}, - {file = "rapidfuzz-3.9.6-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce2bce52b5c150878e558a0418c2b637fb3dbb6eb38e4eb27d24aa839920483e"}, - {file = "rapidfuzz-3.9.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1611199f178793ca9a060c99b284e11f6d7d124998191f1cace9a0245334d219"}, - {file = "rapidfuzz-3.9.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0308b2ad161daf502908a6e21a57c78ded0258eba9a8f5e2545e2dafca312507"}, - {file = "rapidfuzz-3.9.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3eda91832201b86e3b70835f91522587725bec329ec68f2f7faf5124091e5ca7"}, - {file = "rapidfuzz-3.9.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ece873c093aedd87fc07c2a7e333d52e458dc177016afa1edaf157e82b6914d8"}, - {file = "rapidfuzz-3.9.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d97d3c9d209d5c30172baea5966f2129e8a198fec4a1aeb2f92abb6e82a2edb1"}, - {file = "rapidfuzz-3.9.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:6c4550d0db4931f5ebe9f0678916d1b06f06f5a99ba0b8a48b9457fd8959a7d4"}, - {file = "rapidfuzz-3.9.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b6b8dd4af6324fc325d9483bec75ecf9be33e590928c9202d408e4eafff6a0a6"}, - {file = "rapidfuzz-3.9.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:16122ae448bc89e2bea9d81ce6cb0f751e4e07da39bd1e70b95cae2493857853"}, - {file = "rapidfuzz-3.9.6-cp313-cp313-win32.whl", hash = "sha256:71cc168c305a4445109cd0d4925406f6e66bcb48fde99a1835387c58af4ecfe9"}, - {file = "rapidfuzz-3.9.6-cp313-cp313-win_amd64.whl", hash = "sha256:59ee78f2ecd53fef8454909cda7400fe2cfcd820f62b8a5d4dfe930102268054"}, - {file = "rapidfuzz-3.9.6-cp313-cp313-win_arm64.whl", hash = "sha256:58b4ce83f223605c358ae37e7a2d19a41b96aa65b1fede99cc664c9053af89ac"}, - {file = "rapidfuzz-3.9.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9f469dbc9c4aeaac7dd005992af74b7dff94aa56a3ea063ce64e4b3e6736dd2f"}, - {file = "rapidfuzz-3.9.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a9ed7ad9adb68d0fe63a156fe752bbf5f1403ed66961551e749641af2874da92"}, - {file = "rapidfuzz-3.9.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39ffe48ffbeedf78d120ddfb9d583f2ca906712159a4e9c3c743c9f33e7b1775"}, - {file = "rapidfuzz-3.9.6-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8502ccdea9084d54b6f737d96a3b60a84e3afed9d016686dc979b49cdac71613"}, - {file = "rapidfuzz-3.9.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6a4bec4956e06b170ca896ba055d08d4c457dac745548172443982956a80e118"}, - {file = "rapidfuzz-3.9.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2c0488b1c273be39e109ff885ccac0448b2fa74dea4c4dc676bcf756c15f16d6"}, - {file = "rapidfuzz-3.9.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0542c036cb6acf24edd2c9e0411a67d7ba71e29e4d3001a082466b86fc34ff30"}, - {file = "rapidfuzz-3.9.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:0a96b52c9f26857bf009e270dcd829381e7a634f7ddd585fa29b87d4c82146d9"}, - {file = "rapidfuzz-3.9.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:6edd3cd7c4aa8c68c716d349f531bd5011f2ca49ddade216bb4429460151559f"}, - {file = "rapidfuzz-3.9.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:50b2fb55d7ed58c66d49c9f954acd8fc4a3f0e9fd0ff708299bd8abb68238d0e"}, - {file = "rapidfuzz-3.9.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:32848dfe54391636b84cda1823fd23e5a6b1dbb8be0e9a1d80e4ee9903820994"}, - {file = "rapidfuzz-3.9.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:29146cb7a1bf69c87e928b31bffa54f066cb65639d073b36e1425f98cccdebc6"}, - {file = "rapidfuzz-3.9.6-cp38-cp38-win32.whl", hash = "sha256:aed13e5edacb0ecadcc304cc66e93e7e77ff24f059c9792ee602c0381808e10c"}, - {file = "rapidfuzz-3.9.6-cp38-cp38-win_amd64.whl", hash = "sha256:af440e36b828922256d0b4d79443bf2cbe5515fc4b0e9e96017ec789b36bb9fc"}, - {file = "rapidfuzz-3.9.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:efa674b407424553024522159296690d99d6e6b1192cafe99ca84592faff16b4"}, - {file = "rapidfuzz-3.9.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0b40ff76ee19b03ebf10a0a87938f86814996a822786c41c3312d251b7927849"}, - {file = "rapidfuzz-3.9.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16a6c7997cb5927ced6f617122eb116ba514ec6b6f60f4803e7925ef55158891"}, - {file = "rapidfuzz-3.9.6-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3f42504bdc8d770987fc3d99964766d42b2a03e4d5b0f891decdd256236bae0"}, - {file = "rapidfuzz-3.9.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9462aa2be9f60b540c19a083471fdf28e7cf6434f068b631525b5e6251b35e"}, - {file = "rapidfuzz-3.9.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1629698e68f47609a73bf9e73a6da3a4cac20bc710529215cbdf111ab603665b"}, - {file = "rapidfuzz-3.9.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68bc7621843d8e9a7fd1b1a32729465bf94b47b6fb307d906da168413331f8d6"}, - {file = "rapidfuzz-3.9.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c6254c50f15bc2fcc33cb93a95a81b702d9e6590f432a7f7822b8c7aba9ae288"}, - {file = "rapidfuzz-3.9.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:7e535a114fa575bc143e175e4ca386a467ec8c42909eff500f5f0f13dc84e3e0"}, - {file = "rapidfuzz-3.9.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d50acc0e9d67e4ba7a004a14c42d1b1e8b6ca1c515692746f4f8e7948c673167"}, - {file = "rapidfuzz-3.9.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:fa742ec60bec53c5a211632cf1d31b9eb5a3c80f1371a46a23ac25a1fa2ab209"}, - {file = "rapidfuzz-3.9.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c256fa95d29cbe5aa717db790b231a9a5b49e5983d50dc9df29d364a1db5e35b"}, - {file = "rapidfuzz-3.9.6-cp39-cp39-win32.whl", hash = "sha256:89acbf728b764421036c173a10ada436ecca22999851cdc01d0aa904c70d362d"}, - {file = "rapidfuzz-3.9.6-cp39-cp39-win_amd64.whl", hash = "sha256:c608fcba8b14d86c04cb56b203fed31a96e8a1ebb4ce99e7b70313c5bf8cf497"}, - {file = "rapidfuzz-3.9.6-cp39-cp39-win_arm64.whl", hash = "sha256:d41c00ded0e22e9dba88ff23ebe0dc9d2a5f21ba2f88e185ea7374461e61daa9"}, - {file = "rapidfuzz-3.9.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a65c2f63218ea2dedd56fc56361035e189ca123bd9c9ce63a9bef6f99540d681"}, - {file = "rapidfuzz-3.9.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:680dc78a5f889d3b89f74824b89fe357f49f88ad10d2c121e9c3ad37bac1e4eb"}, - {file = "rapidfuzz-3.9.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8ca862927a0b05bd825e46ddf82d0724ea44b07d898ef639386530bf9b40f15"}, - {file = "rapidfuzz-3.9.6-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2116fa1fbff21fa52cd46f3cfcb1e193ba1d65d81f8b6e123193451cd3d6c15e"}, - {file = "rapidfuzz-3.9.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4dcb7d9afd740370a897c15da61d3d57a8d54738d7c764a99cedb5f746d6a003"}, - {file = "rapidfuzz-3.9.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1a5bd6401bb489e14cbb5981c378d53ede850b7cc84b2464cad606149cc4e17d"}, - {file = "rapidfuzz-3.9.6-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:29fda70b9d03e29df6fc45cc27cbcc235534b1b0b2900e0a3ae0b43022aaeef5"}, - {file = "rapidfuzz-3.9.6-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:88144f5f52ae977df9352029488326afadd7a7f42c6779d486d1f82d43b2b1f2"}, - {file = "rapidfuzz-3.9.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:715aeaabafba2709b9dd91acb2a44bad59d60b4616ef90c08f4d4402a3bbca60"}, - {file = "rapidfuzz-3.9.6-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:af26ebd3714224fbf9bebbc27bdbac14f334c15f5d7043699cd694635050d6ca"}, - {file = "rapidfuzz-3.9.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:101bd2df438861a005ed47c032631b7857dfcdb17b82beeeb410307983aac61d"}, - {file = "rapidfuzz-3.9.6-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:2185e8e29809b97ad22a7f99281d1669a89bdf5fa1ef4ef1feca36924e675367"}, - {file = "rapidfuzz-3.9.6-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:9e53c72d08f0e9c6e4a369e52df5971f311305b4487690c62e8dd0846770260c"}, - {file = "rapidfuzz-3.9.6-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:a0cb157162f0cdd62e538c7bd298ff669847fc43a96422811d5ab933f4c16c3a"}, - {file = "rapidfuzz-3.9.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4bb5ff2bd48132ed5e7fbb8f619885facb2e023759f2519a448b2c18afe07e5d"}, - {file = "rapidfuzz-3.9.6-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6dc37f601865e8407e3a8037ffbc3afe0b0f837b2146f7632bd29d087385babe"}, - {file = "rapidfuzz-3.9.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a657eee4b94668faf1fa2703bdd803654303f7e468eb9ba10a664d867ed9e779"}, - {file = "rapidfuzz-3.9.6-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:51be6ab5b1d5bb32abd39718f2a5e3835502e026a8272d139ead295c224a6f5e"}, - {file = "rapidfuzz-3.9.6.tar.gz", hash = "sha256:5cf2a7d621e4515fee84722e93563bf77ff2cbe832a77a48b81f88f9e23b9e8d"}, -] - -[package.extras] -full = ["numpy"] - -[[package]] -name = "referencing" -version = "0.35.1" -description = "JSON Referencing + Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"}, - {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"}, -] - -[package.dependencies] -attrs = ">=22.2.0" -rpds-py = ">=0.7.0" - -[[package]] -name = "regex" -version = "2024.7.24" -description = "Alternative regular expression module, to replace re." -optional = false -python-versions = ">=3.8" -files = [ - {file = "regex-2024.7.24-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:228b0d3f567fafa0633aee87f08b9276c7062da9616931382993c03808bb68ce"}, - {file = "regex-2024.7.24-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3426de3b91d1bc73249042742f45c2148803c111d1175b283270177fdf669024"}, - {file = "regex-2024.7.24-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f273674b445bcb6e4409bf8d1be67bc4b58e8b46fd0d560055d515b8830063cd"}, - {file = "regex-2024.7.24-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23acc72f0f4e1a9e6e9843d6328177ae3074b4182167e34119ec7233dfeccf53"}, - {file = "regex-2024.7.24-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:65fd3d2e228cae024c411c5ccdffae4c315271eee4a8b839291f84f796b34eca"}, - {file = "regex-2024.7.24-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c414cbda77dbf13c3bc88b073a1a9f375c7b0cb5e115e15d4b73ec3a2fbc6f59"}, - {file = "regex-2024.7.24-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf7a89eef64b5455835f5ed30254ec19bf41f7541cd94f266ab7cbd463f00c41"}, - {file = "regex-2024.7.24-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:19c65b00d42804e3fbea9708f0937d157e53429a39b7c61253ff15670ff62cb5"}, - {file = "regex-2024.7.24-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7a5486ca56c8869070a966321d5ab416ff0f83f30e0e2da1ab48815c8d165d46"}, - {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6f51f9556785e5a203713f5efd9c085b4a45aecd2a42573e2b5041881b588d1f"}, - {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a4997716674d36a82eab3e86f8fa77080a5d8d96a389a61ea1d0e3a94a582cf7"}, - {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:c0abb5e4e8ce71a61d9446040c1e86d4e6d23f9097275c5bd49ed978755ff0fe"}, - {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:18300a1d78cf1290fa583cd8b7cde26ecb73e9f5916690cf9d42de569c89b1ce"}, - {file = "regex-2024.7.24-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:416c0e4f56308f34cdb18c3f59849479dde5b19febdcd6e6fa4d04b6c31c9faa"}, - {file = "regex-2024.7.24-cp310-cp310-win32.whl", hash = "sha256:fb168b5924bef397b5ba13aabd8cf5df7d3d93f10218d7b925e360d436863f66"}, - {file = "regex-2024.7.24-cp310-cp310-win_amd64.whl", hash = "sha256:6b9fc7e9cc983e75e2518496ba1afc524227c163e43d706688a6bb9eca41617e"}, - {file = "regex-2024.7.24-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:382281306e3adaaa7b8b9ebbb3ffb43358a7bbf585fa93821300a418bb975281"}, - {file = "regex-2024.7.24-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4fdd1384619f406ad9037fe6b6eaa3de2749e2e12084abc80169e8e075377d3b"}, - {file = "regex-2024.7.24-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3d974d24edb231446f708c455fd08f94c41c1ff4f04bcf06e5f36df5ef50b95a"}, - {file = "regex-2024.7.24-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a2ec4419a3fe6cf8a4795752596dfe0adb4aea40d3683a132bae9c30b81e8d73"}, - {file = "regex-2024.7.24-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb563dd3aea54c797adf513eeec819c4213d7dbfc311874eb4fd28d10f2ff0f2"}, - {file = "regex-2024.7.24-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:45104baae8b9f67569f0f1dca5e1f1ed77a54ae1cd8b0b07aba89272710db61e"}, - {file = "regex-2024.7.24-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:994448ee01864501912abf2bad9203bffc34158e80fe8bfb5b031f4f8e16da51"}, - {file = "regex-2024.7.24-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3fac296f99283ac232d8125be932c5cd7644084a30748fda013028c815ba3364"}, - {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7e37e809b9303ec3a179085415cb5f418ecf65ec98cdfe34f6a078b46ef823ee"}, - {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:01b689e887f612610c869421241e075c02f2e3d1ae93a037cb14f88ab6a8934c"}, - {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f6442f0f0ff81775eaa5b05af8a0ffa1dda36e9cf6ec1e0d3d245e8564b684ce"}, - {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:871e3ab2838fbcb4e0865a6e01233975df3a15e6fce93b6f99d75cacbd9862d1"}, - {file = "regex-2024.7.24-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c918b7a1e26b4ab40409820ddccc5d49871a82329640f5005f73572d5eaa9b5e"}, - {file = "regex-2024.7.24-cp311-cp311-win32.whl", hash = "sha256:2dfbb8baf8ba2c2b9aa2807f44ed272f0913eeeba002478c4577b8d29cde215c"}, - {file = "regex-2024.7.24-cp311-cp311-win_amd64.whl", hash = "sha256:538d30cd96ed7d1416d3956f94d54e426a8daf7c14527f6e0d6d425fcb4cca52"}, - {file = "regex-2024.7.24-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:fe4ebef608553aff8deb845c7f4f1d0740ff76fa672c011cc0bacb2a00fbde86"}, - {file = "regex-2024.7.24-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:74007a5b25b7a678459f06559504f1eec2f0f17bca218c9d56f6a0a12bfffdad"}, - {file = "regex-2024.7.24-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7df9ea48641da022c2a3c9c641650cd09f0cd15e8908bf931ad538f5ca7919c9"}, - {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a1141a1dcc32904c47f6846b040275c6e5de0bf73f17d7a409035d55b76f289"}, - {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80c811cfcb5c331237d9bad3bea2c391114588cf4131707e84d9493064d267f9"}, - {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7214477bf9bd195894cf24005b1e7b496f46833337b5dedb7b2a6e33f66d962c"}, - {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d55588cba7553f0b6ec33130bc3e114b355570b45785cebdc9daed8c637dd440"}, - {file = "regex-2024.7.24-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:558a57cfc32adcf19d3f791f62b5ff564922942e389e3cfdb538a23d65a6b610"}, - {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a512eed9dfd4117110b1881ba9a59b31433caed0c4101b361f768e7bcbaf93c5"}, - {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:86b17ba823ea76256b1885652e3a141a99a5c4422f4a869189db328321b73799"}, - {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5eefee9bfe23f6df09ffb6dfb23809f4d74a78acef004aa904dc7c88b9944b05"}, - {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:731fcd76bbdbf225e2eb85b7c38da9633ad3073822f5ab32379381e8c3c12e94"}, - {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:eaef80eac3b4cfbdd6de53c6e108b4c534c21ae055d1dbea2de6b3b8ff3def38"}, - {file = "regex-2024.7.24-cp312-cp312-win32.whl", hash = "sha256:185e029368d6f89f36e526764cf12bf8d6f0e3a2a7737da625a76f594bdfcbfc"}, - {file = "regex-2024.7.24-cp312-cp312-win_amd64.whl", hash = "sha256:2f1baff13cc2521bea83ab2528e7a80cbe0ebb2c6f0bfad15be7da3aed443908"}, - {file = "regex-2024.7.24-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:66b4c0731a5c81921e938dcf1a88e978264e26e6ac4ec96a4d21ae0354581ae0"}, - {file = "regex-2024.7.24-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:88ecc3afd7e776967fa16c80f974cb79399ee8dc6c96423321d6f7d4b881c92b"}, - {file = "regex-2024.7.24-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:64bd50cf16bcc54b274e20235bf8edbb64184a30e1e53873ff8d444e7ac656b2"}, - {file = "regex-2024.7.24-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eb462f0e346fcf41a901a126b50f8781e9a474d3927930f3490f38a6e73b6950"}, - {file = "regex-2024.7.24-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a82465ebbc9b1c5c50738536fdfa7cab639a261a99b469c9d4c7dcbb2b3f1e57"}, - {file = "regex-2024.7.24-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:68a8f8c046c6466ac61a36b65bb2395c74451df2ffb8458492ef49900efed293"}, - {file = "regex-2024.7.24-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dac8e84fff5d27420f3c1e879ce9929108e873667ec87e0c8eeb413a5311adfe"}, - {file = "regex-2024.7.24-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba2537ef2163db9e6ccdbeb6f6424282ae4dea43177402152c67ef869cf3978b"}, - {file = "regex-2024.7.24-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:43affe33137fcd679bdae93fb25924979517e011f9dea99163f80b82eadc7e53"}, - {file = "regex-2024.7.24-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:c9bb87fdf2ab2370f21e4d5636e5317775e5d51ff32ebff2cf389f71b9b13750"}, - {file = "regex-2024.7.24-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:945352286a541406f99b2655c973852da7911b3f4264e010218bbc1cc73168f2"}, - {file = "regex-2024.7.24-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:8bc593dcce679206b60a538c302d03c29b18e3d862609317cb560e18b66d10cf"}, - {file = "regex-2024.7.24-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:3f3b6ca8eae6d6c75a6cff525c8530c60e909a71a15e1b731723233331de4169"}, - {file = "regex-2024.7.24-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c51edc3541e11fbe83f0c4d9412ef6c79f664a3745fab261457e84465ec9d5a8"}, - {file = "regex-2024.7.24-cp38-cp38-win32.whl", hash = "sha256:d0a07763776188b4db4c9c7fb1b8c494049f84659bb387b71c73bbc07f189e96"}, - {file = "regex-2024.7.24-cp38-cp38-win_amd64.whl", hash = "sha256:8fd5afd101dcf86a270d254364e0e8dddedebe6bd1ab9d5f732f274fa00499a5"}, - {file = "regex-2024.7.24-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0ffe3f9d430cd37d8fa5632ff6fb36d5b24818c5c986893063b4e5bdb84cdf24"}, - {file = "regex-2024.7.24-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:25419b70ba00a16abc90ee5fce061228206173231f004437730b67ac77323f0d"}, - {file = "regex-2024.7.24-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:33e2614a7ce627f0cdf2ad104797d1f68342d967de3695678c0cb84f530709f8"}, - {file = "regex-2024.7.24-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d33a0021893ede5969876052796165bab6006559ab845fd7b515a30abdd990dc"}, - {file = "regex-2024.7.24-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04ce29e2c5fedf296b1a1b0acc1724ba93a36fb14031f3abfb7abda2806c1535"}, - {file = "regex-2024.7.24-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b16582783f44fbca6fcf46f61347340c787d7530d88b4d590a397a47583f31dd"}, - {file = "regex-2024.7.24-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:836d3cc225b3e8a943d0b02633fb2f28a66e281290302a79df0e1eaa984ff7c1"}, - {file = "regex-2024.7.24-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:438d9f0f4bc64e8dea78274caa5af971ceff0f8771e1a2333620969936ba10be"}, - {file = "regex-2024.7.24-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:973335b1624859cb0e52f96062a28aa18f3a5fc77a96e4a3d6d76e29811a0e6e"}, - {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c5e69fd3eb0b409432b537fe3c6f44ac089c458ab6b78dcec14478422879ec5f"}, - {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:fbf8c2f00904eaf63ff37718eb13acf8e178cb940520e47b2f05027f5bb34ce3"}, - {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ae2757ace61bc4061b69af19e4689fa4416e1a04840f33b441034202b5cd02d4"}, - {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:44fc61b99035fd9b3b9453f1713234e5a7c92a04f3577252b45feefe1b327759"}, - {file = "regex-2024.7.24-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:84c312cdf839e8b579f504afcd7b65f35d60b6285d892b19adea16355e8343c9"}, - {file = "regex-2024.7.24-cp39-cp39-win32.whl", hash = "sha256:ca5b2028c2f7af4e13fb9fc29b28d0ce767c38c7facdf64f6c2cd040413055f1"}, - {file = "regex-2024.7.24-cp39-cp39-win_amd64.whl", hash = "sha256:7c479f5ae937ec9985ecaf42e2e10631551d909f203e31308c12d703922742f9"}, - {file = "regex-2024.7.24.tar.gz", hash = "sha256:9cfd009eed1a46b27c14039ad5bbc5e71b6367c5b2e6d5f5da0ea91600817506"}, -] - -[[package]] -name = "requests" -version = "2.32.3" -description = "Python HTTP for Humans." -optional = false -python-versions = ">=3.8" -files = [ - {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, - {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, -] - -[package.dependencies] -certifi = ">=2017.4.17" -charset-normalizer = ">=2,<4" -idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<3" - -[package.extras] -socks = ["PySocks (>=1.5.6,!=1.5.7)"] -use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] - -[[package]] -name = "requests-oauthlib" -version = "2.0.0" -description = "OAuthlib authentication support for Requests." -optional = false -python-versions = ">=3.4" -files = [ - {file = "requests-oauthlib-2.0.0.tar.gz", hash = "sha256:b3dffaebd884d8cd778494369603a9e7b58d29111bf6b41bdc2dcd87203af4e9"}, - {file = "requests_oauthlib-2.0.0-py2.py3-none-any.whl", hash = "sha256:7dd8a5c40426b779b0868c404bdef9768deccf22749cde15852df527e6269b36"}, -] - -[package.dependencies] -oauthlib = ">=3.0.0" -requests = ">=2.0.0" - -[package.extras] -rsa = ["oauthlib[signedtoken] (>=3.0.0)"] - -[[package]] -name = "requests-toolbelt" -version = "1.0.0" -description = "A utility belt for advanced users of python-requests" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, - {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, -] - -[package.dependencies] -requests = ">=2.0.1,<3.0.0" - -[[package]] -name = "rfc3339-validator" -version = "0.1.4" -description = "A pure python RFC3339 validator" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa"}, - {file = "rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b"}, -] - -[package.dependencies] -six = "*" - -[[package]] -name = "rfc3986-validator" -version = "0.1.1" -description = "Pure python rfc3986 validator" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9"}, - {file = "rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055"}, -] - -[[package]] -name = "rpds-py" -version = "0.20.0" -description = "Python bindings to Rust's persistent data structures (rpds)" -optional = false -python-versions = ">=3.8" -files = [ - {file = "rpds_py-0.20.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3ad0fda1635f8439cde85c700f964b23ed5fc2d28016b32b9ee5fe30da5c84e2"}, - {file = "rpds_py-0.20.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9bb4a0d90fdb03437c109a17eade42dfbf6190408f29b2744114d11586611d6f"}, - {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6377e647bbfd0a0b159fe557f2c6c602c159fc752fa316572f012fc0bf67150"}, - {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb851b7df9dda52dc1415ebee12362047ce771fc36914586b2e9fcbd7d293b3e"}, - {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e0f80b739e5a8f54837be5d5c924483996b603d5502bfff79bf33da06164ee2"}, - {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a8c94dad2e45324fc74dce25e1645d4d14df9a4e54a30fa0ae8bad9a63928e3"}, - {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8e604fe73ba048c06085beaf51147eaec7df856824bfe7b98657cf436623daf"}, - {file = "rpds_py-0.20.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:df3de6b7726b52966edf29663e57306b23ef775faf0ac01a3e9f4012a24a4140"}, - {file = "rpds_py-0.20.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cf258ede5bc22a45c8e726b29835b9303c285ab46fc7c3a4cc770736b5304c9f"}, - {file = "rpds_py-0.20.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:55fea87029cded5df854ca7e192ec7bdb7ecd1d9a3f63d5c4eb09148acf4a7ce"}, - {file = "rpds_py-0.20.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ae94bd0b2f02c28e199e9bc51485d0c5601f58780636185660f86bf80c89af94"}, - {file = "rpds_py-0.20.0-cp310-none-win32.whl", hash = "sha256:28527c685f237c05445efec62426d285e47a58fb05ba0090a4340b73ecda6dee"}, - {file = "rpds_py-0.20.0-cp310-none-win_amd64.whl", hash = "sha256:238a2d5b1cad28cdc6ed15faf93a998336eb041c4e440dd7f902528b8891b399"}, - {file = "rpds_py-0.20.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:ac2f4f7a98934c2ed6505aead07b979e6f999389f16b714448fb39bbaa86a489"}, - {file = "rpds_py-0.20.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:220002c1b846db9afd83371d08d239fdc865e8f8c5795bbaec20916a76db3318"}, - {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d7919548df3f25374a1f5d01fbcd38dacab338ef5f33e044744b5c36729c8db"}, - {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:758406267907b3781beee0f0edfe4a179fbd97c0be2e9b1154d7f0a1279cf8e5"}, - {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3d61339e9f84a3f0767b1995adfb171a0d00a1185192718a17af6e124728e0f5"}, - {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1259c7b3705ac0a0bd38197565a5d603218591d3f6cee6e614e380b6ba61c6f6"}, - {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c1dc0f53856b9cc9a0ccca0a7cc61d3d20a7088201c0937f3f4048c1718a209"}, - {file = "rpds_py-0.20.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7e60cb630f674a31f0368ed32b2a6b4331b8350d67de53c0359992444b116dd3"}, - {file = "rpds_py-0.20.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dbe982f38565bb50cb7fb061ebf762c2f254ca3d8c20d4006878766e84266272"}, - {file = "rpds_py-0.20.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:514b3293b64187172bc77c8fb0cdae26981618021053b30d8371c3a902d4d5ad"}, - {file = "rpds_py-0.20.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d0a26ffe9d4dd35e4dfdd1e71f46401cff0181c75ac174711ccff0459135fa58"}, - {file = "rpds_py-0.20.0-cp311-none-win32.whl", hash = "sha256:89c19a494bf3ad08c1da49445cc5d13d8fefc265f48ee7e7556839acdacf69d0"}, - {file = "rpds_py-0.20.0-cp311-none-win_amd64.whl", hash = "sha256:c638144ce971df84650d3ed0096e2ae7af8e62ecbbb7b201c8935c370df00a2c"}, - {file = "rpds_py-0.20.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a84ab91cbe7aab97f7446652d0ed37d35b68a465aeef8fc41932a9d7eee2c1a6"}, - {file = "rpds_py-0.20.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:56e27147a5a4c2c21633ff8475d185734c0e4befd1c989b5b95a5d0db699b21b"}, - {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2580b0c34583b85efec8c5c5ec9edf2dfe817330cc882ee972ae650e7b5ef739"}, - {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b80d4a7900cf6b66bb9cee5c352b2d708e29e5a37fe9bf784fa97fc11504bf6c"}, - {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50eccbf054e62a7b2209b28dc7a22d6254860209d6753e6b78cfaeb0075d7bee"}, - {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:49a8063ea4296b3a7e81a5dfb8f7b2d73f0b1c20c2af401fb0cdf22e14711a96"}, - {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea438162a9fcbee3ecf36c23e6c68237479f89f962f82dae83dc15feeceb37e4"}, - {file = "rpds_py-0.20.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:18d7585c463087bddcfa74c2ba267339f14f2515158ac4db30b1f9cbdb62c8ef"}, - {file = "rpds_py-0.20.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d4c7d1a051eeb39f5c9547e82ea27cbcc28338482242e3e0b7768033cb083821"}, - {file = "rpds_py-0.20.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e4df1e3b3bec320790f699890d41c59d250f6beda159ea3c44c3f5bac1976940"}, - {file = "rpds_py-0.20.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2cf126d33a91ee6eedc7f3197b53e87a2acdac63602c0f03a02dd69e4b138174"}, - {file = "rpds_py-0.20.0-cp312-none-win32.whl", hash = "sha256:8bc7690f7caee50b04a79bf017a8d020c1f48c2a1077ffe172abec59870f1139"}, - {file = "rpds_py-0.20.0-cp312-none-win_amd64.whl", hash = "sha256:0e13e6952ef264c40587d510ad676a988df19adea20444c2b295e536457bc585"}, - {file = "rpds_py-0.20.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:aa9a0521aeca7d4941499a73ad7d4f8ffa3d1affc50b9ea11d992cd7eff18a29"}, - {file = "rpds_py-0.20.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4a1f1d51eccb7e6c32ae89243cb352389228ea62f89cd80823ea7dd1b98e0b91"}, - {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8a86a9b96070674fc88b6f9f71a97d2c1d3e5165574615d1f9168ecba4cecb24"}, - {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6c8ef2ebf76df43f5750b46851ed1cdf8f109d7787ca40035fe19fbdc1acc5a7"}, - {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b74b25f024b421d5859d156750ea9a65651793d51b76a2e9238c05c9d5f203a9"}, - {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57eb94a8c16ab08fef6404301c38318e2c5a32216bf5de453e2714c964c125c8"}, - {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1940dae14e715e2e02dfd5b0f64a52e8374a517a1e531ad9412319dc3ac7879"}, - {file = "rpds_py-0.20.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d20277fd62e1b992a50c43f13fbe13277a31f8c9f70d59759c88f644d66c619f"}, - {file = "rpds_py-0.20.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:06db23d43f26478303e954c34c75182356ca9aa7797d22c5345b16871ab9c45c"}, - {file = "rpds_py-0.20.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b2a5db5397d82fa847e4c624b0c98fe59d2d9b7cf0ce6de09e4d2e80f8f5b3f2"}, - {file = "rpds_py-0.20.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5a35df9f5548fd79cb2f52d27182108c3e6641a4feb0f39067911bf2adaa3e57"}, - {file = "rpds_py-0.20.0-cp313-none-win32.whl", hash = "sha256:fd2d84f40633bc475ef2d5490b9c19543fbf18596dcb1b291e3a12ea5d722f7a"}, - {file = "rpds_py-0.20.0-cp313-none-win_amd64.whl", hash = "sha256:9bc2d153989e3216b0559251b0c260cfd168ec78b1fac33dd485750a228db5a2"}, - {file = "rpds_py-0.20.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:f2fbf7db2012d4876fb0d66b5b9ba6591197b0f165db8d99371d976546472a24"}, - {file = "rpds_py-0.20.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1e5f3cd7397c8f86c8cc72d5a791071431c108edd79872cdd96e00abd8497d29"}, - {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce9845054c13696f7af7f2b353e6b4f676dab1b4b215d7fe5e05c6f8bb06f965"}, - {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c3e130fd0ec56cb76eb49ef52faead8ff09d13f4527e9b0c400307ff72b408e1"}, - {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b16aa0107ecb512b568244ef461f27697164d9a68d8b35090e9b0c1c8b27752"}, - {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aa7f429242aae2947246587d2964fad750b79e8c233a2367f71b554e9447949c"}, - {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af0fc424a5842a11e28956e69395fbbeab2c97c42253169d87e90aac2886d751"}, - {file = "rpds_py-0.20.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b8c00a3b1e70c1d3891f0db1b05292747f0dbcfb49c43f9244d04c70fbc40eb8"}, - {file = "rpds_py-0.20.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:40ce74fc86ee4645d0a225498d091d8bc61f39b709ebef8204cb8b5a464d3c0e"}, - {file = "rpds_py-0.20.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:4fe84294c7019456e56d93e8ababdad5a329cd25975be749c3f5f558abb48253"}, - {file = "rpds_py-0.20.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:338ca4539aad4ce70a656e5187a3a31c5204f261aef9f6ab50e50bcdffaf050a"}, - {file = "rpds_py-0.20.0-cp38-none-win32.whl", hash = "sha256:54b43a2b07db18314669092bb2de584524d1ef414588780261e31e85846c26a5"}, - {file = "rpds_py-0.20.0-cp38-none-win_amd64.whl", hash = "sha256:a1862d2d7ce1674cffa6d186d53ca95c6e17ed2b06b3f4c476173565c862d232"}, - {file = "rpds_py-0.20.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:3fde368e9140312b6e8b6c09fb9f8c8c2f00999d1823403ae90cc00480221b22"}, - {file = "rpds_py-0.20.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9824fb430c9cf9af743cf7aaf6707bf14323fb51ee74425c380f4c846ea70789"}, - {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11ef6ce74616342888b69878d45e9f779b95d4bd48b382a229fe624a409b72c5"}, - {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c52d3f2f82b763a24ef52f5d24358553e8403ce05f893b5347098014f2d9eff2"}, - {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d35cef91e59ebbeaa45214861874bc6f19eb35de96db73e467a8358d701a96c"}, - {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d72278a30111e5b5525c1dd96120d9e958464316f55adb030433ea905866f4de"}, - {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4c29cbbba378759ac5786730d1c3cb4ec6f8ababf5c42a9ce303dc4b3d08cda"}, - {file = "rpds_py-0.20.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6632f2d04f15d1bd6fe0eedd3b86d9061b836ddca4c03d5cf5c7e9e6b7c14580"}, - {file = "rpds_py-0.20.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d0b67d87bb45ed1cd020e8fbf2307d449b68abc45402fe1a4ac9e46c3c8b192b"}, - {file = "rpds_py-0.20.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ec31a99ca63bf3cd7f1a5ac9fe95c5e2d060d3c768a09bc1d16e235840861420"}, - {file = "rpds_py-0.20.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:22e6c9976e38f4d8c4a63bd8a8edac5307dffd3ee7e6026d97f3cc3a2dc02a0b"}, - {file = "rpds_py-0.20.0-cp39-none-win32.whl", hash = "sha256:569b3ea770c2717b730b61998b6c54996adee3cef69fc28d444f3e7920313cf7"}, - {file = "rpds_py-0.20.0-cp39-none-win_amd64.whl", hash = "sha256:e6900ecdd50ce0facf703f7a00df12374b74bbc8ad9fe0f6559947fb20f82364"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:617c7357272c67696fd052811e352ac54ed1d9b49ab370261a80d3b6ce385045"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9426133526f69fcaba6e42146b4e12d6bc6c839b8b555097020e2b78ce908dcc"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:deb62214c42a261cb3eb04d474f7155279c1a8a8c30ac89b7dcb1721d92c3c02"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fcaeb7b57f1a1e071ebd748984359fef83ecb026325b9d4ca847c95bc7311c92"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d454b8749b4bd70dd0a79f428731ee263fa6995f83ccb8bada706e8d1d3ff89d"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d807dc2051abe041b6649681dce568f8e10668e3c1c6543ebae58f2d7e617855"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c3c20f0ddeb6e29126d45f89206b8291352b8c5b44384e78a6499d68b52ae511"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b7f19250ceef892adf27f0399b9e5afad019288e9be756d6919cb58892129f51"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:4f1ed4749a08379555cebf4650453f14452eaa9c43d0a95c49db50c18b7da075"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:dcedf0b42bcb4cfff4101d7771a10532415a6106062f005ab97d1d0ab5681c60"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:39ed0d010457a78f54090fafb5d108501b5aa5604cc22408fc1c0c77eac14344"}, - {file = "rpds_py-0.20.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:bb273176be34a746bdac0b0d7e4e2c467323d13640b736c4c477881a3220a989"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f918a1a130a6dfe1d7fe0f105064141342e7dd1611f2e6a21cd2f5c8cb1cfb3e"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:f60012a73aa396be721558caa3a6fd49b3dd0033d1675c6d59c4502e870fcf0c"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d2b1ad682a3dfda2a4e8ad8572f3100f95fad98cb99faf37ff0ddfe9cbf9d03"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:614fdafe9f5f19c63ea02817fa4861c606a59a604a77c8cdef5aa01d28b97921"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fa518bcd7600c584bf42e6617ee8132869e877db2f76bcdc281ec6a4113a53ab"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0475242f447cc6cb8a9dd486d68b2ef7fbee84427124c232bff5f63b1fe11e5"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f90a4cd061914a60bd51c68bcb4357086991bd0bb93d8aa66a6da7701370708f"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:def7400461c3a3f26e49078302e1c1b38f6752342c77e3cf72ce91ca69fb1bc1"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:65794e4048ee837494aea3c21a28ad5fc080994dfba5b036cf84de37f7ad5074"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:faefcc78f53a88f3076b7f8be0a8f8d35133a3ecf7f3770895c25f8813460f08"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:5b4f105deeffa28bbcdff6c49b34e74903139afa690e35d2d9e3c2c2fba18cec"}, - {file = "rpds_py-0.20.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fdfc3a892927458d98f3d55428ae46b921d1f7543b89382fdb483f5640daaec8"}, - {file = "rpds_py-0.20.0.tar.gz", hash = "sha256:d72a210824facfdaf8768cf2d7ca25a042c30320b3020de2fa04640920d4e121"}, -] - -[[package]] -name = "rsa" -version = "4.9" -description = "Pure-Python RSA implementation" -optional = false -python-versions = ">=3.6,<4" -files = [ - {file = "rsa-4.9-py3-none-any.whl", hash = "sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7"}, - {file = "rsa-4.9.tar.gz", hash = "sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21"}, -] - -[package.dependencies] -pyasn1 = ">=0.1.3" - -[[package]] -name = "ruamel-yaml" -version = "0.18.6" -description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" -optional = false -python-versions = ">=3.7" -files = [ - {file = "ruamel.yaml-0.18.6-py3-none-any.whl", hash = "sha256:57b53ba33def16c4f3d807c0ccbc00f8a6081827e81ba2491691b76882d0c636"}, - {file = "ruamel.yaml-0.18.6.tar.gz", hash = "sha256:8b27e6a217e786c6fbe5634d8f3f11bc63e0f80f6a5890f28863d9c45aac311b"}, -] - -[package.dependencies] -"ruamel.yaml.clib" = {version = ">=0.2.7", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.13\""} - -[package.extras] -docs = ["mercurial (>5.7)", "ryd"] -jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] - -[[package]] -name = "ruamel-yaml-clib" -version = "0.2.8" -description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" -optional = false -python-versions = ">=3.6" -files = [ - {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b42169467c42b692c19cf539c38d4602069d8c1505e97b86387fcf7afb766e1d"}, - {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:07238db9cbdf8fc1e9de2489a4f68474e70dffcb32232db7c08fa61ca0c7c462"}, - {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:fff3573c2db359f091e1589c3d7c5fc2f86f5bdb6f24252c2d8e539d4e45f412"}, - {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-manylinux_2_24_aarch64.whl", hash = "sha256:aa2267c6a303eb483de8d02db2871afb5c5fc15618d894300b88958f729ad74f"}, - {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:840f0c7f194986a63d2c2465ca63af8ccbbc90ab1c6001b1978f05119b5e7334"}, - {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:024cfe1fc7c7f4e1aff4a81e718109e13409767e4f871443cbff3dba3578203d"}, - {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-win32.whl", hash = "sha256:c69212f63169ec1cfc9bb44723bf2917cbbd8f6191a00ef3410f5a7fe300722d"}, - {file = "ruamel.yaml.clib-0.2.8-cp310-cp310-win_amd64.whl", hash = "sha256:cabddb8d8ead485e255fe80429f833172b4cadf99274db39abc080e068cbcc31"}, - {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:bef08cd86169d9eafb3ccb0a39edb11d8e25f3dae2b28f5c52fd997521133069"}, - {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:b16420e621d26fdfa949a8b4b47ade8810c56002f5389970db4ddda51dbff248"}, - {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:25c515e350e5b739842fc3228d662413ef28f295791af5e5110b543cf0b57d9b"}, - {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-manylinux_2_24_aarch64.whl", hash = "sha256:1707814f0d9791df063f8c19bb51b0d1278b8e9a2353abbb676c2f685dee6afe"}, - {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:46d378daaac94f454b3a0e3d8d78cafd78a026b1d71443f4966c696b48a6d899"}, - {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:09b055c05697b38ecacb7ac50bdab2240bfca1a0c4872b0fd309bb07dc9aa3a9"}, - {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-win32.whl", hash = "sha256:53a300ed9cea38cf5a2a9b069058137c2ca1ce658a874b79baceb8f892f915a7"}, - {file = "ruamel.yaml.clib-0.2.8-cp311-cp311-win_amd64.whl", hash = "sha256:c2a72e9109ea74e511e29032f3b670835f8a59bbdc9ce692c5b4ed91ccf1eedb"}, - {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:ebc06178e8821efc9692ea7544aa5644217358490145629914d8020042c24aa1"}, - {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-macosx_13_0_arm64.whl", hash = "sha256:edaef1c1200c4b4cb914583150dcaa3bc30e592e907c01117c08b13a07255ec2"}, - {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d176b57452ab5b7028ac47e7b3cf644bcfdc8cacfecf7e71759f7f51a59e5c92"}, - {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-manylinux_2_24_aarch64.whl", hash = "sha256:1dc67314e7e1086c9fdf2680b7b6c2be1c0d8e3a8279f2e993ca2a7545fecf62"}, - {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3213ece08ea033eb159ac52ae052a4899b56ecc124bb80020d9bbceeb50258e9"}, - {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:aab7fd643f71d7946f2ee58cc88c9b7bfc97debd71dcc93e03e2d174628e7e2d"}, - {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-win32.whl", hash = "sha256:5c365d91c88390c8d0a8545df0b5857172824b1c604e867161e6b3d59a827eaa"}, - {file = "ruamel.yaml.clib-0.2.8-cp312-cp312-win_amd64.whl", hash = "sha256:1758ce7d8e1a29d23de54a16ae867abd370f01b5a69e1a3ba75223eaa3ca1a1b"}, - {file = "ruamel.yaml.clib-0.2.8-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a5aa27bad2bb83670b71683aae140a1f52b0857a2deff56ad3f6c13a017a26ed"}, - {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c58ecd827313af6864893e7af0a3bb85fd529f862b6adbefe14643947cfe2942"}, - {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-macosx_12_0_arm64.whl", hash = "sha256:f481f16baec5290e45aebdc2a5168ebc6d35189ae6fea7a58787613a25f6e875"}, - {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-manylinux_2_24_aarch64.whl", hash = "sha256:77159f5d5b5c14f7c34073862a6b7d34944075d9f93e681638f6d753606c6ce6"}, - {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:7f67a1ee819dc4562d444bbafb135832b0b909f81cc90f7aa00260968c9ca1b3"}, - {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:4ecbf9c3e19f9562c7fdd462e8d18dd902a47ca046a2e64dba80699f0b6c09b7"}, - {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:87ea5ff66d8064301a154b3933ae406b0863402a799b16e4a1d24d9fbbcbe0d3"}, - {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-win32.whl", hash = "sha256:75e1ed13e1f9de23c5607fe6bd1aeaae21e523b32d83bb33918245361e9cc51b"}, - {file = "ruamel.yaml.clib-0.2.8-cp37-cp37m-win_amd64.whl", hash = "sha256:3f215c5daf6a9d7bbed4a0a4f760f3113b10e82ff4c5c44bec20a68c8014f675"}, - {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1b617618914cb00bf5c34d4357c37aa15183fa229b24767259657746c9077615"}, - {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:a6a9ffd280b71ad062eae53ac1659ad86a17f59a0fdc7699fd9be40525153337"}, - {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux_2_24_aarch64.whl", hash = "sha256:305889baa4043a09e5b76f8e2a51d4ffba44259f6b4c72dec8ca56207d9c6fe1"}, - {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:700e4ebb569e59e16a976857c8798aee258dceac7c7d6b50cab63e080058df91"}, - {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:e2b4c44b60eadec492926a7270abb100ef9f72798e18743939bdbf037aab8c28"}, - {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e79e5db08739731b0ce4850bed599235d601701d5694c36570a99a0c5ca41a9d"}, - {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-win32.whl", hash = "sha256:955eae71ac26c1ab35924203fda6220f84dce57d6d7884f189743e2abe3a9fbe"}, - {file = "ruamel.yaml.clib-0.2.8-cp38-cp38-win_amd64.whl", hash = "sha256:56f4252222c067b4ce51ae12cbac231bce32aee1d33fbfc9d17e5b8d6966c312"}, - {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:03d1162b6d1df1caa3a4bd27aa51ce17c9afc2046c31b0ad60a0a96ec22f8001"}, - {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:bba64af9fa9cebe325a62fa398760f5c7206b215201b0ec825005f1b18b9bccf"}, - {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux_2_24_aarch64.whl", hash = "sha256:a1a45e0bb052edf6a1d3a93baef85319733a888363938e1fc9924cb00c8df24c"}, - {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:da09ad1c359a728e112d60116f626cc9f29730ff3e0e7db72b9a2dbc2e4beed5"}, - {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:184565012b60405d93838167f425713180b949e9d8dd0bbc7b49f074407c5a8b"}, - {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a75879bacf2c987c003368cf14bed0ffe99e8e85acfa6c0bfffc21a090f16880"}, - {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-win32.whl", hash = "sha256:84b554931e932c46f94ab306913ad7e11bba988104c5cff26d90d03f68258cd5"}, - {file = "ruamel.yaml.clib-0.2.8-cp39-cp39-win_amd64.whl", hash = "sha256:25ac8c08322002b06fa1d49d1646181f0b2c72f5cbc15a85e80b4c30a544bb15"}, - {file = "ruamel.yaml.clib-0.2.8.tar.gz", hash = "sha256:beb2e0404003de9a4cab9753a8805a8fe9320ee6673136ed7f04255fe60bb512"}, -] - -[[package]] -name = "secretstorage" -version = "3.3.3" -description = "Python bindings to FreeDesktop.org Secret Service API" -optional = false -python-versions = ">=3.6" -files = [ - {file = "SecretStorage-3.3.3-py3-none-any.whl", hash = "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99"}, - {file = "SecretStorage-3.3.3.tar.gz", hash = "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77"}, -] - -[package.dependencies] -cryptography = ">=2.0" -jeepney = ">=0.6" - -[[package]] -name = "semver" -version = "3.0.2" -description = "Python helper for Semantic Versioning (https://semver.org)" -optional = false -python-versions = ">=3.7" -files = [ - {file = "semver-3.0.2-py3-none-any.whl", hash = "sha256:b1ea4686fe70b981f85359eda33199d60c53964284e0cfb4977d243e37cf4bf4"}, - {file = "semver-3.0.2.tar.gz", hash = "sha256:6253adb39c70f6e51afed2fa7152bcd414c411286088fb4b9effb133885ab4cc"}, -] - -[[package]] -name = "send2trash" -version = "1.8.3" -description = "Send file to trash natively under Mac OS X, Windows and Linux" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" -files = [ - {file = "Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9"}, - {file = "Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf"}, -] - -[package.extras] -nativelib = ["pyobjc-framework-Cocoa", "pywin32"] -objc = ["pyobjc-framework-Cocoa"] -win32 = ["pywin32"] - -[[package]] -name = "setuptools" -version = "74.0.0" -description = "Easily download, build, install, upgrade, and uninstall Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "setuptools-74.0.0-py3-none-any.whl", hash = "sha256:0274581a0037b638b9fc1c6883cc71c0210865aaa76073f7882376b641b84e8f"}, - {file = "setuptools-74.0.0.tar.gz", hash = "sha256:a85e96b8be2b906f3e3e789adec6a9323abf79758ecfa3065bd740d81158b11e"}, -] - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.5.2)"] -core = ["importlib-metadata (>=6)", "importlib-resources (>=5.10.2)", "jaraco.text (>=3.7)", "more-itertools (>=8.8)", "packaging (>=24)", "platformdirs (>=2.6.2)", "tomli (>=2.0.1)", "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)"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test", "packaging (>=23.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] -type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.11.*)", "pytest-mypy"] - -[[package]] -name = "shellingham" -version = "1.5.4" -description = "Tool to Detect Surrounding Shell" -optional = false -python-versions = ">=3.7" -files = [ - {file = "shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686"}, - {file = "shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de"}, -] - -[[package]] -name = "six" -version = "1.16.0" -description = "Python 2 and 3 compatibility utilities" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" -files = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, -] - -[[package]] -name = "slack-bolt" -version = "1.20.1" -description = "The Bolt Framework for Python" -optional = false -python-versions = ">=3.6" -files = [ - {file = "slack_bolt-1.20.1-py2.py3-none-any.whl", hash = "sha256:8fa26e72b0e55c18c1d34a73558e7fe2150bdc7c947de780b938fdb1d7e854fe"}, - {file = "slack_bolt-1.20.1.tar.gz", hash = "sha256:4657e592339797b9b804547a21e6b35dd8e2cd1eab676bfb23960660aae049fd"}, -] - -[package.dependencies] -slack-sdk = ">=3.26.0,<4" - -[[package]] -name = "slack-sdk" -version = "3.31.0" -description = "The Slack API Platform SDK for Python" -optional = false -python-versions = ">=3.6" -files = [ - {file = "slack_sdk-3.31.0-py2.py3-none-any.whl", hash = "sha256:a120cc461e8ebb7d9175f171dbe0ded37a6878d9f7b96b28e4bad1227399047b"}, - {file = "slack_sdk-3.31.0.tar.gz", hash = "sha256:740d2f9c49cbfcbd46fca56b4be9d527934c225312aac18fd2c0fca0ef6bc935"}, -] - -[package.extras] -optional = ["SQLAlchemy (>=1.4,<3)", "aiodns (>1.0)", "aiohttp (>=3.7.3,<4)", "boto3 (<=2)", "websocket-client (>=1,<2)", "websockets (>=9.1,<13)"] - -[[package]] -name = "slackblocks" -version = "1.0.10" -description = "Python wrapper for the Slack Blocks API" -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "slackblocks-1.0.10-py3-none-any.whl", hash = "sha256:3e602438de6d3b924e238d2af58473f729e94b36afd6633f66e6a46162d2ce3c"}, - {file = "slackblocks-1.0.10.tar.gz", hash = "sha256:d61715286e7eb401850b68a916d5861b7cdf918166a6da6d1c70c1a57f73f533"}, -] - -[[package]] -name = "smmap" -version = "5.0.1" -description = "A pure Python implementation of a sliding window memory map manager" -optional = false -python-versions = ">=3.7" -files = [ - {file = "smmap-5.0.1-py3-none-any.whl", hash = "sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da"}, - {file = "smmap-5.0.1.tar.gz", hash = "sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62"}, -] - -[[package]] -name = "sniffio" -version = "1.3.1" -description = "Sniff out which async library your code is running under" -optional = false -python-versions = ">=3.7" -files = [ - {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, - {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, -] - -[[package]] -name = "soupsieve" -version = "2.6" -description = "A modern CSS selector implementation for Beautiful Soup." -optional = false -python-versions = ">=3.8" -files = [ - {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"}, - {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, -] - -[[package]] -name = "stack-data" -version = "0.6.3" -description = "Extract data from python stack frames and tracebacks for informative displays" -optional = false -python-versions = "*" -files = [ - {file = "stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695"}, - {file = "stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9"}, -] - -[package.dependencies] -asttokens = ">=2.1.0" -executing = ">=1.2.0" -pure-eval = "*" - -[package.extras] -tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] - -[[package]] -name = "tabulate" -version = "0.9.0" -description = "Pretty-print tabular data" -optional = false -python-versions = ">=3.7" -files = [ - {file = "tabulate-0.9.0-py3-none-any.whl", hash = "sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f"}, - {file = "tabulate-0.9.0.tar.gz", hash = "sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c"}, -] - -[package.extras] -widechars = ["wcwidth"] - -[[package]] -name = "taskgroup" -version = "0.0.0a4" -description = "backport of asyncio.TaskGroup, asyncio.Runner and asyncio.timeout" -optional = false -python-versions = "*" -files = [ - {file = "taskgroup-0.0.0a4-py2.py3-none-any.whl", hash = "sha256:5c1bd0e4c06114e7a4128583ab75c987597d5378a33948a3b74c662b90f61277"}, - {file = "taskgroup-0.0.0a4.tar.gz", hash = "sha256:eb08902d221e27661950f2a0320ddf3f939f579279996f81fe30779bca3a159c"}, -] - -[package.dependencies] -exceptiongroup = "*" - -[[package]] -name = "tenacity" -version = "9.0.0" -description = "Retry code until it succeeds" -optional = false -python-versions = ">=3.8" -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 = "terminado" -version = "0.18.1" -description = "Tornado websocket backend for the Xterm.js Javascript terminal emulator library." -optional = false -python-versions = ">=3.8" -files = [ - {file = "terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0"}, - {file = "terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e"}, -] - -[package.dependencies] -ptyprocess = {version = "*", markers = "os_name != \"nt\""} -pywinpty = {version = ">=1.1.0", markers = "os_name == \"nt\""} -tornado = ">=6.1.0" - -[package.extras] -docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] -test = ["pre-commit", "pytest (>=7.0)", "pytest-timeout"] -typing = ["mypy (>=1.6,<2.0)", "traitlets (>=5.11.1)"] - -[[package]] -name = "tinycss2" -version = "1.3.0" -description = "A tiny CSS parser" -optional = false -python-versions = ">=3.8" -files = [ - {file = "tinycss2-1.3.0-py3-none-any.whl", hash = "sha256:54a8dbdffb334d536851be0226030e9505965bb2f30f21a4a82c55fb2a80fae7"}, - {file = "tinycss2-1.3.0.tar.gz", hash = "sha256:152f9acabd296a8375fbca5b84c961ff95971fcfc32e79550c8df8e29118c54d"}, -] - -[package.dependencies] -webencodings = ">=0.4" - -[package.extras] -doc = ["sphinx", "sphinx_rtd_theme"] -test = ["pytest", "ruff"] - -[[package]] -name = "toml" -version = "0.10.2" -description = "Python Library for Tom's Obvious, Minimal Language" -optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" -files = [ - {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, - {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, -] - -[[package]] -name = "tomli" -version = "2.0.1" -description = "A lil' TOML parser" -optional = false -python-versions = ">=3.7" -files = [ - {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, - {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, -] - -[[package]] -name = "tomlkit" -version = "0.13.2" -description = "Style preserving TOML library" -optional = false -python-versions = ">=3.8" -files = [ - {file = "tomlkit-0.13.2-py3-none-any.whl", hash = "sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde"}, - {file = "tomlkit-0.13.2.tar.gz", hash = "sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79"}, -] - -[[package]] -name = "tornado" -version = "6.4.1" -description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." -optional = false -python-versions = ">=3.8" -files = [ - {file = "tornado-6.4.1-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:163b0aafc8e23d8cdc3c9dfb24c5368af84a81e3364745ccb4427669bf84aec8"}, - {file = "tornado-6.4.1-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:6d5ce3437e18a2b66fbadb183c1d3364fb03f2be71299e7d10dbeeb69f4b2a14"}, - {file = "tornado-6.4.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e20b9113cd7293f164dc46fffb13535266e713cdb87bd2d15ddb336e96cfc4"}, - {file = "tornado-6.4.1-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ae50a504a740365267b2a8d1a90c9fbc86b780a39170feca9bcc1787ff80842"}, - {file = "tornado-6.4.1-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:613bf4ddf5c7a95509218b149b555621497a6cc0d46ac341b30bd9ec19eac7f3"}, - {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:25486eb223babe3eed4b8aecbac33b37e3dd6d776bc730ca14e1bf93888b979f"}, - {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:454db8a7ecfcf2ff6042dde58404164d969b6f5d58b926da15e6b23817950fc4"}, - {file = "tornado-6.4.1-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a02a08cc7a9314b006f653ce40483b9b3c12cda222d6a46d4ac63bb6c9057698"}, - {file = "tornado-6.4.1-cp38-abi3-win32.whl", hash = "sha256:d9a566c40b89757c9aa8e6f032bcdb8ca8795d7c1a9762910c722b1635c9de4d"}, - {file = "tornado-6.4.1-cp38-abi3-win_amd64.whl", hash = "sha256:b24b8982ed444378d7f21d563f4180a2de31ced9d8d84443907a0a64da2072e7"}, - {file = "tornado-6.4.1.tar.gz", hash = "sha256:92d3ab53183d8c50f8204a51e6f91d18a15d5ef261e84d452800d4ff6fc504e9"}, -] - -[[package]] -name = "traitlets" -version = "5.14.3" -description = "Traitlets Python configuration system" -optional = false -python-versions = ">=3.8" -files = [ - {file = "traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f"}, - {file = "traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7"}, -] - -[package.extras] -docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] -test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<8.2)", "pytest-mock", "pytest-mypy-testing"] - -[[package]] -name = "trove-classifiers" -version = "2024.7.2" -description = "Canonical source for classifiers on PyPI (pypi.org)." -optional = false -python-versions = "*" -files = [ - {file = "trove_classifiers-2024.7.2-py3-none-any.whl", hash = "sha256:ccc57a33717644df4daca018e7ec3ef57a835c48e96a1e71fc07eb7edac67af6"}, - {file = "trove_classifiers-2024.7.2.tar.gz", hash = "sha256:8328f2ac2ce3fd773cbb37c765a0ed7a83f89dc564c7d452f039b69249d0ac35"}, -] - -[[package]] -name = "types-python-dateutil" -version = "2.9.0.20240821" -description = "Typing stubs for python-dateutil" -optional = false -python-versions = ">=3.8" -files = [ - {file = "types-python-dateutil-2.9.0.20240821.tar.gz", hash = "sha256:9649d1dcb6fef1046fb18bebe9ea2aa0028b160918518c34589a46045f6ebd98"}, - {file = "types_python_dateutil-2.9.0.20240821-py3-none-any.whl", hash = "sha256:f5889fcb4e63ed4aaa379b44f93c32593d50b9a94c9a60a0c854d8cc3511cd57"}, -] - -[[package]] -name = "typing-extensions" -version = "4.12.2" -description = "Backported and Experimental Type Hints for Python 3.8+" -optional = false -python-versions = ">=3.8" -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"}, -] - -[[package]] -name = "tzdata" -version = "2024.1" -description = "Provider of IANA time zone data" -optional = false -python-versions = ">=2" -files = [ - {file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"}, - {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, -] - -[[package]] -name = "uri-template" -version = "1.3.0" -description = "RFC 6570 URI Template Processor" -optional = false -python-versions = ">=3.7" -files = [ - {file = "uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7"}, - {file = "uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363"}, -] - -[package.extras] -dev = ["flake8", "flake8-annotations", "flake8-bandit", "flake8-bugbear", "flake8-commas", "flake8-comprehensions", "flake8-continuation", "flake8-datetimez", "flake8-docstrings", "flake8-import-order", "flake8-literal", "flake8-modern-annotations", "flake8-noqa", "flake8-pyproject", "flake8-requirements", "flake8-typechecking-import", "flake8-use-fstring", "mypy", "pep8-naming", "types-PyYAML"] - -[[package]] -name = "uritemplate" -version = "4.1.1" -description = "Implementation of RFC 6570 URI Templates" -optional = false -python-versions = ">=3.6" -files = [ - {file = "uritemplate-4.1.1-py2.py3-none-any.whl", hash = "sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e"}, - {file = "uritemplate-4.1.1.tar.gz", hash = "sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0"}, -] - -[[package]] -name = "urllib3" -version = "1.26.20" -description = "HTTP library with thread-safe connection pooling, file post, and more." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" -files = [ - {file = "urllib3-1.26.20-py2.py3-none-any.whl", hash = "sha256:0ed14ccfbf1c30a9072c7ca157e4319b70d65f623e91e7b32fadb2853431016e"}, - {file = "urllib3-1.26.20.tar.gz", hash = "sha256:40c2dc0c681e47eb8f90e7e27bf6ff7df2e677421fd46756da1161c39ca70d32"}, -] - -[package.extras] -brotli = ["brotli (==1.0.9)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] -secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] -socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] - -[[package]] -name = "virtualenv" -version = "20.26.3" -description = "Virtual Python Environment builder" -optional = false -python-versions = ">=3.7" -files = [ - {file = "virtualenv-20.26.3-py3-none-any.whl", hash = "sha256:8cc4a31139e796e9a7de2cd5cf2489de1217193116a8fd42328f1bd65f434589"}, - {file = "virtualenv-20.26.3.tar.gz", hash = "sha256:4c43a2a236279d9ea36a0d76f98d84bd6ca94ac4e0f4a3b9d46d05e10fea542a"}, -] - -[package.dependencies] -distlib = ">=0.3.7,<1" -filelock = ">=3.12.2,<4" -platformdirs = ">=3.9.1,<5" - -[package.extras] -docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2,!=7.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] -test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"] - -[[package]] -name = "waiter" -version = "1.5" -description = "Delayed iteration for polling and retries." -optional = false -python-versions = ">=3.9" -files = [ - {file = "waiter-1.5-py3-none-any.whl", hash = "sha256:97767067a18af26bd344f75cffdcd6c5bcccdf1c7b5588278855a8339a4570ca"}, - {file = "waiter-1.5.tar.gz", hash = "sha256:5828a6370aa1b4c7e35cd5c00d9463007b91c96b38ded76ec84e47e5e0bb0117"}, -] - -[[package]] -name = "watchdog" -version = "5.0.0" -description = "Filesystem events monitoring" -optional = false -python-versions = ">=3.9" -files = [ - {file = "watchdog-5.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:bf3216ec994eabb2212df9861f19056ca0d4cd3516d56cb95801933876519bfe"}, - {file = "watchdog-5.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cb59ad83a1700304fc1ac7bc53ae9e5cbe9d60a52ed9bba8e2e2d782a201bb2b"}, - {file = "watchdog-5.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1228cb097e855d1798b550be8f0e9f0cfbac4384f9a3e91f66d250d03e11294e"}, - {file = "watchdog-5.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3c177085c3d210d1c73cb4569442bdaef706ebebc423bd7aed9e90fc12b2e553"}, - {file = "watchdog-5.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:01ab36cddc836a0f202c66267daaef92ba5c17c7d6436deff0587bb61234c5c9"}, - {file = "watchdog-5.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0834c21efa3e767849b09e667274604c7cdfe30b49eb95d794565c53f4db3c1e"}, - {file = "watchdog-5.0.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1e26f570dd7f5178656affb24d6f0e22ce66c8daf88d4061a27bfb9ac866b40d"}, - {file = "watchdog-5.0.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d146331e6b206baa9f6dd40f72b5783ad2302c240df68e7fce196d30588ccf7b"}, - {file = "watchdog-5.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6c96b1706430839872a3e33b9370ee3f7a0079f6b828129d88498ad1f96a0f45"}, - {file = "watchdog-5.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:663b096368ed7831ac42259919fdb9e0a1f0a8994d972675dfbcca0225e74de1"}, - {file = "watchdog-5.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:685931412978d00a91a193d9018fc9e394e565e8e7a0c275512a80e59c6e85f8"}, - {file = "watchdog-5.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:109daafc5b0f2a98d1fa9475ff9737eb3559d57b18129a36495e20c71de0b44f"}, - {file = "watchdog-5.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c2b4d90962639ae7cee371ea3a8da506831945d4418eee090c53bc38e6648dc6"}, - {file = "watchdog-5.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6e58eafe9cc5ceebe1562cdb89bacdcd0ef470896e8b0139fe677a5abec243da"}, - {file = "watchdog-5.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b8d747bf6d8fe5ce89cb1a36c3724d1599bd4cde3f90fcba518e6260c7058a52"}, - {file = "watchdog-5.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:bc16d448a74a929b896ed9578c25756b2125400b19b3258be8d9a681c7ae8e71"}, - {file = "watchdog-5.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:7e6b0e9b8a9dc3865d65888b5f5222da4ba9c4e09eab13cff5e305e7b7e7248f"}, - {file = "watchdog-5.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4fe6780915000743074236b21b6c37419aea71112af62237881bc265589fe463"}, - {file = "watchdog-5.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:0710e9502727f688a7e06d48078545c54485b3d6eb53b171810879d8223c362a"}, - {file = "watchdog-5.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:d76efab5248aafbf8a2c2a63cd7b9545e6b346ad1397af8b862a3bb3140787d8"}, - {file = "watchdog-5.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:ff4e957c45c446de34c513eadce01d0b65da7eee47c01dce472dd136124552c9"}, - {file = "watchdog-5.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:16c1aa3377bb1f82c5e24277fcbf4e2cac3c4ce46aaaf7212d53caa9076eb7b7"}, - {file = "watchdog-5.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:22fcad6168fc43cf0e709bd854be5b8edbb0b260f0a6f28f1ea9baa53c6907f7"}, - {file = "watchdog-5.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:0120b2fa65732797ffa65fa8ee5540c288aa861d91447df298626d6385a24658"}, - {file = "watchdog-5.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2aa59fab7ff75281778c649557275ca3085eccbdf825a0e2a5ca3810e977afe5"}, - {file = "watchdog-5.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:78db0fe0336958fc0e1269545c980b6f33d04d184ba191b2800a8b71d3e971a9"}, - {file = "watchdog-5.0.0-py3-none-win32.whl", hash = "sha256:d1acef802916083f2ad7988efc7decf07e46e266916c0a09d8fb9d387288ea12"}, - {file = "watchdog-5.0.0-py3-none-win_amd64.whl", hash = "sha256:3c2d50fdb86aa6df3973313272f5a17eb26eab29ff5a0bf54b6d34597b4dc4e4"}, - {file = "watchdog-5.0.0-py3-none-win_ia64.whl", hash = "sha256:1d17ec7e022c34fa7ddc72aa41bf28c9d1207ffb193df18ba4f6fde453725b3c"}, - {file = "watchdog-5.0.0.tar.gz", hash = "sha256:990aedb9e2f336b45a70aed9c014450e7c4a70fd99c5f5b1834d57e1453a177e"}, -] - -[package.extras] -watchmedo = ["PyYAML (>=3.10)"] - -[[package]] -name = "wcwidth" -version = "0.2.13" -description = "Measures the displayed width of unicode strings in a terminal" -optional = false -python-versions = "*" -files = [ - {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, - {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, -] - -[[package]] -name = "webcolors" -version = "24.8.0" -description = "A library for working with the color formats defined by HTML and CSS." -optional = false -python-versions = ">=3.8" -files = [ - {file = "webcolors-24.8.0-py3-none-any.whl", hash = "sha256:fc4c3b59358ada164552084a8ebee637c221e4059267d0f8325b3b560f6c7f0a"}, - {file = "webcolors-24.8.0.tar.gz", hash = "sha256:08b07af286a01bcd30d583a7acadf629583d1f79bfef27dd2c2c5c263817277d"}, -] - -[package.extras] -docs = ["furo", "sphinx", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-notfound-page", "sphinxext-opengraph"] -tests = ["coverage[toml]"] - -[[package]] -name = "webencodings" -version = "0.5.1" -description = "Character encoding aliases for legacy web content" -optional = false -python-versions = "*" -files = [ - {file = "webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78"}, - {file = "webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"}, -] - -[[package]] -name = "websocket-client" -version = "1.8.0" -description = "WebSocket client for Python with low level API options" -optional = false -python-versions = ">=3.8" -files = [ - {file = "websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526"}, - {file = "websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da"}, -] - -[package.extras] -docs = ["Sphinx (>=6.0)", "myst-parser (>=2.0.0)", "sphinx-rtd-theme (>=1.1.0)"] -optional = ["python-socks", "wsaccel"] -test = ["websockets"] - -[[package]] -name = "werkzeug" -version = "3.0.4" -description = "The comprehensive WSGI web application library." -optional = false -python-versions = ">=3.8" -files = [ - {file = "werkzeug-3.0.4-py3-none-any.whl", hash = "sha256:02c9eb92b7d6c06f31a782811505d2157837cea66aaede3e217c7c27c039476c"}, - {file = "werkzeug-3.0.4.tar.gz", hash = "sha256:34f2371506b250df4d4f84bfe7b0921e4762525762bbd936614909fe25cd7306"}, -] - -[package.dependencies] -MarkupSafe = ">=2.1.1" - -[package.extras] -watchdog = ["watchdog (>=2.3)"] - -[[package]] -name = "widgetsnbextension" -version = "4.0.13" -description = "Jupyter interactive widgets for Jupyter Notebook" -optional = false -python-versions = ">=3.7" -files = [ - {file = "widgetsnbextension-4.0.13-py3-none-any.whl", hash = "sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71"}, - {file = "widgetsnbextension-4.0.13.tar.gz", hash = "sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6"}, -] - -[[package]] -name = "wrapt" -version = "1.16.0" -description = "Module for decorators, wrappers and monkey patching." -optional = false -python-versions = ">=3.6" -files = [ - {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"}, - {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"}, - {file = "wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"}, - {file = "wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"}, - {file = "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"}, - {file = "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"}, - {file = "wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"}, - {file = "wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"}, - {file = "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"}, - {file = "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"}, - {file = "wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"}, - {file = "wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"}, - {file = "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"}, - {file = "wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"}, - {file = "wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"}, - {file = "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"}, - {file = "wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"}, - {file = "wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"}, - {file = "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"}, - {file = "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"}, - {file = "wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"}, - {file = "wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"}, - {file = "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"}, - {file = "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"}, - {file = "wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"}, - {file = "wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"}, - {file = "wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"}, - {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, -] - -[[package]] -name = "wsproto" -version = "1.2.0" -description = "WebSockets state-machine based protocol implementation" -optional = false -python-versions = ">=3.7.0" -files = [ - {file = "wsproto-1.2.0-py3-none-any.whl", hash = "sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736"}, - {file = "wsproto-1.2.0.tar.gz", hash = "sha256:ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065"}, -] - -[package.dependencies] -h11 = ">=0.9.0,<1" - -[[package]] -name = "xattr" -version = "1.1.0" -description = "Python wrapper for extended filesystem attributes" -optional = false -python-versions = ">=3.8" -files = [ - {file = "xattr-1.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ef2fa0f85458736178fd3dcfeb09c3cf423f0843313e25391db2cfd1acec8888"}, - {file = "xattr-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ccab735d0632fe71f7d72e72adf886f45c18b7787430467ce0070207882cfe25"}, - {file = "xattr-1.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9013f290387f1ac90bccbb1926555ca9aef75651271098d99217284d9e010f7c"}, - {file = "xattr-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcd5dfbcee73c7be057676ecb900cabb46c691aff4397bf48c579ffb30bb963"}, - {file = "xattr-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6480589c1dac7785d1f851347a32c4a97305937bf7b488b857fe8b28a25de9e9"}, - {file = "xattr-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08f61cbed52dc6f7c181455826a9ff1e375ad86f67dd9d5eb7663574abb32451"}, - {file = "xattr-1.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:918e1f83f2e8a072da2671eac710871ee5af337e9bf8554b5ce7f20cdb113186"}, - {file = "xattr-1.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:0f06e0c1e4d06b4e0e49aaa1184b6f0e81c3758c2e8365597918054890763b53"}, - {file = "xattr-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:46a641ac038a9f53d2f696716147ca4dbd6a01998dc9cd4bc628801bc0df7f4d"}, - {file = "xattr-1.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7e4ca0956fd11679bb2e0c0d6b9cdc0f25470cc00d8da173bb7656cc9a9cf104"}, - {file = "xattr-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6881b120f9a4b36ccd8a28d933bc0f6e1de67218b6ce6e66874e0280fc006844"}, - {file = "xattr-1.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dab29d9288aa28e68a6f355ddfc3f0a7342b40c9012798829f3e7bd765e85c2c"}, - {file = "xattr-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e0c80bbf55339c93770fc294b4b6586b5bf8e85ec00a4c2d585c33dbd84b5006"}, - {file = "xattr-1.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d1418705f253b6b6a7224b69773842cac83fcbcd12870354b6e11dd1cd54630f"}, - {file = "xattr-1.1.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:687e7d18611ef8d84a6ecd8f4d1ab6757500c1302f4c2046ce0aa3585e13da3f"}, - {file = "xattr-1.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b6ceb9efe0657a982ccb8b8a2efe96b690891779584c901d2f920784e5d20ae3"}, - {file = "xattr-1.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b489b7916f239100956ea0b39c504f3c3a00258ba65677e4c8ba1bd0b5513446"}, - {file = "xattr-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0a9c431b0e66516a078125e9a273251d4b8e5ba84fe644b619f2725050d688a0"}, - {file = "xattr-1.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1a5921ea3313cc1c57f2f53b63ea8ca9a91e48f4cc7ebec057d2447ec82c7efe"}, - {file = "xattr-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f6ad2a7bd5e6cf71d4a862413234a067cf158ca0ae94a40d4b87b98b62808498"}, - {file = "xattr-1.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0683dae7609f7280b0c89774d00b5957e6ffcb181c6019c46632b389706b77e6"}, - {file = "xattr-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54cb15cd94e5ef8a0ef02309f1bf973ba0e13c11e87686e983f371948cfee6af"}, - {file = "xattr-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff6223a854229055e803c2ad0c0ea9a6da50c6be30d92c198cf5f9f28819a921"}, - {file = "xattr-1.1.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d44e8f955218638c9ab222eed21e9bd9ab430d296caf2176fb37abe69a714e5c"}, - {file = "xattr-1.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:caab2c2986c30f92301f12e9c50415d324412e8e6a739a52a603c3e6a54b3610"}, - {file = "xattr-1.1.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:d6eb7d5f281014cd44e2d847a9107491af1bf3087f5afeded75ed3e37ec87239"}, - {file = "xattr-1.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:47a3bdfe034b4fdb70e5941d97037405e3904accc28e10dbef6d1c9061fb6fd7"}, - {file = "xattr-1.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:00d2b415cf9d6a24112d019e721aa2a85652f7bbc9f3b9574b2d1cd8668eb491"}, - {file = "xattr-1.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:78b377832dd0ee408f9f121a354082c6346960f7b6b1480483ed0618b1912120"}, - {file = "xattr-1.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6461a43b585e5f2e049b39bcbfcb6391bfef3c5118231f1b15d10bdb89ef17fe"}, - {file = "xattr-1.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24d97f0d28f63695e3344ffdabca9fcc30c33e5c8ccc198c7524361a98d526f2"}, - {file = "xattr-1.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ad47d89968c9097900607457a0c89160b4771601d813e769f68263755516065"}, - {file = "xattr-1.1.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc53cab265f6e8449bd683d5ee3bc5a191e6dd940736f3de1a188e6da66b0653"}, - {file = "xattr-1.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:cd11e917f5b89f2a0ad639d9875943806c6c9309a3dd02da5a3e8ef92db7bed9"}, - {file = "xattr-1.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:9c5a78c7558989492c4cb7242e490ffb03482437bf782967dfff114e44242343"}, - {file = "xattr-1.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:cebcf8a303a44fbc439b68321408af7267507c0d8643229dbb107f6c132d389c"}, - {file = "xattr-1.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b0d73150f2f9655b4da01c2369eb33a294b7f9d56eccb089819eafdbeb99f896"}, - {file = "xattr-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:793c01deaadac50926c0e1481702133260c7cb5e62116762f6fe1543d07b826f"}, - {file = "xattr-1.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e189e440bcd04ccaad0474720abee6ee64890823ec0db361fb0a4fb5e843a1bf"}, - {file = "xattr-1.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afacebbc1fa519f41728f8746a92da891c7755e6745164bd0d5739face318e86"}, - {file = "xattr-1.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9b1664edf003153ac8d1911e83a0fc60db1b1b374ee8ac943f215f93754a1102"}, - {file = "xattr-1.1.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dda2684228798e937a7c29b0e1c7ef3d70e2b85390a69b42a1c61b2039ba81de"}, - {file = "xattr-1.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b735ac2625a4fc2c9343b19f806793db6494336338537d2911c8ee4c390dda46"}, - {file = "xattr-1.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:fa6a7af7a4ada43f15ccc58b6f9adcdbff4c36ba040013d2681e589e07ae280a"}, - {file = "xattr-1.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d1059b2f726e2702c8bbf9bbf369acfc042202a4cc576c2dec6791234ad5e948"}, - {file = "xattr-1.1.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e2255f36ebf2cb2dbf772a7437ad870836b7396e60517211834cf66ce678b595"}, - {file = "xattr-1.1.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dba4f80b9855cc98513ddf22b7ad8551bc448c70d3147799ea4f6c0b758fb466"}, - {file = "xattr-1.1.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4cb70c16e7c3ae6ba0ab6c6835c8448c61d8caf43ea63b813af1f4dbe83dd156"}, - {file = "xattr-1.1.0-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83652910ef6a368b77b00825ad67815e5c92bfab551a848ca66e9981d14a7519"}, - {file = "xattr-1.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7a92aff66c43fa3e44cbeab7cbeee66266c91178a0f595e044bf3ce51485743b"}, - {file = "xattr-1.1.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d4f71b673339aeaae1f6ea9ef8ea6c9643c8cd0df5003b9a0eaa75403e2e06c"}, - {file = "xattr-1.1.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a20de1c47b5cd7b47da61799a3b34e11e5815d716299351f82a88627a43f9a96"}, - {file = "xattr-1.1.0-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23705c7079b05761ff2fa778ad17396e7599c8759401abc05b312dfb3bc99f69"}, - {file = "xattr-1.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:27272afeba8422f2a9d27e1080a9a7b807394e88cce73db9ed8d2dde3afcfb87"}, - {file = "xattr-1.1.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd43978966de3baf4aea367c99ffa102b289d6c2ea5f3d9ce34a203dc2f2ab73"}, - {file = "xattr-1.1.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ded771eaf27bb4eb3c64c0d09866460ee8801d81dc21097269cf495b3cac8657"}, - {file = "xattr-1.1.0-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96ca300c0acca4f0cddd2332bb860ef58e1465d376364f0e72a1823fdd58e90d"}, - {file = "xattr-1.1.0.tar.gz", hash = "sha256:fecbf3b05043ed3487a28190dec3e4c4d879b2fcec0e30bafd8ec5d4b6043630"}, -] - -[package.dependencies] -cffi = ">=1.16.0" - -[package.extras] -test = ["pytest"] - -[[package]] -name = "yarl" -version = "1.9.7" -description = "Yet another URL library" -optional = false -python-versions = ">=3.8" -files = [ - {file = "yarl-1.9.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:60c04415b31a1611ef5989a6084dd6f6b95652c6a18378b58985667b65b2ecb6"}, - {file = "yarl-1.9.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1787dcfdbe730207acb454548a6e19f80ae75e6d2d1f531c5a777bc1ab6f7952"}, - {file = "yarl-1.9.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f5ddad20363f9f1bbedc95789c897da62f939e6bc855793c3060ef8b9f9407bf"}, - {file = "yarl-1.9.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fdb156a06208fc9645ae7cc0fca45c40dd40d7a8c4db626e542525489ca81a9"}, - {file = "yarl-1.9.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:522fa3d300d898402ae4e0fa7c2c21311248ca43827dc362a667de87fdb4f1be"}, - {file = "yarl-1.9.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e7f9cabfb8b980791b97a3ae3eab2e38b2ba5eab1af9b7495bdc44e1ce7c89e3"}, - {file = "yarl-1.9.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1fc728857df4087da6544fc68f62d7017fa68d74201d5b878e18ed4822c31fb3"}, - {file = "yarl-1.9.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3dba2ebac677184d56374fa3e452b461f5d6a03aa132745e648ae8859361eb6b"}, - {file = "yarl-1.9.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a95167ae34667c5cc7d9206c024f793e8ffbadfb307d5c059de470345de58a21"}, - {file = "yarl-1.9.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9d319ac113ca47352319cbea92d1925a37cb7bd61a8c2f3e3cd2e96eb33cccae"}, - {file = "yarl-1.9.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:2d71a5d818d82586ac46265ae01466e0bda0638760f18b21f1174e0dd58a9d2f"}, - {file = "yarl-1.9.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:ff03f1c1ac474c66d474929ae7e4dd195592c1c7cc8c36418528ed81b1ca0a79"}, - {file = "yarl-1.9.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:78250f635f221dde97d02c57aade3313310469bc291888dfe32acd1012594441"}, - {file = "yarl-1.9.7-cp310-cp310-win32.whl", hash = "sha256:f3aaf9fa960d55bd7876d55d7ea3cc046f3660df1ff73fc1b8c520a741ed1f21"}, - {file = "yarl-1.9.7-cp310-cp310-win_amd64.whl", hash = "sha256:e8362c941e07fbcde851597672a5e41b21dc292b7d5a1dc439b7a93c9a1af5d9"}, - {file = "yarl-1.9.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:596069ddeaf72b5eb36cd714dcd2b5751d0090d05a8d65113b582ed9e1c801fb"}, - {file = "yarl-1.9.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cb870907e8b86b2f32541403da9455afc1e535ce483e579bea0e6e79a0cc751c"}, - {file = "yarl-1.9.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ca5e86be84492fa403c4dcd4dcaf8e1b1c4ffc747b5176f7c3d09878c45719b0"}, - {file = "yarl-1.9.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a99cecfb51c84d00132db909e83ae388793ca86e48df7ae57f1be0beab0dcce5"}, - {file = "yarl-1.9.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:25508739e9b44d251172145f54c084b71747b09e4d237dc2abb045f46c36a66e"}, - {file = "yarl-1.9.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:60f3b5aec3146b6992640592856414870f5b20eb688c1f1d5f7ac010a7f86561"}, - {file = "yarl-1.9.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1557456afce5db3d655b5f8a31cdcaae1f47e57958760525c44b76e812b4987"}, - {file = "yarl-1.9.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:71bb1435a84688ed831220c5305d96161beb65cac4a966374475348aa3de4575"}, - {file = "yarl-1.9.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f87d8645a7a806ec8f66aac5e3b1dcb5014849ff53ffe2a1f0b86ca813f534c7"}, - {file = "yarl-1.9.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:58e3f01673873b8573da3abe138debc63e4e68541b2104a55df4c10c129513a4"}, - {file = "yarl-1.9.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:8af0bbd4d84f8abdd9b11be9488e32c76b1501889b73c9e2292a15fb925b378b"}, - {file = "yarl-1.9.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:7fc441408ed0d9c6d2d627a02e281c21f5de43eb5209c16636a17fc704f7d0f8"}, - {file = "yarl-1.9.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a9552367dc440870556da47bb289a806f08ad06fbc4054072d193d9e5dd619ba"}, - {file = "yarl-1.9.7-cp311-cp311-win32.whl", hash = "sha256:628619008680a11d07243391271b46f07f13b75deb9fe92ef342305058c70722"}, - {file = "yarl-1.9.7-cp311-cp311-win_amd64.whl", hash = "sha256:bc23d870864971c8455cfba17498ccefa53a5719ea9f5fce5e7e9c1606b5755f"}, - {file = "yarl-1.9.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0d8cf3d0b67996edc11957aece3fbce4c224d0451c7c3d6154ec3a35d0e55f6b"}, - {file = "yarl-1.9.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3a7748cd66fef49c877e59503e0cc76179caf1158d1080228e67e1db14554f08"}, - {file = "yarl-1.9.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a6fa3aeca8efabb0fbbb3b15e0956b0cb77f7d9db67c107503c30af07cd9e00"}, - {file = "yarl-1.9.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf37dd0008e5ac5c3880198976063c491b6a15b288d150d12833248cf2003acb"}, - {file = "yarl-1.9.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:87aa5308482f248f8c3bd9311cd6c7dfd98ea1a8e57e35fb11e4adcac3066003"}, - {file = "yarl-1.9.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:867b13c1b361f9ba5d2f84dc5408082f5d744c83f66de45edc2b96793a9c5e48"}, - {file = "yarl-1.9.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48ce93947554c2c85fe97fc4866646ec90840bc1162e4db349b37d692a811755"}, - {file = "yarl-1.9.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fcd3d94b848cba132f39a5b40d80b0847d001a91a6f35a2204505cdd46afe1b2"}, - {file = "yarl-1.9.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d06d6a8f98dd87646d98f0c468be14b201e47ec6092ad569adf835810ad0dffb"}, - {file = "yarl-1.9.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:91567ff4fce73d2e7ac67ed5983ad26ba2343bc28cb22e1e1184a9677df98d7c"}, - {file = "yarl-1.9.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1d5594512541e63188fea640b7f066c218d2176203d6e6f82abf702ae3dca3b2"}, - {file = "yarl-1.9.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9c2743e43183e4afbb07d5605693299b8756baff0b086c25236c761feb0e3c56"}, - {file = "yarl-1.9.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:daa69a3a2204355af39f4cfe7f3870d87c53d77a597b5100b97e3faa9460428b"}, - {file = "yarl-1.9.7-cp312-cp312-win32.whl", hash = "sha256:36b16884336c15adf79a4bf1d592e0c1ffdb036a760e36a1361565b66785ec6c"}, - {file = "yarl-1.9.7-cp312-cp312-win_amd64.whl", hash = "sha256:2ead2f87a1174963cc406d18ac93d731fbb190633d3995fa052d10cefae69ed8"}, - {file = "yarl-1.9.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:808eddabcb6f7b2cdb6929b3e021ac824a2c07dc7bc83f7618e18438b1b65781"}, - {file = "yarl-1.9.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:395ab0d8ce6d104a988da429bcbfd445e03fb4c911148dfd523f69d13f772e47"}, - {file = "yarl-1.9.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:49827dfccbd59c4499605c13805e947349295466e490860a855b7c7e82ec9c75"}, - {file = "yarl-1.9.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6b8bbdd425d0978311520ea99fb6c0e9e04e64aee84fac05f3157ace9f81b05"}, - {file = "yarl-1.9.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71d33fd1c219b5b28ee98cd76da0c9398a4ed4792fd75c94135237db05ba5ca8"}, - {file = "yarl-1.9.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:62440431741d0b7d410e5cbad800885e3289048140a43390ecab4f0b96dde3bb"}, - {file = "yarl-1.9.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4db97210433366dfba55590e48285b89ad0146c52bf248dd0da492dd9f0f72cf"}, - {file = "yarl-1.9.7-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:653597b615809f2e5f4dba6cd805608b6fd3597128361a22cc612cf7c7a4d1bf"}, - {file = "yarl-1.9.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:df47612129e66f7ce7c9994d4cd4e6852f6e3bf97699375d86991481796eeec8"}, - {file = "yarl-1.9.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5e338b6febbae6c9fe86924bac3ea9c1944e33255c249543cd82a4af6df6047b"}, - {file = "yarl-1.9.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:e649d37d04665dddb90994bbf0034331b6c14144cc6f3fbce400dc5f28dc05b7"}, - {file = "yarl-1.9.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:0a1b8fd849567be56342e988e72c9d28bd3c77b9296c38b9b42d2fe4813c9d3f"}, - {file = "yarl-1.9.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f9d715b2175dff9a49c6dafdc2ab3f04850ba2f3d4a77f69a5a1786b057a9d45"}, - {file = "yarl-1.9.7-cp313-cp313-win32.whl", hash = "sha256:bc9233638b07c2e4a3a14bef70f53983389bffa9e8cb90a2da3f67ac9c5e1842"}, - {file = "yarl-1.9.7-cp313-cp313-win_amd64.whl", hash = "sha256:62e110772330d7116f91e79cd83fef92545cb2f36414c95881477aa01971f75f"}, - {file = "yarl-1.9.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a564155cc2194ecd9c0d8f8dc57059b822a507de5f08120063675eb9540576aa"}, - {file = "yarl-1.9.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:03e917cc44a01e1be60a83ee1a17550b929490aaa5df2a109adc02137bddf06b"}, - {file = "yarl-1.9.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:eefda67ba0ba44ab781e34843c266a76f718772b348f7c5d798d8ea55b95517f"}, - {file = "yarl-1.9.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:316c82b499b6df41444db5dea26ee23ece9356e38cea43a8b2af9e6d8a3558e4"}, - {file = "yarl-1.9.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10452727843bc847596b75e30a7fe92d91829f60747301d1bd60363366776b0b"}, - {file = "yarl-1.9.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:050f3e4d886be55728fef268587d061c5ce6f79a82baba71840801b63441c301"}, - {file = "yarl-1.9.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0aabe557446aa615693a82b4d3803c102fd0e7a6a503bf93d744d182a510184"}, - {file = "yarl-1.9.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:23404842228e6fa8ace235024519df37f3f8e173620407644d40ddca571ff0f4"}, - {file = "yarl-1.9.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:34736fcc9d6d7080ebbeb0998ecb91e4f14ad8f18648cf0b3099e2420a225d86"}, - {file = "yarl-1.9.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:48f7a158f3ca67509d21cb02a96964e4798b6f133691cc0c86cf36e26e26ec8f"}, - {file = "yarl-1.9.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:6639444d161c693cdabb073baaed1945c717d3982ecedf23a219bc55a242e728"}, - {file = "yarl-1.9.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:1cd450e10cb53d63962757c3f6f7870be49a3e448c46621d6bd46f8088d532de"}, - {file = "yarl-1.9.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:74d3ef5e81f81507cea04bf5ae22f18ef538607a7c754aac2b6e3029956a2842"}, - {file = "yarl-1.9.7-cp38-cp38-win32.whl", hash = "sha256:4052dbd0c900bece330e3071c636f99dff06e4628461a29b38c6e222a427cf98"}, - {file = "yarl-1.9.7-cp38-cp38-win_amd64.whl", hash = "sha256:dd08da4f2d171e19bd02083c921f1bef89f8f5f87000d0ffc49aa257bc5a9802"}, - {file = "yarl-1.9.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7ab906a956d2109c6ea11e24c66592b06336e2743509290117f0f7f47d2c1dd3"}, - {file = "yarl-1.9.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d8ad761493d5aaa7ab2a09736e62b8a220cb0b10ff8ccf6968c861cd8718b915"}, - {file = "yarl-1.9.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d35f9cdab0ec5e20cf6d2bd46456cf599052cf49a1698ef06b9592238d1cf1b1"}, - {file = "yarl-1.9.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a48d2b9f0ae29a456fb766ae461691378ecc6cf159dd9f938507d925607591c3"}, - {file = "yarl-1.9.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cf85599c9336b89b92c313519bcaa223d92fa5d98feb4935a47cce2e8722b4b8"}, - {file = "yarl-1.9.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8e8916b1ff7680b1f2b1608c82dc15c569b9f2cb2da100c747c291f1acf18a14"}, - {file = "yarl-1.9.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:29c80890e0a64fb0e5f71350d48da330995073881f8b8e623154aef631febfb0"}, - {file = "yarl-1.9.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9163d21aa40ff8528db2aee2b0b6752efe098055b41ab8e5422b2098457199fe"}, - {file = "yarl-1.9.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:65e3098969baf221bb45e3b2f60735fc2b154fc95902131ebc604bae4c629ea6"}, - {file = "yarl-1.9.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:cddebd096effe4be90fd378e4224cd575ac99e1c521598a6900e94959006e02e"}, - {file = "yarl-1.9.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:8525f955a2dcc281573b6aadeb8ab9c37e2d3428b64ca6a2feec2a794a69c1da"}, - {file = "yarl-1.9.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:5d585c7d834c13f24c7e3e0efaf1a4b7678866940802e11bd6c4d1f99c935e6b"}, - {file = "yarl-1.9.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:78805148e780a9ca66f3123e04741e344b66cf06b4fb13223e3a209f39a6da55"}, - {file = "yarl-1.9.7-cp39-cp39-win32.whl", hash = "sha256:3f53df493ec80b76969d6e1ae6e4411a55ab1360e02b80c84bd4b33d61a567ba"}, - {file = "yarl-1.9.7-cp39-cp39-win_amd64.whl", hash = "sha256:c81c28221a85add23a0922a6aeb2cdda7f9723e03e2dfae06fee5c57fe684262"}, - {file = "yarl-1.9.7-py3-none-any.whl", hash = "sha256:49935cc51d272264358962d050d726c3e5603a616f53e52ea88e9df1728aa2ee"}, - {file = "yarl-1.9.7.tar.gz", hash = "sha256:f28e602edeeec01fc96daf7728e8052bc2e12a672e2a138561a1ebaf30fd9df7"}, -] - -[package.dependencies] -idna = ">=2.0" -multidict = ">=4.0" - -[[package]] -name = "zipp" -version = "3.20.1" -description = "Backport of pathlib-compatible object wrapper for zip files" -optional = false -python-versions = ">=3.8" -files = [ - {file = "zipp-3.20.1-py3-none-any.whl", hash = "sha256:9960cd8967c8f85a56f920d5d507274e74f9ff813a0ab8889a5b5be2daf44064"}, - {file = "zipp-3.20.1.tar.gz", hash = "sha256:c22b14cc4763c5a5b04134207736c107db42e9d3ef2d9779d465f5f1bcba572b"}, -] - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] -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)"] -test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] -type = ["pytest-mypy"] - -[[package]] -name = "zstandard" -version = "0.23.0" -description = "Zstandard bindings for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "zstandard-0.23.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bf0a05b6059c0528477fba9054d09179beb63744355cab9f38059548fedd46a9"}, - {file = "zstandard-0.23.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fc9ca1c9718cb3b06634c7c8dec57d24e9438b2aa9a0f02b8bb36bf478538880"}, - {file = "zstandard-0.23.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77da4c6bfa20dd5ea25cbf12c76f181a8e8cd7ea231c673828d0386b1740b8dc"}, - {file = "zstandard-0.23.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b2170c7e0367dde86a2647ed5b6f57394ea7f53545746104c6b09fc1f4223573"}, - {file = "zstandard-0.23.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c16842b846a8d2a145223f520b7e18b57c8f476924bda92aeee3a88d11cfc391"}, - {file = "zstandard-0.23.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:157e89ceb4054029a289fb504c98c6a9fe8010f1680de0201b3eb5dc20aa6d9e"}, - {file = "zstandard-0.23.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:203d236f4c94cd8379d1ea61db2fce20730b4c38d7f1c34506a31b34edc87bdd"}, - {file = "zstandard-0.23.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:dc5d1a49d3f8262be192589a4b72f0d03b72dcf46c51ad5852a4fdc67be7b9e4"}, - {file = "zstandard-0.23.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:752bf8a74412b9892f4e5b58f2f890a039f57037f52c89a740757ebd807f33ea"}, - {file = "zstandard-0.23.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:80080816b4f52a9d886e67f1f96912891074903238fe54f2de8b786f86baded2"}, - {file = "zstandard-0.23.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:84433dddea68571a6d6bd4fbf8ff398236031149116a7fff6f777ff95cad3df9"}, - {file = "zstandard-0.23.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ab19a2d91963ed9e42b4e8d77cd847ae8381576585bad79dbd0a8837a9f6620a"}, - {file = "zstandard-0.23.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:59556bf80a7094d0cfb9f5e50bb2db27fefb75d5138bb16fb052b61b0e0eeeb0"}, - {file = "zstandard-0.23.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:27d3ef2252d2e62476389ca8f9b0cf2bbafb082a3b6bfe9d90cbcbb5529ecf7c"}, - {file = "zstandard-0.23.0-cp310-cp310-win32.whl", hash = "sha256:5d41d5e025f1e0bccae4928981e71b2334c60f580bdc8345f824e7c0a4c2a813"}, - {file = "zstandard-0.23.0-cp310-cp310-win_amd64.whl", hash = "sha256:519fbf169dfac1222a76ba8861ef4ac7f0530c35dd79ba5727014613f91613d4"}, - {file = "zstandard-0.23.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:34895a41273ad33347b2fc70e1bff4240556de3c46c6ea430a7ed91f9042aa4e"}, - {file = "zstandard-0.23.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:77ea385f7dd5b5676d7fd943292ffa18fbf5c72ba98f7d09fc1fb9e819b34c23"}, - {file = "zstandard-0.23.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:983b6efd649723474f29ed42e1467f90a35a74793437d0bc64a5bf482bedfa0a"}, - {file = "zstandard-0.23.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80a539906390591dd39ebb8d773771dc4db82ace6372c4d41e2d293f8e32b8db"}, - {file = "zstandard-0.23.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:445e4cb5048b04e90ce96a79b4b63140e3f4ab5f662321975679b5f6360b90e2"}, - {file = "zstandard-0.23.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd30d9c67d13d891f2360b2a120186729c111238ac63b43dbd37a5a40670b8ca"}, - {file = "zstandard-0.23.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d20fd853fbb5807c8e84c136c278827b6167ded66c72ec6f9a14b863d809211c"}, - {file = "zstandard-0.23.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ed1708dbf4d2e3a1c5c69110ba2b4eb6678262028afd6c6fbcc5a8dac9cda68e"}, - {file = "zstandard-0.23.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:be9b5b8659dff1f913039c2feee1aca499cfbc19e98fa12bc85e037c17ec6ca5"}, - {file = "zstandard-0.23.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:65308f4b4890aa12d9b6ad9f2844b7ee42c7f7a4fd3390425b242ffc57498f48"}, - {file = "zstandard-0.23.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:98da17ce9cbf3bfe4617e836d561e433f871129e3a7ac16d6ef4c680f13a839c"}, - {file = "zstandard-0.23.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:8ed7d27cb56b3e058d3cf684d7200703bcae623e1dcc06ed1e18ecda39fee003"}, - {file = "zstandard-0.23.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:b69bb4f51daf461b15e7b3db033160937d3ff88303a7bc808c67bbc1eaf98c78"}, - {file = "zstandard-0.23.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:034b88913ecc1b097f528e42b539453fa82c3557e414b3de9d5632c80439a473"}, - {file = "zstandard-0.23.0-cp311-cp311-win32.whl", hash = "sha256:f2d4380bf5f62daabd7b751ea2339c1a21d1c9463f1feb7fc2bdcea2c29c3160"}, - {file = "zstandard-0.23.0-cp311-cp311-win_amd64.whl", hash = "sha256:62136da96a973bd2557f06ddd4e8e807f9e13cbb0bfb9cc06cfe6d98ea90dfe0"}, - {file = "zstandard-0.23.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b4567955a6bc1b20e9c31612e615af6b53733491aeaa19a6b3b37f3b65477094"}, - {file = "zstandard-0.23.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e172f57cd78c20f13a3415cc8dfe24bf388614324d25539146594c16d78fcc8"}, - {file = "zstandard-0.23.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0e166f698c5a3e914947388c162be2583e0c638a4703fc6a543e23a88dea3c1"}, - {file = "zstandard-0.23.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:12a289832e520c6bd4dcaad68e944b86da3bad0d339ef7989fb7e88f92e96072"}, - {file = "zstandard-0.23.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d50d31bfedd53a928fed6707b15a8dbeef011bb6366297cc435accc888b27c20"}, - {file = "zstandard-0.23.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72c68dda124a1a138340fb62fa21b9bf4848437d9ca60bd35db36f2d3345f373"}, - {file = "zstandard-0.23.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53dd9d5e3d29f95acd5de6802e909ada8d8d8cfa37a3ac64836f3bc4bc5512db"}, - {file = "zstandard-0.23.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:6a41c120c3dbc0d81a8e8adc73312d668cd34acd7725f036992b1b72d22c1772"}, - {file = "zstandard-0.23.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:40b33d93c6eddf02d2c19f5773196068d875c41ca25730e8288e9b672897c105"}, - {file = "zstandard-0.23.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9206649ec587e6b02bd124fb7799b86cddec350f6f6c14bc82a2b70183e708ba"}, - {file = "zstandard-0.23.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76e79bc28a65f467e0409098fa2c4376931fd3207fbeb6b956c7c476d53746dd"}, - {file = "zstandard-0.23.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:66b689c107857eceabf2cf3d3fc699c3c0fe8ccd18df2219d978c0283e4c508a"}, - {file = "zstandard-0.23.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9c236e635582742fee16603042553d276cca506e824fa2e6489db04039521e90"}, - {file = "zstandard-0.23.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a8fffdbd9d1408006baaf02f1068d7dd1f016c6bcb7538682622c556e7b68e35"}, - {file = "zstandard-0.23.0-cp312-cp312-win32.whl", hash = "sha256:dc1d33abb8a0d754ea4763bad944fd965d3d95b5baef6b121c0c9013eaf1907d"}, - {file = "zstandard-0.23.0-cp312-cp312-win_amd64.whl", hash = "sha256:64585e1dba664dc67c7cdabd56c1e5685233fbb1fc1966cfba2a340ec0dfff7b"}, - {file = "zstandard-0.23.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:576856e8594e6649aee06ddbfc738fec6a834f7c85bf7cadd1c53d4a58186ef9"}, - {file = "zstandard-0.23.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:38302b78a850ff82656beaddeb0bb989a0322a8bbb1bf1ab10c17506681d772a"}, - {file = "zstandard-0.23.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d2240ddc86b74966c34554c49d00eaafa8200a18d3a5b6ffbf7da63b11d74ee2"}, - {file = "zstandard-0.23.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ef230a8fd217a2015bc91b74f6b3b7d6522ba48be29ad4ea0ca3a3775bf7dd5"}, - {file = "zstandard-0.23.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:774d45b1fac1461f48698a9d4b5fa19a69d47ece02fa469825b442263f04021f"}, - {file = "zstandard-0.23.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f77fa49079891a4aab203d0b1744acc85577ed16d767b52fc089d83faf8d8ed"}, - {file = "zstandard-0.23.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ac184f87ff521f4840e6ea0b10c0ec90c6b1dcd0bad2f1e4a9a1b4fa177982ea"}, - {file = "zstandard-0.23.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c363b53e257246a954ebc7c488304b5592b9c53fbe74d03bc1c64dda153fb847"}, - {file = "zstandard-0.23.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e7792606d606c8df5277c32ccb58f29b9b8603bf83b48639b7aedf6df4fe8171"}, - {file = "zstandard-0.23.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a0817825b900fcd43ac5d05b8b3079937073d2b1ff9cf89427590718b70dd840"}, - {file = "zstandard-0.23.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:9da6bc32faac9a293ddfdcb9108d4b20416219461e4ec64dfea8383cac186690"}, - {file = "zstandard-0.23.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fd7699e8fd9969f455ef2926221e0233f81a2542921471382e77a9e2f2b57f4b"}, - {file = "zstandard-0.23.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:d477ed829077cd945b01fc3115edd132c47e6540ddcd96ca169facff28173057"}, - {file = "zstandard-0.23.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa6ce8b52c5987b3e34d5674b0ab529a4602b632ebab0a93b07bfb4dfc8f8a33"}, - {file = "zstandard-0.23.0-cp313-cp313-win32.whl", hash = "sha256:a9b07268d0c3ca5c170a385a0ab9fb7fdd9f5fd866be004c4ea39e44edce47dd"}, - {file = "zstandard-0.23.0-cp313-cp313-win_amd64.whl", hash = "sha256:f3513916e8c645d0610815c257cbfd3242adfd5c4cfa78be514e5a3ebb42a41b"}, - {file = "zstandard-0.23.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2ef3775758346d9ac6214123887d25c7061c92afe1f2b354f9388e9e4d48acfc"}, - {file = "zstandard-0.23.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4051e406288b8cdbb993798b9a45c59a4896b6ecee2f875424ec10276a895740"}, - {file = "zstandard-0.23.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2d1a054f8f0a191004675755448d12be47fa9bebbcffa3cdf01db19f2d30a54"}, - {file = "zstandard-0.23.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f83fa6cae3fff8e98691248c9320356971b59678a17f20656a9e59cd32cee6d8"}, - {file = "zstandard-0.23.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:32ba3b5ccde2d581b1e6aa952c836a6291e8435d788f656fe5976445865ae045"}, - {file = "zstandard-0.23.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f146f50723defec2975fb7e388ae3a024eb7151542d1599527ec2aa9cacb152"}, - {file = "zstandard-0.23.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1bfe8de1da6d104f15a60d4a8a768288f66aa953bbe00d027398b93fb9680b26"}, - {file = "zstandard-0.23.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:29a2bc7c1b09b0af938b7a8343174b987ae021705acabcbae560166567f5a8db"}, - {file = "zstandard-0.23.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:61f89436cbfede4bc4e91b4397eaa3e2108ebe96d05e93d6ccc95ab5714be512"}, - {file = "zstandard-0.23.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:53ea7cdc96c6eb56e76bb06894bcfb5dfa93b7adcf59d61c6b92674e24e2dd5e"}, - {file = "zstandard-0.23.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:a4ae99c57668ca1e78597d8b06d5af837f377f340f4cce993b551b2d7731778d"}, - {file = "zstandard-0.23.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:379b378ae694ba78cef921581ebd420c938936a153ded602c4fea612b7eaa90d"}, - {file = "zstandard-0.23.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:50a80baba0285386f97ea36239855f6020ce452456605f262b2d33ac35c7770b"}, - {file = "zstandard-0.23.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:61062387ad820c654b6a6b5f0b94484fa19515e0c5116faf29f41a6bc91ded6e"}, - {file = "zstandard-0.23.0-cp38-cp38-win32.whl", hash = "sha256:b8c0bd73aeac689beacd4e7667d48c299f61b959475cdbb91e7d3d88d27c56b9"}, - {file = "zstandard-0.23.0-cp38-cp38-win_amd64.whl", hash = "sha256:a05e6d6218461eb1b4771d973728f0133b2a4613a6779995df557f70794fd60f"}, - {file = "zstandard-0.23.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3aa014d55c3af933c1315eb4bb06dd0459661cc0b15cd61077afa6489bec63bb"}, - {file = "zstandard-0.23.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a7f0804bb3799414af278e9ad51be25edf67f78f916e08afdb983e74161b916"}, - {file = "zstandard-0.23.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb2b1ecfef1e67897d336de3a0e3f52478182d6a47eda86cbd42504c5cbd009a"}, - {file = "zstandard-0.23.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:837bb6764be6919963ef41235fd56a6486b132ea64afe5fafb4cb279ac44f259"}, - {file = "zstandard-0.23.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1516c8c37d3a053b01c1c15b182f3b5f5eef19ced9b930b684a73bad121addf4"}, - {file = "zstandard-0.23.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48ef6a43b1846f6025dde6ed9fee0c24e1149c1c25f7fb0a0585572b2f3adc58"}, - {file = "zstandard-0.23.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11e3bf3c924853a2d5835b24f03eeba7fc9b07d8ca499e247e06ff5676461a15"}, - {file = "zstandard-0.23.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2fb4535137de7e244c230e24f9d1ec194f61721c86ebea04e1581d9d06ea1269"}, - {file = "zstandard-0.23.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8c24f21fa2af4bb9f2c492a86fe0c34e6d2c63812a839590edaf177b7398f700"}, - {file = "zstandard-0.23.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a8c86881813a78a6f4508ef9daf9d4995b8ac2d147dcb1a450448941398091c9"}, - {file = "zstandard-0.23.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:fe3b385d996ee0822fd46528d9f0443b880d4d05528fd26a9119a54ec3f91c69"}, - {file = "zstandard-0.23.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:82d17e94d735c99621bf8ebf9995f870a6b3e6d14543b99e201ae046dfe7de70"}, - {file = "zstandard-0.23.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c7c517d74bea1a6afd39aa612fa025e6b8011982a0897768a2f7c8ab4ebb78a2"}, - {file = "zstandard-0.23.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1fd7e0f1cfb70eb2f95a19b472ee7ad6d9a0a992ec0ae53286870c104ca939e5"}, - {file = "zstandard-0.23.0-cp39-cp39-win32.whl", hash = "sha256:43da0f0092281bf501f9c5f6f3b4c975a8a0ea82de49ba3f7100e64d422a1274"}, - {file = "zstandard-0.23.0-cp39-cp39-win_amd64.whl", hash = "sha256:f8346bfa098532bc1fb6c7ef06783e969d87a99dd1d2a5a18a892c1d7a643c58"}, - {file = "zstandard-0.23.0.tar.gz", hash = "sha256:b2d8c62d08e7255f68f7a740bae85b3c9b8e5466baa9cbf7f57f1cde0ac6bc09"}, -] - -[package.dependencies] -cffi = {version = ">=1.11", markers = "platform_python_implementation == \"PyPy\""} - -[package.extras] -cffi = ["cffi (>=1.11)"] - -[metadata] -lock-version = "2.0" -python-versions = ">=3.10.0,<4" -content-hash = "fac2a5cafc9c572b7a4b76d6af36a07147106f753f7c64546efeaa7c5fcf8ac3" diff --git a/pyproject.toml b/pyproject.toml index 019c3d418..4babbc842 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,73 +1,60 @@ -[tool.poetry] +[project] name = "dre-repo" version = "0.5.3" description = "" -authors = ["DRE Team <dept-DRE@dfinity.org>"] +authors = [{ name = "DRE Team", email = "dept-DRE@dfinity.org" }] readme = "README.md" -package-mode = false +dependencies = [ + "requests>=2.32.3", + "gitpython>=3.1.43", + "numpy>=2.1.1", + "pandas>=2.2.2", + "paramiko>=3.4.1", + "pyyaml>=6.0.2", + "colorama>=0.4.6", + "elasticsearch>=8.15.0", + "mammoth>=1.8.0", + "pytest-mock>=3.14.0", + "pygithub>=2.4.0", + "python-dotenv>=1.0.1", + "pre-commit>=3.8.0", + "pylint>=3.2.7", + "tenacity>=9.0.0", + "mkdocs-material>=9.5.34", + "mkdocs>=1.6.1", + "clickhouse-connect>=0.7.19", + "humanfriendly>=10.0", + "jupyter>=1.1.1", + "matplotlib>=3.9.2", + "ipython>=8.27.0", + "mkdocs-git-revision-date-localized-plugin>=1.2.7", + "mkdocs-git-committers-plugin-2>=2.3.0", + "pydiscourse>=1.7.0", + "datamodel-code-generator>=0.26.0", + "pydantic-yaml>=1.3.0", + "google-api-python-client>=2.143.0", + "google-auth-httplib2>=0.2.0", + "google-auth-oauthlib>=1.2.1", + "pydrive2>=1.20.0", + "markdownify>=0.13.1", + "pytest>=8.3.2", + "pytest-asyncio>=0.24.0", + "pytest-xdist>=3.6.1", + "git-changelog>=2.5.2", + "slack-sdk>=3.31.0", + "slack-bolt>=1.20.1", + "slackblocks>=1.0.10", + "ic-py>=1.0.1", + "quart>=0.19.6", + "ruamel-yaml>=0.18.6", + "httpretty>=1.1.4", + "aiohttp>=3.10.5", +] -[tool.poetry.dependencies] -python = ">=3.10.0,<4" -colorama = "*" -elasticsearch = "<8.0,>=7.16" -elasticsearch-dsl = "*" -elasticsearch-follow = "*" -GitPython = "*" -numpy = "*" -pandas = "*" -paramiko = "*" -PyYAML = "*" -requests = "*" -tabulate = "*" -peewee = "*" -atlassian-python-api = "*" -python-dotenv = "*" -cachetools = "*" -pre-commit = "*" -pylint = "*" -tenacity = "*" -poetry = "^1.8.2" -ic-py = "*" -mkdocs-material = "^9.5.33" -mkdocs = "^1.5.3" -clickhouse-connect = "^0.7.18" -humanfriendly = "^10.0" -jupyter = "^1.0.0" -matplotlib = "^3.9.1" -ipython = "^8.21.0" -mkdocs-git-revision-date-localized-plugin = "^1.2.4" -mkdocs-git-committers-plugin-2 = "^2.2.3" -pydiscourse = "^1.6.1" -datamodel-code-generator = "^0.25.9" -pydantic-yaml = "^1.2.1" -google-api-python-client = "^2.140.0" -google-auth-httplib2 = "^0.2.0" -google-auth-oauthlib = "^1.2.1" -pydrive2 = "^1.20.0" -markdownify = "^0.13.1" -pytest = "^8.3.2" -pygithub = "^2.4.0" -pytest-mock = "^3.12.0" -mammoth = "^1.8.0" -slack-sdk = "^3.31.0" -git-changelog = "^2.5.1" -wrapt = "1.16.0" -poetry-plugin-export = "^1.8.0" -slack_bolt = "^1.20.1" -slackblocks = "^1.0.10" -aiohttp = "^3.10.3" -quart = "^0.19.6" -pytest-asyncio = "^0.24.0" -ruamel-yaml = "^0.18.6" -pytest-xdist = "^3.6.1" - -[tool.poetry.group.dev.dependencies] -black = "^24" -httpretty = "^1.1.4" - -[build-system] -requires = ["poetry-core"] -build-backend = "poetry.core.masonry.api" +[tool.rye] +universal = true # The dependency resolver will attempt to generate a resolution that's valid on all platforms, operating systems, and architectures, rather than a resolution that's specific to the current platform. +virtual = true # This is a special mode in which the package itself is not installed, but only the dependencies are. +dev-dependencies = ["black>=24"] [tool.black] line-length = 120 @@ -77,6 +64,6 @@ extend-exclude = ''' # in the root of the project. # https://black.readthedocs.io/en/stable/usage_and_configuration/the_basics.html#configuration-format ( - ^/release-controller/release_index.py # This file is generated from /bin/poetry.sh + ^/release-controller/release_index.py # This file is generated from /bin/release-controller-update-data-model.sh ) ''' diff --git a/requirements-dev.lock b/requirements-dev.lock new file mode 100644 index 000000000..839ad3f1f --- /dev/null +++ b/requirements-dev.lock @@ -0,0 +1,640 @@ +# generated by rye +# use `rye lock` or `rye sync` to update this lockfile +# +# last locked with the following flags: +# pre: false +# features: [] +# all-features: false +# with-sources: false +# generate-hashes: false +# universal: true + +aiofiles==24.1.0 + # via quart +aiohappyeyeballs==2.4.0 + # via aiohttp +aiohttp==3.10.5 +aiosignal==1.3.1 + # via aiohttp +annotated-types==0.7.0 + # via pydantic +antlr4-python3-runtime==4.9.3 + # via ic-py +anyio==4.4.0 + # via httpx + # via jupyter-server +appdirs==1.4.4 + # via git-changelog +appnope==0.1.4 ; platform_system == 'Darwin' + # via ipykernel +argcomplete==3.5.0 + # via datamodel-code-generator +argon2-cffi==23.1.0 + # via jupyter-server +argon2-cffi-bindings==21.2.0 + # via argon2-cffi +arrow==1.3.0 + # via isoduration +astroid==3.2.4 + # via pylint +asttokens==2.4.1 + # via stack-data +async-lru==2.0.4 + # via jupyterlab +attrs==24.2.0 + # via aiohttp + # via jsonschema + # via referencing +babel==2.16.0 + # via jupyterlab-server + # via mkdocs-git-revision-date-localized-plugin + # via mkdocs-material +bcrypt==4.2.0 + # via paramiko +beautifulsoup4==4.12.3 + # via markdownify + # via nbconvert +black==24.8.0 + # via datamodel-code-generator +bleach==6.1.0 + # via nbconvert +blinker==1.8.2 + # via flask + # via quart +cachetools==5.5.0 + # via google-auth +cbor2==5.6.4 + # via ic-py +certifi==2024.8.30 + # via clickhouse-connect + # via elastic-transport + # via httpcore + # via httpx + # via requests +cffi==1.17.0 + # via argon2-cffi-bindings + # via cryptography + # via pynacl + # via pyzmq + # via zstandard +cfgv==3.4.0 + # via pre-commit +charset-normalizer==3.3.2 + # via requests +click==8.1.7 + # via black + # via flask + # via mkdocs + # via quart +clickhouse-connect==0.7.19 +cobble==0.1.4 + # via mammoth +colorama==0.4.6 + # via click + # via ipython + # via mkdocs + # via mkdocs-material + # via pylint + # via pytest +comm==0.2.2 + # via ipykernel + # via ipywidgets +contourpy==1.3.0 + # via matplotlib +cryptography==43.0.0 + # via paramiko + # via pyjwt + # via pyopenssl +cycler==0.12.1 + # via matplotlib +datamodel-code-generator==0.26.0 +debugpy==1.8.5 + # via ipykernel +decorator==5.1.1 + # via ipython +defusedxml==0.7.1 + # via nbconvert +deprecated==1.2.14 + # via pygithub +dill==0.3.8 + # via pylint +distlib==0.3.8 + # via virtualenv +dnspython==2.6.1 ; python_full_version < '4.0' + # via email-validator +ecdsa==0.19.0 + # via ic-py +elastic-transport==8.15.0 + # via elasticsearch +elasticsearch==8.15.0 +email-validator==2.2.0 ; python_full_version < '4.0' + # via pydantic +execnet==2.1.1 + # via pytest-xdist +executing==2.1.0 + # via stack-data +fastjsonschema==2.20.0 + # via nbformat +filelock==3.15.4 + # via virtualenv +flask==3.0.3 + # via quart +fonttools==4.53.1 + # via matplotlib +fqdn==1.5.1 + # via jsonschema +frozenlist==1.4.1 + # via aiohttp + # via aiosignal +genson==1.3.0 + # via datamodel-code-generator +ghp-import==2.1.0 + # via mkdocs +git-changelog==2.5.2 +gitdb==4.0.11 + # via gitpython +gitpython==3.1.43 + # via mkdocs-git-committers-plugin-2 + # via mkdocs-git-revision-date-localized-plugin +google-api-core==2.19.2 + # via google-api-python-client +google-api-python-client==2.143.0 + # via pydrive2 +google-auth==2.34.0 + # via google-api-core + # via google-api-python-client + # via google-auth-httplib2 + # via google-auth-oauthlib +google-auth-httplib2==0.2.0 + # via google-api-python-client +google-auth-oauthlib==1.2.1 +googleapis-common-protos==1.65.0 + # via google-api-core +h11==0.14.0 + # via httpcore + # via hypercorn + # via wsproto +h2==4.1.0 + # via hypercorn +hpack==4.0.0 + # via h2 +httpcore==1.0.5 + # via httpx +httplib2==0.22.0 + # via google-api-python-client + # via google-auth-httplib2 + # via oauth2client +httpretty==1.1.4 +httpx==0.27.2 + # via ic-py + # via jupyterlab +humanfriendly==10.0 +hypercorn==0.17.3 + # via quart +hyperframe==6.0.1 + # via h2 +ic-py==1.0.1 +identify==2.6.0 + # via pre-commit +idna==3.8 + # via anyio + # via email-validator + # via httpx + # via jsonschema + # via requests + # via yarl +importlib-metadata==8.4.0 + # via pydantic-yaml +inflect==5.6.2 + # via datamodel-code-generator +iniconfig==2.0.0 + # via pytest +ipykernel==6.29.5 + # via jupyter + # via jupyter-console + # via jupyterlab +ipython==8.27.0 + # via ipykernel + # via ipywidgets + # via jupyter-console +ipywidgets==8.1.5 + # via jupyter +isoduration==20.11.0 + # via jsonschema +isort==5.13.2 + # via datamodel-code-generator + # via pylint +itsdangerous==2.2.0 + # via flask + # via quart +jedi==0.19.1 + # via ipython +jinja2==3.1.4 + # via datamodel-code-generator + # via flask + # via git-changelog + # via jupyter-server + # via jupyterlab + # via jupyterlab-server + # via mkdocs + # via mkdocs-material + # via nbconvert + # via quart +json5==0.9.25 + # via jupyterlab-server +jsonpointer==3.0.0 + # via jsonschema +jsonschema==4.23.0 + # via jupyter-events + # via jupyterlab-server + # via nbformat +jsonschema-specifications==2023.12.1 + # via jsonschema +jupyter==1.1.1 +jupyter-client==8.6.2 + # via ipykernel + # via jupyter-console + # via jupyter-server + # via nbclient +jupyter-console==6.6.3 + # via jupyter +jupyter-core==5.7.2 + # via ipykernel + # via jupyter-client + # via jupyter-console + # via jupyter-server + # via jupyterlab + # via nbclient + # via nbconvert + # via nbformat +jupyter-events==0.10.0 + # via jupyter-server +jupyter-lsp==2.2.5 + # via jupyterlab +jupyter-server==2.14.2 + # via jupyter-lsp + # via jupyterlab + # via jupyterlab-server + # via notebook + # via notebook-shim +jupyter-server-terminals==0.5.3 + # via jupyter-server +jupyterlab==4.2.5 + # via jupyter + # via notebook +jupyterlab-pygments==0.3.0 + # via nbconvert +jupyterlab-server==2.27.3 + # via jupyterlab + # via notebook +jupyterlab-widgets==3.0.13 + # via ipywidgets +kiwisolver==1.4.5 + # via matplotlib +leb128==1.0.8 + # via ic-py +lz4==4.3.3 + # via clickhouse-connect +mammoth==1.8.0 +markdown==3.7 + # via mkdocs + # via mkdocs-material + # via pymdown-extensions +markdownify==0.13.1 +markupsafe==2.1.5 + # via jinja2 + # via mkdocs + # via nbconvert + # via quart + # via werkzeug +matplotlib==3.9.2 +matplotlib-inline==0.1.7 + # via ipykernel + # via ipython +mccabe==0.7.0 + # via pylint +mergedeep==1.3.4 + # via mkdocs + # via mkdocs-get-deps +mistune==3.0.2 + # via nbconvert +mkdocs==1.6.1 + # via mkdocs-git-committers-plugin-2 + # via mkdocs-git-revision-date-localized-plugin + # via mkdocs-material +mkdocs-get-deps==0.2.0 + # via mkdocs +mkdocs-git-committers-plugin-2==2.3.0 +mkdocs-git-revision-date-localized-plugin==1.2.7 +mkdocs-material==9.5.34 +mkdocs-material-extensions==1.3.1 + # via mkdocs-material +mnemonic==0.20 + # via ic-py +multidict==6.0.5 + # via aiohttp + # via yarl +mypy-extensions==1.0.0 + # via black +nbclient==0.10.0 + # via nbconvert +nbconvert==7.16.4 + # via jupyter + # via jupyter-server +nbformat==5.10.4 + # via jupyter-server + # via nbclient + # via nbconvert +nest-asyncio==1.6.0 + # via ipykernel +nodeenv==1.9.1 + # via pre-commit +notebook==7.2.2 + # via jupyter +notebook-shim==0.2.4 + # via jupyterlab + # via notebook +numpy==2.1.1 + # via contourpy + # via matplotlib + # via pandas +oauth2client==4.1.3 + # via pydrive2 +oauthlib==3.2.2 + # via requests-oauthlib +overrides==7.7.0 + # via jupyter-server +packaging==24.1 + # via black + # via datamodel-code-generator + # via git-changelog + # via ipykernel + # via jupyter-server + # via jupyterlab + # via jupyterlab-server + # via matplotlib + # via mkdocs + # via nbconvert + # via pytest +paginate==0.5.7 + # via mkdocs-material +pandas==2.2.2 +pandocfilters==1.5.1 + # via nbconvert +paramiko==3.4.1 +parso==0.8.4 + # via jedi +pathspec==0.12.1 + # via black + # via mkdocs +pexpect==4.9.0 ; sys_platform != 'emscripten' and sys_platform != 'win32' + # via ipython +pillow==10.4.0 + # via matplotlib +platformdirs==4.2.2 + # via black + # via jupyter-core + # via mkdocs-get-deps + # via pylint + # via virtualenv +pluggy==1.5.0 + # via pytest +pre-commit==3.8.0 +priority==2.0.0 + # via hypercorn +prometheus-client==0.20.0 + # via jupyter-server +prompt-toolkit==3.0.47 + # via ipython + # via jupyter-console +proto-plus==1.24.0 + # via google-api-core +protobuf==5.28.0 + # via google-api-core + # via googleapis-common-protos + # via proto-plus +psutil==6.0.0 + # via ipykernel +ptyprocess==0.7.0 ; os_name != 'nt' or (sys_platform != 'emscripten' and sys_platform != 'win32') + # via pexpect + # via terminado +pure-eval==0.2.3 + # via stack-data +pyasn1==0.6.0 + # via oauth2client + # via pyasn1-modules + # via rsa +pyasn1-modules==0.4.0 + # via google-auth + # via oauth2client +pycparser==2.22 + # via cffi +pydantic==2.8.2 + # via datamodel-code-generator + # via pydantic-yaml +pydantic-core==2.20.1 + # via pydantic +pydantic-yaml==1.3.0 +pydiscourse==1.7.0 +pydrive2==1.20.0 +pygithub==2.4.0 +pygments==2.18.0 + # via ipython + # via jupyter-console + # via mkdocs-material + # via nbconvert +pyjwt==2.9.0 + # via pygithub +pylint==3.2.7 +pymdown-extensions==10.9 + # via mkdocs-material +pynacl==1.5.0 + # via paramiko + # via pygithub +pyopenssl==24.2.1 + # via pydrive2 +pyparsing==3.1.4 + # via httplib2 + # via matplotlib +pyreadline3==3.4.1 ; sys_platform == 'win32' + # via humanfriendly +pytest==8.3.2 + # via pytest-asyncio + # via pytest-mock + # via pytest-xdist +pytest-asyncio==0.24.0 +pytest-mock==3.14.0 +pytest-xdist==3.6.1 +python-dateutil==2.9.0.post0 + # via arrow + # via ghp-import + # via jupyter-client + # via matplotlib + # via pandas +python-dotenv==1.0.1 +python-json-logger==2.0.7 + # via jupyter-events +pytz==2024.1 + # via clickhouse-connect + # via mkdocs-git-revision-date-localized-plugin + # via pandas +pywin32==306 ; platform_python_implementation != 'PyPy' and sys_platform == 'win32' + # via jupyter-core +pywinpty==2.0.13 ; os_name == 'nt' + # via jupyter-server + # via jupyter-server-terminals + # via terminado +pyyaml==6.0.2 + # via datamodel-code-generator + # via jupyter-events + # via mkdocs + # via mkdocs-get-deps + # via pre-commit + # via pydrive2 + # via pymdown-extensions + # via pyyaml-env-tag +pyyaml-env-tag==0.1 + # via mkdocs +pyzmq==26.2.0 + # via ipykernel + # via jupyter-client + # via jupyter-console + # via jupyter-server +quart==0.19.6 +referencing==0.35.1 + # via jsonschema + # via jsonschema-specifications + # via jupyter-events +regex==2024.7.24 + # via mkdocs-material +requests==2.32.3 + # via google-api-core + # via jupyterlab-server + # via mkdocs-git-committers-plugin-2 + # via mkdocs-material + # via pydiscourse + # via pygithub + # via requests-oauthlib +requests-oauthlib==2.0.0 + # via google-auth-oauthlib +rfc3339-validator==0.1.4 + # via jsonschema + # via jupyter-events +rfc3986-validator==0.1.1 + # via jsonschema + # via jupyter-events +rpds-py==0.20.0 + # via jsonschema + # via referencing +rsa==4.9 + # via google-auth + # via oauth2client +ruamel-yaml==0.18.6 + # via pydantic-yaml +ruamel-yaml-clib==0.2.8 ; python_full_version < '3.13' and platform_python_implementation == 'CPython' + # via ruamel-yaml +semver==3.0.2 + # via git-changelog +send2trash==1.8.3 + # via jupyter-server +setuptools==74.1.1 + # via jupyterlab +six==1.16.0 + # via asttokens + # via bleach + # via ecdsa + # via markdownify + # via oauth2client + # via python-dateutil + # via rfc3339-validator +slack-bolt==1.20.1 +slack-sdk==3.31.0 + # via slack-bolt +slackblocks==1.0.10 +smmap==5.0.1 + # via gitdb +sniffio==1.3.1 + # via anyio + # via httpx +soupsieve==2.6 + # via beautifulsoup4 +stack-data==0.6.3 + # via ipython +tenacity==9.0.0 +terminado==0.18.1 + # via jupyter-server + # via jupyter-server-terminals +tinycss2==1.3.0 + # via nbconvert +tomlkit==0.13.2 + # via pylint +tornado==6.4.1 + # via ipykernel + # via jupyter-client + # via jupyter-server + # via jupyterlab + # via notebook + # via terminado +traitlets==5.14.3 + # via comm + # via ipykernel + # via ipython + # via ipywidgets + # via jupyter-client + # via jupyter-console + # via jupyter-core + # via jupyter-events + # via jupyter-server + # via jupyterlab + # via matplotlib-inline + # via nbclient + # via nbconvert + # via nbformat +types-python-dateutil==2.9.0.20240821 + # via arrow +typing-extensions==4.12.2 + # via pydantic + # via pydantic-core + # via pydantic-yaml + # via pygithub +tzdata==2024.1 + # via pandas +uri-template==1.3.0 + # via jsonschema +uritemplate==4.1.1 + # via google-api-python-client +urllib3==2.2.2 + # via clickhouse-connect + # via elastic-transport + # via pygithub + # via requests +virtualenv==20.26.3 + # via pre-commit +waiter==1.5 + # via ic-py +watchdog==5.0.1 + # via mkdocs +wcwidth==0.2.13 + # via prompt-toolkit +webcolors==24.8.0 + # via jsonschema +webencodings==0.5.1 + # via bleach + # via tinycss2 +websocket-client==1.8.0 + # via jupyter-server +werkzeug==3.0.4 + # via flask + # via quart +widgetsnbextension==4.0.13 + # via ipywidgets +wrapt==1.16.0 + # via deprecated +wsproto==1.2.0 + # via hypercorn +yarl==1.9.8 + # via aiohttp +zipp==3.20.1 + # via importlib-metadata +zstandard==0.23.0 + # via clickhouse-connect diff --git a/requirements.lock b/requirements.lock new file mode 100644 index 000000000..839ad3f1f --- /dev/null +++ b/requirements.lock @@ -0,0 +1,640 @@ +# generated by rye +# use `rye lock` or `rye sync` to update this lockfile +# +# last locked with the following flags: +# pre: false +# features: [] +# all-features: false +# with-sources: false +# generate-hashes: false +# universal: true + +aiofiles==24.1.0 + # via quart +aiohappyeyeballs==2.4.0 + # via aiohttp +aiohttp==3.10.5 +aiosignal==1.3.1 + # via aiohttp +annotated-types==0.7.0 + # via pydantic +antlr4-python3-runtime==4.9.3 + # via ic-py +anyio==4.4.0 + # via httpx + # via jupyter-server +appdirs==1.4.4 + # via git-changelog +appnope==0.1.4 ; platform_system == 'Darwin' + # via ipykernel +argcomplete==3.5.0 + # via datamodel-code-generator +argon2-cffi==23.1.0 + # via jupyter-server +argon2-cffi-bindings==21.2.0 + # via argon2-cffi +arrow==1.3.0 + # via isoduration +astroid==3.2.4 + # via pylint +asttokens==2.4.1 + # via stack-data +async-lru==2.0.4 + # via jupyterlab +attrs==24.2.0 + # via aiohttp + # via jsonschema + # via referencing +babel==2.16.0 + # via jupyterlab-server + # via mkdocs-git-revision-date-localized-plugin + # via mkdocs-material +bcrypt==4.2.0 + # via paramiko +beautifulsoup4==4.12.3 + # via markdownify + # via nbconvert +black==24.8.0 + # via datamodel-code-generator +bleach==6.1.0 + # via nbconvert +blinker==1.8.2 + # via flask + # via quart +cachetools==5.5.0 + # via google-auth +cbor2==5.6.4 + # via ic-py +certifi==2024.8.30 + # via clickhouse-connect + # via elastic-transport + # via httpcore + # via httpx + # via requests +cffi==1.17.0 + # via argon2-cffi-bindings + # via cryptography + # via pynacl + # via pyzmq + # via zstandard +cfgv==3.4.0 + # via pre-commit +charset-normalizer==3.3.2 + # via requests +click==8.1.7 + # via black + # via flask + # via mkdocs + # via quart +clickhouse-connect==0.7.19 +cobble==0.1.4 + # via mammoth +colorama==0.4.6 + # via click + # via ipython + # via mkdocs + # via mkdocs-material + # via pylint + # via pytest +comm==0.2.2 + # via ipykernel + # via ipywidgets +contourpy==1.3.0 + # via matplotlib +cryptography==43.0.0 + # via paramiko + # via pyjwt + # via pyopenssl +cycler==0.12.1 + # via matplotlib +datamodel-code-generator==0.26.0 +debugpy==1.8.5 + # via ipykernel +decorator==5.1.1 + # via ipython +defusedxml==0.7.1 + # via nbconvert +deprecated==1.2.14 + # via pygithub +dill==0.3.8 + # via pylint +distlib==0.3.8 + # via virtualenv +dnspython==2.6.1 ; python_full_version < '4.0' + # via email-validator +ecdsa==0.19.0 + # via ic-py +elastic-transport==8.15.0 + # via elasticsearch +elasticsearch==8.15.0 +email-validator==2.2.0 ; python_full_version < '4.0' + # via pydantic +execnet==2.1.1 + # via pytest-xdist +executing==2.1.0 + # via stack-data +fastjsonschema==2.20.0 + # via nbformat +filelock==3.15.4 + # via virtualenv +flask==3.0.3 + # via quart +fonttools==4.53.1 + # via matplotlib +fqdn==1.5.1 + # via jsonschema +frozenlist==1.4.1 + # via aiohttp + # via aiosignal +genson==1.3.0 + # via datamodel-code-generator +ghp-import==2.1.0 + # via mkdocs +git-changelog==2.5.2 +gitdb==4.0.11 + # via gitpython +gitpython==3.1.43 + # via mkdocs-git-committers-plugin-2 + # via mkdocs-git-revision-date-localized-plugin +google-api-core==2.19.2 + # via google-api-python-client +google-api-python-client==2.143.0 + # via pydrive2 +google-auth==2.34.0 + # via google-api-core + # via google-api-python-client + # via google-auth-httplib2 + # via google-auth-oauthlib +google-auth-httplib2==0.2.0 + # via google-api-python-client +google-auth-oauthlib==1.2.1 +googleapis-common-protos==1.65.0 + # via google-api-core +h11==0.14.0 + # via httpcore + # via hypercorn + # via wsproto +h2==4.1.0 + # via hypercorn +hpack==4.0.0 + # via h2 +httpcore==1.0.5 + # via httpx +httplib2==0.22.0 + # via google-api-python-client + # via google-auth-httplib2 + # via oauth2client +httpretty==1.1.4 +httpx==0.27.2 + # via ic-py + # via jupyterlab +humanfriendly==10.0 +hypercorn==0.17.3 + # via quart +hyperframe==6.0.1 + # via h2 +ic-py==1.0.1 +identify==2.6.0 + # via pre-commit +idna==3.8 + # via anyio + # via email-validator + # via httpx + # via jsonschema + # via requests + # via yarl +importlib-metadata==8.4.0 + # via pydantic-yaml +inflect==5.6.2 + # via datamodel-code-generator +iniconfig==2.0.0 + # via pytest +ipykernel==6.29.5 + # via jupyter + # via jupyter-console + # via jupyterlab +ipython==8.27.0 + # via ipykernel + # via ipywidgets + # via jupyter-console +ipywidgets==8.1.5 + # via jupyter +isoduration==20.11.0 + # via jsonschema +isort==5.13.2 + # via datamodel-code-generator + # via pylint +itsdangerous==2.2.0 + # via flask + # via quart +jedi==0.19.1 + # via ipython +jinja2==3.1.4 + # via datamodel-code-generator + # via flask + # via git-changelog + # via jupyter-server + # via jupyterlab + # via jupyterlab-server + # via mkdocs + # via mkdocs-material + # via nbconvert + # via quart +json5==0.9.25 + # via jupyterlab-server +jsonpointer==3.0.0 + # via jsonschema +jsonschema==4.23.0 + # via jupyter-events + # via jupyterlab-server + # via nbformat +jsonschema-specifications==2023.12.1 + # via jsonschema +jupyter==1.1.1 +jupyter-client==8.6.2 + # via ipykernel + # via jupyter-console + # via jupyter-server + # via nbclient +jupyter-console==6.6.3 + # via jupyter +jupyter-core==5.7.2 + # via ipykernel + # via jupyter-client + # via jupyter-console + # via jupyter-server + # via jupyterlab + # via nbclient + # via nbconvert + # via nbformat +jupyter-events==0.10.0 + # via jupyter-server +jupyter-lsp==2.2.5 + # via jupyterlab +jupyter-server==2.14.2 + # via jupyter-lsp + # via jupyterlab + # via jupyterlab-server + # via notebook + # via notebook-shim +jupyter-server-terminals==0.5.3 + # via jupyter-server +jupyterlab==4.2.5 + # via jupyter + # via notebook +jupyterlab-pygments==0.3.0 + # via nbconvert +jupyterlab-server==2.27.3 + # via jupyterlab + # via notebook +jupyterlab-widgets==3.0.13 + # via ipywidgets +kiwisolver==1.4.5 + # via matplotlib +leb128==1.0.8 + # via ic-py +lz4==4.3.3 + # via clickhouse-connect +mammoth==1.8.0 +markdown==3.7 + # via mkdocs + # via mkdocs-material + # via pymdown-extensions +markdownify==0.13.1 +markupsafe==2.1.5 + # via jinja2 + # via mkdocs + # via nbconvert + # via quart + # via werkzeug +matplotlib==3.9.2 +matplotlib-inline==0.1.7 + # via ipykernel + # via ipython +mccabe==0.7.0 + # via pylint +mergedeep==1.3.4 + # via mkdocs + # via mkdocs-get-deps +mistune==3.0.2 + # via nbconvert +mkdocs==1.6.1 + # via mkdocs-git-committers-plugin-2 + # via mkdocs-git-revision-date-localized-plugin + # via mkdocs-material +mkdocs-get-deps==0.2.0 + # via mkdocs +mkdocs-git-committers-plugin-2==2.3.0 +mkdocs-git-revision-date-localized-plugin==1.2.7 +mkdocs-material==9.5.34 +mkdocs-material-extensions==1.3.1 + # via mkdocs-material +mnemonic==0.20 + # via ic-py +multidict==6.0.5 + # via aiohttp + # via yarl +mypy-extensions==1.0.0 + # via black +nbclient==0.10.0 + # via nbconvert +nbconvert==7.16.4 + # via jupyter + # via jupyter-server +nbformat==5.10.4 + # via jupyter-server + # via nbclient + # via nbconvert +nest-asyncio==1.6.0 + # via ipykernel +nodeenv==1.9.1 + # via pre-commit +notebook==7.2.2 + # via jupyter +notebook-shim==0.2.4 + # via jupyterlab + # via notebook +numpy==2.1.1 + # via contourpy + # via matplotlib + # via pandas +oauth2client==4.1.3 + # via pydrive2 +oauthlib==3.2.2 + # via requests-oauthlib +overrides==7.7.0 + # via jupyter-server +packaging==24.1 + # via black + # via datamodel-code-generator + # via git-changelog + # via ipykernel + # via jupyter-server + # via jupyterlab + # via jupyterlab-server + # via matplotlib + # via mkdocs + # via nbconvert + # via pytest +paginate==0.5.7 + # via mkdocs-material +pandas==2.2.2 +pandocfilters==1.5.1 + # via nbconvert +paramiko==3.4.1 +parso==0.8.4 + # via jedi +pathspec==0.12.1 + # via black + # via mkdocs +pexpect==4.9.0 ; sys_platform != 'emscripten' and sys_platform != 'win32' + # via ipython +pillow==10.4.0 + # via matplotlib +platformdirs==4.2.2 + # via black + # via jupyter-core + # via mkdocs-get-deps + # via pylint + # via virtualenv +pluggy==1.5.0 + # via pytest +pre-commit==3.8.0 +priority==2.0.0 + # via hypercorn +prometheus-client==0.20.0 + # via jupyter-server +prompt-toolkit==3.0.47 + # via ipython + # via jupyter-console +proto-plus==1.24.0 + # via google-api-core +protobuf==5.28.0 + # via google-api-core + # via googleapis-common-protos + # via proto-plus +psutil==6.0.0 + # via ipykernel +ptyprocess==0.7.0 ; os_name != 'nt' or (sys_platform != 'emscripten' and sys_platform != 'win32') + # via pexpect + # via terminado +pure-eval==0.2.3 + # via stack-data +pyasn1==0.6.0 + # via oauth2client + # via pyasn1-modules + # via rsa +pyasn1-modules==0.4.0 + # via google-auth + # via oauth2client +pycparser==2.22 + # via cffi +pydantic==2.8.2 + # via datamodel-code-generator + # via pydantic-yaml +pydantic-core==2.20.1 + # via pydantic +pydantic-yaml==1.3.0 +pydiscourse==1.7.0 +pydrive2==1.20.0 +pygithub==2.4.0 +pygments==2.18.0 + # via ipython + # via jupyter-console + # via mkdocs-material + # via nbconvert +pyjwt==2.9.0 + # via pygithub +pylint==3.2.7 +pymdown-extensions==10.9 + # via mkdocs-material +pynacl==1.5.0 + # via paramiko + # via pygithub +pyopenssl==24.2.1 + # via pydrive2 +pyparsing==3.1.4 + # via httplib2 + # via matplotlib +pyreadline3==3.4.1 ; sys_platform == 'win32' + # via humanfriendly +pytest==8.3.2 + # via pytest-asyncio + # via pytest-mock + # via pytest-xdist +pytest-asyncio==0.24.0 +pytest-mock==3.14.0 +pytest-xdist==3.6.1 +python-dateutil==2.9.0.post0 + # via arrow + # via ghp-import + # via jupyter-client + # via matplotlib + # via pandas +python-dotenv==1.0.1 +python-json-logger==2.0.7 + # via jupyter-events +pytz==2024.1 + # via clickhouse-connect + # via mkdocs-git-revision-date-localized-plugin + # via pandas +pywin32==306 ; platform_python_implementation != 'PyPy' and sys_platform == 'win32' + # via jupyter-core +pywinpty==2.0.13 ; os_name == 'nt' + # via jupyter-server + # via jupyter-server-terminals + # via terminado +pyyaml==6.0.2 + # via datamodel-code-generator + # via jupyter-events + # via mkdocs + # via mkdocs-get-deps + # via pre-commit + # via pydrive2 + # via pymdown-extensions + # via pyyaml-env-tag +pyyaml-env-tag==0.1 + # via mkdocs +pyzmq==26.2.0 + # via ipykernel + # via jupyter-client + # via jupyter-console + # via jupyter-server +quart==0.19.6 +referencing==0.35.1 + # via jsonschema + # via jsonschema-specifications + # via jupyter-events +regex==2024.7.24 + # via mkdocs-material +requests==2.32.3 + # via google-api-core + # via jupyterlab-server + # via mkdocs-git-committers-plugin-2 + # via mkdocs-material + # via pydiscourse + # via pygithub + # via requests-oauthlib +requests-oauthlib==2.0.0 + # via google-auth-oauthlib +rfc3339-validator==0.1.4 + # via jsonschema + # via jupyter-events +rfc3986-validator==0.1.1 + # via jsonschema + # via jupyter-events +rpds-py==0.20.0 + # via jsonschema + # via referencing +rsa==4.9 + # via google-auth + # via oauth2client +ruamel-yaml==0.18.6 + # via pydantic-yaml +ruamel-yaml-clib==0.2.8 ; python_full_version < '3.13' and platform_python_implementation == 'CPython' + # via ruamel-yaml +semver==3.0.2 + # via git-changelog +send2trash==1.8.3 + # via jupyter-server +setuptools==74.1.1 + # via jupyterlab +six==1.16.0 + # via asttokens + # via bleach + # via ecdsa + # via markdownify + # via oauth2client + # via python-dateutil + # via rfc3339-validator +slack-bolt==1.20.1 +slack-sdk==3.31.0 + # via slack-bolt +slackblocks==1.0.10 +smmap==5.0.1 + # via gitdb +sniffio==1.3.1 + # via anyio + # via httpx +soupsieve==2.6 + # via beautifulsoup4 +stack-data==0.6.3 + # via ipython +tenacity==9.0.0 +terminado==0.18.1 + # via jupyter-server + # via jupyter-server-terminals +tinycss2==1.3.0 + # via nbconvert +tomlkit==0.13.2 + # via pylint +tornado==6.4.1 + # via ipykernel + # via jupyter-client + # via jupyter-server + # via jupyterlab + # via notebook + # via terminado +traitlets==5.14.3 + # via comm + # via ipykernel + # via ipython + # via ipywidgets + # via jupyter-client + # via jupyter-console + # via jupyter-core + # via jupyter-events + # via jupyter-server + # via jupyterlab + # via matplotlib-inline + # via nbclient + # via nbconvert + # via nbformat +types-python-dateutil==2.9.0.20240821 + # via arrow +typing-extensions==4.12.2 + # via pydantic + # via pydantic-core + # via pydantic-yaml + # via pygithub +tzdata==2024.1 + # via pandas +uri-template==1.3.0 + # via jsonschema +uritemplate==4.1.1 + # via google-api-python-client +urllib3==2.2.2 + # via clickhouse-connect + # via elastic-transport + # via pygithub + # via requests +virtualenv==20.26.3 + # via pre-commit +waiter==1.5 + # via ic-py +watchdog==5.0.1 + # via mkdocs +wcwidth==0.2.13 + # via prompt-toolkit +webcolors==24.8.0 + # via jsonschema +webencodings==0.5.1 + # via bleach + # via tinycss2 +websocket-client==1.8.0 + # via jupyter-server +werkzeug==3.0.4 + # via flask + # via quart +widgetsnbextension==4.0.13 + # via ipywidgets +wrapt==1.16.0 + # via deprecated +wsproto==1.2.0 + # via hypercorn +yarl==1.9.8 + # via aiohttp +zipp==3.20.1 + # via importlib-metadata +zstandard==0.23.0 + # via clickhouse-connect diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 9f7fa744d..000000000 --- a/requirements.txt +++ /dev/null @@ -1,3011 +0,0 @@ -aiofiles==24.1.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c \ - --hash=sha256:b4ec55f4195e3eb5d7abd1bf7e061763e864dd4954231fb8539a0ef8bb8260e5 -aiohappyeyeballs==2.4.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:55a1714f084e63d49639800f95716da97a1f173d46a16dfcfda0016abb93b6b2 \ - --hash=sha256:7ce92076e249169a13c2f49320d1967425eaf1f407522d707d59cac7628d62bd -aiohttp==3.10.5 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:02594361128f780eecc2a29939d9dfc870e17b45178a867bf61a11b2a4367277 \ - --hash=sha256:03f2645adbe17f274444953bdea69f8327e9d278d961d85657cb0d06864814c1 \ - --hash=sha256:074d1bff0163e107e97bd48cad9f928fa5a3eb4b9d33366137ffce08a63e37fe \ - --hash=sha256:0912b8a8fadeb32ff67a3ed44249448c20148397c1ed905d5dac185b4ca547bb \ - --hash=sha256:0d277cfb304118079e7044aad0b76685d30ecb86f83a0711fc5fb257ffe832ca \ - --hash=sha256:0d93400c18596b7dc4794d48a63fb361b01a0d8eb39f28800dc900c8fbdaca91 \ - --hash=sha256:123dd5b16b75b2962d0fff566effb7a065e33cd4538c1692fb31c3bda2bfb972 \ - --hash=sha256:17e997105bd1a260850272bfb50e2a328e029c941c2708170d9d978d5a30ad9a \ - --hash=sha256:18a01eba2574fb9edd5f6e5fb25f66e6ce061da5dab5db75e13fe1558142e0a3 \ - --hash=sha256:1923a5c44061bffd5eebeef58cecf68096e35003907d8201a4d0d6f6e387ccaa \ - --hash=sha256:1942244f00baaacaa8155eca94dbd9e8cc7017deb69b75ef67c78e89fdad3c77 \ - --hash=sha256:1b2c16a919d936ca87a3c5f0e43af12a89a3ce7ccbce59a2d6784caba945b68b \ - --hash=sha256:1c19de68896747a2aa6257ae4cf6ef59d73917a36a35ee9d0a6f48cff0f94db8 \ - --hash=sha256:1e72589da4c90337837fdfe2026ae1952c0f4a6e793adbbfbdd40efed7c63599 \ - --hash=sha256:22c0a23a3b3138a6bf76fc553789cb1a703836da86b0f306b6f0dc1617398abc \ - --hash=sha256:2c634a3207a5445be65536d38c13791904fda0748b9eabf908d3fe86a52941cf \ - --hash=sha256:2d21ac12dc943c68135ff858c3a989f2194a709e6e10b4c8977d7fcd67dfd511 \ - --hash=sha256:2f1f1c75c395991ce9c94d3e4aa96e5c59c8356a15b1c9231e783865e2772699 \ - --hash=sha256:305be5ff2081fa1d283a76113b8df7a14c10d75602a38d9f012935df20731487 \ - --hash=sha256:33e6bc4bab477c772a541f76cd91e11ccb6d2efa2b8d7d7883591dfb523e5987 \ - --hash=sha256:349ef8a73a7c5665cca65c88ab24abe75447e28aa3bc4c93ea5093474dfdf0ff \ - --hash=sha256:380f926b51b92d02a34119d072f178d80bbda334d1a7e10fa22d467a66e494db \ - --hash=sha256:38172a70005252b6893088c0f5e8a47d173df7cc2b2bd88650957eb84fcf5022 \ - --hash=sha256:391cc3a9c1527e424c6865e087897e766a917f15dddb360174a70467572ac6ce \ - --hash=sha256:3a1c32a19ee6bbde02f1cb189e13a71b321256cc1d431196a9f824050b160d5a \ - --hash=sha256:4120d7fefa1e2d8fb6f650b11489710091788de554e2b6f8347c7a20ceb003f5 \ - --hash=sha256:424ae21498790e12eb759040bbb504e5e280cab64693d14775c54269fd1d2bb7 \ - --hash=sha256:44b324a6b8376a23e6ba25d368726ee3bc281e6ab306db80b5819999c737d820 \ - --hash=sha256:4790f0e15f00058f7599dab2b206d3049d7ac464dc2e5eae0e93fa18aee9e7bf \ - --hash=sha256:4aff049b5e629ef9b3e9e617fa6e2dfeda1bf87e01bcfecaf3949af9e210105e \ - --hash=sha256:4b38b1570242fbab8d86a84128fb5b5234a2f70c2e32f3070143a6d94bc854cf \ - --hash=sha256:4d46c7b4173415d8e583045fbc4daa48b40e31b19ce595b8d92cf639396c15d5 \ - --hash=sha256:4f1c9866ccf48a6df2b06823e6ae80573529f2af3a0992ec4fe75b1a510df8a6 \ - --hash=sha256:4f7acae3cf1a2a2361ec4c8e787eaaa86a94171d2417aae53c0cca6ca3118ff6 \ - --hash=sha256:54d9ddea424cd19d3ff6128601a4a4d23d54a421f9b4c0fff740505813739a91 \ - --hash=sha256:58718e181c56a3c02d25b09d4115eb02aafe1a732ce5714ab70326d9776457c3 \ - --hash=sha256:5ede29d91a40ba22ac1b922ef510aab871652f6c88ef60b9dcdf773c6d32ad7a \ - --hash=sha256:61645818edd40cc6f455b851277a21bf420ce347baa0b86eaa41d51ef58ba23d \ - --hash=sha256:66bf9234e08fe561dccd62083bf67400bdbf1c67ba9efdc3dac03650e97c6088 \ - --hash=sha256:673f988370f5954df96cc31fd99c7312a3af0a97f09e407399f61583f30da9bc \ - --hash=sha256:676f94c5480d8eefd97c0c7e3953315e4d8c2b71f3b49539beb2aa676c58272f \ - --hash=sha256:6c225286f2b13bab5987425558baa5cbdb2bc925b2998038fa028245ef421e75 \ - --hash=sha256:7384d0b87d4635ec38db9263e6a3f1eb609e2e06087f0aa7f63b76833737b471 \ - --hash=sha256:7e2fe37ac654032db1f3499fe56e77190282534810e2a8e833141a021faaab0e \ - --hash=sha256:7f2bfc0032a00405d4af2ba27f3c429e851d04fad1e5ceee4080a1c570476697 \ - --hash=sha256:7f6b639c36734eaa80a6c152a238242bedcee9b953f23bb887e9102976343092 \ - --hash=sha256:814375093edae5f1cb31e3407997cf3eacefb9010f96df10d64829362ae2df69 \ - --hash=sha256:8224f98be68a84b19f48e0bdc14224b5a71339aff3a27df69989fa47d01296f3 \ - --hash=sha256:898715cf566ec2869d5cb4d5fb4be408964704c46c96b4be267442d265390f32 \ - --hash=sha256:8989f46f3d7ef79585e98fa991e6ded55d2f48ae56d2c9fa5e491a6e4effb589 \ - --hash=sha256:8ba01ebc6175e1e6b7275c907a3a36be48a2d487549b656aa90c8a910d9f3178 \ - --hash=sha256:8c5c6fa16412b35999320f5c9690c0f554392dc222c04e559217e0f9ae244b92 \ - --hash=sha256:8c6a4e5e40156d72a40241a25cc226051c0a8d816610097a8e8f517aeacd59a2 \ - --hash=sha256:8eaf44ccbc4e35762683078b72bf293f476561d8b68ec8a64f98cf32811c323e \ - --hash=sha256:8fb4fc029e135859f533025bc82047334e24b0d489e75513144f25408ecaf058 \ - --hash=sha256:9093a81e18c45227eebe4c16124ebf3e0d893830c6aca7cc310bfca8fe59d857 \ - --hash=sha256:94c4381ffba9cc508b37d2e536b418d5ea9cfdc2848b9a7fea6aebad4ec6aac1 \ - --hash=sha256:94fac7c6e77ccb1ca91e9eb4cb0ac0270b9fb9b289738654120ba8cebb1189c6 \ - --hash=sha256:95c4dc6f61d610bc0ee1edc6f29d993f10febfe5b76bb470b486d90bbece6b22 \ - --hash=sha256:975218eee0e6d24eb336d0328c768ebc5d617609affaca5dbbd6dd1984f16ed0 \ - --hash=sha256:ad146dae5977c4dd435eb31373b3fe9b0b1bf26858c6fc452bf6af394067e10b \ - --hash=sha256:afe16a84498441d05e9189a15900640a2d2b5e76cf4efe8cbb088ab4f112ee57 \ - --hash=sha256:b1c43eb1ab7cbf411b8e387dc169acb31f0ca0d8c09ba63f9eac67829585b44f \ - --hash=sha256:b90078989ef3fc45cf9221d3859acd1108af7560c52397ff4ace8ad7052a132e \ - --hash=sha256:b98e698dc34966e5976e10bbca6d26d6724e6bdea853c7c10162a3235aba6e16 \ - --hash=sha256:ba5a8b74c2a8af7d862399cdedce1533642fa727def0b8c3e3e02fcb52dca1b1 \ - --hash=sha256:c31ad0c0c507894e3eaa843415841995bf8de4d6b2d24c6e33099f4bc9fc0d4f \ - --hash=sha256:c3b9162bab7e42f21243effc822652dc5bb5e8ff42a4eb62fe7782bcbcdfacf6 \ - --hash=sha256:c58c6837a2c2a7cf3133983e64173aec11f9c2cd8e87ec2fdc16ce727bcf1a04 \ - --hash=sha256:c83f7a107abb89a227d6c454c613e7606c12a42b9a4ca9c5d7dad25d47c776ae \ - --hash=sha256:cde98f323d6bf161041e7627a5fd763f9fd829bcfcd089804a5fdce7bb6e1b7d \ - --hash=sha256:ce91db90dbf37bb6fa0997f26574107e1b9d5ff939315247b7e615baa8ec313b \ - --hash=sha256:d00f3c5e0d764a5c9aa5a62d99728c56d455310bcc288a79cab10157b3af426f \ - --hash=sha256:d17920f18e6ee090bdd3d0bfffd769d9f2cb4c8ffde3eb203777a3895c128862 \ - --hash=sha256:d55f011da0a843c3d3df2c2cf4e537b8070a419f891c930245f05d329c4b0689 \ - --hash=sha256:d742c36ed44f2798c8d3f4bc511f479b9ceef2b93f348671184139e7d708042c \ - --hash=sha256:d9a487ef090aea982d748b1b0d74fe7c3950b109df967630a20584f9a99c0683 \ - --hash=sha256:d9ef084e3dc690ad50137cc05831c52b6ca428096e6deb3c43e95827f531d5ef \ - --hash=sha256:da452c2c322e9ce0cfef392e469a26d63d42860f829026a63374fde6b5c5876f \ - --hash=sha256:dc4826823121783dccc0871e3f405417ac116055bf184ac04c36f98b75aacd12 \ - --hash=sha256:de7a5299827253023c55ea549444e058c0eb496931fa05d693b95140a947cb73 \ - --hash=sha256:e04a1f2a65ad2f93aa20f9ff9f1b672bf912413e5547f60749fa2ef8a644e061 \ - --hash=sha256:e1ca1ef5ba129718a8fc827b0867f6aa4e893c56eb00003b7367f8a733a9b072 \ - --hash=sha256:ee40b40aa753d844162dcc80d0fe256b87cba48ca0054f64e68000453caead11 \ - --hash=sha256:f071854b47d39591ce9a17981c46790acb30518e2f83dfca8db2dfa091178691 \ - --hash=sha256:f29930bc2921cef955ba39a3ff87d2c4398a0394ae217f41cb02d5c26c8b1b77 \ - --hash=sha256:f489a2c9e6455d87eabf907ac0b7d230a9786be43fbe884ad184ddf9e9c1e385 \ - --hash=sha256:f5bf3ead3cb66ab990ee2561373b009db5bc0e857549b6c9ba84b20bc462e172 \ - --hash=sha256:f6f18898ace4bcd2d41a122916475344a87f1dfdec626ecde9ee802a711bc569 \ - --hash=sha256:f8112fb501b1e0567a1251a2fd0747baae60a4ab325a871e975b7bb67e59221f \ - --hash=sha256:fd31f176429cecbc1ba499d4aba31aaccfea488f418d60376b911269d3b883c5 -aiosignal==1.3.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc \ - --hash=sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17 -annotated-types==0.7.0 ; python_version >= "3.10" and python_version < "4.0" \ - --hash=sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53 \ - --hash=sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89 -antlr4-python3-runtime==4.9.3 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:f224469b4168294902bb1efa80a8bf7855f24c99aef99cbefc1bcd3cce77881b -anyio==4.4.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:5aadc6a1bbb7cdb0bede386cac5e2940f5e2ff3aa20277e991cf028e0585ce94 \ - --hash=sha256:c1b2d8f46a8a812513012e1107cb0e68c17159a7a594208005a57dc776e1bdc7 -appdirs==1.4.4 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41 \ - --hash=sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128 -appnope==0.1.4 ; python_full_version >= "3.10.0" and python_version < "4" and platform_system == "Darwin" \ - --hash=sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee \ - --hash=sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c -argcomplete==3.5.0 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:4349400469dccfb7950bb60334a680c58d88699bff6159df61251878dc6bf74b \ - --hash=sha256:d4bcf3ff544f51e16e54228a7ac7f486ed70ebf2ecfe49a63a91171c76bf029b -argon2-cffi-bindings==21.2.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:20ef543a89dee4db46a1a6e206cd015360e5a75822f76df533845c3cbaf72670 \ - --hash=sha256:2c3e3cc67fdb7d82c4718f19b4e7a87123caf8a93fde7e23cf66ac0337d3cb3f \ - --hash=sha256:3b9ef65804859d335dc6b31582cad2c5166f0c3e7975f324d9ffaa34ee7e6583 \ - --hash=sha256:3e385d1c39c520c08b53d63300c3ecc28622f076f4c2b0e6d7e796e9f6502194 \ - --hash=sha256:58ed19212051f49a523abb1dbe954337dc82d947fb6e5a0da60f7c8471a8476c \ - --hash=sha256:5e00316dabdaea0b2dd82d141cc66889ced0cdcbfa599e8b471cf22c620c329a \ - --hash=sha256:603ca0aba86b1349b147cab91ae970c63118a0f30444d4bc80355937c950c082 \ - --hash=sha256:6a22ad9800121b71099d0fb0a65323810a15f2e292f2ba450810a7316e128ee5 \ - --hash=sha256:8cd69c07dd875537a824deec19f978e0f2078fdda07fd5c42ac29668dda5f40f \ - --hash=sha256:93f9bf70084f97245ba10ee36575f0c3f1e7d7724d67d8e5b08e61787c320ed7 \ - --hash=sha256:9524464572e12979364b7d600abf96181d3541da11e23ddf565a32e70bd4dc0d \ - --hash=sha256:b2ef1c30440dbbcba7a5dc3e319408b59676e2e039e2ae11a8775ecf482b192f \ - --hash=sha256:b746dba803a79238e925d9046a63aa26bf86ab2a2fe74ce6b009a1c3f5c8f2ae \ - --hash=sha256:bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3 \ - --hash=sha256:bd46088725ef7f58b5a1ef7ca06647ebaf0eb4baff7d1d0d177c6cc8744abd86 \ - --hash=sha256:ccb949252cb2ab3a08c02024acb77cfb179492d5701c7cbdbfd776124d4d2367 \ - --hash=sha256:d4966ef5848d820776f5f562a7d45fdd70c2f330c961d0d745b784034bd9f48d \ - --hash=sha256:e415e3f62c8d124ee16018e491a009937f8cf7ebf5eb430ffc5de21b900dad93 \ - --hash=sha256:ed2937d286e2ad0cc79a7087d3c272832865f779430e0cc2b4f3718d3159b0cb \ - --hash=sha256:f1152ac548bd5b8bcecfb0b0371f082037e47128653df2e8ba6e914d384f3c3e \ - --hash=sha256:f9f8b450ed0547e3d473fdc8612083fd08dd2120d6ac8f73828df9b7d45bb351 -argon2-cffi==23.1.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:879c3e79a2729ce768ebb7d36d4609e3a78a4ca2ec3a9f12286ca057e3d0db08 \ - --hash=sha256:c670642b78ba29641818ab2e68bd4e6a78ba53b7eff7b4c3815ae16abf91c7ea -arrow==1.3.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80 \ - --hash=sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85 -astroid==3.2.4 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:0e14202810b30da1b735827f78f5157be2bbd4a7a59b7707ca0bfc2fb4c0063a \ - --hash=sha256:413658a61eeca6202a59231abb473f932038fbcbf1666587f66d482083413a25 -asttokens==2.4.1 ; python_version >= "3.10" and python_version < "4" \ - --hash=sha256:051ed49c3dcae8913ea7cd08e46a606dba30b79993209636c4875bc1d637bc24 \ - --hash=sha256:b03869718ba9a6eb027e134bfdf69f38a236d681c83c160d510768af11254ba0 -async-lru==2.0.4 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:b8a59a5df60805ff63220b2a0c5b5393da5521b113cd5465a44eb037d81a5627 \ - --hash=sha256:ff02944ce3c288c5be660c42dbcca0742b32c3b279d6dceda655190240b99224 -async-timeout==4.0.3 ; python_full_version >= "3.10.0" and python_version < "3.11" \ - --hash=sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f \ - --hash=sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028 -atlassian-python-api==3.41.15 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:1c271ca9b1688acdaef09ad6f763570868a381394530d1fba49b5b104fffe54a \ - --hash=sha256:3c852f38ad8645887fbfe1526c12f2c1951ba06a24a1bbb36bdf7ccdc6d7b1ac -attrs==24.2.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346 \ - --hash=sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2 -babel==2.16.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b \ - --hash=sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316 -bcrypt==4.2.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:096a15d26ed6ce37a14c1ac1e48119660f21b24cba457f160a4b830f3fe6b5cb \ - --hash=sha256:0da52759f7f30e83f1e30a888d9163a81353ef224d82dc58eb5bb52efcabc399 \ - --hash=sha256:1bb429fedbe0249465cdd85a58e8376f31bb315e484f16e68ca4c786dcc04291 \ - --hash=sha256:1d84cf6d877918620b687b8fd1bf7781d11e8a0998f576c7aa939776b512b98d \ - --hash=sha256:1ee38e858bf5d0287c39b7a1fc59eec64bbf880c7d504d3a06a96c16e14058e7 \ - --hash=sha256:1ff39b78a52cf03fdf902635e4c81e544714861ba3f0efc56558979dd4f09170 \ - --hash=sha256:27fe0f57bb5573104b5a6de5e4153c60814c711b29364c10a75a54bb6d7ff48d \ - --hash=sha256:3413bd60460f76097ee2e0a493ccebe4a7601918219c02f503984f0a7ee0aebe \ - --hash=sha256:3698393a1b1f1fd5714524193849d0c6d524d33523acca37cd28f02899285060 \ - --hash=sha256:373db9abe198e8e2c70d12b479464e0d5092cc122b20ec504097b5f2297ed184 \ - --hash=sha256:39e1d30c7233cfc54f5c3f2c825156fe044efdd3e0b9d309512cc514a263ec2a \ - --hash=sha256:3bbbfb2734f0e4f37c5136130405332640a1e46e6b23e000eeff2ba8d005da68 \ - --hash=sha256:3d3a6d28cb2305b43feac298774b997e372e56c7c7afd90a12b3dc49b189151c \ - --hash=sha256:5a1e8aa9b28ae28020a3ac4b053117fb51c57a010b9f969603ed885f23841458 \ - --hash=sha256:61ed14326ee023917ecd093ee6ef422a72f3aec6f07e21ea5f10622b735538a9 \ - --hash=sha256:655ea221910bcac76ea08aaa76df427ef8625f92e55a8ee44fbf7753dbabb328 \ - --hash=sha256:762a2c5fb35f89606a9fde5e51392dad0cd1ab7ae64149a8b935fe8d79dd5ed7 \ - --hash=sha256:77800b7147c9dc905db1cba26abe31e504d8247ac73580b4aa179f98e6608f34 \ - --hash=sha256:8ac68872c82f1add6a20bd489870c71b00ebacd2e9134a8aa3f98a0052ab4b0e \ - --hash=sha256:8d7bb9c42801035e61c109c345a28ed7e84426ae4865511eb82e913df18f58c2 \ - --hash=sha256:8f6ede91359e5df88d1f5c1ef47428a4420136f3ce97763e31b86dd8280fbdf5 \ - --hash=sha256:9c1c4ad86351339c5f320ca372dfba6cb6beb25e8efc659bedd918d921956bae \ - --hash=sha256:c02d944ca89d9b1922ceb8a46460dd17df1ba37ab66feac4870f6862a1533c00 \ - --hash=sha256:c52aac18ea1f4a4f65963ea4f9530c306b56ccd0c6f8c8da0c06976e34a6e841 \ - --hash=sha256:cb2a8ec2bc07d3553ccebf0746bbf3d19426d1c6d1adbd4fa48925f66af7b9e8 \ - --hash=sha256:cf69eaf5185fd58f268f805b505ce31f9b9fc2d64b376642164e9244540c1221 \ - --hash=sha256:f4f4acf526fcd1c34e7ce851147deedd4e26e6402369304220250598b26448db -beautifulsoup4==4.12.3 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051 \ - --hash=sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed -black==24.8.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:09cdeb74d494ec023ded657f7092ba518e8cf78fa8386155e4a03fdcc44679e6 \ - --hash=sha256:1f13f7f386f86f8121d76599114bb8c17b69d962137fc70efe56137727c7047e \ - --hash=sha256:2500945420b6784c38b9ee885af039f5e7471ef284ab03fa35ecdde4688cd83f \ - --hash=sha256:2b59b250fdba5f9a9cd9d0ece6e6d993d91ce877d121d161e4698af3eb9c1018 \ - --hash=sha256:3c4285573d4897a7610054af5a890bde7c65cb466040c5f0c8b732812d7f0e5e \ - --hash=sha256:505289f17ceda596658ae81b61ebbe2d9b25aa78067035184ed0a9d855d18afd \ - --hash=sha256:62e8730977f0b77998029da7971fa896ceefa2c4c4933fcd593fa599ecbf97a4 \ - --hash=sha256:649f6d84ccbae73ab767e206772cc2d7a393a001070a4c814a546afd0d423aed \ - --hash=sha256:6e55d30d44bed36593c3163b9bc63bf58b3b30e4611e4d88a0c3c239930ed5b2 \ - --hash=sha256:707a1ca89221bc8a1a64fb5e15ef39cd755633daa672a9db7498d1c19de66a42 \ - --hash=sha256:72901b4913cbac8972ad911dc4098d5753704d1f3c56e44ae8dce99eecb0e3af \ - --hash=sha256:73bbf84ed136e45d451a260c6b73ed674652f90a2b3211d6a35e78054563a9bb \ - --hash=sha256:7c046c1d1eeb7aea9335da62472481d3bbf3fd986e093cffd35f4385c94ae368 \ - --hash=sha256:81c6742da39f33b08e791da38410f32e27d632260e599df7245cccee2064afeb \ - --hash=sha256:837fd281f1908d0076844bc2b801ad2d369c78c45cf800cad7b61686051041af \ - --hash=sha256:972085c618ee94f402da1af548a4f218c754ea7e5dc70acb168bfaca4c2542ed \ - --hash=sha256:9e84e33b37be070ba135176c123ae52a51f82306def9f7d063ee302ecab2cf47 \ - --hash=sha256:b19c9ad992c7883ad84c9b22aaa73562a16b819c1d8db7a1a1a49fb7ec13c7d2 \ - --hash=sha256:d6417535d99c37cee4091a2f24eb2b6d5ec42b144d50f1f2e436d9fe1916fe1a \ - --hash=sha256:eab4dd44ce80dea27dc69db40dab62d4ca96112f87996bca68cd75639aeb2e4c \ - --hash=sha256:f490dbd59680d809ca31efdae20e634f3fae27fba3ce0ba3208333b713bc3920 \ - --hash=sha256:fb6e2c0b86bbd43dee042e48059c9ad7830abd5c94b0bc518c0eeec57c3eddc1 -bleach==6.1.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:0a31f1837963c41d46bbf1331b8778e1308ea0791db03cc4e7357b97cf42a8fe \ - --hash=sha256:3225f354cfc436b9789c66c4ee030194bee0568fbf9cbdad3bc8b5c26c5f12b6 -blinker==1.8.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:1779309f71bf239144b9399d06ae925637cf6634cf6bd131104184531bf67c01 \ - --hash=sha256:8f77b09d3bf7c795e969e9486f39c2c5e9c39d4ee07424be2bc594ece9642d83 -build==1.2.1 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:526263f4870c26f26c433545579475377b2b7588b6f1eac76a001e873ae3e19d \ - --hash=sha256:75e10f767a433d9a86e50d83f418e83efc18ede923ee5ff7df93b6cb0306c5d4 -cachecontrol[filecache]==0.14.0 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:7db1195b41c81f8274a7bbd97c956f44e8348265a1bc7641c37dfebc39f0c938 \ - --hash=sha256:f5bf3f0620c38db2e5122c0726bdebb0d16869de966ea6a2befe92470b740ea0 -cachetools==5.5.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:02134e8439cdc2ffb62023ce1debca2944c3f289d66bb17ead3ab3dede74b292 \ - --hash=sha256:2cc24fb4cbe39633fb7badd9db9ca6295d766d9c2995f245725a46715d050f2a -cbor2==5.6.4 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:0a5cb2c16687ccd76b38cfbfdb34468ab7d5635fb92c9dc5e07831c1816bd0a9 \ - --hash=sha256:0c8d8c2f208c223a61bed48dfd0661694b891e423094ed30bac2ed75032142aa \ - --hash=sha256:13521b7c9a0551fcc812d36afd03fc554fa4e1b193659bb5d4d521889aa81154 \ - --hash=sha256:1c533c50dde86bef1c6950602054a0ffa3c376e8b0e20c7b8f5b108793f6983e \ - --hash=sha256:1e98d370106821335efcc8fbe4136ea26b4747bf29ca0e66512b6c4f6f5cc59f \ - --hash=sha256:227a7e68ba378fe53741ed892b5b03fe472b5bd23ef26230a71964accebf50a2 \ - --hash=sha256:24cd2ce6136e1985da989e5ba572521023a320dcefad5d1fff57fba261de80ca \ - --hash=sha256:341468ae58bdedaa05c907ab16e90dd0d5c54d7d1e66698dfacdbc16a31e815b \ - --hash=sha256:380e0c7f4db574dcd86e6eee1b0041863b0aae7efd449d49b0b784cf9a481b9b \ - --hash=sha256:3f53a67600038cb9668720b309fdfafa8c16d1a02570b96d2144d58d66774318 \ - --hash=sha256:41c43abffe217dce70ae51c7086530687670a0995dfc90cc35f32f2cf4d86392 \ - --hash=sha256:57db966ab08443ee54b6f154f72021a41bfecd4ba897fe108728183ad8784a2a \ - --hash=sha256:58a7ac8861857a9f9b0de320a4808a2a5f68a2599b4c14863e2748d5a4686c99 \ - --hash=sha256:5c763d50a1714e0356b90ad39194fc8ef319356b89fb001667a2e836bfde88e3 \ - --hash=sha256:5e5d50fb9f47d295c1b7f55592111350424283aff4cc88766c656aad0300f11f \ - --hash=sha256:64d06184dcdc275c389fee3cd0ea80b5e1769763df15f93ecd0bf4c281817365 \ - --hash=sha256:68743a18e16167ff37654a29321f64f0441801dba68359c82dc48173cc6c87e1 \ - --hash=sha256:6f4816d290535d20c7b7e2663b76da5b0deb4237b90275c202c26343d8852b8a \ - --hash=sha256:6f985f531f7495527153c4f66c8c143e4cf8a658ec9e87b14bc5438e0a8d0911 \ - --hash=sha256:7ba5e9c6ed17526d266a1116c045c0941f710860c5f2495758df2e0d848c1b6d \ - --hash=sha256:7d715b2f101730335e84a25fe0893e2b6adf049d6d44da123bf243b8c875ffd8 \ - --hash=sha256:7f9d867dcd814ab8383ad132eb4063e2b69f6a9f688797b7a8ca34a4eadb3944 \ - --hash=sha256:7facce04aed2bf69ef43bdffb725446fe243594c2451921e89cc305bede16f02 \ - --hash=sha256:9b45d554daa540e2f29f1747df9f08f8d98ade65a67b1911791bc193d33a5923 \ - --hash=sha256:a9d9c7b4bd7c3ea7e5587d4f1bbe073b81719530ddadb999b184074f064896e2 \ - --hash=sha256:bcb4994be1afcc81f9167c220645d878b608cae92e19f6706e770f9bc7bbff6c \ - --hash=sha256:c0625c8d3c487e509458459de99bf052f62eb5d773cc9fc141c6a6ea9367726d \ - --hash=sha256:c38a0ed495a63a8bef6400158746a9cb03c36f89aeed699be7ffebf82720bf86 \ - --hash=sha256:c40c68779a363f47a11ded7b189ba16767391d5eae27fac289e7f62b730ae1fc \ - --hash=sha256:d6749913cd00a24eba17406a0bfc872044036c30a37eb2fcde7acfd975317e8a \ - --hash=sha256:de7137622204168c3a57882f15dd09b5135bda2bcb1cf8b56b58d26b5150dfca \ - --hash=sha256:e0860ca88edf8aaec5461ce0e498eb5318f1bcc70d93f90091b7a1f1d351a167 \ - --hash=sha256:e3545e1e62ec48944b81da2c0e0a736ca98b9e4653c2365cae2f10ae871e9113 \ - --hash=sha256:e9ba7116f201860fb4c3e80ef36be63851ec7e4a18af70fea22d09cab0b000bf \ - --hash=sha256:f898bab20c4f42dca3688c673ff97c2f719b1811090430173c94452603fbcf13 \ - --hash=sha256:f9c8ee0d89411e5e039a4f3419befe8b43c0dd8746eedc979e73f4c06fe0ef97 \ - --hash=sha256:fe411c4bf464f5976605103ebcd0f60b893ac3e4c7c8d8bc8f4a0cb456e33c60 -certifi==2024.8.30 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8 \ - --hash=sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9 -cffi==1.17.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:011aff3524d578a9412c8b3cfaa50f2c0bd78e03eb7af7aa5e0df59b158efb2f \ - --hash=sha256:0a048d4f6630113e54bb4b77e315e1ba32a5a31512c31a273807d0027a7e69ab \ - --hash=sha256:0bb15e7acf8ab35ca8b24b90af52c8b391690ef5c4aec3d31f38f0d37d2cc499 \ - --hash=sha256:0d46ee4764b88b91f16661a8befc6bfb24806d885e27436fdc292ed7e6f6d058 \ - --hash=sha256:0e60821d312f99d3e1569202518dddf10ae547e799d75aef3bca3a2d9e8ee693 \ - --hash=sha256:0fdacad9e0d9fc23e519efd5ea24a70348305e8d7d85ecbb1a5fa66dc834e7fb \ - --hash=sha256:14b9cbc8f7ac98a739558eb86fabc283d4d564dafed50216e7f7ee62d0d25377 \ - --hash=sha256:17c6d6d3260c7f2d94f657e6872591fe8733872a86ed1345bda872cfc8c74885 \ - --hash=sha256:1a2ddbac59dc3716bc79f27906c010406155031a1c801410f1bafff17ea304d2 \ - --hash=sha256:2404f3de742f47cb62d023f0ba7c5a916c9c653d5b368cc966382ae4e57da401 \ - --hash=sha256:24658baf6224d8f280e827f0a50c46ad819ec8ba380a42448e24459daf809cf4 \ - --hash=sha256:24aa705a5f5bd3a8bcfa4d123f03413de5d86e497435693b638cbffb7d5d8a1b \ - --hash=sha256:2770bb0d5e3cc0e31e7318db06efcbcdb7b31bcb1a70086d3177692a02256f59 \ - --hash=sha256:331ad15c39c9fe9186ceaf87203a9ecf5ae0ba2538c9e898e3a6967e8ad3db6f \ - --hash=sha256:3aa9d43b02a0c681f0bfbc12d476d47b2b2b6a3f9287f11ee42989a268a1833c \ - --hash=sha256:41f4915e09218744d8bae14759f983e466ab69b178de38066f7579892ff2a555 \ - --hash=sha256:4304d4416ff032ed50ad6bb87416d802e67139e31c0bde4628f36a47a3164bfa \ - --hash=sha256:435a22d00ec7d7ea533db494da8581b05977f9c37338c80bc86314bec2619424 \ - --hash=sha256:45f7cd36186db767d803b1473b3c659d57a23b5fa491ad83c6d40f2af58e4dbb \ - --hash=sha256:48b389b1fd5144603d61d752afd7167dfd205973a43151ae5045b35793232aa2 \ - --hash=sha256:4e67d26532bfd8b7f7c05d5a766d6f437b362c1bf203a3a5ce3593a645e870b8 \ - --hash=sha256:516a405f174fd3b88829eabfe4bb296ac602d6a0f68e0d64d5ac9456194a5b7e \ - --hash=sha256:5ba5c243f4004c750836f81606a9fcb7841f8874ad8f3bf204ff5e56332b72b9 \ - --hash=sha256:5bdc0f1f610d067c70aa3737ed06e2726fd9d6f7bfee4a351f4c40b6831f4e82 \ - --hash=sha256:6107e445faf057c118d5050560695e46d272e5301feffda3c41849641222a828 \ - --hash=sha256:6327b572f5770293fc062a7ec04160e89741e8552bf1c358d1a23eba68166759 \ - --hash=sha256:669b29a9eca6146465cc574659058ed949748f0809a2582d1f1a324eb91054dc \ - --hash=sha256:6ce01337d23884b21c03869d2f68c5523d43174d4fc405490eb0091057943118 \ - --hash=sha256:6d872186c1617d143969defeadac5a904e6e374183e07977eedef9c07c8953bf \ - --hash=sha256:6f76a90c345796c01d85e6332e81cab6d70de83b829cf1d9762d0a3da59c7932 \ - --hash=sha256:70d2aa9fb00cf52034feac4b913181a6e10356019b18ef89bc7c12a283bf5f5a \ - --hash=sha256:7cbc78dc018596315d4e7841c8c3a7ae31cc4d638c9b627f87d52e8abaaf2d29 \ - --hash=sha256:856bf0924d24e7f93b8aee12a3a1095c34085600aa805693fb7f5d1962393206 \ - --hash=sha256:8a98748ed1a1df4ee1d6f927e151ed6c1a09d5ec21684de879c7ea6aa96f58f2 \ - --hash=sha256:93a7350f6706b31f457c1457d3a3259ff9071a66f312ae64dc024f049055f72c \ - --hash=sha256:964823b2fc77b55355999ade496c54dde161c621cb1f6eac61dc30ed1b63cd4c \ - --hash=sha256:a003ac9edc22d99ae1286b0875c460351f4e101f8c9d9d2576e78d7e048f64e0 \ - --hash=sha256:a0ce71725cacc9ebf839630772b07eeec220cbb5f03be1399e0457a1464f8e1a \ - --hash=sha256:a47eef975d2b8b721775a0fa286f50eab535b9d56c70a6e62842134cf7841195 \ - --hash=sha256:a8b5b9712783415695663bd463990e2f00c6750562e6ad1d28e072a611c5f2a6 \ - --hash=sha256:a9015f5b8af1bb6837a3fcb0cdf3b874fe3385ff6274e8b7925d81ccaec3c5c9 \ - --hash=sha256:aec510255ce690d240f7cb23d7114f6b351c733a74c279a84def763660a2c3bc \ - --hash=sha256:b00e7bcd71caa0282cbe3c90966f738e2db91e64092a877c3ff7f19a1628fdcb \ - --hash=sha256:b50aaac7d05c2c26dfd50c3321199f019ba76bb650e346a6ef3616306eed67b0 \ - --hash=sha256:b7b6ea9e36d32582cda3465f54c4b454f62f23cb083ebc7a94e2ca6ef011c3a7 \ - --hash=sha256:bb9333f58fc3a2296fb1d54576138d4cf5d496a2cc118422bd77835e6ae0b9cb \ - --hash=sha256:c1c13185b90bbd3f8b5963cd8ce7ad4ff441924c31e23c975cb150e27c2bf67a \ - --hash=sha256:c3b8bd3133cd50f6b637bb4322822c94c5ce4bf0d724ed5ae70afce62187c492 \ - --hash=sha256:c5d97162c196ce54af6700949ddf9409e9833ef1003b4741c2b39ef46f1d9720 \ - --hash=sha256:c815270206f983309915a6844fe994b2fa47e5d05c4c4cef267c3b30e34dbe42 \ - --hash=sha256:cab2eba3830bf4f6d91e2d6718e0e1c14a2f5ad1af68a89d24ace0c6b17cced7 \ - --hash=sha256:d1df34588123fcc88c872f5acb6f74ae59e9d182a2707097f9e28275ec26a12d \ - --hash=sha256:d6bdcd415ba87846fd317bee0774e412e8792832e7805938987e4ede1d13046d \ - --hash=sha256:db9a30ec064129d605d0f1aedc93e00894b9334ec74ba9c6bdd08147434b33eb \ - --hash=sha256:dbc183e7bef690c9abe5ea67b7b60fdbca81aa8da43468287dae7b5c046107d4 \ - --hash=sha256:dca802c8db0720ce1c49cce1149ff7b06e91ba15fa84b1d59144fef1a1bc7ac2 \ - --hash=sha256:dec6b307ce928e8e112a6bb9921a1cb00a0e14979bf28b98e084a4b8a742bd9b \ - --hash=sha256:df8bb0010fdd0a743b7542589223a2816bdde4d94bb5ad67884348fa2c1c67e8 \ - --hash=sha256:e4094c7b464cf0a858e75cd14b03509e84789abf7b79f8537e6a72152109c76e \ - --hash=sha256:e4760a68cab57bfaa628938e9c2971137e05ce48e762a9cb53b76c9b569f1204 \ - --hash=sha256:eb09b82377233b902d4c3fbeeb7ad731cdab579c6c6fda1f763cd779139e47c3 \ - --hash=sha256:eb862356ee9391dc5a0b3cbc00f416b48c1b9a52d252d898e5b7696a5f9fe150 \ - --hash=sha256:ef9528915df81b8f4c7612b19b8628214c65c9b7f74db2e34a646a0a2a0da2d4 \ - --hash=sha256:f3157624b7558b914cb039fd1af735e5e8049a87c817cc215109ad1c8779df76 \ - --hash=sha256:f3e0992f23bbb0be00a921eae5363329253c3b86287db27092461c887b791e5e \ - --hash=sha256:f9338cc05451f1942d0d8203ec2c346c830f8e86469903d5126c1f0a13a2bcbb \ - --hash=sha256:ffef8fd58a36fb5f1196919638f73dd3ae0db1a878982b27a9a5a176ede4ba91 -cfgv==3.4.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9 \ - --hash=sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560 -charset-normalizer==3.3.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027 \ - --hash=sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087 \ - --hash=sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786 \ - --hash=sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8 \ - --hash=sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09 \ - --hash=sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185 \ - --hash=sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574 \ - --hash=sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e \ - --hash=sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519 \ - --hash=sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898 \ - --hash=sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269 \ - --hash=sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3 \ - --hash=sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f \ - --hash=sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6 \ - --hash=sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8 \ - --hash=sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a \ - --hash=sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73 \ - --hash=sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc \ - --hash=sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714 \ - --hash=sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2 \ - --hash=sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc \ - --hash=sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce \ - --hash=sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d \ - --hash=sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e \ - --hash=sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6 \ - --hash=sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269 \ - --hash=sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96 \ - --hash=sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d \ - --hash=sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a \ - --hash=sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4 \ - --hash=sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77 \ - --hash=sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d \ - --hash=sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0 \ - --hash=sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed \ - --hash=sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068 \ - --hash=sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac \ - --hash=sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25 \ - --hash=sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8 \ - --hash=sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab \ - --hash=sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26 \ - --hash=sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2 \ - --hash=sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db \ - --hash=sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f \ - --hash=sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5 \ - --hash=sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99 \ - --hash=sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c \ - --hash=sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d \ - --hash=sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811 \ - --hash=sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa \ - --hash=sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a \ - --hash=sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03 \ - --hash=sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b \ - --hash=sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04 \ - --hash=sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c \ - --hash=sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001 \ - --hash=sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458 \ - --hash=sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389 \ - --hash=sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99 \ - --hash=sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985 \ - --hash=sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537 \ - --hash=sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238 \ - --hash=sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f \ - --hash=sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d \ - --hash=sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796 \ - --hash=sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a \ - --hash=sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143 \ - --hash=sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8 \ - --hash=sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c \ - --hash=sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5 \ - --hash=sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5 \ - --hash=sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711 \ - --hash=sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4 \ - --hash=sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6 \ - --hash=sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c \ - --hash=sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7 \ - --hash=sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4 \ - --hash=sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b \ - --hash=sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae \ - --hash=sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12 \ - --hash=sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c \ - --hash=sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae \ - --hash=sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8 \ - --hash=sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887 \ - --hash=sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b \ - --hash=sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4 \ - --hash=sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f \ - --hash=sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5 \ - --hash=sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33 \ - --hash=sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519 \ - --hash=sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561 -cleo==2.1.0 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:0b2c880b5d13660a7ea651001fb4acb527696c01f15c9ee650f377aa543fd523 \ - --hash=sha256:4a31bd4dd45695a64ee3c4758f583f134267c2bc518d8ae9a29cf237d009b07e -click==8.1.7 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \ - --hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de -clickhouse-connect==0.7.19 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:03953942cc073078b40619a735ebeaed9bf98efc71c6f43ce92a38540b1308ce \ - --hash=sha256:04cfb1dae8fb93117211cfe4e04412b075e47580391f9eee9a77032d8e7d46f4 \ - --hash=sha256:0ac93aafd6a542fdcad4a2b6778575eab6dbdbf8806e86d92e1c1aa00d91cfee \ - --hash=sha256:0d38c30bd847af0ce7ff738152478f913854db356af4d5824096394d0eab873d \ - --hash=sha256:15e080aead66e43c1f214b3e76ab26e3f342a4a4f50e3bbc3118bdd013d12e5f \ - --hash=sha256:194d2a32ba1b370cb5ac375dd4153871bb0394ff040344d8f449cb36ea951a96 \ - --hash=sha256:196e48c977affc045794ec7281b4d711e169def00535ecab5f9fdeb8c177f149 \ - --hash=sha256:24e2694e89d12bba405a14b84c36318620dc50f90adbc93182418742d8f6d73f \ - --hash=sha256:26b80cb8f66bde9149a9a2180e2cc4895c1b7d34f9dceba81630a9b9a9ae66b2 \ - --hash=sha256:300f3dea7dd48b2798533ed2486e4b0c3bb03c8d9df9aed3fac44161b92a30f9 \ - --hash=sha256:3682c2426f5dbda574611210e3c7c951b9557293a49eb60a7438552435873889 \ - --hash=sha256:3710ca989ceae03d5ae56a436b4fe246094dbc17a2946ff318cb460f31b69450 \ - --hash=sha256:39ed54ba0998fd6899fcc967af2b452da28bd06de22e7ebf01f15acbfd547eac \ - --hash=sha256:46298e23f7e7829f0aa880a99837a82390c1371a643b21f8feb77702707b9eaa \ - --hash=sha256:4ac0602fa305d097a0cd40cebbe10a808f6478c9f303d57a48a3a0ad09659544 \ - --hash=sha256:4fdefe9eb2d38063835f8f1f326d666c3f61de9d6c3a1607202012c386ca7631 \ - --hash=sha256:51c911b0b8281ab4a909320f41dd9c0662796bec157c8f2704de702c552104db \ - --hash=sha256:52929826b39b5b0f90f423b7a035930b8894b508768e620a5086248bcbad3707 \ - --hash=sha256:5c301284c87d132963388b6e8e4a690c0776d25acc8657366eccab485e53738f \ - --hash=sha256:5cb67ae3309396033b825626d60fe2cd789c1d2a183faabef8ffdbbef153d7fb \ - --hash=sha256:5fb25143e4446d3a73fdc1b7d976a0805f763c37bf8f9b2d612a74f65d647830 \ - --hash=sha256:6018675a231130bd03a7b39a3e875e683286d98115085bfa3ac0918f555f4bfe \ - --hash=sha256:617c04f5c46eed3344a7861cd96fb05293e70d3b40d21541b1e459e7574efa96 \ - --hash=sha256:62612da163b934c1ff35df6155a47cf17ac0e2d2f9f0f8f913641e5c02cdf39f \ - --hash=sha256:63432180179e90f6f3c18861216f902d1693979e3c26a7f9ef9912c92ce00d14 \ - --hash=sha256:6ac74eb9e8d6331bae0303d0fc6bdc2125aa4c421ef646348b588760b38c29e9 \ - --hash=sha256:6ad0cf8552a9e985cfa6524b674ae7c8f5ba51df5bd3ecddbd86c82cdbef41a7 \ - --hash=sha256:6d492064dca278eb61be3a2d70a5f082e2ebc8ceebd4f33752ae234116192020 \ - --hash=sha256:6f31898e0281f820e35710b5c4ad1d40a6c01ffae5278afaef4a16877ac8cbfb \ - --hash=sha256:70f838ef0861cdf0e2e198171a1f3fd2ee05cf58e93495eeb9b17dfafb278186 \ - --hash=sha256:754b9c58b032835caaa9177b69059dc88307485d2cf6d0d545b3dedb13cb512a \ - --hash=sha256:7b4e19c9952b7b9fe24a99cca0b36a37e17e2a0e59b14457a2ce8868aa32e30e \ - --hash=sha256:85a016eebff440b76b90a4725bb1804ddc59e42bba77d21c2a2ec4ac1df9e28d \ - --hash=sha256:8c96c4c242b98fcf8005e678a26dbd4361748721b6fa158c1fe84ad15c7edbbe \ - --hash=sha256:8e4b4d786572cb695a087a71cfdc53999f76b7f420f2580c9cffa8cc51442058 \ - --hash=sha256:8f170d08166438d29f0dcfc8a91b672c783dc751945559e65eefff55096f9274 \ - --hash=sha256:921886b887f762e5cc3eef57ef784d419a3f66df85fd86fa2e7fbbf464c4c54a \ - --hash=sha256:942ec21211d369068ab0ac082312d4df53c638bfc41545d02c41a9055e212df8 \ - --hash=sha256:9724fdf3563b2335791443cb9e2114be7f77c20c8c4bbfb3571a3020606f0773 \ - --hash=sha256:9876509aa25804f1377cb1b54dd55c1f5f37a9fbc42fa0c4ac8ac51b38db5926 \ - --hash=sha256:98d5779dba942459d5dc6aa083e3a8a83e1cf6191eaa883832118ad7a7e69c87 \ - --hash=sha256:9ba80e3598acf916c4d1b2515671f65d9efee612a783c17c56a5a646f4db59b9 \ - --hash=sha256:9c72629f519105e21600680c791459d729889a290440bbdc61e43cd5eb61d928 \ - --hash=sha256:9ece0fb202cd9267b3872210e8e0974e4c33c8f91ca9f1c4d92edea997189c72 \ - --hash=sha256:9f57aaa32d90f3bd18aa243342b3e75f062dc56a7f988012a22f65fb7946e81d \ - --hash=sha256:a6e5adf0359043d4d21c9a668cc1b6323a1159b3e1a77aea6f82ce528b5e4c5b \ - --hash=sha256:b04f7c57f61b5dfdbf49d4b5e4fa5e91ce86bee09bb389b641268afa8f511ab4 \ - --hash=sha256:b208dd3e29db7154b02652c26157a1903bea03d27867ca5b749edc2285c62161 \ - --hash=sha256:b771ca6a473d65103dcae82810d3a62475c5372fc38d8f211513c72b954fb020 \ - --hash=sha256:bda092bab224875ed7c7683707d63f8a2322df654c4716e6611893a18d83e908 \ - --hash=sha256:c5f0d207cb0dcc1adb28ced63f872d080924b7562b263a9d54d4693b670eb066 \ - --hash=sha256:c6409390b13e09c19435ff65e2ebfcf01f9b2382e4b946191979a5d54ef8625c \ - --hash=sha256:cb8f0a59d1521a6b30afece7c000f6da2cd9f22092e90981aa83342032e5df99 \ - --hash=sha256:cd7e7097b30b70eb695b7b3b6c79ba943548c053cc465fa74efa67a2354f6acd \ - --hash=sha256:ce429233b2d21a8a149c8cd836a2555393cbcf23d61233520db332942ffb8964 \ - --hash=sha256:ce8f21f035781c5ef6ff57dc162e8150779c009b59f14030ba61f8c9c10c06d0 \ - --hash=sha256:d104f25a054cb663495a51ccb26ea11bcdc53e9b54c6d47a914ee6fba7523e62 \ - --hash=sha256:d1088da11789c519f9bb8927a14b16892e3c65e2893abe2680eae68bf6c63835 \ - --hash=sha256:d41d4b159071c0e4f607563932d4fa5c2a8fc27d3ba1200d0929b361e5191864 \ - --hash=sha256:e5b563f32dcc9cb6ff1f6ed238e83c3e80eb15814b1ea130817c004c241a3c2e \ - --hash=sha256:ee23b80ee4c5b05861582dd4cd11f0ca0d215a899e9ba299a6ec6e9196943b1b \ - --hash=sha256:ee47af8926a7ec3a970e0ebf29a82cbbe3b1b7eae43336a81b3a0ca18091de5f \ - --hash=sha256:f059d3e39be1bafbf3cf0e12ed19b3cbf30b468a4840ab85166fd023ce8c3a17 \ - --hash=sha256:f08e33b8cc2dc1873edc5ee4088d4fc3c0dbb69b00e057547bcdc7e9680b43e5 \ - --hash=sha256:fd225af60478c068cde0952e8df8f731f24c828b75cc1a2e61c21057ff546ecd \ - --hash=sha256:ff6469822fe8d83f272ffbb3fb99dcc614e20b1d5cddd559505029052eff36e7 -cobble==0.1.4 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:36c91b1655e599fd428e2b95fdd5f0da1ca2e9f1abb0bc871dec21a0e78a2b44 \ - --hash=sha256:de38be1539992c8a06e569630717c485a5f91be2192c461ea2b220607dfa78aa -colorama==0.4.6 ; python_version >= "3.10" and python_version < "4" \ - --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \ - --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6 -comm==0.2.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:3fd7a84065306e07bea1773df6eb8282de51ba82f77c72f9c85716ab11fe980e \ - --hash=sha256:e6fb86cb70ff661ee8c9c14e7d36d6de3b4066f1441be4063df9c5009f0a64d3 -contourpy==1.3.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:00ccd0dbaad6d804ab259820fa7cb0b8036bda0686ef844d24125d8287178ce0 \ - --hash=sha256:0be4d8425bfa755e0fd76ee1e019636ccc7c29f77a7c86b4328a9eb6a26d0639 \ - --hash=sha256:0dce35502151b6bd35027ac39ba6e5a44be13a68f55735c3612c568cac3805fd \ - --hash=sha256:0fa4c02abe6c446ba70d96ece336e621efa4aecae43eaa9b030ae5fb92b309ad \ - --hash=sha256:14e262f67bd7e6eb6880bc564dcda30b15e351a594657e55b7eec94b6ef72843 \ - --hash=sha256:167d6c890815e1dac9536dca00828b445d5d0df4d6a8c6adb4a7ec3166812fa8 \ - --hash=sha256:1ec4dc6bf570f5b22ed0d7efba0dfa9c5b9e0431aeea7581aa217542d9e809a4 \ - --hash=sha256:303c252947ab4b14c08afeb52375b26781ccd6a5ccd81abcdfc1fafd14cf93c1 \ - --hash=sha256:31cd3a85dbdf1fc002280c65caa7e2b5f65e4a973fcdf70dd2fdcb9868069294 \ - --hash=sha256:32b238b3b3b649e09ce9aaf51f0c261d38644bdfa35cbaf7b263457850957a84 \ - --hash=sha256:33c92cdae89ec5135d036e7218e69b0bb2851206077251f04a6c4e0e21f03927 \ - --hash=sha256:345af746d7766821d05d72cb8f3845dfd08dd137101a2cb9b24de277d716def8 \ - --hash=sha256:3634b5385c6716c258d0419c46d05c8aa7dc8cb70326c9a4fb66b69ad2b52e09 \ - --hash=sha256:364174c2a76057feef647c802652f00953b575723062560498dc7930fc9b1cb7 \ - --hash=sha256:36e0cff201bcb17a0a8ecc7f454fe078437fa6bda730e695a92f2d9932bd507f \ - --hash=sha256:36f965570cff02b874773c49bfe85562b47030805d7d8360748f3eca570f4cab \ - --hash=sha256:3bb3808858a9dc68f6f03d319acd5f1b8a337e6cdda197f02f4b8ff67ad2057b \ - --hash=sha256:3e1c7fa44aaae40a2247e2e8e0627f4bea3dd257014764aa644f319a5f8600e3 \ - --hash=sha256:3faeb2998e4fcb256542e8a926d08da08977f7f5e62cf733f3c211c2a5586223 \ - --hash=sha256:420d39daa61aab1221567b42eecb01112908b2cab7f1b4106a52caaec8d36973 \ - --hash=sha256:4553c421929ec95fb07b3aaca0fae668b2eb5a5203d1217ca7c34c063c53d087 \ - --hash=sha256:4865cd1d419e0c7a7bf6de1777b185eebdc51470800a9f42b9e9decf17762081 \ - --hash=sha256:4cfb5c62ce023dfc410d6059c936dcf96442ba40814aefbfa575425a3a7f19dc \ - --hash=sha256:4d63ee447261e963af02642ffcb864e5a2ee4cbfd78080657a9880b8b1868e18 \ - --hash=sha256:570ef7cf892f0afbe5b2ee410c507ce12e15a5fa91017a0009f79f7d93a1268f \ - --hash=sha256:637f674226be46f6ba372fd29d9523dd977a291f66ab2a74fbeb5530bb3f445d \ - --hash=sha256:68a32389b06b82c2fdd68276148d7b9275b5f5cf13e5417e4252f6d1a34f72a2 \ - --hash=sha256:69375194457ad0fad3a839b9e29aa0b0ed53bb54db1bfb6c3ae43d111c31ce41 \ - --hash=sha256:6cb6cc968059db9c62cb35fbf70248f40994dfcd7aa10444bbf8b3faeb7c2d67 \ - --hash=sha256:710a26b3dc80c0e4febf04555de66f5fd17e9cf7170a7b08000601a10570bda6 \ - --hash=sha256:732896af21716b29ab3e988d4ce14bc5133733b85956316fb0c56355f398099b \ - --hash=sha256:75ee7cb1a14c617f34a51d11fa7524173e56551646828353c4af859c56b766e2 \ - --hash=sha256:76a896b2f195b57db25d6b44e7e03f221d32fe318d03ede41f8b4d9ba1bff53c \ - --hash=sha256:76c905ef940a4474a6289c71d53122a4f77766eef23c03cd57016ce19d0f7b42 \ - --hash=sha256:7a52040312b1a858b5e31ef28c2e865376a386c60c0e248370bbea2d3f3b760d \ - --hash=sha256:7ffa0db17717a8ffb127efd0c95a4362d996b892c2904db72428d5b52e1938a4 \ - --hash=sha256:81cb5ed4952aae6014bc9d0421dec7c5835c9c8c31cdf51910b708f548cf58e5 \ - --hash=sha256:834e0cfe17ba12f79963861e0f908556b2cedd52e1f75e6578801febcc6a9f49 \ - --hash=sha256:87ddffef1dbe5e669b5c2440b643d3fdd8622a348fe1983fad7a0f0ccb1cd67b \ - --hash=sha256:880ea32e5c774634f9fcd46504bf9f080a41ad855f4fef54f5380f5133d343c7 \ - --hash=sha256:8ca947601224119117f7c19c9cdf6b3ab54c5726ef1d906aa4a69dfb6dd58102 \ - --hash=sha256:90f73a5116ad1ba7174341ef3ea5c3150ddf20b024b98fb0c3b29034752c8aeb \ - --hash=sha256:92f8557cbb07415a4d6fa191f20fd9d2d9eb9c0b61d1b2f52a8926e43c6e9af7 \ - --hash=sha256:94e848a6b83da10898cbf1311a815f770acc9b6a3f2d646f330d57eb4e87592e \ - --hash=sha256:9c0da700bf58f6e0b65312d0a5e695179a71d0163957fa381bb3c1f72972537c \ - --hash=sha256:a11077e395f67ffc2c44ec2418cfebed032cd6da3022a94fc227b6faf8e2acb8 \ - --hash=sha256:aea348f053c645100612b333adc5983d87be69acdc6d77d3169c090d3b01dc35 \ - --hash=sha256:b11b39aea6be6764f84360fce6c82211a9db32a7c7de8fa6dd5397cf1d079c3b \ - --hash=sha256:c6c7c2408b7048082932cf4e641fa3b8ca848259212f51c8c59c45aa7ac18f14 \ - --hash=sha256:c6ec93afeb848a0845a18989da3beca3eec2c0f852322efe21af1931147d12cb \ - --hash=sha256:cacd81e2d4b6f89c9f8a5b69b86490152ff39afc58a95af002a398273e5ce589 \ - --hash=sha256:d402880b84df3bec6eab53cd0cf802cae6a2ef9537e70cf75e91618a3801c20c \ - --hash=sha256:d51fca85f9f7ad0b65b4b9fe800406d0d77017d7270d31ec3fb1cc07358fdea0 \ - --hash=sha256:d73f659398a0904e125280836ae6f88ba9b178b2fed6884f3b1f95b989d2c8da \ - --hash=sha256:d78ab28a03c854a873787a0a42254a0ccb3cb133c672f645c9f9c8f3ae9d0800 \ - --hash=sha256:da84c537cb8b97d153e9fb208c221c45605f73147bd4cadd23bdae915042aad6 \ - --hash=sha256:dbc4c3217eee163fa3984fd1567632b48d6dfd29216da3ded3d7b844a8014a66 \ - --hash=sha256:e12968fdfd5bb45ffdf6192a590bd8ddd3ba9e58360b29683c6bb71a7b41edca \ - --hash=sha256:e1fd23e9d01591bab45546c089ae89d926917a66dceb3abcf01f6105d927e2cb \ - --hash=sha256:e8134301d7e204c88ed7ab50028ba06c683000040ede1d617298611f9dc6240c \ - --hash=sha256:eb8b141bb00fa977d9122636b16aa67d37fd40a3d8b52dd837e536d64b9a4d06 \ - --hash=sha256:eca7e17a65f72a5133bdbec9ecf22401c62bcf4821361ef7811faee695799779 \ - --hash=sha256:f317576606de89da6b7e0861cf6061f6146ead3528acabff9236458a6ba467f8 \ - --hash=sha256:fd2a0fc506eccaaa7595b7e1418951f213cf8255be2600f1ea1b61e46a60c55f \ - --hash=sha256:fe41b41505a5a33aeaed2a613dccaeaa74e0e3ead6dd6fd3a118fb471644fd6c -crashtest==0.4.1 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:80d7b1f316ebfbd429f648076d6275c877ba30ba48979de4191714a75266f0ce \ - --hash=sha256:8d23eac5fa660409f57472e3851dab7ac18aba459a8d19cbbba86d3d5aecd2a5 -cryptography==43.0.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:0663585d02f76929792470451a5ba64424acc3cd5227b03921dab0e2f27b1709 \ - --hash=sha256:08a24a7070b2b6804c1940ff0f910ff728932a9d0e80e7814234269f9d46d069 \ - --hash=sha256:232ce02943a579095a339ac4b390fbbe97f5b5d5d107f8a08260ea2768be8cc2 \ - --hash=sha256:2905ccf93a8a2a416f3ec01b1a7911c3fe4073ef35640e7ee5296754e30b762b \ - --hash=sha256:299d3da8e00b7e2b54bb02ef58d73cd5f55fb31f33ebbf33bd00d9aa6807df7e \ - --hash=sha256:2c6d112bf61c5ef44042c253e4859b3cbbb50df2f78fa8fae6747a7814484a70 \ - --hash=sha256:31e44a986ceccec3d0498e16f3d27b2ee5fdf69ce2ab89b52eaad1d2f33d8778 \ - --hash=sha256:3d9a1eca329405219b605fac09ecfc09ac09e595d6def650a437523fcd08dd22 \ - --hash=sha256:3dcdedae5c7710b9f97ac6bba7e1052b95c7083c9d0e9df96e02a1932e777895 \ - --hash=sha256:47ca71115e545954e6c1d207dd13461ab81f4eccfcb1345eac874828b5e3eaaf \ - --hash=sha256:4a997df8c1c2aae1e1e5ac49c2e4f610ad037fc5a3aadc7b64e39dea42249431 \ - --hash=sha256:51956cf8730665e2bdf8ddb8da0056f699c1a5715648c1b0144670c1ba00b48f \ - --hash=sha256:5bcb8a5620008a8034d39bce21dc3e23735dfdb6a33a06974739bfa04f853947 \ - --hash=sha256:64c3f16e2a4fc51c0d06af28441881f98c5d91009b8caaff40cf3548089e9c74 \ - --hash=sha256:6e2b11c55d260d03a8cf29ac9b5e0608d35f08077d8c087be96287f43af3ccdc \ - --hash=sha256:7b3f5fe74a5ca32d4d0f302ffe6680fcc5c28f8ef0dc0ae8f40c0f3a1b4fca66 \ - --hash=sha256:844b6d608374e7d08f4f6e6f9f7b951f9256db41421917dfb2d003dde4cd6b66 \ - --hash=sha256:9a8d6802e0825767476f62aafed40532bd435e8a5f7d23bd8b4f5fd04cc80ecf \ - --hash=sha256:aae4d918f6b180a8ab8bf6511a419473d107df4dbb4225c7b48c5c9602c38c7f \ - --hash=sha256:ac1955ce000cb29ab40def14fd1bbfa7af2017cca696ee696925615cafd0dce5 \ - --hash=sha256:b88075ada2d51aa9f18283532c9f60e72170041bba88d7f37e49cbb10275299e \ - --hash=sha256:cb013933d4c127349b3948aa8aaf2f12c0353ad0eccd715ca789c8a0f671646f \ - --hash=sha256:cc70b4b581f28d0a254d006f26949245e3657d40d8857066c2ae22a61222ef55 \ - --hash=sha256:e9c5266c432a1e23738d178e51c2c7a5e2ddf790f248be939448c0ba2021f9d1 \ - --hash=sha256:ea9e57f8ea880eeea38ab5abf9fbe39f923544d7884228ec67d666abd60f5a47 \ - --hash=sha256:ee0c405832ade84d4de74b9029bedb7b31200600fa524d218fc29bfa371e97f5 \ - --hash=sha256:fdcb265de28585de5b859ae13e3846a8e805268a823a12a4da2597f1f5afc9f0 -cycler==0.12.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30 \ - --hash=sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c -datamodel-code-generator==0.25.9 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:65ca9807d8edbd88a7f7931c10f4bc1c08bd9bbc5bb0508418a2b6a16590eb65 \ - --hash=sha256:9e0324233123d6e39a35bc0004771956935889a974aacfd7a0651de11d2219a9 -debugpy==1.8.5 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:0a1029a2869d01cb777216af8c53cda0476875ef02a2b6ff8b2f2c9a4b04176c \ - --hash=sha256:1cd04a73eb2769eb0bfe43f5bfde1215c5923d6924b9b90f94d15f207a402226 \ - --hash=sha256:28ced650c974aaf179231668a293ecd5c63c0a671ae6d56b8795ecc5d2f48d3c \ - --hash=sha256:345d6a0206e81eb68b1493ce2fbffd57c3088e2ce4b46592077a943d2b968ca3 \ - --hash=sha256:3df6692351172a42af7558daa5019651f898fc67450bf091335aa8a18fbf6f3a \ - --hash=sha256:4413b7a3ede757dc33a273a17d685ea2b0c09dbd312cc03f5534a0fd4d40750a \ - --hash=sha256:4fbb3b39ae1aa3e5ad578f37a48a7a303dad9a3d018d369bc9ec629c1cfa7408 \ - --hash=sha256:55919dce65b471eff25901acf82d328bbd5b833526b6c1364bd5133754777a44 \ - --hash=sha256:5b5c770977c8ec6c40c60d6f58cacc7f7fe5a45960363d6974ddb9b62dbee156 \ - --hash=sha256:606bccba19f7188b6ea9579c8a4f5a5364ecd0bf5a0659c8a5d0e10dcee3032a \ - --hash=sha256:7b0fe36ed9d26cb6836b0a51453653f8f2e347ba7348f2bbfe76bfeb670bfb1c \ - --hash=sha256:7e4d594367d6407a120b76bdaa03886e9eb652c05ba7f87e37418426ad2079f7 \ - --hash=sha256:8f913ee8e9fcf9d38a751f56e6de12a297ae7832749d35de26d960f14280750a \ - --hash=sha256:a697beca97dad3780b89a7fb525d5e79f33821a8bc0c06faf1f1289e549743cf \ - --hash=sha256:ad84b7cde7fd96cf6eea34ff6c4a1b7887e0fe2ea46e099e53234856f9d99a34 \ - --hash=sha256:b2112cfeb34b4507399d298fe7023a16656fc553ed5246536060ca7bd0e668d0 \ - --hash=sha256:b78c1250441ce893cb5035dd6f5fc12db968cc07f91cc06996b2087f7cefdd8e \ - --hash=sha256:c0a65b00b7cdd2ee0c2cf4c7335fef31e15f1b7056c7fdbce9e90193e1a8c8cb \ - --hash=sha256:c9f7c15ea1da18d2fcc2709e9f3d6de98b69a5b0fff1807fb80bc55f906691f7 \ - --hash=sha256:db9fb642938a7a609a6c865c32ecd0d795d56c1aaa7a7a5722d77855d5e77f2b \ - --hash=sha256:dd3811bd63632bb25eda6bd73bea8e0521794cda02be41fa3160eb26fc29e7ed \ - --hash=sha256:e84c276489e141ed0b93b0af648eef891546143d6a48f610945416453a8ad406 -decorator==5.1.1 ; python_version >= "3.10" and python_version < "4" \ - --hash=sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330 \ - --hash=sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186 -defusedxml==0.7.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69 \ - --hash=sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61 -deprecated==1.2.14 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:6fac8b097794a90302bdbb17b9b815e732d3c4720583ff1b198499d78470466c \ - --hash=sha256:e5323eb936458dccc2582dc6f9c322c852a775a27065ff2b0c4970b9d53d01b3 -dill==0.3.8 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca \ - --hash=sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7 -distlib==0.3.8 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784 \ - --hash=sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64 -dnspython==2.6.1 ; python_version >= "3.10" and python_version < "4.0" \ - --hash=sha256:5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50 \ - --hash=sha256:e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc -dulwich==0.21.7 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:0fc3078a1ba04c588fabb0969d3530efd5cd1ce2cf248eefb6baf7cbc15fc285 \ - --hash=sha256:10893105c6566fc95bc2a67b61df7cc1e8f9126d02a1df6a8b2b82eb59db8ab9 \ - --hash=sha256:12d61334a575474e707614f2e93d6ed4cdae9eb47214f9277076d9e5615171d3 \ - --hash=sha256:2590e9b431efa94fc356ae33b38f5e64f1834ec3a94a6ac3a64283b206d07aa3 \ - --hash=sha256:25c3ab8fb2e201ad2031ddd32e4c68b7c03cb34b24a5ff477b7a7dcef86372f5 \ - --hash=sha256:274c18ec3599a92a9b67abaf110e4f181a4f779ee1aaab9e23a72e89d71b2bd9 \ - --hash=sha256:29bb5c1d70eba155ded41ed8a62be2f72edbb3c77b08f65b89c03976292f6d1b \ - --hash=sha256:2bc12697f0918bee324c18836053644035362bb3983dc1b210318f2fed1d7132 \ - --hash=sha256:2e2c66888207b71cd1daa2acb06d3984a6bc13787b837397a64117aa9fc5936a \ - --hash=sha256:404b8edeb3c3a86c47c0a498699fc064c93fa1f8bab2ffe919e8ab03eafaaad3 \ - --hash=sha256:40dcbd29ba30ba2c5bfbab07a61a5f20095541d5ac66d813056c122244df4ac0 \ - --hash=sha256:460b3849d5c3d3818a80743b4f7a0094c893c559f678e56a02fff570b49a644a \ - --hash=sha256:460ba74bdb19f8d498786ae7776745875059b1178066208c0fd509792d7f7bfc \ - --hash=sha256:4637cbd8ed1012f67e1068aaed19fcc8b649bcf3e9e26649826a303298c89b9d \ - --hash=sha256:471305af74790827fcbafe330fc2e8bdcee4fb56ca1177c8c481b1c8f806c4a4 \ - --hash=sha256:4a043b90958cec866b4edc6aef5fe3c2c96a664d0b357e1682a46f6c477273c4 \ - --hash=sha256:4b09bc3a64fb70132ec14326ecbe6e0555381108caff3496898962c4136a48c6 \ - --hash=sha256:4bc4c5366eaf26dda3fdffe160a3b515666ed27c2419f1d483da285ac1411de0 \ - --hash=sha256:4c51058ec4c0b45dc5189225b9e0c671b96ca9713c1daf71d622c13b0ab07681 \ - --hash=sha256:4f18f0a311fb7734b033a3101292b932158cade54b74d1c44db519e42825e5a2 \ - --hash=sha256:61e3451bd3d3844f2dca53f131982553be4d1b1e1ebd9db701843dd76c4dba31 \ - --hash=sha256:62bfb26bdce869cd40be443dfd93143caea7089b165d2dcc33de40f6ac9d812a \ - --hash=sha256:675a612ce913081beb0f37b286891e795d905691dfccfb9bf73721dca6757cde \ - --hash=sha256:6bd69921fdd813b7469a3c77bc75c1783cc1d8d72ab15a406598e5a3ba1a1503 \ - --hash=sha256:6c589468e5c0cd84e97eb7ec209ab005a2cb69399e8c5861c3edfe38989ac3a8 \ - --hash=sha256:6de6f8de4a453fdbae8062a6faa652255d22a3d8bce0cd6d2d6701305c75f2b3 \ - --hash=sha256:739b191f61e1c4ce18ac7d520e7a7cbda00e182c3489552408237200ce8411ad \ - --hash=sha256:74700e4c7d532877355743336c36f51b414d01e92ba7d304c4f8d9a5946dbc81 \ - --hash=sha256:7836da3f4110ce684dcd53489015fb7fa94ed33c5276e3318b8b1cbcb5b71e08 \ - --hash=sha256:7bca4b86e96d6ef18c5bc39828ea349efb5be2f9b1f6ac9863f90589bac1084d \ - --hash=sha256:7d8ab29c660125db52106775caa1f8f7f77a69ed1fe8bc4b42bdf115731a25bf \ - --hash=sha256:808e8b9cc0aa9ac74870b49db4f9f39a52fb61694573f84b9c0613c928d4caf8 \ - --hash=sha256:817822f970e196e757ae01281ecbf21369383285b9f4a83496312204cf889b8c \ - --hash=sha256:8278835e168dd097089f9e53088c7a69c6ca0841aef580d9603eafe9aea8c358 \ - --hash=sha256:858842b30ad6486aacaa607d60bab9c9a29e7c59dc2d9cb77ae5a94053878c08 \ - --hash=sha256:869eb7be48243e695673b07905d18b73d1054a85e1f6e298fe63ba2843bb2ca1 \ - --hash=sha256:8869fc8ec3dda743e03d06d698ad489b3705775fe62825e00fa95aa158097fc0 \ - --hash=sha256:8929c37986c83deb4eb500c766ee28b6670285b512402647ee02a857320e377c \ - --hash=sha256:a0650ec77d89cb947e3e4bbd4841c96f74e52b4650830112c3057a8ca891dc2f \ - --hash=sha256:a7b5624b02ef808cdc62dabd47eb10cd4ac15e8ac6df9e2e88b6ac6b40133673 \ - --hash=sha256:a9e9c66833cea580c3ac12927e4b9711985d76afca98da971405d414de60e968 \ - --hash=sha256:b0d2e4485b98695bf95350ce9d38b1bb0aaac2c34ad00a0df789aa33c934469b \ - --hash=sha256:c01a735b9a171dcb634a97a3cec1b174cfbfa8e840156870384b633da0460f18 \ - --hash=sha256:c3a539b4696a42fbdb7412cb7b66a4d4d332761299d3613d90a642923c7560e1 \ - --hash=sha256:c3d1685f320907a52c40fd5890627945c51f3a5fa4bcfe10edb24fec79caadec \ - --hash=sha256:c92e72c43c9e9e936b01a57167e0ea77d3fd2d82416edf9489faa87278a1cdf7 \ - --hash=sha256:cc1e11be527ac06316539b57a7688bcb1b6a3e53933bc2f844397bc50734e9ae \ - --hash=sha256:ce8db196e79c1f381469410d26fb1d8b89c6b87a4e7f00ff418c22a35121405c \ - --hash=sha256:d05d3c781bc74e2c2a2a8f4e4e2ed693540fbe88e6ac36df81deac574a6dad99 \ - --hash=sha256:d097e963eb6b9fa53266146471531ad9c6765bf390849230311514546ed64db2 \ - --hash=sha256:d4a2d76c96426e791556836ef43542b639def81be4f1d6d4322cd886c115eae1 \ - --hash=sha256:d4c0110798099bb7d36a110090f2688050703065448895c4f53ade808d889dd3 \ - --hash=sha256:d54c9d0e845be26f65f954dff13a1cd3f2b9739820c19064257b8fd7435ab263 \ - --hash=sha256:d5882e70b74ac3c736a42d3fdd4f5f2e6570637f59ad5d3e684760290b58f041 \ - --hash=sha256:d62446797163317a397a10080c6397ffaaca51a7804c0120b334f8165736c56a \ - --hash=sha256:d96ca5e0dde49376fbcb44f10eddb6c30284a87bd03bb577c59bb0a1f63903fa \ - --hash=sha256:e0064363bd5e814359657ae32517fa8001e8573d9d040bd997908d488ab886ed \ - --hash=sha256:e138d516baa6b5bafbe8f030eccc544d0d486d6819b82387fc0e285e62ef5261 \ - --hash=sha256:e1957b65f96e36c301e419d7adaadcff47647c30eb072468901bb683b1000bc5 \ - --hash=sha256:e25953c7acbbe4e19650d0225af1c0c0e6882f8bddd2056f75c1cc2b109b88ad \ - --hash=sha256:e274cebaf345f0b1e3b70197f2651de92b652386b68020cfd3bf61bc30f6eaaa \ - --hash=sha256:e598d743c6c0548ebcd2baf94aa9c8bfacb787ea671eeeb5828cfbd7d56b552f \ - --hash=sha256:e84cc606b1f581733df4350ca4070e6a8b30be3662bbb81a590b177d0c996c91 \ - --hash=sha256:ecd315847dea406a4decfa39d388a2521e4e31acde3bd9c2609c989e817c6d62 \ - --hash=sha256:ed60d1f610ef6437586f7768254c2a93820ccbd4cfdac7d182cf2d6e615969bb \ - --hash=sha256:f34bf9b9fa9308376263fd9ac43143c7c09da9bc75037bb75c6c2423a151b92c \ - --hash=sha256:f6c88acb60a1f4d31bd6d13bfba465853b3df940ee4a0f2a3d6c7a0778c705b7 \ - --hash=sha256:fa4d14767cf7a49c9231c2e52cb2a3e90d0c83f843eb6a2ca2b5d81d254cf6b9 \ - --hash=sha256:ffc27fb063f740712e02b4d2f826aee8bbed737ed799962fef625e2ce56e2d29 -ecdsa==0.19.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:2cea9b88407fdac7bbeca0833b189e4c9c53f2ef1e1eaa29f6224dbc809b707a \ - --hash=sha256:60eaad1199659900dd0af521ed462b793bbdf867432b3948e87416ae4caf6bf8 -elasticsearch-dsl==7.4.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:07ee9c87dc28cc3cae2daa19401e1e18a172174ad9e5ca67938f752e3902a1d5 \ - --hash=sha256:97f79239a252be7c4cce554c29e64695d7ef6a4828372316a5e5ff815e7a7498 -elasticsearch-follow==0.2.6 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:7c91224dc27cb5d847cbeac6d283c65a4bcccb54360c03f5046fce224f47c68d \ - --hash=sha256:e96fc9b6123a4dd3754d548b7e13ec999e78a9b66cb58d7721b5d7c9287a6946 -elasticsearch==7.17.9 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:0e2454645dc00517dee4c6de3863411a9c5f1955d013c5fefa29123dadc92f98 \ - --hash=sha256:66c4ece2adfe7cc120e2b6a6798a1fd5c777aecf82eec39bb95cef7cfc7ea2b3 -email-validator==2.2.0 ; python_version >= "3.10" and python_version < "4.0" \ - --hash=sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631 \ - --hash=sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7 -exceptiongroup==1.2.2 ; python_version >= "3.10" and python_version < "3.11" \ - --hash=sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b \ - --hash=sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc -execnet==2.1.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:26dee51f1b80cebd6d0ca8e74dd8745419761d3bef34163928cbebbdc4749fdc \ - --hash=sha256:5189b52c6121c24feae288166ab41b32549c7e2348652736540b9e6e7d4e72e3 -executing==2.1.0 ; python_version >= "3.10" and python_version < "4" \ - --hash=sha256:8d63781349375b5ebccc3142f4b30350c0cd9c79f921cde38be2be4637e98eaf \ - --hash=sha256:8ea27ddd260da8150fa5a708269c4a10e76161e2496ec3e587da9e3c0fe4b9ab -fastjsonschema==2.20.0 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:3d48fc5300ee96f5d116f10fe6f28d938e6008f59a6a025c2649475b87f76a23 \ - --hash=sha256:5875f0b0fa7a0043a91e93a9b8f793bcbbba9691e7fd83dca95c28ba26d21f0a -filelock==3.15.4 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb \ - --hash=sha256:6ca1fffae96225dab4c6eaf1c4f4f28cd2568d3ec2a44e15a08520504de468e7 -flask==3.0.3 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:34e815dfaa43340d1d15a5c3a02b8476004037eb4840b34910c6e21679d288f3 \ - --hash=sha256:ceb27b0af3823ea2737928a4d99d125a06175b8512c445cbd9a9ce200ef76842 -fonttools==4.53.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:02569e9a810f9d11f4ae82c391ebc6fb5730d95a0657d24d754ed7763fb2d122 \ - --hash=sha256:0679a30b59d74b6242909945429dbddb08496935b82f91ea9bf6ad240ec23397 \ - --hash=sha256:10f5e6c3510b79ea27bb1ebfcc67048cde9ec67afa87c7dd7efa5c700491ac7f \ - --hash=sha256:2af40ae9cdcb204fc1d8f26b190aa16534fcd4f0df756268df674a270eab575d \ - --hash=sha256:32f029c095ad66c425b0ee85553d0dc326d45d7059dbc227330fc29b43e8ba60 \ - --hash=sha256:35250099b0cfb32d799fb5d6c651220a642fe2e3c7d2560490e6f1d3f9ae9169 \ - --hash=sha256:3b3c8ebafbee8d9002bd8f1195d09ed2bd9ff134ddec37ee8f6a6375e6a4f0e8 \ - --hash=sha256:4824c198f714ab5559c5be10fd1adf876712aa7989882a4ec887bf1ef3e00e31 \ - --hash=sha256:5ff7e5e9bad94e3a70c5cd2fa27f20b9bb9385e10cddab567b85ce5d306ea923 \ - --hash=sha256:651390c3b26b0c7d1f4407cad281ee7a5a85a31a110cbac5269de72a51551ba2 \ - --hash=sha256:6e08f572625a1ee682115223eabebc4c6a2035a6917eac6f60350aba297ccadb \ - --hash=sha256:6ed170b5e17da0264b9f6fae86073be3db15fa1bd74061c8331022bca6d09bab \ - --hash=sha256:73379d3ffdeecb376640cd8ed03e9d2d0e568c9d1a4e9b16504a834ebadc2dfb \ - --hash=sha256:75a157d8d26c06e64ace9df037ee93a4938a4606a38cb7ffaf6635e60e253b7a \ - --hash=sha256:791b31ebbc05197d7aa096bbc7bd76d591f05905d2fd908bf103af4488e60670 \ - --hash=sha256:7b6b35e52ddc8fb0db562133894e6ef5b4e54e1283dff606fda3eed938c36fc8 \ - --hash=sha256:84ec3fb43befb54be490147b4a922b5314e16372a643004f182babee9f9c3407 \ - --hash=sha256:8959a59de5af6d2bec27489e98ef25a397cfa1774b375d5787509c06659b3671 \ - --hash=sha256:9dfdae43b7996af46ff9da520998a32b105c7f098aeea06b2226b30e74fbba88 \ - --hash=sha256:9e6ceba2a01b448e36754983d376064730690401da1dd104ddb543519470a15f \ - --hash=sha256:9efd176f874cb6402e607e4cc9b4a9cd584d82fc34a4b0c811970b32ba62501f \ - --hash=sha256:a1c7c5aa18dd3b17995898b4a9b5929d69ef6ae2af5b96d585ff4005033d82f0 \ - --hash=sha256:aae7bd54187e8bf7fd69f8ab87b2885253d3575163ad4d669a262fe97f0136cb \ - --hash=sha256:b21952c092ffd827504de7e66b62aba26fdb5f9d1e435c52477e6486e9d128b2 \ - --hash=sha256:b96cd370a61f4d083c9c0053bf634279b094308d52fdc2dd9a22d8372fdd590d \ - --hash=sha256:becc5d7cb89c7b7afa8321b6bb3dbee0eec2b57855c90b3e9bf5fb816671fa7c \ - --hash=sha256:bee32ea8765e859670c4447b0817514ca79054463b6b79784b08a8df3a4d78e3 \ - --hash=sha256:c6e7170d675d12eac12ad1a981d90f118c06cf680b42a2d74c6c931e54b50719 \ - --hash=sha256:c818c058404eb2bba05e728d38049438afd649e3c409796723dfc17cd3f08749 \ - --hash=sha256:c8696544c964500aa9439efb6761947393b70b17ef4e82d73277413f291260a4 \ - --hash=sha256:c9cd19cf4fe0595ebdd1d4915882b9440c3a6d30b008f3cc7587c1da7b95be5f \ - --hash=sha256:d4d0096cb1ac7a77b3b41cd78c9b6bc4a400550e21dc7a92f2b5ab53ed74eb02 \ - --hash=sha256:d92d3c2a1b39631a6131c2fa25b5406855f97969b068e7e08413325bc0afba58 \ - --hash=sha256:da33440b1413bad53a8674393c5d29ce64d8c1a15ef8a77c642ffd900d07bfe1 \ - --hash=sha256:e013aae589c1c12505da64a7d8d023e584987e51e62006e1bb30d72f26522c41 \ - --hash=sha256:e128778a8e9bc11159ce5447f76766cefbd876f44bd79aff030287254e4752c4 \ - --hash=sha256:e54f1bba2f655924c1138bbc7fa91abd61f45c68bd65ab5ed985942712864bbb \ - --hash=sha256:e5b708073ea3d684235648786f5f6153a48dc8762cdfe5563c57e80787c29fbb \ - --hash=sha256:e8bf06b94694251861ba7fdeea15c8ec0967f84c3d4143ae9daf42bbc7717fe3 \ - --hash=sha256:f08df60fbd8d289152079a65da4e66a447efc1d5d5a4d3f299cdd39e3b2e4a7d \ - --hash=sha256:f1f8758a2ad110bd6432203a344269f445a2907dc24ef6bccfd0ac4e14e0d71d \ - --hash=sha256:f677ce218976496a587ab17140da141557beb91d2a5c1a14212c994093f2eae2 -fqdn==1.5.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f \ - --hash=sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014 -frozenlist==1.4.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:04ced3e6a46b4cfffe20f9ae482818e34eba9b5fb0ce4056e4cc9b6e212d09b7 \ - --hash=sha256:0633c8d5337cb5c77acbccc6357ac49a1770b8c487e5b3505c57b949b4b82e98 \ - --hash=sha256:068b63f23b17df8569b7fdca5517edef76171cf3897eb68beb01341131fbd2ad \ - --hash=sha256:0c250a29735d4f15321007fb02865f0e6b6a41a6b88f1f523ca1596ab5f50bd5 \ - --hash=sha256:1979bc0aeb89b33b588c51c54ab0161791149f2461ea7c7c946d95d5f93b56ae \ - --hash=sha256:1a4471094e146b6790f61b98616ab8e44f72661879cc63fa1049d13ef711e71e \ - --hash=sha256:1b280e6507ea8a4fa0c0a7150b4e526a8d113989e28eaaef946cc77ffd7efc0a \ - --hash=sha256:1d0ce09d36d53bbbe566fe296965b23b961764c0bcf3ce2fa45f463745c04701 \ - --hash=sha256:20b51fa3f588ff2fe658663db52a41a4f7aa6c04f6201449c6c7c476bd255c0d \ - --hash=sha256:23b2d7679b73fe0e5a4560b672a39f98dfc6f60df63823b0a9970525325b95f6 \ - --hash=sha256:23b701e65c7b36e4bf15546a89279bd4d8675faabc287d06bbcfac7d3c33e1e6 \ - --hash=sha256:2471c201b70d58a0f0c1f91261542a03d9a5e088ed3dc6c160d614c01649c106 \ - --hash=sha256:27657df69e8801be6c3638054e202a135c7f299267f1a55ed3a598934f6c0d75 \ - --hash=sha256:29acab3f66f0f24674b7dc4736477bcd4bc3ad4b896f5f45379a67bce8b96868 \ - --hash=sha256:32453c1de775c889eb4e22f1197fe3bdfe457d16476ea407472b9442e6295f7a \ - --hash=sha256:3a670dc61eb0d0eb7080890c13de3066790f9049b47b0de04007090807c776b0 \ - --hash=sha256:3e0153a805a98f5ada7e09826255ba99fb4f7524bb81bf6b47fb702666484ae1 \ - --hash=sha256:410478a0c562d1a5bcc2f7ea448359fcb050ed48b3c6f6f4f18c313a9bdb1826 \ - --hash=sha256:442acde1e068288a4ba7acfe05f5f343e19fac87bfc96d89eb886b0363e977ec \ - --hash=sha256:48f6a4533887e189dae092f1cf981f2e3885175f7a0f33c91fb5b7b682b6bab6 \ - --hash=sha256:4f57dab5fe3407b6c0c1cc907ac98e8a189f9e418f3b6e54d65a718aaafe3950 \ - --hash=sha256:4f9c515e7914626b2a2e1e311794b4c35720a0be87af52b79ff8e1429fc25f19 \ - --hash=sha256:55fdc093b5a3cb41d420884cdaf37a1e74c3c37a31f46e66286d9145d2063bd0 \ - --hash=sha256:5667ed53d68d91920defdf4035d1cdaa3c3121dc0b113255124bcfada1cfa1b8 \ - --hash=sha256:590344787a90ae57d62511dd7c736ed56b428f04cd8c161fcc5e7232c130c69a \ - --hash=sha256:5a7d70357e7cee13f470c7883a063aae5fe209a493c57d86eb7f5a6f910fae09 \ - --hash=sha256:5c3894db91f5a489fc8fa6a9991820f368f0b3cbdb9cd8849547ccfab3392d86 \ - --hash=sha256:5c849d495bf5154cd8da18a9eb15db127d4dba2968d88831aff6f0331ea9bd4c \ - --hash=sha256:64536573d0a2cb6e625cf309984e2d873979709f2cf22839bf2d61790b448ad5 \ - --hash=sha256:693945278a31f2086d9bf3df0fe8254bbeaef1fe71e1351c3bd730aa7d31c41b \ - --hash=sha256:6db4667b187a6742b33afbbaf05a7bc551ffcf1ced0000a571aedbb4aa42fc7b \ - --hash=sha256:6eb73fa5426ea69ee0e012fb59cdc76a15b1283d6e32e4f8dc4482ec67d1194d \ - --hash=sha256:722e1124aec435320ae01ee3ac7bec11a5d47f25d0ed6328f2273d287bc3abb0 \ - --hash=sha256:7268252af60904bf52c26173cbadc3a071cece75f873705419c8681f24d3edea \ - --hash=sha256:74fb4bee6880b529a0c6560885fce4dc95936920f9f20f53d99a213f7bf66776 \ - --hash=sha256:780d3a35680ced9ce682fbcf4cb9c2bad3136eeff760ab33707b71db84664e3a \ - --hash=sha256:82e8211d69a4f4bc360ea22cd6555f8e61a1bd211d1d5d39d3d228b48c83a897 \ - --hash=sha256:89aa2c2eeb20957be2d950b85974b30a01a762f3308cd02bb15e1ad632e22dc7 \ - --hash=sha256:8aefbba5f69d42246543407ed2461db31006b0f76c4e32dfd6f42215a2c41d09 \ - --hash=sha256:96ec70beabbd3b10e8bfe52616a13561e58fe84c0101dd031dc78f250d5128b9 \ - --hash=sha256:9750cc7fe1ae3b1611bb8cfc3f9ec11d532244235d75901fb6b8e42ce9229dfe \ - --hash=sha256:9acbb16f06fe7f52f441bb6f413ebae6c37baa6ef9edd49cdd567216da8600cd \ - --hash=sha256:9d3e0c25a2350080e9319724dede4f31f43a6c9779be48021a7f4ebde8b2d742 \ - --hash=sha256:a06339f38e9ed3a64e4c4e43aec7f59084033647f908e4259d279a52d3757d09 \ - --hash=sha256:a0cb6f11204443f27a1628b0e460f37fb30f624be6051d490fa7d7e26d4af3d0 \ - --hash=sha256:a7496bfe1da7fb1a4e1cc23bb67c58fab69311cc7d32b5a99c2007b4b2a0e932 \ - --hash=sha256:a828c57f00f729620a442881cc60e57cfcec6842ba38e1b19fd3e47ac0ff8dc1 \ - --hash=sha256:a9b2de4cf0cdd5bd2dee4c4f63a653c61d2408055ab77b151c1957f221cabf2a \ - --hash=sha256:b46c8ae3a8f1f41a0d2ef350c0b6e65822d80772fe46b653ab6b6274f61d4a49 \ - --hash=sha256:b7e3ed87d4138356775346e6845cccbe66cd9e207f3cd11d2f0b9fd13681359d \ - --hash=sha256:b7f2f9f912dca3934c1baec2e4585a674ef16fe00218d833856408c48d5beee7 \ - --hash=sha256:ba60bb19387e13597fb059f32cd4d59445d7b18b69a745b8f8e5db0346f33480 \ - --hash=sha256:beee944ae828747fd7cb216a70f120767fc9f4f00bacae8543c14a6831673f89 \ - --hash=sha256:bfa4a17e17ce9abf47a74ae02f32d014c5e9404b6d9ac7f729e01562bbee601e \ - --hash=sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b \ - --hash=sha256:c302220494f5c1ebeb0912ea782bcd5e2f8308037b3c7553fad0e48ebad6ad82 \ - --hash=sha256:c6321c9efe29975232da3bd0af0ad216800a47e93d763ce64f291917a381b8eb \ - --hash=sha256:c757a9dd70d72b076d6f68efdbb9bc943665ae954dad2801b874c8c69e185068 \ - --hash=sha256:c99169d4ff810155ca50b4da3b075cbde79752443117d89429595c2e8e37fed8 \ - --hash=sha256:c9c92be9fd329ac801cc420e08452b70e7aeab94ea4233a4804f0915c14eba9b \ - --hash=sha256:cc7b01b3754ea68a62bd77ce6020afaffb44a590c2289089289363472d13aedb \ - --hash=sha256:db9e724bebd621d9beca794f2a4ff1d26eed5965b004a97f1f1685a173b869c2 \ - --hash=sha256:dca69045298ce5c11fd539682cff879cc1e664c245d1c64da929813e54241d11 \ - --hash=sha256:dd9b1baec094d91bf36ec729445f7769d0d0cf6b64d04d86e45baf89e2b9059b \ - --hash=sha256:e02a0e11cf6597299b9f3bbd3f93d79217cb90cfd1411aec33848b13f5c656cc \ - --hash=sha256:e6a20a581f9ce92d389a8c7d7c3dd47c81fd5d6e655c8dddf341e14aa48659d0 \ - --hash=sha256:e7004be74cbb7d9f34553a5ce5fb08be14fb33bc86f332fb71cbe5216362a497 \ - --hash=sha256:e774d53b1a477a67838a904131c4b0eef6b3d8a651f8b138b04f748fccfefe17 \ - --hash=sha256:edb678da49d9f72c9f6c609fbe41a5dfb9a9282f9e6a2253d5a91e0fc382d7c0 \ - --hash=sha256:f146e0911cb2f1da549fc58fc7bcd2b836a44b79ef871980d605ec392ff6b0d2 \ - --hash=sha256:f56e2333dda1fe0f909e7cc59f021eba0d2307bc6f012a1ccf2beca6ba362439 \ - --hash=sha256:f9a3ea26252bd92f570600098783d1371354d89d5f6b7dfd87359d669f2109b5 \ - --hash=sha256:f9aa1878d1083b276b0196f2dfbe00c9b7e752475ed3b682025ff20c1c1f51ac \ - --hash=sha256:fb3c2db03683b5767dedb5769b8a40ebb47d6f7f45b1b3e3b4b51ec8ad9d9825 \ - --hash=sha256:fbeb989b5cc29e8daf7f976b421c220f1b8c731cbf22b9130d8815418ea45887 \ - --hash=sha256:fde5bd59ab5357e3853313127f4d3565fc7dad314a74d7b5d43c22c6a5ed2ced \ - --hash=sha256:fe1a06da377e3a1062ae5fe0926e12b84eceb8a50b350ddca72dc85015873f74 -genson==1.3.0 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:468feccd00274cc7e4c09e84b08704270ba8d95232aa280f65b986139cec67f7 \ - --hash=sha256:e02db9ac2e3fd29e65b5286f7135762e2cd8a986537c075b06fc5f1517308e37 -ghp-import==2.1.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619 \ - --hash=sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343 -git-changelog==2.5.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:82eca31bd80fbd85e6b252fece82fe450706a7796b92c9d2c7f17c5944fe9ca7 \ - --hash=sha256:b71a404a524dc0b14a34f92d306ae011a05c5fcf7c78ee5b484af50ac44ced65 -gitdb==4.0.11 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4 \ - --hash=sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b -gitpython==3.1.43 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c \ - --hash=sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff -google-api-core==2.19.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:53ec0258f2837dd53bbd3d3df50f5359281b3cc13f800c941dd15a9b5a415af4 \ - --hash=sha256:ca07de7e8aa1c98a8bfca9321890ad2340ef7f2eb136e558cee68f24b94b0a8f -google-api-python-client==2.143.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:6a75441f9078e6e2fcdf4946a153fda1e2cc81b5e9c8d6e8c0750c85c7f8a566 \ - --hash=sha256:d5654134522b9b574b82234e96f7e0aeeabcbf33643fbabcd449ef0068e3a476 -google-auth-httplib2==0.2.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05 \ - --hash=sha256:b65a0a2123300dd71281a7bf6e64d65a0759287df52729bdd1ae2e47dc311a3d -google-auth-oauthlib==1.2.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:2d58a27262d55aa1b87678c3ba7142a080098cbc2024f903c62355deb235d91f \ - --hash=sha256:afd0cad092a2eaa53cd8e8298557d6de1034c6cb4a740500b5357b648af97263 -google-auth==2.34.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:72fd4733b80b6d777dcde515628a9eb4a577339437012874ea286bca7261ee65 \ - --hash=sha256:8eb87396435c19b20d32abd2f984e31c191a15284af72eb922f10e5bde9c04cc -googleapis-common-protos==1.65.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:2972e6c496f435b92590fd54045060867f3fe9be2c82ab148fc8885035479a63 \ - --hash=sha256:334a29d07cddc3aa01dee4988f9afd9b2916ee2ff49d6b757155dc0d197852c0 -h11==0.14.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d \ - --hash=sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761 -h2==4.1.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:03a46bcf682256c95b5fd9e9a99c1323584c3eec6440d379b9903d709476bc6d \ - --hash=sha256:a83aca08fbe7aacb79fec788c9c0bac936343560ed9ec18b82a13a12c28d2abb -hpack==4.0.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:84a076fad3dc9a9f8063ccb8041ef100867b1878b25ef0ee63847a5d53818a6c \ - --hash=sha256:fc41de0c63e687ebffde81187a948221294896f6bdc0ae2312708df339430095 -httpcore==1.0.5 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61 \ - --hash=sha256:421f18bac248b25d310f3cacd198d55b8e6125c107797b609ff9b7a6ba7991b5 -httplib2==0.22.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc \ - --hash=sha256:d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81 -httpretty==1.1.4 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:20de0e5dd5a18292d36d928cc3d6e52f8b2ac73daec40d41eb62dee154933b68 -httpx==0.27.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:7bb2708e112d8fdd7829cd4243970f0c223274051cb35ee80c03301ee29a3df0 \ - --hash=sha256:f7c2be1d2f3c3c3160d441802406b206c2b76f5947b11115e6df10c6c65e66c2 -humanfriendly==10.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477 \ - --hash=sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc -hypercorn==0.17.3 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:059215dec34537f9d40a69258d323f56344805efb462959e727152b0aa504547 \ - --hash=sha256:1b37802ee3ac52d2d85270700d565787ab16cf19e1462ccfa9f089ca17574165 -hyperframe==6.0.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:0ec6bafd80d8ad2195c4f03aacba3a8265e57bc4cff261e802bf39970ed02a15 \ - --hash=sha256:ae510046231dc8e9ecb1a6586f63d2347bf4c8905914aa84ba585ae85f28a914 -ic-py==1.0.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:d44d3f4d127e928cdc6b898e68d08a826cb43bb19fafe6d429bafc74838d55c9 \ - --hash=sha256:d72a214689ed8b2a645e9b5a910f62646b00e3375a1491910590fd5228aa6e9b -identify==2.6.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:cb171c685bdc31bcc4c1734698736a7d5b6c8bf2e0c15117f4d469c8640ae5cf \ - --hash=sha256:e79ae4406387a9d300332b5fd366d8994f1525e8414984e1a59e058b2eda2dd0 -idna==3.8 ; python_version >= "3.10" and python_version < "4" \ - --hash=sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac \ - --hash=sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603 -importlib-metadata==8.4.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:66f342cc6ac9818fc6ff340576acd24d65ba0b3efabb2b4ac08b598965a4a2f1 \ - --hash=sha256:9a547d3bc3608b025f93d403fdd1aae741c24fbb8314df4b155675742ce303c5 -inflect==5.6.2 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:aadc7ed73928f5e014129794bbac03058cca35d0a973a5fc4eb45c7fa26005f9 \ - --hash=sha256:b45d91a4a28a4e617ff1821117439b06eaa86e2a4573154af0149e9be6687238 -iniconfig==2.0.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3 \ - --hash=sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374 -installer==0.7.0 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:05d1933f0a5ba7d8d6296bb6d5018e7c94fa473ceb10cf198a92ccea19c27b53 \ - --hash=sha256:a26d3e3116289bb08216e0d0f7d925fcef0b0194eedfa0c944bcaaa106c4b631 -ipykernel==6.29.5 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:afdb66ba5aa354b09b91379bac28ae4afebbb30e8b39510c9690afb7a10421b5 \ - --hash=sha256:f093a22c4a40f8828f8e330a9c297cb93dcab13bd9678ded6de8e5cf81c56215 -ipython==8.27.0 ; python_version >= "3.10" and python_version < "4" \ - --hash=sha256:0b99a2dc9f15fd68692e898e5568725c6d49c527d36a9fb5960ffbdeaa82ff7e \ - --hash=sha256:f68b3cb8bde357a5d7adc9598d57e22a45dfbea19eb6b98286fa3b288c9cd55c -ipywidgets==8.1.5 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:3290f526f87ae6e77655555baba4f36681c555b8bdbbff430b70e52c34c86245 \ - --hash=sha256:870e43b1a35656a80c18c9503bbf2d16802db1cb487eec6fab27d683381dde17 -isoduration==20.11.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9 \ - --hash=sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042 -isort==5.13.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109 \ - --hash=sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6 -itsdangerous==2.2.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:c6242fc49e35958c8b15141343aa660db5fc54d4f13a1db01a3f5891b98700ef \ - --hash=sha256:e0050c0b7da1eea53ffaf149c0cfbb5c6e2e2b69c4bef22c81fa6eb73e5f6173 -jaraco-classes==3.4.0 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:47a024b51d0239c0dd8c8540c6c7f484be3b8fcf0b2d85c13825780d3b3f3acd \ - --hash=sha256:f662826b6bed8cace05e7ff873ce0f9283b5c924470fe664fff1c2f00f581790 -jedi==0.19.1 ; python_version >= "3.10" and python_version < "4" \ - --hash=sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd \ - --hash=sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0 -jeepney==0.8.0 ; python_full_version >= "3.10.0" and python_version < "4.0" and sys_platform == "linux" \ - --hash=sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806 \ - --hash=sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755 -jinja2==3.1.4 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369 \ - --hash=sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d -jmespath==1.0.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980 \ - --hash=sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe -json5==0.9.25 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:34ed7d834b1341a86987ed52f3f76cd8ee184394906b6e22a1e0deb9ab294e8f \ - --hash=sha256:548e41b9be043f9426776f05df8635a00fe06104ea51ed24b67f908856e151ae -jsonpointer==3.0.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942 \ - --hash=sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef -jsonschema-specifications==2023.12.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc \ - --hash=sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c -jsonschema==4.23.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4 \ - --hash=sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566 -jsonschema[format-nongpl]==4.23.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4 \ - --hash=sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566 -jupyter-client==8.6.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:2bda14d55ee5ba58552a8c53ae43d215ad9868853489213f37da060ced54d8df \ - --hash=sha256:50cbc5c66fd1b8f65ecb66bc490ab73217993632809b6e505687de18e9dea39f -jupyter-console==6.6.3 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485 \ - --hash=sha256:566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539 -jupyter-core==5.7.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:4f7315d2f6b4bcf2e3e7cb6e46772eba760ae459cd1f59d29eb57b0a01bd7409 \ - --hash=sha256:aa5f8d32bbf6b431ac830496da7392035d6f61b4f54872f15c4bd2a9c3f536d9 -jupyter-events==0.10.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:4b72130875e59d57716d327ea70d3ebc3af1944d3717e5a498b8a06c6c159960 \ - --hash=sha256:670b8229d3cc882ec782144ed22e0d29e1c2d639263f92ca8383e66682845e22 -jupyter-lsp==2.2.5 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:45fbddbd505f3fbfb0b6cb2f1bc5e15e83ab7c79cd6e89416b248cb3c00c11da \ - --hash=sha256:793147a05ad446f809fd53ef1cd19a9f5256fd0a2d6b7ce943a982cb4f545001 -jupyter-server-terminals==0.5.3 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa \ - --hash=sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269 -jupyter-server==2.14.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:47ff506127c2f7851a17bf4713434208fc490955d0e8632e95014a9a9afbeefd \ - --hash=sha256:66095021aa9638ced276c248b1d81862e4c50f292d575920bbe960de1c56b12b -jupyter==1.1.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:7a59533c22af65439b24bbe60373a4e95af8f16ac65a6c00820ad378e3f7cc83 \ - --hash=sha256:d55467bceabdea49d7e3624af7e33d59c37fff53ed3a350e1ac957bed731de7a -jupyterlab-pygments==0.3.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d \ - --hash=sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780 -jupyterlab-server==2.27.3 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4 \ - --hash=sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4 -jupyterlab-widgets==3.0.13 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:a2966d385328c1942b683a8cd96b89b8dd82c8b8f81dda902bb2bc06d46f5bed \ - --hash=sha256:e3cda2c233ce144192f1e29914ad522b2f4c40e77214b0cc97377ca3d323db54 -jupyterlab==4.2.5 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:73b6e0775d41a9fee7ee756c80f58a6bed4040869ccc21411dc559818874d321 \ - --hash=sha256:ae7f3a1b8cb88b4f55009ce79fa7c06f99d70cd63601ee4aa91815d054f46f75 -keyring==24.3.1 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:c3327b6ffafc0e8befbdb597cacdb4928ffe5c1212f7645f186e6d9957a898db \ - --hash=sha256:df38a4d7419a6a60fea5cef1e45a948a3e8430dd12ad88b0f423c5c143906218 -kiwisolver==1.4.5 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:00bd361b903dc4bbf4eb165f24d1acbee754fce22ded24c3d56eec268658a5cf \ - --hash=sha256:040c1aebeda72197ef477a906782b5ab0d387642e93bda547336b8957c61022e \ - --hash=sha256:05703cf211d585109fcd72207a31bb170a0f22144d68298dc5e61b3c946518af \ - --hash=sha256:06f54715b7737c2fecdbf140d1afb11a33d59508a47bf11bb38ecf21dc9ab79f \ - --hash=sha256:0dc9db8e79f0036e8173c466d21ef18e1befc02de8bf8aa8dc0813a6dc8a7046 \ - --hash=sha256:0f114aa76dc1b8f636d077979c0ac22e7cd8f3493abbab152f20eb8d3cda71f3 \ - --hash=sha256:11863aa14a51fd6ec28688d76f1735f8f69ab1fabf388851a595d0721af042f5 \ - --hash=sha256:11c7de8f692fc99816e8ac50d1d1aef4f75126eefc33ac79aac02c099fd3db71 \ - --hash=sha256:11d011a7574eb3b82bcc9c1a1d35c1d7075677fdd15de527d91b46bd35e935ee \ - --hash=sha256:146d14bebb7f1dc4d5fbf74f8a6cb15ac42baadee8912eb84ac0b3b2a3dc6ac3 \ - --hash=sha256:15568384086b6df3c65353820a4473575dbad192e35010f622c6ce3eebd57af9 \ - --hash=sha256:19df6e621f6d8b4b9c4d45f40a66839294ff2bb235e64d2178f7522d9170ac5b \ - --hash=sha256:1b04139c4236a0f3aff534479b58f6f849a8b351e1314826c2d230849ed48985 \ - --hash=sha256:210ef2c3a1f03272649aff1ef992df2e724748918c4bc2d5a90352849eb40bea \ - --hash=sha256:2270953c0d8cdab5d422bee7d2007f043473f9d2999631c86a223c9db56cbd16 \ - --hash=sha256:2400873bccc260b6ae184b2b8a4fec0e4082d30648eadb7c3d9a13405d861e89 \ - --hash=sha256:2a40773c71d7ccdd3798f6489aaac9eee213d566850a9533f8d26332d626b82c \ - --hash=sha256:2c5674c4e74d939b9d91dda0fae10597ac7521768fec9e399c70a1f27e2ea2d9 \ - --hash=sha256:3195782b26fc03aa9c6913d5bad5aeb864bdc372924c093b0f1cebad603dd712 \ - --hash=sha256:31a82d498054cac9f6d0b53d02bb85811185bcb477d4b60144f915f3b3126342 \ - --hash=sha256:32d5cf40c4f7c7b3ca500f8985eb3fb3a7dfc023215e876f207956b5ea26632a \ - --hash=sha256:346f5343b9e3f00b8db8ba359350eb124b98c99efd0b408728ac6ebf38173958 \ - --hash=sha256:378a214a1e3bbf5ac4a8708304318b4f890da88c9e6a07699c4ae7174c09a68d \ - --hash=sha256:39b42c68602539407884cf70d6a480a469b93b81b7701378ba5e2328660c847a \ - --hash=sha256:3a2b053a0ab7a3960c98725cfb0bf5b48ba82f64ec95fe06f1d06c99b552e130 \ - --hash=sha256:3aba7311af82e335dd1e36ffff68aaca609ca6290c2cb6d821a39aa075d8e3ff \ - --hash=sha256:3cd32d6c13807e5c66a7cbb79f90b553642f296ae4518a60d8d76243b0ad2898 \ - --hash=sha256:3edd2fa14e68c9be82c5b16689e8d63d89fe927e56debd6e1dbce7a26a17f81b \ - --hash=sha256:4c380469bd3f970ef677bf2bcba2b6b0b4d5c75e7a020fb863ef75084efad66f \ - --hash=sha256:4e66e81a5779b65ac21764c295087de82235597a2293d18d943f8e9e32746265 \ - --hash=sha256:53abb58632235cd154176ced1ae8f0d29a6657aa1aa9decf50b899b755bc2b93 \ - --hash=sha256:5794cf59533bc3f1b1c821f7206a3617999db9fbefc345360aafe2e067514929 \ - --hash=sha256:59415f46a37f7f2efeec758353dd2eae1b07640d8ca0f0c42548ec4125492635 \ - --hash=sha256:59ec7b7c7e1a61061850d53aaf8e93db63dce0c936db1fda2658b70e4a1be709 \ - --hash=sha256:59edc41b24031bc25108e210c0def6f6c2191210492a972d585a06ff246bb79b \ - --hash=sha256:5a580c91d686376f0f7c295357595c5a026e6cbc3d77b7c36e290201e7c11ecb \ - --hash=sha256:5b94529f9b2591b7af5f3e0e730a4e0a41ea174af35a4fd067775f9bdfeee01a \ - --hash=sha256:5c7b3b3a728dc6faf3fc372ef24f21d1e3cee2ac3e9596691d746e5a536de920 \ - --hash=sha256:5c90ae8c8d32e472be041e76f9d2f2dbff4d0b0be8bd4041770eddb18cf49a4e \ - --hash=sha256:5e7139af55d1688f8b960ee9ad5adafc4ac17c1c473fe07133ac092310d76544 \ - --hash=sha256:5ff5cf3571589b6d13bfbfd6bcd7a3f659e42f96b5fd1c4830c4cf21d4f5ef45 \ - --hash=sha256:620ced262a86244e2be10a676b646f29c34537d0d9cc8eb26c08f53d98013390 \ - --hash=sha256:6512cb89e334e4700febbffaaa52761b65b4f5a3cf33f960213d5656cea36a77 \ - --hash=sha256:6c08e1312a9cf1074d17b17728d3dfce2a5125b2d791527f33ffbe805200a355 \ - --hash=sha256:6c3bd3cde54cafb87d74d8db50b909705c62b17c2099b8f2e25b461882e544ff \ - --hash=sha256:6ef7afcd2d281494c0a9101d5c571970708ad911d028137cd558f02b851c08b4 \ - --hash=sha256:7269d9e5f1084a653d575c7ec012ff57f0c042258bf5db0954bf551c158466e7 \ - --hash=sha256:72d40b33e834371fd330fb1472ca19d9b8327acb79a5821d4008391db8e29f20 \ - --hash=sha256:74d1b44c6cfc897df648cc9fdaa09bc3e7679926e6f96df05775d4fb3946571c \ - --hash=sha256:74db36e14a7d1ce0986fa104f7d5637aea5c82ca6326ed0ec5694280942d1162 \ - --hash=sha256:763773d53f07244148ccac5b084da5adb90bfaee39c197554f01b286cf869228 \ - --hash=sha256:76c6a5964640638cdeaa0c359382e5703e9293030fe730018ca06bc2010c4437 \ - --hash=sha256:76d9289ed3f7501012e05abb8358bbb129149dbd173f1f57a1bf1c22d19ab7cc \ - --hash=sha256:7931d8f1f67c4be9ba1dd9c451fb0eeca1a25b89e4d3f89e828fe12a519b782a \ - --hash=sha256:7b8b454bac16428b22560d0a1cf0a09875339cab69df61d7805bf48919415901 \ - --hash=sha256:7e5bab140c309cb3a6ce373a9e71eb7e4873c70c2dda01df6820474f9889d6d4 \ - --hash=sha256:83d78376d0d4fd884e2c114d0621624b73d2aba4e2788182d286309ebdeed770 \ - --hash=sha256:852542f9481f4a62dbb5dd99e8ab7aedfeb8fb6342349a181d4036877410f525 \ - --hash=sha256:85267bd1aa8880a9c88a8cb71e18d3d64d2751a790e6ca6c27b8ccc724bcd5ad \ - --hash=sha256:88a2df29d4724b9237fc0c6eaf2a1adae0cdc0b3e9f4d8e7dc54b16812d2d81a \ - --hash=sha256:88b9f257ca61b838b6f8094a62418421f87ac2a1069f7e896c36a7d86b5d4c29 \ - --hash=sha256:8ab3919a9997ab7ef2fbbed0cc99bb28d3c13e6d4b1ad36e97e482558a91be90 \ - --hash=sha256:92dea1ffe3714fa8eb6a314d2b3c773208d865a0e0d35e713ec54eea08a66250 \ - --hash=sha256:9407b6a5f0d675e8a827ad8742e1d6b49d9c1a1da5d952a67d50ef5f4170b18d \ - --hash=sha256:9408acf3270c4b6baad483865191e3e582b638b1654a007c62e3efe96f09a9a3 \ - --hash=sha256:955e8513d07a283056b1396e9a57ceddbd272d9252c14f154d450d227606eb54 \ - --hash=sha256:9db8ea4c388fdb0f780fe91346fd438657ea602d58348753d9fb265ce1bca67f \ - --hash=sha256:9eaa8b117dc8337728e834b9c6e2611f10c79e38f65157c4c38e9400286f5cb1 \ - --hash=sha256:a51a263952b1429e429ff236d2f5a21c5125437861baeed77f5e1cc2d2c7c6da \ - --hash=sha256:a6aa6315319a052b4ee378aa171959c898a6183f15c1e541821c5c59beaa0238 \ - --hash=sha256:aa12042de0171fad672b6c59df69106d20d5596e4f87b5e8f76df757a7c399aa \ - --hash=sha256:aaf7be1207676ac608a50cd08f102f6742dbfc70e8d60c4db1c6897f62f71523 \ - --hash=sha256:b0157420efcb803e71d1b28e2c287518b8808b7cf1ab8af36718fd0a2c453eb0 \ - --hash=sha256:b3f7e75f3015df442238cca659f8baa5f42ce2a8582727981cbfa15fee0ee205 \ - --hash=sha256:b9098e0049e88c6a24ff64545cdfc50807818ba6c1b739cae221bbbcbc58aad3 \ - --hash=sha256:ba55dce0a9b8ff59495ddd050a0225d58bd0983d09f87cfe2b6aec4f2c1234e4 \ - --hash=sha256:bb86433b1cfe686da83ce32a9d3a8dd308e85c76b60896d58f082136f10bffac \ - --hash=sha256:bbea0db94288e29afcc4c28afbf3a7ccaf2d7e027489c449cf7e8f83c6346eb9 \ - --hash=sha256:bbf1d63eef84b2e8c89011b7f2235b1e0bf7dacc11cac9431fc6468e99ac77fb \ - --hash=sha256:c7940c1dc63eb37a67721b10d703247552416f719c4188c54e04334321351ced \ - --hash=sha256:c9bf3325c47b11b2e51bca0824ea217c7cd84491d8ac4eefd1e409705ef092bd \ - --hash=sha256:cdc8a402aaee9a798b50d8b827d7ecf75edc5fb35ea0f91f213ff927c15f4ff0 \ - --hash=sha256:ceec1a6bc6cab1d6ff5d06592a91a692f90ec7505d6463a88a52cc0eb58545da \ - --hash=sha256:cfe6ab8da05c01ba6fbea630377b5da2cd9bcbc6338510116b01c1bc939a2c18 \ - --hash=sha256:d099e745a512f7e3bbe7249ca835f4d357c586d78d79ae8f1dcd4d8adeb9bda9 \ - --hash=sha256:d0ef46024e6a3d79c01ff13801cb19d0cad7fd859b15037aec74315540acc276 \ - --hash=sha256:d2e5a98f0ec99beb3c10e13b387f8db39106d53993f498b295f0c914328b1333 \ - --hash=sha256:da4cfb373035def307905d05041c1d06d8936452fe89d464743ae7fb8371078b \ - --hash=sha256:da802a19d6e15dffe4b0c24b38b3af68e6c1a68e6e1d8f30148c83864f3881db \ - --hash=sha256:dced8146011d2bc2e883f9bd68618b8247387f4bbec46d7392b3c3b032640126 \ - --hash=sha256:dfdd7c0b105af050eb3d64997809dc21da247cf44e63dc73ff0fd20b96be55a9 \ - --hash=sha256:e368f200bbc2e4f905b8e71eb38b3c04333bddaa6a2464a6355487b02bb7fb09 \ - --hash=sha256:e391b1f0a8a5a10ab3b9bb6afcfd74f2175f24f8975fb87ecae700d1503cdee0 \ - --hash=sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec \ - --hash=sha256:e5d706eba36b4c4d5bc6c6377bb6568098765e990cfc21ee16d13963fab7b3e7 \ - --hash=sha256:ec20916e7b4cbfb1f12380e46486ec4bcbaa91a9c448b97023fde0d5bbf9e4ff \ - --hash=sha256:f1d072c2eb0ad60d4c183f3fb44ac6f73fb7a8f16a2694a91f988275cbf352f9 \ - --hash=sha256:f846c260f483d1fd217fe5ed7c173fb109efa6b1fc8381c8b7552c5781756192 \ - --hash=sha256:f91de7223d4c7b793867797bacd1ee53bfe7359bd70d27b7b58a04efbb9436c8 \ - --hash=sha256:faae4860798c31530dd184046a900e652c95513796ef51a12bc086710c2eec4d \ - --hash=sha256:fc579bf0f502e54926519451b920e875f433aceb4624a3646b3252b5caa9e0b6 \ - --hash=sha256:fcc700eadbbccbf6bc1bcb9dbe0786b4b1cb91ca0dcda336eef5c2beed37b797 \ - --hash=sha256:fd32ea360bcbb92d28933fc05ed09bffcb1704ba3fc7942e81db0fd4f81a7892 \ - --hash=sha256:fdb7adb641a0d13bdcd4ef48e062363d8a9ad4a182ac7647ec88f695e719ae9f -leb128==1.0.8 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:3a52dca242f93f87a3d766380a93a3fad53ef4044f03018d21705d3b2d9021ee \ - --hash=sha256:76cd271e75ea91aa2fbf7783d60cb7d667b62143d544bcee59159ff258bf4523 -lz4==4.3.3 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:01fe674ef2889dbb9899d8a67361e0c4a2c833af5aeb37dd505727cf5d2a131e \ - --hash=sha256:054b4631a355606e99a42396f5db4d22046a3397ffc3269a348ec41eaebd69d2 \ - --hash=sha256:0a136e44a16fc98b1abc404fbabf7f1fada2bdab6a7e970974fb81cf55b636d0 \ - --hash=sha256:0e9c410b11a31dbdc94c05ac3c480cb4b222460faf9231f12538d0074e56c563 \ - --hash=sha256:222a7e35137d7539c9c33bb53fcbb26510c5748779364014235afc62b0ec797f \ - --hash=sha256:24b3206de56b7a537eda3a8123c644a2b7bf111f0af53bc14bed90ce5562d1aa \ - --hash=sha256:2b901c7784caac9a1ded4555258207d9e9697e746cc8532129f150ffe1f6ba0d \ - --hash=sha256:2f7b1839f795315e480fb87d9bc60b186a98e3e5d17203c6e757611ef7dcef61 \ - --hash=sha256:30e8c20b8857adef7be045c65f47ab1e2c4fabba86a9fa9a997d7674a31ea6b6 \ - --hash=sha256:31ea4be9d0059c00b2572d700bf2c1bc82f241f2c3282034a759c9a4d6ca4dc2 \ - --hash=sha256:337cb94488a1b060ef1685187d6ad4ba8bc61d26d631d7ba909ee984ea736be1 \ - --hash=sha256:33c9a6fd20767ccaf70649982f8f3eeb0884035c150c0b818ea660152cf3c809 \ - --hash=sha256:363ab65bf31338eb364062a15f302fc0fab0a49426051429866d71c793c23394 \ - --hash=sha256:43cf03059c0f941b772c8aeb42a0813d68d7081c009542301637e5782f8a33e2 \ - --hash=sha256:56f4fe9c6327adb97406f27a66420b22ce02d71a5c365c48d6b656b4aaeb7775 \ - --hash=sha256:5d35533bf2cee56f38ced91f766cd0038b6abf46f438a80d50c52750088be93f \ - --hash=sha256:6756212507405f270b66b3ff7f564618de0606395c0fe10a7ae2ffcbbe0b1fba \ - --hash=sha256:6cdc60e21ec70266947a48839b437d46025076eb4b12c76bd47f8e5eb8a75dcc \ - --hash=sha256:abc197e4aca8b63f5ae200af03eb95fb4b5055a8f990079b5bdf042f568469dd \ - --hash=sha256:b14d948e6dce389f9a7afc666d60dd1e35fa2138a8ec5306d30cd2e30d36b40c \ - --hash=sha256:b47839b53956e2737229d70714f1d75f33e8ac26e52c267f0197b3189ca6de24 \ - --hash=sha256:b6d9ec061b9eca86e4dcc003d93334b95d53909afd5a32c6e4f222157b50c071 \ - --hash=sha256:b891880c187e96339474af2a3b2bfb11a8e4732ff5034be919aa9029484cd201 \ - --hash=sha256:bca8fccc15e3add173da91be8f34121578dc777711ffd98d399be35487c934bf \ - --hash=sha256:c81703b12475da73a5d66618856d04b1307e43428a7e59d98cfe5a5d608a74c6 \ - --hash=sha256:d2507ee9c99dbddd191c86f0e0c8b724c76d26b0602db9ea23232304382e1f21 \ - --hash=sha256:e36cd7b9d4d920d3bfc2369840da506fa68258f7bb176b8743189793c055e43d \ - --hash=sha256:e7d84b479ddf39fe3ea05387f10b779155fc0990125f4fb35d636114e1c63a2e \ - --hash=sha256:eac9af361e0d98335a02ff12fb56caeb7ea1196cf1a49dbf6f17828a131da807 \ - --hash=sha256:edfd858985c23523f4e5a7526ca6ee65ff930207a7ec8a8f57a01eae506aaee7 \ - --hash=sha256:ee9ff50557a942d187ec85462bb0960207e7ec5b19b3b48949263993771c6205 \ - --hash=sha256:f0e822cd7644995d9ba248cb4b67859701748a93e2ab7fc9bc18c599a52e4604 \ - --hash=sha256:f180904f33bdd1e92967923a43c22899e303906d19b2cf8bb547db6653ea6e7d \ - --hash=sha256:f1d18718f9d78182c6b60f568c9a9cec8a7204d7cb6fad4e511a2ef279e4cb05 \ - --hash=sha256:f4c7bf687303ca47d69f9f0133274958fd672efaa33fb5bcde467862d6c621f0 \ - --hash=sha256:f76176492ff082657ada0d0f10c794b6da5800249ef1692b35cf49b1e93e8ef7 -mammoth==1.8.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:7e8aa7db53f4aa7e9620b22bf8b716f1a16c84e969de1a0b1f920c756184e3d8 \ - --hash=sha256:b2abf2340809b13a903c8b65a27846466290b869f0dd56e4a1e3072c4be1ea86 -markdown==3.7 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2 \ - --hash=sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803 -markdownify==0.13.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:1d181d43d20902bcc69d7be85b5316ed174d0dda72ff56e14ae4c95a4a407d22 \ - --hash=sha256:ab257f9e6bd4075118828a28c9d02f8a4bfeb7421f558834aa79b2dfeb32a098 -markupsafe==2.1.5 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf \ - --hash=sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff \ - --hash=sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f \ - --hash=sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3 \ - --hash=sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532 \ - --hash=sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f \ - --hash=sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617 \ - --hash=sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df \ - --hash=sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4 \ - --hash=sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906 \ - --hash=sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f \ - --hash=sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4 \ - --hash=sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8 \ - --hash=sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371 \ - --hash=sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2 \ - --hash=sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465 \ - --hash=sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52 \ - --hash=sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6 \ - --hash=sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169 \ - --hash=sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad \ - --hash=sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2 \ - --hash=sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0 \ - --hash=sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029 \ - --hash=sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f \ - --hash=sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a \ - --hash=sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced \ - --hash=sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5 \ - --hash=sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c \ - --hash=sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf \ - --hash=sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9 \ - --hash=sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb \ - --hash=sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad \ - --hash=sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3 \ - --hash=sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1 \ - --hash=sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46 \ - --hash=sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc \ - --hash=sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a \ - --hash=sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee \ - --hash=sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900 \ - --hash=sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5 \ - --hash=sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea \ - --hash=sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f \ - --hash=sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5 \ - --hash=sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e \ - --hash=sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a \ - --hash=sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f \ - --hash=sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50 \ - --hash=sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a \ - --hash=sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b \ - --hash=sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4 \ - --hash=sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff \ - --hash=sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2 \ - --hash=sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46 \ - --hash=sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b \ - --hash=sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf \ - --hash=sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5 \ - --hash=sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5 \ - --hash=sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab \ - --hash=sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd \ - --hash=sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68 -matplotlib-inline==0.1.7 ; python_version >= "3.10" and python_version < "4" \ - --hash=sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90 \ - --hash=sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca -matplotlib==3.9.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:039082812cacd6c6bec8e17a9c1e6baca230d4116d522e81e1f63a74d01d2e21 \ - --hash=sha256:03ba9c1299c920964e8d3857ba27173b4dbb51ca4bab47ffc2c2ba0eb5e2cbc5 \ - --hash=sha256:050598c2b29e0b9832cde72bcf97627bf00262adbc4a54e2b856426bb2ef0697 \ - --hash=sha256:18128cc08f0d3cfff10b76baa2f296fc28c4607368a8402de61bb3f2eb33c7d9 \ - --hash=sha256:1cd93b91ab47a3616b4d3c42b52f8363b88ca021e340804c6ab2536344fad9ca \ - --hash=sha256:1d94ff717eb2bd0b58fe66380bd8b14ac35f48a98e7c6765117fe67fb7684e64 \ - --hash=sha256:306c8dfc73239f0e72ac50e5a9cf19cc4e8e331dd0c54f5e69ca8758550f1e1e \ - --hash=sha256:37e51dd1c2db16ede9cfd7b5cabdfc818b2c6397c83f8b10e0e797501c963a03 \ - --hash=sha256:3fd595f34aa8a55b7fc8bf9ebea8aa665a84c82d275190a61118d33fbc82ccae \ - --hash=sha256:4876d7d40219e8ae8bb70f9263bcbe5714415acfdf781086601211335e24f8aa \ - --hash=sha256:5413401594cfaff0052f9d8b1aafc6d305b4bd7c4331dccd18f561ff7e1d3bd3 \ - --hash=sha256:5816b1e1fe8c192cbc013f8f3e3368ac56fbecf02fb41b8f8559303f24c5015e \ - --hash=sha256:65aacf95b62272d568044531e41de26285d54aec8cb859031f511f84bd8b495a \ - --hash=sha256:6758baae2ed64f2331d4fd19be38b7b4eae3ecec210049a26b6a4f3ae1c85dcc \ - --hash=sha256:6d1ce5ed2aefcdce11904fc5bbea7d9c21fff3d5f543841edf3dea84451a09ea \ - --hash=sha256:6d9f07a80deab4bb0b82858a9e9ad53d1382fd122be8cde11080f4e7dfedb38b \ - --hash=sha256:7741f26a58a240f43bee74965c4882b6c93df3e7eb3de160126d8c8f53a6ae6e \ - --hash=sha256:8912ef7c2362f7193b5819d17dae8629b34a95c58603d781329712ada83f9447 \ - --hash=sha256:909645cce2dc28b735674ce0931a4ac94e12f5b13f6bb0b5a5e65e7cea2c192b \ - --hash=sha256:96ab43906269ca64a6366934106fa01534454a69e471b7bf3d79083981aaab92 \ - --hash=sha256:9d78bbc0cbc891ad55b4f39a48c22182e9bdaea7fc0e5dbd364f49f729ca1bbb \ - --hash=sha256:ab68d50c06938ef28681073327795c5db99bb4666214d2d5f880ed11aeaded66 \ - --hash=sha256:ac43031375a65c3196bee99f6001e7fa5bdfb00ddf43379d3c0609bdca042df9 \ - --hash=sha256:ae82a14dab96fbfad7965403c643cafe6515e386de723e498cf3eeb1e0b70cc7 \ - --hash=sha256:b2696efdc08648536efd4e1601b5fd491fd47f4db97a5fbfd175549a7365c1b2 \ - --hash=sha256:b82c5045cebcecd8496a4d694d43f9cc84aeeb49fe2133e036b207abe73f4d30 \ - --hash=sha256:be0fc24a5e4531ae4d8e858a1a548c1fe33b176bb13eff7f9d0d38ce5112a27d \ - --hash=sha256:bf81de2926c2db243c9b2cbc3917619a0fc85796c6ba4e58f541df814bbf83c7 \ - --hash=sha256:c375cc72229614632c87355366bdf2570c2dac01ac66b8ad048d2dabadf2d0d4 \ - --hash=sha256:c797dac8bb9c7a3fd3382b16fe8f215b4cf0f22adccea36f1545a6d7be310b41 \ - --hash=sha256:cef2a73d06601437be399908cf13aee74e86932a5ccc6ccdf173408ebc5f6bb2 \ - --hash=sha256:d52a3b618cb1cbb769ce2ee1dcdb333c3ab6e823944e9a2d36e37253815f9556 \ - --hash=sha256:d719465db13267bcef19ea8954a971db03b9f48b4647e3860e4bc8e6ed86610f \ - --hash=sha256:d8dd059447824eec055e829258ab092b56bb0579fc3164fa09c64f3acd478772 \ - --hash=sha256:dbe196377a8248972f5cede786d4c5508ed5f5ca4a1e09b44bda889958b33f8c \ - --hash=sha256:e0830e188029c14e891fadd99702fd90d317df294c3298aad682739c5533721a \ - --hash=sha256:f053c40f94bc51bc03832a41b4f153d83f2062d88c72b5e79997072594e97e51 \ - --hash=sha256:f32c7410c7f246838a77d6d1eff0c0f87f3cb0e7c4247aebea71a6d5a68cab49 \ - --hash=sha256:f6ee45bc4245533111ced13f1f2cace1e7f89d1c793390392a80c139d6cf0e6c \ - --hash=sha256:f7c0410f181a531ec4e93bbc27692f2c71a15c2da16766f5ba9761e7ae518413 -mccabe==0.7.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325 \ - --hash=sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e -mergedeep==1.3.4 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8 \ - --hash=sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307 -mistune==3.0.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:71481854c30fdbc938963d3605b72501f5c10a9320ecd412c121c163a1c7d205 \ - --hash=sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8 -mkdocs-get-deps==0.2.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c \ - --hash=sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134 -mkdocs-git-committers-plugin-2==2.3.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:7b3434af3be525c12858eb3b44b4c6b695b7c7b7760482ea8de1c6e292e84f0f \ - --hash=sha256:d6baca1ae04db8120640038eda8142f2d081c27b53f3b566c83c75717e4ed81a -mkdocs-git-revision-date-localized-plugin==1.2.7 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:2f83b52b4dad642751a79465f80394672cbad022129286f40d36b03aebee490f \ - --hash=sha256:d2b30ccb74ec8e118298758d75ae4b4f02c620daf776a6c92fcbb58f2b78f19f -mkdocs-material-extensions==1.3.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443 \ - --hash=sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31 -mkdocs-material==9.5.34 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:1e60ddf716cfb5679dfd65900b8a25d277064ed82d9a53cd5190e3f894df7840 \ - --hash=sha256:54caa8be708de2b75167fd4d3b9f3d949579294f49cb242515d4653dbee9227e -mkdocs==1.6.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2 \ - --hash=sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e -mnemonic==0.20 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:7c6fb5639d779388027a77944680aee4870f0fcd09b1e42a5525ee2ce4c625f6 \ - --hash=sha256:acd2168872d0379e7a10873bb3e12bf6c91b35de758135c4fbd1015ef18fafc5 -more-itertools==10.4.0 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:0f7d9f83a0a8dcfa8a2694a770590d98a67ea943e3d9f5298309a484758c4e27 \ - --hash=sha256:fe0e63c4ab068eac62410ab05cccca2dc71ec44ba8ef29916a0090df061cf923 -msgpack==1.0.8 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:00e073efcba9ea99db5acef3959efa45b52bc67b61b00823d2a1a6944bf45982 \ - --hash=sha256:0726c282d188e204281ebd8de31724b7d749adebc086873a59efb8cf7ae27df3 \ - --hash=sha256:0ceea77719d45c839fd73abcb190b8390412a890df2f83fb8cf49b2a4b5c2f40 \ - --hash=sha256:114be227f5213ef8b215c22dde19532f5da9652e56e8ce969bf0a26d7c419fee \ - --hash=sha256:13577ec9e247f8741c84d06b9ece5f654920d8365a4b636ce0e44f15e07ec693 \ - --hash=sha256:1876b0b653a808fcd50123b953af170c535027bf1d053b59790eebb0aeb38950 \ - --hash=sha256:1ab0bbcd4d1f7b6991ee7c753655b481c50084294218de69365f8f1970d4c151 \ - --hash=sha256:1cce488457370ffd1f953846f82323cb6b2ad2190987cd4d70b2713e17268d24 \ - --hash=sha256:26ee97a8261e6e35885c2ecd2fd4a6d38252246f94a2aec23665a4e66d066305 \ - --hash=sha256:3528807cbbb7f315bb81959d5961855e7ba52aa60a3097151cb21956fbc7502b \ - --hash=sha256:374a8e88ddab84b9ada695d255679fb99c53513c0a51778796fcf0944d6c789c \ - --hash=sha256:376081f471a2ef24828b83a641a02c575d6103a3ad7fd7dade5486cad10ea659 \ - --hash=sha256:3923a1778f7e5ef31865893fdca12a8d7dc03a44b33e2a5f3295416314c09f5d \ - --hash=sha256:4916727e31c28be8beaf11cf117d6f6f188dcc36daae4e851fee88646f5b6b18 \ - --hash=sha256:493c5c5e44b06d6c9268ce21b302c9ca055c1fd3484c25ba41d34476c76ee746 \ - --hash=sha256:505fe3d03856ac7d215dbe005414bc28505d26f0c128906037e66d98c4e95868 \ - --hash=sha256:5845fdf5e5d5b78a49b826fcdc0eb2e2aa7191980e3d2cfd2a30303a74f212e2 \ - --hash=sha256:5c330eace3dd100bdb54b5653b966de7f51c26ec4a7d4e87132d9b4f738220ba \ - --hash=sha256:5dbf059fb4b7c240c873c1245ee112505be27497e90f7c6591261c7d3c3a8228 \ - --hash=sha256:5e390971d082dba073c05dbd56322427d3280b7cc8b53484c9377adfbae67dc2 \ - --hash=sha256:5fbb160554e319f7b22ecf530a80a3ff496d38e8e07ae763b9e82fadfe96f273 \ - --hash=sha256:64d0fcd436c5683fdd7c907eeae5e2cbb5eb872fafbc03a43609d7941840995c \ - --hash=sha256:69284049d07fce531c17404fcba2bb1df472bc2dcdac642ae71a2d079d950653 \ - --hash=sha256:6a0e76621f6e1f908ae52860bdcb58e1ca85231a9b0545e64509c931dd34275a \ - --hash=sha256:73ee792784d48aa338bba28063e19a27e8d989344f34aad14ea6e1b9bd83f596 \ - --hash=sha256:74398a4cf19de42e1498368c36eed45d9528f5fd0155241e82c4082b7e16cffd \ - --hash=sha256:7938111ed1358f536daf311be244f34df7bf3cdedb3ed883787aca97778b28d8 \ - --hash=sha256:82d92c773fbc6942a7a8b520d22c11cfc8fd83bba86116bfcf962c2f5c2ecdaa \ - --hash=sha256:83b5c044f3eff2a6534768ccfd50425939e7a8b5cf9a7261c385de1e20dcfc85 \ - --hash=sha256:8db8e423192303ed77cff4dce3a4b88dbfaf43979d280181558af5e2c3c71afc \ - --hash=sha256:9517004e21664f2b5a5fd6333b0731b9cf0817403a941b393d89a2f1dc2bd836 \ - --hash=sha256:95c02b0e27e706e48d0e5426d1710ca78e0f0628d6e89d5b5a5b91a5f12274f3 \ - --hash=sha256:99881222f4a8c2f641f25703963a5cefb076adffd959e0558dc9f803a52d6a58 \ - --hash=sha256:9ee32dcb8e531adae1f1ca568822e9b3a738369b3b686d1477cbc643c4a9c128 \ - --hash=sha256:a22e47578b30a3e199ab067a4d43d790249b3c0587d9a771921f86250c8435db \ - --hash=sha256:b5505774ea2a73a86ea176e8a9a4a7c8bf5d521050f0f6f8426afe798689243f \ - --hash=sha256:bd739c9251d01e0279ce729e37b39d49a08c0420d3fee7f2a4968c0576678f77 \ - --hash=sha256:d16a786905034e7e34098634b184a7d81f91d4c3d246edc6bd7aefb2fd8ea6ad \ - --hash=sha256:d3420522057ebab1728b21ad473aa950026d07cb09da41103f8e597dfbfaeb13 \ - --hash=sha256:d56fd9f1f1cdc8227d7b7918f55091349741904d9520c65f0139a9755952c9e8 \ - --hash=sha256:d661dc4785affa9d0edfdd1e59ec056a58b3dbb9f196fa43587f3ddac654ac7b \ - --hash=sha256:dfe1f0f0ed5785c187144c46a292b8c34c1295c01da12e10ccddfc16def4448a \ - --hash=sha256:e1dd7839443592d00e96db831eddb4111a2a81a46b028f0facd60a09ebbdd543 \ - --hash=sha256:e2872993e209f7ed04d963e4b4fbae72d034844ec66bc4ca403329db2074377b \ - --hash=sha256:e2f879ab92ce502a1e65fce390eab619774dda6a6ff719718069ac94084098ce \ - --hash=sha256:e3aa7e51d738e0ec0afbed661261513b38b3014754c9459508399baf14ae0c9d \ - --hash=sha256:e532dbd6ddfe13946de050d7474e3f5fb6ec774fbb1a188aaf469b08cf04189a \ - --hash=sha256:e6b7842518a63a9f17107eb176320960ec095a8ee3b4420b5f688e24bf50c53c \ - --hash=sha256:e75753aeda0ddc4c28dce4c32ba2f6ec30b1b02f6c0b14e547841ba5b24f753f \ - --hash=sha256:eadb9f826c138e6cf3c49d6f8de88225a3c0ab181a9b4ba792e006e5292d150e \ - --hash=sha256:ed59dd52075f8fc91da6053b12e8c89e37aa043f8986efd89e61fae69dc1b011 \ - --hash=sha256:ef254a06bcea461e65ff0373d8a0dd1ed3aa004af48839f002a0c994a6f72d04 \ - --hash=sha256:f3709997b228685fe53e8c433e2df9f0cdb5f4542bd5114ed17ac3c0129b0480 \ - --hash=sha256:f51bab98d52739c50c56658cc303f190785f9a2cd97b823357e7aeae54c8f68a \ - --hash=sha256:f9904e24646570539a8950400602d66d2b2c492b9010ea7e965025cb71d0c86d \ - --hash=sha256:f9af38a89b6a5c04b7d18c492c8ccf2aee7048aff1ce8437c4683bb5a1df893d -multidict==6.0.5 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:01265f5e40f5a17f8241d52656ed27192be03bfa8764d88e8220141d1e4b3556 \ - --hash=sha256:0275e35209c27a3f7951e1ce7aaf93ce0d163b28948444bec61dd7badc6d3f8c \ - --hash=sha256:04bde7a7b3de05732a4eb39c94574db1ec99abb56162d6c520ad26f83267de29 \ - --hash=sha256:04da1bb8c8dbadf2a18a452639771951c662c5ad03aefe4884775454be322c9b \ - --hash=sha256:09a892e4a9fb47331da06948690ae38eaa2426de97b4ccbfafbdcbe5c8f37ff8 \ - --hash=sha256:0d63c74e3d7ab26de115c49bffc92cc77ed23395303d496eae515d4204a625e7 \ - --hash=sha256:107c0cdefe028703fb5dafe640a409cb146d44a6ae201e55b35a4af8e95457dd \ - --hash=sha256:141b43360bfd3bdd75f15ed811850763555a251e38b2405967f8e25fb43f7d40 \ - --hash=sha256:14c2976aa9038c2629efa2c148022ed5eb4cb939e15ec7aace7ca932f48f9ba6 \ - --hash=sha256:19fe01cea168585ba0f678cad6f58133db2aa14eccaf22f88e4a6dccadfad8b3 \ - --hash=sha256:1d147090048129ce3c453f0292e7697d333db95e52616b3793922945804a433c \ - --hash=sha256:1d9ea7a7e779d7a3561aade7d596649fbecfa5c08a7674b11b423783217933f9 \ - --hash=sha256:215ed703caf15f578dca76ee6f6b21b7603791ae090fbf1ef9d865571039ade5 \ - --hash=sha256:21fd81c4ebdb4f214161be351eb5bcf385426bf023041da2fd9e60681f3cebae \ - --hash=sha256:220dd781e3f7af2c2c1053da9fa96d9cf3072ca58f057f4c5adaaa1cab8fc442 \ - --hash=sha256:228b644ae063c10e7f324ab1ab6b548bdf6f8b47f3ec234fef1093bc2735e5f9 \ - --hash=sha256:29bfeb0dff5cb5fdab2023a7a9947b3b4af63e9c47cae2a10ad58394b517fddc \ - --hash=sha256:2f4848aa3baa109e6ab81fe2006c77ed4d3cd1e0ac2c1fbddb7b1277c168788c \ - --hash=sha256:2faa5ae9376faba05f630d7e5e6be05be22913782b927b19d12b8145968a85ea \ - --hash=sha256:2ffc42c922dbfddb4a4c3b438eb056828719f07608af27d163191cb3e3aa6cc5 \ - --hash=sha256:37b15024f864916b4951adb95d3a80c9431299080341ab9544ed148091b53f50 \ - --hash=sha256:3cc2ad10255f903656017363cd59436f2111443a76f996584d1077e43ee51182 \ - --hash=sha256:3d25f19500588cbc47dc19081d78131c32637c25804df8414463ec908631e453 \ - --hash=sha256:403c0911cd5d5791605808b942c88a8155c2592e05332d2bf78f18697a5fa15e \ - --hash=sha256:411bf8515f3be9813d06004cac41ccf7d1cd46dfe233705933dd163b60e37600 \ - --hash=sha256:425bf820055005bfc8aa9a0b99ccb52cc2f4070153e34b701acc98d201693733 \ - --hash=sha256:435a0984199d81ca178b9ae2c26ec3d49692d20ee29bc4c11a2a8d4514c67eda \ - --hash=sha256:4a6a4f196f08c58c59e0b8ef8ec441d12aee4125a7d4f4fef000ccb22f8d7241 \ - --hash=sha256:4cc0ef8b962ac7a5e62b9e826bd0cd5040e7d401bc45a6835910ed699037a461 \ - --hash=sha256:51d035609b86722963404f711db441cf7134f1889107fb171a970c9701f92e1e \ - --hash=sha256:53689bb4e102200a4fafa9de9c7c3c212ab40a7ab2c8e474491914d2305f187e \ - --hash=sha256:55205d03e8a598cfc688c71ca8ea5f66447164efff8869517f175ea632c7cb7b \ - --hash=sha256:5c0631926c4f58e9a5ccce555ad7747d9a9f8b10619621f22f9635f069f6233e \ - --hash=sha256:5cb241881eefd96b46f89b1a056187ea8e9ba14ab88ba632e68d7a2ecb7aadf7 \ - --hash=sha256:60d698e8179a42ec85172d12f50b1668254628425a6bd611aba022257cac1386 \ - --hash=sha256:612d1156111ae11d14afaf3a0669ebf6c170dbb735e510a7438ffe2369a847fd \ - --hash=sha256:6214c5a5571802c33f80e6c84713b2c79e024995b9c5897f794b43e714daeec9 \ - --hash=sha256:6939c95381e003f54cd4c5516740faba40cf5ad3eeff460c3ad1d3e0ea2549bf \ - --hash=sha256:69db76c09796b313331bb7048229e3bee7928eb62bab5e071e9f7fcc4879caee \ - --hash=sha256:6bf7a982604375a8d49b6cc1b781c1747f243d91b81035a9b43a2126c04766f5 \ - --hash=sha256:766c8f7511df26d9f11cd3a8be623e59cca73d44643abab3f8c8c07620524e4a \ - --hash=sha256:76c0de87358b192de7ea9649beb392f107dcad9ad27276324c24c91774ca5271 \ - --hash=sha256:76f067f5121dcecf0d63a67f29080b26c43c71a98b10c701b0677e4a065fbd54 \ - --hash=sha256:7901c05ead4b3fb75113fb1dd33eb1253c6d3ee37ce93305acd9d38e0b5f21a4 \ - --hash=sha256:79660376075cfd4b2c80f295528aa6beb2058fd289f4c9252f986751a4cd0496 \ - --hash=sha256:79a6d2ba910adb2cbafc95dad936f8b9386e77c84c35bc0add315b856d7c3abb \ - --hash=sha256:7afcdd1fc07befad18ec4523a782cde4e93e0a2bf71239894b8d61ee578c1319 \ - --hash=sha256:7be7047bd08accdb7487737631d25735c9a04327911de89ff1b26b81745bd4e3 \ - --hash=sha256:7c6390cf87ff6234643428991b7359b5f59cc15155695deb4eda5c777d2b880f \ - --hash=sha256:7df704ca8cf4a073334e0427ae2345323613e4df18cc224f647f251e5e75a527 \ - --hash=sha256:85f67aed7bb647f93e7520633d8f51d3cbc6ab96957c71272b286b2f30dc70ed \ - --hash=sha256:896ebdcf62683551312c30e20614305f53125750803b614e9e6ce74a96232604 \ - --hash=sha256:92d16a3e275e38293623ebf639c471d3e03bb20b8ebb845237e0d3664914caef \ - --hash=sha256:99f60d34c048c5c2fabc766108c103612344c46e35d4ed9ae0673d33c8fb26e8 \ - --hash=sha256:9fe7b0653ba3d9d65cbe7698cca585bf0f8c83dbbcc710db9c90f478e175f2d5 \ - --hash=sha256:a3145cb08d8625b2d3fee1b2d596a8766352979c9bffe5d7833e0503d0f0b5e5 \ - --hash=sha256:aeaf541ddbad8311a87dd695ed9642401131ea39ad7bc8cf3ef3967fd093b626 \ - --hash=sha256:b55358304d7a73d7bdf5de62494aaf70bd33015831ffd98bc498b433dfe5b10c \ - --hash=sha256:b82cc8ace10ab5bd93235dfaab2021c70637005e1ac787031f4d1da63d493c1d \ - --hash=sha256:c0868d64af83169e4d4152ec612637a543f7a336e4a307b119e98042e852ad9c \ - --hash=sha256:c1c1496e73051918fcd4f58ff2e0f2f3066d1c76a0c6aeffd9b45d53243702cc \ - --hash=sha256:c9bf56195c6bbd293340ea82eafd0071cb3d450c703d2c93afb89f93b8386ccc \ - --hash=sha256:cbebcd5bcaf1eaf302617c114aa67569dd3f090dd0ce8ba9e35e9985b41ac35b \ - --hash=sha256:cd6c8fca38178e12c00418de737aef1261576bd1b6e8c6134d3e729a4e858b38 \ - --hash=sha256:ceb3b7e6a0135e092de86110c5a74e46bda4bd4fbfeeb3a3bcec79c0f861e450 \ - --hash=sha256:cf590b134eb70629e350691ecca88eac3e3b8b3c86992042fb82e3cb1830d5e1 \ - --hash=sha256:d3eb1ceec286eba8220c26f3b0096cf189aea7057b6e7b7a2e60ed36b373b77f \ - --hash=sha256:d65f25da8e248202bd47445cec78e0025c0fe7582b23ec69c3b27a640dd7a8e3 \ - --hash=sha256:d6f6d4f185481c9669b9447bf9d9cf3b95a0e9df9d169bbc17e363b7d5487755 \ - --hash=sha256:d84a5c3a5f7ce6db1f999fb9438f686bc2e09d38143f2d93d8406ed2dd6b9226 \ - --hash=sha256:d946b0a9eb8aaa590df1fe082cee553ceab173e6cb5b03239716338629c50c7a \ - --hash=sha256:dce1c6912ab9ff5f179eaf6efe7365c1f425ed690b03341911bf4939ef2f3046 \ - --hash=sha256:de170c7b4fe6859beb8926e84f7d7d6c693dfe8e27372ce3b76f01c46e489fcf \ - --hash=sha256:e02021f87a5b6932fa6ce916ca004c4d441509d33bbdbeca70d05dff5e9d2479 \ - --hash=sha256:e030047e85cbcedbfc073f71836d62dd5dadfbe7531cae27789ff66bc551bd5e \ - --hash=sha256:e0e79d91e71b9867c73323a3444724d496c037e578a0e1755ae159ba14f4f3d1 \ - --hash=sha256:e4428b29611e989719874670fd152b6625500ad6c686d464e99f5aaeeaca175a \ - --hash=sha256:e4972624066095e52b569e02b5ca97dbd7a7ddd4294bf4e7247d52635630dd83 \ - --hash=sha256:e7be68734bd8c9a513f2b0cfd508802d6609da068f40dc57d4e3494cefc92929 \ - --hash=sha256:e8e94e6912639a02ce173341ff62cc1201232ab86b8a8fcc05572741a5dc7d93 \ - --hash=sha256:ea1456df2a27c73ce51120fa2f519f1bea2f4a03a917f4a43c8707cf4cbbae1a \ - --hash=sha256:ebd8d160f91a764652d3e51ce0d2956b38efe37c9231cd82cfc0bed2e40b581c \ - --hash=sha256:eca2e9d0cc5a889850e9bbd68e98314ada174ff6ccd1129500103df7a94a7a44 \ - --hash=sha256:edd08e6f2f1a390bf137080507e44ccc086353c8e98c657e666c017718561b89 \ - --hash=sha256:f285e862d2f153a70586579c15c44656f888806ed0e5b56b64489afe4a2dbfba \ - --hash=sha256:f2a1dee728b52b33eebff5072817176c172050d44d67befd681609b4746e1c2e \ - --hash=sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da \ - --hash=sha256:fb616be3538599e797a2017cccca78e354c767165e8858ab5116813146041a24 \ - --hash=sha256:fce28b3c8a81b6b36dfac9feb1de115bab619b3c13905b419ec71d03a3fc1423 \ - --hash=sha256:fe5d7785250541f7f5019ab9cba2c71169dc7d74d0f45253f8313f436458a4ef -mypy-extensions==1.0.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d \ - --hash=sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782 -nbclient==0.10.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:4b3f1b7dba531e498449c4db4f53da339c91d449dc11e9af3a43b4eb5c5abb09 \ - --hash=sha256:f13e3529332a1f1f81d82a53210322476a168bb7090a0289c795fe9cc11c9d3f -nbconvert==7.16.4 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:05873c620fe520b6322bf8a5ad562692343fe3452abda5765c7a34b7d1aa3eb3 \ - --hash=sha256:86ca91ba266b0a448dc96fa6c5b9d98affabde2867b363258703536807f9f7f4 -nbformat==5.10.4 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a \ - --hash=sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b -nest-asyncio==1.6.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe \ - --hash=sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c -nodeenv==1.9.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f \ - --hash=sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9 -notebook-shim==0.2.4 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef \ - --hash=sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb -notebook==7.2.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:2ef07d4220421623ad3fe88118d687bc0450055570cdd160814a59cf3a1c516e \ - --hash=sha256:c89264081f671bc02eec0ed470a627ed791b9156cad9285226b31611d3e9fe1c -numpy==2.1.0 ; python_version >= "3.10" and python_version < "4" \ - --hash=sha256:08801848a40aea24ce16c2ecde3b756f9ad756586fb2d13210939eb69b023f5b \ - --hash=sha256:0937e54c09f7a9a68da6889362ddd2ff584c02d015ec92672c099b61555f8911 \ - --hash=sha256:0ab32eb9170bf8ffcbb14f11613f4a0b108d3ffee0832457c5d4808233ba8977 \ - --hash=sha256:0abb3916a35d9090088a748636b2c06dc9a6542f99cd476979fb156a18192b84 \ - --hash=sha256:0af3a5987f59d9c529c022c8c2a64805b339b7ef506509fba7d0556649b9714b \ - --hash=sha256:10e2350aea18d04832319aac0f887d5fcec1b36abd485d14f173e3e900b83e33 \ - --hash=sha256:15ef8b2177eeb7e37dd5ef4016f30b7659c57c2c0b57a779f1d537ff33a72c7b \ - --hash=sha256:1f817c71683fd1bb5cff1529a1d085a57f02ccd2ebc5cd2c566f9a01118e3b7d \ - --hash=sha256:24003ba8ff22ea29a8c306e61d316ac74111cebf942afbf692df65509a05f111 \ - --hash=sha256:30014b234f07b5fec20f4146f69e13cfb1e33ee9a18a1879a0142fbb00d47673 \ - --hash=sha256:343e3e152bf5a087511cd325e3b7ecfd5b92d369e80e74c12cd87826e263ec06 \ - --hash=sha256:378cb4f24c7d93066ee4103204f73ed046eb88f9ad5bb2275bb9fa0f6a02bd36 \ - --hash=sha256:398049e237d1aae53d82a416dade04defed1a47f87d18d5bd615b6e7d7e41d1f \ - --hash=sha256:3a3336fbfa0d38d3deacd3fe7f3d07e13597f29c13abf4d15c3b6dc2291cbbdd \ - --hash=sha256:442596f01913656d579309edcd179a2a2f9977d9a14ff41d042475280fc7f34e \ - --hash=sha256:44e44973262dc3ae79e9063a1284a73e09d01b894b534a769732ccd46c28cc62 \ - --hash=sha256:54139e0eb219f52f60656d163cbe67c31ede51d13236c950145473504fa208cb \ - --hash=sha256:5474dad8c86ee9ba9bb776f4b99ef2d41b3b8f4e0d199d4f7304728ed34d0300 \ - --hash=sha256:54c6a63e9d81efe64bfb7bcb0ec64332a87d0b87575f6009c8ba67ea6374770b \ - --hash=sha256:624884b572dff8ca8f60fab591413f077471de64e376b17d291b19f56504b2bb \ - --hash=sha256:6326ab99b52fafdcdeccf602d6286191a79fe2fda0ae90573c5814cd2b0bc1b8 \ - --hash=sha256:652e92fc409e278abdd61e9505649e3938f6d04ce7ef1953f2ec598a50e7c195 \ - --hash=sha256:6c1de77ded79fef664d5098a66810d4d27ca0224e9051906e634b3f7ead134c2 \ - --hash=sha256:76368c788ccb4f4782cf9c842b316140142b4cbf22ff8db82724e82fe1205dce \ - --hash=sha256:7a894c51fd8c4e834f00ac742abad73fc485df1062f1b875661a3c1e1fb1c2f6 \ - --hash=sha256:7dc90da0081f7e1da49ec4e398ede6a8e9cc4f5ebe5f9e06b443ed889ee9aaa2 \ - --hash=sha256:848c6b5cad9898e4b9ef251b6f934fa34630371f2e916261070a4eb9092ffd33 \ - --hash=sha256:899da829b362ade41e1e7eccad2cf274035e1cb36ba73034946fccd4afd8606b \ - --hash=sha256:8ab81ccd753859ab89e67199b9da62c543850f819993761c1e94a75a814ed667 \ - --hash=sha256:8fb49a0ba4d8f41198ae2d52118b050fd34dace4b8f3fb0ee34e23eb4ae775b1 \ - --hash=sha256:9156ca1f79fc4acc226696e95bfcc2b486f165a6a59ebe22b2c1f82ab190384a \ - --hash=sha256:9523f8b46485db6939bd069b28b642fec86c30909cea90ef550373787f79530e \ - --hash=sha256:a0756a179afa766ad7cb6f036de622e8a8f16ffdd55aa31f296c870b5679d745 \ - --hash=sha256:a0cdef204199278f5c461a0bed6ed2e052998276e6d8ab2963d5b5c39a0500bc \ - --hash=sha256:ab83adc099ec62e044b1fbb3a05499fa1e99f6d53a1dde102b2d85eff66ed324 \ - --hash=sha256:b34fa5e3b5d6dc7e0a4243fa0f81367027cb6f4a7215a17852979634b5544ee0 \ - --hash=sha256:b47c551c6724960479cefd7353656498b86e7232429e3a41ab83be4da1b109e8 \ - --hash=sha256:c4cd94dfefbefec3f8b544f61286584292d740e6e9d4677769bc76b8f41deb02 \ - --hash=sha256:c4f982715e65036c34897eb598d64aef15150c447be2cfc6643ec7a11af06574 \ - --hash=sha256:d8f699a709120b220dfe173f79c73cb2a2cab2c0b88dd59d7b49407d032b8ebd \ - --hash=sha256:dd94ce596bda40a9618324547cfaaf6650b1a24f5390350142499aa4e34e53d1 \ - --hash=sha256:de844aaa4815b78f6023832590d77da0e3b6805c644c33ce94a1e449f16d6ab5 \ - --hash=sha256:e5f0642cdf4636198a4990de7a71b693d824c56a757862230454629cf62e323d \ - --hash=sha256:f07fa2f15dabe91259828ce7d71b5ca9e2eb7c8c26baa822c825ce43552f4883 \ - --hash=sha256:f15976718c004466406342789f31b6673776360f3b1e3c575f25302d7e789575 \ - --hash=sha256:f358ea9e47eb3c2d6eba121ab512dfff38a88db719c38d1e67349af210bc7529 \ - --hash=sha256:f505264735ee074250a9c78247ee8618292091d9d1fcc023290e9ac67e8f1afa \ - --hash=sha256:f5ebbf9fbdabed208d4ecd2e1dfd2c0741af2f876e7ae522c2537d404ca895c3 \ - --hash=sha256:f6b26e6c3b98adb648243670fddc8cab6ae17473f9dc58c51574af3e64d61211 \ - --hash=sha256:f8e93a01a35be08d31ae33021e5268f157a2d60ebd643cfc15de6ab8e4722eb1 \ - --hash=sha256:fe76d75b345dc045acdbc006adcb197cc680754afd6c259de60d358d60c93736 \ - --hash=sha256:ffbd6faeb190aaf2b5e9024bac9622d2ee549b7ec89ef3a9373fa35313d44e0e -oauth2client==4.1.3 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:b8a81cc5d60e2d364f0b1b98f958dbd472887acaf1a5b05e21c28c31a2d6d3ac \ - --hash=sha256:d486741e451287f69568a4d26d70d9acd73a2bbfa275746c535b4209891cccc6 -oauthlib==3.2.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:8139f29aac13e25d502680e9e19963e83f16838d48a0d71c287fe40e7067fbca \ - --hash=sha256:9859c40929662bec5d64f34d01c99e093149682a3f38915dc0655d5a633dd918 -overrides==7.7.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a \ - --hash=sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49 -packaging==24.1 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002 \ - --hash=sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124 -paginate==0.5.7 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945 \ - --hash=sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591 -pandas==2.2.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:001910ad31abc7bf06f49dcc903755d2f7f3a9186c0c040b827e522e9cef0863 \ - --hash=sha256:0ca6377b8fca51815f382bd0b697a0814c8bda55115678cbc94c30aacbb6eff2 \ - --hash=sha256:0cace394b6ea70c01ca1595f839cf193df35d1575986e484ad35c4aeae7266c1 \ - --hash=sha256:1cb51fe389360f3b5a4d57dbd2848a5f033350336ca3b340d1c53a1fad33bcad \ - --hash=sha256:2925720037f06e89af896c70bca73459d7e6a4be96f9de79e2d440bd499fe0db \ - --hash=sha256:3e374f59e440d4ab45ca2fffde54b81ac3834cf5ae2cdfa69c90bc03bde04d76 \ - --hash=sha256:40ae1dffb3967a52203105a077415a86044a2bea011b5f321c6aa64b379a3f51 \ - --hash=sha256:43498c0bdb43d55cb162cdc8c06fac328ccb5d2eabe3cadeb3529ae6f0517c32 \ - --hash=sha256:4abfe0be0d7221be4f12552995e58723c7422c80a659da13ca382697de830c08 \ - --hash=sha256:58b84b91b0b9f4bafac2a0ac55002280c094dfc6402402332c0913a59654ab2b \ - --hash=sha256:640cef9aa381b60e296db324337a554aeeb883ead99dc8f6c18e81a93942f5f4 \ - --hash=sha256:66b479b0bd07204e37583c191535505410daa8df638fd8e75ae1b383851fe921 \ - --hash=sha256:696039430f7a562b74fa45f540aca068ea85fa34c244d0deee539cb6d70aa288 \ - --hash=sha256:6d2123dc9ad6a814bcdea0f099885276b31b24f7edf40f6cdbc0912672e22eee \ - --hash=sha256:8635c16bf3d99040fdf3ca3db669a7250ddf49c55dc4aa8fe0ae0fa8d6dcc1f0 \ - --hash=sha256:873d13d177501a28b2756375d59816c365e42ed8417b41665f346289adc68d24 \ - --hash=sha256:8e5a0b00e1e56a842f922e7fae8ae4077aee4af0acb5ae3622bd4b4c30aedf99 \ - --hash=sha256:8e90497254aacacbc4ea6ae5e7a8cd75629d6ad2b30025a4a8b09aa4faf55151 \ - --hash=sha256:9057e6aa78a584bc93a13f0a9bf7e753a5e9770a30b4d758b8d5f2a62a9433cd \ - --hash=sha256:90c6fca2acf139569e74e8781709dccb6fe25940488755716d1d354d6bc58bce \ - --hash=sha256:92fd6b027924a7e178ac202cfbe25e53368db90d56872d20ffae94b96c7acc57 \ - --hash=sha256:9dfde2a0ddef507a631dc9dc4af6a9489d5e2e740e226ad426a05cabfbd7c8ef \ - --hash=sha256:9e79019aba43cb4fda9e4d983f8e88ca0373adbb697ae9c6c43093218de28b54 \ - --hash=sha256:a77e9d1c386196879aa5eb712e77461aaee433e54c68cf253053a73b7e49c33a \ - --hash=sha256:c7adfc142dac335d8c1e0dcbd37eb8617eac386596eb9e1a1b77791cf2498238 \ - --hash=sha256:d187d355ecec3629624fccb01d104da7d7f391db0311145817525281e2804d23 \ - --hash=sha256:ddf818e4e6c7c6f4f7c8a12709696d193976b591cc7dc50588d3d1a6b5dc8772 \ - --hash=sha256:e9b79011ff7a0f4b1d6da6a61aa1aa604fb312d6647de5bad20013682d1429ce \ - --hash=sha256:eee3a87076c0756de40b05c5e9a6069c035ba43e8dd71c379e68cab2c20f16ad -pandocfilters==1.5.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e \ - --hash=sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc -paramiko==3.4.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:8b15302870af7f6652f2e038975c1d2973f06046cb5d7d65355668b3ecbece0c \ - --hash=sha256:8e49fd2f82f84acf7ffd57c64311aa2b30e575370dc23bdb375b10262f7eac32 -parso==0.8.4 ; python_version >= "3.10" and python_version < "4" \ - --hash=sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18 \ - --hash=sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d -pathspec==0.12.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 \ - --hash=sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712 -peewee==3.17.6 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:cea5592c6f4da1592b7cff8eaf655be6648a1f5857469e30037bf920c03fb8fb -pexpect==4.9.0 ; python_version >= "3.10" and python_version < "4.0" \ - --hash=sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523 \ - --hash=sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f -pillow==10.4.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885 \ - --hash=sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea \ - --hash=sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df \ - --hash=sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5 \ - --hash=sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c \ - --hash=sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d \ - --hash=sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd \ - --hash=sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06 \ - --hash=sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908 \ - --hash=sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a \ - --hash=sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be \ - --hash=sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0 \ - --hash=sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b \ - --hash=sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80 \ - --hash=sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a \ - --hash=sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e \ - --hash=sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9 \ - --hash=sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696 \ - --hash=sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b \ - --hash=sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309 \ - --hash=sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e \ - --hash=sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab \ - --hash=sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d \ - --hash=sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060 \ - --hash=sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d \ - --hash=sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d \ - --hash=sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4 \ - --hash=sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3 \ - --hash=sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6 \ - --hash=sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb \ - --hash=sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94 \ - --hash=sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b \ - --hash=sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496 \ - --hash=sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0 \ - --hash=sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319 \ - --hash=sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b \ - --hash=sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856 \ - --hash=sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef \ - --hash=sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680 \ - --hash=sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b \ - --hash=sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42 \ - --hash=sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e \ - --hash=sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597 \ - --hash=sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a \ - --hash=sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8 \ - --hash=sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3 \ - --hash=sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736 \ - --hash=sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da \ - --hash=sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126 \ - --hash=sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd \ - --hash=sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5 \ - --hash=sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b \ - --hash=sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026 \ - --hash=sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b \ - --hash=sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc \ - --hash=sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46 \ - --hash=sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2 \ - --hash=sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c \ - --hash=sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe \ - --hash=sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984 \ - --hash=sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a \ - --hash=sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70 \ - --hash=sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca \ - --hash=sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b \ - --hash=sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91 \ - --hash=sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3 \ - --hash=sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84 \ - --hash=sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1 \ - --hash=sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5 \ - --hash=sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be \ - --hash=sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f \ - --hash=sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc \ - --hash=sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9 \ - --hash=sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e \ - --hash=sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141 \ - --hash=sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef \ - --hash=sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22 \ - --hash=sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27 \ - --hash=sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e \ - --hash=sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1 -pkginfo==1.11.1 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:2e0dca1cf4c8e39644eed32408ea9966ee15e0d324c62ba899a393b3c6b467aa \ - --hash=sha256:bfa76a714fdfc18a045fcd684dbfc3816b603d9d075febef17cb6582bea29573 -platformdirs==4.2.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee \ - --hash=sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3 -pluggy==1.5.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1 \ - --hash=sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669 -poetry-core==1.9.0 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:4e0c9c6ad8cf89956f03b308736d84ea6ddb44089d16f2adc94050108ec1f5a1 \ - --hash=sha256:fa7a4001eae8aa572ee84f35feb510b321bd652e5cf9293249d62853e1f935a2 -poetry-plugin-export==1.8.0 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:1fa6168a85d59395d835ca564bc19862a7c76061e60c3e7dfaec70d50937fc61 \ - --hash=sha256:adbe232cfa0cc04991ea3680c865cf748bff27593b9abcb1f35fb50ed7ba2c22 -poetry==1.8.3 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:67f4eb68288eab41e841cc71a00d26cf6bdda9533022d0189a145a34d0a35f48 \ - --hash=sha256:88191c69b08d06f9db671b793d68f40048e8904c0718404b63dcc2b5aec62d13 -pre-commit==3.8.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:8bb6494d4a20423842e198980c9ecf9f96607a07ea29549e180eef9ae80fe7af \ - --hash=sha256:9a90a53bf82fdd8778d58085faf8d83df56e40dfe18f45b19446e26bf1b3a63f -priority==2.0.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:6f8eefce5f3ad59baf2c080a664037bb4725cd0a790d53d59ab4059288faf6aa \ - --hash=sha256:c965d54f1b8d0d0b19479db3924c7c36cf672dbf2aec92d43fbdaf4492ba18c0 -prometheus-client==0.20.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:287629d00b147a32dcb2be0b9df905da599b2d82f80377083ec8463309a4bb89 \ - --hash=sha256:cde524a85bce83ca359cc837f28b8c0db5cac7aa653a588fd7e84ba061c329e7 -prompt-toolkit==3.0.47 ; python_version >= "3.10" and python_version < "4" \ - --hash=sha256:0d7bfa67001d5e39d02c224b663abc33687405033a8c422d0d675a5a13361d10 \ - --hash=sha256:1e1b29cb58080b1e69f207c893a1a7bf16d127a5c30c9d17a25a5d77792e5360 -proto-plus==1.24.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:30b72a5ecafe4406b0d339db35b56c4059064e69227b8c3bda7462397f966445 \ - --hash=sha256:402576830425e5f6ce4c2a6702400ac79897dab0b4343821aa5188b0fab81a12 -protobuf==5.28.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:018db9056b9d75eb93d12a9d35120f97a84d9a919bcab11ed56ad2d399d6e8dd \ - --hash=sha256:510ed78cd0980f6d3218099e874714cdf0d8a95582e7b059b06cabad855ed0a0 \ - --hash=sha256:532627e8fdd825cf8767a2d2b94d77e874d5ddb0adefb04b237f7cc296748681 \ - --hash=sha256:6206afcb2d90181ae8722798dcb56dc76675ab67458ac24c0dd7d75d632ac9bd \ - --hash=sha256:66c3edeedb774a3508ae70d87b3a19786445fe9a068dd3585e0cefa8a77b83d0 \ - --hash=sha256:6d7cc9e60f976cf3e873acb9a40fed04afb5d224608ed5c1a105db4a3f09c5b6 \ - --hash=sha256:853db610214e77ee817ecf0514e0d1d052dff7f63a0c157aa6eabae98db8a8de \ - --hash=sha256:d001a73c8bc2bf5b5c1360d59dd7573744e163b3607fa92788b7f3d5fefbd9a5 \ - --hash=sha256:dde74af0fa774fa98892209992295adbfb91da3fa98c8f67a88afe8f5a349add \ - --hash=sha256:dde9fcaa24e7a9654f4baf2a55250b13a5ea701493d904c54069776b99a8216b \ - --hash=sha256:eef7a8a2f4318e2cb2dee8666d26e58eaf437c14788f3a2911d0c3da40405ae8 -psutil==6.0.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:02b69001f44cc73c1c5279d02b30a817e339ceb258ad75997325e0e6169d8b35 \ - --hash=sha256:1287c2b95f1c0a364d23bc6f2ea2365a8d4d9b726a3be7294296ff7ba97c17f0 \ - --hash=sha256:1e7c870afcb7d91fdea2b37c24aeb08f98b6d67257a5cb0a8bc3ac68d0f1a68c \ - --hash=sha256:21f1fb635deccd510f69f485b87433460a603919b45e2a324ad65b0cc74f8fb1 \ - --hash=sha256:33ea5e1c975250a720b3a6609c490db40dae5d83a4eb315170c4fe0d8b1f34b3 \ - --hash=sha256:34859b8d8f423b86e4385ff3665d3f4d94be3cdf48221fbe476e883514fdb71c \ - --hash=sha256:5fd9a97c8e94059b0ef54a7d4baf13b405011176c3b6ff257c247cae0d560ecd \ - --hash=sha256:6ec7588fb3ddaec7344a825afe298db83fe01bfaaab39155fa84cf1c0d6b13c3 \ - --hash=sha256:6ed2440ada7ef7d0d608f20ad89a04ec47d2d3ab7190896cd62ca5fc4fe08bf0 \ - --hash=sha256:8faae4f310b6d969fa26ca0545338b21f73c6b15db7c4a8d934a5482faa818f2 \ - --hash=sha256:a021da3e881cd935e64a3d0a20983bda0bb4cf80e4f74fa9bfcb1bc5785360c6 \ - --hash=sha256:a495580d6bae27291324fe60cea0b5a7c23fa36a7cd35035a16d93bdcf076b9d \ - --hash=sha256:a9a3dbfb4de4f18174528d87cc352d1f788b7496991cca33c6996f40c9e3c92c \ - --hash=sha256:c588a7e9b1173b6e866756dde596fd4cad94f9399daf99ad8c3258b3cb2b47a0 \ - --hash=sha256:e2e8d0054fc88153ca0544f5c4d554d42e33df2e009c4ff42284ac9ebdef4132 \ - --hash=sha256:fc8c9510cde0146432bbdb433322861ee8c3efbf8589865c8bf8d21cb30c4d14 \ - --hash=sha256:ffe7fc9b6b36beadc8c322f84e1caff51e8703b88eee1da46d1e3a6ae11b4fd0 -ptyprocess==0.7.0 ; python_version >= "3.10" and python_version < "4.0" \ - --hash=sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35 \ - --hash=sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220 -pure-eval==0.2.3 ; python_version >= "3.10" and python_version < "4" \ - --hash=sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0 \ - --hash=sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42 -pyasn1-modules==0.4.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:831dbcea1b177b28c9baddf4c6d1013c24c3accd14a1873fffaa6a2e905f17b6 \ - --hash=sha256:be04f15b66c206eed667e0bb5ab27e2b1855ea54a842e5037738099e8ca4ae0b -pyasn1==0.6.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c \ - --hash=sha256:cca4bb0f2df5504f02f6f8a775b6e416ff9b0b3b16f7ee80b5a3153d9b804473 -pycparser==2.22 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6 \ - --hash=sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc -pydantic-core==2.20.1 ; python_version >= "3.10" and python_version < "4.0" \ - --hash=sha256:035ede2e16da7281041f0e626459bcae33ed998cca6a0a007a5ebb73414ac72d \ - --hash=sha256:04024d270cf63f586ad41fff13fde4311c4fc13ea74676962c876d9577bcc78f \ - --hash=sha256:0827505a5c87e8aa285dc31e9ec7f4a17c81a813d45f70b1d9164e03a813a686 \ - --hash=sha256:084659fac3c83fd674596612aeff6041a18402f1e1bc19ca39e417d554468482 \ - --hash=sha256:10d4204d8ca33146e761c79f83cc861df20e7ae9f6487ca290a97702daf56006 \ - --hash=sha256:11b71d67b4725e7e2a9f6e9c0ac1239bbc0c48cce3dc59f98635efc57d6dac83 \ - --hash=sha256:150906b40ff188a3260cbee25380e7494ee85048584998c1e66df0c7a11c17a6 \ - --hash=sha256:175873691124f3d0da55aeea1d90660a6ea7a3cfea137c38afa0a5ffabe37b88 \ - --hash=sha256:177f55a886d74f1808763976ac4efd29b7ed15c69f4d838bbd74d9d09cf6fa86 \ - --hash=sha256:19c0fa39fa154e7e0b7f82f88ef85faa2a4c23cc65aae2f5aea625e3c13c735a \ - --hash=sha256:1eedfeb6089ed3fad42e81a67755846ad4dcc14d73698c120a82e4ccf0f1f9f6 \ - --hash=sha256:225b67a1f6d602de0ce7f6c1c3ae89a4aa25d3de9be857999e9124f15dab486a \ - --hash=sha256:242b8feb3c493ab78be289c034a1f659e8826e2233786e36f2893a950a719bb6 \ - --hash=sha256:254ec27fdb5b1ee60684f91683be95e5133c994cc54e86a0b0963afa25c8f8a6 \ - --hash=sha256:25e9185e2d06c16ee438ed39bf62935ec436474a6ac4f9358524220f1b236e43 \ - --hash=sha256:26ab812fa0c845df815e506be30337e2df27e88399b985d0bb4e3ecfe72df31c \ - --hash=sha256:26ca695eeee5f9f1aeeb211ffc12f10bcb6f71e2989988fda61dabd65db878d4 \ - --hash=sha256:26dc97754b57d2fd00ac2b24dfa341abffc380b823211994c4efac7f13b9e90e \ - --hash=sha256:270755f15174fb983890c49881e93f8f1b80f0b5e3a3cc1394a255706cabd203 \ - --hash=sha256:2aafc5a503855ea5885559eae883978c9b6d8c8993d67766ee73d82e841300dd \ - --hash=sha256:2d036c7187b9422ae5b262badb87a20a49eb6c5238b2004e96d4da1231badef1 \ - --hash=sha256:33499e85e739a4b60c9dac710c20a08dc73cb3240c9a0e22325e671b27b70d24 \ - --hash=sha256:37eee5b638f0e0dcd18d21f59b679686bbd18917b87db0193ae36f9c23c355fc \ - --hash=sha256:38cf1c40a921d05c5edc61a785c0ddb4bed67827069f535d794ce6bcded919fc \ - --hash=sha256:3acae97ffd19bf091c72df4d726d552c473f3576409b2a7ca36b2f535ffff4a3 \ - --hash=sha256:3c5ebac750d9d5f2706654c638c041635c385596caf68f81342011ddfa1e5598 \ - --hash=sha256:3d482efec8b7dc6bfaedc0f166b2ce349df0011f5d2f1f25537ced4cfc34fd98 \ - --hash=sha256:407653af5617f0757261ae249d3fba09504d7a71ab36ac057c938572d1bc9331 \ - --hash=sha256:40a783fb7ee353c50bd3853e626f15677ea527ae556429453685ae32280c19c2 \ - --hash=sha256:41e81317dd6a0127cabce83c0c9c3fbecceae981c8391e6f1dec88a77c8a569a \ - --hash=sha256:41f4c96227a67a013e7de5ff8f20fb496ce573893b7f4f2707d065907bffdbd6 \ - --hash=sha256:469f29f9093c9d834432034d33f5fe45699e664f12a13bf38c04967ce233d688 \ - --hash=sha256:4745f4ac52cc6686390c40eaa01d48b18997cb130833154801a442323cc78f91 \ - --hash=sha256:4868f6bd7c9d98904b748a2653031fc9c2f85b6237009d475b1008bfaeb0a5aa \ - --hash=sha256:4aa223cd1e36b642092c326d694d8bf59b71ddddc94cdb752bbbb1c5c91d833b \ - --hash=sha256:4dd484681c15e6b9a977c785a345d3e378d72678fd5f1f3c0509608da24f2ac0 \ - --hash=sha256:4f2790949cf385d985a31984907fecb3896999329103df4e4983a4a41e13e840 \ - --hash=sha256:512ecfbefef6dac7bc5eaaf46177b2de58cdf7acac8793fe033b24ece0b9566c \ - --hash=sha256:516d9227919612425c8ef1c9b869bbbee249bc91912c8aaffb66116c0b447ebd \ - --hash=sha256:53e431da3fc53360db73eedf6f7124d1076e1b4ee4276b36fb25514544ceb4a3 \ - --hash=sha256:595ba5be69b35777474fa07f80fc260ea71255656191adb22a8c53aba4479231 \ - --hash=sha256:5b5ff4911aea936a47d9376fd3ab17e970cc543d1b68921886e7f64bd28308d1 \ - --hash=sha256:5d41e6daee2813ecceea8eda38062d69e280b39df793f5a942fa515b8ed67953 \ - --hash=sha256:5e999ba8dd90e93d57410c5e67ebb67ffcaadcea0ad973240fdfd3a135506250 \ - --hash=sha256:5f239eb799a2081495ea659d8d4a43a8f42cd1fe9ff2e7e436295c38a10c286a \ - --hash=sha256:635fee4e041ab9c479e31edda27fcf966ea9614fff1317e280d99eb3e5ab6fe2 \ - --hash=sha256:65db0f2eefcaad1a3950f498aabb4875c8890438bc80b19362cf633b87a8ab20 \ - --hash=sha256:6b507132dcfc0dea440cce23ee2182c0ce7aba7054576efc65634f080dbe9434 \ - --hash=sha256:6b9d9bb600328a1ce523ab4f454859e9d439150abb0906c5a1983c146580ebab \ - --hash=sha256:70c8daf4faca8da5a6d655f9af86faf6ec2e1768f4b8b9d0226c02f3d6209703 \ - --hash=sha256:77bf3ac639c1ff567ae3b47f8d4cc3dc20f9966a2a6dd2311dcc055d3d04fb8a \ - --hash=sha256:784c1214cb6dd1e3b15dd8b91b9a53852aed16671cc3fbe4786f4f1db07089e2 \ - --hash=sha256:7eb6a0587eded33aeefea9f916899d42b1799b7b14b8f8ff2753c0ac1741edac \ - --hash=sha256:7ed1b0132f24beeec5a78b67d9388656d03e6a7c837394f99257e2d55b461611 \ - --hash=sha256:8ad4aeb3e9a97286573c03df758fc7627aecdd02f1da04516a86dc159bf70121 \ - --hash=sha256:964faa8a861d2664f0c7ab0c181af0bea66098b1919439815ca8803ef136fc4e \ - --hash=sha256:9dc1b507c12eb0481d071f3c1808f0529ad41dc415d0ca11f7ebfc666e66a18b \ - --hash=sha256:9ebfef07dbe1d93efb94b4700f2d278494e9162565a54f124c404a5656d7ff09 \ - --hash=sha256:a45f84b09ac9c3d35dfcf6a27fd0634d30d183205230a0ebe8373a0e8cfa0906 \ - --hash=sha256:a4f55095ad087474999ee28d3398bae183a66be4823f753cd7d67dd0153427c9 \ - --hash=sha256:a6d511cc297ff0883bc3708b465ff82d7560193169a8b93260f74ecb0a5e08a7 \ - --hash=sha256:a8ad4c766d3f33ba8fd692f9aa297c9058970530a32c728a2c4bfd2616d3358b \ - --hash=sha256:aa2f457b4af386254372dfa78a2eda2563680d982422641a85f271c859df1987 \ - --hash=sha256:b03f7941783b4c4a26051846dea594628b38f6940a2fdc0df00b221aed39314c \ - --hash=sha256:b0dae11d8f5ded51699c74d9548dcc5938e0804cc8298ec0aa0da95c21fff57b \ - --hash=sha256:b91ced227c41aa29c672814f50dbb05ec93536abf8f43cd14ec9521ea09afe4e \ - --hash=sha256:bc633a9fe1eb87e250b5c57d389cf28998e4292336926b0b6cdaee353f89a237 \ - --hash=sha256:bebb4d6715c814597f85297c332297c6ce81e29436125ca59d1159b07f423eb1 \ - --hash=sha256:c336a6d235522a62fef872c6295a42ecb0c4e1d0f1a3e500fe949415761b8a19 \ - --hash=sha256:c6514f963b023aeee506678a1cf821fe31159b925c4b76fe2afa94cc70b3222b \ - --hash=sha256:c693e916709c2465b02ca0ad7b387c4f8423d1db7b4649c551f27a529181c5ad \ - --hash=sha256:c81131869240e3e568916ef4c307f8b99583efaa60a8112ef27a366eefba8ef0 \ - --hash=sha256:d02a72df14dfdbaf228424573a07af10637bd490f0901cee872c4f434a735b94 \ - --hash=sha256:d2a8fa9d6d6f891f3deec72f5cc668e6f66b188ab14bb1ab52422fe8e644f312 \ - --hash=sha256:d2b27e6af28f07e2f195552b37d7d66b150adbaa39a6d327766ffd695799780f \ - --hash=sha256:d2fe69c5434391727efa54b47a1e7986bb0186e72a41b203df8f5b0a19a4f669 \ - --hash=sha256:d3f3ed29cd9f978c604708511a1f9c2fdcb6c38b9aae36a51905b8811ee5cbf1 \ - --hash=sha256:d573faf8eb7e6b1cbbcb4f5b247c60ca8be39fe2c674495df0eb4318303137fe \ - --hash=sha256:e0bbdd76ce9aa5d4209d65f2b27fc6e5ef1312ae6c5333c26db3f5ade53a1e99 \ - --hash=sha256:e7c4ea22b6739b162c9ecaaa41d718dfad48a244909fe7ef4b54c0b530effc5a \ - --hash=sha256:e93e1a4b4b33daed65d781a57a522ff153dcf748dee70b40c7258c5861e1768a \ - --hash=sha256:e97fdf088d4b31ff4ba35db26d9cc472ac7ef4a2ff2badeabf8d727b3377fc52 \ - --hash=sha256:e9fa4c9bf273ca41f940bceb86922a7667cd5bf90e95dbb157cbb8441008482c \ - --hash=sha256:eaad4ff2de1c3823fddf82f41121bdf453d922e9a238642b1dedb33c4e4f98ad \ - --hash=sha256:f1f62b2413c3a0e846c3b838b2ecd6c7a19ec6793b2a522745b0869e37ab5bc1 \ - --hash=sha256:f6d6cff3538391e8486a431569b77921adfcdef14eb18fbf19b7c0a5294d4e6a \ - --hash=sha256:f9aa05d09ecf4c75157197f27cdc9cfaeb7c5f15021c6373932bf3e124af029f \ - --hash=sha256:fa2fddcb7107e0d1808086ca306dcade7df60a13a6c347a7acf1ec139aa6789a \ - --hash=sha256:faa6b09ee09433b87992fb5a2859efd1c264ddc37280d2dd5db502126d0e7f27 -pydantic-yaml==1.3.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:0684255a860522c9226d4eff5c0e8ba44339683b5c5fa79fac4470c0e3821911 \ - --hash=sha256:5671c9ef1731570aa2644432ae1e2dd34c406bd4a0a393df622f6b897a88df83 -pydantic==2.8.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:6f62c13d067b0755ad1c21a34bdd06c0c12625a22b0fc09c6b149816604f7c2a \ - --hash=sha256:73ee9fddd406dc318b885c7a2eab8a6472b68b8fb5ba8150949fc3db939f23c8 -pydantic[email]==2.8.2 ; python_version >= "3.10" and python_version < "4.0" \ - --hash=sha256:6f62c13d067b0755ad1c21a34bdd06c0c12625a22b0fc09c6b149816604f7c2a \ - --hash=sha256:73ee9fddd406dc318b885c7a2eab8a6472b68b8fb5ba8150949fc3db939f23c8 -pydiscourse==1.7.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:d3ddf02510fb22dc425dfb7d81e6c363a14503ec53a7f7cb0d16d3f1f13259c4 \ - --hash=sha256:e090b9143750941aef5042bd8a9cdb93376abf6c18fe5ebbf15d7813acbdafb3 -pydrive2==1.20.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:168ba6eb6d83c9b082f05bc8cb95ee93ce62389db3b559ff0e769b5bb8b2b10a \ - --hash=sha256:d4582193d28f85d2a79e7a3772527110c0769aa763625f78fab81d0837f90564 -pygithub==2.4.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:6601e22627e87bac192f1e2e39c6e6f69a43152cfb8f307cee575879320b3051 \ - --hash=sha256:81935aa4bdc939fba98fee1cb47422c09157c56a27966476ff92775602b9ee24 -pygments==2.18.0 ; python_version >= "3.10" and python_version < "4" \ - --hash=sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199 \ - --hash=sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a -pyjwt[crypto]==2.9.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:3b02fb0f44517787776cf48f2ae25d8e14f300e6d7545a4315cee571a415e850 \ - --hash=sha256:7e1e5b56cc735432a7369cbfa0efe50fa113ebecdc04ae6922deba8b84582d0c -pylint==3.2.7 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:02f4aedeac91be69fb3b4bea997ce580a4ac68ce58b89eaefeaf06749df73f4b \ - --hash=sha256:1b7a721b575eaeaa7d39db076b6e7743c993ea44f57979127c517c6c572c803e -pymdown-extensions==10.9 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:6ff740bcd99ec4172a938970d42b96128bdc9d4b9bcad72494f29921dc69b753 \ - --hash=sha256:d323f7e90d83c86113ee78f3fe62fc9dee5f56b54d912660703ea1816fed5626 -pynacl==1.5.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858 \ - --hash=sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d \ - --hash=sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93 \ - --hash=sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1 \ - --hash=sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92 \ - --hash=sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff \ - --hash=sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba \ - --hash=sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394 \ - --hash=sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b \ - --hash=sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543 -pyopenssl==24.2.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:4247f0dbe3748d560dcbb2ff3ea01af0f9a1a001ef5f7c4c647956ed8cbf0e95 \ - --hash=sha256:967d5719b12b243588573f39b0c677637145c7a1ffedcd495a487e58177fbb8d -pyparsing==3.1.4 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c \ - --hash=sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032 -pyproject-hooks==1.1.0 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:4b37730834edbd6bd37f26ece6b44802fb1c1ee2ece0e54ddff8bfc06db86965 \ - --hash=sha256:7ceeefe9aec63a1064c18d939bdc3adf2d8aa1988a510afec15151578b232aa2 -pyreadline3==3.4.1 ; sys_platform == "win32" and python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae \ - --hash=sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb -pytest-asyncio==0.24.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:a811296ed596b69bf0b6f3dc40f83bcaf341b155a269052d82efa2b25ac7037b \ - --hash=sha256:d081d828e576d85f875399194281e92bf8a68d60d72d1a2faf2feddb6c46b276 -pytest-mock==3.14.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f \ - --hash=sha256:2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0 -pytest-xdist==3.6.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:9ed4adfb68a016610848639bb7e02c9352d5d9f03d04809919e2dafc3be4cca7 \ - --hash=sha256:ead156a4db231eec769737f57668ef58a2084a34b2e55c4a8fa20d861107300d -pytest==8.3.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5 \ - --hash=sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce -python-dateutil==2.9.0.post0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \ - --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 -python-dotenv==1.0.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca \ - --hash=sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a -python-json-logger==2.0.7 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c \ - --hash=sha256:f380b826a991ebbe3de4d897aeec42760035ac760345e57b812938dc8b35e2bd -pytz==2024.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812 \ - --hash=sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319 -pywin32-ctypes==0.2.3 ; python_full_version >= "3.10.0" and python_version < "4.0" and sys_platform == "win32" \ - --hash=sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8 \ - --hash=sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755 -pywin32==306 ; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:06d3420a5155ba65f0b72f2699b5bacf3109f36acbe8923765c22938a69dfc8d \ - --hash=sha256:1c73ea9a0d2283d889001998059f5eaaba3b6238f767c9cf2833b13e6a685f65 \ - --hash=sha256:37257794c1ad39ee9be652da0462dc2e394c8159dfd913a8a4e8eb6fd346da0e \ - --hash=sha256:383229d515657f4e3ed1343da8be101000562bf514591ff383ae940cad65458b \ - --hash=sha256:39b61c15272833b5c329a2989999dcae836b1eed650252ab1b7bfbe1d59f30f4 \ - --hash=sha256:5821ec52f6d321aa59e2db7e0a35b997de60c201943557d108af9d4ae1ec7040 \ - --hash=sha256:70dba0c913d19f942a2db25217d9a1b726c278f483a919f1abfed79c9cf64d3a \ - --hash=sha256:72c5f621542d7bdd4fdb716227be0dd3f8565c11b280be6315b06ace35487d36 \ - --hash=sha256:84f4471dbca1887ea3803d8848a1616429ac94a4a8d05f4bc9c5dcfd42ca99c8 \ - --hash=sha256:a7639f51c184c0272e93f244eb24dafca9b1855707d94c192d4a0b4c01e1100e \ - --hash=sha256:e25fd5b485b55ac9c057f67d94bc203f3f6595078d1fb3b458c9c28b7153a802 \ - --hash=sha256:e4c092e2589b5cf0d365849e73e02c391c1349958c5ac3e9d5ccb9a28e017b3a \ - --hash=sha256:e65028133d15b64d2ed8f06dd9fbc268352478d4f9289e69c190ecd6818b6407 \ - --hash=sha256:e8ac1ae3601bee6ca9f7cb4b5363bf1c0badb935ef243c4733ff9a393b1690c0 -pywinpty==2.0.13 ; python_full_version >= "3.10.0" and python_version < "4" and os_name == "nt" \ - --hash=sha256:2fd876b82ca750bb1333236ce98488c1be96b08f4f7647cfdf4129dfad83c2d4 \ - --hash=sha256:61d420c2116c0212808d31625611b51caf621fe67f8a6377e2e8b617ea1c1f7d \ - --hash=sha256:697bff211fb5a6508fee2dc6ff174ce03f34a9a233df9d8b5fe9c8ce4d5eaf56 \ - --hash=sha256:71cb613a9ee24174730ac7ae439fd179ca34ccb8c5349e8d7b72ab5dea2c6f4b \ - --hash=sha256:b96fb14698db1284db84ca38c79f15b4cfdc3172065b5137383910567591fa99 \ - --hash=sha256:c34e32351a3313ddd0d7da23d27f835c860d32fe4ac814d372a3ea9594f41dde -pyyaml-env-tag==0.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb \ - --hash=sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069 -pyyaml==6.0.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff \ - --hash=sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48 \ - --hash=sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086 \ - --hash=sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e \ - --hash=sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133 \ - --hash=sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5 \ - --hash=sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484 \ - --hash=sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee \ - --hash=sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5 \ - --hash=sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68 \ - --hash=sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a \ - --hash=sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf \ - --hash=sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99 \ - --hash=sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8 \ - --hash=sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85 \ - --hash=sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19 \ - --hash=sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc \ - --hash=sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a \ - --hash=sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1 \ - --hash=sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317 \ - --hash=sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c \ - --hash=sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631 \ - --hash=sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d \ - --hash=sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652 \ - --hash=sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5 \ - --hash=sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e \ - --hash=sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b \ - --hash=sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8 \ - --hash=sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476 \ - --hash=sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706 \ - --hash=sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563 \ - --hash=sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237 \ - --hash=sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b \ - --hash=sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083 \ - --hash=sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180 \ - --hash=sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425 \ - --hash=sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e \ - --hash=sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f \ - --hash=sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725 \ - --hash=sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183 \ - --hash=sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab \ - --hash=sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774 \ - --hash=sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725 \ - --hash=sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e \ - --hash=sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5 \ - --hash=sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d \ - --hash=sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290 \ - --hash=sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44 \ - --hash=sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed \ - --hash=sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4 \ - --hash=sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba \ - --hash=sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12 \ - --hash=sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4 -pyzmq==26.2.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:007137c9ac9ad5ea21e6ad97d3489af654381324d5d3ba614c323f60dab8fae6 \ - --hash=sha256:034da5fc55d9f8da09015d368f519478a52675e558c989bfcb5cf6d4e16a7d2a \ - --hash=sha256:05590cdbc6b902101d0e65d6a4780af14dc22914cc6ab995d99b85af45362cc9 \ - --hash=sha256:070672c258581c8e4f640b5159297580a9974b026043bd4ab0470be9ed324f1f \ - --hash=sha256:0aca98bc423eb7d153214b2df397c6421ba6373d3397b26c057af3c904452e37 \ - --hash=sha256:0bed0e799e6120b9c32756203fb9dfe8ca2fb8467fed830c34c877e25638c3fc \ - --hash=sha256:0d987a3ae5a71c6226b203cfd298720e0086c7fe7c74f35fa8edddfbd6597eed \ - --hash=sha256:0eaa83fc4c1e271c24eaf8fb083cbccef8fde77ec8cd45f3c35a9a123e6da097 \ - --hash=sha256:160c7e0a5eb178011e72892f99f918c04a131f36056d10d9c1afb223fc952c2d \ - --hash=sha256:17bf5a931c7f6618023cdacc7081f3f266aecb68ca692adac015c383a134ca52 \ - --hash=sha256:17c412bad2eb9468e876f556eb4ee910e62d721d2c7a53c7fa31e643d35352e6 \ - --hash=sha256:18c8dc3b7468d8b4bdf60ce9d7141897da103c7a4690157b32b60acb45e333e6 \ - --hash=sha256:1a534f43bc738181aa7cbbaf48e3eca62c76453a40a746ab95d4b27b1111a7d2 \ - --hash=sha256:1c17211bc037c7d88e85ed8b7d8f7e52db6dc8eca5590d162717c654550f7282 \ - --hash=sha256:1f3496d76b89d9429a656293744ceca4d2ac2a10ae59b84c1da9b5165f429ad3 \ - --hash=sha256:1fcc03fa4997c447dce58264e93b5aa2d57714fbe0f06c07b7785ae131512732 \ - --hash=sha256:226af7dcb51fdb0109f0016449b357e182ea0ceb6b47dfb5999d569e5db161d5 \ - --hash=sha256:23f4aad749d13698f3f7b64aad34f5fc02d6f20f05999eebc96b89b01262fb18 \ - --hash=sha256:25bf2374a2a8433633c65ccb9553350d5e17e60c8eb4de4d92cc6bd60f01d306 \ - --hash=sha256:28ad5233e9c3b52d76196c696e362508959741e1a005fb8fa03b51aea156088f \ - --hash=sha256:28c812d9757fe8acecc910c9ac9dafd2ce968c00f9e619db09e9f8f54c3a68a3 \ - --hash=sha256:29c6a4635eef69d68a00321e12a7d2559fe2dfccfa8efae3ffb8e91cd0b36a8b \ - --hash=sha256:29c7947c594e105cb9e6c466bace8532dc1ca02d498684128b339799f5248277 \ - --hash=sha256:2a50625acdc7801bc6f74698c5c583a491c61d73c6b7ea4dee3901bb99adb27a \ - --hash=sha256:2ae90ff9dad33a1cfe947d2c40cb9cb5e600d759ac4f0fd22616ce6540f72797 \ - --hash=sha256:2c4a71d5d6e7b28a47a394c0471b7e77a0661e2d651e7ae91e0cab0a587859ca \ - --hash=sha256:2ea4ad4e6a12e454de05f2949d4beddb52460f3de7c8b9d5c46fbb7d7222e02c \ - --hash=sha256:2eb7735ee73ca1b0d71e0e67c3739c689067f055c764f73aac4cc8ecf958ee3f \ - --hash=sha256:31507f7b47cc1ead1f6e86927f8ebb196a0bab043f6345ce070f412a59bf87b5 \ - --hash=sha256:35cffef589bcdc587d06f9149f8d5e9e8859920a071df5a2671de2213bef592a \ - --hash=sha256:367b4f689786fca726ef7a6c5ba606958b145b9340a5e4808132cc65759abd44 \ - --hash=sha256:39887ac397ff35b7b775db7201095fc6310a35fdbae85bac4523f7eb3b840e20 \ - --hash=sha256:3a495b30fc91db2db25120df5847d9833af237546fd59170701acd816ccc01c4 \ - --hash=sha256:3b55a4229ce5da9497dd0452b914556ae58e96a4381bb6f59f1305dfd7e53fc8 \ - --hash=sha256:402b190912935d3db15b03e8f7485812db350d271b284ded2b80d2e5704be780 \ - --hash=sha256:43a47408ac52647dfabbc66a25b05b6a61700b5165807e3fbd40063fcaf46386 \ - --hash=sha256:4661c88db4a9e0f958c8abc2b97472e23061f0bc737f6f6179d7a27024e1faa5 \ - --hash=sha256:46a446c212e58456b23af260f3d9fb785054f3e3653dbf7279d8f2b5546b21c2 \ - --hash=sha256:470d4a4f6d48fb34e92d768b4e8a5cc3780db0d69107abf1cd7ff734b9766eb0 \ - --hash=sha256:49d34ab71db5a9c292a7644ce74190b1dd5a3475612eefb1f8be1d6961441971 \ - --hash=sha256:4d29ab8592b6ad12ebbf92ac2ed2bedcfd1cec192d8e559e2e099f648570e19b \ - --hash=sha256:4d80b1dd99c1942f74ed608ddb38b181b87476c6a966a88a950c7dee118fdf50 \ - --hash=sha256:4da04c48873a6abdd71811c5e163bd656ee1b957971db7f35140a2d573f6949c \ - --hash=sha256:4f78c88905461a9203eac9faac157a2a0dbba84a0fd09fd29315db27be40af9f \ - --hash=sha256:4ff9dc6bc1664bb9eec25cd17506ef6672d506115095411e237d571e92a58231 \ - --hash=sha256:5506f06d7dc6ecf1efacb4a013b1f05071bb24b76350832c96449f4a2d95091c \ - --hash=sha256:55cf66647e49d4621a7e20c8d13511ef1fe1efbbccf670811864452487007e08 \ - --hash=sha256:5a509df7d0a83a4b178d0f937ef14286659225ef4e8812e05580776c70e155d5 \ - --hash=sha256:5c2b3bfd4b9689919db068ac6c9911f3fcb231c39f7dd30e3138be94896d18e6 \ - --hash=sha256:6835dd60355593de10350394242b5757fbbd88b25287314316f266e24c61d073 \ - --hash=sha256:689c5d781014956a4a6de61d74ba97b23547e431e9e7d64f27d4922ba96e9d6e \ - --hash=sha256:6a96179a24b14fa6428cbfc08641c779a53f8fcec43644030328f44034c7f1f4 \ - --hash=sha256:6ace4f71f1900a548f48407fc9be59c6ba9d9aaf658c2eea6cf2779e72f9f317 \ - --hash=sha256:6b274e0762c33c7471f1a7471d1a2085b1a35eba5cdc48d2ae319f28b6fc4de3 \ - --hash=sha256:706e794564bec25819d21a41c31d4df2d48e1cc4b061e8d345d7fb4dd3e94072 \ - --hash=sha256:70fc7fcf0410d16ebdda9b26cbd8bf8d803d220a7f3522e060a69a9c87bf7bad \ - --hash=sha256:7133d0a1677aec369d67dd78520d3fa96dd7f3dcec99d66c1762870e5ea1a50a \ - --hash=sha256:7445be39143a8aa4faec43b076e06944b8f9d0701b669df4af200531b21e40bb \ - --hash=sha256:76589c020680778f06b7e0b193f4b6dd66d470234a16e1df90329f5e14a171cd \ - --hash=sha256:76589f2cd6b77b5bdea4fca5992dc1c23389d68b18ccc26a53680ba2dc80ff2f \ - --hash=sha256:77eb0968da535cba0470a5165468b2cac7772cfb569977cff92e240f57e31bef \ - --hash=sha256:794a4562dcb374f7dbbfb3f51d28fb40123b5a2abadee7b4091f93054909add5 \ - --hash=sha256:7ad1bc8d1b7a18497dda9600b12dc193c577beb391beae5cd2349184db40f187 \ - --hash=sha256:7f98f6dfa8b8ccaf39163ce872bddacca38f6a67289116c8937a02e30bbe9711 \ - --hash=sha256:8423c1877d72c041f2c263b1ec6e34360448decfb323fa8b94e85883043ef988 \ - --hash=sha256:8685fa9c25ff00f550c1fec650430c4b71e4e48e8d852f7ddcf2e48308038640 \ - --hash=sha256:878206a45202247781472a2d99df12a176fef806ca175799e1c6ad263510d57c \ - --hash=sha256:89289a5ee32ef6c439086184529ae060c741334b8970a6855ec0b6ad3ff28764 \ - --hash=sha256:8ab5cad923cc95c87bffee098a27856c859bd5d0af31bd346035aa816b081fe1 \ - --hash=sha256:8b435f2753621cd36e7c1762156815e21c985c72b19135dac43a7f4f31d28dd1 \ - --hash=sha256:8be4700cd8bb02cc454f630dcdf7cfa99de96788b80c51b60fe2fe1dac480289 \ - --hash=sha256:8c997098cc65e3208eca09303630e84d42718620e83b733d0fd69543a9cab9cb \ - --hash=sha256:8ea039387c10202ce304af74def5021e9adc6297067f3441d348d2b633e8166a \ - --hash=sha256:8f7e66c7113c684c2b3f1c83cdd3376103ee0ce4c49ff80a648643e57fb22218 \ - --hash=sha256:90412f2db8c02a3864cbfc67db0e3dcdbda336acf1c469526d3e869394fe001c \ - --hash=sha256:92a78853d7280bffb93df0a4a6a2498cba10ee793cc8076ef797ef2f74d107cf \ - --hash=sha256:989d842dc06dc59feea09e58c74ca3e1678c812a4a8a2a419046d711031f69c7 \ - --hash=sha256:9cb3a6460cdea8fe8194a76de8895707e61ded10ad0be97188cc8463ffa7e3a8 \ - --hash=sha256:9dd8cd1aeb00775f527ec60022004d030ddc51d783d056e3e23e74e623e33726 \ - --hash=sha256:9ed69074a610fad1c2fda66180e7b2edd4d31c53f2d1872bc2d1211563904cd9 \ - --hash=sha256:9edda2df81daa129b25a39b86cb57dfdfe16f7ec15b42b19bfac503360d27a93 \ - --hash=sha256:a2224fa4a4c2ee872886ed00a571f5e967c85e078e8e8c2530a2fb01b3309b88 \ - --hash=sha256:a4f96f0d88accc3dbe4a9025f785ba830f968e21e3e2c6321ccdfc9aef755115 \ - --hash=sha256:aedd5dd8692635813368e558a05266b995d3d020b23e49581ddd5bbe197a8ab6 \ - --hash=sha256:aee22939bb6075e7afededabad1a56a905da0b3c4e3e0c45e75810ebe3a52672 \ - --hash=sha256:b1d464cb8d72bfc1a3adc53305a63a8e0cac6bc8c5a07e8ca190ab8d3faa43c2 \ - --hash=sha256:b8f86dd868d41bea9a5f873ee13bf5551c94cf6bc51baebc6f85075971fe6eea \ - --hash=sha256:bc6bee759a6bddea5db78d7dcd609397449cb2d2d6587f48f3ca613b19410cfc \ - --hash=sha256:bea2acdd8ea4275e1278350ced63da0b166421928276c7c8e3f9729d7402a57b \ - --hash=sha256:bfa832bfa540e5b5c27dcf5de5d82ebc431b82c453a43d141afb1e5d2de025fa \ - --hash=sha256:c0e6091b157d48cbe37bd67233318dbb53e1e6327d6fc3bb284afd585d141003 \ - --hash=sha256:c3789bd5768ab5618ebf09cef6ec2b35fed88709b104351748a63045f0ff9797 \ - --hash=sha256:c530e1eecd036ecc83c3407f77bb86feb79916d4a33d11394b8234f3bd35b940 \ - --hash=sha256:c811cfcd6a9bf680236c40c6f617187515269ab2912f3d7e8c0174898e2519db \ - --hash=sha256:c92d73464b886931308ccc45b2744e5968cbaade0b1d6aeb40d8ab537765f5bc \ - --hash=sha256:cccba051221b916a4f5e538997c45d7d136a5646442b1231b916d0164067ea27 \ - --hash=sha256:cdeabcff45d1c219636ee2e54d852262e5c2e085d6cb476d938aee8d921356b3 \ - --hash=sha256:ced65e5a985398827cc9276b93ef6dfabe0273c23de8c7931339d7e141c2818e \ - --hash=sha256:d049df610ac811dcffdc147153b414147428567fbbc8be43bb8885f04db39d98 \ - --hash=sha256:dacd995031a01d16eec825bf30802fceb2c3791ef24bcce48fa98ce40918c27b \ - --hash=sha256:ddf33d97d2f52d89f6e6e7ae66ee35a4d9ca6f36eda89c24591b0c40205a3629 \ - --hash=sha256:ded0fc7d90fe93ae0b18059930086c51e640cdd3baebdc783a695c77f123dcd9 \ - --hash=sha256:e3e0210287329272539eea617830a6a28161fbbd8a3271bf4150ae3e58c5d0e6 \ - --hash=sha256:e6fa2e3e683f34aea77de8112f6483803c96a44fd726d7358b9888ae5bb394ec \ - --hash=sha256:ea0eb6af8a17fa272f7b98d7bebfab7836a0d62738e16ba380f440fceca2d951 \ - --hash=sha256:ea7f69de383cb47522c9c208aec6dd17697db7875a4674c4af3f8cfdac0bdeae \ - --hash=sha256:eac5174677da084abf378739dbf4ad245661635f1600edd1221f150b165343f4 \ - --hash=sha256:fc4f7a173a5609631bb0c42c23d12c49df3966f89f496a51d3eb0ec81f4519d6 \ - --hash=sha256:fdb5b3e311d4d4b0eb8b3e8b4d1b0a512713ad7e6a68791d0923d1aec433d919 -quart==0.19.6 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:89ddda6da24300a5ea4f21e4582d5e89bc8ea678e724e0b747767143401e4558 \ - --hash=sha256:f9092310f4eb120903da692a5e4354f05d48c28ca7ec3054d3d94dd862412c58 -rapidfuzz==3.9.6 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:0308b2ad161daf502908a6e21a57c78ded0258eba9a8f5e2545e2dafca312507 \ - --hash=sha256:0542c036cb6acf24edd2c9e0411a67d7ba71e29e4d3001a082466b86fc34ff30 \ - --hash=sha256:0a96b52c9f26857bf009e270dcd829381e7a634f7ddd585fa29b87d4c82146d9 \ - --hash=sha256:0b40ff76ee19b03ebf10a0a87938f86814996a822786c41c3312d251b7927849 \ - --hash=sha256:0d21fc3c0ca507a1180152a6dbd129ebaef48facde3f943db5c1055b6e6be56a \ - --hash=sha256:0d2c2fe19e392dbc22695b6c3b2510527e2b774647e79936bbde49db7742d6f1 \ - --hash=sha256:101bd2df438861a005ed47c032631b7857dfcdb17b82beeeb410307983aac61d \ - --hash=sha256:10f06139142ecde67078ebc9a745965446132b998f9feebffd71acdf218acfcc \ - --hash=sha256:15146301b32e6e3d2b7e8146db1a26747919d8b13690c7f83a4cb5dc111b3a08 \ - --hash=sha256:1611199f178793ca9a060c99b284e11f6d7d124998191f1cace9a0245334d219 \ - --hash=sha256:16122ae448bc89e2bea9d81ce6cb0f751e4e07da39bd1e70b95cae2493857853 \ - --hash=sha256:1629698e68f47609a73bf9e73a6da3a4cac20bc710529215cbdf111ab603665b \ - --hash=sha256:16a6c7997cb5927ced6f617122eb116ba514ec6b6f60f4803e7925ef55158891 \ - --hash=sha256:1a5bd6401bb489e14cbb5981c378d53ede850b7cc84b2464cad606149cc4e17d \ - --hash=sha256:1c59f1c1507b7a557cf3c410c76e91f097460da7d97e51c985343798e9df7a3c \ - --hash=sha256:1d66c247c2d3bb7a9b60567c395a15a929d0ebcc5f4ceedb55bfa202c38c6e0c \ - --hash=sha256:1f93a2f13038700bd245b927c46a2017db3dcd4d4ff94687d74b5123689b873b \ - --hash=sha256:2116fa1fbff21fa52cd46f3cfcb1e193ba1d65d81f8b6e123193451cd3d6c15e \ - --hash=sha256:2185e8e29809b97ad22a7f99281d1669a89bdf5fa1ef4ef1feca36924e675367 \ - --hash=sha256:248f6d2612e661e2b5f9a22bbd5862a1600e720da7bb6ad8a55bb1548cdfa423 \ - --hash=sha256:24d473d00d23a30a85802b502b417a7f5126019c3beec91a6739fe7b95388b24 \ - --hash=sha256:29146cb7a1bf69c87e928b31bffa54f066cb65639d073b36e1425f98cccdebc6 \ - --hash=sha256:29fda70b9d03e29df6fc45cc27cbcc235534b1b0b2900e0a3ae0b43022aaeef5 \ - --hash=sha256:2c0488b1c273be39e109ff885ccac0448b2fa74dea4c4dc676bcf756c15f16d6 \ - --hash=sha256:32848dfe54391636b84cda1823fd23e5a6b1dbb8be0e9a1d80e4ee9903820994 \ - --hash=sha256:39ffe48ffbeedf78d120ddfb9d583f2ca906712159a4e9c3c743c9f33e7b1775 \ - --hash=sha256:3e910cf08944da381159587709daaad9e59d8ff7bca1f788d15928f3c3d49c2a \ - --hash=sha256:3eda91832201b86e3b70835f91522587725bec329ec68f2f7faf5124091e5ca7 \ - --hash=sha256:3f5702828c10768f9281180a7ff8597da1e5002803e1304e9519dd0f06d79a85 \ - --hash=sha256:42b70500bca460264b8141d8040caee22e9cf0418c5388104ff0c73fb69ee28f \ - --hash=sha256:43bb27a57c29dc5fa754496ba6a1a508480d21ae99ac0d19597646c16407e9f3 \ - --hash=sha256:4bb5ff2bd48132ed5e7fbb8f619885facb2e023759f2519a448b2c18afe07e5d \ - --hash=sha256:4dcb7d9afd740370a897c15da61d3d57a8d54738d7c764a99cedb5f746d6a003 \ - --hash=sha256:50b2fb55d7ed58c66d49c9f954acd8fc4a3f0e9fd0ff708299bd8abb68238d0e \ - --hash=sha256:51be6ab5b1d5bb32abd39718f2a5e3835502e026a8272d139ead295c224a6f5e \ - --hash=sha256:52e4675f642fbc85632f691b67115a243cd4d2a47bdcc4a3d9a79e784518ff97 \ - --hash=sha256:58b4ce83f223605c358ae37e7a2d19a41b96aa65b1fede99cc664c9053af89ac \ - --hash=sha256:59c4a61fab676d37329fc3a671618a461bfeef53a4d0b8b12e3bc24a14e166f8 \ - --hash=sha256:59ee78f2ecd53fef8454909cda7400fe2cfcd820f62b8a5d4dfe930102268054 \ - --hash=sha256:5b0c9b227ee0076fb2d58301c505bb837a290ae99ee628beacdb719f0626d749 \ - --hash=sha256:5c3f9fc060160507b2704f7d1491bd58453d69689b580cbc85289335b14fe8ca \ - --hash=sha256:5cf2a7d621e4515fee84722e93563bf77ff2cbe832a77a48b81f88f9e23b9e8d \ - --hash=sha256:5eb1a9272ca71bc72be5415c2fa8448a6302ea4578e181bb7da9db855b367df0 \ - --hash=sha256:624fbe96115fb39addafa288d583b5493bc76dab1d34d0ebba9987d6871afdf9 \ - --hash=sha256:63daaeeea76da17fa0bbe7fb05cba8ed8064bb1a0edf8360636557f8b6511961 \ - --hash=sha256:6792f66d59b86ccfad5e247f2912e255c85c575789acdbad8e7f561412ffed8a \ - --hash=sha256:680dc78a5f889d3b89f74824b89fe357f49f88ad10d2c121e9c3ad37bac1e4eb \ - --hash=sha256:68bc7621843d8e9a7fd1b1a32729465bf94b47b6fb307d906da168413331f8d6 \ - --hash=sha256:68d9cffe710b67f1969cf996983608cee4490521d96ea91d16bd7ea5dc80ea98 \ - --hash=sha256:6a4bec4956e06b170ca896ba055d08d4c457dac745548172443982956a80e118 \ - --hash=sha256:6c4550d0db4931f5ebe9f0678916d1b06f06f5a99ba0b8a48b9457fd8959a7d4 \ - --hash=sha256:6dc37f601865e8407e3a8037ffbc3afe0b0f837b2146f7632bd29d087385babe \ - --hash=sha256:6edd3cd7c4aa8c68c716d349f531bd5011f2ca49ddade216bb4429460151559f \ - --hash=sha256:70591b28b218fff351b88cdd7f2359a01a71f9f7f5a2e465ce3715ed4b3c422b \ - --hash=sha256:708fb675de0f47b9635d1cc6fbbf80d52cb710d0a1abbfae5c84c46e3abbddc3 \ - --hash=sha256:715aeaabafba2709b9dd91acb2a44bad59d60b4616ef90c08f4d4402a3bbca60 \ - --hash=sha256:71cc168c305a4445109cd0d4925406f6e66bcb48fde99a1835387c58af4ecfe9 \ - --hash=sha256:74720c3f24597f76c7c3e2c4abdff55f1664f4766ff5b28aeaa689f8ffba5fab \ - --hash=sha256:7496f53d40560a58964207b52586783633f371683834a8f719d6d965d223a2eb \ - --hash=sha256:7e535a114fa575bc143e175e4ca386a467ec8c42909eff500f5f0f13dc84e3e0 \ - --hash=sha256:82c9722b7dfaa71e8b61f8c89fed0482567fb69178e139fe4151fc71ed7df782 \ - --hash=sha256:83a5ac6547a9d6eedaa212975cb8f2ce2aa07e6e30833b40e54a52b9f9999aa4 \ - --hash=sha256:8502ccdea9084d54b6f737d96a3b60a84e3afed9d016686dc979b49cdac71613 \ - --hash=sha256:88144f5f52ae977df9352029488326afadd7a7f42c6779d486d1f82d43b2b1f2 \ - --hash=sha256:89acbf728b764421036c173a10ada436ecca22999851cdc01d0aa904c70d362d \ - --hash=sha256:8b4afea244102332973377fddbe54ce844d0916e1c67a5123432291717f32ffa \ - --hash=sha256:9196a51d0ec5eaaaf5bca54a85b7b1e666fc944c332f68e6427503af9fb8c49e \ - --hash=sha256:91aaee4c94cb45930684f583ffc4e7c01a52b46610971cede33586cf8a04a12e \ - --hash=sha256:9e53c72d08f0e9c6e4a369e52df5971f311305b4487690c62e8dd0846770260c \ - --hash=sha256:9f469dbc9c4aeaac7dd005992af74b7dff94aa56a3ea063ce64e4b3e6736dd2f \ - --hash=sha256:a0cb157162f0cdd62e538c7bd298ff669847fc43a96422811d5ab933f4c16c3a \ - --hash=sha256:a1e037fb89f714a220f68f902fc6300ab7a33349f3ce8ffae668c3b3a40b0b06 \ - --hash=sha256:a657eee4b94668faf1fa2703bdd803654303f7e468eb9ba10a664d867ed9e779 \ - --hash=sha256:a65c2f63218ea2dedd56fc56361035e189ca123bd9c9ce63a9bef6f99540d681 \ - --hash=sha256:a7a03da59b6c7c97e657dd5cd4bcaab5fe4a2affd8193958d6f4d938bee36679 \ - --hash=sha256:a7ed0d0b9c85720f0ae33ac5efc8dc3f60c1489dad5c29d735fbdf2f66f0431f \ - --hash=sha256:a9ed7ad9adb68d0fe63a156fe752bbf5f1403ed66961551e749641af2874da92 \ - --hash=sha256:ad9462aa2be9f60b540c19a083471fdf28e7cf6434f068b631525b5e6251b35e \ - --hash=sha256:aed13e5edacb0ecadcc304cc66e93e7e77ff24f059c9792ee602c0381808e10c \ - --hash=sha256:af26ebd3714224fbf9bebbc27bdbac14f334c15f5d7043699cd694635050d6ca \ - --hash=sha256:af440e36b828922256d0b4d79443bf2cbe5515fc4b0e9e96017ec789b36bb9fc \ - --hash=sha256:b6b8dd4af6324fc325d9483bec75ecf9be33e590928c9202d408e4eafff6a0a6 \ - --hash=sha256:b8ca862927a0b05bd825e46ddf82d0724ea44b07d898ef639386530bf9b40f15 \ - --hash=sha256:c18897c95c0a288347e29537b63608a8f63a5c3cb6da258ac46fcf89155e723e \ - --hash=sha256:c256fa95d29cbe5aa717db790b231a9a5b49e5983d50dc9df29d364a1db5e35b \ - --hash=sha256:c4e86c2b3827fa6169ad6e7d4b790ce02a20acefb8b78d92fa4249589bbc7a2c \ - --hash=sha256:c608fcba8b14d86c04cb56b203fed31a96e8a1ebb4ce99e7b70313c5bf8cf497 \ - --hash=sha256:c6254c50f15bc2fcc33cb93a95a81b702d9e6590f432a7f7822b8c7aba9ae288 \ - --hash=sha256:cc7a0d4b2cb166bc46d02c8c9f7551cde8e2f3c9789df3827309433ee9771163 \ - --hash=sha256:ccd1763b608fb4629a0b08f00b3c099d6395e67c14e619f6341b2c8429c2f310 \ - --hash=sha256:ce2bce52b5c150878e558a0418c2b637fb3dbb6eb38e4eb27d24aa839920483e \ - --hash=sha256:d214e063bffa13e3b771520b74f674b22d309b5720d4df9918ff3e0c0f037720 \ - --hash=sha256:d41c00ded0e22e9dba88ff23ebe0dc9d2a5f21ba2f88e185ea7374461e61daa9 \ - --hash=sha256:d50acc0e9d67e4ba7a004a14c42d1b1e8b6ca1c515692746f4f8e7948c673167 \ - --hash=sha256:d97d3c9d209d5c30172baea5966f2129e8a198fec4a1aeb2f92abb6e82a2edb1 \ - --hash=sha256:e03fdf0e74f346ed7e798135df5f2a0fb8d6b96582b00ebef202dcf2171e1d1d \ - --hash=sha256:e3a4244f65dbc3580b1275480118c3763f9dc29fc3dd96610560cb5e140a4d4a \ - --hash=sha256:ece873c093aedd87fc07c2a7e333d52e458dc177016afa1edaf157e82b6914d8 \ - --hash=sha256:ed443a2062460f44c0346cb9d269b586496b808c2419bbd6057f54061c9b9c75 \ - --hash=sha256:ee2d8355c7343c631a03e57540ea06e8717c19ecf5ff64ea07e0498f7f161457 \ - --hash=sha256:efa674b407424553024522159296690d99d6e6b1192cafe99ca84592faff16b4 \ - --hash=sha256:f3deff6ab7017ed21b9aec5874a07ad13e6b2a688af055837f88b743c7bfd947 \ - --hash=sha256:f3f42504bdc8d770987fc3d99964766d42b2a03e4d5b0f891decdd256236bae0 \ - --hash=sha256:f6ebb910a702e41641e1e1dada3843bc11ba9107a33c98daef6945a885a40a07 \ - --hash=sha256:f6f0256cb27b6a0fb2e1918477d1b56473cd04acfa245376a342e7c15806a396 \ - --hash=sha256:f982e1aafb4bd8207a5e073b1efef9e68a984e91330e1bbf364f9ed157ed83f0 \ - --hash=sha256:fa742ec60bec53c5a211632cf1d31b9eb5a3c80f1371a46a23ac25a1fa2ab209 \ - --hash=sha256:fb5a514064e02585b1cc09da2fe406a6dc1a7e5f3e92dd4f27c53e5f1465ec81 -referencing==0.35.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c \ - --hash=sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de -regex==2024.7.24 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:01b689e887f612610c869421241e075c02f2e3d1ae93a037cb14f88ab6a8934c \ - --hash=sha256:04ce29e2c5fedf296b1a1b0acc1724ba93a36fb14031f3abfb7abda2806c1535 \ - --hash=sha256:0ffe3f9d430cd37d8fa5632ff6fb36d5b24818c5c986893063b4e5bdb84cdf24 \ - --hash=sha256:18300a1d78cf1290fa583cd8b7cde26ecb73e9f5916690cf9d42de569c89b1ce \ - --hash=sha256:185e029368d6f89f36e526764cf12bf8d6f0e3a2a7737da625a76f594bdfcbfc \ - --hash=sha256:19c65b00d42804e3fbea9708f0937d157e53429a39b7c61253ff15670ff62cb5 \ - --hash=sha256:228b0d3f567fafa0633aee87f08b9276c7062da9616931382993c03808bb68ce \ - --hash=sha256:23acc72f0f4e1a9e6e9843d6328177ae3074b4182167e34119ec7233dfeccf53 \ - --hash=sha256:25419b70ba00a16abc90ee5fce061228206173231f004437730b67ac77323f0d \ - --hash=sha256:2dfbb8baf8ba2c2b9aa2807f44ed272f0913eeeba002478c4577b8d29cde215c \ - --hash=sha256:2f1baff13cc2521bea83ab2528e7a80cbe0ebb2c6f0bfad15be7da3aed443908 \ - --hash=sha256:33e2614a7ce627f0cdf2ad104797d1f68342d967de3695678c0cb84f530709f8 \ - --hash=sha256:3426de3b91d1bc73249042742f45c2148803c111d1175b283270177fdf669024 \ - --hash=sha256:382281306e3adaaa7b8b9ebbb3ffb43358a7bbf585fa93821300a418bb975281 \ - --hash=sha256:3d974d24edb231446f708c455fd08f94c41c1ff4f04bcf06e5f36df5ef50b95a \ - --hash=sha256:3f3b6ca8eae6d6c75a6cff525c8530c60e909a71a15e1b731723233331de4169 \ - --hash=sha256:3fac296f99283ac232d8125be932c5cd7644084a30748fda013028c815ba3364 \ - --hash=sha256:416c0e4f56308f34cdb18c3f59849479dde5b19febdcd6e6fa4d04b6c31c9faa \ - --hash=sha256:438d9f0f4bc64e8dea78274caa5af971ceff0f8771e1a2333620969936ba10be \ - --hash=sha256:43affe33137fcd679bdae93fb25924979517e011f9dea99163f80b82eadc7e53 \ - --hash=sha256:44fc61b99035fd9b3b9453f1713234e5a7c92a04f3577252b45feefe1b327759 \ - --hash=sha256:45104baae8b9f67569f0f1dca5e1f1ed77a54ae1cd8b0b07aba89272710db61e \ - --hash=sha256:4fdd1384619f406ad9037fe6b6eaa3de2749e2e12084abc80169e8e075377d3b \ - --hash=sha256:538d30cd96ed7d1416d3956f94d54e426a8daf7c14527f6e0d6d425fcb4cca52 \ - --hash=sha256:558a57cfc32adcf19d3f791f62b5ff564922942e389e3cfdb538a23d65a6b610 \ - --hash=sha256:5eefee9bfe23f6df09ffb6dfb23809f4d74a78acef004aa904dc7c88b9944b05 \ - --hash=sha256:64bd50cf16bcc54b274e20235bf8edbb64184a30e1e53873ff8d444e7ac656b2 \ - --hash=sha256:65fd3d2e228cae024c411c5ccdffae4c315271eee4a8b839291f84f796b34eca \ - --hash=sha256:66b4c0731a5c81921e938dcf1a88e978264e26e6ac4ec96a4d21ae0354581ae0 \ - --hash=sha256:68a8f8c046c6466ac61a36b65bb2395c74451df2ffb8458492ef49900efed293 \ - --hash=sha256:6a1141a1dcc32904c47f6846b040275c6e5de0bf73f17d7a409035d55b76f289 \ - --hash=sha256:6b9fc7e9cc983e75e2518496ba1afc524227c163e43d706688a6bb9eca41617e \ - --hash=sha256:6f51f9556785e5a203713f5efd9c085b4a45aecd2a42573e2b5041881b588d1f \ - --hash=sha256:7214477bf9bd195894cf24005b1e7b496f46833337b5dedb7b2a6e33f66d962c \ - --hash=sha256:731fcd76bbdbf225e2eb85b7c38da9633ad3073822f5ab32379381e8c3c12e94 \ - --hash=sha256:74007a5b25b7a678459f06559504f1eec2f0f17bca218c9d56f6a0a12bfffdad \ - --hash=sha256:7a5486ca56c8869070a966321d5ab416ff0f83f30e0e2da1ab48815c8d165d46 \ - --hash=sha256:7c479f5ae937ec9985ecaf42e2e10631551d909f203e31308c12d703922742f9 \ - --hash=sha256:7df9ea48641da022c2a3c9c641650cd09f0cd15e8908bf931ad538f5ca7919c9 \ - --hash=sha256:7e37e809b9303ec3a179085415cb5f418ecf65ec98cdfe34f6a078b46ef823ee \ - --hash=sha256:80c811cfcb5c331237d9bad3bea2c391114588cf4131707e84d9493064d267f9 \ - --hash=sha256:836d3cc225b3e8a943d0b02633fb2f28a66e281290302a79df0e1eaa984ff7c1 \ - --hash=sha256:84c312cdf839e8b579f504afcd7b65f35d60b6285d892b19adea16355e8343c9 \ - --hash=sha256:86b17ba823ea76256b1885652e3a141a99a5c4422f4a869189db328321b73799 \ - --hash=sha256:871e3ab2838fbcb4e0865a6e01233975df3a15e6fce93b6f99d75cacbd9862d1 \ - --hash=sha256:88ecc3afd7e776967fa16c80f974cb79399ee8dc6c96423321d6f7d4b881c92b \ - --hash=sha256:8bc593dcce679206b60a538c302d03c29b18e3d862609317cb560e18b66d10cf \ - --hash=sha256:8fd5afd101dcf86a270d254364e0e8dddedebe6bd1ab9d5f732f274fa00499a5 \ - --hash=sha256:945352286a541406f99b2655c973852da7911b3f4264e010218bbc1cc73168f2 \ - --hash=sha256:973335b1624859cb0e52f96062a28aa18f3a5fc77a96e4a3d6d76e29811a0e6e \ - --hash=sha256:994448ee01864501912abf2bad9203bffc34158e80fe8bfb5b031f4f8e16da51 \ - --hash=sha256:9cfd009eed1a46b27c14039ad5bbc5e71b6367c5b2e6d5f5da0ea91600817506 \ - --hash=sha256:a2ec4419a3fe6cf8a4795752596dfe0adb4aea40d3683a132bae9c30b81e8d73 \ - --hash=sha256:a4997716674d36a82eab3e86f8fa77080a5d8d96a389a61ea1d0e3a94a582cf7 \ - --hash=sha256:a512eed9dfd4117110b1881ba9a59b31433caed0c4101b361f768e7bcbaf93c5 \ - --hash=sha256:a82465ebbc9b1c5c50738536fdfa7cab639a261a99b469c9d4c7dcbb2b3f1e57 \ - --hash=sha256:ae2757ace61bc4061b69af19e4689fa4416e1a04840f33b441034202b5cd02d4 \ - --hash=sha256:b16582783f44fbca6fcf46f61347340c787d7530d88b4d590a397a47583f31dd \ - --hash=sha256:ba2537ef2163db9e6ccdbeb6f6424282ae4dea43177402152c67ef869cf3978b \ - --hash=sha256:bf7a89eef64b5455835f5ed30254ec19bf41f7541cd94f266ab7cbd463f00c41 \ - --hash=sha256:c0abb5e4e8ce71a61d9446040c1e86d4e6d23f9097275c5bd49ed978755ff0fe \ - --hash=sha256:c414cbda77dbf13c3bc88b073a1a9f375c7b0cb5e115e15d4b73ec3a2fbc6f59 \ - --hash=sha256:c51edc3541e11fbe83f0c4d9412ef6c79f664a3745fab261457e84465ec9d5a8 \ - --hash=sha256:c5e69fd3eb0b409432b537fe3c6f44ac089c458ab6b78dcec14478422879ec5f \ - --hash=sha256:c918b7a1e26b4ab40409820ddccc5d49871a82329640f5005f73572d5eaa9b5e \ - --hash=sha256:c9bb87fdf2ab2370f21e4d5636e5317775e5d51ff32ebff2cf389f71b9b13750 \ - --hash=sha256:ca5b2028c2f7af4e13fb9fc29b28d0ce767c38c7facdf64f6c2cd040413055f1 \ - --hash=sha256:d0a07763776188b4db4c9c7fb1b8c494049f84659bb387b71c73bbc07f189e96 \ - --hash=sha256:d33a0021893ede5969876052796165bab6006559ab845fd7b515a30abdd990dc \ - --hash=sha256:d55588cba7553f0b6ec33130bc3e114b355570b45785cebdc9daed8c637dd440 \ - --hash=sha256:dac8e84fff5d27420f3c1e879ce9929108e873667ec87e0c8eeb413a5311adfe \ - --hash=sha256:eaef80eac3b4cfbdd6de53c6e108b4c534c21ae055d1dbea2de6b3b8ff3def38 \ - --hash=sha256:eb462f0e346fcf41a901a126b50f8781e9a474d3927930f3490f38a6e73b6950 \ - --hash=sha256:eb563dd3aea54c797adf513eeec819c4213d7dbfc311874eb4fd28d10f2ff0f2 \ - --hash=sha256:f273674b445bcb6e4409bf8d1be67bc4b58e8b46fd0d560055d515b8830063cd \ - --hash=sha256:f6442f0f0ff81775eaa5b05af8a0ffa1dda36e9cf6ec1e0d3d245e8564b684ce \ - --hash=sha256:fb168b5924bef397b5ba13aabd8cf5df7d3d93f10218d7b925e360d436863f66 \ - --hash=sha256:fbf8c2f00904eaf63ff37718eb13acf8e178cb940520e47b2f05027f5bb34ce3 \ - --hash=sha256:fe4ebef608553aff8deb845c7f4f1d0740ff76fa672c011cc0bacb2a00fbde86 -requests-oauthlib==2.0.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:7dd8a5c40426b779b0868c404bdef9768deccf22749cde15852df527e6269b36 \ - --hash=sha256:b3dffaebd884d8cd778494369603a9e7b58d29111bf6b41bdc2dcd87203af4e9 -requests-toolbelt==1.0.0 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6 \ - --hash=sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06 -requests==2.32.3 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760 \ - --hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 -rfc3339-validator==0.1.4 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b \ - --hash=sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa -rfc3986-validator==0.1.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9 \ - --hash=sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055 -rpds-py==0.20.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:06db23d43f26478303e954c34c75182356ca9aa7797d22c5345b16871ab9c45c \ - --hash=sha256:0e13e6952ef264c40587d510ad676a988df19adea20444c2b295e536457bc585 \ - --hash=sha256:11ef6ce74616342888b69878d45e9f779b95d4bd48b382a229fe624a409b72c5 \ - --hash=sha256:1259c7b3705ac0a0bd38197565a5d603218591d3f6cee6e614e380b6ba61c6f6 \ - --hash=sha256:18d7585c463087bddcfa74c2ba267339f14f2515158ac4db30b1f9cbdb62c8ef \ - --hash=sha256:1e0f80b739e5a8f54837be5d5c924483996b603d5502bfff79bf33da06164ee2 \ - --hash=sha256:1e5f3cd7397c8f86c8cc72d5a791071431c108edd79872cdd96e00abd8497d29 \ - --hash=sha256:220002c1b846db9afd83371d08d239fdc865e8f8c5795bbaec20916a76db3318 \ - --hash=sha256:22e6c9976e38f4d8c4a63bd8a8edac5307dffd3ee7e6026d97f3cc3a2dc02a0b \ - --hash=sha256:238a2d5b1cad28cdc6ed15faf93a998336eb041c4e440dd7f902528b8891b399 \ - --hash=sha256:2580b0c34583b85efec8c5c5ec9edf2dfe817330cc882ee972ae650e7b5ef739 \ - --hash=sha256:28527c685f237c05445efec62426d285e47a58fb05ba0090a4340b73ecda6dee \ - --hash=sha256:2cf126d33a91ee6eedc7f3197b53e87a2acdac63602c0f03a02dd69e4b138174 \ - --hash=sha256:338ca4539aad4ce70a656e5187a3a31c5204f261aef9f6ab50e50bcdffaf050a \ - --hash=sha256:39ed0d010457a78f54090fafb5d108501b5aa5604cc22408fc1c0c77eac14344 \ - --hash=sha256:3ad0fda1635f8439cde85c700f964b23ed5fc2d28016b32b9ee5fe30da5c84e2 \ - --hash=sha256:3d2b1ad682a3dfda2a4e8ad8572f3100f95fad98cb99faf37ff0ddfe9cbf9d03 \ - --hash=sha256:3d61339e9f84a3f0767b1995adfb171a0d00a1185192718a17af6e124728e0f5 \ - --hash=sha256:3fde368e9140312b6e8b6c09fb9f8c8c2f00999d1823403ae90cc00480221b22 \ - --hash=sha256:40ce74fc86ee4645d0a225498d091d8bc61f39b709ebef8204cb8b5a464d3c0e \ - --hash=sha256:49a8063ea4296b3a7e81a5dfb8f7b2d73f0b1c20c2af401fb0cdf22e14711a96 \ - --hash=sha256:4a1f1d51eccb7e6c32ae89243cb352389228ea62f89cd80823ea7dd1b98e0b91 \ - --hash=sha256:4b16aa0107ecb512b568244ef461f27697164d9a68d8b35090e9b0c1c8b27752 \ - --hash=sha256:4f1ed4749a08379555cebf4650453f14452eaa9c43d0a95c49db50c18b7da075 \ - --hash=sha256:4fe84294c7019456e56d93e8ababdad5a329cd25975be749c3f5f558abb48253 \ - --hash=sha256:50eccbf054e62a7b2209b28dc7a22d6254860209d6753e6b78cfaeb0075d7bee \ - --hash=sha256:514b3293b64187172bc77c8fb0cdae26981618021053b30d8371c3a902d4d5ad \ - --hash=sha256:54b43a2b07db18314669092bb2de584524d1ef414588780261e31e85846c26a5 \ - --hash=sha256:55fea87029cded5df854ca7e192ec7bdb7ecd1d9a3f63d5c4eb09148acf4a7ce \ - --hash=sha256:569b3ea770c2717b730b61998b6c54996adee3cef69fc28d444f3e7920313cf7 \ - --hash=sha256:56e27147a5a4c2c21633ff8475d185734c0e4befd1c989b5b95a5d0db699b21b \ - --hash=sha256:57eb94a8c16ab08fef6404301c38318e2c5a32216bf5de453e2714c964c125c8 \ - --hash=sha256:5a35df9f5548fd79cb2f52d27182108c3e6641a4feb0f39067911bf2adaa3e57 \ - --hash=sha256:5a8c94dad2e45324fc74dce25e1645d4d14df9a4e54a30fa0ae8bad9a63928e3 \ - --hash=sha256:5b4f105deeffa28bbcdff6c49b34e74903139afa690e35d2d9e3c2c2fba18cec \ - --hash=sha256:5c1dc0f53856b9cc9a0ccca0a7cc61d3d20a7088201c0937f3f4048c1718a209 \ - --hash=sha256:614fdafe9f5f19c63ea02817fa4861c606a59a604a77c8cdef5aa01d28b97921 \ - --hash=sha256:617c7357272c67696fd052811e352ac54ed1d9b49ab370261a80d3b6ce385045 \ - --hash=sha256:65794e4048ee837494aea3c21a28ad5fc080994dfba5b036cf84de37f7ad5074 \ - --hash=sha256:6632f2d04f15d1bd6fe0eedd3b86d9061b836ddca4c03d5cf5c7e9e6b7c14580 \ - --hash=sha256:6c8ef2ebf76df43f5750b46851ed1cdf8f109d7787ca40035fe19fbdc1acc5a7 \ - --hash=sha256:758406267907b3781beee0f0edfe4a179fbd97c0be2e9b1154d7f0a1279cf8e5 \ - --hash=sha256:7e60cb630f674a31f0368ed32b2a6b4331b8350d67de53c0359992444b116dd3 \ - --hash=sha256:89c19a494bf3ad08c1da49445cc5d13d8fefc265f48ee7e7556839acdacf69d0 \ - --hash=sha256:8a86a9b96070674fc88b6f9f71a97d2c1d3e5165574615d1f9168ecba4cecb24 \ - --hash=sha256:8bc7690f7caee50b04a79bf017a8d020c1f48c2a1077ffe172abec59870f1139 \ - --hash=sha256:8d7919548df3f25374a1f5d01fbcd38dacab338ef5f33e044744b5c36729c8db \ - --hash=sha256:9426133526f69fcaba6e42146b4e12d6bc6c839b8b555097020e2b78ce908dcc \ - --hash=sha256:9824fb430c9cf9af743cf7aaf6707bf14323fb51ee74425c380f4c846ea70789 \ - --hash=sha256:9bb4a0d90fdb03437c109a17eade42dfbf6190408f29b2744114d11586611d6f \ - --hash=sha256:9bc2d153989e3216b0559251b0c260cfd168ec78b1fac33dd485750a228db5a2 \ - --hash=sha256:9d35cef91e59ebbeaa45214861874bc6f19eb35de96db73e467a8358d701a96c \ - --hash=sha256:a1862d2d7ce1674cffa6d186d53ca95c6e17ed2b06b3f4c476173565c862d232 \ - --hash=sha256:a84ab91cbe7aab97f7446652d0ed37d35b68a465aeef8fc41932a9d7eee2c1a6 \ - --hash=sha256:aa7f429242aae2947246587d2964fad750b79e8c233a2367f71b554e9447949c \ - --hash=sha256:aa9a0521aeca7d4941499a73ad7d4f8ffa3d1affc50b9ea11d992cd7eff18a29 \ - --hash=sha256:ac2f4f7a98934c2ed6505aead07b979e6f999389f16b714448fb39bbaa86a489 \ - --hash=sha256:ae94bd0b2f02c28e199e9bc51485d0c5601f58780636185660f86bf80c89af94 \ - --hash=sha256:af0fc424a5842a11e28956e69395fbbeab2c97c42253169d87e90aac2886d751 \ - --hash=sha256:b2a5db5397d82fa847e4c624b0c98fe59d2d9b7cf0ce6de09e4d2e80f8f5b3f2 \ - --hash=sha256:b4c29cbbba378759ac5786730d1c3cb4ec6f8ababf5c42a9ce303dc4b3d08cda \ - --hash=sha256:b74b25f024b421d5859d156750ea9a65651793d51b76a2e9238c05c9d5f203a9 \ - --hash=sha256:b7f19250ceef892adf27f0399b9e5afad019288e9be756d6919cb58892129f51 \ - --hash=sha256:b80d4a7900cf6b66bb9cee5c352b2d708e29e5a37fe9bf784fa97fc11504bf6c \ - --hash=sha256:b8c00a3b1e70c1d3891f0db1b05292747f0dbcfb49c43f9244d04c70fbc40eb8 \ - --hash=sha256:bb273176be34a746bdac0b0d7e4e2c467323d13640b736c4c477881a3220a989 \ - --hash=sha256:c3c20f0ddeb6e29126d45f89206b8291352b8c5b44384e78a6499d68b52ae511 \ - --hash=sha256:c3e130fd0ec56cb76eb49ef52faead8ff09d13f4527e9b0c400307ff72b408e1 \ - --hash=sha256:c52d3f2f82b763a24ef52f5d24358553e8403ce05f893b5347098014f2d9eff2 \ - --hash=sha256:c6377e647bbfd0a0b159fe557f2c6c602c159fc752fa316572f012fc0bf67150 \ - --hash=sha256:c638144ce971df84650d3ed0096e2ae7af8e62ecbbb7b201c8935c370df00a2c \ - --hash=sha256:ce9845054c13696f7af7f2b353e6b4f676dab1b4b215d7fe5e05c6f8bb06f965 \ - --hash=sha256:cf258ede5bc22a45c8e726b29835b9303c285ab46fc7c3a4cc770736b5304c9f \ - --hash=sha256:d0a26ffe9d4dd35e4dfdd1e71f46401cff0181c75ac174711ccff0459135fa58 \ - --hash=sha256:d0b67d87bb45ed1cd020e8fbf2307d449b68abc45402fe1a4ac9e46c3c8b192b \ - --hash=sha256:d20277fd62e1b992a50c43f13fbe13277a31f8c9f70d59759c88f644d66c619f \ - --hash=sha256:d454b8749b4bd70dd0a79f428731ee263fa6995f83ccb8bada706e8d1d3ff89d \ - --hash=sha256:d4c7d1a051eeb39f5c9547e82ea27cbcc28338482242e3e0b7768033cb083821 \ - --hash=sha256:d72278a30111e5b5525c1dd96120d9e958464316f55adb030433ea905866f4de \ - --hash=sha256:d72a210824facfdaf8768cf2d7ca25a042c30320b3020de2fa04640920d4e121 \ - --hash=sha256:d807dc2051abe041b6649681dce568f8e10668e3c1c6543ebae58f2d7e617855 \ - --hash=sha256:dbe982f38565bb50cb7fb061ebf762c2f254ca3d8c20d4006878766e84266272 \ - --hash=sha256:dcedf0b42bcb4cfff4101d7771a10532415a6106062f005ab97d1d0ab5681c60 \ - --hash=sha256:deb62214c42a261cb3eb04d474f7155279c1a8a8c30ac89b7dcb1721d92c3c02 \ - --hash=sha256:def7400461c3a3f26e49078302e1c1b38f6752342c77e3cf72ce91ca69fb1bc1 \ - --hash=sha256:df3de6b7726b52966edf29663e57306b23ef775faf0ac01a3e9f4012a24a4140 \ - --hash=sha256:e1940dae14e715e2e02dfd5b0f64a52e8374a517a1e531ad9412319dc3ac7879 \ - --hash=sha256:e4df1e3b3bec320790f699890d41c59d250f6beda159ea3c44c3f5bac1976940 \ - --hash=sha256:e6900ecdd50ce0facf703f7a00df12374b74bbc8ad9fe0f6559947fb20f82364 \ - --hash=sha256:ea438162a9fcbee3ecf36c23e6c68237479f89f962f82dae83dc15feeceb37e4 \ - --hash=sha256:eb851b7df9dda52dc1415ebee12362047ce771fc36914586b2e9fcbd7d293b3e \ - --hash=sha256:ec31a99ca63bf3cd7f1a5ac9fe95c5e2d060d3c768a09bc1d16e235840861420 \ - --hash=sha256:f0475242f447cc6cb8a9dd486d68b2ef7fbee84427124c232bff5f63b1fe11e5 \ - --hash=sha256:f2fbf7db2012d4876fb0d66b5b9ba6591197b0f165db8d99371d976546472a24 \ - --hash=sha256:f60012a73aa396be721558caa3a6fd49b3dd0033d1675c6d59c4502e870fcf0c \ - --hash=sha256:f8e604fe73ba048c06085beaf51147eaec7df856824bfe7b98657cf436623daf \ - --hash=sha256:f90a4cd061914a60bd51c68bcb4357086991bd0bb93d8aa66a6da7701370708f \ - --hash=sha256:f918a1a130a6dfe1d7fe0f105064141342e7dd1611f2e6a21cd2f5c8cb1cfb3e \ - --hash=sha256:fa518bcd7600c584bf42e6617ee8132869e877db2f76bcdc281ec6a4113a53ab \ - --hash=sha256:faefcc78f53a88f3076b7f8be0a8f8d35133a3ecf7f3770895c25f8813460f08 \ - --hash=sha256:fcaeb7b57f1a1e071ebd748984359fef83ecb026325b9d4ca847c95bc7311c92 \ - --hash=sha256:fd2d84f40633bc475ef2d5490b9c19543fbf18596dcb1b291e3a12ea5d722f7a \ - --hash=sha256:fdfc3a892927458d98f3d55428ae46b921d1f7543b89382fdb483f5640daaec8 -rsa==4.9 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7 \ - --hash=sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21 -ruamel-yaml-clib==0.2.8 ; platform_python_implementation == "CPython" and python_version < "3.13" and python_full_version >= "3.10.0" \ - --hash=sha256:024cfe1fc7c7f4e1aff4a81e718109e13409767e4f871443cbff3dba3578203d \ - --hash=sha256:03d1162b6d1df1caa3a4bd27aa51ce17c9afc2046c31b0ad60a0a96ec22f8001 \ - --hash=sha256:07238db9cbdf8fc1e9de2489a4f68474e70dffcb32232db7c08fa61ca0c7c462 \ - --hash=sha256:09b055c05697b38ecacb7ac50bdab2240bfca1a0c4872b0fd309bb07dc9aa3a9 \ - --hash=sha256:1707814f0d9791df063f8c19bb51b0d1278b8e9a2353abbb676c2f685dee6afe \ - --hash=sha256:1758ce7d8e1a29d23de54a16ae867abd370f01b5a69e1a3ba75223eaa3ca1a1b \ - --hash=sha256:184565012b60405d93838167f425713180b949e9d8dd0bbc7b49f074407c5a8b \ - --hash=sha256:1b617618914cb00bf5c34d4357c37aa15183fa229b24767259657746c9077615 \ - --hash=sha256:1dc67314e7e1086c9fdf2680b7b6c2be1c0d8e3a8279f2e993ca2a7545fecf62 \ - --hash=sha256:25ac8c08322002b06fa1d49d1646181f0b2c72f5cbc15a85e80b4c30a544bb15 \ - --hash=sha256:25c515e350e5b739842fc3228d662413ef28f295791af5e5110b543cf0b57d9b \ - --hash=sha256:305889baa4043a09e5b76f8e2a51d4ffba44259f6b4c72dec8ca56207d9c6fe1 \ - --hash=sha256:3213ece08ea033eb159ac52ae052a4899b56ecc124bb80020d9bbceeb50258e9 \ - --hash=sha256:3f215c5daf6a9d7bbed4a0a4f760f3113b10e82ff4c5c44bec20a68c8014f675 \ - --hash=sha256:46d378daaac94f454b3a0e3d8d78cafd78a026b1d71443f4966c696b48a6d899 \ - --hash=sha256:4ecbf9c3e19f9562c7fdd462e8d18dd902a47ca046a2e64dba80699f0b6c09b7 \ - --hash=sha256:53a300ed9cea38cf5a2a9b069058137c2ca1ce658a874b79baceb8f892f915a7 \ - --hash=sha256:56f4252222c067b4ce51ae12cbac231bce32aee1d33fbfc9d17e5b8d6966c312 \ - --hash=sha256:5c365d91c88390c8d0a8545df0b5857172824b1c604e867161e6b3d59a827eaa \ - --hash=sha256:700e4ebb569e59e16a976857c8798aee258dceac7c7d6b50cab63e080058df91 \ - --hash=sha256:75e1ed13e1f9de23c5607fe6bd1aeaae21e523b32d83bb33918245361e9cc51b \ - --hash=sha256:77159f5d5b5c14f7c34073862a6b7d34944075d9f93e681638f6d753606c6ce6 \ - --hash=sha256:7f67a1ee819dc4562d444bbafb135832b0b909f81cc90f7aa00260968c9ca1b3 \ - --hash=sha256:840f0c7f194986a63d2c2465ca63af8ccbbc90ab1c6001b1978f05119b5e7334 \ - --hash=sha256:84b554931e932c46f94ab306913ad7e11bba988104c5cff26d90d03f68258cd5 \ - --hash=sha256:87ea5ff66d8064301a154b3933ae406b0863402a799b16e4a1d24d9fbbcbe0d3 \ - --hash=sha256:955eae71ac26c1ab35924203fda6220f84dce57d6d7884f189743e2abe3a9fbe \ - --hash=sha256:a1a45e0bb052edf6a1d3a93baef85319733a888363938e1fc9924cb00c8df24c \ - --hash=sha256:a5aa27bad2bb83670b71683aae140a1f52b0857a2deff56ad3f6c13a017a26ed \ - --hash=sha256:a6a9ffd280b71ad062eae53ac1659ad86a17f59a0fdc7699fd9be40525153337 \ - --hash=sha256:a75879bacf2c987c003368cf14bed0ffe99e8e85acfa6c0bfffc21a090f16880 \ - --hash=sha256:aa2267c6a303eb483de8d02db2871afb5c5fc15618d894300b88958f729ad74f \ - --hash=sha256:aab7fd643f71d7946f2ee58cc88c9b7bfc97debd71dcc93e03e2d174628e7e2d \ - --hash=sha256:b16420e621d26fdfa949a8b4b47ade8810c56002f5389970db4ddda51dbff248 \ - --hash=sha256:b42169467c42b692c19cf539c38d4602069d8c1505e97b86387fcf7afb766e1d \ - --hash=sha256:bba64af9fa9cebe325a62fa398760f5c7206b215201b0ec825005f1b18b9bccf \ - --hash=sha256:beb2e0404003de9a4cab9753a8805a8fe9320ee6673136ed7f04255fe60bb512 \ - --hash=sha256:bef08cd86169d9eafb3ccb0a39edb11d8e25f3dae2b28f5c52fd997521133069 \ - --hash=sha256:c2a72e9109ea74e511e29032f3b670835f8a59bbdc9ce692c5b4ed91ccf1eedb \ - --hash=sha256:c58ecd827313af6864893e7af0a3bb85fd529f862b6adbefe14643947cfe2942 \ - --hash=sha256:c69212f63169ec1cfc9bb44723bf2917cbbd8f6191a00ef3410f5a7fe300722d \ - --hash=sha256:cabddb8d8ead485e255fe80429f833172b4cadf99274db39abc080e068cbcc31 \ - --hash=sha256:d176b57452ab5b7028ac47e7b3cf644bcfdc8cacfecf7e71759f7f51a59e5c92 \ - --hash=sha256:da09ad1c359a728e112d60116f626cc9f29730ff3e0e7db72b9a2dbc2e4beed5 \ - --hash=sha256:e2b4c44b60eadec492926a7270abb100ef9f72798e18743939bdbf037aab8c28 \ - --hash=sha256:e79e5db08739731b0ce4850bed599235d601701d5694c36570a99a0c5ca41a9d \ - --hash=sha256:ebc06178e8821efc9692ea7544aa5644217358490145629914d8020042c24aa1 \ - --hash=sha256:edaef1c1200c4b4cb914583150dcaa3bc30e592e907c01117c08b13a07255ec2 \ - --hash=sha256:f481f16baec5290e45aebdc2a5168ebc6d35189ae6fea7a58787613a25f6e875 \ - --hash=sha256:fff3573c2db359f091e1589c3d7c5fc2f86f5bdb6f24252c2d8e539d4e45f412 -ruamel-yaml==0.18.6 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:57b53ba33def16c4f3d807c0ccbc00f8a6081827e81ba2491691b76882d0c636 \ - --hash=sha256:8b27e6a217e786c6fbe5634d8f3f11bc63e0f80f6a5890f28863d9c45aac311b -secretstorage==3.3.3 ; python_full_version >= "3.10.0" and python_version < "4.0" and sys_platform == "linux" \ - --hash=sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77 \ - --hash=sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99 -semver==3.0.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:6253adb39c70f6e51afed2fa7152bcd414c411286088fb4b9effb133885ab4cc \ - --hash=sha256:b1ea4686fe70b981f85359eda33199d60c53964284e0cfb4977d243e37cf4bf4 -send2trash==1.8.3 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9 \ - --hash=sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf -setuptools==74.0.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:0274581a0037b638b9fc1c6883cc71c0210865aaa76073f7882376b641b84e8f \ - --hash=sha256:a85e96b8be2b906f3e3e789adec6a9323abf79758ecfa3065bd740d81158b11e -shellingham==1.5.4 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686 \ - --hash=sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de -six==1.16.0 ; python_version >= "3.10" and python_version < "4" \ - --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \ - --hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 -slack-bolt==1.20.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:4657e592339797b9b804547a21e6b35dd8e2cd1eab676bfb23960660aae049fd \ - --hash=sha256:8fa26e72b0e55c18c1d34a73558e7fe2150bdc7c947de780b938fdb1d7e854fe -slack-sdk==3.31.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:740d2f9c49cbfcbd46fca56b4be9d527934c225312aac18fd2c0fca0ef6bc935 \ - --hash=sha256:a120cc461e8ebb7d9175f171dbe0ded37a6878d9f7b96b28e4bad1227399047b -slackblocks==1.0.10 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:3e602438de6d3b924e238d2af58473f729e94b36afd6633f66e6a46162d2ce3c \ - --hash=sha256:d61715286e7eb401850b68a916d5861b7cdf918166a6da6d1c70c1a57f73f533 -smmap==5.0.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62 \ - --hash=sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da -sniffio==1.3.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2 \ - --hash=sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc -soupsieve==2.6 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb \ - --hash=sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9 -stack-data==0.6.3 ; python_version >= "3.10" and python_version < "4" \ - --hash=sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9 \ - --hash=sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695 -tabulate==0.9.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:0095b12bf5966de529c0feb1fa08671671b3368eec77d7ef7ab114be2c068b3c \ - --hash=sha256:024ca478df22e9340661486f85298cff5f6dcdba14f3813e8830015b9ed1948f -taskgroup==0.0.0a4 ; python_full_version >= "3.10.0" and python_version < "3.11" \ - --hash=sha256:5c1bd0e4c06114e7a4128583ab75c987597d5378a33948a3b74c662b90f61277 \ - --hash=sha256:eb08902d221e27661950f2a0320ddf3f939f579279996f81fe30779bca3a159c -tenacity==9.0.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:807f37ca97d62aa361264d497b0e31e92b8027044942bfa756160d908320d73b \ - --hash=sha256:93de0c98785b27fcf659856aa9f54bfbd399e29969b0621bc7f762bd441b4539 -terminado==0.18.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0 \ - --hash=sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e -tinycss2==1.3.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:152f9acabd296a8375fbca5b84c961ff95971fcfc32e79550c8df8e29118c54d \ - --hash=sha256:54a8dbdffb334d536851be0226030e9505965bb2f30f21a4a82c55fb2a80fae7 -toml==0.10.2 ; python_full_version >= "3.10.0" and python_version < "3.11" \ - --hash=sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b \ - --hash=sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f -tomli==2.0.1 ; python_full_version >= "3.10.0" and python_version < "3.11" \ - --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ - --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f -tomlkit==0.13.2 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:7a974427f6e119197f670fbbbeae7bef749a6c14e793db934baefc1b5f03efde \ - --hash=sha256:fff5fe59a87295b278abd31bec92c15d9bc4a06885ab12bcea52c71119392e79 -tornado==6.4.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:163b0aafc8e23d8cdc3c9dfb24c5368af84a81e3364745ccb4427669bf84aec8 \ - --hash=sha256:25486eb223babe3eed4b8aecbac33b37e3dd6d776bc730ca14e1bf93888b979f \ - --hash=sha256:454db8a7ecfcf2ff6042dde58404164d969b6f5d58b926da15e6b23817950fc4 \ - --hash=sha256:613bf4ddf5c7a95509218b149b555621497a6cc0d46ac341b30bd9ec19eac7f3 \ - --hash=sha256:6d5ce3437e18a2b66fbadb183c1d3364fb03f2be71299e7d10dbeeb69f4b2a14 \ - --hash=sha256:8ae50a504a740365267b2a8d1a90c9fbc86b780a39170feca9bcc1787ff80842 \ - --hash=sha256:92d3ab53183d8c50f8204a51e6f91d18a15d5ef261e84d452800d4ff6fc504e9 \ - --hash=sha256:a02a08cc7a9314b006f653ce40483b9b3c12cda222d6a46d4ac63bb6c9057698 \ - --hash=sha256:b24b8982ed444378d7f21d563f4180a2de31ced9d8d84443907a0a64da2072e7 \ - --hash=sha256:d9a566c40b89757c9aa8e6f032bcdb8ca8795d7c1a9762910c722b1635c9de4d \ - --hash=sha256:e2e20b9113cd7293f164dc46fffb13535266e713cdb87bd2d15ddb336e96cfc4 -traitlets==5.14.3 ; python_version >= "3.10" and python_version < "4" \ - --hash=sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7 \ - --hash=sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f -trove-classifiers==2024.7.2 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:8328f2ac2ce3fd773cbb37c765a0ed7a83f89dc564c7d452f039b69249d0ac35 \ - --hash=sha256:ccc57a33717644df4daca018e7ec3ef57a835c48e96a1e71fc07eb7edac67af6 -types-python-dateutil==2.9.0.20240821 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:9649d1dcb6fef1046fb18bebe9ea2aa0028b160918518c34589a46045f6ebd98 \ - --hash=sha256:f5889fcb4e63ed4aaa379b44f93c32593d50b9a94c9a60a0c854d8cc3511cd57 -typing-extensions==4.12.2 ; python_version >= "3.10" and python_version < "4" \ - --hash=sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d \ - --hash=sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8 -tzdata==2024.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd \ - --hash=sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252 -uri-template==1.3.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7 \ - --hash=sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363 -uritemplate==4.1.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:4346edfc5c3b79f694bccd6d6099a322bbeb628dbf2cd86eea55a456ce5124f0 \ - --hash=sha256:830c08b8d99bdd312ea4ead05994a38e8936266f84b9a7878232db50b044e02e -urllib3==1.26.20 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:0ed14ccfbf1c30a9072c7ca157e4319b70d65f623e91e7b32fadb2853431016e \ - --hash=sha256:40c2dc0c681e47eb8f90e7e27bf6ff7df2e677421fd46756da1161c39ca70d32 -virtualenv==20.26.3 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:4c43a2a236279d9ea36a0d76f98d84bd6ca94ac4e0f4a3b9d46d05e10fea542a \ - --hash=sha256:8cc4a31139e796e9a7de2cd5cf2489de1217193116a8fd42328f1bd65f434589 -waiter==1.5 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:5828a6370aa1b4c7e35cd5c00d9463007b91c96b38ded76ec84e47e5e0bb0117 \ - --hash=sha256:97767067a18af26bd344f75cffdcd6c5bcccdf1c7b5588278855a8339a4570ca -watchdog==5.0.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:0120b2fa65732797ffa65fa8ee5540c288aa861d91447df298626d6385a24658 \ - --hash=sha256:01ab36cddc836a0f202c66267daaef92ba5c17c7d6436deff0587bb61234c5c9 \ - --hash=sha256:0710e9502727f688a7e06d48078545c54485b3d6eb53b171810879d8223c362a \ - --hash=sha256:0834c21efa3e767849b09e667274604c7cdfe30b49eb95d794565c53f4db3c1e \ - --hash=sha256:109daafc5b0f2a98d1fa9475ff9737eb3559d57b18129a36495e20c71de0b44f \ - --hash=sha256:1228cb097e855d1798b550be8f0e9f0cfbac4384f9a3e91f66d250d03e11294e \ - --hash=sha256:16c1aa3377bb1f82c5e24277fcbf4e2cac3c4ce46aaaf7212d53caa9076eb7b7 \ - --hash=sha256:1d17ec7e022c34fa7ddc72aa41bf28c9d1207ffb193df18ba4f6fde453725b3c \ - --hash=sha256:1e26f570dd7f5178656affb24d6f0e22ce66c8daf88d4061a27bfb9ac866b40d \ - --hash=sha256:22fcad6168fc43cf0e709bd854be5b8edbb0b260f0a6f28f1ea9baa53c6907f7 \ - --hash=sha256:2aa59fab7ff75281778c649557275ca3085eccbdf825a0e2a5ca3810e977afe5 \ - --hash=sha256:3c177085c3d210d1c73cb4569442bdaef706ebebc423bd7aed9e90fc12b2e553 \ - --hash=sha256:3c2d50fdb86aa6df3973313272f5a17eb26eab29ff5a0bf54b6d34597b4dc4e4 \ - --hash=sha256:4fe6780915000743074236b21b6c37419aea71112af62237881bc265589fe463 \ - --hash=sha256:663b096368ed7831ac42259919fdb9e0a1f0a8994d972675dfbcca0225e74de1 \ - --hash=sha256:685931412978d00a91a193d9018fc9e394e565e8e7a0c275512a80e59c6e85f8 \ - --hash=sha256:6c96b1706430839872a3e33b9370ee3f7a0079f6b828129d88498ad1f96a0f45 \ - --hash=sha256:6e58eafe9cc5ceebe1562cdb89bacdcd0ef470896e8b0139fe677a5abec243da \ - --hash=sha256:78db0fe0336958fc0e1269545c980b6f33d04d184ba191b2800a8b71d3e971a9 \ - --hash=sha256:7e6b0e9b8a9dc3865d65888b5f5222da4ba9c4e09eab13cff5e305e7b7e7248f \ - --hash=sha256:990aedb9e2f336b45a70aed9c014450e7c4a70fd99c5f5b1834d57e1453a177e \ - --hash=sha256:b8d747bf6d8fe5ce89cb1a36c3724d1599bd4cde3f90fcba518e6260c7058a52 \ - --hash=sha256:bc16d448a74a929b896ed9578c25756b2125400b19b3258be8d9a681c7ae8e71 \ - --hash=sha256:bf3216ec994eabb2212df9861f19056ca0d4cd3516d56cb95801933876519bfe \ - --hash=sha256:c2b4d90962639ae7cee371ea3a8da506831945d4418eee090c53bc38e6648dc6 \ - --hash=sha256:cb59ad83a1700304fc1ac7bc53ae9e5cbe9d60a52ed9bba8e2e2d782a201bb2b \ - --hash=sha256:d146331e6b206baa9f6dd40f72b5783ad2302c240df68e7fce196d30588ccf7b \ - --hash=sha256:d1acef802916083f2ad7988efc7decf07e46e266916c0a09d8fb9d387288ea12 \ - --hash=sha256:d76efab5248aafbf8a2c2a63cd7b9545e6b346ad1397af8b862a3bb3140787d8 \ - --hash=sha256:ff4e957c45c446de34c513eadce01d0b65da7eee47c01dce472dd136124552c9 -wcwidth==0.2.13 ; python_version >= "3.10" and python_version < "4" \ - --hash=sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859 \ - --hash=sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5 -webcolors==24.8.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:08b07af286a01bcd30d583a7acadf629583d1f79bfef27dd2c2c5c263817277d \ - --hash=sha256:fc4c3b59358ada164552084a8ebee637c221e4059267d0f8325b3b560f6c7f0a -webencodings==0.5.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78 \ - --hash=sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923 -websocket-client==1.8.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526 \ - --hash=sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da -werkzeug==3.0.4 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:02c9eb92b7d6c06f31a782811505d2157837cea66aaede3e217c7c27c039476c \ - --hash=sha256:34f2371506b250df4d4f84bfe7b0921e4762525762bbd936614909fe25cd7306 -widgetsnbextension==4.0.13 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:74b2692e8500525cc38c2b877236ba51d34541e6385eeed5aec15a70f88a6c71 \ - --hash=sha256:ffcb67bc9febd10234a362795f643927f4e0c05d9342c727b65d2384f8feacb6 -wrapt==1.16.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc \ - --hash=sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81 \ - --hash=sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09 \ - --hash=sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e \ - --hash=sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca \ - --hash=sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0 \ - --hash=sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb \ - --hash=sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487 \ - --hash=sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40 \ - --hash=sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c \ - --hash=sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060 \ - --hash=sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202 \ - --hash=sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41 \ - --hash=sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9 \ - --hash=sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b \ - --hash=sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664 \ - --hash=sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d \ - --hash=sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362 \ - --hash=sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00 \ - --hash=sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc \ - --hash=sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1 \ - --hash=sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267 \ - --hash=sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956 \ - --hash=sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966 \ - --hash=sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1 \ - --hash=sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228 \ - --hash=sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72 \ - --hash=sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d \ - --hash=sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292 \ - --hash=sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0 \ - --hash=sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0 \ - --hash=sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36 \ - --hash=sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c \ - --hash=sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5 \ - --hash=sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f \ - --hash=sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73 \ - --hash=sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b \ - --hash=sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2 \ - --hash=sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593 \ - --hash=sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39 \ - --hash=sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389 \ - --hash=sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf \ - --hash=sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf \ - --hash=sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89 \ - --hash=sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c \ - --hash=sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c \ - --hash=sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f \ - --hash=sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440 \ - --hash=sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465 \ - --hash=sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136 \ - --hash=sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b \ - --hash=sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8 \ - --hash=sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3 \ - --hash=sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8 \ - --hash=sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6 \ - --hash=sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e \ - --hash=sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f \ - --hash=sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c \ - --hash=sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e \ - --hash=sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8 \ - --hash=sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2 \ - --hash=sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020 \ - --hash=sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35 \ - --hash=sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d \ - --hash=sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3 \ - --hash=sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537 \ - --hash=sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809 \ - --hash=sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d \ - --hash=sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a \ - --hash=sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4 -wsproto==1.2.0 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065 \ - --hash=sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736 -xattr==1.1.0 ; python_full_version >= "3.10.0" and python_version < "4.0" and sys_platform == "darwin" \ - --hash=sha256:00d2b415cf9d6a24112d019e721aa2a85652f7bbc9f3b9574b2d1cd8668eb491 \ - --hash=sha256:0683dae7609f7280b0c89774d00b5957e6ffcb181c6019c46632b389706b77e6 \ - --hash=sha256:08f61cbed52dc6f7c181455826a9ff1e375ad86f67dd9d5eb7663574abb32451 \ - --hash=sha256:0a9c431b0e66516a078125e9a273251d4b8e5ba84fe644b619f2725050d688a0 \ - --hash=sha256:0f06e0c1e4d06b4e0e49aaa1184b6f0e81c3758c2e8365597918054890763b53 \ - --hash=sha256:1a5921ea3313cc1c57f2f53b63ea8ca9a91e48f4cc7ebec057d2447ec82c7efe \ - --hash=sha256:23705c7079b05761ff2fa778ad17396e7599c8759401abc05b312dfb3bc99f69 \ - --hash=sha256:24d97f0d28f63695e3344ffdabca9fcc30c33e5c8ccc198c7524361a98d526f2 \ - --hash=sha256:27272afeba8422f2a9d27e1080a9a7b807394e88cce73db9ed8d2dde3afcfb87 \ - --hash=sha256:46a641ac038a9f53d2f696716147ca4dbd6a01998dc9cd4bc628801bc0df7f4d \ - --hash=sha256:47a3bdfe034b4fdb70e5941d97037405e3904accc28e10dbef6d1c9061fb6fd7 \ - --hash=sha256:4cb70c16e7c3ae6ba0ab6c6835c8448c61d8caf43ea63b813af1f4dbe83dd156 \ - --hash=sha256:54cb15cd94e5ef8a0ef02309f1bf973ba0e13c11e87686e983f371948cfee6af \ - --hash=sha256:6461a43b585e5f2e049b39bcbfcb6391bfef3c5118231f1b15d10bdb89ef17fe \ - --hash=sha256:6480589c1dac7785d1f851347a32c4a97305937bf7b488b857fe8b28a25de9e9 \ - --hash=sha256:687e7d18611ef8d84a6ecd8f4d1ab6757500c1302f4c2046ce0aa3585e13da3f \ - --hash=sha256:6881b120f9a4b36ccd8a28d933bc0f6e1de67218b6ce6e66874e0280fc006844 \ - --hash=sha256:6ad47d89968c9097900607457a0c89160b4771601d813e769f68263755516065 \ - --hash=sha256:78b377832dd0ee408f9f121a354082c6346960f7b6b1480483ed0618b1912120 \ - --hash=sha256:793c01deaadac50926c0e1481702133260c7cb5e62116762f6fe1543d07b826f \ - --hash=sha256:7a92aff66c43fa3e44cbeab7cbeee66266c91178a0f595e044bf3ce51485743b \ - --hash=sha256:7e4ca0956fd11679bb2e0c0d6b9cdc0f25470cc00d8da173bb7656cc9a9cf104 \ - --hash=sha256:83652910ef6a368b77b00825ad67815e5c92bfab551a848ca66e9981d14a7519 \ - --hash=sha256:9013f290387f1ac90bccbb1926555ca9aef75651271098d99217284d9e010f7c \ - --hash=sha256:918e1f83f2e8a072da2671eac710871ee5af337e9bf8554b5ce7f20cdb113186 \ - --hash=sha256:96ca300c0acca4f0cddd2332bb860ef58e1465d376364f0e72a1823fdd58e90d \ - --hash=sha256:9b1664edf003153ac8d1911e83a0fc60db1b1b374ee8ac943f215f93754a1102 \ - --hash=sha256:9c5a78c7558989492c4cb7242e490ffb03482437bf782967dfff114e44242343 \ - --hash=sha256:9d4f71b673339aeaae1f6ea9ef8ea6c9643c8cd0df5003b9a0eaa75403e2e06c \ - --hash=sha256:9dcd5dfbcee73c7be057676ecb900cabb46c691aff4397bf48c579ffb30bb963 \ - --hash=sha256:a20de1c47b5cd7b47da61799a3b34e11e5815d716299351f82a88627a43f9a96 \ - --hash=sha256:afacebbc1fa519f41728f8746a92da891c7755e6745164bd0d5739face318e86 \ - --hash=sha256:b0d73150f2f9655b4da01c2369eb33a294b7f9d56eccb089819eafdbeb99f896 \ - --hash=sha256:b489b7916f239100956ea0b39c504f3c3a00258ba65677e4c8ba1bd0b5513446 \ - --hash=sha256:b6ceb9efe0657a982ccb8b8a2efe96b690891779584c901d2f920784e5d20ae3 \ - --hash=sha256:b735ac2625a4fc2c9343b19f806793db6494336338537d2911c8ee4c390dda46 \ - --hash=sha256:caab2c2986c30f92301f12e9c50415d324412e8e6a739a52a603c3e6a54b3610 \ - --hash=sha256:ccab735d0632fe71f7d72e72adf886f45c18b7787430467ce0070207882cfe25 \ - --hash=sha256:cd11e917f5b89f2a0ad639d9875943806c6c9309a3dd02da5a3e8ef92db7bed9 \ - --hash=sha256:cebcf8a303a44fbc439b68321408af7267507c0d8643229dbb107f6c132d389c \ - --hash=sha256:d1059b2f726e2702c8bbf9bbf369acfc042202a4cc576c2dec6791234ad5e948 \ - --hash=sha256:d1418705f253b6b6a7224b69773842cac83fcbcd12870354b6e11dd1cd54630f \ - --hash=sha256:d44e8f955218638c9ab222eed21e9bd9ab430d296caf2176fb37abe69a714e5c \ - --hash=sha256:d6eb7d5f281014cd44e2d847a9107491af1bf3087f5afeded75ed3e37ec87239 \ - --hash=sha256:dab29d9288aa28e68a6f355ddfc3f0a7342b40c9012798829f3e7bd765e85c2c \ - --hash=sha256:dba4f80b9855cc98513ddf22b7ad8551bc448c70d3147799ea4f6c0b758fb466 \ - --hash=sha256:dc53cab265f6e8449bd683d5ee3bc5a191e6dd940736f3de1a188e6da66b0653 \ - --hash=sha256:dd43978966de3baf4aea367c99ffa102b289d6c2ea5f3d9ce34a203dc2f2ab73 \ - --hash=sha256:dda2684228798e937a7c29b0e1c7ef3d70e2b85390a69b42a1c61b2039ba81de \ - --hash=sha256:ded771eaf27bb4eb3c64c0d09866460ee8801d81dc21097269cf495b3cac8657 \ - --hash=sha256:e0c80bbf55339c93770fc294b4b6586b5bf8e85ec00a4c2d585c33dbd84b5006 \ - --hash=sha256:e189e440bcd04ccaad0474720abee6ee64890823ec0db361fb0a4fb5e843a1bf \ - --hash=sha256:e2255f36ebf2cb2dbf772a7437ad870836b7396e60517211834cf66ce678b595 \ - --hash=sha256:ef2fa0f85458736178fd3dcfeb09c3cf423f0843313e25391db2cfd1acec8888 \ - --hash=sha256:f6ad2a7bd5e6cf71d4a862413234a067cf158ca0ae94a40d4b87b98b62808498 \ - --hash=sha256:fa6a7af7a4ada43f15ccc58b6f9adcdbff4c36ba040013d2681e589e07ae280a \ - --hash=sha256:fecbf3b05043ed3487a28190dec3e4c4d879b2fcec0e30bafd8ec5d4b6043630 \ - --hash=sha256:ff6223a854229055e803c2ad0c0ea9a6da50c6be30d92c198cf5f9f28819a921 -yarl==1.9.7 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:03e917cc44a01e1be60a83ee1a17550b929490aaa5df2a109adc02137bddf06b \ - --hash=sha256:050f3e4d886be55728fef268587d061c5ce6f79a82baba71840801b63441c301 \ - --hash=sha256:0a1b8fd849567be56342e988e72c9d28bd3c77b9296c38b9b42d2fe4813c9d3f \ - --hash=sha256:0d8cf3d0b67996edc11957aece3fbce4c224d0451c7c3d6154ec3a35d0e55f6b \ - --hash=sha256:0fdb156a06208fc9645ae7cc0fca45c40dd40d7a8c4db626e542525489ca81a9 \ - --hash=sha256:10452727843bc847596b75e30a7fe92d91829f60747301d1bd60363366776b0b \ - --hash=sha256:1787dcfdbe730207acb454548a6e19f80ae75e6d2d1f531c5a777bc1ab6f7952 \ - --hash=sha256:1cd450e10cb53d63962757c3f6f7870be49a3e448c46621d6bd46f8088d532de \ - --hash=sha256:1d5594512541e63188fea640b7f066c218d2176203d6e6f82abf702ae3dca3b2 \ - --hash=sha256:1fc728857df4087da6544fc68f62d7017fa68d74201d5b878e18ed4822c31fb3 \ - --hash=sha256:23404842228e6fa8ace235024519df37f3f8e173620407644d40ddca571ff0f4 \ - --hash=sha256:25508739e9b44d251172145f54c084b71747b09e4d237dc2abb045f46c36a66e \ - --hash=sha256:29c80890e0a64fb0e5f71350d48da330995073881f8b8e623154aef631febfb0 \ - --hash=sha256:2d71a5d818d82586ac46265ae01466e0bda0638760f18b21f1174e0dd58a9d2f \ - --hash=sha256:2ead2f87a1174963cc406d18ac93d731fbb190633d3995fa052d10cefae69ed8 \ - --hash=sha256:316c82b499b6df41444db5dea26ee23ece9356e38cea43a8b2af9e6d8a3558e4 \ - --hash=sha256:34736fcc9d6d7080ebbeb0998ecb91e4f14ad8f18648cf0b3099e2420a225d86 \ - --hash=sha256:36b16884336c15adf79a4bf1d592e0c1ffdb036a760e36a1361565b66785ec6c \ - --hash=sha256:395ab0d8ce6d104a988da429bcbfd445e03fb4c911148dfd523f69d13f772e47 \ - --hash=sha256:3a7748cd66fef49c877e59503e0cc76179caf1158d1080228e67e1db14554f08 \ - --hash=sha256:3dba2ebac677184d56374fa3e452b461f5d6a03aa132745e648ae8859361eb6b \ - --hash=sha256:3f53df493ec80b76969d6e1ae6e4411a55ab1360e02b80c84bd4b33d61a567ba \ - --hash=sha256:4052dbd0c900bece330e3071c636f99dff06e4628461a29b38c6e222a427cf98 \ - --hash=sha256:48ce93947554c2c85fe97fc4866646ec90840bc1162e4db349b37d692a811755 \ - --hash=sha256:48f7a158f3ca67509d21cb02a96964e4798b6f133691cc0c86cf36e26e26ec8f \ - --hash=sha256:49827dfccbd59c4499605c13805e947349295466e490860a855b7c7e82ec9c75 \ - --hash=sha256:49935cc51d272264358962d050d726c3e5603a616f53e52ea88e9df1728aa2ee \ - --hash=sha256:4a6fa3aeca8efabb0fbbb3b15e0956b0cb77f7d9db67c107503c30af07cd9e00 \ - --hash=sha256:4db97210433366dfba55590e48285b89ad0146c52bf248dd0da492dd9f0f72cf \ - --hash=sha256:522fa3d300d898402ae4e0fa7c2c21311248ca43827dc362a667de87fdb4f1be \ - --hash=sha256:58e3f01673873b8573da3abe138debc63e4e68541b2104a55df4c10c129513a4 \ - --hash=sha256:596069ddeaf72b5eb36cd714dcd2b5751d0090d05a8d65113b582ed9e1c801fb \ - --hash=sha256:5d585c7d834c13f24c7e3e0efaf1a4b7678866940802e11bd6c4d1f99c935e6b \ - --hash=sha256:5e338b6febbae6c9fe86924bac3ea9c1944e33255c249543cd82a4af6df6047b \ - --hash=sha256:60c04415b31a1611ef5989a6084dd6f6b95652c6a18378b58985667b65b2ecb6 \ - --hash=sha256:60f3b5aec3146b6992640592856414870f5b20eb688c1f1d5f7ac010a7f86561 \ - --hash=sha256:62440431741d0b7d410e5cbad800885e3289048140a43390ecab4f0b96dde3bb \ - --hash=sha256:628619008680a11d07243391271b46f07f13b75deb9fe92ef342305058c70722 \ - --hash=sha256:62e110772330d7116f91e79cd83fef92545cb2f36414c95881477aa01971f75f \ - --hash=sha256:653597b615809f2e5f4dba6cd805608b6fd3597128361a22cc612cf7c7a4d1bf \ - --hash=sha256:65e3098969baf221bb45e3b2f60735fc2b154fc95902131ebc604bae4c629ea6 \ - --hash=sha256:6639444d161c693cdabb073baaed1945c717d3982ecedf23a219bc55a242e728 \ - --hash=sha256:71bb1435a84688ed831220c5305d96161beb65cac4a966374475348aa3de4575 \ - --hash=sha256:71d33fd1c219b5b28ee98cd76da0c9398a4ed4792fd75c94135237db05ba5ca8 \ - --hash=sha256:74d3ef5e81f81507cea04bf5ae22f18ef538607a7c754aac2b6e3029956a2842 \ - --hash=sha256:78250f635f221dde97d02c57aade3313310469bc291888dfe32acd1012594441 \ - --hash=sha256:78805148e780a9ca66f3123e04741e344b66cf06b4fb13223e3a209f39a6da55 \ - --hash=sha256:7ab906a956d2109c6ea11e24c66592b06336e2743509290117f0f7f47d2c1dd3 \ - --hash=sha256:7fc441408ed0d9c6d2d627a02e281c21f5de43eb5209c16636a17fc704f7d0f8 \ - --hash=sha256:808eddabcb6f7b2cdb6929b3e021ac824a2c07dc7bc83f7618e18438b1b65781 \ - --hash=sha256:8525f955a2dcc281573b6aadeb8ab9c37e2d3428b64ca6a2feec2a794a69c1da \ - --hash=sha256:867b13c1b361f9ba5d2f84dc5408082f5d744c83f66de45edc2b96793a9c5e48 \ - --hash=sha256:87aa5308482f248f8c3bd9311cd6c7dfd98ea1a8e57e35fb11e4adcac3066003 \ - --hash=sha256:8af0bbd4d84f8abdd9b11be9488e32c76b1501889b73c9e2292a15fb925b378b \ - --hash=sha256:8e8916b1ff7680b1f2b1608c82dc15c569b9f2cb2da100c747c291f1acf18a14 \ - --hash=sha256:91567ff4fce73d2e7ac67ed5983ad26ba2343bc28cb22e1e1184a9677df98d7c \ - --hash=sha256:9163d21aa40ff8528db2aee2b0b6752efe098055b41ab8e5422b2098457199fe \ - --hash=sha256:9c2743e43183e4afbb07d5605693299b8756baff0b086c25236c761feb0e3c56 \ - --hash=sha256:9d319ac113ca47352319cbea92d1925a37cb7bd61a8c2f3e3cd2e96eb33cccae \ - --hash=sha256:a48d2b9f0ae29a456fb766ae461691378ecc6cf159dd9f938507d925607591c3 \ - --hash=sha256:a564155cc2194ecd9c0d8f8dc57059b822a507de5f08120063675eb9540576aa \ - --hash=sha256:a95167ae34667c5cc7d9206c024f793e8ffbadfb307d5c059de470345de58a21 \ - --hash=sha256:a9552367dc440870556da47bb289a806f08ad06fbc4054072d193d9e5dd619ba \ - --hash=sha256:a99cecfb51c84d00132db909e83ae388793ca86e48df7ae57f1be0beab0dcce5 \ - --hash=sha256:b1557456afce5db3d655b5f8a31cdcaae1f47e57958760525c44b76e812b4987 \ - --hash=sha256:bc23d870864971c8455cfba17498ccefa53a5719ea9f5fce5e7e9c1606b5755f \ - --hash=sha256:bc9233638b07c2e4a3a14bef70f53983389bffa9e8cb90a2da3f67ac9c5e1842 \ - --hash=sha256:c81c28221a85add23a0922a6aeb2cdda7f9723e03e2dfae06fee5c57fe684262 \ - --hash=sha256:ca5e86be84492fa403c4dcd4dcaf8e1b1c4ffc747b5176f7c3d09878c45719b0 \ - --hash=sha256:cb870907e8b86b2f32541403da9455afc1e535ce483e579bea0e6e79a0cc751c \ - --hash=sha256:cddebd096effe4be90fd378e4224cd575ac99e1c521598a6900e94959006e02e \ - --hash=sha256:cf37dd0008e5ac5c3880198976063c491b6a15b288d150d12833248cf2003acb \ - --hash=sha256:cf85599c9336b89b92c313519bcaa223d92fa5d98feb4935a47cce2e8722b4b8 \ - --hash=sha256:d06d6a8f98dd87646d98f0c468be14b201e47ec6092ad569adf835810ad0dffb \ - --hash=sha256:d0aabe557446aa615693a82b4d3803c102fd0e7a6a503bf93d744d182a510184 \ - --hash=sha256:d35f9cdab0ec5e20cf6d2bd46456cf599052cf49a1698ef06b9592238d1cf1b1 \ - --hash=sha256:d8ad761493d5aaa7ab2a09736e62b8a220cb0b10ff8ccf6968c861cd8718b915 \ - --hash=sha256:daa69a3a2204355af39f4cfe7f3870d87c53d77a597b5100b97e3faa9460428b \ - --hash=sha256:dd08da4f2d171e19bd02083c921f1bef89f8f5f87000d0ffc49aa257bc5a9802 \ - --hash=sha256:df47612129e66f7ce7c9994d4cd4e6852f6e3bf97699375d86991481796eeec8 \ - --hash=sha256:e649d37d04665dddb90994bbf0034331b6c14144cc6f3fbce400dc5f28dc05b7 \ - --hash=sha256:e7f9cabfb8b980791b97a3ae3eab2e38b2ba5eab1af9b7495bdc44e1ce7c89e3 \ - --hash=sha256:e8362c941e07fbcde851597672a5e41b21dc292b7d5a1dc439b7a93c9a1af5d9 \ - --hash=sha256:eefda67ba0ba44ab781e34843c266a76f718772b348f7c5d798d8ea55b95517f \ - --hash=sha256:f28e602edeeec01fc96daf7728e8052bc2e12a672e2a138561a1ebaf30fd9df7 \ - --hash=sha256:f3aaf9fa960d55bd7876d55d7ea3cc046f3660df1ff73fc1b8c520a741ed1f21 \ - --hash=sha256:f5ddad20363f9f1bbedc95789c897da62f939e6bc855793c3060ef8b9f9407bf \ - --hash=sha256:f6b8bbdd425d0978311520ea99fb6c0e9e04e64aee84fac05f3157ace9f81b05 \ - --hash=sha256:f87d8645a7a806ec8f66aac5e3b1dcb5014849ff53ffe2a1f0b86ca813f534c7 \ - --hash=sha256:f9d715b2175dff9a49c6dafdc2ab3f04850ba2f3d4a77f69a5a1786b057a9d45 \ - --hash=sha256:fcd3d94b848cba132f39a5b40d80b0847d001a91a6f35a2204505cdd46afe1b2 \ - --hash=sha256:ff03f1c1ac474c66d474929ae7e4dd195592c1c7cc8c36418528ed81b1ca0a79 -zipp==3.20.1 ; python_full_version >= "3.10.0" and python_version < "4" \ - --hash=sha256:9960cd8967c8f85a56f920d5d507274e74f9ff813a0ab8889a5b5be2daf44064 \ - --hash=sha256:c22b14cc4763c5a5b04134207736c107db42e9d3ef2d9779d465f5f1bcba572b -zstandard==0.23.0 ; python_full_version >= "3.10.0" and python_version < "4.0" \ - --hash=sha256:034b88913ecc1b097f528e42b539453fa82c3557e414b3de9d5632c80439a473 \ - --hash=sha256:0a7f0804bb3799414af278e9ad51be25edf67f78f916e08afdb983e74161b916 \ - --hash=sha256:11e3bf3c924853a2d5835b24f03eeba7fc9b07d8ca499e247e06ff5676461a15 \ - --hash=sha256:12a289832e520c6bd4dcaad68e944b86da3bad0d339ef7989fb7e88f92e96072 \ - --hash=sha256:1516c8c37d3a053b01c1c15b182f3b5f5eef19ced9b930b684a73bad121addf4 \ - --hash=sha256:157e89ceb4054029a289fb504c98c6a9fe8010f1680de0201b3eb5dc20aa6d9e \ - --hash=sha256:1bfe8de1da6d104f15a60d4a8a768288f66aa953bbe00d027398b93fb9680b26 \ - --hash=sha256:1e172f57cd78c20f13a3415cc8dfe24bf388614324d25539146594c16d78fcc8 \ - --hash=sha256:1fd7e0f1cfb70eb2f95a19b472ee7ad6d9a0a992ec0ae53286870c104ca939e5 \ - --hash=sha256:203d236f4c94cd8379d1ea61db2fce20730b4c38d7f1c34506a31b34edc87bdd \ - --hash=sha256:27d3ef2252d2e62476389ca8f9b0cf2bbafb082a3b6bfe9d90cbcbb5529ecf7c \ - --hash=sha256:29a2bc7c1b09b0af938b7a8343174b987ae021705acabcbae560166567f5a8db \ - --hash=sha256:2ef230a8fd217a2015bc91b74f6b3b7d6522ba48be29ad4ea0ca3a3775bf7dd5 \ - --hash=sha256:2ef3775758346d9ac6214123887d25c7061c92afe1f2b354f9388e9e4d48acfc \ - --hash=sha256:2f146f50723defec2975fb7e388ae3a024eb7151542d1599527ec2aa9cacb152 \ - --hash=sha256:2fb4535137de7e244c230e24f9d1ec194f61721c86ebea04e1581d9d06ea1269 \ - --hash=sha256:32ba3b5ccde2d581b1e6aa952c836a6291e8435d788f656fe5976445865ae045 \ - --hash=sha256:34895a41273ad33347b2fc70e1bff4240556de3c46c6ea430a7ed91f9042aa4e \ - --hash=sha256:379b378ae694ba78cef921581ebd420c938936a153ded602c4fea612b7eaa90d \ - --hash=sha256:38302b78a850ff82656beaddeb0bb989a0322a8bbb1bf1ab10c17506681d772a \ - --hash=sha256:3aa014d55c3af933c1315eb4bb06dd0459661cc0b15cd61077afa6489bec63bb \ - --hash=sha256:4051e406288b8cdbb993798b9a45c59a4896b6ecee2f875424ec10276a895740 \ - --hash=sha256:40b33d93c6eddf02d2c19f5773196068d875c41ca25730e8288e9b672897c105 \ - --hash=sha256:43da0f0092281bf501f9c5f6f3b4c975a8a0ea82de49ba3f7100e64d422a1274 \ - --hash=sha256:445e4cb5048b04e90ce96a79b4b63140e3f4ab5f662321975679b5f6360b90e2 \ - --hash=sha256:48ef6a43b1846f6025dde6ed9fee0c24e1149c1c25f7fb0a0585572b2f3adc58 \ - --hash=sha256:50a80baba0285386f97ea36239855f6020ce452456605f262b2d33ac35c7770b \ - --hash=sha256:519fbf169dfac1222a76ba8861ef4ac7f0530c35dd79ba5727014613f91613d4 \ - --hash=sha256:53dd9d5e3d29f95acd5de6802e909ada8d8d8cfa37a3ac64836f3bc4bc5512db \ - --hash=sha256:53ea7cdc96c6eb56e76bb06894bcfb5dfa93b7adcf59d61c6b92674e24e2dd5e \ - --hash=sha256:576856e8594e6649aee06ddbfc738fec6a834f7c85bf7cadd1c53d4a58186ef9 \ - --hash=sha256:59556bf80a7094d0cfb9f5e50bb2db27fefb75d5138bb16fb052b61b0e0eeeb0 \ - --hash=sha256:5d41d5e025f1e0bccae4928981e71b2334c60f580bdc8345f824e7c0a4c2a813 \ - --hash=sha256:61062387ad820c654b6a6b5f0b94484fa19515e0c5116faf29f41a6bc91ded6e \ - --hash=sha256:61f89436cbfede4bc4e91b4397eaa3e2108ebe96d05e93d6ccc95ab5714be512 \ - --hash=sha256:62136da96a973bd2557f06ddd4e8e807f9e13cbb0bfb9cc06cfe6d98ea90dfe0 \ - --hash=sha256:64585e1dba664dc67c7cdabd56c1e5685233fbb1fc1966cfba2a340ec0dfff7b \ - --hash=sha256:65308f4b4890aa12d9b6ad9f2844b7ee42c7f7a4fd3390425b242ffc57498f48 \ - --hash=sha256:66b689c107857eceabf2cf3d3fc699c3c0fe8ccd18df2219d978c0283e4c508a \ - --hash=sha256:6a41c120c3dbc0d81a8e8adc73312d668cd34acd7725f036992b1b72d22c1772 \ - --hash=sha256:6f77fa49079891a4aab203d0b1744acc85577ed16d767b52fc089d83faf8d8ed \ - --hash=sha256:72c68dda124a1a138340fb62fa21b9bf4848437d9ca60bd35db36f2d3345f373 \ - --hash=sha256:752bf8a74412b9892f4e5b58f2f890a039f57037f52c89a740757ebd807f33ea \ - --hash=sha256:76e79bc28a65f467e0409098fa2c4376931fd3207fbeb6b956c7c476d53746dd \ - --hash=sha256:774d45b1fac1461f48698a9d4b5fa19a69d47ece02fa469825b442263f04021f \ - --hash=sha256:77da4c6bfa20dd5ea25cbf12c76f181a8e8cd7ea231c673828d0386b1740b8dc \ - --hash=sha256:77ea385f7dd5b5676d7fd943292ffa18fbf5c72ba98f7d09fc1fb9e819b34c23 \ - --hash=sha256:80080816b4f52a9d886e67f1f96912891074903238fe54f2de8b786f86baded2 \ - --hash=sha256:80a539906390591dd39ebb8d773771dc4db82ace6372c4d41e2d293f8e32b8db \ - --hash=sha256:82d17e94d735c99621bf8ebf9995f870a6b3e6d14543b99e201ae046dfe7de70 \ - --hash=sha256:837bb6764be6919963ef41235fd56a6486b132ea64afe5fafb4cb279ac44f259 \ - --hash=sha256:84433dddea68571a6d6bd4fbf8ff398236031149116a7fff6f777ff95cad3df9 \ - --hash=sha256:8c24f21fa2af4bb9f2c492a86fe0c34e6d2c63812a839590edaf177b7398f700 \ - --hash=sha256:8ed7d27cb56b3e058d3cf684d7200703bcae623e1dcc06ed1e18ecda39fee003 \ - --hash=sha256:9206649ec587e6b02bd124fb7799b86cddec350f6f6c14bc82a2b70183e708ba \ - --hash=sha256:983b6efd649723474f29ed42e1467f90a35a74793437d0bc64a5bf482bedfa0a \ - --hash=sha256:98da17ce9cbf3bfe4617e836d561e433f871129e3a7ac16d6ef4c680f13a839c \ - --hash=sha256:9c236e635582742fee16603042553d276cca506e824fa2e6489db04039521e90 \ - --hash=sha256:9da6bc32faac9a293ddfdcb9108d4b20416219461e4ec64dfea8383cac186690 \ - --hash=sha256:a05e6d6218461eb1b4771d973728f0133b2a4613a6779995df557f70794fd60f \ - --hash=sha256:a0817825b900fcd43ac5d05b8b3079937073d2b1ff9cf89427590718b70dd840 \ - --hash=sha256:a4ae99c57668ca1e78597d8b06d5af837f377f340f4cce993b551b2d7731778d \ - --hash=sha256:a8c86881813a78a6f4508ef9daf9d4995b8ac2d147dcb1a450448941398091c9 \ - --hash=sha256:a8fffdbd9d1408006baaf02f1068d7dd1f016c6bcb7538682622c556e7b68e35 \ - --hash=sha256:a9b07268d0c3ca5c170a385a0ab9fb7fdd9f5fd866be004c4ea39e44edce47dd \ - --hash=sha256:ab19a2d91963ed9e42b4e8d77cd847ae8381576585bad79dbd0a8837a9f6620a \ - --hash=sha256:ac184f87ff521f4840e6ea0b10c0ec90c6b1dcd0bad2f1e4a9a1b4fa177982ea \ - --hash=sha256:b0e166f698c5a3e914947388c162be2583e0c638a4703fc6a543e23a88dea3c1 \ - --hash=sha256:b2170c7e0367dde86a2647ed5b6f57394ea7f53545746104c6b09fc1f4223573 \ - --hash=sha256:b2d8c62d08e7255f68f7a740bae85b3c9b8e5466baa9cbf7f57f1cde0ac6bc09 \ - --hash=sha256:b4567955a6bc1b20e9c31612e615af6b53733491aeaa19a6b3b37f3b65477094 \ - --hash=sha256:b69bb4f51daf461b15e7b3db033160937d3ff88303a7bc808c67bbc1eaf98c78 \ - --hash=sha256:b8c0bd73aeac689beacd4e7667d48c299f61b959475cdbb91e7d3d88d27c56b9 \ - --hash=sha256:be9b5b8659dff1f913039c2feee1aca499cfbc19e98fa12bc85e037c17ec6ca5 \ - --hash=sha256:bf0a05b6059c0528477fba9054d09179beb63744355cab9f38059548fedd46a9 \ - --hash=sha256:c16842b846a8d2a145223f520b7e18b57c8f476924bda92aeee3a88d11cfc391 \ - --hash=sha256:c363b53e257246a954ebc7c488304b5592b9c53fbe74d03bc1c64dda153fb847 \ - --hash=sha256:c7c517d74bea1a6afd39aa612fa025e6b8011982a0897768a2f7c8ab4ebb78a2 \ - --hash=sha256:d20fd853fbb5807c8e84c136c278827b6167ded66c72ec6f9a14b863d809211c \ - --hash=sha256:d2240ddc86b74966c34554c49d00eaafa8200a18d3a5b6ffbf7da63b11d74ee2 \ - --hash=sha256:d477ed829077cd945b01fc3115edd132c47e6540ddcd96ca169facff28173057 \ - --hash=sha256:d50d31bfedd53a928fed6707b15a8dbeef011bb6366297cc435accc888b27c20 \ - --hash=sha256:dc1d33abb8a0d754ea4763bad944fd965d3d95b5baef6b121c0c9013eaf1907d \ - --hash=sha256:dc5d1a49d3f8262be192589a4b72f0d03b72dcf46c51ad5852a4fdc67be7b9e4 \ - --hash=sha256:e2d1a054f8f0a191004675755448d12be47fa9bebbcffa3cdf01db19f2d30a54 \ - --hash=sha256:e7792606d606c8df5277c32ccb58f29b9b8603bf83b48639b7aedf6df4fe8171 \ - --hash=sha256:ed1708dbf4d2e3a1c5c69110ba2b4eb6678262028afd6c6fbcc5a8dac9cda68e \ - --hash=sha256:f2d4380bf5f62daabd7b751ea2339c1a21d1c9463f1feb7fc2bdcea2c29c3160 \ - --hash=sha256:f3513916e8c645d0610815c257cbfd3242adfd5c4cfa78be514e5a3ebb42a41b \ - --hash=sha256:f8346bfa098532bc1fb6c7ef06783e969d87a99dd1d2a5a18a892c1d7a643c58 \ - --hash=sha256:f83fa6cae3fff8e98691248c9320356971b59678a17f20656a9e59cd32cee6d8 \ - --hash=sha256:fa6ce8b52c5987b3e34d5674b0ab529a4602b632ebab0a93b07bfb4dfc8f8a33 \ - --hash=sha256:fb2b1ecfef1e67897d336de3a0e3f52478182d6a47eda86cbd42504c5cbd009a \ - --hash=sha256:fc9ca1c9718cb3b06634c7c8dec57d24e9438b2aa9a0f02b8bb36bf478538880 \ - --hash=sha256:fd30d9c67d13d891f2360b2a120186729c111238ac63b43dbd37a5a40670b8ca \ - --hash=sha256:fd7699e8fd9969f455ef2926221e0233f81a2542921471382e77a9e2f2b57f4b \ - --hash=sha256:fe3b385d996ee0822fd46528d9f0443b880d4d05528fd26a9119a54ec3f91c69 From 415f6978960d701d7b7861542e6865160dc828f2 Mon Sep 17 00:00:00 2001 From: Nikola Milosavljevic <73236646+NikolaMilosa@users.noreply.github.com> Date: Wed, 4 Sep 2024 19:24:57 +0200 Subject: [PATCH 09/25] feat: dre testing of `update-unassigned-nodes` command (#858) --- Cargo.Bazel.lock | 10 +- Cargo.lock | 2 + Cargo.toml | 1 + rs/cli/BUILD.bazel | 2 +- rs/cli/Cargo.toml | 1 + rs/cli/src/commands/mod.rs | 32 ++-- .../src/commands/update_unassigned_nodes.rs | 2 +- rs/cli/src/ctx.rs | 35 ++++ rs/cli/src/ic_admin.rs | 18 +- rs/cli/src/lib.rs | 2 - rs/cli/src/main.rs | 2 + rs/cli/src/unit_tests/mod.rs | 2 +- .../src/unit_tests/update_unassigned_nodes.rs | 167 ++++++++++++++++++ rs/ic-management-backend/Cargo.toml | 2 +- rs/ic-management-backend/src/lazy_git.rs | 2 + rs/ic-management-backend/src/lazy_registry.rs | 62 +++++++ rs/ic-management-backend/src/proposal.rs | 2 + 17 files changed, 313 insertions(+), 31 deletions(-) create mode 100644 rs/cli/src/unit_tests/update_unassigned_nodes.rs diff --git a/Cargo.Bazel.lock b/Cargo.Bazel.lock index 5fa9488f1..b16ec859c 100644 --- a/Cargo.Bazel.lock +++ b/Cargo.Bazel.lock @@ -1,5 +1,5 @@ { - "checksum": "2c42277b10b758d02d577974e54b09d0e0b596963845dfadd0589edcabe3044a", + "checksum": "7c6e7634ec0d7045cdb8c8875094bcc3c2ef94dde5b0a5d505607233a5852f7c", "crates": { "actix-codec 0.5.2": { "name": "actix-codec", @@ -10936,6 +10936,10 @@ "id": "log 0.4.22", "target": "log" }, + { + "id": "mockall 0.13.0", + "target": "mockall" + }, { "id": "pretty_env_logger 0.5.0", "target": "pretty_env_logger" @@ -20821,6 +20825,10 @@ "id": "log 0.4.22", "target": "log" }, + { + "id": "mockall 0.13.0", + "target": "mockall" + }, { "id": "octocrab 0.39.0", "target": "octocrab" diff --git a/Cargo.lock b/Cargo.lock index 772b884a6..e83ac4356 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2178,6 +2178,7 @@ dependencies = [ "itertools 0.13.0", "keyring", "log", + "mockall", "pretty_env_logger", "prost", "regex", @@ -4189,6 +4190,7 @@ dependencies = [ "itertools 0.13.0", "lazy_static", "log", + "mockall", "octocrab", "prometheus-http-query", "regex", diff --git a/Cargo.toml b/Cargo.toml index b97a0ee76..b9264310d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -185,6 +185,7 @@ human_bytes = "0.4" headless_chrome = { version = "1.0.13", features = [ "fetch", ], default-features = false } +mockall = "0.13.0" # dre-canisters dependencies ic-cdk-timers = { git = "https://github.com/dfinity/cdk-rs.git", rev = "3e54016734c8f73fb3acabc9c9e72c960c85eb3b" } diff --git a/rs/cli/BUILD.bazel b/rs/cli/BUILD.bazel index 2b8cf6040..9ed9be89d 100644 --- a/rs/cli/BUILD.bazel +++ b/rs/cli/BUILD.bazel @@ -57,7 +57,7 @@ rust_test( normal_dev = True, proc_macro_dev = True, ), - crate = ":dre-lib", + crate = ":dre", proc_macro_deps = all_crate_deps( proc_macro_dev = True, ), diff --git a/rs/cli/Cargo.toml b/rs/cli/Cargo.toml index b78c6a228..0ef6ae3ba 100644 --- a/rs/cli/Cargo.toml +++ b/rs/cli/Cargo.toml @@ -74,6 +74,7 @@ keyring = { workspace = true } comfy-table = { workspace = true } human_bytes = { workspace = true } headless_chrome = { workspace = true } +mockall.workspace = true clio = { workspace = true } [dev-dependencies] diff --git a/rs/cli/src/commands/mod.rs b/rs/cli/src/commands/mod.rs index 110847369..7acac72eb 100644 --- a/rs/cli/src/commands/mod.rs +++ b/rs/cli/src/commands/mod.rs @@ -29,26 +29,26 @@ use vote::Vote; use crate::auth::Neuron as AuthNeuron; -mod api_boundary_nodes; -mod completions; -mod der_to_principal; -mod firewall; +pub(crate) mod api_boundary_nodes; +pub(crate) mod completions; +pub(crate) mod der_to_principal; +pub(crate) mod firewall; pub mod get; -mod heal; +pub(crate) mod heal; pub mod hostos; -mod neuron; -mod node_metrics; -mod nodes; -mod proposals; -mod propose; +pub(crate) mod neuron; +pub(crate) mod node_metrics; +pub(crate) mod nodes; +pub(crate) mod proposals; +pub(crate) mod propose; pub mod qualify; -mod registry; -mod subnet; -mod update_authorized_subnets; -mod update_unassigned_nodes; +pub(crate) mod registry; +pub(crate) mod subnet; +pub(crate) mod update_authorized_subnets; +pub(crate) mod update_unassigned_nodes; pub mod upgrade; -mod version; -mod vote; +pub(crate) mod version; +pub(crate) mod vote; /// HSM authentication parameters #[derive(ClapArgs, Debug, Clone)] diff --git a/rs/cli/src/commands/update_unassigned_nodes.rs b/rs/cli/src/commands/update_unassigned_nodes.rs index e32945314..8be9bd96b 100644 --- a/rs/cli/src/commands/update_unassigned_nodes.rs +++ b/rs/cli/src/commands/update_unassigned_nodes.rs @@ -26,11 +26,11 @@ impl ExecutableCommand for UpdateUnassignedNodes { async fn execute(&self, ctx: crate::ctx::DreContext) -> anyhow::Result<()> { let runner = ctx.runner().await; - let canister_agent = ctx.create_ic_agent_canister_client(None)?; let nns_subnet_id = match &self.nns_subnet_id { Some(n) => n.to_owned(), None => { + let canister_agent = ctx.create_ic_agent_canister_client(None)?; let registry_client = RegistryCanisterWrapper::new(canister_agent.agent); let subnet_list = registry_client.get_subnets().await?; subnet_list diff --git a/rs/cli/src/ctx.rs b/rs/cli/src/ctx.rs index 6c41537fa..89b7c35d2 100644 --- a/rs/cli/src/ctx.rs +++ b/rs/cli/src/ctx.rs @@ -254,3 +254,38 @@ impl DreContext { self.forum_post_link.clone() } } + +#[cfg(test)] +#[allow(dead_code)] +pub mod tests { + use std::{cell::RefCell, sync::Arc}; + + use ic_management_backend::{lazy_git::LazyGit, lazy_registry::LazyRegistry, proposal::ProposalAgent}; + use ic_management_types::Network; + + use crate::ic_admin::IcAdmin; + + use super::DreContext; + + pub fn get_mocked_ctx( + network: Network, + registry: Arc<dyn LazyRegistry>, + ic_admin: Arc<dyn IcAdmin>, + git: Arc<dyn LazyGit>, + proposal_agent: Arc<dyn ProposalAgent>, + ) -> DreContext { + DreContext { + network, + registry: RefCell::new(Some(registry)), + ic_admin: Some(ic_admin), + runner: RefCell::new(None), + ic_repo: RefCell::new(Some(git)), + proposal_agent, + verbose_runner: true, + skip_sync: false, + ic_admin_path: None, + forum_post_link: None, + dry_run: true, + } + } +} diff --git a/rs/cli/src/ic_admin.rs b/rs/cli/src/ic_admin.rs index 8ba9ee6c0..43d46a686 100644 --- a/rs/cli/src/ic_admin.rs +++ b/rs/cli/src/ic_admin.rs @@ -9,6 +9,7 @@ use ic_base_types::PrincipalId; use ic_management_types::{Artifact, Network}; use itertools::Itertools; use log::{error, info, warn}; +use mockall::automock; use regex::Regex; use reqwest::StatusCode; use sha2::{Digest, Sha256}; @@ -58,18 +59,19 @@ impl UpdateVersion { } } +#[automock] pub trait IcAdmin: Send + Sync { fn neuron(&self) -> Neuron; fn propose_run(&self, cmd: ProposeCommand, opts: ProposeOptions) -> BoxFuture<'_, anyhow::Result<String>>; - fn run<'a>(&'a self, command: &'a str, args: &'a [String], silent: bool) -> BoxFuture<'a, anyhow::Result<String>>; + fn run<'a>(&'a self, command: &'a str, args: &'a [String], silent: bool) -> BoxFuture<'_, anyhow::Result<String>>; fn grep_subcommand_arguments(&self, subcommand: &str) -> String; - fn run_passthrough_get<'a>(&'a self, args: &'a [String], silent: bool) -> BoxFuture<'a, anyhow::Result<String>>; + fn run_passthrough_get<'a>(&'a self, args: &'a [String], silent: bool) -> BoxFuture<'_, anyhow::Result<String>>; - fn run_passthrough_propose<'a>(&'a self, args: &'a [String]) -> BoxFuture<'a, anyhow::Result<String>>; + fn run_passthrough_propose<'a>(&'a self, args: &'a [String]) -> BoxFuture<'_, anyhow::Result<String>>; fn prepare_to_propose_to_revise_elected_versions<'a>( &'a self, @@ -78,7 +80,7 @@ pub trait IcAdmin: Send + Sync { release_tag: &'a str, force: bool, retire_versions: Option<Vec<String>>, - ) -> BoxFuture<'a, anyhow::Result<UpdateVersion>>; + ) -> BoxFuture<'_, anyhow::Result<UpdateVersion>>; } #[derive(Clone)] @@ -99,7 +101,7 @@ impl IcAdmin for IcAdminImpl { Box::pin(async move { self.propose_run_inner(cmd, opts, self.dry_run).await }) } - fn run<'a>(&'a self, command: &'a str, args: &'a [String], silent: bool) -> BoxFuture<'a, anyhow::Result<String>> { + fn run<'a>(&'a self, command: &'a str, args: &'a [String], silent: bool) -> BoxFuture<'_, anyhow::Result<String>> { let ic_admin_args = [&[command.to_string()], args].concat(); Box::pin(async move { self._run_ic_admin_with_args(&ic_admin_args, silent).await }) } @@ -124,7 +126,7 @@ impl IcAdmin for IcAdminImpl { } /// Run an `ic-admin get-*` command directly, and without an HSM - fn run_passthrough_get<'a>(&'a self, args: &'a [String], silent: bool) -> BoxFuture<'a, anyhow::Result<String>> { + fn run_passthrough_get<'a>(&'a self, args: &'a [String], silent: bool) -> BoxFuture<'_, anyhow::Result<String>> { if args.is_empty() { println!("List of available ic-admin 'get' sub-commands:\n"); for subcmd in self.grep_subcommands(r"\s+get-(.+?)\s") { @@ -155,7 +157,7 @@ impl IcAdmin for IcAdminImpl { } /// Run an `ic-admin propose-to-*` command directly - fn run_passthrough_propose<'a>(&'a self, args: &'a [String]) -> BoxFuture<'a, anyhow::Result<String>> { + fn run_passthrough_propose<'a>(&'a self, args: &'a [String]) -> BoxFuture<'_, anyhow::Result<String>> { if args.is_empty() { println!("List of available ic-admin 'propose' sub-commands:\n"); for subcmd in self.grep_subcommands(r"\s+propose-to-(.+?)\s") { @@ -203,7 +205,7 @@ impl IcAdmin for IcAdminImpl { release_tag: &'a str, force: bool, retire_versions: Option<Vec<String>>, - ) -> BoxFuture<'a, anyhow::Result<UpdateVersion>> { + ) -> BoxFuture<'_, anyhow::Result<UpdateVersion>> { Box::pin(async move { let (update_urls, expected_hash) = Self::download_images_and_validate_sha256(release_artifact, version, force).await?; diff --git a/rs/cli/src/lib.rs b/rs/cli/src/lib.rs index a28d04d95..ca5782f8e 100644 --- a/rs/cli/src/lib.rs +++ b/rs/cli/src/lib.rs @@ -8,5 +8,3 @@ mod operations; mod qualification; mod runner; mod subnet_manager; -#[cfg(test)] -mod unit_tests; diff --git a/rs/cli/src/main.rs b/rs/cli/src/main.rs index 4efe485d6..4f0d2ebb4 100644 --- a/rs/cli/src/main.rs +++ b/rs/cli/src/main.rs @@ -16,6 +16,8 @@ mod operations; mod qualification; mod runner; mod subnet_manager; +#[cfg(test)] +mod unit_tests; #[tokio::main] async fn main() -> anyhow::Result<()> { diff --git a/rs/cli/src/unit_tests/mod.rs b/rs/cli/src/unit_tests/mod.rs index 8b1378917..c8e00fed4 100644 --- a/rs/cli/src/unit_tests/mod.rs +++ b/rs/cli/src/unit_tests/mod.rs @@ -1 +1 @@ - +mod update_unassigned_nodes; diff --git a/rs/cli/src/unit_tests/update_unassigned_nodes.rs b/rs/cli/src/unit_tests/update_unassigned_nodes.rs new file mode 100644 index 000000000..4a4c24dfd --- /dev/null +++ b/rs/cli/src/unit_tests/update_unassigned_nodes.rs @@ -0,0 +1,167 @@ +use std::{str::FromStr, sync::Arc}; + +use crate::auth::Neuron; +use crate::commands::{update_unassigned_nodes::UpdateUnassignedNodes, ExecutableCommand}; +use crate::ic_admin::MockIcAdmin; +use ic_management_backend::{lazy_git::MockLazyGit, lazy_registry::MockLazyRegistry, proposal::MockProposalAgent}; +use ic_management_types::{Network, Subnet}; +use ic_types::PrincipalId; + +use crate::ctx::tests::get_mocked_ctx; + +fn anonymous_admin() -> MockIcAdmin { + let mut ic_admin = MockIcAdmin::new(); + ic_admin.expect_neuron().returning(|| Neuron::anonymous_neuron()); + ic_admin +} + +fn registry_with_subnets(subnets: Vec<Subnet>) -> MockLazyRegistry { + let mut registry = MockLazyRegistry::new(); + + registry.expect_subnets().returning(move || { + Box::pin({ + let subnets = subnets.clone(); + async move { Ok(Arc::new(subnets.into_iter().map(|s| (s.principal, s.clone())).collect())) } + }) + }); + + registry +} + +#[tokio::test] +async fn should_skip_update_same_version_nns_not_provided() { + let mut ic_admin = anonymous_admin(); + + let principal = PrincipalId::from_str("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe").unwrap(); + + let mut registry = registry_with_subnets(vec![Subnet { + principal, + replica_version: "version".to_string(), + ..Default::default() + }]); + + registry + .expect_unassigned_nodes_replica_version() + .returning(|| Box::pin(async { Ok(Arc::new("version".to_string())) })); + + // In this test this function shouldn't be called + ic_admin.expect_propose_run().never(); + + let ctx = get_mocked_ctx( + Network::mainnet_unchecked().unwrap(), + Arc::new(registry), + Arc::new(ic_admin), + Arc::new(MockLazyGit::new()), + Arc::new(MockProposalAgent::new()), + ); + + let cmd = UpdateUnassignedNodes { nns_subnet_id: None }; + + assert!(cmd.execute(ctx).await.is_ok()) +} + +#[tokio::test] +async fn should_skip_update_same_version_nns_provided() { + let mut ic_admin = anonymous_admin(); + + let principal = PrincipalId::new_anonymous(); + + let mut registry = registry_with_subnets(vec![Subnet { + principal, + replica_version: "version".to_string(), + ..Default::default() + }]); + + registry + .expect_unassigned_nodes_replica_version() + .returning(|| Box::pin(async { Ok(Arc::new("version".to_string())) })); + + // In this test this function shouldn't be called + ic_admin.expect_propose_run().never(); + + let ctx = get_mocked_ctx( + Network::mainnet_unchecked().unwrap(), + Arc::new(registry), + Arc::new(ic_admin), + Arc::new(MockLazyGit::new()), + Arc::new(MockProposalAgent::new()), + ); + + let cmd = UpdateUnassignedNodes { + nns_subnet_id: Some(principal.to_string()), + }; + + assert!(cmd.execute(ctx).await.is_ok()) +} + +#[tokio::test] +async fn should_update_unassigned_nodes() { + let mut ic_admin = anonymous_admin(); + + let principal = PrincipalId::new_anonymous(); + + let mut registry = registry_with_subnets(vec![Subnet { + principal, + replica_version: "version".to_string(), + ..Default::default() + }]); + + registry + .expect_unassigned_nodes_replica_version() + .returning(|| Box::pin(async { Ok(Arc::new("other".to_string())) })); + + // Should be called since versions differ + ic_admin + .expect_propose_run() + .once() + .returning(|_, _| Box::pin(async { Ok("Proposal 1".to_string()) })); + + let ctx = get_mocked_ctx( + Network::mainnet_unchecked().unwrap(), + Arc::new(registry), + Arc::new(ic_admin), + Arc::new(MockLazyGit::new()), + Arc::new(MockProposalAgent::new()), + ); + + let cmd = UpdateUnassignedNodes { + nns_subnet_id: Some(principal.to_string()), + }; + + assert!(cmd.execute(ctx).await.is_ok()) +} + +#[tokio::test] +async fn should_fail_nns_not_found() { + let mut ic_admin = anonymous_admin(); + + let principal = PrincipalId::new_subnet_test_id(0); + let other_principal = PrincipalId::new_subnet_test_id(1); + + let mut registry = registry_with_subnets(vec![Subnet { + principal, + replica_version: "version".to_string(), + ..Default::default() + }]); + + registry + .expect_unassigned_nodes_replica_version() + .returning(|| Box::pin(async { Ok(Arc::new("other".to_string())) })); + + // Should not be called + ic_admin.expect_propose_run().never(); + + let ctx = get_mocked_ctx( + Network::mainnet_unchecked().unwrap(), + Arc::new(registry), + Arc::new(ic_admin), + Arc::new(MockLazyGit::new()), + Arc::new(MockProposalAgent::new()), + ); + + let cmd = UpdateUnassignedNodes { + nns_subnet_id: Some(other_principal.to_string()), + }; + + assert!(cmd.execute(ctx).await.is_err()) +} diff --git a/rs/ic-management-backend/Cargo.toml b/rs/ic-management-backend/Cargo.toml index 3e9c5917e..535807a2f 100644 --- a/rs/ic-management-backend/Cargo.toml +++ b/rs/ic-management-backend/Cargo.toml @@ -54,11 +54,11 @@ strum = { workspace = true } strum_macros = { workspace = true } tokio = { workspace = true } url = { workspace = true } +mockall.workspace = true [dev-dependencies] actix-rt = { workspace = true } - [[bin]] name = "ic-management-backend" path = "src/main.rs" diff --git a/rs/ic-management-backend/src/lazy_git.rs b/rs/ic-management-backend/src/lazy_git.rs index a9d7f347e..285b00c68 100644 --- a/rs/ic-management-backend/src/lazy_git.rs +++ b/rs/ic-management-backend/src/lazy_git.rs @@ -8,11 +8,13 @@ use ic_management_types::{Artifact, ArtifactReleases, Network, Release}; use itertools::Itertools; use lazy_static::lazy_static; use log::{debug, error}; +use mockall::automock; use regex::Regex; use tokio::sync::RwLock; use crate::git_ic_repo::IcRepo; +#[automock] pub trait LazyGit: Send + Sync { fn guestos_releases(&self) -> BoxFuture<'_, anyhow::Result<Arc<ArtifactReleases>>>; diff --git a/rs/ic-management-backend/src/lazy_registry.rs b/rs/ic-management-backend/src/lazy_registry.rs index 6b02a98cf..c46509820 100644 --- a/rs/ic-management-backend/src/lazy_registry.rs +++ b/rs/ic-management-backend/src/lazy_registry.rs @@ -29,6 +29,7 @@ use ic_registry_subnet_type::SubnetType; use ic_types::{NodeId, PrincipalId, RegistryVersion}; use itertools::Itertools; use log::warn; +use mockall::mock; use tokio::sync::RwLock; use tokio::try_join; @@ -911,3 +912,64 @@ impl AvailableNodesQuerier for LazyRegistryImpl { }) } } + +mock! { + pub LazyRegistry {} + impl LazyRegistry for LazyRegistry { + fn node_labels(&self) -> BoxFuture<'_, anyhow::Result<Arc<Vec<Guest>>>>; + + fn elected_guestos(&self) -> BoxFuture<'_, anyhow::Result<Arc<Vec<String>>>>; + + fn elected_hostos(&self) -> BoxFuture<'_, anyhow::Result<Arc<Vec<String>>>>; + + fn sync_with_nns(&self) -> BoxFuture<'_, anyhow::Result<()>>; + + fn operators(&self) -> BoxFuture<'_, anyhow::Result<Arc<BTreeMap<PrincipalId, Operator>>>>; + + fn nodes(&self) -> BoxFuture<'_, anyhow::Result<Arc<BTreeMap<PrincipalId, Node>>>>; + + fn firewall_rule_set(&self, firewall_rule_scope: FirewallRulesScope) -> BoxFuture<'_, anyhow::Result<FirewallRuleSet>>; + + fn subnets(&self) -> BoxFuture<'_, anyhow::Result<Arc<BTreeMap<PrincipalId, Subnet>>>>; + + fn nodes_with_proposals(&self) -> BoxFuture<'_, anyhow::Result<Arc<BTreeMap<PrincipalId, Node>>>>; + + fn unassigned_nodes_replica_version(&self) -> BoxFuture<'_, anyhow::Result<Arc<String>>>; + + fn get_api_boundary_nodes(&self) -> anyhow::Result<Vec<(String, ApiBoundaryNodeRecord)>>; + + fn get_node_rewards_table(&self) -> anyhow::Result<BTreeMap<String, NodeRewardsTable>>; + + fn get_unassigned_nodes(&self) -> anyhow::Result<Option<UnassignedNodesConfigRecord>>; + + fn get_datacenters(&self) -> anyhow::Result<Vec<DataCenterRecord>>; + + fn elected_guestos_records(&self) -> anyhow::Result<Vec<ReplicaVersionRecord>>; + + fn elected_hostos_records(&self) -> anyhow::Result<Vec<HostosVersionRecord>>; + + fn update_proposal_data(&self) -> BoxFuture<'_, anyhow::Result<()>>; + } + + impl LazyRegistryFamilyEntries for LazyRegistry { + fn get_key_family(&self, key_prefix: &str, version: RegistryVersion) -> anyhow::Result<Vec<String>>; + + fn get_versioned_value(&self, key: &str, version: RegistryVersion) -> RegistryClientVersionedResult<Vec<u8>>; + + fn get_latest_version(&self) -> RegistryVersion; + } + + impl NodesConverter for LazyRegistry { + fn get_nodes<'a>(&'a self, from: &'a [PrincipalId]) -> BoxFuture<'_, Result<Vec<decentralization::network::Node>, NetworkError>>; + } + + impl SubnetQuerier for LazyRegistry { + fn subnet(&self, by: SubnetQueryBy) -> BoxFuture<'_, Result<DecentralizedSubnet, NetworkError>>; + } + + impl decentralization::network::TopologyManager for LazyRegistry {} + + impl AvailableNodesQuerier for LazyRegistry { + fn available_nodes(&self) -> BoxFuture<'_, Result<Vec<decentralization::network::Node>, NetworkError>>; + } +} diff --git a/rs/ic-management-backend/src/proposal.rs b/rs/ic-management-backend/src/proposal.rs index 72cbb476e..734a29986 100644 --- a/rs/ic-management-backend/src/proposal.rs +++ b/rs/ic-management-backend/src/proposal.rs @@ -16,6 +16,7 @@ use ic_management_types::{TopologyChangePayload, TopologyChangeProposal}; use ic_nns_governance::pb::v1::{proposal::Action, ListProposalInfo, ListProposalInfoResponse}; use ic_nns_governance::pb::v1::{ProposalInfo, ProposalStatus, Topic}; use itertools::Itertools; +use mockall::automock; use registry_canister::mutations::do_add_nodes_to_subnet::AddNodesToSubnetPayload; use registry_canister::mutations::do_change_subnet_membership::ChangeSubnetMembershipPayload; use registry_canister::mutations::do_create_subnet::CreateSubnetPayload; @@ -30,6 +31,7 @@ use serde::Serialize; use url::Url; #[allow(dead_code)] +#[automock] pub trait ProposalAgent: Send + Sync { fn list_open_topology_proposals(&self) -> BoxFuture<'_, Result<Vec<TopologyChangeProposal>>>; From 69b4cf38e75c617374774199ff45487ddff7201d Mon Sep 17 00:00:00 2001 From: Nikola Milosavljevic <73236646+NikolaMilosa@users.noreply.github.com> Date: Thu, 5 Sep 2024 11:48:59 +0200 Subject: [PATCH 10/25] feat: overriding ic admin versions (#864) --- .github/workflows/main.yaml | 4 +- rs/cli/src/commands/mod.rs | 25 ++++++ rs/cli/src/ctx.rs | 57 +++++++++---- rs/cli/src/ic_admin.rs | 4 +- rs/cli/src/unit_tests/ctx_init.rs | 137 ++++++++++++++++++++++++++++++ rs/cli/src/unit_tests/mod.rs | 1 + rs/qualifier/src/qualify_util.rs | 1 + 7 files changed, 211 insertions(+), 18 deletions(-) create mode 100644 rs/cli/src/unit_tests/ctx_init.rs diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 4f764ff24..880fad561 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -39,13 +39,15 @@ jobs: ######################################## # Build and test + # Will run test as a local subprocess because for some tests + # create status files on certain locations (like $HOME) ######################################## - name: "🚀 Building" uses: ./.github/workflows/build with: GITHUB_TOKEN: "${{ secrets.GIX_CREATE_PR_PAT }}" - name: "🚀 Testing" - run: bazel test ... + run: bazel test --spawn_strategy=local ... # We don't need the linear-jira build and test step for now # - name: "🚀 Build and Test Linear-Jira with Bazel" diff --git a/rs/cli/src/commands/mod.rs b/rs/cli/src/commands/mod.rs index 7acac72eb..d0b4113df 100644 --- a/rs/cli/src/commands/mod.rs +++ b/rs/cli/src/commands/mod.rs @@ -20,6 +20,7 @@ use proposals::Proposals; use propose::Propose; use qualify::Qualify; use registry::Registry; +use strum::Display; use update_authorized_subnets::UpdateAuthorizedSubnets; use update_unassigned_nodes::UpdateUnassignedNodes; use upgrade::Upgrade; @@ -124,6 +125,13 @@ pub(crate) struct Args { #[clap(long, global = true, env = "IC_ADMIN")] pub ic_admin: Option<String>, + #[clap(long, global = true, env = "IC_ADMIN_VERSION", default_value_t = IcAdminVersion::FromGovernance, value_parser = clap::value_parser!(IcAdminVersion), help = r#"Specify the version of ic admin to use +Options: + 1. from-governance, governance, govn, g => same as governance canister + 2. default, d => strict default version, embedded at build time + 3. <commit> => specific commit"#)] + pub ic_admin_version: IcAdminVersion, + /// To skip the confirmation prompt #[clap(short, long, global = true, env = "YES", conflicts_with = "dry_run")] pub yes: bool, @@ -299,3 +307,20 @@ pub enum IcAdminRequirement { Detect, // detect the neuron OverridableBy { network: Network, neuron: AuthNeuron }, // eg automation which we know where is placed } + +#[derive(Debug, Display, Clone)] +pub enum IcAdminVersion { + FromGovernance, + Default, + Strict(String), +} + +impl From<&str> for IcAdminVersion { + fn from(value: &str) -> Self { + match value { + "from-governance" | "governance" | "g" | "govn" => Self::FromGovernance, + "default" | "d" => Self::Default, + s => Self::Strict(s.to_string()), + } + } +} diff --git a/rs/cli/src/ctx.rs b/rs/cli/src/ctx.rs index 89b7c35d2..e95010eb9 100644 --- a/rs/cli/src/ctx.rs +++ b/rs/cli/src/ctx.rs @@ -16,13 +16,13 @@ use ic_management_backend::{ }; use ic_management_types::Network; use ic_registry_local_registry::LocalRegistry; -use log::info; +use log::{debug, info}; use url::Url; use crate::{ auth::{Auth, Neuron}, - commands::{Args, ExecutableCommand, IcAdminRequirement}, - ic_admin::{download_ic_admin, should_update_ic_admin, IcAdmin, IcAdminImpl}, + commands::{Args, ExecutableCommand, IcAdminRequirement, IcAdminVersion}, + ic_admin::{download_ic_admin, should_update_ic_admin, IcAdmin, IcAdminImpl, DEFAULT_IC_ADMIN_VERSION}, runner::Runner, subnet_manager::SubnetManager, }; @@ -55,6 +55,7 @@ impl DreContext { dry_run: bool, ic_admin_requirement: IcAdminRequirement, forum_post_link: Option<String>, + ic_admin_version: IcAdminVersion, ) -> anyhow::Result<Self> { let network = match no_sync { false => ic_management_types::Network::new(network.clone(), &nns_urls) @@ -83,7 +84,8 @@ impl DreContext { (neuron_id, auth.clone()) }; - let (ic_admin, ic_admin_path) = Self::init_ic_admin(&network, neuron_id, auth_opts, yes, dry_run, ic_admin_requirement).await?; + let (ic_admin, ic_admin_path) = + Self::init_ic_admin(&network, neuron_id, auth_opts, yes, dry_run, ic_admin_requirement, ic_admin_version).await?; Ok(Self { proposal_agent: Arc::new(ProposalAgentImpl::new(&network.nns_urls)), @@ -112,6 +114,7 @@ impl DreContext { args.dry_run, args.subcommands.require_ic_admin(), args.forum_post_link.clone(), + args.ic_admin_version.clone(), ) .await } @@ -123,6 +126,7 @@ impl DreContext { proceed_without_confirmation: bool, dry_run: bool, requirement: IcAdminRequirement, + version: IcAdminVersion, ) -> anyhow::Result<(Option<Arc<dyn IcAdmin>>, Option<String>)> { if let IcAdminRequirement::None = requirement { return Ok((None, None)); @@ -147,18 +151,36 @@ impl DreContext { } } }; - let ic_admin_path = match should_update_ic_admin()? { - (true, _) => { - let govn_canister_version = governance_canister_version(network.get_nns_urls()).await?; - download_ic_admin(match govn_canister_version.stringified_hash.as_str() { - // Some testnets could have this version setup if deployed - // from HEAD of the branch they are created from - "0000000000000000000000000000000000000000" => None, - v => Some(v.to_owned()), - }) - .await? + + let ic_admin_path = match version { + IcAdminVersion::FromGovernance => match should_update_ic_admin()? { + (true, _) => { + let govn_canister_version = governance_canister_version(network.get_nns_urls()).await?; + debug!( + "Using ic-admin matching the version of governance canister, version: {}", + govn_canister_version.stringified_hash + ); + download_ic_admin(match govn_canister_version.stringified_hash.as_str() { + // Some testnets could have this version setup if deployed + // from HEAD of the branch they are created from + "0000000000000000000000000000000000000000" => None, + v => Some(v.to_owned()), + }) + .await? + } + (false, s) => { + debug!("Using cached ic-admin matching the version of governance canister, path: {}", s); + s + } + }, + IcAdminVersion::Default => { + debug!("Using default ic-admin, version: {}", DEFAULT_IC_ADMIN_VERSION); + download_ic_admin(None).await? + } + IcAdminVersion::Strict(ver) => { + debug!("Using ic-admin specified via args: {}", ver); + download_ic_admin(Some(ver)).await? } - (false, s) => s, }; let ic_admin = Some(Arc::new(IcAdminImpl::new( @@ -253,6 +275,11 @@ impl DreContext { pub fn forum_post_link(&self) -> Option<String> { self.forum_post_link.clone() } + + #[cfg(test)] + pub fn ic_admin_path(&self) -> Option<String> { + self.ic_admin_path.clone() + } } #[cfg(test)] diff --git a/rs/cli/src/ic_admin.rs b/rs/cli/src/ic_admin.rs index 43d46a686..490b94f51 100644 --- a/rs/cli/src/ic_admin.rs +++ b/rs/cli/src/ic_admin.rs @@ -767,7 +767,7 @@ pub struct ProposeOptions { pub motivation: Option<String>, pub forum_post_link: Option<String>, } -const DEFAULT_IC_ADMIN_VERSION: &str = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96"; +pub const DEFAULT_IC_ADMIN_VERSION: &str = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96"; fn get_ic_admin_revisions_dir() -> anyhow::Result<PathBuf> { let dir = dirs::home_dir() @@ -817,7 +817,7 @@ pub async fn download_ic_admin(version: Option<String>) -> Result<String> { format!("https://download.dfinity.systems/ic/{version}/binaries/x86_64-linux/ic-admin.gz") }; info!("Downloading ic-admin version: {} from {}", version, url); - let body = reqwest::get(url).await?.bytes().await?; + let body = reqwest::get(url).await?.error_for_status()?.bytes().await?; let mut decoded = GzDecoder::new(body.as_ref()); let path_parent = path.parent().expect("path parent unwrap failed!"); diff --git a/rs/cli/src/unit_tests/ctx_init.rs b/rs/cli/src/unit_tests/ctx_init.rs new file mode 100644 index 000000000..ffa4714c7 --- /dev/null +++ b/rs/cli/src/unit_tests/ctx_init.rs @@ -0,0 +1,137 @@ +use std::path::PathBuf; + +use crate::auth::Auth; +use ic_canisters::governance::governance_canister_version; +use ic_management_types::Network; + +use crate::{commands::IcAdminVersion, ctx::DreContext, ic_admin::DEFAULT_IC_ADMIN_VERSION}; + +fn status_file_path() -> PathBuf { + dirs::home_dir().unwrap().join("bin").join("ic-admin.revisions").join("ic-admin.status") +} + +fn get_deleted_status_file() -> PathBuf { + let status_file = status_file_path(); + if status_file.exists() { + std::fs::remove_file(&status_file).unwrap() + } + status_file +} + +async fn get_context(network: &Network, version: IcAdminVersion) -> anyhow::Result<DreContext> { + DreContext::new( + network.name.clone(), + network.nns_urls.clone(), + Auth::Anonymous, + None, + false, + true, + false, + true, + crate::commands::IcAdminRequirement::Detect, + None, + version, + ) + .await +} + +struct TestScenario<'a> { + name: &'static str, + version: IcAdminVersion, + should_delete_status_file: bool, + should_contain: Option<&'a str>, +} + +impl<'a> TestScenario<'a> { + fn new(name: &'static str) -> Self { + Self { + name, + version: IcAdminVersion::FromGovernance, + should_delete_status_file: false, + should_contain: None, + } + } + + fn version(self, version: IcAdminVersion) -> Self { + Self { version, ..self } + } + + fn delete_status_file(self) -> Self { + Self { + should_delete_status_file: true, + ..self + } + } + + fn should_contain(self, ver: &'a str) -> Self { + Self { + should_contain: Some(ver), + ..self + } + } +} + +#[tokio::test] +async fn init_tests_ic_admin_version() { + let version_on_s3 = "e47293c0bd7f39540245913f7f75be3d6863183c"; + let mainnet = Network::mainnet_unchecked().unwrap(); + let governance_version = governance_canister_version(&mainnet.nns_urls).await.unwrap(); + + let tests = &[ + TestScenario::new("match governance canister") + .delete_status_file() + .should_contain(&governance_version.stringified_hash), + TestScenario::new("use default version") + .delete_status_file() + .version(IcAdminVersion::Default) + .should_contain(DEFAULT_IC_ADMIN_VERSION), + TestScenario::new("existing version on s3") + .delete_status_file() + .version(IcAdminVersion::Strict(version_on_s3.to_string())) + .should_contain(version_on_s3), + TestScenario::new("random version not present on s3").version(IcAdminVersion::Strict("random-version".to_string())), + ]; + + for test in tests { + let mut deleted_status_file: PathBuf = dirs::home_dir().unwrap(); + if test.should_delete_status_file { + deleted_status_file = get_deleted_status_file(); + } + + let maybe_ctx = get_context(&mainnet, test.version.clone()).await; + + if let Some(ver) = test.should_contain { + assert!( + maybe_ctx.is_ok(), + "Test `{}`: expected to create DreContext, but got error: {:?}", + test.name, + maybe_ctx.err().unwrap() + ); + let ctx = maybe_ctx.unwrap(); + + let ic_admin_path = ctx.ic_admin_path().unwrap(); + assert!( + ic_admin_path.contains(ver), + "Test `{}`: ic_admin_path `{}`, expected version `{}`", + test.name, + ic_admin_path, + ver + ) + } else { + assert!( + maybe_ctx.is_err(), + "Test `{}`: expected error but got ok with version: {}", + test.name, + maybe_ctx.unwrap().ic_admin_path().unwrap() + ); + } + + if test.should_delete_status_file { + assert!( + deleted_status_file.exists(), + "Test `{}`: expected ic-admin.status file to be recreated, but it wasn't", + test.name + ) + } + } +} diff --git a/rs/cli/src/unit_tests/mod.rs b/rs/cli/src/unit_tests/mod.rs index c8e00fed4..acccbf331 100644 --- a/rs/cli/src/unit_tests/mod.rs +++ b/rs/cli/src/unit_tests/mod.rs @@ -1 +1,2 @@ +mod ctx_init; mod update_unassigned_nodes; diff --git a/rs/qualifier/src/qualify_util.rs b/rs/qualifier/src/qualify_util.rs index a03258f15..9b2f18020 100644 --- a/rs/qualifier/src/qualify_util.rs +++ b/rs/qualifier/src/qualify_util.rs @@ -85,6 +85,7 @@ pub async fn qualify( false, cmd.require_ic_admin(), None, + dre::commands::IcAdminVersion::FromGovernance, ) .await?; From feeec6ab07b10d1d0a097c4ed50cca52dd1edd04 Mon Sep 17 00:00:00 2001 From: Luka Skugor <luka.skugor@chimeramail.com> Date: Thu, 5 Sep 2024 12:35:59 +0200 Subject: [PATCH 11/25] Update location of vector CI image replacement (#865) --- .github/workflows/main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 880fad561..feb37db42 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -111,7 +111,7 @@ jobs: bases/apps/mainnet-dashboard/backend/base/deployment.yaml bases/apps/mainnet-dashboard/statefulset-slack.yaml bases/apps/service-discovery/service-discovery.yaml - gitlab-ci/vector-configs.yml + .github/workflows/dre-vector-configs.yaml ) if [[ $changed == "true" ]]; then echo "Adding frontend to list of files" From 9a9cef61d3483d2706b9d030a4a7e4d35c6ff1a2 Mon Sep 17 00:00:00 2001 From: Nikola Milosavljevic <73236646+NikolaMilosa@users.noreply.github.com> Date: Thu, 5 Sep 2024 12:41:55 +0200 Subject: [PATCH 12/25] chore: adding rye to runner image (#867) --- docker/runner.Dockerfile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docker/runner.Dockerfile b/docker/runner.Dockerfile index 0a0ba5958..2f4dc5193 100644 --- a/docker/runner.Dockerfile +++ b/docker/runner.Dockerfile @@ -85,6 +85,7 @@ ENV _CONTAINERS_USERNS_CONFIGURED="" ENV HOME=/home/runner USER runner WORKDIR /home/runner +SHELL [ "/bin/bash", "-c" ] COPY rust-toolchain.toml /usr/src/rust-toolchain.toml @@ -96,3 +97,6 @@ ENV PATH="$PATH:/home/runner/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/ ENV CARGO_TARGET_X86_64_APPLE_DARWIN_LINKER=rust-lld RUN cargo install cargo-zigbuild + +RUN curl -sSf https://rye.astral.sh/get | RYE_HOME=/home/runner/.rye RYE_VERSION="0.4.0" RYE_INSTALL_OPTION="--yes" bash +RUN source /home/runner/.rye/env From 68998b123b45f166829434ee8ec4f9abfc6f148f Mon Sep 17 00:00:00 2001 From: Nikola Milosavljevic <73236646+NikolaMilosa@users.noreply.github.com> Date: Thu, 5 Sep 2024 13:09:55 +0200 Subject: [PATCH 13/25] chore: upgrading to new runner images with rye (#868) --- .github/workflows/main.yaml | 2 +- .github/workflows/msd-diff.yaml | 2 +- .github/workflows/qualify.yaml | 4 ++-- .github/workflows/release.yaml | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index feb37db42..785ec5eac 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -25,7 +25,7 @@ jobs: runs-on: labels: dre-runner-custom # This image is based on ubuntu:20.04 - container: ghcr.io/dfinity/dre/actions-runner:f6690a4413269978d8b5d2e53b7346e99b0231b8 + container: ghcr.io/dfinity/dre/actions-runner:9a9cef61d3483d2706b9d030a4a7e4d35c6ff1a2 steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/msd-diff.yaml b/.github/workflows/msd-diff.yaml index f6b70851d..a38b367b3 100644 --- a/.github/workflows/msd-diff.yaml +++ b/.github/workflows/msd-diff.yaml @@ -17,7 +17,7 @@ jobs: runs-on: labels: dre-runner-custom # This image is based on ubuntu:20.04 - container: ghcr.io/dfinity/dre/actions-runner:f6690a4413269978d8b5d2e53b7346e99b0231b8 + container: ghcr.io/dfinity/dre/actions-runner:9a9cef61d3483d2706b9d030a4a7e4d35c6ff1a2 steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/qualify.yaml b/.github/workflows/qualify.yaml index e7e968d7e..a516ab348 100644 --- a/.github/workflows/qualify.yaml +++ b/.github/workflows/qualify.yaml @@ -23,7 +23,7 @@ jobs: setup: runs-on: labels: dre-runner-custom - container: ghcr.io/dfinity/dre/actions-runner:f6690a4413269978d8b5d2e53b7346e99b0231b8 + container: ghcr.io/dfinity/dre/actions-runner:9a9cef61d3483d2706b9d030a4a7e4d35c6ff1a2 outputs: matrix: ${{ steps.generate.outputs.output }} steps: @@ -42,7 +42,7 @@ jobs: matrix: ${{ fromJson(needs.setup.outputs.matrix) }} runs-on: labels: dre-runner-custom - container: ghcr.io/dfinity/dre/actions-runner:f6690a4413269978d8b5d2e53b7346e99b0231b8 + container: ghcr.io/dfinity/dre/actions-runner:9a9cef61d3483d2706b9d030a4a7e4d35c6ff1a2 steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 63755b171..b519522b3 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -9,7 +9,7 @@ jobs: runs-on: labels: dre-runner-custom # This image is based on ubuntu:20.04 - container: ghcr.io/dfinity/dre/actions-runner:f6690a4413269978d8b5d2e53b7346e99b0231b8 + container: ghcr.io/dfinity/dre/actions-runner:9a9cef61d3483d2706b9d030a4a7e4d35c6ff1a2 name: Test changed-files steps: - uses: actions/checkout@v4 From 4b9be4abba4d6d4308416be73243406baaff7f51 Mon Sep 17 00:00:00 2001 From: Luka Skugor <luka.skugor@chimeramail.com> Date: Thu, 5 Sep 2024 13:45:23 +0200 Subject: [PATCH 14/25] chore(cli): rename default ic-version to fallback (#869) Co-authored-by: CI Automation <infra@dfinity.org> --- rs/cli/src/commands/mod.rs | 4 ++-- rs/cli/src/ctx.rs | 6 +++--- rs/cli/src/ic_admin.rs | 4 ++-- rs/cli/src/unit_tests/ctx_init.rs | 6 +++--- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/rs/cli/src/commands/mod.rs b/rs/cli/src/commands/mod.rs index d0b4113df..a042d3614 100644 --- a/rs/cli/src/commands/mod.rs +++ b/rs/cli/src/commands/mod.rs @@ -311,7 +311,7 @@ pub enum IcAdminRequirement { #[derive(Debug, Display, Clone)] pub enum IcAdminVersion { FromGovernance, - Default, + Fallback, Strict(String), } @@ -319,7 +319,7 @@ impl From<&str> for IcAdminVersion { fn from(value: &str) -> Self { match value { "from-governance" | "governance" | "g" | "govn" => Self::FromGovernance, - "default" | "d" => Self::Default, + "fallback" | "f" => Self::Fallback, s => Self::Strict(s.to_string()), } } diff --git a/rs/cli/src/ctx.rs b/rs/cli/src/ctx.rs index e95010eb9..2be3efe74 100644 --- a/rs/cli/src/ctx.rs +++ b/rs/cli/src/ctx.rs @@ -22,7 +22,7 @@ use url::Url; use crate::{ auth::{Auth, Neuron}, commands::{Args, ExecutableCommand, IcAdminRequirement, IcAdminVersion}, - ic_admin::{download_ic_admin, should_update_ic_admin, IcAdmin, IcAdminImpl, DEFAULT_IC_ADMIN_VERSION}, + ic_admin::{download_ic_admin, should_update_ic_admin, IcAdmin, IcAdminImpl, FALLBACK_IC_ADMIN_VERSION}, runner::Runner, subnet_manager::SubnetManager, }; @@ -173,8 +173,8 @@ impl DreContext { s } }, - IcAdminVersion::Default => { - debug!("Using default ic-admin, version: {}", DEFAULT_IC_ADMIN_VERSION); + IcAdminVersion::Fallback => { + debug!("Using default ic-admin, version: {}", FALLBACK_IC_ADMIN_VERSION); download_ic_admin(None).await? } IcAdminVersion::Strict(ver) => { diff --git a/rs/cli/src/ic_admin.rs b/rs/cli/src/ic_admin.rs index 490b94f51..4c179b6fe 100644 --- a/rs/cli/src/ic_admin.rs +++ b/rs/cli/src/ic_admin.rs @@ -767,7 +767,7 @@ pub struct ProposeOptions { pub motivation: Option<String>, pub forum_post_link: Option<String>, } -pub const DEFAULT_IC_ADMIN_VERSION: &str = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96"; +pub const FALLBACK_IC_ADMIN_VERSION: &str = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96"; fn get_ic_admin_revisions_dir() -> anyhow::Result<PathBuf> { let dir = dirs::home_dir() @@ -805,7 +805,7 @@ pub fn should_update_ic_admin() -> Result<(bool, String)> { /// Returns a path to downloaded ic-admin binary pub async fn download_ic_admin(version: Option<String>) -> Result<String> { - let version = version.unwrap_or_else(|| DEFAULT_IC_ADMIN_VERSION.to_string()).trim().to_string(); + let version = version.unwrap_or_else(|| FALLBACK_IC_ADMIN_VERSION.to_string()).trim().to_string(); let ic_admin_bin_dir = get_ic_admin_revisions_dir()?; let path = ic_admin_bin_dir.join(&version).join("ic-admin"); let path = Path::new(&path); diff --git a/rs/cli/src/unit_tests/ctx_init.rs b/rs/cli/src/unit_tests/ctx_init.rs index ffa4714c7..1277d6aa7 100644 --- a/rs/cli/src/unit_tests/ctx_init.rs +++ b/rs/cli/src/unit_tests/ctx_init.rs @@ -4,7 +4,7 @@ use crate::auth::Auth; use ic_canisters::governance::governance_canister_version; use ic_management_types::Network; -use crate::{commands::IcAdminVersion, ctx::DreContext, ic_admin::DEFAULT_IC_ADMIN_VERSION}; +use crate::{commands::IcAdminVersion, ctx::DreContext, ic_admin::FALLBACK_IC_ADMIN_VERSION}; fn status_file_path() -> PathBuf { dirs::home_dir().unwrap().join("bin").join("ic-admin.revisions").join("ic-admin.status") @@ -83,8 +83,8 @@ async fn init_tests_ic_admin_version() { .should_contain(&governance_version.stringified_hash), TestScenario::new("use default version") .delete_status_file() - .version(IcAdminVersion::Default) - .should_contain(DEFAULT_IC_ADMIN_VERSION), + .version(IcAdminVersion::Fallback) + .should_contain(FALLBACK_IC_ADMIN_VERSION), TestScenario::new("existing version on s3") .delete_status_file() .version(IcAdminVersion::Strict(version_on_s3.to_string())) From 9dd0e955f24b48bfb776e130f27ce419600a966e Mon Sep 17 00:00:00 2001 From: Nikola Milosavljevic <73236646+NikolaMilosa@users.noreply.github.com> Date: Thu, 5 Sep 2024 13:47:41 +0200 Subject: [PATCH 15/25] fix: fixing default value for ic-admin-version (#872) --- rs/cli/src/commands/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rs/cli/src/commands/mod.rs b/rs/cli/src/commands/mod.rs index a042d3614..ac58e5640 100644 --- a/rs/cli/src/commands/mod.rs +++ b/rs/cli/src/commands/mod.rs @@ -125,7 +125,7 @@ pub(crate) struct Args { #[clap(long, global = true, env = "IC_ADMIN")] pub ic_admin: Option<String>, - #[clap(long, global = true, env = "IC_ADMIN_VERSION", default_value_t = IcAdminVersion::FromGovernance, value_parser = clap::value_parser!(IcAdminVersion), help = r#"Specify the version of ic admin to use + #[clap(long, global = true, env = "IC_ADMIN_VERSION", default_value = "from-governance", value_parser = clap::value_parser!(IcAdminVersion), help = r#"Specify the version of ic admin to use Options: 1. from-governance, governance, govn, g => same as governance canister 2. default, d => strict default version, embedded at build time From f692898a6ac1bcacfcb52310ab4b0e6b9bc358a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C5=A1a=20Tomi=C4=87?= <sasa.tomic@dfinity.org> Date: Thu, 5 Sep 2024 13:54:42 +0200 Subject: [PATCH 16/25] fix(ci): use container image with rye for update-dependencies (#871) --- .github/workflows/update-dependencies.yaml | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/.github/workflows/update-dependencies.yaml b/.github/workflows/update-dependencies.yaml index 14e63f1af..a0091ac0f 100644 --- a/.github/workflows/update-dependencies.yaml +++ b/.github/workflows/update-dependencies.yaml @@ -8,6 +8,7 @@ on: jobs: update: runs-on: ubuntu-20.04 + container: ghcr.io/dfinity/dre/actions-runner:9a9cef61d3483d2706b9d030a4a7e4d35c6ff1a2 steps: - uses: actions/checkout@v4 - name: "🔧 Setup runner" @@ -16,17 +17,9 @@ jobs: ######################################## # Once per night, update dependencies and completely delete and recreate bazel cache ######################################## - - name: "🐍 Setup Python" - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - name: "🐍 Install rye" - run: | - export RYE_INSTALL_OPTION="--yes" - curl -sSf https://rye.astral.sh/get | bash - - name: "⚒️ Run autoupdate for ic-deps" run: | + rye sync python scripts/auto-update-revisions.py - name: "⚒️ Completely delete bazel cache and then recreate it" From 4da9d5984a72d34ac2a96cb70fc4b1d3cef1593e Mon Sep 17 00:00:00 2001 From: sa-github-api <138766536+sa-github-api@users.noreply.github.com> Date: Thu, 5 Sep 2024 15:43:09 +0200 Subject: [PATCH 17/25] chore: Update dependencies (#873) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Saša Tomić <sasa.tomic@dfinity.org> --- Cargo.Bazel.lock | 453 +++++++++++++++++---------------- Cargo.lock | 278 ++++++++++---------- Cargo.toml | 78 +++--- WORKSPACE.bazel | 2 +- docker/Dockerfile | 2 +- ic-revisions.json | 2 +- pylib/ic_admin.py | 2 +- rs/cli/Cargo.toml | 4 +- rs/cli/src/ic_admin.rs | 2 +- rs/np-notifications/Cargo.toml | 2 +- 10 files changed, 426 insertions(+), 399 deletions(-) diff --git a/Cargo.Bazel.lock b/Cargo.Bazel.lock index b16ec859c..bb906f3c3 100644 --- a/Cargo.Bazel.lock +++ b/Cargo.Bazel.lock @@ -1,5 +1,5 @@ { - "checksum": "7c6e7634ec0d7045cdb8c8875094bcc3c2ef94dde5b0a5d505607233a5852f7c", + "checksum": "bf2644f8360d4956bd586c2a01000c8ecdf257d46ceff29dd953b72f28be14da", "crates": { "actix-codec 0.5.2": { "name": "actix-codec", @@ -57,7 +57,7 @@ "target": "tokio" }, { - "id": "tokio-util 0.7.11", + "id": "tokio-util 0.7.12", "target": "tokio_util" }, { @@ -209,7 +209,7 @@ "target": "tokio" }, { - "id": "tokio-util 0.7.11", + "id": "tokio-util 0.7.12", "target": "tokio_util" }, { @@ -701,7 +701,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -1953,7 +1953,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" } ], @@ -2439,7 +2439,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -2748,7 +2748,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -4256,7 +4256,7 @@ "target": "rustc_version" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -4408,7 +4408,7 @@ "target": "quote" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -5311,7 +5311,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -5419,7 +5419,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" } ], @@ -6796,7 +6796,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -8436,7 +8436,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nns/cmc" } @@ -9298,7 +9298,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -9594,13 +9594,13 @@ }, "license": "MIT/Apache-2.0" }, - "derive_builder 0.20.0": { + "derive_builder 0.20.1": { "name": "derive_builder", - "version": "0.20.0", + "version": "0.20.1", "repository": { "Http": { - "url": "https://static.crates.io/crates/derive_builder/0.20.0/download", - "sha256": "0350b5cb0331628a5916d6c5c0b72e97393b8b6b03b47a9284f4e7f5a405ffd7" + "url": "https://static.crates.io/crates/derive_builder/0.20.1/download", + "sha256": "cd33f37ee6a119146a1781d3356a7c26028f83d779b2e04ecd45fdc75c76877b" } }, "targets": [ @@ -9630,23 +9630,23 @@ "proc_macro_deps": { "common": [ { - "id": "derive_builder_macro 0.20.0", + "id": "derive_builder_macro 0.20.1", "target": "derive_builder_macro" } ], "selects": {} }, - "version": "0.20.0" + "version": "0.20.1" }, "license": "MIT OR Apache-2.0" }, - "derive_builder_core 0.20.0": { + "derive_builder_core 0.20.1": { "name": "derive_builder_core", - "version": "0.20.0", + "version": "0.20.1", "repository": { "Http": { - "url": "https://static.crates.io/crates/derive_builder_core/0.20.0/download", - "sha256": "d48cda787f839151732d396ac69e3473923d54312c070ee21e9effcaa8ca0b1d" + "url": "https://static.crates.io/crates/derive_builder_core/0.20.1/download", + "sha256": "7431fa049613920234f22c47fdc33e6cf3ee83067091ea4277a3f8c4587aae38" } }, "targets": [ @@ -9693,17 +9693,17 @@ "selects": {} }, "edition": "2018", - "version": "0.20.0" + "version": "0.20.1" }, "license": "MIT OR Apache-2.0" }, - "derive_builder_macro 0.20.0": { + "derive_builder_macro 0.20.1": { "name": "derive_builder_macro", - "version": "0.20.0", + "version": "0.20.1", "repository": { "Http": { - "url": "https://static.crates.io/crates/derive_builder_macro/0.20.0/download", - "sha256": "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b" + "url": "https://static.crates.io/crates/derive_builder_macro/0.20.1/download", + "sha256": "4abae7035bf79b9877b779505d8cf3749285b80c43941eda66604841889451dc" } }, "targets": [ @@ -9731,7 +9731,7 @@ "deps": { "common": [ { - "id": "derive_builder_core 0.20.0", + "id": "derive_builder_core 0.20.1", "target": "derive_builder_core" }, { @@ -9742,7 +9742,7 @@ "selects": {} }, "edition": "2018", - "version": "0.20.0" + "version": "0.20.1" }, "license": "MIT OR Apache-2.0" }, @@ -9835,7 +9835,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/rust_canisters/dfn_candid" } @@ -9893,7 +9893,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/rust_canisters/dfn_core" } @@ -9939,7 +9939,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/rust_canisters/dfn_http" } @@ -9997,7 +9997,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/rust_canisters/dfn_http_metrics" } @@ -10059,7 +10059,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/rust_canisters/dfn_protobuf" } @@ -10849,7 +10849,7 @@ "target": "futures_util" }, { - "id": "headless_chrome 1.0.13", + "id": "headless_chrome 1.0.14", "target": "headless_chrome" }, { @@ -10973,7 +10973,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -12311,7 +12311,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/internal/crypto_lib/threshold_sig/tecdsa/fe-derive" } @@ -13779,7 +13779,7 @@ "target": "tokio" }, { - "id": "tokio-util 0.7.11", + "id": "tokio-util 0.7.12", "target": "tokio_util" }, { @@ -13858,7 +13858,7 @@ "target": "tokio" }, { - "id": "tokio-util 0.7.11", + "id": "tokio-util 0.7.12", "target": "tokio_util" }, { @@ -14095,13 +14095,13 @@ }, "license": "MIT/Apache-2.0" }, - "headless_chrome 1.0.13": { + "headless_chrome 1.0.14": { "name": "headless_chrome", - "version": "1.0.13", + "version": "1.0.14", "repository": { "Http": { - "url": "https://static.crates.io/crates/headless_chrome/1.0.13/download", - "sha256": "033a930aa5772322702966568666b10ab516c9ee0f25a2f6bca6fd9f7d8e9db7" + "url": "https://static.crates.io/crates/headless_chrome/1.0.14/download", + "sha256": "e1eb54284cb4be609bae1375e08e7737752fd5f919f918345359b51b38b7b9ce" } }, "targets": [ @@ -14150,7 +14150,7 @@ "target": "base64" }, { - "id": "derive_builder 0.20.0", + "id": "derive_builder 0.20.1", "target": "derive_builder" }, { @@ -14158,7 +14158,7 @@ "target": "directories" }, { - "id": "headless_chrome 1.0.13", + "id": "headless_chrome 1.0.14", "target": "build_script_build" }, { @@ -14178,7 +14178,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -14190,7 +14190,7 @@ "target": "thiserror" }, { - "id": "tungstenite 0.23.0", + "id": "tungstenite 0.24.0", "target": "tungstenite" }, { @@ -14230,7 +14230,7 @@ }, "selects": {} }, - "version": "1.0.13" + "version": "1.0.14" }, "build_script_attrs": { "data_glob": [ @@ -15077,7 +15077,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -16021,7 +16021,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/monitoring/adapter_metrics/client" } @@ -16091,7 +16091,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/monitoring/adapter_metrics/service" } @@ -16365,7 +16365,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/async_utils" } @@ -16455,7 +16455,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/types/base_types" } @@ -16494,6 +16494,10 @@ "id": "comparable 0.5.4", "target": "comparable" }, + { + "id": "hex 0.4.3", + "target": "hex" + }, { "id": "ic-crypto-sha2 0.9.0", "target": "ic_crypto_sha2" @@ -16513,11 +16517,24 @@ { "id": "serde 1.0.209", "target": "serde" + }, + { + "id": "strum 0.26.3", + "target": "strum" } ], "selects": {} }, "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "strum_macros 0.26.4", + "target": "strum_macros" + } + ], + "selects": {} + }, "version": "0.9.0" }, "license": null @@ -16576,7 +16593,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/bitcoin/replica_types" } @@ -16638,7 +16655,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/canister_client" } @@ -16768,7 +16785,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/canister_client/sender" } @@ -16830,7 +16847,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/rust_canisters/canister_log" } @@ -16872,7 +16889,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/rust_canisters/canister_profiler" } @@ -17060,7 +17077,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/rust_canisters/http_types" } @@ -17114,7 +17131,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/canonical_state" } @@ -17225,7 +17242,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/canonical_state/tree_hash" } @@ -17707,7 +17724,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/certification" } @@ -17836,7 +17853,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/canonical_state/certification_version" } @@ -17934,7 +17951,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/config" } @@ -18004,7 +18021,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/constants" } @@ -18037,7 +18054,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/ed25519" } @@ -18103,7 +18120,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/getrandom_for_wasm" } @@ -18153,7 +18170,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/interfaces/sig_verification" } @@ -18195,7 +18212,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/internal/crypto_lib/basic_sig/der_utils" } @@ -18245,7 +18262,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/internal/crypto_lib/basic_sig/ed25519" } @@ -18343,7 +18360,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/internal/crypto_lib/bls12_381/type" } @@ -18430,7 +18447,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/internal/crypto_lib/hmac" } @@ -18472,7 +18489,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/internal/crypto_lib/multi_sig/bls12_381" } @@ -18558,7 +18575,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/internal/crypto_lib/seed" } @@ -18620,7 +18637,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/internal/crypto_lib/sha2" } @@ -18662,7 +18679,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/internal/crypto_lib/threshold_sig/bls12_381" } @@ -18781,7 +18798,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/internal/crypto_lib/threshold_sig/tecdsa" } @@ -18916,7 +18933,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/internal/crypto_lib/types" } @@ -18999,7 +19016,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/node_key_validation" } @@ -19081,7 +19098,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/secp256k1" } @@ -19155,7 +19172,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/secrets_containers" } @@ -19201,7 +19218,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/sha2" } @@ -19243,7 +19260,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/node_key_validation/tls_cert_validation" } @@ -19305,7 +19322,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/tree_hash" } @@ -19367,7 +19384,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/utils/basic_sig" } @@ -19417,7 +19434,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/utils/ni_dkg" } @@ -19467,7 +19484,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/utils/threshold_sig" } @@ -19521,7 +19538,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/crypto/utils/threshold_sig_der" } @@ -19575,7 +19592,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/types/error_types" } @@ -19638,7 +19655,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/http_endpoints/metrics" } @@ -19716,7 +19733,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/rosetta-api/icrc1" } @@ -19824,7 +19841,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/rosetta-api/icrc1/index-ng" } @@ -19930,7 +19947,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" } ], @@ -19957,7 +19974,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/rosetta-api/icrc1/ledger" } @@ -20061,6 +20078,10 @@ "id": "ic-metrics-encoder 1.1.1", "target": "ic_metrics_encoder" }, + { + "id": "ic-stable-structures 0.6.5", + "target": "ic_stable_structures" + }, { "id": "icrc-ledger-client 0.1.2", "target": "icrc_ledger_client" @@ -20132,7 +20153,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/rosetta-api/icrc1/tokens_u64" } @@ -20190,7 +20211,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/interfaces" } @@ -20305,7 +20326,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/interfaces/registry" } @@ -20355,7 +20376,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/interfaces/state_manager" } @@ -20409,7 +20430,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/rosetta-api/ledger_canister_core" } @@ -20496,7 +20517,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/rosetta-api/ledger_core" } @@ -20554,7 +20575,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "packages/ic-ledger-hash-of" } @@ -20604,7 +20625,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/monitoring/logger" } @@ -20854,7 +20875,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -20906,7 +20927,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/types/management_canister_types" } @@ -21069,7 +21090,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -21117,7 +21138,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/monitoring/metrics" } @@ -21216,7 +21237,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nervous_system/clients" } @@ -21323,7 +21344,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nervous_system/collections/union_multi_map" } @@ -21356,7 +21377,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nervous_system/common" } @@ -21497,7 +21518,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" } ], @@ -21538,7 +21559,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nervous_system/common/build_metadata" } @@ -21571,7 +21592,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nervous_system/common/test_keys" } @@ -21633,7 +21654,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nervous_system/governance" } @@ -21691,7 +21712,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nervous_system/lock" } @@ -21724,7 +21745,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nervous_system/proto" } @@ -21786,7 +21807,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nervous_system/proxied_canister_calls_tracker" } @@ -21828,7 +21849,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nervous_system/root" } @@ -21902,7 +21923,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nervous_system/runtime" } @@ -21969,7 +21990,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nervous_system/string" } @@ -22002,7 +22023,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nervous_system/temporary" } @@ -22035,7 +22056,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nervous_system/neurons_fund" } @@ -22075,7 +22096,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" } ], @@ -22102,7 +22123,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nns/common" } @@ -22216,7 +22237,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nns/constants" } @@ -22262,7 +22283,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nns/governance" } @@ -22515,7 +22536,7 @@ "target": "serde_bytes" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -22583,7 +22604,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nns/governance/api" } @@ -22706,7 +22727,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nns/governance/init" } @@ -22792,7 +22813,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nns/gtc_accounts" } @@ -22825,7 +22846,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nns/handlers/root/interface" } @@ -22900,7 +22921,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/protobuf" } @@ -22944,7 +22965,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -22966,7 +22987,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/registry/canister/api" } @@ -23020,7 +23041,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/registry/client" } @@ -23082,7 +23103,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/registry/fake" } @@ -23128,7 +23149,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/registry/helpers" } @@ -23214,7 +23235,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/registry/proto" } @@ -23256,7 +23277,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/registry/keys" } @@ -23314,7 +23335,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/registry/local_registry" } @@ -23396,7 +23417,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/registry/local_store" } @@ -23454,7 +23475,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/registry/local_store/artifacts" } @@ -23487,7 +23508,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/registry/nns_data_provider" } @@ -23577,7 +23598,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/registry/node_provider_rewards" } @@ -23623,7 +23644,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/registry/provisional_whitelist" } @@ -23669,7 +23690,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/registry/routing_table" } @@ -23723,7 +23744,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/registry/subnet_features" } @@ -23777,7 +23798,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/registry/subnet_type" } @@ -23840,7 +23861,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/registry/transport" } @@ -23898,7 +23919,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/replicated_state" } @@ -24101,7 +24122,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/sns/governance" } @@ -24371,7 +24392,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/sns/governance/proposal_criticality" } @@ -24413,7 +24434,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/sns/governance/proposals_amount_total_limit" } @@ -24472,7 +24493,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/sns/governance/token_valuation" } @@ -24571,7 +24592,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/sns/init" } @@ -24689,7 +24710,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/sns/root" } @@ -24843,7 +24864,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/sns/swap" } @@ -25033,7 +25054,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/sns/swap/proto_library" } @@ -25103,7 +25124,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/nns/sns-wasm" } @@ -25239,7 +25260,7 @@ "target": "serde_bytes" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" } ], @@ -25305,7 +25326,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/sys" } @@ -25472,7 +25493,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/types/types" } @@ -25584,7 +25605,7 @@ "target": "serde_cbor" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -25734,7 +25755,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/utils" } @@ -25788,7 +25809,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/utils/thread" } @@ -25821,7 +25842,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/utils/validate_eq" } @@ -25863,7 +25884,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/utils/validate_eq_derive" } @@ -26040,7 +26061,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -26066,7 +26087,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/types/wasm_types" } @@ -26413,7 +26434,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/rosetta-api/icp_ledger" } @@ -26548,7 +26569,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "packages/icrc-ledger-client" } @@ -26607,7 +26628,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "packages/icrc-ledger-types" } @@ -28249,7 +28270,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -29403,7 +29424,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -29461,7 +29482,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -29517,7 +29538,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -30400,7 +30421,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -30571,7 +30592,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" } ], @@ -30956,7 +30977,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -30968,7 +30989,7 @@ "target": "tokio" }, { - "id": "tokio-util 0.7.11", + "id": "tokio-util 0.7.12", "target": "tokio_util" }, { @@ -32001,7 +32022,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -32133,7 +32154,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/rust_canisters/on_wire" } @@ -33776,7 +33797,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/phantom_newtype" } @@ -35321,7 +35342,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -35985,7 +36006,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -35997,7 +36018,7 @@ "target": "tokio" }, { - "id": "tokio-util 0.7.11", + "id": "tokio-util 0.7.12", "target": "tokio_util" }, { @@ -37150,7 +37171,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/registry/canister" } @@ -37516,7 +37537,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -37620,7 +37641,7 @@ "target": "tokio_rustls" }, { - "id": "tokio-util 0.7.11", + "id": "tokio-util 0.7.12", "target": "tokio_util" }, { @@ -38103,7 +38124,7 @@ "target": "tokio" }, { - "id": "tokio-util 0.7.11", + "id": "tokio-util 0.7.12", "target": "tokio_util" }, { @@ -39793,7 +39814,7 @@ "target": "semver" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -40107,13 +40128,13 @@ }, "license": "MIT OR Apache-2.0" }, - "serde_json 1.0.127": { + "serde_json 1.0.128": { "name": "serde_json", - "version": "1.0.127", + "version": "1.0.128", "repository": { "Http": { - "url": "https://static.crates.io/crates/serde_json/1.0.127/download", - "sha256": "8043c06d9f82bd7271361ed64f415fe5e12a77fdb52e573e7f06a516dea329ad" + "url": "https://static.crates.io/crates/serde_json/1.0.128/download", + "sha256": "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" } }, "targets": [ @@ -40169,14 +40190,14 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "build_script_build" } ], "selects": {} }, "edition": "2021", - "version": "1.0.127" + "version": "1.0.128" }, "build_script_attrs": { "data_glob": [ @@ -40689,7 +40710,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -41376,7 +41397,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -41584,7 +41605,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -41958,7 +41979,7 @@ "target": "reqwest" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { @@ -44620,13 +44641,13 @@ }, "license": "MIT" }, - "tokio-util 0.7.11": { + "tokio-util 0.7.12": { "name": "tokio-util", - "version": "0.7.11", + "version": "0.7.12", "repository": { "Http": { - "url": "https://static.crates.io/crates/tokio-util/0.7.11/download", - "sha256": "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" + "url": "https://static.crates.io/crates/tokio-util/0.7.12/download", + "sha256": "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" } }, "targets": [ @@ -44679,7 +44700,7 @@ "selects": {} }, "edition": "2021", - "version": "0.7.11" + "version": "0.7.12" }, "license": "MIT" }, @@ -45050,7 +45071,7 @@ "target": "tokio" }, { - "id": "tokio-util 0.7.11", + "id": "tokio-util 0.7.12", "target": "tokio_util" }, { @@ -45554,7 +45575,7 @@ "Git": { "remote": "https://github.com/dfinity/ic.git", "commitish": { - "Rev": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" + "Rev": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" }, "strip_prefix": "rs/tree_deserializer" } @@ -45733,7 +45754,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" } ], @@ -45774,13 +45795,13 @@ }, "license": "MIT" }, - "tungstenite 0.23.0": { + "tungstenite 0.24.0": { "name": "tungstenite", - "version": "0.23.0", + "version": "0.24.0", "repository": { "Http": { - "url": "https://static.crates.io/crates/tungstenite/0.23.0/download", - "sha256": "6e2e2ce1e47ed2994fd43b04c8f618008d4cabdd5ee34027cf14f9d918edd9c8" + "url": "https://static.crates.io/crates/tungstenite/0.24.0/download", + "sha256": "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" } }, "targets": [ @@ -45856,7 +45877,7 @@ "selects": {} }, "edition": "2018", - "version": "0.23.0" + "version": "0.24.0" }, "license": "MIT OR Apache-2.0" }, @@ -50035,7 +50056,7 @@ "target": "serde" }, { - "id": "serde_json 1.0.127", + "id": "serde_json 1.0.128", "target": "serde_json" }, { diff --git a/Cargo.lock b/Cargo.lock index e83ac4356..b9f777a87 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1665,7 +1665,7 @@ dependencies = [ [[package]] name = "cycles-minting-canister" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "async-trait", "base64 0.13.1", @@ -1903,18 +1903,18 @@ dependencies = [ [[package]] name = "derive_builder" -version = "0.20.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0350b5cb0331628a5916d6c5c0b72e97393b8b6b03b47a9284f4e7f5a405ffd7" +checksum = "cd33f37ee6a119146a1781d3356a7c26028f83d779b2e04ecd45fdc75c76877b" dependencies = [ "derive_builder_macro", ] [[package]] name = "derive_builder_core" -version = "0.20.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d48cda787f839151732d396ac69e3473923d54312c070ee21e9effcaa8ca0b1d" +checksum = "7431fa049613920234f22c47fdc33e6cf3ee83067091ea4277a3f8c4587aae38" dependencies = [ "darling 0.20.10", "proc-macro2", @@ -1924,9 +1924,9 @@ dependencies = [ [[package]] name = "derive_builder_macro" -version = "0.20.0" +version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b" +checksum = "4abae7035bf79b9877b779505d8cf3749285b80c43941eda66604841889451dc" dependencies = [ "derive_builder_core", "syn 2.0.76", @@ -1948,7 +1948,7 @@ dependencies = [ [[package]] name = "dfn_candid" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "dfn_core", @@ -1960,7 +1960,7 @@ dependencies = [ [[package]] name = "dfn_core" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-base-types", "on_wire", @@ -1969,7 +1969,7 @@ dependencies = [ [[package]] name = "dfn_http" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "dfn_candid", @@ -1981,7 +1981,7 @@ dependencies = [ [[package]] name = "dfn_http_metrics" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "dfn_candid", "dfn_core", @@ -1994,7 +1994,7 @@ dependencies = [ [[package]] name = "dfn_protobuf" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "on_wire", "prost", @@ -2440,7 +2440,7 @@ checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "fe-derive" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "hex", "num-bigint-dig", @@ -2788,9 +2788,9 @@ dependencies = [ [[package]] name = "headless_chrome" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "033a930aa5772322702966568666b10ab516c9ee0f25a2f6bca6fd9f7d8e9db7" +checksum = "e1eb54284cb4be609bae1375e08e7737752fd5f919f918345359b51b38b7b9ce" dependencies = [ "anyhow", "auto_generate_cdp", @@ -3181,7 +3181,7 @@ dependencies = [ [[package]] name = "ic-adapter-metrics-client" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-adapter-metrics-service", "ic-async-utils", @@ -3196,7 +3196,7 @@ dependencies = [ [[package]] name = "ic-adapter-metrics-service" version = "0.1.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "prost", "prost-build", @@ -3248,7 +3248,7 @@ dependencies = [ [[package]] name = "ic-async-utils" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "anyhow", "async-stream", @@ -3268,17 +3268,20 @@ dependencies = [ [[package]] name = "ic-base-types" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "byte-unit", "bytes", "candid", "comparable", + "hex", "ic-crypto-sha2", "ic-protobuf", "phantom_newtype", "prost", "serde", + "strum 0.26.3", + "strum_macros 0.26.4", ] [[package]] @@ -3295,7 +3298,7 @@ dependencies = [ [[package]] name = "ic-btc-replica-types" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "ic-btc-interface", @@ -3308,7 +3311,7 @@ dependencies = [ [[package]] name = "ic-canister-client" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "backoff", "futures-util", @@ -3338,7 +3341,7 @@ dependencies = [ [[package]] name = "ic-canister-client-sender" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-base-types", "ic-crypto-ed25519", @@ -3351,7 +3354,7 @@ dependencies = [ [[package]] name = "ic-canister-log" version = "0.2.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "serde", ] @@ -3359,7 +3362,7 @@ dependencies = [ [[package]] name = "ic-canister-profiler" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-metrics-encoder", "ic0 0.18.11", @@ -3403,7 +3406,7 @@ dependencies = [ [[package]] name = "ic-canisters-http-types" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "dfn_candid", @@ -3414,7 +3417,7 @@ dependencies = [ [[package]] name = "ic-canonical-state" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-base-types", "ic-canonical-state-tree-hash", @@ -3438,7 +3441,7 @@ dependencies = [ [[package]] name = "ic-canonical-state-tree-hash" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-crypto-tree-hash", "itertools 0.12.1", @@ -3543,7 +3546,7 @@ dependencies = [ [[package]] name = "ic-certification" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "hex", "ic-crypto-tree-hash", @@ -3570,7 +3573,7 @@ dependencies = [ [[package]] name = "ic-certification-version" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "strum 0.26.3", "strum_macros 0.26.4", @@ -3590,7 +3593,7 @@ dependencies = [ [[package]] name = "ic-config" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-base-types", "ic-protobuf", @@ -3605,12 +3608,12 @@ dependencies = [ [[package]] name = "ic-constants" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" [[package]] name = "ic-crypto-ed25519" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "curve25519-dalek", "ed25519-dalek", @@ -3624,7 +3627,7 @@ dependencies = [ [[package]] name = "ic-crypto-getrandom-for-wasm" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "getrandom", ] @@ -3632,7 +3635,7 @@ dependencies = [ [[package]] name = "ic-crypto-interfaces-sig-verification" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-types", ] @@ -3640,7 +3643,7 @@ dependencies = [ [[package]] name = "ic-crypto-internal-basic-sig-der-utils" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "hex", "ic-types", @@ -3650,7 +3653,7 @@ dependencies = [ [[package]] name = "ic-crypto-internal-basic-sig-ed25519" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "base64 0.13.1", "curve25519-dalek", @@ -3672,7 +3675,7 @@ dependencies = [ [[package]] name = "ic-crypto-internal-bls12-381-type" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "hex", "ic_bls12_381", @@ -3690,7 +3693,7 @@ dependencies = [ [[package]] name = "ic-crypto-internal-hmac" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-crypto-internal-sha2", ] @@ -3698,7 +3701,7 @@ dependencies = [ [[package]] name = "ic-crypto-internal-multi-sig-bls12381" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "base64 0.13.1", "hex", @@ -3717,7 +3720,7 @@ dependencies = [ [[package]] name = "ic-crypto-internal-seed" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "hex", "ic-crypto-sha2", @@ -3730,7 +3733,7 @@ dependencies = [ [[package]] name = "ic-crypto-internal-sha2" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "sha2 0.10.8", ] @@ -3738,7 +3741,7 @@ dependencies = [ [[package]] name = "ic-crypto-internal-threshold-sig-bls12381" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "base64 0.13.1", "cached 0.49.3", @@ -3764,7 +3767,7 @@ dependencies = [ [[package]] name = "ic-crypto-internal-threshold-sig-ecdsa" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "curve25519-dalek", "fe-derive", @@ -3794,7 +3797,7 @@ dependencies = [ [[package]] name = "ic-crypto-internal-types" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "arrayvec 0.7.4", "hex", @@ -3811,7 +3814,7 @@ dependencies = [ [[package]] name = "ic-crypto-node-key-validation" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "hex", "ic-base-types", @@ -3829,7 +3832,7 @@ dependencies = [ [[package]] name = "ic-crypto-secp256k1" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "hmac", "k256", @@ -3845,7 +3848,7 @@ dependencies = [ [[package]] name = "ic-crypto-secrets-containers" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "serde", "zeroize", @@ -3854,7 +3857,7 @@ dependencies = [ [[package]] name = "ic-crypto-sha2" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-crypto-internal-sha2", ] @@ -3862,7 +3865,7 @@ dependencies = [ [[package]] name = "ic-crypto-tls-cert-validation" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "hex", "ic-crypto-internal-basic-sig-ed25519", @@ -3875,7 +3878,7 @@ dependencies = [ [[package]] name = "ic-crypto-tree-hash" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-crypto-internal-types", "ic-crypto-sha2", @@ -3888,7 +3891,7 @@ dependencies = [ [[package]] name = "ic-crypto-utils-basic-sig" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-base-types", "ic-crypto-ed25519", @@ -3898,7 +3901,7 @@ dependencies = [ [[package]] name = "ic-crypto-utils-ni-dkg" version = "0.8.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-crypto-internal-types", "ic-protobuf", @@ -3908,7 +3911,7 @@ dependencies = [ [[package]] name = "ic-crypto-utils-threshold-sig" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "base64 0.13.1", "ic-crypto-internal-threshold-sig-bls12381", @@ -3919,7 +3922,7 @@ dependencies = [ [[package]] name = "ic-crypto-utils-threshold-sig-der" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "base64 0.13.1", "ic-crypto-internal-types", @@ -3930,7 +3933,7 @@ dependencies = [ [[package]] name = "ic-error-types" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-protobuf", "ic-utils 0.9.0", @@ -3942,7 +3945,7 @@ dependencies = [ [[package]] name = "ic-http-endpoints-metrics" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "axum 0.7.5", "ic-async-utils", @@ -3959,7 +3962,7 @@ dependencies = [ [[package]] name = "ic-icrc1" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "ciborium", @@ -3982,7 +3985,7 @@ dependencies = [ [[package]] name = "ic-icrc1-index-ng" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "ciborium", @@ -4010,7 +4013,7 @@ dependencies = [ [[package]] name = "ic-icrc1-ledger" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "async-trait", "candid", @@ -4028,6 +4031,7 @@ dependencies = [ "ic-ledger-core", "ic-ledger-hash-of", "ic-metrics-encoder", + "ic-stable-structures", "icrc-ledger-client", "icrc-ledger-types", "num-traits", @@ -4038,7 +4042,7 @@ dependencies = [ [[package]] name = "ic-icrc1-tokens-u64" version = "0.1.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "ic-ledger-core", @@ -4050,7 +4054,7 @@ dependencies = [ [[package]] name = "ic-interfaces" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-base-types", "ic-crypto-interfaces-sig-verification", @@ -4075,7 +4079,7 @@ dependencies = [ [[package]] name = "ic-interfaces-registry" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-types", "prost", @@ -4085,7 +4089,7 @@ dependencies = [ [[package]] name = "ic-interfaces-state-manager" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-crypto-tree-hash", "ic-types", @@ -4096,7 +4100,7 @@ dependencies = [ [[package]] name = "ic-ledger-canister-core" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "async-trait", "candid", @@ -4114,7 +4118,7 @@ dependencies = [ [[package]] name = "ic-ledger-core" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "ic-ledger-hash-of", @@ -4126,7 +4130,7 @@ dependencies = [ [[package]] name = "ic-ledger-hash-of" version = "0.1.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "hex", @@ -4136,7 +4140,7 @@ dependencies = [ [[package]] name = "ic-logger" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "chrono", "ic-config", @@ -4208,7 +4212,7 @@ dependencies = [ [[package]] name = "ic-management-canister-types" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "ic-base-types", @@ -4253,7 +4257,7 @@ dependencies = [ [[package]] name = "ic-metrics" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "futures", "ic-adapter-metrics-client", @@ -4273,7 +4277,7 @@ checksum = "8b5c7628eac357aecda461130f8074468be5aa4d258a002032d82d817f79f1f8" [[package]] name = "ic-nervous-system-clients" version = "0.0.1" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "async-trait", "candid", @@ -4296,12 +4300,12 @@ dependencies = [ [[package]] name = "ic-nervous-system-collections-union-multi-map" version = "0.0.1" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" [[package]] name = "ic-nervous-system-common" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "async-trait", "base64 0.13.1", @@ -4337,12 +4341,12 @@ dependencies = [ [[package]] name = "ic-nervous-system-common-build-metadata" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" [[package]] name = "ic-nervous-system-common-test-keys" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-base-types", "ic-canister-client-sender", @@ -4355,7 +4359,7 @@ dependencies = [ [[package]] name = "ic-nervous-system-governance" version = "0.0.1" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-base-types", "ic-stable-structures", @@ -4367,12 +4371,12 @@ dependencies = [ [[package]] name = "ic-nervous-system-lock" version = "0.0.1" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" [[package]] name = "ic-nervous-system-proto" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "comparable", @@ -4385,7 +4389,7 @@ dependencies = [ [[package]] name = "ic-nervous-system-proxied-canister-calls-tracker" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-base-types", ] @@ -4393,7 +4397,7 @@ dependencies = [ [[package]] name = "ic-nervous-system-root" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "dfn_core", @@ -4409,7 +4413,7 @@ dependencies = [ [[package]] name = "ic-nervous-system-runtime" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "async-trait", "candid", @@ -4422,17 +4426,17 @@ dependencies = [ [[package]] name = "ic-nervous-system-string" version = "0.0.1" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" [[package]] name = "ic-nervous-system-temporary" version = "0.0.1" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" [[package]] name = "ic-neurons-fund" version = "0.0.1" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-nervous-system-common", "lazy_static", @@ -4445,7 +4449,7 @@ dependencies = [ [[package]] name = "ic-nns-common" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "comparable", @@ -4471,7 +4475,7 @@ dependencies = [ [[package]] name = "ic-nns-constants" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-base-types", "maplit", @@ -4480,7 +4484,7 @@ dependencies = [ [[package]] name = "ic-nns-governance" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "async-trait", "build-info", @@ -4550,7 +4554,7 @@ dependencies = [ [[package]] name = "ic-nns-governance-api" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "bytes", "candid", @@ -4577,7 +4581,7 @@ dependencies = [ [[package]] name = "ic-nns-governance-init" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "csv", "ic-base-types", @@ -4594,12 +4598,12 @@ dependencies = [ [[package]] name = "ic-nns-gtc-accounts" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" [[package]] name = "ic-nns-handler-root-interface" version = "0.1.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "async-trait", "candid", @@ -4614,7 +4618,7 @@ dependencies = [ [[package]] name = "ic-protobuf" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "bincode", "candid", @@ -4628,7 +4632,7 @@ dependencies = [ [[package]] name = "ic-registry-canister-api" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "ic-base-types", @@ -4639,7 +4643,7 @@ dependencies = [ [[package]] name = "ic-registry-client" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "crossbeam-channel", "ic-interfaces-registry", @@ -4652,7 +4656,7 @@ dependencies = [ [[package]] name = "ic-registry-client-fake" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-interfaces-registry", "ic-types", @@ -4661,7 +4665,7 @@ dependencies = [ [[package]] name = "ic-registry-client-helpers" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-base-types", "ic-interfaces-registry", @@ -4680,7 +4684,7 @@ dependencies = [ [[package]] name = "ic-registry-common-proto" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "prost", ] @@ -4688,7 +4692,7 @@ dependencies = [ [[package]] name = "ic-registry-keys" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "ic-base-types", @@ -4700,7 +4704,7 @@ dependencies = [ [[package]] name = "ic-registry-local-registry" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-interfaces-registry", "ic-protobuf", @@ -4718,7 +4722,7 @@ dependencies = [ [[package]] name = "ic-registry-local-store" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-interfaces-registry", "ic-registry-common-proto", @@ -4730,12 +4734,12 @@ dependencies = [ [[package]] name = "ic-registry-local-store-artifacts" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" [[package]] name = "ic-registry-nns-data-provider" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "chrono", "ic-canister-client", @@ -4755,7 +4759,7 @@ dependencies = [ [[package]] name = "ic-registry-node-provider-rewards" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-base-types", "ic-protobuf", @@ -4764,7 +4768,7 @@ dependencies = [ [[package]] name = "ic-registry-provisional-whitelist" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-base-types", "ic-protobuf", @@ -4773,7 +4777,7 @@ dependencies = [ [[package]] name = "ic-registry-routing-table" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "ic-base-types", @@ -4784,7 +4788,7 @@ dependencies = [ [[package]] name = "ic-registry-subnet-features" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "ic-management-canister-types", @@ -4795,7 +4799,7 @@ dependencies = [ [[package]] name = "ic-registry-subnet-type" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "ic-protobuf", @@ -4807,7 +4811,7 @@ dependencies = [ [[package]] name = "ic-registry-transport" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "ic-base-types", @@ -4819,7 +4823,7 @@ dependencies = [ [[package]] name = "ic-replicated-state" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "bit-vec", "cvt", @@ -4866,7 +4870,7 @@ dependencies = [ [[package]] name = "ic-sns-governance" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "async-trait", "base64 0.13.1", @@ -4923,7 +4927,7 @@ dependencies = [ [[package]] name = "ic-sns-governance-proposal-criticality" version = "0.0.1" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-nervous-system-proto", ] @@ -4931,7 +4935,7 @@ dependencies = [ [[package]] name = "ic-sns-governance-proposals-amount-total-limit" version = "0.0.1" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-sns-governance-token-valuation", "num-traits", @@ -4942,7 +4946,7 @@ dependencies = [ [[package]] name = "ic-sns-governance-token-valuation" version = "0.0.1" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "async-trait", "candid", @@ -4963,7 +4967,7 @@ dependencies = [ [[package]] name = "ic-sns-init" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "base64 0.13.1", "candid", @@ -4990,7 +4994,7 @@ dependencies = [ [[package]] name = "ic-sns-root" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "async-trait", "build-info", @@ -5019,7 +5023,7 @@ dependencies = [ [[package]] name = "ic-sns-swap" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "async-trait", "build-info", @@ -5057,7 +5061,7 @@ dependencies = [ [[package]] name = "ic-sns-swap-proto-library" version = "0.0.1" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "comparable", @@ -5072,7 +5076,7 @@ dependencies = [ [[package]] name = "ic-sns-wasm" version = "1.0.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "async-trait", "candid", @@ -5118,7 +5122,7 @@ dependencies = [ [[package]] name = "ic-sys" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "cvt", "hex", @@ -5154,7 +5158,7 @@ dependencies = [ [[package]] name = "ic-types" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "base64 0.13.1", "bincode", @@ -5191,7 +5195,7 @@ dependencies = [ [[package]] name = "ic-utils" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "hex", "scoped_threadpool", @@ -5224,12 +5228,12 @@ dependencies = [ [[package]] name = "ic-utils-thread" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" [[package]] name = "ic-validate-eq" version = "0.0.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-validate-eq-derive", ] @@ -5237,7 +5241,7 @@ dependencies = [ [[package]] name = "ic-validate-eq-derive" version = "0.0.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "darling 0.20.10", "proc-macro2", @@ -5279,7 +5283,7 @@ dependencies = [ [[package]] name = "ic-wasm-types" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-crypto-sha2", "ic-sys", @@ -5348,7 +5352,7 @@ dependencies = [ [[package]] name = "icp-ledger" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "comparable", @@ -5378,7 +5382,7 @@ dependencies = [ [[package]] name = "icrc-ledger-client" version = "0.1.2" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "async-trait", "candid", @@ -5389,7 +5393,7 @@ dependencies = [ [[package]] name = "icrc-ledger-types" version = "0.1.6" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "base32", "candid", @@ -6463,7 +6467,7 @@ dependencies = [ [[package]] name = "on_wire" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" [[package]] name = "once_cell" @@ -6773,7 +6777,7 @@ dependencies = [ [[package]] name = "phantom_newtype" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "candid", "serde", @@ -7437,7 +7441,7 @@ checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "registry-canister" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "build-info", "build-info-build", @@ -7983,9 +7987,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.127" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8043c06d9f82bd7271361ed64f415fe5e12a77fdb52e573e7f06a516dea329ad" +checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" dependencies = [ "itoa", "memchr", @@ -8882,9 +8886,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" dependencies = [ "bytes", "futures-core", @@ -9068,7 +9072,7 @@ dependencies = [ [[package]] name = "tree-deserializer" version = "0.9.0" -source = "git+https://github.com/dfinity/ic.git?rev=0ca139ca39dfee21c8ca75e7fe37422df65e4b96#0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +source = "git+https://github.com/dfinity/ic.git?rev=f3a6cf88defb92e8b457d2438cb5b086b51e26b2#f3a6cf88defb92e8b457d2438cb5b086b51e26b2" dependencies = [ "ic-crypto-tree-hash", "leb128", @@ -9119,9 +9123,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "tungstenite" -version = "0.23.0" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e2ce1e47ed2994fd43b04c8f618008d4cabdd5ee34027cf14f9d918edd9c8" +checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" dependencies = [ "byteorder", "bytes", diff --git a/Cargo.toml b/Cargo.toml index b9264310d..e628dfd69 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -63,6 +63,7 @@ clap = { version = "4.5", features = [ "string", "cargo", ] } +clap_complete = "4.5.24" clio = { version = "0.3.5", features = ["clap", "clap-parse"] } colored = "2.1.0" comfy-table = "7.1.1" @@ -90,43 +91,43 @@ humantime-serde = "1.1.1" ic-agent = "0.37.1" octocrab = "0.39.0" self_update = { version = "0.41.0", features = ["archive-tar"] } -ic-async-utils = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-base-types = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-canister-client = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-canister-client-sender = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } +ic-async-utils = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-base-types = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-canister-client = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-canister-client-sender = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } ic-canisters = { path = "rs/ic-canisters" } -ic-nervous-system-common-test-keys = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } +ic-nervous-system-common-test-keys = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } ic-cdk = { git = "https://github.com/dfinity/cdk-rs.git", rev = "3e54016734c8f73fb3acabc9c9e72c960c85eb3b" } -ic-config = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-crypto-utils-threshold-sig-der = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-http-endpoints-metrics = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-interfaces-registry = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } +ic-config = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-crypto-utils-threshold-sig-der = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-http-endpoints-metrics = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-interfaces-registry = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } ic-management-backend = { path = "rs/ic-management-backend" } -ic-management-canister-types = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } +ic-management-canister-types = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } ic-management-types = { path = "rs/ic-management-types" } -ic-metrics = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-nns-common = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-nns-constants = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-nns-governance = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-nns-governance-api = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-protobuf = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-registry-client = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-registry-client-fake = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-registry-client-helpers = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-registry-common-proto = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-registry-keys = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-registry-local-registry = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-registry-local-store = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-registry-local-store-artifacts = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-registry-nns-data-provider = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-registry-subnet-type = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-registry-transport = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-sys = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-types = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-nervous-system-root = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-nervous-system-clients = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -ic-sns-wasm = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } -cycles-minting-canister = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } +ic-metrics = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-nns-common = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-nns-constants = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-nns-governance = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-nns-governance-api = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-protobuf = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-registry-client = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-registry-client-fake = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-registry-client-helpers = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-registry-common-proto = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-registry-keys = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-registry-local-registry = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-registry-local-store = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-registry-local-store-artifacts = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-registry-nns-data-provider = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-registry-subnet-type = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-registry-transport = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-sys = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-types = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-nervous-system-root = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-nervous-system-clients = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +ic-sns-wasm = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } +cycles-minting-canister = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } ic-transport-types = "0.37.1" ic-utils = "0.37.0" itertools = "0.13.0" @@ -147,7 +148,7 @@ prost = "0.12" rand = { version = "0.8.5", features = ["std_rng"] } rand_seeder = "0.3.0" regex = "1.10.6" -registry-canister = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } +registry-canister = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } reqwest = { version = "0.12", default-features = false, features = [ "rustls-tls", "blocking", @@ -156,8 +157,9 @@ retry = "2.0.0" rstest = { version = "0.22.0", default-features = false } rust_decimal = "1.36.0" # or the latest version rust_decimal_macros = "1.36.0" # optional, for using macros +secrecy = { version = "0.8.0" } serde = { version = "1.0", features = ["derive"] } -serde_json = "1.0.127" +serde_json = "1.0.128" serde_yaml = "0.9.34" shlex = "1.3.0" sha2 = "0.10.8" @@ -178,11 +180,11 @@ tabular = "0.2" tempfile = "3.12.0" thiserror = "1.0.63" tokio = { version = "1.40.0", features = ["full"] } -tokio-util = "0.7.11" +tokio-util = "0.7.12" url = "2.5.2" wiremock = "0.6.1" human_bytes = "0.4" -headless_chrome = { version = "1.0.13", features = [ +headless_chrome = { version = "1.0.14", features = [ "fetch", ], default-features = false } mockall = "0.13.0" @@ -192,7 +194,7 @@ ic-cdk-timers = { git = "https://github.com/dfinity/cdk-rs.git", rev = "3e540167 ic-cdk-macros = { git = "https://github.com/dfinity/cdk-rs.git", rev = "3e54016734c8f73fb3acabc9c9e72c960c85eb3b" } ic-stable-structures = "0.6.5" ciborium = "0.2.2" -dfn_core = { git = "https://github.com/dfinity/ic.git", rev = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" } +dfn_core = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } # dre-airflow deps, should be replaced with dre-airflow once indexmap = { version = "2.5.0", features = ["serde"] } diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index 62f1164b0..6b5191407 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -75,7 +75,7 @@ aspect_bazel_lib_dependencies() aspect_bazel_lib_register_toolchains() -IC_REPO_VERSION = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96" +IC_REPO_VERSION = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" http_archive( name = "ic_repo", diff --git a/docker/Dockerfile b/docker/Dockerfile index e6762c986..77148e145 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -76,7 +76,7 @@ ENV CARGO_HOME=/cargo COPY docker /docker # Download ic-admin -ARG ic_git_revision=0ca139ca39dfee21c8ca75e7fe37422df65e4b96 +ARG ic_git_revision=f3a6cf88defb92e8b457d2438cb5b086b51e26b2 RUN curl --fail https://download.dfinity.systems/ic/${ic_git_revision}/release/ic-admin.gz -o - | gunzip -c >| /usr/bin/ic-admin && \ chmod +x /usr/bin/ic-admin diff --git a/ic-revisions.json b/ic-revisions.json index 94e5bb731..321b65b5d 100644 --- a/ic-revisions.json +++ b/ic-revisions.json @@ -1,6 +1,6 @@ { "https://github.com/dfinity/ic.git": { - "commit": "0ca139ca39dfee21c8ca75e7fe37422df65e4b96", + "commit": "f3a6cf88defb92e8b457d2438cb5b086b51e26b2", "ref": "refs/heads/master" }, "https://github.com/dfinity/cdk-rs.git": { diff --git a/pylib/ic_admin.py b/pylib/ic_admin.py index 7da275fb0..7fc536e94 100644 --- a/pylib/ic_admin.py +++ b/pylib/ic_admin.py @@ -152,6 +152,6 @@ def canister_version(agent: Agent, canister_principal: str) -> str: if __name__ == "__main__": # One can run some simple one-off tests here, e.g.: - ic_admin = IcAdmin("https://ic0.app", git_revision="0ca139ca39dfee21c8ca75e7fe37422df65e4b96") + ic_admin = IcAdmin("https://ic0.app", git_revision="f3a6cf88defb92e8b457d2438cb5b086b51e26b2") print(ic_admin.get_subnet_replica_versions()) diff --git a/rs/cli/Cargo.toml b/rs/cli/Cargo.toml index 0ef6ae3ba..3c32f7d7d 100644 --- a/rs/cli/Cargo.toml +++ b/rs/cli/Cargo.toml @@ -56,7 +56,7 @@ regex = { workspace = true } registry-canister = { workspace = true } reqwest = { workspace = true } self_update = { workspace = true } -secrecy = { version = "0.8.0" } +secrecy = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } sha2 = { workspace = true } @@ -68,7 +68,7 @@ tempfile = { workspace = true } tokio = { workspace = true } url = { workspace = true } humantime = { workspace = true } -clap_complete = "4.5.24" +clap_complete = { workspace = true } cryptoki = { workspace = true } keyring = { workspace = true } comfy-table = { workspace = true } diff --git a/rs/cli/src/ic_admin.rs b/rs/cli/src/ic_admin.rs index 4c179b6fe..fb2bf6380 100644 --- a/rs/cli/src/ic_admin.rs +++ b/rs/cli/src/ic_admin.rs @@ -767,7 +767,7 @@ pub struct ProposeOptions { pub motivation: Option<String>, pub forum_post_link: Option<String>, } -pub const FALLBACK_IC_ADMIN_VERSION: &str = "0ca139ca39dfee21c8ca75e7fe37422df65e4b96"; +pub const FALLBACK_IC_ADMIN_VERSION: &str = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2"; fn get_ic_admin_revisions_dir() -> anyhow::Result<PathBuf> { let dir = dirs::home_dir() diff --git a/rs/np-notifications/Cargo.toml b/rs/np-notifications/Cargo.toml index ecf1cd853..2ddbe0c7a 100644 --- a/rs/np-notifications/Cargo.toml +++ b/rs/np-notifications/Cargo.toml @@ -21,7 +21,7 @@ serde = { workspace = true } serde_json = { workspace = true } serde_yaml = { workspace = true } tokio = { workspace = true } -tokio-util = "0.7.11" +tokio-util = { workspace = true } tracing = { version = "0.1.40", features = ["log"] } tracing-log = { version = "0.2.0", features = ["log-tracer"] } tracing-subscriber = "0.3.18" From 6f46268f44848c022ceb7fac4c35a543c60a17d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C5=A1a=20Tomi=C4=87?= <sasa.tomic@dfinity.org> Date: Thu, 5 Sep 2024 16:40:21 +0200 Subject: [PATCH 18/25] fix(ci): Update cache job fix (#874) --- .../workflows/manage-runner-post/action.yaml | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/.github/workflows/manage-runner-post/action.yaml b/.github/workflows/manage-runner-post/action.yaml index 63f16cd8e..6b6231a76 100644 --- a/.github/workflows/manage-runner-post/action.yaml +++ b/.github/workflows/manage-runner-post/action.yaml @@ -23,25 +23,6 @@ runs: # Cache is saved on main only to avoid cache evictions due to github restrictions: # https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#restrictions-for-accessing-a-cache ######################################## - - name: First delete cache entry if it exists - if: ${{ github.ref == 'refs/heads/main' }} - run: | - set -eExou pipefail - gh extension install actions/gh-actions-cache - REPO=${{ github.repository }} - BRANCH=${{ github.ref }} - echo "Fetching list of cache key" - cacheKeys=$(gh actions-cache list -R $REPO -B $BRANCH | cut -f 1 ) - ## Setting this to not fail the workflow while deleting cache keys. - echo "Deleting caches..." - for cacheKey in $cacheKeys - do - gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm || true - done - echo "Done" - env: - GH_TOKEN: ${{ inputs.GITHUB_TOKEN }} - shell: bash - name: "☁️ ⬆️ Saving cache on main only" if: ${{ github.ref == 'refs/heads/main' }} uses: actions/cache/save@v4 From dc121c39355f13f785c08c9724aa081bbfd51baf Mon Sep 17 00:00:00 2001 From: DFINITYManu <123385598+DFINITYManu@users.noreply.github.com> Date: Thu, 5 Sep 2024 17:18:16 +0200 Subject: [PATCH 19/25] Address various issues through the use of Cargo deny. (#862) Co-authored-by: Luka Skugor <luka.skugor@chimeramail.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> --- .github/workflows/build/action.yaml | 11 + .github/workflows/main.yaml | 4 - .pre-commit-config.yaml | 9 + Cargo.Bazel.lock | 2964 ++--------------- Cargo.lock | 482 +-- Cargo.toml | 16 +- bazel/external_crates.bzl | 17 - deny.toml | 872 +++++ docker/runner.Dockerfile | 2 +- rs/canister-log-fetcher/Cargo.toml | 1 + rs/cli/Cargo.toml | 2 +- rs/cli/src/commands/qualify/execute.rs | 5 +- rs/cli/src/qualification/mod.rs | 25 +- rs/cli/src/qualification/run_workload_test.rs | 11 - rs/cli/src/qualification/run_xnet_test.rs | 14 +- rs/cli/src/qualification/util.rs | 111 +- .../trustworthy-node-metrics-types/Cargo.toml | 1 + .../src/trustworthy-node-metrics/Cargo.toml | 1 + rs/ic-canisters/Cargo.toml | 1 + rs/ic-management-backend/Cargo.toml | 1 + rs/ic-management-types/Cargo.toml | 1 + .../config-writer-common/Cargo.toml | 1 + .../log-noise-filter-backend/Cargo.toml | 1 + .../log-noise-filter-downloader/Cargo.toml | 1 + .../Cargo.toml | 1 + .../multiservice-discovery-shared/Cargo.toml | 1 + .../multiservice-discovery/Cargo.toml | 1 + .../node-status-updater/Cargo.toml | 5 +- .../obs-canister-clients/Cargo.toml | 1 + .../prometheus-config-updater/Cargo.toml | 1 + .../service-discovery/Cargo.toml | 1 + rs/ic-observability/sns-downloader/Cargo.toml | 1 + rs/log-fetcher/Cargo.toml | 1 + rs/np-notifications/Cargo.toml | 1 + rs/qualifier/Cargo.toml | 1 + rs/rollout-controller/Cargo.toml | 1 + rs/slack-notifications/Cargo.toml | 1 + 37 files changed, 1130 insertions(+), 3441 deletions(-) create mode 100644 deny.toml diff --git a/.github/workflows/build/action.yaml b/.github/workflows/build/action.yaml index cfcfe068e..ff64c364c 100644 --- a/.github/workflows/build/action.yaml +++ b/.github/workflows/build/action.yaml @@ -9,6 +9,17 @@ inputs: runs: using: composite steps: + - name: "Cargo deny checks" + id: cargo-deny + run: | + set -xe + command -v cargo-deny >/dev/null 2>&1 || { + echo Installing cargo-deny >&2 + cargo install --quiet cargo-deny + } + cargo deny check -D warnings + shell: bash + - name: "Build and repin" id: build run: | diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 785ec5eac..c4818a862 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -30,10 +30,6 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 2 - - name: "🔒 Ensure singular opentelemetry version in Cargo.lock" - shell: bash - run: test "$(grep -n 'name = "opentelemetry"' Cargo.lock | wc -l)" -le 1 - - name: "☁️ Setup runner" uses: ./.github/workflows/manage-runner-pre diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 640d5d53a..1ec5a0af9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -91,3 +91,12 @@ repos: command -v rye >/dev/null || echo 'rye' not found. Please install it by following the instructions from https://rye.astral.sh/ rye run python release-controller/ci_check.py --repo-path ~/.cache/git/ic ' + - id: cargo-deny-checks + language: system + name: Cargo deny checks + verbose: true + entry: | + bash -c ' + command -v cargo-deny >/dev/null || echo "'cargo-deny' not found. Please install it by running 'cargo install cargo-deny'" + cargo deny check + ' diff --git a/Cargo.Bazel.lock b/Cargo.Bazel.lock index bb906f3c3..8676356b8 100644 --- a/Cargo.Bazel.lock +++ b/Cargo.Bazel.lock @@ -1,5 +1,5 @@ { - "checksum": "bf2644f8360d4956bd586c2a01000c8ecdf257d46ceff29dd953b72f28be14da", + "checksum": "e8cb1fe0eba54f3b33b36a0f44e35ce0eb25cbf3760b1476dddd2ec7b1c7f3f9", "crates": { "actix-codec 0.5.2": { "name": "actix-codec", @@ -929,56 +929,6 @@ }, "license": "Zlib" }, - "aes 0.8.4": { - "name": "aes", - "version": "0.8.4", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/aes/0.8.4/download", - "sha256": "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" - } - }, - "targets": [ - { - "Library": { - "crate_name": "aes", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "aes", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "cfg-if 1.0.0", - "target": "cfg_if" - }, - { - "id": "cipher 0.4.4", - "target": "cipher" - } - ], - "selects": { - "cfg(any(target_arch = \"aarch64\", target_arch = \"x86_64\", target_arch = \"x86\"))": [ - { - "id": "cpufeatures 0.2.12", - "target": "cpufeatures" - } - ] - } - }, - "edition": "2021", - "version": "0.8.4" - }, - "license": "MIT OR Apache-2.0" - }, "ahash 0.7.8": { "name": "ahash", "version": "0.7.8", @@ -1599,45 +1549,6 @@ }, "license": "MIT OR Apache-2.0" }, - "arbitrary 1.3.2": { - "name": "arbitrary", - "version": "1.3.2", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/arbitrary/1.3.2/download", - "sha256": "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" - } - }, - "targets": [ - { - "Library": { - "crate_name": "arbitrary", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "arbitrary", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "edition": "2021", - "proc_macro_deps": { - "common": [ - { - "id": "derive_arbitrary 1.3.2", - "target": "derive_arbitrary" - } - ], - "selects": {} - }, - "version": "1.3.2" - }, - "license": "MIT OR Apache-2.0" - }, "arc-swap 1.7.1": { "name": "arc-swap", "version": "1.7.1", @@ -2382,19 +2293,49 @@ }, "license": "MIT" }, - "auto_generate_cdp 0.4.4": { - "name": "auto_generate_cdp", - "version": "0.4.4", + "autocfg 1.3.0": { + "name": "autocfg", + "version": "1.3.0", "repository": { "Http": { - "url": "https://static.crates.io/crates/auto_generate_cdp/0.4.4/download", - "sha256": "7af08ed49930c50104b2f1699d257e5053fb1809e370647bde9c58b31d65d417" + "url": "https://static.crates.io/crates/autocfg/1.3.0/download", + "sha256": "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" } }, "targets": [ { "Library": { - "crate_name": "auto_generate_cdp", + "crate_name": "autocfg", + "crate_root": "src/lib.rs", + "srcs": [ + "**/*.rs" + ] + } + } + ], + "library_target_name": "autocfg", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2015", + "version": "1.3.0" + }, + "license": "Apache-2.0 OR MIT" + }, + "axum 0.6.20": { + "name": "axum", + "version": "0.6.20", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/axum/0.6.20/download", + "sha256": "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" + } + }, + "targets": [ + { + "Library": { + "crate_name": "axum", "crate_root": "src/lib.rs", "srcs": [ "**/*.rs" @@ -2411,7 +2352,7 @@ } } ], - "library_target_name": "auto_generate_cdp", + "library_target_name": "axum", "common_attrs": { "compile_data_glob": [ "**" @@ -2419,83 +2360,119 @@ "deps": { "common": [ { - "id": "auto_generate_cdp 0.4.4", + "id": "axum 0.6.20", "target": "build_script_build" }, { - "id": "convert_case 0.4.0", - "target": "convert_case" + "id": "axum-core 0.3.4", + "target": "axum_core" }, { - "id": "proc-macro2 1.0.86", - "target": "proc_macro2" + "id": "bitflags 1.3.2", + "target": "bitflags" }, { - "id": "quote 1.0.37", - "target": "quote" + "id": "bytes 1.7.1", + "target": "bytes" + }, + { + "id": "futures-util 0.3.30", + "target": "futures_util" + }, + { + "id": "http 0.2.12", + "target": "http" + }, + { + "id": "http-body 0.4.6", + "target": "http_body" + }, + { + "id": "hyper 0.14.30", + "target": "hyper" + }, + { + "id": "itoa 1.0.11", + "target": "itoa" + }, + { + "id": "matchit 0.7.3", + "target": "matchit" + }, + { + "id": "memchr 2.7.4", + "target": "memchr" + }, + { + "id": "mime 0.3.17", + "target": "mime" + }, + { + "id": "percent-encoding 2.3.1", + "target": "percent_encoding" + }, + { + "id": "pin-project-lite 0.2.14", + "target": "pin_project_lite" }, { "id": "serde 1.0.209", "target": "serde" }, { - "id": "serde_json 1.0.128", - "target": "serde_json" + "id": "sync_wrapper 0.1.2", + "target": "sync_wrapper" + }, + { + "id": "tower 0.4.13", + "target": "tower" }, { - "id": "ureq 2.10.1", - "target": "ureq" + "id": "tower-layer 0.3.2", + "target": "tower_layer" + }, + { + "id": "tower-service 0.3.2", + "target": "tower_service" } ], "selects": {} }, - "edition": "2018", - "version": "0.4.4" + "edition": "2021", + "proc_macro_deps": { + "common": [ + { + "id": "async-trait 0.1.81", + "target": "async_trait" + } + ], + "selects": {} + }, + "version": "0.6.20" }, "build_script_attrs": { "data_glob": [ "**" - ] - }, - "license": null - }, - "autocfg 1.3.0": { - "name": "autocfg", - "version": "1.3.0", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/autocfg/1.3.0/download", - "sha256": "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" - } - }, - "targets": [ - { - "Library": { - "crate_name": "autocfg", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "autocfg", - "common_attrs": { - "compile_data_glob": [ - "**" ], - "edition": "2015", - "version": "1.3.0" + "proc_macro_deps": { + "common": [ + { + "id": "rustversion 1.0.17", + "target": "rustversion" + } + ], + "selects": {} + } }, - "license": "Apache-2.0 OR MIT" + "license": "MIT" }, - "axum 0.6.20": { + "axum 0.7.5": { "name": "axum", - "version": "0.6.20", + "version": "0.7.5", "repository": { "Http": { - "url": "https://static.crates.io/crates/axum/0.6.20/download", - "sha256": "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" + "url": "https://static.crates.io/crates/axum/0.7.5/download", + "sha256": "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" } }, "targets": [ @@ -2523,20 +2500,31 @@ "compile_data_glob": [ "**" ], + "crate_features": { + "common": [ + "default", + "form", + "http1", + "json", + "matched-path", + "original-uri", + "query", + "tokio", + "tower-log", + "tracing" + ], + "selects": {} + }, "deps": { "common": [ { - "id": "axum 0.6.20", + "id": "axum 0.7.5", "target": "build_script_build" }, { - "id": "axum-core 0.3.4", + "id": "axum-core 0.4.3", "target": "axum_core" }, - { - "id": "bitflags 1.3.2", - "target": "bitflags" - }, { "id": "bytes 1.7.1", "target": "bytes" @@ -2546,178 +2534,24 @@ "target": "futures_util" }, { - "id": "http 0.2.12", + "id": "http 1.1.0", "target": "http" }, { - "id": "http-body 0.4.6", + "id": "http-body 1.0.1", "target": "http_body" }, { - "id": "hyper 0.14.30", + "id": "http-body-util 0.1.2", + "target": "http_body_util" + }, + { + "id": "hyper 1.4.1", "target": "hyper" - }, - { - "id": "itoa 1.0.11", - "target": "itoa" - }, - { - "id": "matchit 0.7.3", - "target": "matchit" - }, - { - "id": "memchr 2.7.4", - "target": "memchr" - }, - { - "id": "mime 0.3.17", - "target": "mime" - }, - { - "id": "percent-encoding 2.3.1", - "target": "percent_encoding" - }, - { - "id": "pin-project-lite 0.2.14", - "target": "pin_project_lite" - }, - { - "id": "serde 1.0.209", - "target": "serde" - }, - { - "id": "sync_wrapper 0.1.2", - "target": "sync_wrapper" - }, - { - "id": "tower 0.4.13", - "target": "tower" - }, - { - "id": "tower-layer 0.3.2", - "target": "tower_layer" - }, - { - "id": "tower-service 0.3.2", - "target": "tower_service" - } - ], - "selects": {} - }, - "edition": "2021", - "proc_macro_deps": { - "common": [ - { - "id": "async-trait 0.1.81", - "target": "async_trait" - } - ], - "selects": {} - }, - "version": "0.6.20" - }, - "build_script_attrs": { - "data_glob": [ - "**" - ], - "proc_macro_deps": { - "common": [ - { - "id": "rustversion 1.0.17", - "target": "rustversion" - } - ], - "selects": {} - } - }, - "license": "MIT" - }, - "axum 0.7.5": { - "name": "axum", - "version": "0.7.5", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/axum/0.7.5/download", - "sha256": "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" - } - }, - "targets": [ - { - "Library": { - "crate_name": "axum", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "axum", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "default", - "form", - "http1", - "json", - "matched-path", - "original-uri", - "query", - "tokio", - "tower-log", - "tracing" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "axum 0.7.5", - "target": "build_script_build" - }, - { - "id": "axum-core 0.4.3", - "target": "axum_core" - }, - { - "id": "bytes 1.7.1", - "target": "bytes" - }, - { - "id": "futures-util 0.3.30", - "target": "futures_util" - }, - { - "id": "http 1.1.0", - "target": "http" - }, - { - "id": "http-body 1.0.1", - "target": "http_body" - }, - { - "id": "http-body-util 0.1.2", - "target": "http_body_util" - }, - { - "id": "hyper 1.4.1", - "target": "hyper" - }, - { - "id": "hyper-util 0.1.7", - "target": "hyper_util" + }, + { + "id": "hyper-util 0.1.7", + "target": "hyper_util" }, { "id": "itoa 1.0.11", @@ -4816,120 +4650,6 @@ }, "license": "MIT OR Apache-2.0" }, - "bzip2 0.4.4": { - "name": "bzip2", - "version": "0.4.4", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/bzip2/0.4.4/download", - "sha256": "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" - } - }, - "targets": [ - { - "Library": { - "crate_name": "bzip2", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "bzip2", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "bzip2-sys 0.1.11+1.0.8", - "target": "bzip2_sys" - }, - { - "id": "libc 0.2.157", - "target": "libc" - } - ], - "selects": {} - }, - "edition": "2015", - "version": "0.4.4" - }, - "license": "MIT/Apache-2.0" - }, - "bzip2-sys 0.1.11+1.0.8": { - "name": "bzip2-sys", - "version": "0.1.11+1.0.8", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/bzip2-sys/0.1.11+1.0.8/download", - "sha256": "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" - } - }, - "targets": [ - { - "Library": { - "crate_name": "bzip2_sys", - "crate_root": "lib.rs", - "srcs": [ - "**/*.rs" - ] - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "bzip2_sys", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "bzip2-sys 0.1.11+1.0.8", - "target": "build_script_build" - }, - { - "id": "libc 0.2.157", - "target": "libc" - } - ], - "selects": {} - }, - "edition": "2015", - "version": "0.1.11+1.0.8" - }, - "build_script_attrs": { - "data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "cc 1.1.13", - "target": "cc" - }, - { - "id": "pkg-config 0.3.30", - "target": "pkg_config" - } - ], - "selects": {} - }, - "links": "bzip2" - }, - "license": "MIT/Apache-2.0" - }, "cached 0.49.3": { "name": "cached", "version": "0.49.3", @@ -5328,7 +5048,7 @@ "edition": "2021", "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "cargo-platform 0.1.8": { "name": "cargo-platform", @@ -5455,31 +5175,14 @@ "compile_data_glob": [ "**" ], - "crate_features": { - "common": [ - "parallel" - ], - "selects": {} - }, "deps": { "common": [ - { - "id": "jobserver 0.1.32", - "target": "jobserver" - }, { "id": "shlex 1.3.0", "target": "shlex" } ], - "selects": { - "cfg(unix)": [ - { - "id": "libc 0.2.157", - "target": "libc" - } - ] - } + "selects": {} }, "edition": "2018", "version": "1.1.13" @@ -5771,49 +5474,6 @@ }, "license": "Apache-2.0" }, - "cipher 0.4.4": { - "name": "cipher", - "version": "0.4.4", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/cipher/0.4.4/download", - "sha256": "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" - } - }, - "targets": [ - { - "Library": { - "crate_name": "cipher", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "cipher", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "crypto-common 0.1.6", - "target": "crypto_common" - }, - { - "id": "inout 0.1.3", - "target": "inout" - } - ], - "selects": {} - }, - "edition": "2021", - "version": "0.4.4" - }, - "license": "MIT OR Apache-2.0" - }, "clap 3.2.25": { "name": "clap", "version": "3.2.25", @@ -6809,7 +6469,7 @@ "edition": "2021", "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "console 0.15.8": { "name": "console", @@ -6907,36 +6567,6 @@ }, "license": "Apache-2.0 OR MIT" }, - "constant_time_eq 0.3.0": { - "name": "constant_time_eq", - "version": "0.3.0", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/constant_time_eq/0.3.0/download", - "sha256": "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" - } - }, - "targets": [ - { - "Library": { - "crate_name": "constant_time_eq", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "constant_time_eq", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "edition": "2021", - "version": "0.3.0" - }, - "license": "CC0-1.0 OR MIT-0 OR Apache-2.0" - }, "convert_case 0.4.0": { "name": "convert_case", "version": "0.4.0", @@ -7198,75 +6828,6 @@ }, "license": "MIT OR Apache-2.0" }, - "crc 3.2.1": { - "name": "crc", - "version": "3.2.1", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/crc/3.2.1/download", - "sha256": "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" - } - }, - "targets": [ - { - "Library": { - "crate_name": "crc", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "crc", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "crc-catalog 2.4.0", - "target": "crc_catalog" - } - ], - "selects": {} - }, - "edition": "2021", - "version": "3.2.1" - }, - "license": "MIT OR Apache-2.0" - }, - "crc-catalog 2.4.0": { - "name": "crc-catalog", - "version": "2.4.0", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/crc-catalog/2.4.0/download", - "sha256": "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" - } - }, - "targets": [ - { - "Library": { - "crate_name": "crc_catalog", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "crc_catalog", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "edition": "2018", - "version": "2.4.0" - }, - "license": "MIT OR Apache-2.0" - }, "crc32fast 1.4.2": { "name": "crc32fast", "version": "1.4.2", @@ -9335,36 +8896,6 @@ }, "license": null }, - "deflate64 0.1.9": { - "name": "deflate64", - "version": "0.1.9", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/deflate64/0.1.9/download", - "sha256": "da692b8d1080ea3045efaab14434d40468c3d8657e42abddfffca87b428f4c1b" - } - }, - "targets": [ - { - "Library": { - "crate_name": "deflate64", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "deflate64", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "edition": "2021", - "version": "0.1.9" - }, - "license": "MIT" - }, "der 0.7.9": { "name": "der", "version": "0.7.9", @@ -9547,205 +9078,6 @@ }, "license": "MIT OR Apache-2.0" }, - "derive_arbitrary 1.3.2": { - "name": "derive_arbitrary", - "version": "1.3.2", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/derive_arbitrary/1.3.2/download", - "sha256": "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" - } - }, - "targets": [ - { - "ProcMacro": { - "crate_name": "derive_arbitrary", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "derive_arbitrary", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "proc-macro2 1.0.86", - "target": "proc_macro2" - }, - { - "id": "quote 1.0.37", - "target": "quote" - }, - { - "id": "syn 2.0.76", - "target": "syn" - } - ], - "selects": {} - }, - "edition": "2021", - "version": "1.3.2" - }, - "license": "MIT/Apache-2.0" - }, - "derive_builder 0.20.1": { - "name": "derive_builder", - "version": "0.20.1", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/derive_builder/0.20.1/download", - "sha256": "cd33f37ee6a119146a1781d3356a7c26028f83d779b2e04ecd45fdc75c76877b" - } - }, - "targets": [ - { - "Library": { - "crate_name": "derive_builder", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "derive_builder", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "default", - "std" - ], - "selects": {} - }, - "edition": "2018", - "proc_macro_deps": { - "common": [ - { - "id": "derive_builder_macro 0.20.1", - "target": "derive_builder_macro" - } - ], - "selects": {} - }, - "version": "0.20.1" - }, - "license": "MIT OR Apache-2.0" - }, - "derive_builder_core 0.20.1": { - "name": "derive_builder_core", - "version": "0.20.1", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/derive_builder_core/0.20.1/download", - "sha256": "7431fa049613920234f22c47fdc33e6cf3ee83067091ea4277a3f8c4587aae38" - } - }, - "targets": [ - { - "Library": { - "crate_name": "derive_builder_core", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "derive_builder_core", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "lib_has_std" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "darling 0.20.10", - "target": "darling" - }, - { - "id": "proc-macro2 1.0.86", - "target": "proc_macro2" - }, - { - "id": "quote 1.0.37", - "target": "quote" - }, - { - "id": "syn 2.0.76", - "target": "syn" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "0.20.1" - }, - "license": "MIT OR Apache-2.0" - }, - "derive_builder_macro 0.20.1": { - "name": "derive_builder_macro", - "version": "0.20.1", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/derive_builder_macro/0.20.1/download", - "sha256": "4abae7035bf79b9877b779505d8cf3749285b80c43941eda66604841889451dc" - } - }, - "targets": [ - { - "ProcMacro": { - "crate_name": "derive_builder_macro", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "derive_builder_macro", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "lib_has_std" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "derive_builder_core 0.20.1", - "target": "derive_builder_core" - }, - { - "id": "syn 2.0.76", - "target": "syn" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "0.20.1" - }, - "license": "MIT OR Apache-2.0" - }, "derive_more 0.99.18": { "name": "derive_more", "version": "0.99.18", @@ -10327,45 +9659,6 @@ }, "license": "MIT OR Apache-2.0" }, - "directories 5.0.1": { - "name": "directories", - "version": "5.0.1", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/directories/5.0.1/download", - "sha256": "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" - } - }, - "targets": [ - { - "Library": { - "crate_name": "directories", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "directories", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "dirs-sys 0.4.1", - "target": "dirs_sys" - } - ], - "selects": {} - }, - "edition": "2015", - "version": "5.0.1" - }, - "license": "MIT OR Apache-2.0" - }, "dirs 5.0.1": { "name": "dirs", "version": "5.0.1", @@ -10848,10 +10141,6 @@ "id": "futures-util 0.3.30", "target": "futures_util" }, - { - "id": "headless_chrome 1.0.14", - "target": "headless_chrome" - }, { "id": "human_bytes 0.4.3", "target": "human_bytes" @@ -11074,7 +10363,7 @@ "selects": {} } }, - "license": null + "license": "Apache-2.0" }, "dyn-clone 1.0.17": { "name": "dyn-clone", @@ -12622,75 +11911,6 @@ }, "license": "Apache-2.0 / MIT" }, - "foreign-types 0.3.2": { - "name": "foreign-types", - "version": "0.3.2", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/foreign-types/0.3.2/download", - "sha256": "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" - } - }, - "targets": [ - { - "Library": { - "crate_name": "foreign_types", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "foreign_types", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "foreign-types-shared 0.1.1", - "target": "foreign_types_shared" - } - ], - "selects": {} - }, - "edition": "2015", - "version": "0.3.2" - }, - "license": "MIT/Apache-2.0" - }, - "foreign-types-shared 0.1.1": { - "name": "foreign-types-shared", - "version": "0.1.1", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/foreign-types-shared/0.1.1/download", - "sha256": "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - } - }, - "targets": [ - { - "Library": { - "crate_name": "foreign_types_shared", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "foreign_types_shared", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "edition": "2015", - "version": "0.1.1" - }, - "license": "MIT/Apache-2.0" - }, "form_urlencoded 1.2.1": { "name": "form_urlencoded", "version": "1.2.1", @@ -14095,165 +13315,6 @@ }, "license": "MIT/Apache-2.0" }, - "headless_chrome 1.0.14": { - "name": "headless_chrome", - "version": "1.0.14", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/headless_chrome/1.0.14/download", - "sha256": "e1eb54284cb4be609bae1375e08e7737752fd5f919f918345359b51b38b7b9ce" - } - }, - "targets": [ - { - "Library": { - "crate_name": "headless_chrome", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "headless_chrome", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "directories", - "fetch", - "ureq", - "walkdir", - "zip" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "anyhow 1.0.86", - "target": "anyhow" - }, - { - "id": "base64 0.22.1", - "target": "base64" - }, - { - "id": "derive_builder 0.20.1", - "target": "derive_builder" - }, - { - "id": "directories 5.0.1", - "target": "directories" - }, - { - "id": "headless_chrome 1.0.14", - "target": "build_script_build" - }, - { - "id": "log 0.4.22", - "target": "log" - }, - { - "id": "rand 0.8.5", - "target": "rand" - }, - { - "id": "regex 1.10.6", - "target": "regex" - }, - { - "id": "serde 1.0.209", - "target": "serde" - }, - { - "id": "serde_json 1.0.128", - "target": "serde_json" - }, - { - "id": "tempfile 3.12.0", - "target": "tempfile" - }, - { - "id": "thiserror 1.0.63", - "target": "thiserror" - }, - { - "id": "tungstenite 0.24.0", - "target": "tungstenite" - }, - { - "id": "ureq 2.10.1", - "target": "ureq" - }, - { - "id": "url 2.5.2", - "target": "url" - }, - { - "id": "walkdir 2.5.0", - "target": "walkdir" - }, - { - "id": "which 6.0.3", - "target": "which" - }, - { - "id": "zip 2.2.0", - "target": "zip" - } - ], - "selects": { - "cfg(windows)": [ - { - "id": "winreg 0.52.0", - "target": "winreg" - } - ] - } - }, - "edition": "2021", - "rustc_env": { - "common": { - "DO_NOT_FORMAT": "1" - }, - "selects": {} - }, - "version": "1.0.14" - }, - "build_script_attrs": { - "data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "auto_generate_cdp 0.4.4", - "target": "auto_generate_cdp" - } - ], - "selects": {} - }, - "build_script_env": { - "common": { - "DO_NOT_FORMAT": "1" - }, - "selects": {} - } - }, - "license": "MIT" - }, "heck 0.3.3": { "name": "heck", "version": "0.3.3", @@ -15633,64 +14694,9 @@ "deps": { "common": [ { - "id": "hyper 0.14.30", - "target": "hyper" - }, - { - "id": "pin-project-lite 0.2.14", - "target": "pin_project_lite" - }, - { - "id": "tokio 1.40.0", - "target": "tokio" - }, - { - "id": "tokio-io-timeout 1.2.0", - "target": "tokio_io_timeout" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "0.4.1" - }, - "license": "MIT/Apache-2.0" - }, - "hyper-timeout 0.5.1": { - "name": "hyper-timeout", - "version": "0.5.1", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/hyper-timeout/0.5.1/download", - "sha256": "3203a961e5c83b6f5498933e78b6b263e208c197b63e9c6c53cc82ffd3f63793" - } - }, - "targets": [ - { - "Library": { - "crate_name": "hyper_timeout", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "hyper_timeout", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "hyper 1.4.1", + "id": "hyper 0.14.30", "target": "hyper" }, - { - "id": "hyper-util 0.1.7", - "target": "hyper_util" - }, { "id": "pin-project-lite 0.2.14", "target": "pin_project_lite" @@ -15700,30 +14706,30 @@ "target": "tokio" }, { - "id": "tower-service 0.3.2", - "target": "tower_service" + "id": "tokio-io-timeout 1.2.0", + "target": "tokio_io_timeout" } ], "selects": {} }, "edition": "2018", - "version": "0.5.1" + "version": "0.4.1" }, - "license": "MIT OR Apache-2.0" + "license": "MIT/Apache-2.0" }, - "hyper-tls 0.6.0": { - "name": "hyper-tls", - "version": "0.6.0", + "hyper-timeout 0.5.1": { + "name": "hyper-timeout", + "version": "0.5.1", "repository": { "Http": { - "url": "https://static.crates.io/crates/hyper-tls/0.6.0/download", - "sha256": "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" + "url": "https://static.crates.io/crates/hyper-timeout/0.5.1/download", + "sha256": "3203a961e5c83b6f5498933e78b6b263e208c197b63e9c6c53cc82ffd3f63793" } }, "targets": [ { "Library": { - "crate_name": "hyper_tls", + "crate_name": "hyper_timeout", "crate_root": "src/lib.rs", "srcs": [ "**/*.rs" @@ -15731,21 +14737,13 @@ } } ], - "library_target_name": "hyper_tls", + "library_target_name": "hyper_timeout", "common_attrs": { "compile_data_glob": [ "**" ], "deps": { "common": [ - { - "id": "bytes 1.7.1", - "target": "bytes" - }, - { - "id": "http-body-util 0.1.2", - "target": "http_body_util" - }, { "id": "hyper 1.4.1", "target": "hyper" @@ -15755,17 +14753,13 @@ "target": "hyper_util" }, { - "id": "native-tls 0.2.12", - "target": "native_tls" + "id": "pin-project-lite 0.2.14", + "target": "pin_project_lite" }, { "id": "tokio 1.40.0", "target": "tokio" }, - { - "id": "tokio-native-tls 0.3.1", - "target": "tokio_native_tls" - }, { "id": "tower-service 0.3.2", "target": "tower_service" @@ -15774,9 +14768,9 @@ "selects": {} }, "edition": "2018", - "version": "0.6.0" + "version": "0.5.1" }, - "license": "MIT/Apache-2.0" + "license": "MIT OR Apache-2.0" }, "hyper-util 0.1.7": { "name": "hyper-util", @@ -17068,7 +16062,7 @@ "edition": "2021", "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "ic-canisters-http-types 0.9.0": { "name": "ic-canisters-http-types", @@ -20918,7 +19912,7 @@ }, "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "ic-management-canister-types 0.9.0": { "name": "ic-management-canister-types", @@ -21129,7 +20123,7 @@ }, "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "ic-metrics 0.9.0": { "name": "ic-metrics", @@ -27680,45 +26674,6 @@ }, "license": "MIT" }, - "inout 0.1.3": { - "name": "inout", - "version": "0.1.3", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/inout/0.1.3/download", - "sha256": "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" - } - }, - "targets": [ - { - "Library": { - "crate_name": "inout", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "inout", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "generic-array 0.14.7", - "target": "generic_array" - } - ], - "selects": {} - }, - "edition": "2021", - "version": "0.1.3" - }, - "license": "MIT OR Apache-2.0" - }, "instant 0.1.13": { "name": "instant", "version": "0.1.13", @@ -28089,47 +27044,6 @@ }, "license": "MIT OR Apache-2.0" }, - "jobserver 0.1.32": { - "name": "jobserver", - "version": "0.1.32", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/jobserver/0.1.32/download", - "sha256": "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" - } - }, - "targets": [ - { - "Library": { - "crate_name": "jobserver", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "jobserver", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [], - "selects": { - "cfg(unix)": [ - { - "id": "libc 0.2.157", - "target": "libc" - } - ] - } - }, - "edition": "2021", - "version": "0.1.32" - }, - "license": "MIT OR Apache-2.0" - }, "js-sys 0.3.69": { "name": "js-sys", "version": "0.3.69", @@ -29321,36 +28235,6 @@ }, "license": "MIT OR Apache-2.0" }, - "lockfree-object-pool 0.1.6": { - "name": "lockfree-object-pool", - "version": "0.1.6", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/lockfree-object-pool/0.1.6/download", - "sha256": "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" - } - }, - "targets": [ - { - "Library": { - "crate_name": "lockfree_object_pool", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "lockfree_object_pool", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "edition": "2021", - "version": "0.1.6" - }, - "license": "BSL-1.0" - }, "log 0.4.22": { "name": "log", "version": "0.4.22", @@ -29441,7 +28325,7 @@ "edition": "2021", "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "log-noise-filter-backend 0.5.3": { "name": "log-noise-filter-backend", @@ -29507,7 +28391,7 @@ "edition": "2021", "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "log-noise-filter-downloader 0.5.3": { "name": "log-noise-filter-downloader", @@ -29567,57 +28451,7 @@ "edition": "2021", "version": "0.5.3" }, - "license": null - }, - "lzma-rs 0.3.0": { - "name": "lzma-rs", - "version": "0.3.0", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/lzma-rs/0.3.0/download", - "sha256": "297e814c836ae64db86b36cf2a557ba54368d03f6afcd7d947c266692f71115e" - } - }, - "targets": [ - { - "Library": { - "crate_name": "lzma_rs", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "lzma_rs", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "raw_decoder", - "stream" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "byteorder 1.5.0", - "target": "byteorder" - }, - { - "id": "crc 3.2.1", - "target": "crc" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "0.3.0" - }, - "license": "MIT" + "license": "Apache-2.0" }, "lzma-sys 0.1.20": { "name": "lzma-sys", @@ -30475,7 +29309,7 @@ "edition": "2021", "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "multiservice-discovery-downloader 0.5.3": { "name": "multiservice-discovery-downloader", @@ -30547,7 +29381,7 @@ "edition": "2021", "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "multiservice-discovery-shared 0.5.3": { "name": "multiservice-discovery-shared", @@ -30601,116 +29435,7 @@ "edition": "2021", "version": "0.5.3" }, - "license": null - }, - "native-tls 0.2.12": { - "name": "native-tls", - "version": "0.2.12", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/native-tls/0.2.12/download", - "sha256": "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" - } - }, - "targets": [ - { - "Library": { - "crate_name": "native_tls", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "native_tls", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "native-tls 0.2.12", - "target": "build_script_build" - } - ], - "selects": { - "cfg(not(any(target_os = \"windows\", target_vendor = \"apple\")))": [ - { - "id": "log 0.4.22", - "target": "log" - }, - { - "id": "openssl 0.10.66", - "target": "openssl" - }, - { - "id": "openssl-probe 0.1.5", - "target": "openssl_probe" - }, - { - "id": "openssl-sys 0.9.103", - "target": "openssl_sys" - } - ], - "cfg(target_os = \"macos\")": [ - { - "id": "tempfile 3.12.0", - "target": "tempfile" - } - ], - "cfg(target_os = \"windows\")": [ - { - "id": "schannel 0.1.23", - "target": "schannel" - } - ], - "cfg(target_vendor = \"apple\")": [ - { - "id": "libc 0.2.157", - "target": "libc" - }, - { - "id": "security-framework 2.11.1", - "target": "security_framework" - }, - { - "id": "security-framework-sys 2.11.1", - "target": "security_framework_sys" - } - ] - } - }, - "edition": "2015", - "version": "0.2.12" - }, - "build_script_attrs": { - "data_glob": [ - "**" - ], - "link_deps": { - "common": [], - "selects": { - "cfg(not(any(target_os = \"windows\", target_vendor = \"apple\")))": [ - { - "id": "openssl-sys 0.9.103", - "target": "openssl_sys" - } - ] - } - } - }, - "license": "MIT OR Apache-2.0" + "license": "Apache-2.0" }, "nix 0.24.3": { "name": "nix", @@ -30883,7 +29608,7 @@ "edition": "2021", "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "nom 7.1.3": { "name": "nom", @@ -31035,7 +29760,7 @@ "edition": "2021", "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "nu-ansi-term 0.46.0": { "name": "nu-ansi-term", @@ -31892,7 +30617,7 @@ "edition": "2021", "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "octocrab 0.39.0": { "name": "octocrab", @@ -32249,162 +30974,6 @@ }, "license": "MIT OR Apache-2.0" }, - "openssl 0.10.66": { - "name": "openssl", - "version": "0.10.66", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/openssl/0.10.66/download", - "sha256": "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" - } - }, - "targets": [ - { - "Library": { - "crate_name": "openssl", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "openssl", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "default" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "bitflags 2.6.0", - "target": "bitflags" - }, - { - "id": "cfg-if 1.0.0", - "target": "cfg_if" - }, - { - "id": "foreign-types 0.3.2", - "target": "foreign_types" - }, - { - "id": "libc 0.2.157", - "target": "libc" - }, - { - "id": "once_cell 1.19.0", - "target": "once_cell" - }, - { - "id": "openssl 0.10.66", - "target": "build_script_build" - }, - { - "id": "openssl-sys 0.9.103", - "target": "openssl_sys", - "alias": "ffi" - } - ], - "selects": {} - }, - "extra_deps": { - "common": [ - "@openssl//:openssl" - ], - "selects": {} - }, - "edition": "2018", - "proc_macro_deps": { - "common": [ - { - "id": "openssl-macros 0.1.1", - "target": "openssl_macros" - } - ], - "selects": {} - }, - "version": "0.10.66" - }, - "build_script_attrs": { - "data_glob": [ - "**" - ], - "link_deps": { - "common": [ - { - "id": "openssl-sys 0.9.103", - "target": "openssl_sys", - "alias": "ffi" - } - ], - "selects": {} - } - }, - "license": "Apache-2.0" - }, - "openssl-macros 0.1.1": { - "name": "openssl-macros", - "version": "0.1.1", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/openssl-macros/0.1.1/download", - "sha256": "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" - } - }, - "targets": [ - { - "ProcMacro": { - "crate_name": "openssl_macros", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "openssl_macros", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "proc-macro2 1.0.86", - "target": "proc_macro2" - }, - { - "id": "quote 1.0.37", - "target": "quote" - }, - { - "id": "syn 2.0.76", - "target": "syn" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "0.1.1" - }, - "license": "MIT/Apache-2.0" - }, "openssl-probe 0.1.5": { "name": "openssl-probe", "version": "0.1.5", @@ -32430,98 +30999,11 @@ "compile_data_glob": [ "**" ], - "extra_deps": { - "common": [ - "@openssl//:openssl" - ], - "selects": {} - }, "edition": "2015", "version": "0.1.5" }, "license": "MIT/Apache-2.0" }, - "openssl-sys 0.9.103": { - "name": "openssl-sys", - "version": "0.9.103", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/openssl-sys/0.9.103/download", - "sha256": "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" - } - }, - "targets": [ - { - "Library": { - "crate_name": "openssl_sys", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - }, - { - "BuildScript": { - "crate_name": "build_script_main", - "crate_root": "build/main.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "openssl_sys", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "libc 0.2.157", - "target": "libc" - }, - { - "id": "openssl-sys 0.9.103", - "target": "build_script_main" - } - ], - "selects": {} - }, - "extra_deps": { - "common": [ - "@openssl//:openssl" - ], - "selects": {} - }, - "edition": "2018", - "version": "0.9.103" - }, - "build_script_attrs": { - "data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "cc 1.1.13", - "target": "cc" - }, - { - "id": "pkg-config 0.3.30", - "target": "pkg_config" - }, - { - "id": "vcpkg 0.2.15", - "target": "vcpkg" - } - ], - "selects": {} - }, - "links": "openssl" - }, - "license": "MIT" - }, "opentelemetry 0.22.0": { "name": "opentelemetry", "version": "0.22.0", @@ -33314,56 +31796,6 @@ }, "license": "MIT OR Apache-2.0" }, - "pbkdf2 0.12.2": { - "name": "pbkdf2", - "version": "0.12.2", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/pbkdf2/0.12.2/download", - "sha256": "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" - } - }, - "targets": [ - { - "Library": { - "crate_name": "pbkdf2", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "pbkdf2", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "default", - "hmac" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "digest 0.10.7", - "target": "digest" - }, - { - "id": "hmac 0.12.1", - "target": "hmac" - } - ], - "selects": {} - }, - "edition": "2021", - "version": "0.12.2" - }, - "license": "MIT OR Apache-2.0" - }, "pem 1.1.1": { "name": "pem", "version": "1.1.1", @@ -35371,7 +33803,7 @@ "edition": "2021", "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "prometheus-http-query 0.8.3": { "name": "prometheus-http-query", @@ -35400,7 +33832,6 @@ ], "crate_features": { "common": [ - "default", "rustls-tls-webpki-roots" ], "selects": {} @@ -36031,7 +34462,7 @@ "edition": "2021", "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "quick-xml 0.23.1": { "name": "quick-xml", @@ -37502,7 +35933,6 @@ "__rustls-ring", "__tls", "blocking", - "default-tls", "json", "rustls-tls", "rustls-tls-webpki-roots", @@ -37579,10 +36009,6 @@ "id": "hyper-rustls 0.27.2", "target": "hyper_rustls" }, - { - "id": "hyper-tls 0.6.0", - "target": "hyper_tls" - }, { "id": "hyper-util 0.1.7", "target": "hyper_util" @@ -37599,11 +36025,6 @@ "id": "mime 0.3.17", "target": "mime" }, - { - "id": "native-tls 0.2.12", - "target": "native_tls", - "alias": "native_tls_crate" - }, { "id": "once_cell 1.19.0", "target": "once_cell" @@ -37632,10 +36053,6 @@ "id": "tokio 1.40.0", "target": "tokio" }, - { - "id": "tokio-native-tls 0.3.1", - "target": "tokio_native_tls" - }, { "id": "tokio-rustls 0.26.0", "target": "tokio_rustls" @@ -38146,7 +36563,7 @@ "edition": "2021", "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "rstest 0.22.0": { "name": "rstest", @@ -38825,8 +37242,6 @@ ], "crate_features": { "common": [ - "log", - "logging", "ring", "std", "tls12" @@ -38835,10 +37250,6 @@ }, "deps": { "common": [ - { - "id": "log 0.4.22", - "target": "log" - }, { "id": "once_cell 1.19.0", "target": "once_cell" @@ -39660,8 +38071,7 @@ "OSX_10_10", "OSX_10_11", "OSX_10_12", - "OSX_10_9", - "default" + "OSX_10_9" ], "selects": {} }, @@ -39770,7 +38180,7 @@ "crate_features": { "common": [ "archive-tar", - "default", + "rustls", "tar" ], "selects": {} @@ -40748,7 +39158,7 @@ "edition": "2021", "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "sha1 0.10.6": { "name": "sha1", @@ -41126,42 +39536,6 @@ }, "license": "Apache-2.0 OR MIT" }, - "simd-adler32 0.3.7": { - "name": "simd-adler32", - "version": "0.3.7", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/simd-adler32/0.3.7/download", - "sha256": "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" - } - }, - "targets": [ - { - "Library": { - "crate_name": "simd_adler32", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "simd_adler32", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "std" - ], - "selects": {} - }, - "edition": "2018", - "version": "0.3.7" - }, - "license": "MIT" - }, "simdutf8 0.1.4": { "name": "simdutf8", "version": "0.1.4", @@ -41414,7 +39788,7 @@ "edition": "2021", "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "slog 2.7.0": { "name": "slog", @@ -42008,7 +40382,7 @@ "edition": "2021", "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "socket2 0.5.7": { "name": "socket2", @@ -42063,58 +40437,6 @@ }, "license": "MIT OR Apache-2.0" }, - "socks 0.3.4": { - "name": "socks", - "version": "0.3.4", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/socks/0.3.4/download", - "sha256": "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b" - } - }, - "targets": [ - { - "Library": { - "crate_name": "socks", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "socks", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "byteorder 1.5.0", - "target": "byteorder" - } - ], - "selects": { - "cfg(unix)": [ - { - "id": "libc 0.2.157", - "target": "libc" - } - ], - "cfg(windows)": [ - { - "id": "winapi 0.3.9", - "target": "winapi" - } - ] - } - }, - "edition": "2015", - "version": "0.3.4" - }, - "license": "MIT/Apache-2.0" - }, "spin 0.9.8": { "name": "spin", "version": "0.9.8", @@ -44434,49 +42756,6 @@ }, "license": "MIT" }, - "tokio-native-tls 0.3.1": { - "name": "tokio-native-tls", - "version": "0.3.1", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/tokio-native-tls/0.3.1/download", - "sha256": "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" - } - }, - "targets": [ - { - "Library": { - "crate_name": "tokio_native_tls", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "tokio_native_tls", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "native-tls 0.2.12", - "target": "native_tls" - }, - { - "id": "tokio 1.40.0", - "target": "tokio" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "0.3.1" - }, - "license": "MIT" - }, "tokio-rustls 0.25.0": { "name": "tokio-rustls", "version": "0.25.0", @@ -45709,7 +43988,7 @@ }, "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "trustworthy-node-metrics-types 0.5.3": { "name": "trustworthy-node-metrics-types", @@ -45763,7 +44042,7 @@ "edition": "2021", "version": "0.5.3" }, - "license": null + "license": "Apache-2.0" }, "try-lock 0.2.5": { "name": "try-lock", @@ -45795,92 +44074,6 @@ }, "license": "MIT" }, - "tungstenite 0.24.0": { - "name": "tungstenite", - "version": "0.24.0", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/tungstenite/0.24.0/download", - "sha256": "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" - } - }, - "targets": [ - { - "Library": { - "crate_name": "tungstenite", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "tungstenite", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "data-encoding", - "default", - "handshake", - "http", - "httparse", - "sha1" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "byteorder 1.5.0", - "target": "byteorder" - }, - { - "id": "bytes 1.7.1", - "target": "bytes" - }, - { - "id": "data-encoding 2.6.0", - "target": "data_encoding" - }, - { - "id": "http 1.1.0", - "target": "http" - }, - { - "id": "httparse 1.9.4", - "target": "httparse" - }, - { - "id": "log 0.4.22", - "target": "log" - }, - { - "id": "rand 0.8.5", - "target": "rand" - }, - { - "id": "sha1 0.10.6", - "target": "sha1" - }, - { - "id": "thiserror 1.0.63", - "target": "thiserror" - }, - { - "id": "utf-8 0.7.6", - "target": "utf8" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "0.24.0" - }, - "license": "MIT OR Apache-2.0" - }, "typed-arena 2.0.2": { "name": "typed-arena", "version": "2.0.2", @@ -46275,87 +44468,6 @@ }, "license": "ISC" }, - "ureq 2.10.1": { - "name": "ureq", - "version": "2.10.1", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/ureq/2.10.1/download", - "sha256": "b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a" - } - }, - "targets": [ - { - "Library": { - "crate_name": "ureq", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "ureq", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "default", - "gzip", - "proxy-from-env", - "socks-proxy", - "tls" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "base64 0.22.1", - "target": "base64" - }, - { - "id": "flate2 1.0.33", - "target": "flate2" - }, - { - "id": "log 0.4.22", - "target": "log" - }, - { - "id": "once_cell 1.19.0", - "target": "once_cell" - }, - { - "id": "rustls 0.23.12", - "target": "rustls" - }, - { - "id": "rustls-pki-types 1.8.0", - "target": "rustls_pki_types" - }, - { - "id": "socks 0.3.4", - "target": "socks" - }, - { - "id": "url 2.5.2", - "target": "url" - }, - { - "id": "webpki-roots 0.26.3", - "target": "webpki_roots" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "2.10.1" - }, - "license": "MIT OR Apache-2.0" - }, "url 2.5.2": { "name": "url", "version": "2.5.2", @@ -46444,36 +44556,6 @@ }, "license": "MIT" }, - "utf-8 0.7.6": { - "name": "utf-8", - "version": "0.7.6", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/utf-8/0.7.6/download", - "sha256": "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - } - }, - "targets": [ - { - "Library": { - "crate_name": "utf8", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "utf8", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "edition": "2015", - "version": "0.7.6" - }, - "license": "MIT OR Apache-2.0" - }, "utf16_iter 1.0.5": { "name": "utf16_iter", "version": "1.0.5", @@ -46706,36 +44788,6 @@ }, "license": "MIT" }, - "vcpkg 0.2.15": { - "name": "vcpkg", - "version": "0.2.15", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/vcpkg/0.2.15/download", - "sha256": "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - } - }, - "targets": [ - { - "Library": { - "crate_name": "vcpkg", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "vcpkg", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "edition": "2015", - "version": "0.2.15" - }, - "license": "MIT/Apache-2.0" - }, "version_check 0.9.5": { "name": "version_check", "version": "0.9.5", @@ -47756,64 +45808,6 @@ }, "license": "MIT" }, - "which 6.0.3": { - "name": "which", - "version": "6.0.3", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/which/6.0.3/download", - "sha256": "b4ee928febd44d98f2f459a4a79bd4d928591333a494a10a868418ac1b39cf1f" - } - }, - "targets": [ - { - "Library": { - "crate_name": "which", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "which", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "either 1.13.0", - "target": "either" - } - ], - "selects": { - "cfg(any(unix, target_os = \"wasi\", target_os = \"redox\"))": [ - { - "id": "rustix 0.38.34", - "target": "rustix" - } - ], - "cfg(any(windows, unix, target_os = \"redox\"))": [ - { - "id": "home 0.5.9", - "target": "home" - } - ], - "cfg(windows)": [ - { - "id": "winsafe 0.0.19", - "target": "winsafe" - } - ] - } - }, - "edition": "2021", - "version": "6.0.3" - }, - "license": "MIT" - }, "winapi 0.3.9": { "name": "winapi", "version": "0.3.9", @@ -48386,14 +46380,10 @@ "Win32_System", "Win32_System_Com", "Win32_System_Console", - "Win32_System_Diagnostics", - "Win32_System_Diagnostics_Debug", "Win32_System_Environment", "Win32_System_LibraryLoader", "Win32_System_Memory", - "Win32_System_Registry", "Win32_System_Threading", - "Win32_System_Time", "Win32_UI", "Win32_UI_Shell", "default" @@ -49901,85 +47891,6 @@ }, "license": "MIT" }, - "winreg 0.52.0": { - "name": "winreg", - "version": "0.52.0", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/winreg/0.52.0/download", - "sha256": "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" - } - }, - "targets": [ - { - "Library": { - "crate_name": "winreg", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "winreg", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "cfg-if 1.0.0", - "target": "cfg_if" - }, - { - "id": "windows-sys 0.48.0", - "target": "windows_sys" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "0.52.0" - }, - "license": "MIT" - }, - "winsafe 0.0.19": { - "name": "winsafe", - "version": "0.0.19", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/winsafe/0.0.19/download", - "sha256": "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" - } - }, - "targets": [ - { - "Library": { - "crate_name": "winsafe", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "winsafe", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "kernel" - ], - "selects": {} - }, - "edition": "2021", - "version": "0.0.19" - }, - "license": "MIT" - }, "wiremock 0.6.1": { "name": "wiremock", "version": "0.6.1", @@ -50938,180 +48849,6 @@ }, "license": "Unicode-3.0" }, - "zip 2.2.0": { - "name": "zip", - "version": "2.2.0", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/zip/2.2.0/download", - "sha256": "dc5e4288ea4057ae23afc69a4472434a87a2495cafce6632fd1c4ec9f5cf3494" - } - }, - "targets": [ - { - "Library": { - "crate_name": "zip", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "src/build.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "zip", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "_deflate-any", - "aes", - "aes-crypto", - "bzip2", - "constant_time_eq", - "default", - "deflate", - "deflate-flate2", - "deflate-zopfli", - "deflate64", - "flate2", - "hmac", - "lzma", - "lzma-rs", - "pbkdf2", - "rand", - "sha1", - "time", - "xz", - "zeroize", - "zopfli", - "zstd" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "aes 0.8.4", - "target": "aes" - }, - { - "id": "bzip2 0.4.4", - "target": "bzip2" - }, - { - "id": "constant_time_eq 0.3.0", - "target": "constant_time_eq" - }, - { - "id": "crc32fast 1.4.2", - "target": "crc32fast" - }, - { - "id": "deflate64 0.1.9", - "target": "deflate64" - }, - { - "id": "flate2 1.0.33", - "target": "flate2" - }, - { - "id": "hmac 0.12.1", - "target": "hmac" - }, - { - "id": "indexmap 2.5.0", - "target": "indexmap" - }, - { - "id": "lzma-rs 0.3.0", - "target": "lzma_rs" - }, - { - "id": "memchr 2.7.4", - "target": "memchr" - }, - { - "id": "pbkdf2 0.12.2", - "target": "pbkdf2" - }, - { - "id": "rand 0.8.5", - "target": "rand" - }, - { - "id": "sha1 0.10.6", - "target": "sha1" - }, - { - "id": "thiserror 1.0.63", - "target": "thiserror" - }, - { - "id": "time 0.3.36", - "target": "time" - }, - { - "id": "zeroize 1.8.1", - "target": "zeroize" - }, - { - "id": "zip 2.2.0", - "target": "build_script_build" - }, - { - "id": "zopfli 0.8.1", - "target": "zopfli" - }, - { - "id": "zstd 0.13.2", - "target": "zstd" - } - ], - "selects": { - "cfg(any(all(target_arch = \"arm\", target_pointer_width = \"32\"), target_arch = \"mips\", target_arch = \"powerpc\"))": [ - { - "id": "crossbeam-utils 0.8.20", - "target": "crossbeam_utils" - } - ], - "cfg(fuzzing)": [ - { - "id": "arbitrary 1.3.2", - "target": "arbitrary" - } - ] - } - }, - "edition": "2021", - "proc_macro_deps": { - "common": [ - { - "id": "displaydoc 0.2.5", - "target": "displaydoc" - } - ], - "selects": {} - }, - "version": "2.2.0" - }, - "build_script_attrs": { - "data_glob": [ - "**" - ] - }, - "license": "MIT" - }, "zipsign-api 0.1.2": { "name": "zipsign-api", "version": "0.1.2", @@ -51158,258 +48895,6 @@ "version": "0.1.2" }, "license": "Apache-2.0 WITH LLVM-exception" - }, - "zopfli 0.8.1": { - "name": "zopfli", - "version": "0.8.1", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/zopfli/0.8.1/download", - "sha256": "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" - } - }, - "targets": [ - { - "Library": { - "crate_name": "zopfli", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "zopfli", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "default", - "gzip", - "std", - "zlib" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "bumpalo 3.16.0", - "target": "bumpalo" - }, - { - "id": "crc32fast 1.4.2", - "target": "crc32fast" - }, - { - "id": "lockfree-object-pool 0.1.6", - "target": "lockfree_object_pool" - }, - { - "id": "log 0.4.22", - "target": "log" - }, - { - "id": "once_cell 1.19.0", - "target": "once_cell" - }, - { - "id": "simd-adler32 0.3.7", - "target": "simd_adler32" - } - ], - "selects": {} - }, - "edition": "2021", - "version": "0.8.1" - }, - "license": "Apache-2.0" - }, - "zstd 0.13.2": { - "name": "zstd", - "version": "0.13.2", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/zstd/0.13.2/download", - "sha256": "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" - } - }, - "targets": [ - { - "Library": { - "crate_name": "zstd", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "zstd", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "zstd-safe 7.2.0", - "target": "zstd_safe" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "0.13.2" - }, - "license": "MIT" - }, - "zstd-safe 7.2.0": { - "name": "zstd-safe", - "version": "7.2.0", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/zstd-safe/7.2.0/download", - "sha256": "fa556e971e7b568dc775c136fc9de8c779b1c2fc3a63defaafadffdbd3181afa" - } - }, - "targets": [ - { - "Library": { - "crate_name": "zstd_safe", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "zstd_safe", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "std" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "zstd-safe 7.2.0", - "target": "build_script_build" - }, - { - "id": "zstd-sys 2.0.12+zstd.1.5.6", - "target": "zstd_sys" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "7.2.0" - }, - "build_script_attrs": { - "data_glob": [ - "**" - ], - "link_deps": { - "common": [ - { - "id": "zstd-sys 2.0.12+zstd.1.5.6", - "target": "zstd_sys" - } - ], - "selects": {} - } - }, - "license": "MIT/Apache-2.0" - }, - "zstd-sys 2.0.12+zstd.1.5.6": { - "name": "zstd-sys", - "version": "2.0.12+zstd.1.5.6", - "repository": { - "Http": { - "url": "https://static.crates.io/crates/zstd-sys/2.0.12+zstd.1.5.6/download", - "sha256": "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" - } - }, - "targets": [ - { - "Library": { - "crate_name": "zstd_sys", - "crate_root": "src/lib.rs", - "srcs": [ - "**/*.rs" - ] - } - }, - { - "BuildScript": { - "crate_name": "build_script_build", - "crate_root": "build.rs", - "srcs": [ - "**/*.rs" - ] - } - } - ], - "library_target_name": "zstd_sys", - "common_attrs": { - "compile_data_glob": [ - "**" - ], - "crate_features": { - "common": [ - "std" - ], - "selects": {} - }, - "deps": { - "common": [ - { - "id": "zstd-sys 2.0.12+zstd.1.5.6", - "target": "build_script_build" - } - ], - "selects": {} - }, - "edition": "2018", - "version": "2.0.12+zstd.1.5.6" - }, - "build_script_attrs": { - "data_glob": [ - "**" - ], - "deps": { - "common": [ - { - "id": "cc 1.1.13", - "target": "cc" - }, - { - "id": "pkg-config 0.3.30", - "target": "pkg_config" - } - ], - "selects": {} - }, - "links": "zstd" - }, - "license": "MIT/Apache-2.0" } }, "binary_crates": [], @@ -51595,14 +49080,6 @@ "x86_64-unknown-linux-gnu" ], "cfg(any())": [], - "cfg(any(all(target_arch = \"arm\", target_pointer_width = \"32\"), target_arch = \"mips\", target_arch = \"powerpc\"))": [ - "arm-unknown-linux-gnueabi", - "armv7-linux-androideabi", - "armv7-unknown-linux-gnueabi", - "powerpc-unknown-linux-gnu", - "thumbv7em-none-eabi", - "thumbv8m.main-none-eabi" - ], "cfg(any(target_arch = \"aarch64\", target_arch = \"arm\", target_arch = \"x86\", target_arch = \"x86_64\"))": [ "aarch64-apple-darwin", "aarch64-apple-ios", @@ -51737,30 +49214,6 @@ "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu" ], - "cfg(any(unix, target_os = \"wasi\", target_os = \"redox\"))": [ - "aarch64-apple-darwin", - "aarch64-apple-ios", - "aarch64-apple-ios-sim", - "aarch64-fuchsia", - "aarch64-linux-android", - "aarch64-unknown-linux-gnu", - "arm-unknown-linux-gnueabi", - "armv7-linux-androideabi", - "armv7-unknown-linux-gnueabi", - "i686-apple-darwin", - "i686-linux-android", - "i686-unknown-freebsd", - "i686-unknown-linux-gnu", - "powerpc-unknown-linux-gnu", - "s390x-unknown-linux-gnu", - "wasm32-wasi", - "x86_64-apple-darwin", - "x86_64-apple-ios", - "x86_64-fuchsia", - "x86_64-linux-android", - "x86_64-unknown-freebsd", - "x86_64-unknown-linux-gnu" - ], "cfg(any(windows, unix, target_os = \"redox\"))": [ "aarch64-apple-darwin", "aarch64-apple-ios", @@ -51788,7 +49241,6 @@ "x86_64-unknown-linux-gnu" ], "cfg(curve25519_dalek_backend = \"fiat\")": [], - "cfg(fuzzing)": [], "cfg(not(all(target_arch = \"arm\", target_os = \"none\")))": [ "aarch64-apple-darwin", "aarch64-apple-ios", @@ -51914,30 +49366,6 @@ "x86_64-unknown-linux-gnu", "x86_64-unknown-none" ], - "cfg(not(any(target_os = \"windows\", target_vendor = \"apple\")))": [ - "aarch64-fuchsia", - "aarch64-linux-android", - "aarch64-unknown-linux-gnu", - "arm-unknown-linux-gnueabi", - "armv7-linux-androideabi", - "armv7-unknown-linux-gnueabi", - "i686-linux-android", - "i686-unknown-freebsd", - "i686-unknown-linux-gnu", - "powerpc-unknown-linux-gnu", - "riscv32imc-unknown-none-elf", - "riscv64gc-unknown-none-elf", - "s390x-unknown-linux-gnu", - "thumbv7em-none-eabi", - "thumbv8m.main-none-eabi", - "wasm32-unknown-unknown", - "wasm32-wasi", - "x86_64-fuchsia", - "x86_64-linux-android", - "x86_64-unknown-freebsd", - "x86_64-unknown-linux-gnu", - "x86_64-unknown-none" - ], "cfg(not(target_arch = \"wasm32\"))": [ "aarch64-apple-darwin", "aarch64-apple-ios", @@ -52147,14 +49575,6 @@ "i686-pc-windows-msvc", "x86_64-pc-windows-msvc" ], - "cfg(target_vendor = \"apple\")": [ - "aarch64-apple-darwin", - "aarch64-apple-ios", - "aarch64-apple-ios-sim", - "i686-apple-darwin", - "x86_64-apple-darwin", - "x86_64-apple-ios" - ], "cfg(tokio_taskdump)": [], "cfg(tracing_unstable)": [], "cfg(unix)": [ diff --git a/Cargo.lock b/Cargo.lock index b9f777a87..2d7db043d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -207,17 +207,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" -[[package]] -name = "aes" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" -dependencies = [ - "cfg-if", - "cipher", - "cpufeatures", -] - [[package]] name = "ahash" version = "0.7.8" @@ -327,15 +316,6 @@ version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" -[[package]] -name = "arbitrary" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" -dependencies = [ - "derive_arbitrary", -] - [[package]] name = "arc-swap" version = "1.7.1" @@ -491,20 +471,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "auto_generate_cdp" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7af08ed49930c50104b2f1699d257e5053fb1809e370647bde9c58b31d65d417" -dependencies = [ - "convert_case 0.4.0", - "proc-macro2", - "quote", - "serde", - "serde_json", - "ureq", -] - [[package]] name = "autocfg" version = "1.3.0" @@ -952,27 +918,6 @@ dependencies = [ "bytes", ] -[[package]] -name = "bzip2" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" -dependencies = [ - "bzip2-sys", - "libc", -] - -[[package]] -name = "bzip2-sys" -version = "0.1.11+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - [[package]] name = "cached" version = "0.49.3" @@ -1086,8 +1031,6 @@ version = "1.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72db2f7947ecee9b03b510377e8bb9077afa27176fdbff55c51027e976fdcc48" dependencies = [ - "jobserver", - "libc", "shlex", ] @@ -1145,16 +1088,6 @@ dependencies = [ "half 2.4.1", ] -[[package]] -name = "cipher" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" -dependencies = [ - "crypto-common", - "inout", -] - [[package]] name = "clap" version = "3.2.25" @@ -1376,12 +1309,6 @@ version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" -[[package]] -name = "constant_time_eq" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" - [[package]] name = "convert_case" version = "0.4.0" @@ -1431,21 +1358,6 @@ dependencies = [ "libc", ] -[[package]] -name = "crc" -version = "3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636" -dependencies = [ - "crc-catalog", -] - -[[package]] -name = "crc-catalog" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5" - [[package]] name = "crc32fast" version = "1.4.2" @@ -1849,12 +1761,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "deflate64" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da692b8d1080ea3045efaab14434d40468c3d8657e42abddfffca87b428f4c1b" - [[package]] name = "der" version = "0.7.9" @@ -1890,48 +1796,6 @@ dependencies = [ "serde", ] -[[package]] -name = "derive_arbitrary" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[package]] -name = "derive_builder" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd33f37ee6a119146a1781d3356a7c26028f83d779b2e04ecd45fdc75c76877b" -dependencies = [ - "derive_builder_macro", -] - -[[package]] -name = "derive_builder_core" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7431fa049613920234f22c47fdc33e6cf3ee83067091ea4277a3f8c4587aae38" -dependencies = [ - "darling 0.20.10", - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[package]] -name = "derive_builder_macro" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4abae7035bf79b9877b779505d8cf3749285b80c43941eda66604841889451dc" -dependencies = [ - "derive_builder_core", - "syn 2.0.76", -] - [[package]] name = "derive_more" version = "0.99.18" @@ -2046,15 +1910,6 @@ dependencies = [ "subtle", ] -[[package]] -name = "directories" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35" -dependencies = [ - "dirs-sys", -] - [[package]] name = "dirs" version = "5.0.1" @@ -2153,7 +2008,6 @@ dependencies = [ "fs-err", "futures", "futures-util", - "headless_chrome", "human_bytes", "humantime", "ic-base-types", @@ -2268,7 +2122,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f364860e764787163c8c8f58231003839be31276e821e2ad2092ddf496b1aa09" dependencies = [ "tempfile", - "which 4.4.2", + "which", ] [[package]] @@ -2500,21 +2354,6 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - [[package]] name = "form_urlencoded" version = "1.2.1" @@ -2786,33 +2625,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "headless_chrome" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1eb54284cb4be609bae1375e08e7737752fd5f919f918345359b51b38b7b9ce" -dependencies = [ - "anyhow", - "auto_generate_cdp", - "base64 0.22.1", - "derive_builder", - "directories", - "log", - "rand", - "regex", - "serde", - "serde_json", - "tempfile", - "thiserror", - "tungstenite", - "ureq", - "url", - "walkdir", - "which 6.0.3", - "winreg", - "zip", -] - [[package]] name = "heck" version = "0.3.3" @@ -3119,22 +2931,6 @@ dependencies = [ "tower-service", ] -[[package]] -name = "hyper-tls" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" -dependencies = [ - "bytes", - "http-body-util", - "hyper 1.4.1", - "hyper-util", - "native-tls", - "tokio", - "tokio-native-tls", - "tower-service", -] - [[package]] name = "hyper-util" version = "0.1.7" @@ -5601,15 +5397,6 @@ dependencies = [ "unicode-width", ] -[[package]] -name = "inout" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" -dependencies = [ - "generic-array", -] - [[package]] name = "instant" version = "0.1.13" @@ -5686,15 +5473,6 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" -[[package]] -name = "jobserver" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" -dependencies = [ - "libc", -] - [[package]] name = "js-sys" version = "0.3.69" @@ -5898,12 +5676,6 @@ dependencies = [ "scopeguard", ] -[[package]] -name = "lockfree-object-pool" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" - [[package]] name = "log" version = "0.4.22" @@ -5957,16 +5729,6 @@ dependencies = [ "url", ] -[[package]] -name = "lzma-rs" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "297e814c836ae64db86b36cf2a557ba54368d03f6afcd7d947c266692f71115e" -dependencies = [ - "byteorder", - "crc", -] - [[package]] name = "lzma-sys" version = "0.1.20" @@ -6171,23 +5933,6 @@ dependencies = [ "service-discovery", ] -[[package]] -name = "native-tls" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" -dependencies = [ - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - [[package]] name = "nix" version = "0.24.3" @@ -6481,50 +6226,12 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" -[[package]] -name = "openssl" -version = "0.10.66" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" -dependencies = [ - "bitflags 2.6.0", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.76", -] - [[package]] name = "openssl-probe" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" -[[package]] -name = "openssl-sys" -version = "0.9.103" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - [[package]] name = "opentelemetry" version = "0.22.0" @@ -6675,16 +6382,6 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" -[[package]] -name = "pbkdf2" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" -dependencies = [ - "digest 0.10.7", - "hmac", -] - [[package]] name = "pem" version = "1.1.1" @@ -7513,13 +7210,11 @@ dependencies = [ "http-body-util", "hyper 1.4.1", "hyper-rustls 0.27.2", - "hyper-tls", "hyper-util", "ipnet", "js-sys", "log", "mime", - "native-tls", "once_cell", "percent-encoding", "pin-project-lite", @@ -7532,7 +7227,6 @@ dependencies = [ "serde_urlencoded", "sync_wrapper 1.0.1", "tokio", - "tokio-native-tls", "tokio-rustls 0.26.0", "tokio-util", "tower-service", @@ -7762,7 +7456,6 @@ version = "0.23.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" dependencies = [ - "log", "once_cell", "ring", "rustls-pki-types", @@ -8196,12 +7889,6 @@ dependencies = [ "rand_core", ] -[[package]] -name = "simd-adler32" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" - [[package]] name = "simdutf8" version = "0.1.4" @@ -8382,17 +8069,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "socks" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b" -dependencies = [ - "byteorder", - "libc", - "winapi", -] - [[package]] name = "spin" version = "0.9.8" @@ -8841,16 +8517,6 @@ dependencies = [ "tokio-stream", ] -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - [[package]] name = "tokio-rustls" version = "0.25.0" @@ -9121,24 +8787,6 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" -[[package]] -name = "tungstenite" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" -dependencies = [ - "byteorder", - "bytes", - "data-encoding", - "http 1.1.0", - "httparse", - "log", - "rand", - "sha1", - "thiserror", - "utf-8", -] - [[package]] name = "typed-arena" version = "2.0.2" @@ -9208,23 +8856,6 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" -[[package]] -name = "ureq" -version = "2.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a" -dependencies = [ - "base64 0.22.1", - "flate2", - "log", - "once_cell", - "rustls 0.23.12", - "rustls-pki-types", - "socks", - "url", - "webpki-roots", -] - [[package]] name = "url" version = "2.5.2" @@ -9243,12 +8874,6 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - [[package]] name = "utf16_iter" version = "1.0.5" @@ -9289,12 +8914,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - [[package]] name = "version_check" version = "0.9.5" @@ -9496,18 +9115,6 @@ dependencies = [ "rustix", ] -[[package]] -name = "which" -version = "6.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4ee928febd44d98f2f459a4a79bd4d928591333a494a10a868418ac1b39cf1f" -dependencies = [ - "either", - "home", - "rustix", - "winsafe", -] - [[package]] name = "winapi" version = "0.3.9" @@ -9792,22 +9399,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "winsafe" -version = "0.0.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" - [[package]] name = "wiremock" version = "0.6.1" @@ -10010,35 +9601,6 @@ dependencies = [ "syn 2.0.76", ] -[[package]] -name = "zip" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc5e4288ea4057ae23afc69a4472434a87a2495cafce6632fd1c4ec9f5cf3494" -dependencies = [ - "aes", - "arbitrary", - "bzip2", - "constant_time_eq", - "crc32fast", - "crossbeam-utils", - "deflate64", - "displaydoc", - "flate2", - "hmac", - "indexmap 2.5.0", - "lzma-rs", - "memchr", - "pbkdf2", - "rand", - "sha1", - "thiserror", - "time", - "zeroize", - "zopfli", - "zstd", -] - [[package]] name = "zipsign-api" version = "0.1.2" @@ -10049,45 +9611,3 @@ dependencies = [ "ed25519-dalek", "thiserror", ] - -[[package]] -name = "zopfli" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" -dependencies = [ - "bumpalo", - "crc32fast", - "lockfree-object-pool", - "log", - "once_cell", - "simd-adler32", -] - -[[package]] -name = "zstd" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcf2b778a664581e31e389454a7072dab1647606d44f7feea22cd5abb9c9f3f9" -dependencies = [ - "zstd-safe", -] - -[[package]] -name = "zstd-safe" -version = "7.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa556e971e7b568dc775c136fc9de8c779b1c2fc3a63defaafadffdbd3181afa" -dependencies = [ - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "2.0.12+zstd.1.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" -dependencies = [ - "cc", - "pkg-config", -] diff --git a/Cargo.toml b/Cargo.toml index e628dfd69..2912401af 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,6 +34,7 @@ edition = "2021" authors = ["IC Decentralized Reliability Engineering (DRE) Team"] description = "Tooling for managing the Internet Computer" documentation = "https://github.com/dfinity/dre/" +license = "Apache-2.0" [workspace.dependencies] actix-web = { version = "4.9.0", default-features = false, features = [ @@ -90,7 +91,10 @@ humantime = "2.1.0" humantime-serde = "1.1.1" ic-agent = "0.37.1" octocrab = "0.39.0" -self_update = { version = "0.41.0", features = ["archive-tar"] } +self_update = { version = "0.41.0", default-features = false, features = [ + "archive-tar", + "rustls", +] } ic-async-utils = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } ic-base-types = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } ic-canister-client = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } @@ -142,7 +146,9 @@ opentelemetry = { version = "0.22.0", features = ["metrics"] } pkcs11 = "0.5.0" pretty_assertions = "1.4.0" pretty_env_logger = "0.5.0" -prometheus-http-query = "0.8.3" +prometheus-http-query = { version = "0.8.3", default-features = false, features = [ + "rustls-tls-webpki-roots", +] } prometheus = { version = "0.13.4", features = ["process"] } prost = "0.12" rand = { version = "0.8.5", features = ["std_rng"] } @@ -150,7 +156,7 @@ rand_seeder = "0.3.0" regex = "1.10.6" registry-canister = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } reqwest = { version = "0.12", default-features = false, features = [ - "rustls-tls", + "rustls-tls-webpki-roots", "blocking", ] } retry = "2.0.0" @@ -184,16 +190,12 @@ tokio-util = "0.7.12" url = "2.5.2" wiremock = "0.6.1" human_bytes = "0.4" -headless_chrome = { version = "1.0.14", features = [ - "fetch", -], default-features = false } mockall = "0.13.0" # dre-canisters dependencies ic-cdk-timers = { git = "https://github.com/dfinity/cdk-rs.git", rev = "3e54016734c8f73fb3acabc9c9e72c960c85eb3b" } ic-cdk-macros = { git = "https://github.com/dfinity/cdk-rs.git", rev = "3e54016734c8f73fb3acabc9c9e72c960c85eb3b" } ic-stable-structures = "0.6.5" -ciborium = "0.2.2" dfn_core = { git = "https://github.com/dfinity/ic.git", rev = "f3a6cf88defb92e8b457d2438cb5b086b51e26b2" } # dre-airflow deps, should be replaced with dre-airflow once diff --git a/bazel/external_crates.bzl b/bazel/external_crates.bzl index 6a1a1bbfc..f60b3bd8e 100644 --- a/bazel/external_crates.bzl +++ b/bazel/external_crates.bzl @@ -4,14 +4,6 @@ def external_crates_repository(): crates_repository( name = "crate_index_dre", annotations = { - "headless_chrome": [crate.annotation( - rustc_env = { - "DO_NOT_FORMAT": "1", - }, - build_script_env = { - "DO_NOT_FORMAT": "1", - }, - )], "ic-adapter-metrics-service": [crate.annotation( build_script_data = [ "@com_google_protobuf//:protoc", @@ -36,15 +28,6 @@ def external_crates_repository(): "IC_ICRC1_ARCHIVE_WASM_PATH": "$(execpath @ic-icrc1-archive//file)", }, )], - "openssl": [crate.annotation( - deps = ["@openssl//:openssl"] - )], - "openssl-probe": [crate.annotation( - deps = ["@openssl//:openssl"] - )], - "openssl-sys": [crate.annotation( - deps = ["@openssl//:openssl"] - )], }, cargo_config = "//:.cargo/config.toml", cargo_lockfile = "//:Cargo.lock", diff --git a/deny.toml b/deny.toml new file mode 100644 index 000000000..683f010af --- /dev/null +++ b/deny.toml @@ -0,0 +1,872 @@ +# This template contains all of the possible sections and their default values + +# Note that all fields that take a lint level have these possible values: +# * deny - An error will be produced and the check will fail +# * warn - A warning will be produced, but the check will not fail +# * allow - No warning or error will be produced, though in some cases a note +# will be + +# The values provided in this template are the default values that will be used +# when any section or field is not specified in your own configuration + +# Root options + +# The graph table configures how the dependency graph is constructed and thus +# which crates the checks are performed against +[graph] +# If 1 or more target triples (and optionally, target_features) are specified, +# only the specified targets will be checked when running `cargo deny check`. +# This means, if a particular package is only ever used as a target specific +# dependency, such as, for example, the `nix` crate only being used via the +# `target_family = "unix"` configuration, that only having windows targets in +# this list would mean the nix crate, as well as any of its exclusive +# dependencies not shared by any other crates, would be ignored, as the target +# list here is effectively saying which targets you are building for. +targets = [ + # The triple can be any string, but only the target triples built in to + # rustc (as of 1.40) can be checked against actual config expressions + #"x86_64-unknown-linux-musl", + # You can also specify which target_features you promise are enabled for a + # particular target. target_features are currently not validated against + # the actual valid features supported by the target architecture. + #{ triple = "wasm32-unknown-unknown", features = ["atomics"] }, +] +# When creating the dependency graph used as the source of truth when checks are +# executed, this field can be used to prune crates from the graph, removing them +# from the view of cargo-deny. This is an extremely heavy hammer, as if a crate +# is pruned from the graph, all of its dependencies will also be pruned unless +# they are connected to another crate in the graph that hasn't been pruned, +# so it should be used with care. The identifiers are [Package ID Specifications] +# (https://doc.rust-lang.org/cargo/reference/pkgid-spec.html) +#exclude = [] +# If true, metadata will be collected with `--all-features`. Note that this can't +# be toggled off if true, if you want to conditionally enable `--all-features` it +# is recommended to pass `--all-features` on the cmd line instead +all-features = false +# If true, metadata will be collected with `--no-default-features`. The same +# caveat with `all-features` applies +no-default-features = false +# If set, these feature will be enabled when collecting metadata. If `--features` +# is specified on the cmd line they will take precedence over this option. +#features = [] + +# The output table provides options for how/if diagnostics are outputted +[output] +# When outputting inclusion graphs in diagnostics that include features, this +# option can be used to specify the depth at which feature edges will be added. +# This option is included since the graphs can be quite large and the addition +# of features from the crate(s) to all of the graph roots can be far too verbose. +# This option can be overridden via `--feature-depth` on the cmd line +feature-depth = 1 + +# This section is considered when running `cargo deny check advisories` +# More documentation for the advisories section can be found here: +# https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html +[advisories] +# The path where the advisory databases are cloned/fetched into +#db-path = "$CARGO_HOME/advisory-dbs" +# The url(s) of the advisory databases to use +#db-urls = ["https://github.com/rustsec/advisory-db"] +# A list of advisory IDs to ignore. Note that ignored advisories will still +# output a note when they are encountered. +ignore = [ + #"RUSTSEC-0000-0000", + { id = "RUSTSEC-2022-0034", reason = "our use of pkcs11 does not involve pointer magic" }, + { id = "RUSTSEC-2021-0127", reason = "migration to ciborium / minicbor pending" }, + { id = "RUSTSEC-2021-0141", reason = "migration away from dotenv pending" }, + { id = "RUSTSEC-2021-0145", reason = "the potential security issue only affects Windows, which we do not target" }, + #"a-crate-that-is-yanked@0.1.1", # you can also ignore yanked crate versions if you wish + #{ crate = "a-crate-that-is-yanked@0.1.1", reason = "you can specify why you are ignoring the yanked crate" }, +] +# If this is true, then cargo deny will use the git executable to fetch advisory database. +# If this is false, then it uses a built-in git library. +# Setting this to true can be helpful if you have special authentication requirements that cargo-deny does not support. +# See Git Authentication for more information about setting up git authentication. +#git-fetch-with-cli = true + +# This section is considered when running `cargo deny check licenses` +# More documentation for the licenses section can be found here: +# https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html +[licenses] +# List of explicitly allowed licenses +# See https://spdx.org/licenses/ for list of possible licenses +# [possible values: any SPDX 3.11 short identifier (+ optional exception)]. +allow = [ + "MIT", + "Apache-2.0", + "Apache-2.0 WITH LLVM-exception", + "Unicode-3.0", + "MPL-2.0", # https://www.mozilla.org/en-US/MPL/2.0/FAQ/ + "Zlib", + "BSD-3-Clause", + "BSD-2-Clause", + "CC0-1.0", # basically public domain but explicitly put in legal terms + "ISC", + "BSL-1.0", + "Unicode-DFS-2016", + "OpenSSL", +] +# The confidence threshold for detecting a license from license text. +# The higher the value, the more closely the license text must be to the +# canonical license text of a valid SPDX license file. +# [possible values: any between 0.0 and 1.0]. +confidence-threshold = 0.8 +# Allow 1 or more licenses on a per-crate basis, so that particular licenses +# aren't accepted for every possible crate as with the normal allow list +exceptions = [ + # Each entry is the crate and version constraint, and its specific allow + # list + #{ allow = ["Zlib"], crate = "adler32" }, +] + +# Some crates don't have (easily) machine readable licensing information, +# adding a clarification entry for it allows you to manually specify the +# licensing information +[[licenses.clarify]] +crate = "config-writer-common" +expression = "Apache-2.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ring" +expression = "OpenSSL" +license-files = [{ path = "./LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "cycles-minting-canister" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "decentralization" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "dfn_candid" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "dfn_core" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "dfn_http" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "dfn_http_metrics" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "dfn_protobuf" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "fe-derive" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-adapter-metrics-client" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-adapter-metrics-service" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-async-utils" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-base-types" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-btc-replica-types" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-canister-client" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-canister-client-sender" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-canister-profiler" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-canisters-http-types" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-canonical-state" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-canonical-state-tree-hash" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-certification" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-certification-version" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-config" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-constants" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-ed25519" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-getrandom-for-wasm" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-interfaces-sig-verification" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-internal-basic-sig-der-utils" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-internal-basic-sig-ed25519" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-internal-bls12-381-type" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-internal-hmac" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-internal-multi-sig-bls12381" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-internal-seed" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-internal-sha2" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-internal-threshold-sig-bls12381" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-internal-threshold-sig-ecdsa" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-internal-types" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-node-key-validation" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-secp256k1" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-secrets-containers" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-sha2" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-tls-cert-validation" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-tree-hash" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-utils-basic-sig" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-utils-ni-dkg" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-utils-threshold-sig" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-crypto-utils-threshold-sig-der" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-error-types" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-http-endpoints-metrics" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-icrc1" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-icrc1-index-ng" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-icrc1-ledger" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-icrc1-tokens-u64" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-interfaces" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-interfaces-registry" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-interfaces-state-manager" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-ledger-canister-core" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-ledger-core" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-logger" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-management-canister-types" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-metrics" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nervous-system-clients" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nervous-system-collections-union-multi-map" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nervous-system-common" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nervous-system-common-build-metadata" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nervous-system-common-test-keys" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nervous-system-governance" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nervous-system-lock" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nervous-system-proto" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nervous-system-proxied-canister-calls-tracker" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nervous-system-root" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nervous-system-runtime" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nervous-system-string" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nervous-system-temporary" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-neurons-fund" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nns-common" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nns-constants" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nns-governance" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nns-governance-api" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nns-governance-init" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nns-gtc-accounts" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-nns-handler-root-interface" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-protobuf" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-registry-canister-api" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-registry-client" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-registry-client-fake" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-registry-client-helpers" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-registry-common-proto" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-registry-keys" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-registry-local-registry" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-registry-local-store" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-registry-local-store-artifacts" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-registry-nns-data-provider" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-registry-node-provider-rewards" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-registry-provisional-whitelist" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-registry-routing-table" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-registry-subnet-features" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-registry-subnet-type" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-registry-transport" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-replicated-state" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-sns-governance" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-sns-governance-proposal-criticality" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-sns-governance-proposals-amount-total-limit" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-sns-governance-token-valuation" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-sns-init" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-sns-root" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-sns-swap" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-sns-swap-proto-library" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-sns-wasm" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-sys" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-types" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-utils" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-utils-thread" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-validate-eq" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-validate-eq-derive" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "ic-wasm-types" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "icp-ledger" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "on_wire" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "phantom_newtype" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "registry-canister" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../../LICENSE", hash = 0xbd0eed23 }] + +[[licenses.clarify]] +crate = "tree-deserializer" +expression = "LicenseRef-IC-1.0" +license-files = [{ path = "../../LICENSE", hash = 0xbd0eed23 }] + + +[licenses.private] +# If true, ignores workspace crates that aren't published, or are only +# published to private registries. +# To see how to mark a crate as unpublished (to the official registry), +# visit https://doc.rust-lang.org/cargo/reference/manifest.html#the-publish-field. +ignore = false +# One or more private registries that you might publish crates to, if a crate +# is only published to private registries, and ignore is true, the crate will +# not have its license(s) checked +registries = [ + #"https://sekretz.com/registry +] + +# This section is considered when running `cargo deny check bans`. +# More documentation about the 'bans' section can be found here: +# https://embarkstudios.github.io/cargo-deny/checks/bans/cfg.html +[bans] +# Lint level for when multiple versions of the same crate are detected +multiple-versions = "warn" +# Lint level for when a crate version requirement is `*` +wildcards = "allow" +# The graph highlighting used when creating dotgraphs for crates +# with multiple versions +# * lowest-version - The path to the lowest versioned duplicate is highlighted +# * simplest-path - The path to the version with the fewest edges is highlighted +# * all - Both lowest-version and simplest-path are used +highlight = "all" +# The default lint level for `default` features for crates that are members of +# the workspace that is being checked. This can be overridden by allowing/denying +# `default` on a crate-by-crate basis if desired. +workspace-default-features = "allow" +# The default lint level for `default` features for external crates that are not +# members of the workspace. This can be overridden by allowing/denying `default` +# on a crate-by-crate basis if desired. +external-default-features = "allow" +# List of crates that are allowed. Use with care! +allow = [ + #"ansi_term@0.11.0", + #{ crate = "ansi_term@0.11.0", reason = "you can specify a reason it is allowed" }, +] +# List of crates to deny +deny = [ + "openssl", + #"ansi_term@0.11.0", + #{ crate = "ansi_term@0.11.0", reason = "you can specify a reason it is banned" }, + # Wrapper crates can optionally be specified to allow the crate when it + # is a direct dependency of the otherwise banned crate + #{ crate = "ansi_term@0.11.0", wrappers = ["this-crate-directly-depends-on-ansi_term"] }, +] + +# List of features to allow/deny +# Each entry the name of a crate and a version range. If version is +# not specified, all versions will be matched. +#[[bans.features]] +#crate = "reqwest" +# Features to not allow +#deny = ["json"] +# Features to allow +#allow = [ +# "rustls", +# "__rustls", +# "__tls", +# "hyper-rustls", +# "rustls", +# "rustls-pemfile", +# "rustls-tls-webpki-roots", +# "tokio-rustls", +# "webpki-roots", +#] +# If true, the allowed features must exactly match the enabled feature set. If +# this is set there is no point setting `deny` +#exact = true + +# Certain crates/versions that will be skipped when doing duplicate detection. +skip = [] +skip-tree = [ + # These which follow should be fixed! + { crate = "tokio-rustls", reason = "it is known that octocrab requires a version older than the version required by ic-canister-client" }, + { crate = "hyper-rustls", reason = "it is known that octocrab requires a version older than the version required by ic-canister-client" }, + { crate = "sync_wrapper", reason = "ic-adapter-metrics-client requires tonic which requires an older sync-wrapper, recommend migrating away from tonic" }, + { crate = "hyper-timeout", reason = "ic-adapter-metrics-client requires tonic which requires an older sync-wrapper, recommend migrating away from tonic" }, + { crate = "strum_macros", reason = "spinners requires an older version of strum which requires an older version of strum_macros" }, + { crate = "strum", reason = "spinners requires an older version of strum which requires an older version of strum_macros" }, + { crate = "strsim", reason = "some IC canisters require clap 3.x which brings in older strsim" }, + { crate = "clap_derive", reason = "some IC canisters require the old clap 3.x" }, + { crate = "clap_lex", reason = "some IC canisters require the old clap 3.x" }, + { crate = "clap", reason = "some IC canisters require the old clap 3.x" }, + { crate = "convert_case", reason = "auto_generate_cdp, whose license is GPL and should not be here, brings old convert_case" }, + { crate = "sha2", reason = "ic-agent brings in ed25519-consensus which brings in an older sha2" }, + { crate = "arrayvec", reason = "candid v0.10.10 brings an older pretty, which brings in an older arraayvec" }, + { crate = "axum", reason = "ic-adapter-metrics-client and other IC crates bring in tonic which brings in an older axum" }, + { crate = "axum-core", reason = "ic-adapter-metrics-client and other IC crates bring in tonic which brings in an older axum" }, + { crate = "base64", reason = "build-info-build v0.0.27 depends on an older bas64 crate" }, + { crate = "cached", reason = "ic-crypto-interna-threshoold-sig-bls12381 brings in an older cached" }, + { crate = "darling", reason = "ic-types crate brings in old serde-with which pulls in this old crate" }, + { crate = "darling_core", reason = "ic-types crate brings in old serde-with which pulls in this old crate" }, + { crate = "env_logger", reason = "pretty_env_logger pulls in an old version of env_logger" }, + { crate = "erased-serde", reason = "ic-protobuf and others pull in an old version of erased-serde" }, + { crate = "fastrand", reason = "self_update pulls in self-replace which pulls old version of fastrand" }, + { crate = "half", reason = "unmaintained serde_cbor which should be replaced (search in this file) pulls in old half" }, + { crate = "ic-cdk", reason = "various IC packages require an older ic-cdk which pulls in these macros" }, + { crate = "ic-cdk-macros", reason = "various IC packages require an older ic-cdk which pulls in these macros" }, + { crate = "ic-cdk-timers", reason = "various IC packages require an older ic-cdk which pulls in these macros" }, + { crate = "ic-certification", reason = "ic-canister-client and ic-registry-nns-data-provider needs to have this dependency updated" }, + { crate = "idna", reason = "a number of packages pull an old url version which in turn pulls this package" }, + { crate = "libloading", reason = "the workspace pulls in old version of pkcs11 (v0.5.0) which pulls in an old libloading" }, + { crate = "pem", reason = "ic-crypto-ed25519 v0.9.0 depended by a lot of packages pulls in an old pem" }, + { crate = "procfs", reason = "ic-metrics crate pulls in an old version of procfs" }, +] + +# This section is considered when running `cargo deny check sources`. +# More documentation about the 'sources' section can be found here: +# https://embarkstudios.github.io/cargo-deny/checks/sources/cfg.html +[sources] +# Lint level for what to happen when a crate from a crate registry that is not +# in the allow list is encountered +unknown-registry = "warn" +# Lint level for what to happen when a crate from a git repository that is not +# in the allow list is encountered +unknown-git = "warn" +# List of URLs for allowed crate registries. Defaults to the crates.io index +# if not specified. If it is specified but empty, no registries are allowed. +allow-registry = ["https://github.com/rust-lang/crates.io-index"] +# List of URLs for allowed Git repositories +allow-git = [ + "https://github.com/dfinity-lab/build-info", + "https://github.com/dfinity/ic", + "https://github.com/dfinity/cdk-rs.git", +] + +[sources.allow-org] +# github.com organizations to allow git sources for +github = [] +# gitlab.com organizations to allow git sources for +gitlab = [] +# bitbucket.org organizations to allow git sources for +bitbucket = [] diff --git a/docker/runner.Dockerfile b/docker/runner.Dockerfile index 2f4dc5193..aabea9446 100644 --- a/docker/runner.Dockerfile +++ b/docker/runner.Dockerfile @@ -96,7 +96,7 @@ ENV PATH="/home/runner/.cargo/bin:$PATH" ENV PATH="$PATH:/home/runner/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/" ENV CARGO_TARGET_X86_64_APPLE_DARWIN_LINKER=rust-lld -RUN cargo install cargo-zigbuild +RUN cargo install --quiet cargo-zigbuild cargo-deny RUN curl -sSf https://rye.astral.sh/get | RYE_HOME=/home/runner/.rye RYE_VERSION="0.4.0" RYE_INSTALL_OPTION="--yes" bash RUN source /home/runner/.rye/env diff --git a/rs/canister-log-fetcher/Cargo.toml b/rs/canister-log-fetcher/Cargo.toml index 3ba95aced..00f50bf0a 100644 --- a/rs/canister-log-fetcher/Cargo.toml +++ b/rs/canister-log-fetcher/Cargo.toml @@ -2,6 +2,7 @@ name = "canister-log-fetcher" version = { workspace = true } edition = { workspace = true } +license = { workspace = true } # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rs/cli/Cargo.toml b/rs/cli/Cargo.toml index 3c32f7d7d..bef90da28 100644 --- a/rs/cli/Cargo.toml +++ b/rs/cli/Cargo.toml @@ -6,6 +6,7 @@ authors.workspace = true edition.workspace = true description.workspace = true documentation.workspace = true +license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -73,7 +74,6 @@ cryptoki = { workspace = true } keyring = { workspace = true } comfy-table = { workspace = true } human_bytes = { workspace = true } -headless_chrome = { workspace = true } mockall.workspace = true clio = { workspace = true } diff --git a/rs/cli/src/commands/qualify/execute.rs b/rs/cli/src/commands/qualify/execute.rs index 40f7d1021..abaa2c6ec 100644 --- a/rs/cli/src/commands/qualify/execute.rs +++ b/rs/cli/src/commands/qualify/execute.rs @@ -87,14 +87,11 @@ impl ExecutableCommand for Execute { .with_step_range(self.step_range.clone().unwrap_or_default()) .with_from_version(from_version) .with_to_version(self.version.clone()) - .with_deployment_namge(self.deployment_name.clone()) + .with_deployment_name(self.deployment_name.clone()) .with_prometheus_endpoint(self.prometheus_endpoint.clone()); if let Some(path) = &self.artifacts { qualification_executor = qualification_executor.with_artifacts(path.to_owned()); }; - if let Some(grafana_url) = &self.grafana_url { - qualification_executor = qualification_executor.with_grafana_endpoint(grafana_url.to_owned()); - } qualification_executor.build()?.execute().await } } diff --git a/rs/cli/src/qualification/mod.rs b/rs/cli/src/qualification/mod.rs index 79103614d..210700205 100644 --- a/rs/cli/src/qualification/mod.rs +++ b/rs/cli/src/qualification/mod.rs @@ -1,14 +1,14 @@ -use std::{path::PathBuf, time::Duration}; - use backon::{ExponentialBuilder, Retryable}; use comfy_table::CellAlignment; use comfy_table_util::Table; use ensure_blessed_versions::EnsureBlessedRevisions; use ic_registry_subnet_type::SubnetType; use itertools::Itertools; + use retire_blessed_versions::RetireBlessedVersions; use run_workload_test::Workload; use run_xnet_test::RunXnetTest; +use std::{path::PathBuf, time::Duration}; use step::{OrderedStep, Step, Steps}; use upgrade_deployment_canister::UpgradeDeploymentCanisters; use upgrade_subnets::{Action, UpgradeSubnets}; @@ -41,7 +41,6 @@ pub struct QualificationExecutorBuilder { deployment_name: String, prometheus_endpoint: String, artifacts: Option<PathBuf>, - grafana_endpoint: Option<String>, } impl QualificationExecutorBuilder { @@ -54,7 +53,6 @@ impl QualificationExecutorBuilder { deployment_name: "<network-name>".to_string(), prometheus_endpoint: "".to_string(), artifacts: None, - grafana_endpoint: None, } } @@ -70,7 +68,7 @@ impl QualificationExecutorBuilder { Self { step_range, ..self } } - pub fn with_deployment_namge(self, deployment_name: String) -> Self { + pub fn with_deployment_name(self, deployment_name: String) -> Self { Self { deployment_name, ..self } } @@ -85,13 +83,6 @@ impl QualificationExecutorBuilder { } } - pub fn with_grafana_endpoint(self, grafana_endpoint: String) -> Self { - Self { - grafana_endpoint: Some(grafana_endpoint), - ..self - } - } - pub fn build(self) -> anyhow::Result<QualificationExecutor> { QualificationExecutor::_new(self) } @@ -245,13 +236,7 @@ impl QualificationExecutor { step: s, }) .collect_vec(), - step_ctx: StepCtx::new( - ctx.dre_ctx, - ctx.artifacts, - ctx.grafana_endpoint, - ctx.from_version.clone(), - ctx.to_version.clone(), - )?, + step_ctx: StepCtx::new(ctx.dre_ctx, ctx.artifacts, ctx.from_version.clone(), ctx.to_version.clone())?, from_version: ctx.from_version, to_version: ctx.to_version, }) @@ -284,7 +269,7 @@ impl QualificationExecutor { } pub async fn execute(&self) -> anyhow::Result<()> { - self.print_text("This qualification run will execute the following steps:".to_string()); + self.print_text("This qualification run for will execute the following steps:".to_string()); self.list(); self.print_text(format!("Running qualification from version {} to {}", self.from_version, self.to_version)); diff --git a/rs/cli/src/qualification/run_workload_test.rs b/rs/cli/src/qualification/run_workload_test.rs index 8323f1e9d..e1c35e47e 100644 --- a/rs/cli/src/qualification/run_workload_test.rs +++ b/rs/cli/src/qualification/run_workload_test.rs @@ -67,17 +67,6 @@ impl Step for Workload { anyhow::bail!("Failed to run workload test with status code: {}", status.code().unwrap_or_default()) } - // No need to stop the qualification if taking picture fails - if let Err(e) = ctx.capture_progress_clock( - self.deployment_name.to_string(), - &subnet.principal, - Some(start.timestamp()), - Some(end.timestamp()), - "workload_test", - ) { - ctx.print_text(format!("Failed to capture progress clock: {:?}", e)) - }; - match ensure_finalization_rate_for_subnet( &self.deployment_name, end.timestamp(), diff --git a/rs/cli/src/qualification/run_xnet_test.rs b/rs/cli/src/qualification/run_xnet_test.rs index 8514599db..b6233de16 100644 --- a/rs/cli/src/qualification/run_xnet_test.rs +++ b/rs/cli/src/qualification/run_xnet_test.rs @@ -3,6 +3,7 @@ use std::{os::unix::fs::PermissionsExt, time::Duration}; use chrono::Utc; use ic_registry_subnet_type::SubnetType; use itertools::Itertools; +use log::info; use tokio::process::Command; use super::{step::Step, util::StepCtx}; @@ -20,6 +21,7 @@ const XNET_TEST_NUMBER: &str = "4.3"; pub struct RunXnetTest { pub version: String, + #[allow(dead_code)] pub deployment_name: String, } @@ -87,17 +89,7 @@ impl Step for RunXnetTest { .status() .await?; let end = Utc::now(); - - // No need to stop the qualification if taking picture fails - if let Err(e) = ctx.capture_progress_clock( - self.deployment_name.to_string(), - &subnet.principal, - Some(start.timestamp()), - Some(end.timestamp()), - "xnet_test", - ) { - ctx.print_text(format!("Failed to capture progress clock: {:?}", e)) - } + info!("Total time for command: {}", end - start); if !status.success() { anyhow::bail!("Failed to run xnet test with status code: {}", status.code().unwrap_or_default()) diff --git a/rs/cli/src/qualification/util.rs b/rs/cli/src/qualification/util.rs index a992d74ce..27c24460c 100644 --- a/rs/cli/src/qualification/util.rs +++ b/rs/cli/src/qualification/util.rs @@ -10,13 +10,9 @@ use std::{ use chrono::Utc; use comfy_table::CellAlignment; use flate2::bufread::GzDecoder; -use headless_chrome::{protocol::cdp::Page, Browser, LaunchOptionsBuilder}; use ic_registry_subnet_type::SubnetType; -use ic_types::PrincipalId; use itertools::Itertools; use reqwest::{Client, ClientBuilder}; -use strum::{EnumIter, IntoEnumIterator}; -use url::Url; use crate::ctx::DreContext; @@ -27,22 +23,16 @@ const IC_EXECUTABLES_DIR: &str = "ic-executables"; pub struct StepCtx { dre_ctx: DreContext, + #[allow(dead_code)] artifacts: Option<PathBuf>, log_path: Option<PathBuf>, client: Client, - grafana_url: Option<String>, from_version: String, to_version: String, } impl StepCtx { - pub fn new( - dre_ctx: DreContext, - artifacts: Option<PathBuf>, - grafana_url: Option<String>, - from_version: String, - to_version: String, - ) -> anyhow::Result<Self> { + pub fn new(dre_ctx: DreContext, artifacts: Option<PathBuf>, from_version: String, to_version: String) -> anyhow::Result<Self> { let artifacts_of_run = artifacts.as_ref().map(|t| { if let Err(e) = std::fs::create_dir_all(t) { panic!("Couldn't create dir {}: {:?}", t.display(), e) @@ -60,7 +50,6 @@ impl StepCtx { }), artifacts: artifacts_of_run, client: ClientBuilder::new().timeout(REQWEST_TIMEOUT).build()?, - grafana_url, from_version: from_version[..6].to_string(), to_version: to_version[..6].to_string(), }) @@ -219,100 +208,4 @@ impl StepCtx { println!("{}", formatted) } - - pub fn capture_progress_clock( - &self, - deployment_name: String, - subnet: &PrincipalId, - from: Option<i64>, - to: Option<i64>, - path_suffix: &str, - ) -> anyhow::Result<()> { - let (url, artifacts) = match (self.grafana_url.as_ref(), self.artifacts.as_ref()) { - (Some(url), Some(artifacts)) => (url, artifacts), - _ => return Ok(()), - }; - - let timestamp = match from { - Some(t) => t.to_string(), - None => Utc::now().timestamp().to_string(), - }; - - let browser = Browser::new(LaunchOptionsBuilder::default().devtools(false).window_size(Some((1920, 1080))).build()?)?; - let tab = browser.new_tab()?; - - for panel in Panel::iter() { - let mut url = Url::parse(url)?.join(panel.get_dashboard())?; - url.set_query(Some( - &[ - ("var-ic", deployment_name.to_string()), - ("var-ic_subnet", subnet.to_string()), - ( - "from", - match from { - Some(f) => (f * 1000).to_string(), - None => "now-1h".to_owned(), - }, - ), - ( - "to", - match to { - Some(t) => (t * 1000).to_string(), - None => "now".to_owned(), - }, - ), - ("orgId", "1".to_owned()), - ("viewPanel", panel.into()), - ] - .iter() - .map(|(k, v)| format!("{}={}", k, v)) - .join("&"), - )); - - let destination = artifacts.join(format!("{}-{}-{}.png", panel.get_name(), path_suffix, timestamp)); - self.print_text(format!("Capturing screen from link: {}", url)); - - tab.navigate_to(url.as_str())?; - std::thread::sleep(Duration::from_secs(5)); - let data = tab.capture_screenshot(Page::CaptureScreenshotFormatOption::Png, None, None, true)?; - std::fs::write(&destination, data)?; - - self.print_text(format!("Captured image and saved to: {}", destination.display())) - } - - Ok(()) - } -} - -#[derive(Clone, Copy, EnumIter, Default)] -enum Panel { - #[default] - FinalizationRate, - RunningReplicas, -} - -impl Panel { - fn get_name(&self) -> &str { - match self { - Panel::FinalizationRate => "FinalizationRate", - Panel::RunningReplicas => "RunningReplicas", - } - } - - fn get_dashboard(&self) -> &str { - match self { - Panel::FinalizationRate => "/d/ic-progress-clock/ic-progress-clock", - Panel::RunningReplicas => "/d/ic-progress-clock/ic-progress-clock", - } - } -} - -impl From<Panel> for String { - fn from(value: Panel) -> Self { - match value { - Panel::FinalizationRate => "4", - Panel::RunningReplicas => "32", - } - .to_string() - } } diff --git a/rs/dre-canisters/trustworthy-node-metrics/src/trustworthy-node-metrics-types/Cargo.toml b/rs/dre-canisters/trustworthy-node-metrics/src/trustworthy-node-metrics-types/Cargo.toml index 9a35bffb7..04eaab23f 100644 --- a/rs/dre-canisters/trustworthy-node-metrics/src/trustworthy-node-metrics-types/Cargo.toml +++ b/rs/dre-canisters/trustworthy-node-metrics/src/trustworthy-node-metrics-types/Cargo.toml @@ -6,6 +6,7 @@ authors.workspace = true edition.workspace = true description.workspace = true documentation.workspace = true +license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rs/dre-canisters/trustworthy-node-metrics/src/trustworthy-node-metrics/Cargo.toml b/rs/dre-canisters/trustworthy-node-metrics/src/trustworthy-node-metrics/Cargo.toml index 6b2b59d11..9701ca8f3 100644 --- a/rs/dre-canisters/trustworthy-node-metrics/src/trustworthy-node-metrics/Cargo.toml +++ b/rs/dre-canisters/trustworthy-node-metrics/src/trustworthy-node-metrics/Cargo.toml @@ -5,6 +5,7 @@ authors.workspace = true edition.workspace = true description.workspace = true documentation.workspace = true +license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rs/ic-canisters/Cargo.toml b/rs/ic-canisters/Cargo.toml index e167fa459..6ff127993 100644 --- a/rs/ic-canisters/Cargo.toml +++ b/rs/ic-canisters/Cargo.toml @@ -5,6 +5,7 @@ authors.workspace = true edition.workspace = true description.workspace = true documentation.workspace = true +license.workspace = true [dependencies] anyhow = { workspace = true } diff --git a/rs/ic-management-backend/Cargo.toml b/rs/ic-management-backend/Cargo.toml index 535807a2f..baa5fcea8 100644 --- a/rs/ic-management-backend/Cargo.toml +++ b/rs/ic-management-backend/Cargo.toml @@ -5,6 +5,7 @@ authors.workspace = true edition.workspace = true description.workspace = true documentation.workspace = true +license.workspace = true [dependencies] actix-web = { workspace = true } diff --git a/rs/ic-management-types/Cargo.toml b/rs/ic-management-types/Cargo.toml index e1e971cc7..7f0889e71 100644 --- a/rs/ic-management-types/Cargo.toml +++ b/rs/ic-management-types/Cargo.toml @@ -5,6 +5,7 @@ authors.workspace = true edition.workspace = true description.workspace = true documentation.workspace = true +license.workspace = true [dependencies] actix-web = { workspace = true } diff --git a/rs/ic-observability/config-writer-common/Cargo.toml b/rs/ic-observability/config-writer-common/Cargo.toml index aefa6ff10..b74c64dd9 100644 --- a/rs/ic-observability/config-writer-common/Cargo.toml +++ b/rs/ic-observability/config-writer-common/Cargo.toml @@ -2,6 +2,7 @@ name = "config-writer-common" version = { workspace = true } edition = { workspace = true } +license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rs/ic-observability/log-noise-filter-backend/Cargo.toml b/rs/ic-observability/log-noise-filter-backend/Cargo.toml index 1d57a629b..a6b54e872 100644 --- a/rs/ic-observability/log-noise-filter-backend/Cargo.toml +++ b/rs/ic-observability/log-noise-filter-backend/Cargo.toml @@ -5,6 +5,7 @@ edition.workspace = true authors.workspace = true description.workspace = true documentation.workspace = true +license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rs/ic-observability/log-noise-filter-downloader/Cargo.toml b/rs/ic-observability/log-noise-filter-downloader/Cargo.toml index 7dc9d961a..6564956a5 100644 --- a/rs/ic-observability/log-noise-filter-downloader/Cargo.toml +++ b/rs/ic-observability/log-noise-filter-downloader/Cargo.toml @@ -5,6 +5,7 @@ edition.workspace = true authors.workspace = true description.workspace = true documentation.workspace = true +license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rs/ic-observability/multiservice-discovery-downloader/Cargo.toml b/rs/ic-observability/multiservice-discovery-downloader/Cargo.toml index 8e032ed5b..cff19708f 100644 --- a/rs/ic-observability/multiservice-discovery-downloader/Cargo.toml +++ b/rs/ic-observability/multiservice-discovery-downloader/Cargo.toml @@ -2,6 +2,7 @@ name = "multiservice-discovery-downloader" version = { workspace = true } edition = { workspace = true } +license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rs/ic-observability/multiservice-discovery-shared/Cargo.toml b/rs/ic-observability/multiservice-discovery-shared/Cargo.toml index b1c209f41..f794083f7 100644 --- a/rs/ic-observability/multiservice-discovery-shared/Cargo.toml +++ b/rs/ic-observability/multiservice-discovery-shared/Cargo.toml @@ -2,6 +2,7 @@ name = "multiservice-discovery-shared" version = { workspace = true } edition = { workspace = true } +license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rs/ic-observability/multiservice-discovery/Cargo.toml b/rs/ic-observability/multiservice-discovery/Cargo.toml index 1cf00c82e..8c752460b 100644 --- a/rs/ic-observability/multiservice-discovery/Cargo.toml +++ b/rs/ic-observability/multiservice-discovery/Cargo.toml @@ -2,6 +2,7 @@ name = "multiservice-discovery" version = { workspace = true } edition = { workspace = true } +license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rs/ic-observability/node-status-updater/Cargo.toml b/rs/ic-observability/node-status-updater/Cargo.toml index f4c91315d..73ac2c83c 100644 --- a/rs/ic-observability/node-status-updater/Cargo.toml +++ b/rs/ic-observability/node-status-updater/Cargo.toml @@ -2,6 +2,7 @@ name = "node-status-updater" version = { workspace = true } edition = { workspace = true } +license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -16,9 +17,7 @@ ic-agent = { workspace = true } ic-async-utils = { workspace = true } ic-metrics = { workspace = true } obs-canister-clients = { path = "../obs-canister-clients" } -prometheus-http-query = { version = "0.8.3", default-features = false, features = [ - "rustls-tls-webpki-roots", -] } +prometheus-http-query = { workspace = true } service-discovery = { path = "../service-discovery" } slog = { workspace = true } slog-async = { workspace = true } diff --git a/rs/ic-observability/obs-canister-clients/Cargo.toml b/rs/ic-observability/obs-canister-clients/Cargo.toml index af8ba4163..d66d7311c 100644 --- a/rs/ic-observability/obs-canister-clients/Cargo.toml +++ b/rs/ic-observability/obs-canister-clients/Cargo.toml @@ -2,6 +2,7 @@ name = "obs-canister-clients" version = { workspace = true } edition = { workspace = true } +license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rs/ic-observability/prometheus-config-updater/Cargo.toml b/rs/ic-observability/prometheus-config-updater/Cargo.toml index 834c97401..fbadddaf5 100644 --- a/rs/ic-observability/prometheus-config-updater/Cargo.toml +++ b/rs/ic-observability/prometheus-config-updater/Cargo.toml @@ -2,6 +2,7 @@ name = "prometheus-config-updater" version = { workspace = true } edition = { workspace = true } +license.workspace = true [dependencies] anyhow = { workspace = true } diff --git a/rs/ic-observability/service-discovery/Cargo.toml b/rs/ic-observability/service-discovery/Cargo.toml index e5c03df23..7e7d689de 100644 --- a/rs/ic-observability/service-discovery/Cargo.toml +++ b/rs/ic-observability/service-discovery/Cargo.toml @@ -2,6 +2,7 @@ name = "service-discovery" version = { workspace = true } edition = { workspace = true } +license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rs/ic-observability/sns-downloader/Cargo.toml b/rs/ic-observability/sns-downloader/Cargo.toml index cd6053ea9..8de6bb121 100644 --- a/rs/ic-observability/sns-downloader/Cargo.toml +++ b/rs/ic-observability/sns-downloader/Cargo.toml @@ -2,6 +2,7 @@ name = "sns-downloader" version = { workspace = true } edition = { workspace = true } +license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rs/log-fetcher/Cargo.toml b/rs/log-fetcher/Cargo.toml index 1b6963c4a..9118fe738 100644 --- a/rs/log-fetcher/Cargo.toml +++ b/rs/log-fetcher/Cargo.toml @@ -5,6 +5,7 @@ authors.workspace = true edition.workspace = true description.workspace = true documentation.workspace = true +license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rs/np-notifications/Cargo.toml b/rs/np-notifications/Cargo.toml index 2ddbe0c7a..45aff305c 100644 --- a/rs/np-notifications/Cargo.toml +++ b/rs/np-notifications/Cargo.toml @@ -5,6 +5,7 @@ authors.workspace = true edition.workspace = true description.workspace = true documentation.workspace = true +license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rs/qualifier/Cargo.toml b/rs/qualifier/Cargo.toml index 4fc03dfa0..364d8013d 100644 --- a/rs/qualifier/Cargo.toml +++ b/rs/qualifier/Cargo.toml @@ -5,6 +5,7 @@ edition.workspace = true authors.workspace = true description.workspace = true documentation.workspace = true +license.workspace = true [dependencies] anyhow = { workspace = true } diff --git a/rs/rollout-controller/Cargo.toml b/rs/rollout-controller/Cargo.toml index 873c8acf0..d9f133b1c 100644 --- a/rs/rollout-controller/Cargo.toml +++ b/rs/rollout-controller/Cargo.toml @@ -5,6 +5,7 @@ edition.workspace = true authors.workspace = true description.workspace = true documentation.workspace = true +license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/rs/slack-notifications/Cargo.toml b/rs/slack-notifications/Cargo.toml index 00daf8b60..e14c6a687 100644 --- a/rs/slack-notifications/Cargo.toml +++ b/rs/slack-notifications/Cargo.toml @@ -5,6 +5,7 @@ authors.workspace = true edition.workspace = true description.workspace = true documentation.workspace = true +license.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html From bd9f64ab06f6e5f0fb1127bf54f9b4e440936662 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C5=A1a=20Tomi=C4=87?= <sasa.tomic@dfinity.org> Date: Thu, 5 Sep 2024 18:20:57 +0200 Subject: [PATCH 20/25] fix(ci): Update the token for creating a PR in the k8s repo --- .github/workflows/main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index c4818a862..fb17dcc2f 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -127,7 +127,7 @@ jobs: if: ${{ github.ref == 'refs/heads/main' }} uses: ./.github/workflows/update-k8s-deployments with: - github_api_token: ${{ secrets.K8S_API_TOKEN }} + github_api_token: ${{ secrets.GIX_CREATE_PR_PAT }} ######################################## # Deploy to github pages From 8883eb519a37c528ad0420e7467883295be64ec3 Mon Sep 17 00:00:00 2001 From: DFINITYManu <123385598+DFINITYManu@users.noreply.github.com> Date: Thu, 5 Sep 2024 18:24:11 +0200 Subject: [PATCH 21/25] Release 0.5.4 (#876) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Saša Tomić <sasa.tomic@dfinity.org> --- .pre-commit-config.yaml | 29 +----- CHANGELOG.md | 19 ++++ Cargo.Bazel.lock | 196 ++++++++++++++++++------------------ Cargo.lock | 48 ++++----- Cargo.toml | 2 +- VERSION | 2 +- bin/cargo-deny-checks.sh | 4 + bin/release-index-checks.sh | 18 ++++ docs/make-release.md | 6 +- pyproject.toml | 2 +- 10 files changed, 173 insertions(+), 153 deletions(-) create mode 100755 bin/cargo-deny-checks.sh create mode 100755 bin/release-index-checks.sh diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1ec5a0af9..7b1c814c2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -69,34 +69,13 @@ repos: - repo: local hooks: - id: release-index-checks - language: system + language: script name: release-index-checks verbose: true - entry: | - bash -c ' - files=("release-index-schema.json" "release-index.yaml" "release-controller/ci_check.py") + entry: bin/release-index-checks.sh - found=false - - for file in "$@"; do - if [[ "${files[@]}" =~ "$file" ]]; then - found=true - break - fi - done - - if [[ "$found" == false ]]; then - exit 0 - fi - command -v rye >/dev/null || echo 'rye' not found. Please install it by following the instructions from https://rye.astral.sh/ - rye run python release-controller/ci_check.py --repo-path ~/.cache/git/ic - ' - id: cargo-deny-checks - language: system + language: script name: Cargo deny checks verbose: true - entry: | - bash -c ' - command -v cargo-deny >/dev/null || echo "'cargo-deny' not found. Please install it by running 'cargo install cargo-deny'" - cargo deny check - ' + entry: bin/cargo-deny-checks.sh diff --git a/CHANGELOG.md b/CHANGELOG.md index 797148cd8..2212582a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,25 @@ # dre Changelog <!-- insertion marker --> +## [0.5.4](https://github.com/dfinity/dre/releases/tag/0.5.4) - 2024-09-05 + +<small>[Compare with first commit](https://github.com/dfinity/dre/compare/e3b94efb3d36a89b7c981813626719ed48d5ec2f...0.5.4)</small> + +### Features + +- overriding ic admin versions (#864) ([69b4cf3](https://github.com/dfinity/dre/commit/69b4cf38e75c617374774199ff45487ddff7201d) by Nikola Milosavljevic). +- dre testing of `update-unassigned-nodes` command (#858) ([415f697](https://github.com/dfinity/dre/commit/415f6978960d701d7b7861542e6865160dc828f2) by Nikola Milosavljevic). +- Replace poetry with rye for managing Python dependencies (#857) ([00e419f](https://github.com/dfinity/dre/commit/00e419f85fb9dff6754447206047ab690cf044c0) by Saša Tomić). +- improve exclusion filters (#855) ([c5940e8](https://github.com/dfinity/dre/commit/c5940e8bc889a14065236af1f172ef71b49c96bb) by Luka Skugor). + +### Bug Fixes + +- Update cache job fix (#874) ([6f46268](https://github.com/dfinity/dre/commit/6f46268f44848c022ceb7fac4c35a543c60a17d4) by Saša Tomić). +- use container image with rye for update-dependencies (#871) ([f692898](https://github.com/dfinity/dre/commit/f692898a6ac1bcacfcb52310ab4b0e6b9bc358a8) by Saša Tomić). +- fixing default value for ic-admin-version (#872) ([9dd0e95](https://github.com/dfinity/dre/commit/9dd0e955f24b48bfb776e130f27ce419600a966e) by Nikola Milosavljevic). +- updating leftover runner images (#860) ([9e58a66](https://github.com/dfinity/dre/commit/9e58a66df73ce8d9f6bb896b6f6680836cfd5b44) by Nikola Milosavljevic). +- registry canister (#854) ([65e1de7](https://github.com/dfinity/dre/commit/65e1de743d99f0ee1db105f59ed9ebe0cb947474) by Nikola Milosavljevic). + ## [0.5.3](https://github.com/dfinity/dre/releases/tag/0.5.3) - 2024-09-03 <small>[Compare with first commit](https://github.com/dfinity/dre/compare/09221a6073f9b283fcfc5c16e9b430ff0fba1d87...0.5.3)</small> diff --git a/Cargo.Bazel.lock b/Cargo.Bazel.lock index 8676356b8..b19642c61 100644 --- a/Cargo.Bazel.lock +++ b/Cargo.Bazel.lock @@ -1,5 +1,5 @@ { - "checksum": "e8cb1fe0eba54f3b33b36a0f44e35ce0eb25cbf3760b1476dddd2ec7b1c7f3f9", + "checksum": "9160b03df3e635c28ee9fe360788b0cd0a8648474d71fbc3d668d326e3878d20", "crates": { "actix-codec 0.5.2": { "name": "actix-codec", @@ -4990,9 +4990,9 @@ }, "license": "Apache-2.0" }, - "canister-log-fetcher 0.5.3": { + "canister-log-fetcher 0.5.4": { "name": "canister-log-fetcher", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [], "library_target_name": null, @@ -5046,7 +5046,7 @@ "selects": {} }, "edition": "2021", - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, @@ -6405,9 +6405,9 @@ }, "license": "Apache-2.0 OR MIT" }, - "config-writer-common 0.5.3": { + "config-writer-common 0.5.4": { "name": "config-writer-common", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [ { @@ -6467,7 +6467,7 @@ "selects": {} }, "edition": "2021", - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, @@ -8796,9 +8796,9 @@ }, "license": "MIT OR Apache-2.0" }, - "decentralization 0.5.3": { + "decentralization 0.5.4": { "name": "decentralization", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [ { @@ -8892,7 +8892,7 @@ ], "selects": {} }, - "version": "0.5.3" + "version": "0.5.4" }, "license": null }, @@ -10026,9 +10026,9 @@ }, "license": "MIT" }, - "dre 0.5.3": { + "dre 0.5.4": { "name": "dre", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [ { @@ -10118,7 +10118,7 @@ "target": "dotenv" }, { - "id": "dre 0.5.3", + "id": "dre 0.5.4", "target": "build_script_build" }, { @@ -10323,7 +10323,7 @@ ], "selects": {} }, - "version": "0.5.3" + "version": "0.5.4" }, "build_script_attrs": { "data_glob": [ @@ -15922,9 +15922,9 @@ }, "license": null }, - "ic-canisters 0.5.3": { + "ic-canisters 0.5.4": { "name": "ic-canisters", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [ { @@ -16060,7 +16060,7 @@ "selects": {} }, "edition": "2021", - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, @@ -19690,9 +19690,9 @@ }, "license": null }, - "ic-management-backend 0.5.3": { + "ic-management-backend 0.5.4": { "name": "ic-management-backend", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [ { @@ -19910,7 +19910,7 @@ ], "selects": {} }, - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, @@ -20009,9 +20009,9 @@ }, "license": null }, - "ic-management-types 0.5.3": { + "ic-management-types 0.5.4": { "name": "ic-management-types", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [ { @@ -20121,7 +20121,7 @@ ], "selects": {} }, - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, @@ -28271,9 +28271,9 @@ }, "license": "MIT OR Apache-2.0" }, - "log-fetcher 0.5.3": { + "log-fetcher 0.5.4": { "name": "log-fetcher", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [], "library_target_name": null, @@ -28323,13 +28323,13 @@ "selects": {} }, "edition": "2021", - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, - "log-noise-filter-backend 0.5.3": { + "log-noise-filter-backend 0.5.4": { "name": "log-noise-filter-backend", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [ { @@ -28389,13 +28389,13 @@ "selects": {} }, "edition": "2021", - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, - "log-noise-filter-downloader 0.5.3": { + "log-noise-filter-downloader 0.5.4": { "name": "log-noise-filter-downloader", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [], "library_target_name": null, @@ -28449,7 +28449,7 @@ "selects": {} }, "edition": "2021", - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, @@ -29178,9 +29178,9 @@ }, "license": "MIT OR Apache-2.0" }, - "multiservice-discovery 0.5.3": { + "multiservice-discovery 0.5.4": { "name": "multiservice-discovery", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [], "library_target_name": null, @@ -29307,13 +29307,13 @@ "selects": {} }, "edition": "2021", - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, - "multiservice-discovery-downloader 0.5.3": { + "multiservice-discovery-downloader 0.5.4": { "name": "multiservice-discovery-downloader", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [], "library_target_name": null, @@ -29379,13 +29379,13 @@ "selects": {} }, "edition": "2021", - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, - "multiservice-discovery-shared 0.5.3": { + "multiservice-discovery-shared 0.5.4": { "name": "multiservice-discovery-shared", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [ { @@ -29433,7 +29433,7 @@ "selects": {} }, "edition": "2021", - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, @@ -29530,9 +29530,9 @@ }, "license": "MIT" }, - "node-status-updater 0.5.3": { + "node-status-updater 0.5.4": { "name": "node-status-updater", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [], "library_target_name": null, @@ -29606,7 +29606,7 @@ "selects": {} }, "edition": "2021", - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, @@ -29661,9 +29661,9 @@ }, "license": "MIT" }, - "np-notifications 0.5.3": { + "np-notifications 0.5.4": { "name": "np-notifications", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [], "library_target_name": null, @@ -29758,7 +29758,7 @@ "selects": {} }, "edition": "2021", - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, @@ -30565,9 +30565,9 @@ }, "license": "Apache-2.0 OR MIT" }, - "obs-canister-clients 0.5.3": { + "obs-canister-clients 0.5.4": { "name": "obs-canister-clients", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [ { @@ -30615,7 +30615,7 @@ "selects": {} }, "edition": "2021", - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, @@ -33705,9 +33705,9 @@ }, "license": "Apache-2.0" }, - "prometheus-config-updater 0.5.3": { + "prometheus-config-updater 0.5.4": { "name": "prometheus-config-updater", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [], "library_target_name": null, @@ -33801,7 +33801,7 @@ "selects": {} }, "edition": "2021", - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, @@ -34372,9 +34372,9 @@ }, "license": "MIT" }, - "qualifier 0.5.3": { + "qualifier 0.5.4": { "name": "qualifier", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [], "library_target_name": null, @@ -34460,7 +34460,7 @@ "selects": {} }, "edition": "2021", - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, @@ -36452,9 +36452,9 @@ }, "license": "MIT OR Apache-2.0" }, - "rollout-controller 0.5.3": { + "rollout-controller 0.5.4": { "name": "rollout-controller", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [], "library_target_name": null, @@ -36561,7 +36561,7 @@ "selects": {} }, "edition": "2021", - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, @@ -39017,9 +39017,9 @@ }, "license": "MIT OR Apache-2.0" }, - "service-discovery 0.5.3": { + "service-discovery 0.5.4": { "name": "service-discovery", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [ { @@ -39156,7 +39156,7 @@ "selects": {} }, "edition": "2021", - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, @@ -39686,9 +39686,9 @@ }, "license": "MIT" }, - "slack-notifications 0.5.3": { + "slack-notifications 0.5.4": { "name": "slack-notifications", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [], "library_target_name": null, @@ -39786,7 +39786,7 @@ "selects": {} }, "edition": "2021", - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, @@ -40312,9 +40312,9 @@ }, "license": "MIT OR Apache-2.0" }, - "sns-downloader 0.5.3": { + "sns-downloader 0.5.4": { "name": "sns-downloader", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [], "library_target_name": null, @@ -40380,7 +40380,7 @@ "selects": {} }, "edition": "2021", - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, @@ -43897,9 +43897,9 @@ }, "license": null }, - "trustworthy-node-metrics 0.5.3": { + "trustworthy-node-metrics 0.5.4": { "name": "trustworthy-node-metrics", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [], "library_target_name": null, @@ -43986,13 +43986,13 @@ ], "selects": {} }, - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, - "trustworthy-node-metrics-types 0.5.3": { + "trustworthy-node-metrics-types 0.5.4": { "name": "trustworthy-node-metrics-types", - "version": "0.5.3", + "version": "0.5.4", "repository": null, "targets": [ { @@ -44040,7 +44040,7 @@ "selects": {} }, "edition": "2021", - "version": "0.5.3" + "version": "0.5.4" }, "license": "Apache-2.0" }, @@ -48899,30 +48899,30 @@ }, "binary_crates": [], "workspace_members": { - "canister-log-fetcher 0.5.3": "rs/canister-log-fetcher", - "config-writer-common 0.5.3": "rs/ic-observability/config-writer-common", - "decentralization 0.5.3": "rs/decentralization", - "dre 0.5.3": "rs/cli", - "ic-canisters 0.5.3": "rs/ic-canisters", - "ic-management-backend 0.5.3": "rs/ic-management-backend", - "ic-management-types 0.5.3": "rs/ic-management-types", - "log-fetcher 0.5.3": "rs/log-fetcher", - "log-noise-filter-backend 0.5.3": "rs/ic-observability/log-noise-filter-backend", - "log-noise-filter-downloader 0.5.3": "rs/ic-observability/log-noise-filter-downloader", - "multiservice-discovery 0.5.3": "rs/ic-observability/multiservice-discovery", - "multiservice-discovery-downloader 0.5.3": "rs/ic-observability/multiservice-discovery-downloader", - "multiservice-discovery-shared 0.5.3": "rs/ic-observability/multiservice-discovery-shared", - "node-status-updater 0.5.3": "rs/ic-observability/node-status-updater", - "np-notifications 0.5.3": "rs/np-notifications", - "obs-canister-clients 0.5.3": "rs/ic-observability/obs-canister-clients", - "prometheus-config-updater 0.5.3": "rs/ic-observability/prometheus-config-updater", - "qualifier 0.5.3": "rs/qualifier", - "rollout-controller 0.5.3": "rs/rollout-controller", - "service-discovery 0.5.3": "rs/ic-observability/service-discovery", - "slack-notifications 0.5.3": "rs/slack-notifications", - "sns-downloader 0.5.3": "rs/ic-observability/sns-downloader", - "trustworthy-node-metrics 0.5.3": "rs/dre-canisters/trustworthy-node-metrics/src/trustworthy-node-metrics", - "trustworthy-node-metrics-types 0.5.3": "rs/dre-canisters/trustworthy-node-metrics/src/trustworthy-node-metrics-types" + "canister-log-fetcher 0.5.4": "rs/canister-log-fetcher", + "config-writer-common 0.5.4": "rs/ic-observability/config-writer-common", + "decentralization 0.5.4": "rs/decentralization", + "dre 0.5.4": "rs/cli", + "ic-canisters 0.5.4": "rs/ic-canisters", + "ic-management-backend 0.5.4": "rs/ic-management-backend", + "ic-management-types 0.5.4": "rs/ic-management-types", + "log-fetcher 0.5.4": "rs/log-fetcher", + "log-noise-filter-backend 0.5.4": "rs/ic-observability/log-noise-filter-backend", + "log-noise-filter-downloader 0.5.4": "rs/ic-observability/log-noise-filter-downloader", + "multiservice-discovery 0.5.4": "rs/ic-observability/multiservice-discovery", + "multiservice-discovery-downloader 0.5.4": "rs/ic-observability/multiservice-discovery-downloader", + "multiservice-discovery-shared 0.5.4": "rs/ic-observability/multiservice-discovery-shared", + "node-status-updater 0.5.4": "rs/ic-observability/node-status-updater", + "np-notifications 0.5.4": "rs/np-notifications", + "obs-canister-clients 0.5.4": "rs/ic-observability/obs-canister-clients", + "prometheus-config-updater 0.5.4": "rs/ic-observability/prometheus-config-updater", + "qualifier 0.5.4": "rs/qualifier", + "rollout-controller 0.5.4": "rs/rollout-controller", + "service-discovery 0.5.4": "rs/ic-observability/service-discovery", + "slack-notifications 0.5.4": "rs/slack-notifications", + "sns-downloader 0.5.4": "rs/ic-observability/sns-downloader", + "trustworthy-node-metrics 0.5.4": "rs/dre-canisters/trustworthy-node-metrics/src/trustworthy-node-metrics", + "trustworthy-node-metrics-types 0.5.4": "rs/dre-canisters/trustworthy-node-metrics/src/trustworthy-node-metrics-types" }, "conditions": { "aarch64-apple-darwin": [ diff --git a/Cargo.lock b/Cargo.lock index 2d7db043d..664c6d09e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -989,7 +989,7 @@ dependencies = [ [[package]] name = "canister-log-fetcher" -version = "0.5.3" +version = "0.5.4" dependencies = [ "anyhow", "clap 4.5.16", @@ -1276,7 +1276,7 @@ dependencies = [ [[package]] name = "config-writer-common" -version = "0.5.3" +version = "0.5.4" dependencies = [ "crossbeam", "crossbeam-channel", @@ -1741,7 +1741,7 @@ checksum = "092966b41edc516079bdf31ec78a2e0588d1d0c08f78b91d8307215928642b2b" [[package]] name = "decentralization" -version = "0.5.3" +version = "0.5.4" dependencies = [ "actix-web", "ahash 0.8.11", @@ -1983,7 +1983,7 @@ checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" [[package]] name = "dre" -version = "0.5.3" +version = "0.5.4" dependencies = [ "actix-rt", "anyhow", @@ -3166,7 +3166,7 @@ dependencies = [ [[package]] name = "ic-canisters" -version = "0.5.3" +version = "0.5.4" dependencies = [ "anyhow", "backoff", @@ -3952,7 +3952,7 @@ dependencies = [ [[package]] name = "ic-management-backend" -version = "0.5.3" +version = "0.5.4" dependencies = [ "actix-rt", "actix-web", @@ -4027,7 +4027,7 @@ dependencies = [ [[package]] name = "ic-management-types" -version = "0.5.3" +version = "0.5.4" dependencies = [ "actix-web", "anyhow", @@ -5684,7 +5684,7 @@ checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "log-fetcher" -version = "0.5.3" +version = "0.5.4" dependencies = [ "anyhow", "clap 4.5.16", @@ -5699,7 +5699,7 @@ dependencies = [ [[package]] name = "log-noise-filter-backend" -version = "0.5.3" +version = "0.5.4" dependencies = [ "axum 0.7.5", "clap 4.5.16", @@ -5714,7 +5714,7 @@ dependencies = [ [[package]] name = "log-noise-filter-downloader" -version = "0.5.3" +version = "0.5.4" dependencies = [ "anyhow", "clap 4.5.16", @@ -5865,7 +5865,7 @@ checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" [[package]] name = "multiservice-discovery" -version = "0.5.3" +version = "0.5.4" dependencies = [ "anyhow", "assert_cmd", @@ -5901,7 +5901,7 @@ dependencies = [ [[package]] name = "multiservice-discovery-downloader" -version = "0.5.3" +version = "0.5.4" dependencies = [ "clap 4.5.16", "crossbeam", @@ -5922,7 +5922,7 @@ dependencies = [ [[package]] name = "multiservice-discovery-shared" -version = "0.5.3" +version = "0.5.4" dependencies = [ "erased-serde 0.4.5", "ic-sns-wasm", @@ -5947,7 +5947,7 @@ dependencies = [ [[package]] name = "node-status-updater" -version = "0.5.3" +version = "0.5.4" dependencies = [ "anyhow", "clap 4.5.16", @@ -5980,7 +5980,7 @@ dependencies = [ [[package]] name = "np-notifications" -version = "0.5.3" +version = "0.5.4" dependencies = [ "actix-web", "anyhow", @@ -6151,7 +6151,7 @@ dependencies = [ [[package]] name = "obs-canister-clients" -version = "0.5.3" +version = "0.5.4" dependencies = [ "candid", "ic-agent", @@ -6751,7 +6751,7 @@ dependencies = [ [[package]] name = "prometheus-config-updater" -version = "0.5.3" +version = "0.5.4" dependencies = [ "anyhow", "base64 0.22.1", @@ -6893,7 +6893,7 @@ dependencies = [ [[package]] name = "qualifier" -version = "0.5.3" +version = "0.5.4" dependencies = [ "anyhow", "backon", @@ -7310,7 +7310,7 @@ checksum = "3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422" [[package]] name = "rollout-controller" -version = "0.5.3" +version = "0.5.4" dependencies = [ "anyhow", "candid", @@ -7783,7 +7783,7 @@ dependencies = [ [[package]] name = "service-discovery" -version = "0.5.3" +version = "0.5.4" dependencies = [ "anyhow", "crossbeam", @@ -7918,7 +7918,7 @@ dependencies = [ [[package]] name = "slack-notifications" -version = "0.5.3" +version = "0.5.4" dependencies = [ "anyhow", "candid", @@ -8040,7 +8040,7 @@ dependencies = [ [[package]] name = "sns-downloader" -version = "0.5.3" +version = "0.5.4" dependencies = [ "clap 4.5.16", "crossbeam", @@ -8747,7 +8747,7 @@ dependencies = [ [[package]] name = "trustworthy-node-metrics" -version = "0.5.3" +version = "0.5.4" dependencies = [ "anyhow", "candid", @@ -8771,7 +8771,7 @@ dependencies = [ [[package]] name = "trustworthy-node-metrics-types" -version = "0.5.3" +version = "0.5.4" dependencies = [ "candid", "dfn_core", diff --git a/Cargo.toml b/Cargo.toml index 2912401af..91c614ae3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,7 +29,7 @@ members = [ resolver = "2" [workspace.package] -version = "0.5.3" +version = "0.5.4" edition = "2021" authors = ["IC Decentralized Reliability Engineering (DRE) Team"] description = "Tooling for managing the Internet Computer" diff --git a/VERSION b/VERSION index be14282b7..7d8568351 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.5.3 +0.5.4 diff --git a/bin/cargo-deny-checks.sh b/bin/cargo-deny-checks.sh new file mode 100755 index 000000000..1046ebe4c --- /dev/null +++ b/bin/cargo-deny-checks.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +command -v cargo-deny >/dev/null || echo "'cargo-deny' not found. Please install it by running 'cargo install cargo-deny'" +cargo deny check diff --git a/bin/release-index-checks.sh b/bin/release-index-checks.sh new file mode 100755 index 000000000..ff95e24d3 --- /dev/null +++ b/bin/release-index-checks.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +files=("release-index-schema.json" "release-index.yaml" "release-controller/ci_check.py") + +found=false + +for file in "$@"; do + if [[ "${files[@]}" =~ "$file" ]]; then + found=true + break + fi +done + +if [[ "$found" == false ]]; then + exit 0 +fi +command -v rye >/dev/null || echo "'rye' not found. Please install it by following the instructions from https://rye.astral.sh/" +rye run python release-controller/ci_check.py --repo-path ~/.cache/git/ic diff --git a/docs/make-release.md b/docs/make-release.md index 60fc311b5..2e5e2c97f 100644 --- a/docs/make-release.md +++ b/docs/make-release.md @@ -17,7 +17,7 @@ If all looks okay, you can run the following convenience script to change the ve Example: ``` -❯ rye run bin/mk-release.py 0.5.0 +❯ rye run python3 bin/mk-release.py 0.5.0 INFO: Updating version from 0.4.3 to 0.5.0 Already up to date. INFO: Patching file pyproject.toml @@ -79,7 +79,7 @@ Next, create and push the git tag to the repo, to trigger the release CI workflo git checkout main git pull git status -rye run bin/mk-release.py --tag 0.5.0 +rye run python3 bin/mk-release.py --tag 0.5.0 ``` Wait for the triggered [GH action to finish](https://github.com/dfinity/dre/actions). It will take some time because it's building binaries for x86 and for darwin. @@ -91,4 +91,4 @@ Set the `latest` to point to this new release by unselecting `Set as a pre-relea  -Celebrate! \ No newline at end of file +Celebrate! diff --git a/pyproject.toml b/pyproject.toml index 4babbc842..1953238a8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "dre-repo" -version = "0.5.3" +version = "0.5.4" description = "" authors = [{ name = "DRE Team", email = "dept-DRE@dfinity.org" }] readme = "README.md" From e5125f389ace349cf254955e5475bdbdcc52cf29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C5=A1a=20Tomi=C4=87?= <sasa.tomic@dfinity.org> Date: Thu, 5 Sep 2024 19:48:46 +0200 Subject: [PATCH 22/25] Revert "fix(ci): Update the token for creating a PR in the k8s repo" This reverts commit bd9f64ab06f6e5f0fb1127bf54f9b4e440936662. --- .github/workflows/main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index fb17dcc2f..c4818a862 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -127,7 +127,7 @@ jobs: if: ${{ github.ref == 'refs/heads/main' }} uses: ./.github/workflows/update-k8s-deployments with: - github_api_token: ${{ secrets.GIX_CREATE_PR_PAT }} + github_api_token: ${{ secrets.K8S_API_TOKEN }} ######################################## # Deploy to github pages From 01341923a9e1161a27d305776b4ea1745433a46d Mon Sep 17 00:00:00 2001 From: Luka Skugor <luka.skugor@chimeramail.com> Date: Fri, 6 Sep 2024 09:01:19 +0200 Subject: [PATCH 23/25] chore(release-controller): replace ic-admin with dre (#866) Co-authored-by: CI Automation <infra@dfinity.org> --- release-controller/BUILD.bazel | 14 +-- release-controller/commit_annotator.py | 29 +++-- release-controller/dre_cli.py | 37 ++++++ release-controller/reconciler.py | 167 +++++++++++++++++++------ release-controller/util.py | 15 ++- 5 files changed, 195 insertions(+), 67 deletions(-) create mode 100644 release-controller/dre_cli.py diff --git a/release-controller/BUILD.bazel b/release-controller/BUILD.bazel index 9bef63e45..cffae3f86 100644 --- a/release-controller/BUILD.bazel +++ b/release-controller/BUILD.bazel @@ -19,7 +19,7 @@ deps = [ requirement("pydiscourse"), requirement("pydantic-yaml"), requirement("ic-py"), - "//pylib", + requirement("tenacity"), ] dev_deps = [ @@ -65,7 +65,7 @@ native_binary( src = select({ "@platforms//os:linux": "@bazelisk_linux//file", }), - out = "bazelisk", + out = "bazel", ) native_binary( @@ -103,12 +103,8 @@ py_test( ) tar( - name = "bazelisk_tar", - srcs = [":bazelisk"] -) -tar( - name = "target_determinator_tar", - srcs = [":target_determinator"] + name = "bins_tar", + srcs = [":bazelisk", ":target_determinator", "//rs/cli:dre"], ) py_oci_image( @@ -121,7 +117,7 @@ py_oci_image( name = "oci_image_commit_annotator", base = "@bazel_image_6_5_0", binary = ":commit_annotator", - tars = [":bazelisk_tar", ":target_determinator_tar"] + tars = [":bins_tar"] ) exports_files(["README.md"]) diff --git a/release-controller/commit_annotator.py b/release-controller/commit_annotator.py index 994fc80f2..30af43fce 100644 --- a/release-controller/commit_annotator.py +++ b/release-controller/commit_annotator.py @@ -10,7 +10,7 @@ from git_repo import GitRepo from datetime import datetime from tenacity import retry, stop_after_attempt -from util import bazel_binary +from util import resolve_binary GUESTOS_CHANGED_NOTES_NAMESPACE = "guestos-changed" @@ -32,16 +32,11 @@ def release_branch_date(branch: str) -> typing.Optional[datetime]: @retry(stop=stop_after_attempt(10)) def target_determinator(ic_repo: GitRepo, object: str) -> bool: ic_repo.checkout(object) - target_determinator_binary = "target-determinator" - target_determinator_binary_local = os.path.join(os.path.dirname(__file__), "target-determinator") - if os.path.exists(target_determinator_binary_local): - target_determinator_binary = target_determinator_binary_local - p = subprocess.run( [ - target_determinator_binary, + resolve_binary("target-determinator"), "-before-query-error-behavior=fatal", - f"-bazel={bazel_binary()}", + f"-bazel={resolve_binary("bazel")}", "--targets", GUESTOS_BAZEL_TARGETS, ic_repo.parent(object), @@ -53,7 +48,9 @@ def target_determinator(ic_repo: GitRepo, object: str) -> bool: ) output = p.stdout.decode().strip() logging.info(f"stdout of target determinator for {object}: '{output}'") - logging.info(f"stderr of target determinator for {object}: '{p.stderr.decode().strip()}'") + logging.info( + f"stderr of target determinator for {object}: '{p.stderr.decode().strip()}'" + ) return output != "" @@ -66,7 +63,10 @@ def annotate_object(ic_repo: GitRepo, object: str): content="\n".join( [ l - for l in subprocess.check_output(["bazel", "query", f"deps({GUESTOS_BAZEL_TARGETS})"], cwd=ic_repo.dir) + for l in subprocess.check_output( + ["bazel", "query", f"deps({GUESTOS_BAZEL_TARGETS})"], + cwd=ic_repo.dir, + ) .decode() .splitlines() if not l.startswith("@") @@ -87,7 +87,9 @@ def annotate_branch(ic_repo: GitRepo, branch: str): while True: if current_commit == CUTOFF_COMMIT: break - if ic_repo.get_note(namespace=GUESTOS_CHANGED_NOTES_NAMESPACE, object=current_commit): + if ic_repo.get_note( + namespace=GUESTOS_CHANGED_NOTES_NAMESPACE, object=current_commit + ): break logging.info("will annotate {}".format(current_commit)) @@ -120,7 +122,10 @@ def main(): logging.info("annotating branch {}".format(b)) annotate_branch(ic_repo, branch=b) except Exception as e: - logging.error("failed to annotate branch {}, will retry later".format(b), exc_info=e) + logging.error( + "failed to annotate branch {}, will retry later".format(b), + exc_info=e, + ) continue diff --git a/release-controller/dre_cli.py b/release-controller/dre_cli.py new file mode 100644 index 000000000..3a5c25e62 --- /dev/null +++ b/release-controller/dre_cli.py @@ -0,0 +1,37 @@ +import json +import subprocess +import typing +from util import resolve_binary +import os + + +class Auth(typing.TypedDict): + key_path: str + neuron_id: str + + +class DRECli: + def __init__(self, auth: typing.Optional[Auth] = None): + self.env = os.environ.copy() + if auth: + self.auth = [ + "--private-key-pem", + auth["key_path"], + "--neuron-id", + auth["neuron_id"], + ] + else: + self.auth = [] + self.cli = resolve_binary("dre") + + def run(self, *args): + """Run the dre CLI.""" + return subprocess.check_output([self.cli, *self.auth, *args], env=self.env) + + def get_blessed_versions(self): + """Query the blessed versions.""" + return json.loads( + subprocess.check_output( + [self.cli, "get", "blessed-replica-versions", "--json"], env=self.env + ) + ) diff --git a/release-controller/reconciler.py b/release-controller/reconciler.py index ded99042d..07f254b98 100644 --- a/release-controller/reconciler.py +++ b/release-controller/reconciler.py @@ -8,6 +8,7 @@ import time import traceback import typing +import dre_cli sys.path.append(os.path.join(os.path.dirname(__file__))) @@ -31,8 +32,6 @@ from util import version_name from watchdog import Watchdog -from pylib.ic_admin import IcAdmin - class ReconcilerState: """State for the reconciler. This is used to keep track of the proposals that have been submitted.""" @@ -61,9 +60,14 @@ def proposal_submitted(self, version: str) -> bool: if self._version_path(version).exists(): proposal_id = self.version_proposal(version) if proposal_id: - logging.info("version %s: proposal %s already submitted", version, proposal_id) + logging.info( + "version %s: proposal %s already submitted", version, proposal_id + ) else: - logging.warning("version %s: earlier proposal submission attempted but failed, will not retry", version) + logging.warning( + "version %s: earlier proposal submission attempted but failed, will not retry", + version, + ) return True return False @@ -79,7 +83,9 @@ def save_proposal(self, version: str, proposal_id: int): f.write(str(proposal_id)) -def oldest_active_release(index: release_index.Model, active_versions: list[str]) -> release_index.Release: +def oldest_active_release( + index: release_index.Model, active_versions: list[str] +) -> release_index.Release: for rc in reversed(index.root.releases): for v in rc.versions: if v.version in active_versions: @@ -92,30 +98,51 @@ def versions_to_unelect( index: release_index.Model, active_versions: list[str], elected_versions: list[str] ) -> list[str]: active_releases_versions = [] - for rc in index.root.releases[: index.root.releases.index(oldest_active_release(index, active_versions)) + 1]: + for rc in index.root.releases[ + : index.root.releases.index(oldest_active_release(index, active_versions)) + 1 + ]: for v in rc.versions: active_releases_versions.append(v.version) - return [v for v in elected_versions if v not in active_releases_versions and v not in active_versions] + return [ + v + for v in elected_versions + if v not in active_releases_versions and v not in active_versions + ] -def find_base_release(ic_repo: GitRepo, config: release_index.Model, commit: str) -> typing.Tuple[str, str]: +def find_base_release( + ic_repo: GitRepo, config: release_index.Model, commit: str +) -> typing.Tuple[str, str]: """ Find the parent release commit for the given commit. Optionally return merge base if it's not a direct parent. """ ic_repo.fetch() rc, rc_idx = next( - (rc, i) for i, rc in enumerate(config.root.releases) if any(v.version == commit for v in rc.versions) + (rc, i) + for i, rc in enumerate(config.root.releases) + if any(v.version == commit for v in rc.versions) + ) + v_idx = next( + i + for i, v in enumerate(config.root.releases[rc_idx].versions) + if v.version == commit ) - v_idx = next(i for i, v in enumerate(config.root.releases[rc_idx].versions) if v.version == commit) return ( ( config.root.releases[rc_idx + 1].versions[0].version, - version_name(config.root.releases[rc_idx + 1].rc_name, config.root.releases[rc_idx + 1].versions[0].name), + version_name( + config.root.releases[rc_idx + 1].rc_name, + config.root.releases[rc_idx + 1].versions[0].name, + ), ) # take first version from the previous rc if v_idx == 0 else min( - [(v.version, version_name(rc.rc_name, v.name)) for v in rc.versions if v.version != commit], + [ + (v.version, version_name(rc.rc_name, v.name)) + for v in rc.versions + if v.version != commit + ], key=lambda v: ic_repo.distance(ic_repo.merge_base(v[0], commit), commit), ) ) @@ -142,7 +169,8 @@ def version_package_urls(version: str): def version_package_checksum(version: str): with tempfile.TemporaryDirectory() as d: response = requests.get( - f"https://download.dfinity.systems/ic/{version}/guest-os/update-img/SHA256SUMS", timeout=10 + f"https://download.dfinity.systems/ic/{version}/guest-os/update-img/SHA256SUMS", + timeout=10, ) checksum = [ line @@ -184,7 +212,9 @@ def __init__( self.nns_url = nns_url self.governance_canister = GovernanceCanister() self.state = state - self.ic_prometheus = ICPrometheus(url="https://victoria.mainnet.dfinity.network/select/0/prometheus") + self.ic_prometheus = ICPrometheus( + url="https://victoria.mainnet.dfinity.network/select/0/prometheus" + ) self.ic_repo = ic_repo self.ignore_releases = ignore_releases or [] @@ -192,20 +222,38 @@ def reconcile(self): """Reconcile the state of the network with the release index.""" config = self.loader.index() active_versions = self.ic_prometheus.active_versions() - logging.info("GuestOS versions active on subnets or unassigned nodes: %s", active_versions) - ic_admin = IcAdmin(self.nns_url, git_revision=os.environ.get("IC_ADMIN_VERSION")) + logging.info( + "GuestOS versions active on subnets or unassigned nodes: %s", + active_versions, + ) + dre = dre_cli.DRECli( + dre_cli.Auth( + key_path=os.environ["PROPOSER_KEY_FILE"], + neuron_id=os.environ["PROPOSER_NEURON_ID"], + ) + ) for rc_idx, rc in enumerate( - config.root.releases[: config.root.releases.index(oldest_active_release(config, active_versions)) + 1] + config.root.releases[ + : config.root.releases.index( + oldest_active_release(config, active_versions) + ) + + 1 + ] ): if rc.rc_name in self.ignore_releases: continue rc_forum_topic = self.forum_client.get_or_create(rc) # update to create posts for any releases - rc_forum_topic.update(changelog=self.loader.proposal_summary, proposal=self.state.version_proposal) + rc_forum_topic.update( + changelog=self.loader.proposal_summary, + proposal=self.state.version_proposal, + ) for v_idx, v in enumerate(rc.versions): logging.info("Updating version %s", v) push_release_tags(self.ic_repo, rc) - base_release_commit, base_release_name = find_base_release(self.ic_repo, config, v.version) + base_release_commit, base_release_name = find_base_release( + self.ic_repo, config, v.version + ) self.notes_client.ensure( base_release_commit=base_release_commit, base_release_tag=base_release_name, @@ -215,23 +263,34 @@ def reconcile(self): ) self.publish_client.publish_if_ready( - google_doc_markdownified=self.notes_client.markdown_file(v.version), version=v.version + google_doc_markdownified=self.notes_client.markdown_file(v.version), + version=v.version, ) # returns a result only if changelog is published changelog = self.loader.proposal_summary(v.version) if changelog: if self.state.proposal_submitted(v.version): - logging.info("RC %s: proposal already submitted for version %s", rc.rc_name, v.version) + logging.info( + "RC %s: proposal already submitted for version %s", + rc.rc_name, + v.version, + ) else: - logging.info("RC %s: submitting proposal for version %s", rc.rc_name, v.version) + logging.info( + "RC %s: submitting proposal for version %s", + rc.rc_name, + v.version, + ) unelect_versions = [] if v_idx == 0: unelect_versions.extend( versions_to_unelect( config, active_versions=active_versions, - elected_versions=ic_admin.get_blessed_versions()["value"]["blessed_version_ids"], + elected_versions=dre.get_blessed_versions()[ + "value" + ]["blessed_version_ids"], ), ) # This is a defensive approach in case the ic-admin exits with failure @@ -240,37 +299,50 @@ def reconcile(self): self.state.mark_submitted(v.version) place_proposal( - ic_admin=ic_admin, + dre=dre, changelog=changelog, version=v.version, forum_post_url=rc_forum_topic.post_url(v.version), unelect_versions=unelect_versions, ) - versions_proposals = self.governance_canister.replica_version_proposals() + versions_proposals = ( + self.governance_canister.replica_version_proposals() + ) if v.version in versions_proposals: - self.state.save_proposal(v.version, versions_proposals[v.version]) + self.state.save_proposal( + v.version, versions_proposals[v.version] + ) # update the forum posts in case the proposal was created - rc_forum_topic.update(changelog=self.loader.proposal_summary, proposal=self.state.version_proposal) + rc_forum_topic.update( + changelog=self.loader.proposal_summary, + proposal=self.state.version_proposal, + ) -def place_proposal(ic_admin, changelog, version: str, forum_post_url: str, unelect_versions: list[str], dry_run=False): +def place_proposal( + dre: dre_cli.DRECli, + changelog, + version: str, + forum_post_url: str, + unelect_versions: list[str], + dry_run=False, +): unelect_versions_args = [] if len(unelect_versions) > 0: unelect_versions_args.append("--replica-versions-to-unelect") unelect_versions_args.extend(unelect_versions) summary = changelog + f"\n\nLink to the forum post: {forum_post_url}" logging.info("submitting proposal for version %s", version) - ic_admin.ic_admin_run( - "propose-to-update-elected-replica-versions", + dre.run( + "propose", + "update-elected-replica-versions", "--proposal-title", f"Elect new IC/Replica revision (commit {version[:7]})", "--summary", summary, - *(["--dry-run"] if dry_run else []), - "--proposer", - os.environ["PROPOSER_NEURON_ID"], # TODO: replace with system proposer + *(["--dry-run"] if dry_run else []), # TODO: replace with system proposer "--release-package-sha256-hex", version_package_checksum(version), "--release-package-urls", @@ -290,7 +362,9 @@ def main(): else: load_dotenv() - watchdog = Watchdog(timeout_seconds=600) # Reconciler should report healthy every 10 minutes + watchdog = Watchdog( + timeout_seconds=600 + ) # Reconciler should report healthy every 10 minutes watchdog.start() discourse_client = DiscourseClient( @@ -299,10 +373,17 @@ def main(): api_key=os.environ["DISCOURSE_KEY"], ) config_loader = ( - GitReleaseLoader(f"https://github.com/{dre_repo}.git") if "dev" not in os.environ else DevReleaseLoader() + GitReleaseLoader(f"https://github.com/{dre_repo}.git") + if "dev" not in os.environ + else DevReleaseLoader() ) state = ReconcilerState( - pathlib.Path(os.environ.get("RECONCILER_STATE_DIR", pathlib.Path.home() / ".cache/release-controller")) + pathlib.Path( + os.environ.get( + "RECONCILER_STATE_DIR", + pathlib.Path.home() / ".cache/release-controller", + ) + ) ) forum_client = ReleaseCandidateForumClient( discourse_client, @@ -314,7 +395,10 @@ def main(): loader=config_loader, notes_client=ReleaseNotesClient( credentials_file=pathlib.Path( - os.environ.get("GDOCS_CREDENTIALS_PATH", pathlib.Path(__file__).parent.resolve() / "credentials.json") + os.environ.get( + "GDOCS_CREDENTIALS_PATH", + pathlib.Path(__file__).parent.resolve() / "credentials.json", + ) ) ), publish_client=PublishNotesClient(github_client.get_repo(dre_repo)), @@ -324,7 +408,10 @@ def main(): "rc--2024-03-06_23-01", "rc--2024-03-20_23-01", ], - ic_repo=GitRepo(f"https://oauth2:{github_token}@github.com/dfinity/ic.git", main_branch="master"), + ic_repo=GitRepo( + f"https://oauth2:{github_token}@github.com/dfinity/ic.git", + main_branch="master", + ), ) while True: @@ -343,9 +430,9 @@ def oneoff(): version = "ac971e7b4c851b89b312bee812f6de542ed907c5" changelog = release_loader.proposal_summary(version) - ic_admin = IcAdmin("https://ic0.app", git_revision="5ba1412f9175d987661ae3c0d8dbd1ac3e092b7d") + dre = dre_cli.DRECli() place_proposal( - ic_admin=ic_admin, + dre=dre, changelog=changelog, version=version, forum_post_url="https://forum.dfinity.org/t/proposal-to-elect-new-release-rc-2024-03-27-23-01/29042/7", diff --git a/release-controller/util.py b/release-controller/util.py index 1ff792274..909087341 100644 --- a/release-controller/util.py +++ b/release-controller/util.py @@ -6,9 +6,12 @@ def version_name(rc_name: str, name: str): return f"release-{date}-{name}" -def bazel_binary(): - bazel_binary = "bazel" - bazel_binary_local = os.path.join(os.path.dirname(__file__), "bazelisk") - if os.path.exists(bazel_binary_local): - bazel_binary = bazel_binary_local - return bazel_binary +def resolve_binary(name: str): + """ + Resolve the binary path for the given binary name. + Try to locate the binary in expected location if it was packaged in an OCI image. + """ + binary_local = os.path.join(os.path.dirname(__file__), name) + if os.path.exists(binary_local): + return binary_local + return name From 317d7c9e18090272f7165e1899bf6419e0a6b7db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C5=A1a=20Tomi=C4=87?= <sasa.tomic@dfinity.org> Date: Fri, 6 Sep 2024 10:09:11 +0200 Subject: [PATCH 24/25] fix(ci): Move update of the k8s repo later, since it was failing (#877) --- .github/workflows/main.yaml | 18 +++++++++--------- deny.toml | 1 + 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index c4818a862..fca33d1df 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -120,15 +120,6 @@ jobs: echo ${files[@]} echo "files=${files[@]}" >> $GITHUB_ENV - ######################################## - # Update k8s deployments - ######################################## - - name: "🤖 Update k8s deployments" - if: ${{ github.ref == 'refs/heads/main' }} - uses: ./.github/workflows/update-k8s-deployments - with: - github_api_token: ${{ secrets.K8S_API_TOKEN }} - ######################################## # Deploy to github pages ######################################## @@ -139,6 +130,15 @@ jobs: git config --global user.name "GitHub Actions" bazel run "//:mkdocs" -- gh-deploy --force + ######################################## + # Update k8s deployments + ######################################## + - name: "🤖 Update k8s deployments" + if: ${{ github.ref == 'refs/heads/main' }} + uses: ./.github/workflows/update-k8s-deployments + with: + github_api_token: ${{ secrets.K8S_API_TOKEN }} + ######################################## # Clean up runner ######################################## diff --git a/deny.toml b/deny.toml index 683f010af..6fc1321cc 100644 --- a/deny.toml +++ b/deny.toml @@ -75,6 +75,7 @@ ignore = [ { id = "RUSTSEC-2021-0127", reason = "migration to ciborium / minicbor pending" }, { id = "RUSTSEC-2021-0141", reason = "migration away from dotenv pending" }, { id = "RUSTSEC-2021-0145", reason = "the potential security issue only affects Windows, which we do not target" }, + { id = "RUSTSEC-2024-0370", reason = "alternative not yet available" }, #"a-crate-that-is-yanked@0.1.1", # you can also ignore yanked crate versions if you wish #{ crate = "a-crate-that-is-yanked@0.1.1", reason = "you can specify why you are ignoring the yanked crate" }, ] From 0e818c20cfad38d4c880ba3d8c35d85900fea22e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C5=A1a=20Tomi=C4=87?= <sasa.tomic@dfinity.org> Date: Fri, 6 Sep 2024 10:23:51 +0200 Subject: [PATCH 25/25] chore(ci): Use the same cargo-deny-checks.sh script locally and on the CI (#878) --- .github/workflows/build/action.yaml | 2 +- bin/cargo-deny-checks.sh | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build/action.yaml b/.github/workflows/build/action.yaml index ff64c364c..e58f7a3d3 100644 --- a/.github/workflows/build/action.yaml +++ b/.github/workflows/build/action.yaml @@ -17,7 +17,7 @@ runs: echo Installing cargo-deny >&2 cargo install --quiet cargo-deny } - cargo deny check -D warnings + bin/cargo-deny-checks.sh shell: bash - name: "Build and repin" diff --git a/bin/cargo-deny-checks.sh b/bin/cargo-deny-checks.sh index 1046ebe4c..dfe2603e8 100755 --- a/bin/cargo-deny-checks.sh +++ b/bin/cargo-deny-checks.sh @@ -1,4 +1,13 @@ #!/usr/bin/env bash +command -v cargo >/dev/null || { + if test -x "$HOME/.cargo/bin/cargo"; then + export PATH="$HOME/.cargo/bin:$PATH" + else + echo "'cargo' not found. Please install it by following the instructions at https://doc.rust-lang.org/cargo/getting-started/installation.html" + exit 1 + fi +} + command -v cargo-deny >/dev/null || echo "'cargo-deny' not found. Please install it by running 'cargo install cargo-deny'" cargo deny check