add graph module
[?]
AAAAC3NzaC1lZDI1NTE5AAAAIP9PKBeqBh9i7lpfwbz1e0S9vijakQ65s6hUb0nwdJzd
Jun 27, 2026, 2:42 PM
NKN2ARCTZA4OWUERAZ5G2ANLOPI7F5RVGNHJAYXCUPCCEC2UWDBQCDependencies
Change contents
- edit in src/main.rs at line 1
mod graph;use graph::PijulGraph; - edit in src/main.rs at line 20
- edit in src/main.rs at line 24
let mut pijul_graph = PijulGraph::new(); - file addition: graph.rs[2.15]
use std::collections::{HashMap, HashSet};use std::fs::File;use std::io::Write;use std::path::Path;use walkdir::WalkDir;use libpijul::changestore::{ChangeStore, filesystem::FileSystem};use libpijul::pristine::Hash;use libpijul::Base32;use petgraph::graph::{DiGraph, NodeIndex};use petgraph::dot::{Dot, Config};#[derive(Debug, Clone, Copy, PartialEq, Eq)]pub enum DependencyKind {Standard,Context,}/// パッチ単体の情報を保持する構造体#[derive(Debug, Clone)]pub struct PatchInfo {pub hash: Hash,pub message: String,pub timestamp: String,pub author: String,}pub struct PijulGraph {pub graph: DiGraph<PatchInfo, DependencyKind>,node_indices: HashMap<Hash, NodeIndex>,}impl PijulGraph {pub fn new() -> Self {Self {graph: DiGraph::new(),node_indices: HashMap::new(),}}/// .pijul/changes からリポジトリの状態をロードしてDAGを構築するpub fn load_from_repo<P: AsRef<Path>>(&mut self, repo_path: P) -> Result<(), Box<dyn std::error::Error>> {let dot_pijul = repo_path.as_ref().join(".pijul");if !dot_pijul.exists() {return Err("Not a Pijul repository (missing .pijul directory)".into());}let store = FileSystem::from_root(repo_path.as_ref(), 0);let changes_dir = dot_pijul.join("changes");let mut edges_to_add = Vec::new();for entry in WalkDir::new(&changes_dir).into_iter().filter_map(|e| e.ok()) {let path = entry.path();if path.is_file() && !path.file_name().unwrap().to_string_lossy().starts_with('.') {let relative = path.strip_prefix(&changes_dir)?;let hash_str = relative.to_string_lossy().replace(std::path::MAIN_SEPARATOR, "");let hash_pure = hash_str.split('.').next().unwrap_or(&hash_str);let current_hash = match Hash::from_base32(hash_pure.as_bytes()) {Some(h) => h,None => continue,};let change = match store.get_change(¤t_hash) {Ok(c) => c,Err(_) => continue,};let header = change.hashed.header;let author = header.authors.first().map(|a| format!("{:?}", a)).unwrap_or_else(|| "Unknown".to_string());let info = PatchInfo {hash: current_hash,message: header.message,timestamp: format!("{:?}", header.timestamp),author,};let node_idx = self.graph.add_node(info);self.node_indices.insert(current_hash, node_idx);for dep in change.hashed.dependencies {edges_to_add.push((current_hash, dep, DependencyKind::Standard));}for extra in change.hashed.extra_known {edges_to_add.push((current_hash, extra, DependencyKind::Context));}}}for (child, parent, kind) in edges_to_add {if let (Some(&child_idx), Some(&parent_idx)) = (self.node_indices.get(&child), self.node_indices.get(&parent)) {self.graph.add_edge(child_idx, parent_idx, kind);}}Ok(())}/// Graphviz形式のファイルをエクスポートするpub fn write_dot_file<P: AsRef<Path>>(&self, output_path: P) -> std::io::Result<()> {// 表示用に文字列だけのグラフにマップlet string_graph = self.graph.map(|_, node| {let s_hash = node.hash.to_base32();format!("[{}] {}", if s_hash.len() > 8 { &s_hash[0..8] } else { &s_hash }, node.message.replace('\n', " "))},|_, &kind| kind);let dot_output = format!("{:?}", Dot::with_config(&string_graph, &[Config::EdgeNoLabel]));let dot_output = dot_output.replace("label = \"Context\"", "style = \"dashed\", color = \"gray\", label = \"*\"");let mut file = File::create(output_path)?;file.write_all(dot_output.as_bytes())?;Ok(())}/// ★ 新機能:論理的に破綻のないすべてのパッチの組み合わせ(世界線)を列挙する/// 修正:上限付きで世界線を列挙する安全弁を追加pub fn enumerate_ideals(&self, limit: usize) -> Vec<HashSet<Hash>> {let mut results = Vec::new();let mut topo_order = match petgraph::algo::toposort(&self.graph, None) {Ok(order) => order,Err(_) => return Vec::new(),};topo_order.reverse();let mut current_set = HashSet::new();self.backtrack_ideals(0, &topo_order, &mut current_set, &mut results, limit);results.sort_by_key(|set| set.len());results}fn backtrack_ideals(&self,idx: usize,topo_order: &[NodeIndex],current_set: &mut HashSet<NodeIndex>,results: &mut Vec<HashSet<Hash>>,limit: usize,) {// 上限に達したら探索を打ち切るif results.len() >= limit {return;}if idx == topo_order.len() {let hash_set = current_set.iter().map(|&n| self.graph[n].hash).collect();results.push(hash_set);return;}let node = topo_order[idx];// 選択肢①: 含めないself.backtrack_ideals(idx + 1, topo_order, current_set, results, limit);// 選択肢②: 含めるlet mut parents_satisfied = true;for parent in self.graph.neighbors_directed(node, petgraph::Direction::Outgoing) {if !current_set.contains(&parent) {parents_satisfied = false;break;}}if parents_satisfied {current_set.insert(node);self.backtrack_ideals(idx + 1, topo_order, current_set, results, limit);current_set.remove(&node);}}/// ★新機能:特定のパッチが依存する「最小の閉じられた世界」を爆速で計算する (主イデアル)pub fn get_minimal_world_for(&self, target_hash: &Hash) -> Option<HashSet<Hash>> {let start_node = *self.node_indices.get(target_hash)?;let mut closure = HashSet::new();let mut dfs = petgraph::visit::Dfs::new(&self.graph, start_node);// ターゲットから到達可能な(=依存している)過去のノードをすべて回収while let Some(nx) = dfs.next(&self.graph) {closure.insert(self.graph[nx].hash);}Some(closure)}} - edit in Cargo.toml at line 7
libpijul = "1.0.0-beta"walkdir = "2.5"petgraph = "0.6" - edit in Cargo.lock at line 4
[[package]]name = "adler32"version = "1.2.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"[[package]]name = "aes"version = "0.7.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8"dependencies = ["cfg-if","cipher","cpufeatures 0.2.17","ctr","opaque-debug",][[package]]name = "aho-corasick"version = "1.1.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301"dependencies = ["memchr",] - replacement in Cargo.lock at line 69
"windows-sys","windows-sys 0.61.2", - replacement in Cargo.lock at line 80
"windows-sys","windows-sys 0.61.2",][[package]]name = "arrayref"version = "0.3.9"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb"[[package]]name = "arrayvec"version = "0.7.7"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f02882884d3e1bc524fb12c79f107f6ad0e1cfd498c536ffb494301740995dfe"[[package]]name = "bincode"version = "1.3.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"dependencies = ["serde",][[package]]name = "bitflags"version = "1.3.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"[[package]]name = "bitflags"version = "2.13.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8"dependencies = ["serde_core",][[package]]name = "blake3"version = "1.8.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "0aa83c34e62843d924f905e0f5c866eb1dd6545fc4d719e803d9ba6030371fce"dependencies = ["arrayref","arrayvec","cc","cfg-if","constant_time_eq","cpufeatures 0.3.0",][[package]]name = "block-buffer"version = "0.9.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"dependencies = ["generic-array",][[package]]name = "bs58"version = "0.4.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3"[[package]]name = "bstr"version = "1.12.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "5cee35f73844aa3014bb606320a6c1f010249dbdf43342fe54b5a4f6a8ed4b79"dependencies = ["memchr","serde_core",][[package]]name = "bumpalo"version = "3.20.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649"[[package]]name = "byteorder"version = "1.5.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"[[package]]name = "canonical-path"version = "2.0.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "e6e9e01327e6c86e92ec72b1c798d4a94810f147209bbe3ffab6a86954937a6f"[[package]]name = "cc"version = "1.2.65"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "e228eec9be7c17ccb640b59b36a5cd805ea2a564a4c5e162c2f659fea30d3b96"dependencies = ["find-msvc-tools","shlex", - edit in Cargo.lock at line 187
name = "cfg-if"version = "1.0.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"[[package]]name = "chardetng"version = "0.1.17"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "14b8f0b65b7b08ae3c8187e8d77174de20cb6777864c6b832d8ad365999cf1ea"dependencies = ["cfg-if","encoding_rs","memchr",][[package]]name = "cipher"version = "0.3.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7"dependencies = ["generic-array",][[package]] - edit in Cargo.lock at line 257
[[package]]name = "constant_time_eq"version = "0.4.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "3d52eff69cd5e647efe296129160853a42795992097e8af39800e1060caeea9b"[[package]]name = "cpufeatures"version = "0.2.17"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280"dependencies = ["libc",][[package]]name = "cpufeatures"version = "0.3.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201"dependencies = ["libc",][[package]]name = "crc32fast"version = "1.5.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"dependencies = ["cfg-if",][[package]]name = "crossbeam-deque"version = "0.8.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"dependencies = ["crossbeam-epoch","crossbeam-utils",][[package]]name = "crossbeam-epoch"version = "0.9.18"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"dependencies = ["crossbeam-utils",][[package]]name = "crossbeam-utils"version = "0.8.21"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"[[package]]name = "crypto-mac"version = "0.11.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714"dependencies = ["generic-array","subtle",][[package]]name = "ctr"version = "0.8.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea"dependencies = ["cipher",][[package]]name = "curve25519-dalek"version = "3.2.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "90f9d052967f590a76e62eb387bd0bbb1b000182c3cefe5364db6b7211651bc0"dependencies = ["byteorder","digest","rand_core 0.5.1","subtle","zeroize",][[package]]name = "curve25519-dalek"version = "4.1.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be"dependencies = ["cfg-if","cpufeatures 0.2.17","curve25519-dalek-derive","fiat-crypto","rustc_version","serde","subtle","zeroize",][[package]]name = "curve25519-dalek-derive"version = "0.1.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3"dependencies = ["proc-macro2","quote","syn",][[package]]name = "data-encoding"version = "2.11.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "a4ae5f15dda3c708c0ade84bfee31ccab44a3da4f88015ed22f63732abe300c8"[[package]]name = "defmt"version = "1.1.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "a6e524506490a1953d237cb87b1cfc1e46f88c18f10a22dfe0f507dc6bfc7f7f"dependencies = ["bitflags 1.3.2","defmt-macros",][[package]]name = "defmt-macros"version = "1.1.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f0a27770e9c8f719a79d8b638281f4d828f77d8fd61e0bd94451b9b85e576a0b"dependencies = ["defmt-parser","proc-macro-error2","proc-macro2","quote","syn",][[package]]name = "defmt-parser"version = "1.0.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "10d60334b3b2e7c9d91ef8150abfb6fa4c1c39ebbcf4a81c2e346aad939fee3e"dependencies = ["thiserror 2.0.18",][[package]]name = "diffs"version = "0.5.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ff116c9781d74b71b9b8958281309dd2faaeabad2f0a3df27e50bd79ce5dc805"[[package]]name = "digest"version = "0.9.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"dependencies = ["generic-array",][[package]]name = "ed25519"version = "1.5.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7"dependencies = ["serde","signature",][[package]]name = "ed25519-dalek"version = "1.0.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d"dependencies = ["curve25519-dalek 3.2.1","ed25519","rand 0.7.3","serde","serde_bytes","sha2","zeroize",][[package]]name = "encoding_rs"version = "0.8.35"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3"dependencies = ["cfg-if",][[package]]name = "equivalent"version = "1.0.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"[[package]]name = "errno"version = "0.3.14"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"dependencies = ["libc","windows-sys 0.61.2",][[package]]name = "fastrand"version = "2.4.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6"[[package]]name = "fiat-crypto"version = "0.2.9"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d"[[package]]name = "find-msvc-tools"version = "0.1.9"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"[[package]]name = "fixedbitset"version = "0.4.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"[[package]]name = "foldhash"version = "0.1.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" - edit in Cargo.lock at line 509
name = "fs4"version = "0.6.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "2eeb4ed9e12f43b7fa0baae3f9cdda28352770132ef2e09a23760c29cae8bd47"dependencies = ["rustix 0.38.44","windows-sys 0.48.0",][[package]]name = "futures-core"version = "0.3.32"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"[[package]]name = "futures-task"version = "0.3.32"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393"[[package]]name = "futures-util"version = "0.3.32"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6"dependencies = ["futures-core","futures-task","pin-project-lite","slab",][[package]]name = "generic-array"version = "0.14.9"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "4bb6743198531e02858aeaea5398fcc883e71851fcbcb5a2f773e2fb6cb1edf2"dependencies = ["typenum","version_check",][[package]]name = "getrandom"version = "0.1.16"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"dependencies = ["cfg-if","libc","wasi 0.9.0+wasi-snapshot-preview1",][[package]]name = "getrandom"version = "0.2.17"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0"dependencies = ["cfg-if","js-sys","libc","wasi 0.11.1+wasi-snapshot-preview1","wasm-bindgen",][[package]]name = "getrandom"version = "0.3.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd"dependencies = ["cfg-if","libc","r-efi 5.3.0","wasip2",][[package]]name = "getrandom"version = "0.4.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "300e883d756b2e4ec94e02791f39b04b522276138852cfc41d9fb7e904106099"dependencies = ["cfg-if","libc","r-efi 6.0.0",][[package]]name = "globset"version = "0.4.18"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3"dependencies = ["aho-corasick","bstr","log","regex-automata","regex-syntax",][[package]]name = "hashbrown"version = "0.15.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"dependencies = ["foldhash",][[package]]name = "hashbrown"version = "0.17.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a"[[package]] - edit in Cargo.lock at line 632
[[package]]name = "hermit-abi"version = "0.5.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c"[[package]]name = "hmac"version = "0.11.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b"dependencies = ["crypto-mac","digest",][[package]]name = "ignore"version = "0.4.26"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "b915661dd01db3f05050265b2477bcc6527b3792388e2749b41623cc592be67d"dependencies = ["crossbeam-deque","globset","log","memchr","regex-automata","same-file","walkdir","winapi-util",][[package]]name = "imara-diff"version = "0.1.8"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "17d34b7d42178945f775e84bc4c36dde7c1c6cdfea656d3354d009056f2bb3d2"dependencies = ["hashbrown 0.15.5",] - edit in Cargo.lock at line 675
name = "indexmap"version = "2.14.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9"dependencies = ["equivalent","hashbrown 0.17.1",][[package]]name = "instant"version = "0.1.13"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222"dependencies = ["cfg-if",][[package]] - edit in Cargo.lock at line 698
[[package]]name = "itoa"version = "1.0.18"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"[[package]]name = "jiff"version = "0.2.29"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "34f877a98676d2fb664698d74cc6a51ce6c484ce8c770f05d0108ec9090aeb46"dependencies = ["defmt","jiff-static","jiff-tzdb-platform","log","portable-atomic","portable-atomic-util","serde_core","windows-link",][[package]]name = "jiff-static"version = "0.2.29"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "0666b5ab5ecaca213fc2a85b8c0083d9004e84ee2d5f9a7e0017aaf50986f25f"dependencies = ["proc-macro2","quote","syn",][[package]]name = "jiff-tzdb"version = "0.1.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "c900ef84826f1338a557697dc8fc601df9ca9af4ac137c7fb61d4c6f2dfd3076" - edit in Cargo.lock at line 739
name = "jiff-tzdb-platform"version = "0.1.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8"dependencies = ["jiff-tzdb",][[package]]name = "js-sys"version = "0.3.103"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "53b44bfcdb3f8d5837a46dae1ca9660a837176eee74a28b229bc626816589102"dependencies = ["cfg-if","futures-util","wasm-bindgen",][[package]]name = "lazy_static"version = "1.5.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"[[package]]name = "libc"version = "0.2.186"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"[[package]]name = "libpijul"version = "1.0.0-beta.11"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f625e90234ef1fd164dfe7980ffb04a3036a08e31e051cc29e6273a0c9a7a7e7"dependencies = ["adler32","aes","bincode","bitflags 2.13.0","blake3","bs58","byteorder","canonical-path","chardetng","crossbeam-deque","curve25519-dalek 4.1.3","data-encoding","diffs","ed25519-dalek","encoding_rs","generic-array","getrandom 0.2.17","hmac","ignore","imara-diff","jiff","log","lru-cache","nom","parking_lot 0.12.5","path-slash","pbkdf2","pijul-macros","rand 0.9.4","regex","sanakirja","serde","serde_derive","serde_json","sha2","tempfile","thiserror 2.0.18","toml","twox-hash","zstd-seekable",][[package]]name = "linked-hash-map"version = "0.5.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"[[package]]name = "linux-raw-sys"version = "0.4.15"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab"[[package]]name = "linux-raw-sys"version = "0.12.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"[[package]]name = "lock_api"version = "0.4.14"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"dependencies = ["scopeguard",][[package]]name = "log"version = "0.4.33"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"[[package]]name = "lru-cache"version = "0.1.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c"dependencies = ["linked-hash-map",][[package]]name = "memchr"version = "2.8.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "88904434abc2901f197fe8cc55f0445e7ded921dba5911dad2e2b39b48e663c4"[[package]]name = "memmap2"version = "0.9.11"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d1219ed1b7f229ee7104d281dd01d6802fe28bb6e95d292942c4daacdeb798c0"dependencies = ["libc",][[package]]name = "minimal-lexical"version = "0.2.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"[[package]]name = "nom"version = "7.1.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"dependencies = ["memchr","minimal-lexical",][[package]]name = "num_cpus"version = "1.17.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "91df4bbde75afed763b708b7eee1e8e7651e02d97f6d5dd763e89367e957b23b"dependencies = ["hermit-abi","libc",][[package]]name = "once_cell"version = "1.21.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"[[package]] - edit in Cargo.lock at line 914
name = "opaque-debug"version = "0.3.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"[[package]]name = "parking_lot"version = "0.11.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"dependencies = ["instant","lock_api","parking_lot_core 0.8.6",][[package]]name = "parking_lot"version = "0.12.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"dependencies = ["lock_api","parking_lot_core 0.9.12",][[package]]name = "parking_lot_core"version = "0.8.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"dependencies = ["cfg-if","instant","libc","redox_syscall 0.2.16","smallvec","winapi",][[package]]name = "parking_lot_core"version = "0.9.12"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"dependencies = ["cfg-if","libc","redox_syscall 0.5.18","smallvec","windows-link",][[package]]name = "path-slash"version = "0.2.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42"[[package]]name = "pbkdf2"version = "0.9.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f05894bce6a1ba4be299d0c5f29563e08af2bc18bb7d48313113bed71e904739"dependencies = ["crypto-mac",][[package]]name = "petgraph"version = "0.6.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db"dependencies = ["fixedbitset","indexmap",][[package]] - edit in Cargo.lock at line 997
"libpijul","petgraph","walkdir",][[package]]name = "pijul-macros"version = "1.0.0-beta.13"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "97375a282175b20c2f2bd2ae73c106a3c9ffc3d36e81c56e08ee8c87e204a588"dependencies = ["proc-macro2","quote","syn",][[package]]name = "pin-project-lite"version = "0.2.17"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"[[package]]name = "pkg-config"version = "0.3.33"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e"[[package]]name = "portable-atomic"version = "1.13.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"[[package]]name = "portable-atomic-util"version = "0.2.7"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618"dependencies = ["portable-atomic",][[package]]name = "ppv-lite86"version = "0.2.21"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"dependencies = ["zerocopy",][[package]]name = "proc-macro-error-attr2"version = "2.0.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5"dependencies = ["proc-macro2","quote",][[package]]name = "proc-macro-error2"version = "2.0.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802"dependencies = ["proc-macro-error-attr2","proc-macro2","quote","syn", - edit in Cargo.lock at line 1085
dependencies = ["proc-macro2",][[package]]name = "r-efi"version = "5.3.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"[[package]]name = "r-efi"version = "6.0.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"[[package]]name = "rand"version = "0.7.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"dependencies = ["getrandom 0.1.16","libc","rand_chacha 0.2.2","rand_core 0.5.1","rand_hc",][[package]]name = "rand"version = "0.8.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a"dependencies = ["libc","rand_chacha 0.3.1","rand_core 0.6.4",][[package]]name = "rand"version = "0.9.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea"dependencies = ["rand_chacha 0.9.0","rand_core 0.9.5",][[package]]name = "rand_chacha"version = "0.2.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"dependencies = ["ppv-lite86","rand_core 0.5.1",][[package]]name = "rand_chacha"version = "0.3.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"dependencies = ["ppv-lite86","rand_core 0.6.4",][[package]]name = "rand_chacha"version = "0.9.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"dependencies = ["ppv-lite86","rand_core 0.9.5",][[package]]name = "rand_core"version = "0.5.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"dependencies = ["getrandom 0.1.16",][[package]]name = "rand_core"version = "0.6.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"dependencies = ["getrandom 0.2.17",][[package]]name = "rand_core"version = "0.9.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c"dependencies = ["getrandom 0.3.4",][[package]]name = "rand_hc"version = "0.2.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"dependencies = ["rand_core 0.5.1",][[package]]name = "redox_syscall"version = "0.2.16"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"dependencies = ["bitflags 1.3.2",][[package]]name = "redox_syscall"version = "0.5.18"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"dependencies = ["bitflags 2.13.0",][[package]]name = "regex"version = "1.12.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f1292b7759ae1cb9ec195452d1390a074f0cd8541ab7a5a8c31cd6db45d4a6ba"dependencies = ["aho-corasick","memchr","regex-automata","regex-syntax",][[package]]name = "regex-automata"version = "0.4.14"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f"dependencies = ["aho-corasick","memchr","regex-syntax",][[package]]name = "regex-syntax"version = "0.8.11"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4"[[package]]name = "rustc_version"version = "0.4.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"dependencies = ["semver",][[package]]name = "rustix"version = "0.38.44"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154"dependencies = ["bitflags 2.13.0","errno","libc","linux-raw-sys 0.4.15","windows-sys 0.59.0",][[package]]name = "rustix"version = "1.1.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"dependencies = ["bitflags 2.13.0","errno","libc","linux-raw-sys 0.12.1","windows-sys 0.61.2",][[package]]name = "rustversion"version = "1.0.22"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"[[package]]name = "same-file"version = "1.0.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"dependencies = ["winapi-util",][[package]]name = "sanakirja"version = "2.0.0-beta"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "4fc53a1e7a19d27c070749c0d2717427d1612c9b100274b205dbb438e605e34a"dependencies = ["crc32fast","fs4","lazy_static","libc","log","memmap2","parking_lot 0.11.2","sanakirja-core","serde","thiserror 1.0.69",][[package]]name = "sanakirja-core"version = "2.0.0-beta"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "48a8500bcb79fe605b1433c30e8c5c078810b24dc4d04ffda35e88d712ff16f0"dependencies = ["crc32fast",][[package]]name = "scopeguard"version = "1.2.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"[[package]]name = "semver"version = "1.0.28"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd"[[package]]name = "serde"version = "1.0.228"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"dependencies = ["serde_core","serde_derive",][[package]]name = "serde_bytes"version = "0.11.19"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "a5d440709e79d88e51ac01c4b72fc6cb7314017bb7da9eeff678aa94c10e3ea8"dependencies = ["serde","serde_core",][[package]]name = "serde_core"version = "1.0.228"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"dependencies = ["serde_derive",][[package]]name = "serde_derive"version = "1.0.228"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" - edit in Cargo.lock at line 1373
"quote","syn",][[package]]name = "serde_json"version = "1.0.150"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "e8014e44b4736ed0538adeecded0fce2a272f22dc9578a7eb6b2d9993c74cfb9"dependencies = ["itoa","memchr","serde","serde_core","zmij",][[package]]name = "serde_spanned"version = "0.6.9"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3"dependencies = ["serde",][[package]]name = "sha2"version = "0.9.9"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800"dependencies = ["block-buffer","cfg-if","cpufeatures 0.2.17","digest","opaque-debug", - edit in Cargo.lock at line 1411
[[package]]name = "shlex"version = "2.0.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"[[package]]name = "signature"version = "1.6.4"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c"[[package]]name = "slab"version = "0.4.12"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" - edit in Cargo.lock at line 1431
name = "smallvec"version = "1.15.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"[[package]]name = "static_assertions"version = "1.1.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"[[package]] - edit in Cargo.lock at line 1449
name = "subtle"version = "2.4.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"[[package]] - edit in Cargo.lock at line 1466
name = "tempfile"version = "3.27.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd"dependencies = ["fastrand","getrandom 0.4.3","once_cell","rustix 1.1.4","windows-sys 0.61.2",][[package]]name = "thiserror"version = "1.0.69"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"dependencies = ["thiserror-impl 1.0.69",][[package]]name = "thiserror"version = "2.0.18"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4"dependencies = ["thiserror-impl 2.0.18",][[package]]name = "thiserror-impl"version = "1.0.69"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"dependencies = ["proc-macro2","quote","syn",][[package]]name = "thiserror-impl"version = "2.0.18"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5"dependencies = ["proc-macro2","quote","syn",][[package]]name = "threadpool"version = "1.8.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa"dependencies = ["num_cpus",][[package]]name = "toml"version = "0.8.23"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362"dependencies = ["indexmap","serde","serde_spanned","toml_datetime","toml_edit",][[package]]name = "toml_datetime"version = "0.6.11"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c"dependencies = ["serde",][[package]]name = "toml_edit"version = "0.22.27"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"dependencies = ["indexmap","serde","serde_spanned","toml_datetime","toml_write","winnow",][[package]]name = "toml_write"version = "0.1.2"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801"[[package]]name = "twox-hash"version = "1.6.3"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"dependencies = ["cfg-if","rand 0.8.6","static_assertions",][[package]]name = "typenum"version = "1.20.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20"[[package]] - edit in Cargo.lock at line 1597
[[package]]name = "version_check"version = "0.9.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"[[package]]name = "walkdir"version = "2.5.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"dependencies = ["same-file","winapi-util",][[package]]name = "wasi"version = "0.9.0+wasi-snapshot-preview1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"[[package]]name = "wasi"version = "0.11.1+wasi-snapshot-preview1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"[[package]]name = "wasip2"version = "1.0.4+wasi-0.2.12"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487"dependencies = ["wit-bindgen",][[package]]name = "wasm-bindgen"version = "0.2.126"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "4b067c0c11094aef6b7a801c1e34a26affafdf3d051dba08456b868789aaf9a4"dependencies = ["cfg-if","once_cell","rustversion","wasm-bindgen-macro","wasm-bindgen-shared",][[package]]name = "wasm-bindgen-macro"version = "0.2.126"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "167ce5e579f6bcf889c4f7175a8a5a585de84e8ff93976ce393efa5f2837aab1"dependencies = ["quote","wasm-bindgen-macro-support",][[package]]name = "wasm-bindgen-macro-support"version = "0.2.126"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "f3997c7839262f4ef12cf90b818d6340c18e80f263f1a94bf157d0ec4420380e"dependencies = ["bumpalo","proc-macro2","quote","syn","wasm-bindgen-shared",][[package]]name = "wasm-bindgen-shared"version = "0.2.126"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "dc1b4cb0cc549fcf58d7dfc081778139b3d283a081644e833e84682ad71cea24"dependencies = ["unicode-ident",] - edit in Cargo.lock at line 1681
name = "winapi"version = "0.3.9"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"dependencies = ["winapi-i686-pc-windows-gnu","winapi-x86_64-pc-windows-gnu",][[package]]name = "winapi-i686-pc-windows-gnu"version = "0.4.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"[[package]]name = "winapi-util"version = "0.1.11"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"dependencies = ["windows-sys 0.61.2",][[package]]name = "winapi-x86_64-pc-windows-gnu"version = "0.4.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"[[package]] - edit in Cargo.lock at line 1716
[[package]]name = "windows-sys"version = "0.48.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"dependencies = ["windows-targets 0.48.5",][[package]]name = "windows-sys"version = "0.59.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"dependencies = ["windows-targets 0.52.6",] - edit in Cargo.lock at line 1743[3.5254]
[[package]]name = "windows-targets"version = "0.48.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"dependencies = ["windows_aarch64_gnullvm 0.48.5","windows_aarch64_msvc 0.48.5","windows_i686_gnu 0.48.5","windows_i686_msvc 0.48.5","windows_x86_64_gnu 0.48.5","windows_x86_64_gnullvm 0.48.5","windows_x86_64_msvc 0.48.5",][[package]]name = "windows-targets"version = "0.52.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"dependencies = ["windows_aarch64_gnullvm 0.52.6","windows_aarch64_msvc 0.52.6","windows_i686_gnu 0.52.6","windows_i686_gnullvm","windows_i686_msvc 0.52.6","windows_x86_64_gnu 0.52.6","windows_x86_64_gnullvm 0.52.6","windows_x86_64_msvc 0.52.6",][[package]]name = "windows_aarch64_gnullvm"version = "0.48.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"[[package]]name = "windows_aarch64_gnullvm"version = "0.52.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"[[package]]name = "windows_aarch64_msvc"version = "0.48.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"[[package]]name = "windows_aarch64_msvc"version = "0.52.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"[[package]]name = "windows_i686_gnu"version = "0.48.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"[[package]]name = "windows_i686_gnu"version = "0.52.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"[[package]]name = "windows_i686_gnullvm"version = "0.52.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"[[package]]name = "windows_i686_msvc"version = "0.48.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"[[package]]name = "windows_i686_msvc"version = "0.52.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"[[package]]name = "windows_x86_64_gnu"version = "0.48.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"[[package]]name = "windows_x86_64_gnu"version = "0.52.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"[[package]]name = "windows_x86_64_gnullvm"version = "0.48.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"[[package]]name = "windows_x86_64_gnullvm"version = "0.52.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"[[package]]name = "windows_x86_64_msvc"version = "0.48.5"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"[[package]]name = "windows_x86_64_msvc"version = "0.52.6"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"[[package]]name = "winnow"version = "0.7.15"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945"dependencies = ["memchr",][[package]]name = "wit-bindgen"version = "0.57.1"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e"[[package]]name = "zerocopy"version = "0.8.52"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "ce1022995ff5ff5d841ad7d994facc23098cd40152f2c1d11cd607c6f530653f"dependencies = ["zerocopy-derive",][[package]]name = "zerocopy-derive"version = "0.8.52"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "1ae7f38b72ec2a254e2b87ef277cf2cd4fb97cbebf944faa6f33354da0867930"dependencies = ["proc-macro2","quote","syn",][[package]]name = "zeroize"version = "1.3.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd"dependencies = ["zeroize_derive",][[package]]name = "zeroize_derive"version = "1.5.0"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328"dependencies = ["proc-macro2","quote","syn",][[package]]name = "zmij"version = "1.0.21"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"[[package]]name = "zstd-seekable"version = "0.1.23"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "574a117c5cdb88d1f13381ee3a19a6a45fb6ca0c98436d3a95df852b7ca6c3c2"dependencies = ["bincode","cc","libc","pkg-config","serde","serde_derive","thiserror 1.0.69","threadpool",]