fn main() {
use ese_core::EseDatabase;
use std::path::Path;
let path = Path::new("tests/data/srudb/museum_rathbunvm_win10_SRUDB.dat");
let db = EseDatabase::open(path).expect("open");
let guid = "{5C8CF1C7-7257-4F13-B223-970EF5939312}";
let root = db.find_table_page(guid).expect("find table");
println!("apps root_page={root}");
let page = db.read_page(root).expect("read root");
let hdr = page.parse_header().expect("hdr");
println!("root: flags={:#010x} tag_count={}", hdr.page_flags, hdr.available_page_tag_count);
let tags = page.tags().expect("tags");
println!("Tags on root page: {}", tags.len());
for (i, (off, sz)) in tags.iter().enumerate() {
println!(" tag[{i}]: offset={off} size={sz}");
}
let raw = &page.data[40..40.min(page.data.len().saturating_sub(tags.len()*4))];
println!("\nData area (bytes 40-80): {:?}", &page.data[40..80.min(page.data.len())].iter().map(|b| format!("{:02x}",b)).collect::<Vec<_>>().join(" "));
}