From 4af0b3f5dd3f41571471383d06c4bd24a47dfd48 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 10:14:53 -0400 Subject: [PATCH 01/26] =?UTF-8?q?wai:=20live=5Frecord=20=E2=80=94=20record?= =?UTF-8?q?ing=20manifest,=20recording=20verification,=20clip=20records=20?= =?UTF-8?q?and=20range=20proofs=20(WIP)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit output_tree gains audit_path, range_proof and verify_range: RFC 6962's PATH taken over a run of leaves, whose one-leaf case is the audit path node for node, tested against RFC 9162 §2.1.3.2's check. Co-Authored-By: Claude Opus 5.5 --- wai/wai-rs/Cargo.toml | 17 + wai/wai-rs/src/bin/wai_live_record_vectors.rs | 53 + wai/wai-rs/src/lib.rs | 10 + wai/wai-rs/src/live_record.rs | 1430 +++++++++++++++++ wai/wai-rs/src/live_record/corpus.rs | 12 + wai/wai-rs/src/output_tree.rs | 172 ++ wai/wai-rs/tests/live_record.rs | 2 + 7 files changed, 1696 insertions(+) create mode 100644 wai/wai-rs/src/bin/wai_live_record_vectors.rs create mode 100644 wai/wai-rs/src/live_record.rs create mode 100644 wai/wai-rs/src/live_record/corpus.rs create mode 100644 wai/wai-rs/tests/live_record.rs diff --git a/wai/wai-rs/Cargo.toml b/wai/wai-rs/Cargo.toml index e258798f9..20d98f125 100644 --- a/wai/wai-rs/Cargo.toml +++ b/wai/wai-rs/Cargo.toml @@ -192,6 +192,13 @@ live_room = ["live_events", "key_discovery"] # with its single-take, aligned, complete and publishable verdicts. Ed25519, SHA-256 and # the key log only; no new dependency. capture_take = ["live_room"] +# Live recording (extensions/live-recording): `wai.live.recording` — a finished room session as +# one WAI package (the SPEC §3.1 listing of its files; the room, its events, each take and the +# composite as components named by id and the SHA-256 of their listings; the signed WRM1 +# recording manifest) with its complete and publishable verdicts, and provable clips: WCL1 clip +# records whose RFC 6962 range proofs reach a take's commitment, verified without the take. +# SHA-256, Ed25519 and the key log only; no new dependency. +live_record = ["capture_take"] # Object-based spatial audio (extensions/spatial-audio): the deterministic # Fx mixdown engine. Reuses the world `Fx` floor + blake3; no codec/ML deps # (sources arrive as decoded mono PCM — decoding the wai.audio.* assets is @@ -634,6 +641,11 @@ name = "wai_capture_take_vectors" path = "src/bin/wai_capture_take_vectors.rs" required-features = ["capture_take"] +[[bin]] +name = "wai_live_record_vectors" +path = "src/bin/wai_live_record_vectors.rs" +required-features = ["live_record"] + [[bin]] name = "wai_world_meter" path = "src/bin/wai_world_meter.rs" @@ -1259,6 +1271,11 @@ name = "capture_take" path = "tests/capture_take.rs" required-features = ["capture_take"] +[[test]] +name = "live_record" +path = "tests/live_record.rs" +required-features = ["live_record"] + [[test]] name = "world_replay" path = "tests/world_replay.rs" diff --git a/wai/wai-rs/src/bin/wai_live_record_vectors.rs b/wai/wai-rs/src/bin/wai_live_record_vectors.rs new file mode 100644 index 000000000..87dc3ca1b --- /dev/null +++ b/wai/wai-rs/src/bin/wai_live_record_vectors.rs @@ -0,0 +1,53 @@ +//! Conformance corpus for live recording (`live-conformance/recordings/`, extensions/live-recording.md §10). +//! +//! wai_live_record_vectors gen write vectors.json, from fixed seeds +//! wai_live_record_vectors verify vectors.json regenerates byte for byte, and +//! every vector gets the outcome it states +//! +//! The generator and this verifier are one implementation. The corpus's second +//! implementation is `live-conformance/live_record_verify.py`, written from the extension's +//! text and sharing no code with this binary. + +use std::path::Path; +use wai::live_record::corpus; + +fn main() { + let a: Vec = std::env::args().collect(); + match (a.get(1).map(String::as_str), a.get(2)) { + (Some("gen"), Some(d)) => { + let p = Path::new(d).join("vectors.json"); + if let Err(e) = std::fs::create_dir_all(d).and_then(|_| std::fs::write(&p, corpus::generate())) { + eprintln!("write {}: {e}", p.display()); + std::process::exit(1); + } + println!("wrote {}", p.display()); + } + (Some("verify"), Some(d)) => std::process::exit(verify(Path::new(d))), + _ => { + eprintln!("usage: wai_live_record_vectors gen|verify "); + std::process::exit(2); + } + } +} + +fn verify(dir: &Path) -> i32 { + let p = dir.join("vectors.json"); + let doc = match std::fs::read_to_string(&p) { + Ok(s) => s, + Err(e) => { + eprintln!("read {}: {e}", p.display()); + return 1; + } + }; + let mut fail = 0; + let same = doc == corpus::generate(); + println!("{} vectors.json regenerates byte for byte from its seeds", if same { "PASS" } else { "FAIL" }); + fail += (!same) as i32; + let fails = corpus::verify(&doc); + for f in &fails { + println!("FAIL {f}"); + } + println!("{} every vector gets the outcome the corpus states", if fails.is_empty() { "PASS" } else { "FAIL" }); + fail += (!fails.is_empty()) as i32; + (fail != 0) as i32 +} diff --git a/wai/wai-rs/src/lib.rs b/wai/wai-rs/src/lib.rs index 80eabe796..6714d7594 100644 --- a/wai/wai-rs/src/lib.rs +++ b/wai/wai-rs/src/lib.rs @@ -406,6 +406,16 @@ pub mod live_room; #[cfg(feature = "capture_take")] pub mod capture_take; +// Live recording (extensions/live-recording.md): `wai.live.recording` — a finished room session +// as one WAI package whose components are the room, its events, each participant's take and +// the composite, under a signed recording manifest, and provable clips: a span of a take, or an +// aligned span of several, carrying range proofs against the take's commitments, checkable +// without the take. Rust-only, like capture_take: its constants must not become macros in +// include/wai.h. +/// cbindgen:ignore +#[cfg(feature = "live_record")] +pub mod live_record; + // Typed receipt classes (extensions/jwp-receipts.md §2.4.3–§2.4.12, §2.6, §3.1–§3.2): // energy, lawful-basis, log-inclusion, soft-binding, binding-recovery, measurement, // operating-point, stage, delivery-gap and reconstruct-session statements about diff --git a/wai/wai-rs/src/live_record.rs b/wai/wai-rs/src/live_record.rs new file mode 100644 index 000000000..6b820100b --- /dev/null +++ b/wai/wai-rs/src/live_record.rs @@ -0,0 +1,1430 @@ +//! Live recording — `wai.live.recording` ([extensions/live-recording.md]). +//! +//! A finished room session becomes one WAI package: a directory of files and its `LISTING` +//! (SPEC §3.1), as a package of [packaging] §11.1 is, whose components are the room (its +//! descriptor, grants and key-log head), its events (each principal's chain whole), one +//! component per participant take (its `WTM1` manifest, the chunks the package holds, the +//! store's receipts and the consents), and, optionally, the composite. Each component is +//! named as SPEC §7.1 names one, by an `id` and a `sha256`, the SHA-256 of the listing of its +//! files; a signed recording manifest (`WRM1`) lists them with the signer, the room id and +//! the session span on the room clock. A recording verifier gives `complete` and +//! `publishable` for each purpose their verdicts. +//! +//! A **clip** is a span of one take, or an aligned span of several takes, cut as a chunk +//! range or a byte range. Its signed clip record (`WCL1`) carries, for each take, the +//! descriptors of the chunks it covers and one range proof (an RFC 6962 audit path taken +//! over a run of leaves, [`crate::output_tree::range_proof`]) against a commitment the +//! device made while it captured. A clip verifier needs the clip's bytes, the record, the +//! take's commitments up to that one, the device's key and the room descriptor: never the +//! take manifest or any other chunk. +//! +//! What this module implements, by section of the extension: +//! +//! - §3, §4: the package's files, its components and their digests, the recording +//! manifest, and recording verification over [`crate::live_room::verify_room`] and +//! [`crate::capture_take::verify_take`]; +//! - §5: the clip record, cutting a clip by chunks, by bytes or by a room-clock window, and +//! clip verification; +//! - §6: the time correspondence of an aligned clip and its bound; +//! - §8: the MoQ addressing of a recorded take's chunks for a FETCH. +//! +//! The HLS and LL-CMAF mapping of §7 is specified and not implemented: a take's master is +//! the device's bytes, and no muxer for them is in this crate. +//! +//! The corpus `live-conformance/recordings/` is written by [`corpus::generate`] and checked +//! by [`corpus::verify`] here, and by `live-conformance/live_record_verify.py`, which shares +//! no code with this module. +//! +//! [extensions/live-recording.md]: ../../extensions/live-recording.md +//! [packaging]: ../../extensions/packaging.md + +use std::collections::{BTreeMap, BTreeSet}; + +use ed25519_dalek::{Signer, SigningKey}; +use sha2::{Digest, Sha256}; + +use crate::capture_take::{self as take, extends, leaves, phase, purpose, take_id, Chunk, Commit, TakeInputs, TakeOutcome, CHUNK_LEN}; +use crate::live_events::{self as events, Command, Event, Payload}; +use crate::live_room::{self as room, check_key_log, power, verify_room, At, Descriptor, RoomOutcome, RoomRun}; +use crate::output_tree::{range_proof, verify_range, OutputCommitment}; + +pub mod corpus; + +/// The record this extension registers. +pub const CAPABILITY: &str = "wai.live.recording"; +/// The magic of a recording manifest (§4.1). +pub const MANIFEST_MAGIC: [u8; 4] = *b"WRM1"; +/// The magic of a clip record (§5.1). +pub const CLIP_MAGIC: [u8; 4] = *b"WCL1"; +/// The version of the two records this revision defines. +pub const RECORD_VERSION: u8 = 1; +/// The domain a recording manifest's signature is made over (§4.1). +pub const MANIFEST_DOMAIN: &[u8] = b"wai:live-recording\x01"; +/// The domain a clip record's signature is made over (§5.1). +pub const CLIP_DOMAIN: &[u8] = b"wai:live-clip\x01"; +/// The most takes one clip spans (§5.2). +pub const MAX_PARTS: usize = 16; +/// The most nodes a part's range proof holds (§5.3). +pub const MAX_RANGE_PROOF: usize = 128; +/// The package's listing (§3.1). +pub const LISTING: &str = "LISTING"; +/// The package's recording manifest (§3.1). +pub const MANIFEST_FILE: &str = "recording.wrm"; +/// The third Track Namespace field of a recorded take's track (§8). +pub const TAKE_TRACK: &str = "take"; + +/// A component's kind (§3.2). +pub mod component { + pub const ROOM: u8 = 1; + pub const EVENTS: u8 = 2; + pub const TAKE: u8 = 3; + pub const COMPOSITE: u8 = 4; +} + +/// The claims a recording manifest makes (§4.1), each a bit. +pub mod claim { + pub const COMPLETE: u8 = 1; +} + +// --------------------------------------------------------------------------------------- +// §9 Reasons +// --------------------------------------------------------------------------------------- + +/// Why a recording or a clip is refused, or why a recording's claim fails (§9). +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum Reason { + /// A code of capture-binding §12, or through it of live-rooms §11 and live-events §9. + Take(take::Reason), + ListingMismatch, + RecordingManifestInvalid, + ComponentInvalid, + ComponentDigestMismatch, + ComponentUnlisted, + RecordingSignerNotPermitted, + OutsideSpan, + TakeOmitted, + ClipRecordInvalid, + ClipDeviceMismatch, + ClipTakeMismatch, + TreeHeadNotCommitted, + ClipOutOfRange, + ClipNotIncluded, + ClipWindowInvalid, + ClipChunkMissing, +} + +impl From for Reason { + fn from(r: take::Reason) -> Self { + Reason::Take(r) + } +} + +impl From for Reason { + fn from(r: room::Reason) -> Self { + Reason::Take(take::Reason::Room(r)) + } +} + +impl From for Reason { + fn from(r: events::Reason) -> Self { + Reason::Take(take::Reason::Room(room::Reason::Events(r))) + } +} + +const TRUNCATED: Reason = Reason::Take(take::Reason::Room(room::Reason::Events(events::Reason::Truncated))); +const MALFORMED: Reason = Reason::Take(take::Reason::Room(room::Reason::Events(events::Reason::Malformed))); +const UNKNOWN_VERSION: Reason = Reason::Take(take::Reason::Room(room::Reason::Events(events::Reason::UnknownVersion))); +const WRONG_ROOM: Reason = Reason::Take(take::Reason::Room(room::Reason::Events(events::Reason::WrongRoom))); +/// `delivery_gap`. +pub const DELIVERY_GAP: Reason = Reason::Take(take::DELIVERY_GAP); + +impl Reason { + /// The codes this extension adds, in §9's order. + pub const ALL: [Reason; 16] = [ + Reason::ListingMismatch, + Reason::RecordingManifestInvalid, + Reason::ComponentInvalid, + Reason::ComponentDigestMismatch, + Reason::ComponentUnlisted, + Reason::RecordingSignerNotPermitted, + Reason::OutsideSpan, + Reason::TakeOmitted, + Reason::ClipRecordInvalid, + Reason::ClipDeviceMismatch, + Reason::ClipTakeMismatch, + Reason::TreeHeadNotCommitted, + Reason::ClipOutOfRange, + Reason::ClipNotIncluded, + Reason::ClipWindowInvalid, + Reason::ClipChunkMissing, + ]; + + /// The reason's code. + pub fn code(self) -> &'static str { + match self { + Reason::Take(r) => r.code(), + Reason::ListingMismatch => "listing_mismatch", + Reason::RecordingManifestInvalid => "recording_manifest_invalid", + Reason::ComponentInvalid => "component_invalid", + Reason::ComponentDigestMismatch => "component_digest_mismatch", + Reason::ComponentUnlisted => "component_unlisted", + Reason::RecordingSignerNotPermitted => "recording_signer_not_permitted", + Reason::OutsideSpan => "outside_span", + Reason::TakeOmitted => "take_omitted", + Reason::ClipRecordInvalid => "clip_record_invalid", + Reason::ClipDeviceMismatch => "clip_device_mismatch", + Reason::ClipTakeMismatch => "clip_take_mismatch", + Reason::TreeHeadNotCommitted => "tree_head_not_committed", + Reason::ClipOutOfRange => "clip_out_of_range", + Reason::ClipNotIncluded => "clip_not_included", + Reason::ClipWindowInvalid => "clip_window_invalid", + Reason::ClipChunkMissing => "clip_chunk_missing", + } + } +} + +impl std::fmt::Display for Reason { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.write_str(self.code()) + } +} + +impl std::error::Error for Reason {} + +// --------------------------------------------------------------------------------------- +// Reading +// --------------------------------------------------------------------------------------- + +fn sha256(parts: &[&[u8]]) -> [u8; 32] { + let mut h = Sha256::new(); + for p in parts { + h.update(p); + } + h.finalize().into() +} + +fn hex(b: &[u8]) -> String { + b.iter().map(|x| format!("{x:02x}")).collect() +} + +/// A cursor whose running out is `truncated`. +struct Rd<'a> { + b: &'a [u8], + p: usize, +} + +impl<'a> Rd<'a> { + fn take(&mut self, n: usize) -> Result<&'a [u8], Reason> { + let e = self.p.checked_add(n).filter(|&e| e <= self.b.len()).ok_or(TRUNCATED)?; + let s = &self.b[self.p..e]; + self.p = e; + Ok(s) + } + fn arr(&mut self) -> Result<[u8; N], Reason> { + Ok(self.take(N)?.try_into().expect("N bytes")) + } + fn u8(&mut self) -> Result { + Ok(self.take(1)?[0]) + } + fn u16(&mut self) -> Result { + Ok(u16::from_le_bytes(self.arr()?)) + } + fn u32(&mut self) -> Result { + Ok(u32::from_le_bytes(self.arr()?)) + } + fn u64(&mut self) -> Result { + Ok(u64::from_le_bytes(self.arr()?)) + } + fn done(&self) -> bool { + self.p == self.b.len() + } +} + +/// live-events §3.3's first steps, with `magic` for `WEV1`. +fn read_head(b: &[u8], magic: &[u8; 4]) -> Result<(), Reason> { + if b.len() < 4 { + return Err(TRUNCATED); + } + if b[..4] != *magic { + return Err(MALFORMED); + } + if b.len() < 5 { + return Err(TRUNCATED); + } + if b[4] != RECORD_VERSION { + return Err(UNKNOWN_VERSION); + } + Ok(()) +} + +fn verify_sig(key: &[u8; 32], domain: &[u8], body: &[u8], sig: &[u8; 64]) -> Result<(), Reason> { + let mut m = domain.to_vec(); + m.extend_from_slice(body); + crate::sig::verify_strict(key, &m, sig).map_err(|e| match e { + crate::sig::SigError::BadKey => events::Reason::BadKey.into(), + crate::sig::SigError::BadSignature => events::Reason::BadSignature.into(), + }) +} + +fn sign(key: &SigningKey, domain: &[u8], body: &[u8]) -> [u8; 64] { + let mut m = domain.to_vec(); + m.extend_from_slice(body); + key.sign(&m).to_bytes() +} + +// --------------------------------------------------------------------------------------- +// §3 The recording package +// --------------------------------------------------------------------------------------- + +/// Whether `id` has SPEC §7.1's form: 1 to 64 of `a`–`z`, `0`–`9`, `_` and `-`. +pub fn id_ok(id: &[u8]) -> bool { + (1..=64).contains(&id.len()) && id.iter().all(|&c| c.is_ascii_lowercase() || c.is_ascii_digit() || c == b'_' || c == b'-') +} + +fn is_hex64(id: &[u8]) -> bool { + id.len() == 64 && id.iter().all(|&c| c.is_ascii_digit() || (b'a'..=b'f').contains(&c)) +} + +/// One principal's chain as a file of the events component (§3.3, live-events §8.6): its +/// records concatenated in its stream order. +pub fn chain_file(records: &[Vec]) -> Vec { + records.concat() +} + +/// The length of the `WEV1` record that begins `b`, from its own fields (live-events §3.1). +fn record_len(b: &[u8]) -> Option { + // magic, version, room, principal, seq, prev, t: 117 bytes; then the anchor flag. + let flag = *b.get(117)?; + let after = match flag { + 0 => 118, + 1 => 118 + 48, + _ => return None, + }; + let len = u16::from_le_bytes(b.get(after + 1..after + 3)?.try_into().ok()?) as usize; + let total = after + 3 + len + 64; + (total <= b.len()).then_some(total) +} + +/// Split a chain file into its records (§3.3), each of which reads (live-events §3.3). +/// `None` when the bytes are not records end to end. +pub fn split_chain(mut b: &[u8]) -> Option>> { + let mut out = Vec::new(); + while !b.is_empty() { + let n = record_len(b)?; + Event::parse(&b[..n]).ok()?; + out.push(b[..n].to_vec()); + b = &b[n..]; + } + Some(out) +} + +/// The directory of a component (§3.2): `room/`, `events/`, `takes//` or +/// `composite/`. +pub fn component_dir(kind: u8, id: &str) -> String { + match kind { + component::ROOM => "room/".into(), + component::EVENTS => "events/".into(), + component::TAKE => format!("takes/{id}/"), + _ => "composite/".into(), + } +} + +/// The listing (SPEC §3.1) of the files below `dir`, by their paths below it; `None` when +/// none is there, or one is a path a listing cannot carry. +pub fn listing_below(files: &BTreeMap>, dir: &str) -> Option> { + let inner: BTreeMap = + files.iter().filter_map(|(p, b)| p.strip_prefix(dir).map(|rest| (rest.to_string(), b.as_slice()))).collect(); + if inner.is_empty() { + return None; + } + crate::pin::listing_from(&inner).ok() +} + +/// The listing of every file of a package but `LISTING` itself (§3.1). +pub fn package_listing(files: &BTreeMap>) -> Option> { + let others: BTreeMap = files.iter().filter(|(p, _)| p.as_str() != LISTING).map(|(p, b)| (p.clone(), b.as_slice())).collect(); + crate::pin::listing_from(&others).ok() +} + +/// The name of a room grant's file (§3.3). +pub fn grant_file(k: usize) -> String { + format!("room/grant-{k:04}.wrg") +} + +/// The name of a chunk's file in a take component (§3.4). +pub fn chunk_file(take: &[u8; 32], index: u64) -> String { + format!("takes/{}/chunk-{index:010}.bin", hex(take)) +} + +// --------------------------------------------------------------------------------------- +// §4 The recording manifest +// --------------------------------------------------------------------------------------- + +/// A component as the recording manifest names it (§4.1). +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct Component { + pub kind: u8, + pub id: Vec, + /// The SHA-256 of the listing of its files. + pub sha256: [u8; 32], +} + +impl Component { + /// Its id as text (an id that reads is ASCII). + pub fn id_str(&self) -> &str { + std::str::from_utf8(&self.id).unwrap_or("") + } + + /// Its directory. + pub fn dir(&self) -> String { + component_dir(self.kind, self.id_str()) + } +} + +/// A recording manifest (§4.1). +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct RecordingManifest { + pub room: [u8; 32], + pub signer: [u8; 32], + /// The session span on the room clock, in microseconds: `from` ≤ `t` ≤ `to`. + pub from: u64, + pub to: u64, + pub claims: u8, + pub purposes: u8, + pub components: Vec, + pub sig: [u8; 64], +} + +impl RecordingManifest { + /// The bytes its digest and signature cover. + pub fn body(&self) -> Vec { + let mut o = Vec::new(); + o.extend_from_slice(&MANIFEST_MAGIC); + o.push(RECORD_VERSION); + o.extend_from_slice(&self.room); + o.extend_from_slice(&self.signer); + o.extend_from_slice(&self.from.to_le_bytes()); + o.extend_from_slice(&self.to.to_le_bytes()); + o.push(self.claims); + o.push(self.purposes); + assert!(self.components.len() <= u16::MAX as usize); + o.extend_from_slice(&(self.components.len() as u16).to_le_bytes()); + for c in &self.components { + o.push(c.kind); + assert!(c.id.len() <= u8::MAX as usize); + o.push(c.id.len() as u8); + o.extend_from_slice(&c.id); + o.extend_from_slice(&c.sha256); + } + o + } + + /// The whole record. + pub fn to_bytes(&self) -> Vec { + let mut o = self.body(); + o.extend_from_slice(&self.sig); + o + } + + /// Its digest (§4.1). + pub fn digest(&self) -> [u8; 32] { + sha256(&[&self.body()]) + } + + /// Signed by `key`, whose public key becomes `signer`. + pub fn sign(mut self, key: &SigningKey) -> RecordingManifest { + self.signer = key.verifying_key().to_bytes(); + self.sig = sign(key, MANIFEST_DOMAIN, &self.body()); + self + } + + fn read(b: &[u8]) -> Result { + read_head(b, &MANIFEST_MAGIC)?; + let mut r = Rd { b, p: 5 }; + let (room, signer) = (r.arr()?, r.arr()?); + let (from, to) = (r.u64()?, r.u64()?); + let (claims, purposes) = (r.u8()?, r.u8()?); + let n = r.u16()? as usize; + let mut components = Vec::with_capacity(n.min(b.len() / 34)); + for _ in 0..n { + let kind = r.u8()?; + let len = r.u8()? as usize; + let id = r.take(len)?.to_vec(); + components.push(Component { kind, id, sha256: r.arr()? }); + } + let sig = r.arr()?; + if !r.done() { + return Err(MALFORMED); + } + Ok(RecordingManifest { room, signer, from, to, claims, purposes, components, sig }) + } + + /// §4.2's rules. + fn rules_hold(&self) -> bool { + let c = &self.components; + let is = |x: &Component, kind: u8, id: &[u8]| x.kind == kind && x.id == id; + if self.claims & !claim::COMPLETE != 0 || self.purposes & !0b1111 != 0 || self.from > self.to { + return false; + } + if c.len() < 2 || !is(&c[0], component::ROOM, b"room") || !is(&c[1], component::EVENTS, b"events") { + return false; + } + let mut rest = &c[2..]; + if let Some(last) = rest.last().filter(|x| x.kind == component::COMPOSITE) { + if last.id != b"composite" { + return false; + } + rest = &rest[..rest.len() - 1]; + } + rest.iter().all(|x| x.kind == component::TAKE && is_hex64(&x.id)) && rest.windows(2).all(|w| w[0].id < w[1].id) + } + + /// Read a recording manifest, hold it to §4.2's rules and verify its signature. + pub fn parse(b: &[u8]) -> Result { + let m = RecordingManifest::read(b)?; + if !m.rules_hold() { + return Err(Reason::RecordingManifestInvalid); + } + verify_sig(&m.signer, MANIFEST_DOMAIN, &b[..b.len() - 64], &m.sig)?; + Ok(m) + } +} + +/// The components of a package's files, in §4.2's order, each with its digest: the room, +/// the events, each take by id, and the composite when `composite/` holds a file. +pub fn components_of(files: &BTreeMap>) -> Vec { + let digest = |dir: &str| listing_below(files, dir).map(|l| sha256(&[&l])).unwrap_or([0; 32]); + let mut out = vec![ + Component { kind: component::ROOM, id: b"room".to_vec(), sha256: digest("room/") }, + Component { kind: component::EVENTS, id: b"events".to_vec(), sha256: digest("events/") }, + ]; + let takes: BTreeSet<&str> = files.keys().filter_map(|p| p.strip_prefix("takes/")?.split('/').next()).collect(); + for t in takes { + out.push(Component { kind: component::TAKE, id: t.as_bytes().to_vec(), sha256: digest(&format!("takes/{t}/")) }); + } + if files.keys().any(|p| p.starts_with("composite/")) { + out.push(Component { kind: component::COMPOSITE, id: b"composite".to_vec(), sha256: digest("composite/") }); + } + out +} + +/// Seal a package (§3, §4): sign a recording manifest over the components of `files` and +/// add it and the `LISTING` of every file. +pub fn seal(mut files: BTreeMap>, room: [u8; 32], from: u64, to: u64, claims: u8, purposes: u8, signer: &SigningKey) -> BTreeMap> { + files.remove(LISTING); + files.remove(MANIFEST_FILE); + let m = RecordingManifest { room, signer: [0; 32], from, to, claims, purposes, components: components_of(&files), sig: [0; 64] }.sign(signer); + files.insert(MANIFEST_FILE.into(), m.to_bytes()); + let listing = package_listing(&files).expect("a package's paths are listing paths"); + files.insert(LISTING.into(), listing); + files +} + +// --------------------------------------------------------------------------------------- +// §4.4 Recording verification +// --------------------------------------------------------------------------------------- + +/// Where a recording verification stopped (§4.4). +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum Place { + Listing, + Manifest, + /// The component at this index of the manifest. + Component(usize), + /// The room verifier's own place. + Room(At), + /// A take verifier's own place, in the take component at this index. + Take { component: usize, at: take::Place }, +} + +/// A claim's verdict. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum Verdict { + Holds, + Fails(Reason), +} + +impl Verdict { + pub fn holds(self) -> bool { + self == Verdict::Holds + } +} + +impl From for Verdict { + fn from(v: take::Verdict) -> Self { + match v { + take::Verdict::Holds => Verdict::Holds, + take::Verdict::Fails(r) => Verdict::Fails(r.into()), + } + } +} + +/// The verdicts of a recording (§4.5). +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct RecordingVerdicts { + pub complete: Verdict, + /// By [`purpose::ALL`]'s order. + pub publishable: [Verdict; 4], + /// Every claim the manifest makes holds. + pub stands: bool, + /// Each take component's id and its verdicts, in the manifest's order. + pub takes: Vec<([u8; 32], take::Verdicts)>, +} + +/// The outcome of a recording verification (§4.5). +#[derive(Clone, Debug, PartialEq, Eq)] +pub enum RecordingOutcome { + Refuse { at: Place, reason: Reason }, + Verdicts(RecordingVerdicts), +} + +/// What a recording verification holds at its end, for the corpus. +#[derive(Clone, Debug)] +pub struct RecordingRun { + pub outcome: RecordingOutcome, + /// The SHA-256 of `LISTING`: the package digest. + pub package: Option<[u8; 32]>, + /// The recording manifest's digest. + pub manifest: Option<[u8; 32]>, + pub room: Option<[u8; 32]>, +} + +fn take_files(files: &BTreeMap>, dir: &str) -> Option<(Vec, Vec<(u64, Vec)>, Vec>, Vec>)> { + let mut manifest = None; + let (mut parts, mut receipts, mut consents) = (Vec::new(), Vec::new(), Vec::new()); + for (p, b) in files.iter().filter_map(|(p, b)| p.strip_prefix(dir).map(|r| (r, b))) { + let numbered = |pre: &str, ext: &str, digits: usize| -> Option { + let n = p.strip_prefix(pre)?.strip_suffix(ext)?; + (n.len() == digits && n.bytes().all(|c| c.is_ascii_digit())).then(|| n.parse().ok())? + }; + if p == "manifest.wtm" { + manifest = Some(b.clone()); + } else if let Some(i) = numbered("chunk-", ".bin", 10) { + parts.push((i, b.clone())); + } else if let Some(k) = numbered("receipt-", ".wur", 4) { + (k == receipts.len() as u64).then_some(())?; + receipts.push(b.clone()); + } else if let Some(k) = numbered("consent-", ".wcn", 4) { + (k == consents.len() as u64).then_some(())?; + consents.push(b.clone()); + } else { + return None; + } + } + Some((manifest?, parts, receipts, consents)) +} + +/// The room component's files (§3.3): the descriptor, the grants, the key-log head. +fn room_files(files: &BTreeMap>) -> Option<(Vec, Vec>, Option)> { + let mut descriptor = None; + let mut grants = Vec::new(); + let mut head = None; + for (p, b) in files.iter().filter_map(|(p, b)| p.strip_prefix("room/").map(|r| (r, b))) { + if p == "descriptor.wrd" { + descriptor = Some(b.clone()); + } else if p == "key-log.json" { + head = Some(String::from_utf8(b.clone()).ok()?); + } else { + let n = p.strip_prefix("grant-")?.strip_suffix(".wrg")?; + (n.len() == 4 && n.bytes().all(|c| c.is_ascii_digit()) && n.parse::().ok()? == grants.len()).then_some(())?; + grants.push(b.clone()); + } + } + Some((descriptor?, grants, head)) +} + +/// The events component's files (§3.3): each principal's chain, in the order of their +/// paths, which is ascending order of the principals' keys. +fn event_chains(files: &BTreeMap>) -> Option>>> { + let mut out = Vec::new(); + for (p, b) in files.iter().filter_map(|(p, b)| p.strip_prefix("events/").map(|r| (r, b))) { + let k = p.strip_suffix(".wev").filter(|k| is_hex64(k.as_bytes()))?; + let records = split_chain(b)?; + if records.is_empty() || !records.iter().all(|r| Event::parse(r).is_ok_and(|e| hex(&e.principal) == k)) { + return None; + } + out.push(records); + } + Some(out) +} + +/// The takes the room's events open (§4.5 `complete` 2): for each accepted `record_start`, +/// the take id it names, where the room holds a `take_commit` of its target that names it. +fn session_takes(run: &RoomRun, chains: &[Vec>], room_id: &[u8; 32]) -> Vec<[u8; 32]> { + let mut seen = BTreeSet::new(); + let mut starts = Vec::new(); + let mut commits: BTreeSet<([u8; 32], [u8; 32])> = BTreeSet::new(); + for &(c, i, _) in &run.order { + let Ok(e) = Event::parse(&chains[c][i]) else { continue }; + if !seen.insert(e.digest()) { + continue; + } + if e.kind == events::kind::TAKE_COMMIT { + if let Ok(cm) = Commit::parse(&e.payload) { + commits.insert((e.principal, cm.take)); + } + } else if let Ok(Payload::Control { target, command: Command::RecordStart { .. } }) = events::parse_payload(e.kind, &e.payload, u16::MAX) { + starts.push((target, take_id(room_id, &target, &e.digest()))); + } + } + starts.into_iter().filter(|(d, t)| commits.contains(&(*d, *t))).map(|(_, t)| t).collect() +} + +/// Verify a recording package (§4.4): its files by path, and the evaluation instant `at`, +/// in seconds since 1970, that the takes' consents are evaluated at. +pub fn verify_recording(files: &BTreeMap>, at: u64) -> RecordingRun { + let mut run = RecordingRun { outcome: RecordingOutcome::Verdicts(fail_all()), package: None, manifest: None, room: None }; + let refuse = |mut run: RecordingRun, at: Place, reason: Reason| { + run.outcome = RecordingOutcome::Refuse { at, reason }; + run + }; + // Step 1: the listing. + let listed = files.get(LISTING).filter(|l| package_listing(files).as_ref() == Some(l)); + let Some(listing) = listed else { return refuse(run, Place::Listing, Reason::ListingMismatch) }; + run.package = Some(sha256(&[listing])); + // Step 2: the recording manifest. + let m = match files.get(MANIFEST_FILE).map(|b| RecordingManifest::parse(b)) { + None => return refuse(run, Place::Manifest, Reason::RecordingManifestInvalid), + Some(Err(r)) => return refuse(run, Place::Manifest, r), + Some(Ok(m)) => m, + }; + run.manifest = Some(m.digest()); + // Step 3: the components, and no file outside them. + for (i, c) in m.components.iter().enumerate() { + match listing_below(files, &c.dir()) { + None => return refuse(run, Place::Component(i), Reason::ComponentInvalid), + Some(l) if sha256(&[&l]) != c.sha256 => return refuse(run, Place::Component(i), Reason::ComponentDigestMismatch), + Some(_) => {} + } + } + let dirs: Vec = m.components.iter().map(Component::dir).collect(); + if files.keys().any(|p| p != LISTING && p != MANIFEST_FILE && !dirs.iter().any(|d| p.starts_with(d.as_str()))) { + return refuse(run, Place::Listing, Reason::ComponentUnlisted); + } + // Step 4: the room. + let Some((descriptor, grants, head)) = room_files(files) else { return refuse(run, Place::Component(0), Reason::ComponentInvalid) }; + let Some(chains) = event_chains(files) else { return refuse(run, Place::Component(1), Reason::ComponentInvalid) }; + let room_run = verify_room(&descriptor, &grants, head.as_deref(), &chains); + if let RoomOutcome::Refuse { at, reason } = room_run.outcome { + return refuse(run, Place::Room(at), reason.into()); + } + let room_id = room_run.room.expect("a room that verified"); + run.room = Some(room_id); + let d: Descriptor = room_run.descriptor.clone().expect("a room that verified"); + if m.room != room_id { + return refuse(run, Place::Manifest, WRONG_ROOM); + } + // Step 5: the signer. + if m.signer != d.authority { + let kl = check_key_log(&d, head.as_deref()).unwrap_or_default(); + let permitted = room_run.grants.iter().any(|h| { + h.grant.principal == m.signer && h.grant.caps.powers & power::RECORD != 0 && !kl.revokes(h) && h.grant.covers(d.t0_us, m.to) + }); + if !permitted { + return refuse(run, Place::Manifest, Reason::RecordingSignerNotPermitted); + } + } + // Step 6: the span. + for &(c, i, _) in &room_run.order { + let Ok(e) = Event::parse(&chains[c][i]) else { continue }; + if e.t < m.from || e.t > m.to { + return refuse(run, Place::Room(At::Record { chain: c, record: i }), Reason::OutsideSpan); + } + } + // Step 7: the takes. + let mut takes = Vec::new(); + for (i, c) in m.components.iter().enumerate().filter(|(_, c)| c.kind == component::TAKE) { + let Some((manifest, parts, receipts, consents)) = take_files(files, &c.dir()) else { + return refuse(run, Place::Component(i), Reason::ComponentInvalid); + }; + let t = take::verify_take(&TakeInputs { + descriptor: &descriptor, + grants: &grants, + head: head.as_deref(), + chains: &chains, + manifest: &manifest, + parts: &parts, + receipts: &receipts, + consents: &consents, + at, + }); + match t.outcome { + TakeOutcome::Refuse { at, reason } => return refuse(run, Place::Take { component: i, at }, reason.into()), + TakeOutcome::Verdicts(v) => { + let id = t.take.expect("a take that read"); + if hex(&id).as_bytes() != c.id.as_slice() { + return refuse(run, Place::Component(i), Reason::ComponentInvalid); + } + takes.push((id, v)); + } + } + } + // Step 8: the verdicts. + let complete = recording_complete(&room_run, &chains, &room_id, &takes); + let publishable = [0usize, 1, 2, 3].map(|k| takes.iter().map(|(_, v)| Verdict::from(v.publishable[k])).find(|v| !v.holds()).unwrap_or(Verdict::Holds)); + let stands = (m.claims & claim::COMPLETE == 0 || complete.holds()) + && purpose::ALL.iter().zip(&publishable).all(|((b, _), v)| m.purposes & b == 0 || v.holds()); + run.outcome = RecordingOutcome::Verdicts(RecordingVerdicts { complete, publishable, stands, takes }); + run +} + +/// §4.5 `complete`. +fn recording_complete(room_run: &RoomRun, chains: &[Vec>], room_id: &[u8; 32], takes: &[([u8; 32], take::Verdicts)]) -> Verdict { + if matches!(room_run.outcome, RoomOutcome::Gap(_)) { + return Verdict::Fails(DELIVERY_GAP); + } + let held: BTreeSet<[u8; 32]> = takes.iter().map(|(t, _)| *t).collect(); + if session_takes(room_run, chains, room_id).iter().any(|t| !held.contains(t)) { + return Verdict::Fails(Reason::TakeOmitted); + } + for (_, v) in takes { + if let take::Verdict::Fails(r) = v.single_take { + if matches!(r, take::DELIVERY_GAP | take::Reason::CommitChainBroken | take::Reason::TakeNotClosed) { + return Verdict::Fails(r.into()); + } + } + if let take::Verdict::Fails(r) = v.complete { + return Verdict::Fails(r.into()); + } + } + Verdict::Holds +} + +fn fail_all() -> RecordingVerdicts { + let v = Verdict::Fails(Reason::RecordingManifestInvalid); + RecordingVerdicts { complete: v, publishable: [v; 4], stands: false, takes: vec![] } +} + +// --------------------------------------------------------------------------------------- +// §5 Clips +// --------------------------------------------------------------------------------------- + +/// One take's span in a clip (§5.1). +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct ClipPart { + pub device: [u8; 32], + pub take: [u8; 32], + /// The digest of the `take_commit` event whose commitment the proof is against. + pub head: [u8; 32], + /// That commitment's size and root. + pub size: u64, + pub root: [u8; 32], + pub first: u64, + /// The bytes of the first chunk before the clip's, and of the last chunk after them. + pub trim_in: u64, + pub trim_out: u64, + /// The descriptors of the chunks it covers, `first` onward. + pub chunks: Vec, + pub proof: Vec<[u8; 32]>, +} + +/// A clip record (§5.1). +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct Clip { + pub room: [u8; 32], + /// The room-clock window the clip presents: `window_in` ≤ `t` < `window_out`. + pub window_in: u64, + pub window_out: u64, + pub parts: Vec, + pub signer: [u8; 32], + pub sig: [u8; 64], +} + +impl Clip { + /// The bytes its digest and signature cover. + pub fn body(&self) -> Vec { + let mut o = Vec::new(); + o.extend_from_slice(&CLIP_MAGIC); + o.push(RECORD_VERSION); + o.extend_from_slice(&self.room); + o.extend_from_slice(&self.window_in.to_le_bytes()); + o.extend_from_slice(&self.window_out.to_le_bytes()); + assert!(self.parts.len() <= u8::MAX as usize); + o.push(self.parts.len() as u8); + for p in &self.parts { + for f in [&p.device, &p.take, &p.head] { + o.extend_from_slice(f); + } + o.extend_from_slice(&p.size.to_le_bytes()); + o.extend_from_slice(&p.root); + o.extend_from_slice(&p.first.to_le_bytes()); + assert!(p.chunks.len() <= u32::MAX as usize); + o.extend_from_slice(&(p.chunks.len() as u32).to_le_bytes()); + o.extend_from_slice(&p.trim_in.to_le_bytes()); + o.extend_from_slice(&p.trim_out.to_le_bytes()); + for c in &p.chunks { + o.extend_from_slice(&c.to_bytes()); + } + assert!(p.proof.len() <= u8::MAX as usize); + o.push(p.proof.len() as u8); + for n in &p.proof { + o.extend_from_slice(n); + } + } + o.extend_from_slice(&self.signer); + o + } + + /// The whole record. + pub fn to_bytes(&self) -> Vec { + let mut o = self.body(); + o.extend_from_slice(&self.sig); + o + } + + /// Its digest (§5.1). + pub fn digest(&self) -> [u8; 32] { + sha256(&[&self.body()]) + } + + /// Signed by `key`, whose public key becomes `signer`. + pub fn sign(mut self, key: &SigningKey) -> Clip { + self.signer = key.verifying_key().to_bytes(); + self.sig = sign(key, CLIP_DOMAIN, &self.body()); + self + } + + fn read(b: &[u8]) -> Result { + read_head(b, &CLIP_MAGIC)?; + let mut r = Rd { b, p: 5 }; + let room = r.arr()?; + let (window_in, window_out) = (r.u64()?, r.u64()?); + let k = r.u8()? as usize; + let mut parts = Vec::with_capacity(k); + for _ in 0..k { + let (device, take, head) = (r.arr()?, r.arr()?, r.arr()?); + let size = r.u64()?; + let root = r.arr()?; + let first = r.u64()?; + let count = r.u32()? as usize; + let (trim_in, trim_out) = (r.u64()?, r.u64()?); + let mut chunks = Vec::with_capacity(count.min(b.len() / CHUNK_LEN)); + for _ in 0..count { + let d = r.take(CHUNK_LEN)?; + let u = |o: usize| u64::from_le_bytes(d[o..o + 8].try_into().expect("8 bytes")); + chunks.push(Chunk { index: u(0), start: u(8), end: u(16), len: u(24), hash: d[32..].try_into().expect("32 bytes") }); + } + let n = r.u8()? as usize; + let proof = (0..n).map(|_| r.arr()).collect::, _>>()?; + parts.push(ClipPart { device, take, head, size, root, first, trim_in, trim_out, chunks, proof }); + } + let signer = r.arr()?; + let sig = r.arr()?; + if !r.done() { + return Err(MALFORMED); + } + Ok(Clip { room, window_in, window_out, parts, signer, sig }) + } + + /// §5.2's rules. + fn rules_hold(&self) -> bool { + let takes: BTreeSet<&[u8; 32]> = self.parts.iter().map(|p| &p.take).collect(); + let trimmed = self.parts.iter().any(|p| p.trim_in != 0 || p.trim_out != 0); + (1..=MAX_PARTS).contains(&self.parts.len()) + && takes.len() == self.parts.len() + && (!trimmed || self.parts.len() == 1) + && self.window_in < self.window_out + && self.parts.iter().all(|p| { + let (Some(f), Some(l)) = (p.chunks.first(), p.chunks.last()) else { return false }; + p.chunks.iter().enumerate().all(|(i, c)| p.first.checked_add(i as u64) == Some(c.index) && c.len >= 1) + && p.proof.len() <= MAX_RANGE_PROOF + && p.trim_in < f.len + && p.trim_out < l.len + && (p.chunks.len() > 1 || p.trim_in.checked_add(p.trim_out).is_some_and(|s| s < f.len)) + }) + } + + /// Read a clip record, hold it to §5.2's rules and verify its signature. + pub fn parse(b: &[u8]) -> Result { + let c = Clip::read(b)?; + if !c.rules_hold() { + return Err(Reason::ClipRecordInvalid); + } + verify_sig(&c.signer, CLIP_DOMAIN, &b[..b.len() - 64], &c.sig)?; + Ok(c) + } +} + +/// What a cutter holds of a take (§5.5): the device, the take id, the chunks of its +/// manifest, the commitment it proves against (its event's digest and its payload), and +/// the take's clock offset (its opening commitment's). +#[derive(Clone, Debug)] +pub struct TakeSource<'a> { + pub device: [u8; 32], + pub take: [u8; 32], + pub chunks: &'a [Chunk], + pub head: [u8; 32], + pub head_commit: &'a Commit, + pub offset: i64, +} + +/// A chunk range resolved from a byte range of the master (§5.5): the first chunk, the +/// count, and the trims. +pub fn resolve_bytes(chunks: &[Chunk], from: u64, to: u64) -> Option<(u64, usize, u64, u64)> { + if from >= to { + return None; + } + let mut at = 0u64; + let (mut first, mut last) = (None, None); + for c in chunks { + let end = at.checked_add(c.len)?; + if first.is_none() && from < end { + first = Some((c.index, from - at)); + } + if to <= end { + last = Some((c.index, end - to)); + break; + } + at = end; + } + let ((a, trim_in), (z, trim_out)) = (first?, last?); + Some((a, (z - a + 1) as usize, trim_in, trim_out)) +} + +/// The chunks of a take whose mapped capture covers a room-clock window, minimally (§5.5, +/// §6.1): the first chunk and the count. +pub fn resolve_window(chunks: &[Chunk], offset: i64, window_in: u64, window_out: u64) -> Option<(u64, usize)> { + let map = |d: u64| d as i128 + offset as i128; + let a = chunks.iter().find(|c| map(c.start) <= window_in as i128 && (window_in as i128) < map(c.end))?; + let z = chunks.iter().find(|c| map(c.start) < window_out as i128 && (window_out as i128) <= map(c.end))?; + (z.index >= a.index).then(|| (a.index, (z.index - a.index + 1) as usize)) +} + +/// Cut one take's part of a clip (§5.5): `count` chunks from `first`, the trims, and the +/// range proof against the source's head; `None` when the range is past the head's size. +pub fn cut_part(src: &TakeSource, first: u64, count: usize, trim_in: u64, trim_out: u64) -> Option { + let size = src.head_commit.size; + let end = first.checked_add(count as u64)?; + if count == 0 || end > size || size as usize > src.chunks.len() { + return None; + } + let l = leaves(&src.chunks[..size as usize]); + let proof = range_proof(first as usize, end as usize, &l)?; + Some(ClipPart { + device: src.device, + take: src.take, + head: src.head, + size, + root: src.head_commit.root, + first, + trim_in, + trim_out, + chunks: src.chunks[first as usize..end as usize].to_vec(), + proof, + }) +} + +/// A clip record over `parts`, presenting the room-clock window, signed by `signer`. +pub fn cut_clip(room: [u8; 32], window_in: u64, window_out: u64, parts: Vec, signer: &SigningKey) -> Clip { + Clip { room, window_in, window_out, parts, signer: [0; 32], sig: [0; 64] }.sign(signer) +} + +/// The mapped capture span of a part's chunks on the room clock (§6.1). +pub fn mapped_span(chunks: &[Chunk], offset: i64) -> (i128, i128) { + let map = |d: u64| d as i128 + offset as i128; + (chunks.first().map_or(0, |c| map(c.start)), chunks.last().map_or(0, |c| map(c.end))) +} + +/// Where a clip verification stopped (§5.4). +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum ClipPlace { + Descriptor, + Clip, + Part(usize), + /// A commitment given for a part, by its index in the list given. + Commit { part: usize, index: usize }, + /// A chunk's bytes given for a part, by its index in the part. + Chunk { part: usize, index: usize }, +} + +/// The MoQ address a FETCH of a part's chunks names (§8): the Track Namespace fields and +/// Track Name of the take's track, and the range of its LOCATION_FILTER. +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct FetchRange { + pub namespace: [String; 3], + pub name: String, + pub start_group: u64, + pub start_object: u64, + /// The end group is `start_group` plus this; every object of it is fetched. + pub end_group_delta: u64, +} + +/// The FETCH address of chunks `first` to `first + count − 1` of a take (§8). +pub fn fetch_range(room: &[u8; 32], device: &[u8; 32], take: &[u8; 32], first: u64, count: u64) -> FetchRange { + FetchRange { + namespace: [hex(room), hex(device), TAKE_TRACK.into()], + name: hex(take), + start_group: first, + start_object: 0, + end_group_delta: count.saturating_sub(1), + } +} + +/// What a verified part states (§5.4, §6). +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct PartFacts { + pub take: [u8; 32], + pub first: u64, + pub count: u64, + /// The take's clock offset, its opening commitment's. + pub offset: i64, + /// The mapped capture span of its chunks, on the room clock. + pub span: (i128, i128), + /// The window on the device clock: each room-clock instant `t` is `t − offset` there. + pub device_window: (i128, i128), + /// The bytes the part presents: their length and SHA-256. + pub bytes: u64, + pub sha256: [u8; 32], + pub fetch: FetchRange, +} + +/// What a verified clip states (§5.4, §6.2). +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct ClipFacts { + pub digest: [u8; 32], + pub signer: [u8; 32], + pub window: (u64, u64), + /// The bound, in microseconds, on the time correspondence: *J* to the room clock for + /// one part, 2*J* between any two (§6.2). + pub bound_us: u64, + pub parts: Vec, +} + +/// The outcome of a clip verification (§5.4). +#[derive(Clone, Debug, PartialEq, Eq)] +pub enum ClipOutcome { + Refuse { at: ClipPlace, reason: Reason }, + Accept(ClipFacts), +} + +/// What a clip verifier is given for one part (§5.4): the device's key, the take's +/// `take_commit` events from its opening one to the head in their order, and the chunks' +/// bytes, each one present or absent. +#[derive(Clone, Debug)] +pub struct PartInputs<'a> { + pub device: [u8; 32], + pub commits: &'a [Vec], + pub bytes: &'a [Option>], +} + +/// One commitment as a clip verifier reads it: its event's digest and `t`, and its payload. +struct Held { + digest: [u8; 32], + t: u64, + c: Commit, +} + +/// §5.4 step 3 for part `k`: the facts, or the refusal. +fn verify_part(k: usize, p: &ClipPart, i: &PartInputs, room_id: &[u8; 32], clip: &Clip, interval: i128, jitter: i128) -> Result { + let at_part = |r: Reason| (ClipPlace::Part(k), r); + let at_commit = |j: usize, r: Reason| (ClipPlace::Commit { part: k, index: j }, r); + // a. The device. + if i.device != p.device { + return Err(at_part(Reason::ClipDeviceMismatch)); + } + // b. The commitments read. + let mut held = Vec::with_capacity(i.commits.len()); + for (j, b) in i.commits.iter().enumerate() { + let e = Event::parse(b).map_err(|r| at_commit(j, r.into()))?; + if e.room != *room_id { + return Err(at_commit(j, WRONG_ROOM)); + } + if e.principal != p.device { + return Err(at_commit(j, Reason::ClipDeviceMismatch)); + } + e.verify_signature().map_err(|r| at_commit(j, r.into()))?; + if e.kind != events::kind::TAKE_COMMIT { + return Err(at_commit(j, take::Reason::CommitMalformed.into())); + } + let c = Commit::parse(&e.payload).map_err(|r| at_commit(j, r.into()))?; + if c.take != p.take { + return Err(at_commit(j, Reason::ClipTakeMismatch)); + } + held.push(Held { digest: e.digest(), t: e.t, c }); + } + // c. The chain (capture-binding §5.3), then each extends its predecessor (§4.3). + let Some(open) = held.first() else { return Err(at_part(take::Reason::CommitChainBroken.into())) }; + if !open.c.is_opening() { + return Err(at_commit(0, take::Reason::CommitChainBroken.into())); + } + for (j, w) in held.windows(2).enumerate() { + let (a, b) = (&w[0], &w[1]); + if b.c.n > a.c.n.saturating_add(1) { + return Err(at_commit(j + 1, take::DELIVERY_GAP.into())); + } + let follows = a.c.phase != phase::CLOSE && b.c.phase != phase::OPEN && b.c.n == a.c.n.wrapping_add(1) && b.c.prev == a.digest && b.c.first == a.c.size; + if !follows { + return Err(at_commit(j + 1, take::Reason::CommitChainBroken.into())); + } + } + for (j, w) in held.windows(2).enumerate() { + let (a, b) = (&w[0].c, &w[1].c); + if !extends(b.first, &a.root, b.size, &b.root, &b.proof) { + return Err(at_commit(j + 1, take::Reason::RootNotExtending.into())); + } + } + // d. The head is the last commitment given, with the record's size and root. + let head = held.last().expect("an opening commitment"); + if head.digest != p.head || head.c.size != p.size || head.c.root != p.root { + return Err(at_part(Reason::TreeHeadNotCommitted)); + } + // e. The range lies within the head. + let count = p.chunks.len() as u64; + if p.first.checked_add(count).is_none_or(|e| e > p.size) { + return Err(at_part(Reason::ClipOutOfRange)); + } + // f. The descriptors are the head's leaves `first` onward. + if !verify_range(p.first, &leaves(&p.chunks), &p.proof, &OutputCommitment { root: p.root, leaf_count: p.size }) { + return Err(at_part(Reason::ClipNotIncluded)); + } + // g. The clock held (capture-binding §9.4 single-take 6). + let o = open.c.offset as i128; + if let Some(j) = held.iter().position(|h| (h.c.offset as i128 - o).abs() > jitter) { + return Err(at_commit(j, take::Reason::ClockUnstable.into())); + } + // h. The chunks tile the capture, none longer than the interval (single-take 7, 8). + let ch = &p.chunks; + if ch.iter().any(|c| c.start >= c.end) || ch.windows(2).any(|w| w[1].start != w[0].end) { + return Err(at_part(take::Reason::CaptureDiscontinuous.into())); + } + if ch.iter().any(|c| (c.end - c.start) as i128 > interval) { + return Err(at_part(take::Reason::ChunkTooLong.into())); + } + // i. Each chunk was committed after its capture ended, and within I + J (single-take 9, 10). + let map = |d: u64| d as i128 + o; + let adder = |c: &Chunk| held.iter().find(|h| h.c.first <= c.index && c.index < h.c.size).expect("a chunk below the head's size"); + if ch.iter().any(|c| (adder(c).t as i128) + jitter < map(c.end)) { + return Err(at_part(take::Reason::CommitEarly.into())); + } + if ch.iter().any(|c| adder(c).t as i128 > map(c.end) + interval + jitter) { + return Err(at_part(take::Reason::CommitLate.into())); + } + // j. The window (§5.2, §6.1). + let (span_in, span_out) = mapped_span(ch, open.c.offset); + let (f, l) = (&ch[0], &ch[ch.len() - 1]); + let (wi, wo) = (clip.window_in as i128, clip.window_out as i128); + let covers = span_in <= wi && wo <= span_out && wi < map(f.end) && map(l.start) < wo; + let trimmed = p.trim_in != 0 || p.trim_out != 0; + if !covers || (trimmed && (wi, wo) != (span_in, span_out)) { + return Err(at_part(Reason::ClipWindowInvalid)); + } + // k. The bytes. + let mut presented = Vec::new(); + for (j, c) in ch.iter().enumerate() { + let at = (ClipPlace::Chunk { part: k, index: j }, Reason::ClipChunkMissing); + let b = i.bytes.get(j).and_then(Option::as_ref).ok_or(at)?; + if !c.is(b) { + let other = ch.iter().any(|x| x.index != c.index && x.is(b)); + return Err((at.0, if other { take::Reason::ChunkReordered } else { take::Reason::ChunkAltered }.into())); + } + presented.extend_from_slice(b); + } + if i.bytes.len() > ch.len() { + return Err((ClipPlace::Chunk { part: k, index: ch.len() }, take::Reason::ChunkExtra.into())); + } + let shown = &presented[p.trim_in as usize..presented.len() - p.trim_out as usize]; + Ok(PartFacts { + take: p.take, + first: p.first, + count, + offset: open.c.offset, + span: (span_in, span_out), + device_window: (wi - o, wo - o), + bytes: shown.len() as u64, + sha256: sha256(&[shown]), + fetch: fetch_range(room_id, &p.device, &p.take, p.first, count), + }) +} + +/// Verify a clip (§5.4): the room descriptor, the clip record, and for each of its parts in +/// order what [`PartInputs`] holds. +pub fn verify_clip(descriptor: &[u8], record: &[u8], parts: &[PartInputs]) -> ClipOutcome { + let refuse = |at, reason| ClipOutcome::Refuse { at, reason }; + // 1. The descriptor. + let d = match Descriptor::parse(descriptor) { + Ok(d) => d, + Err(r) => return refuse(ClipPlace::Descriptor, r.into()), + }; + let room_id = d.room_id(); + // 2. The record. + let clip = match Clip::parse(record) { + Ok(c) => c, + Err(r) => return refuse(ClipPlace::Clip, r), + }; + if clip.room != room_id { + return refuse(ClipPlace::Clip, WRONG_ROOM); + } + if parts.len() != clip.parts.len() { + return refuse(ClipPlace::Clip, Reason::ClipRecordInvalid); + } + // 3. Each part. + let interval = d.recording.commit_interval_ms as i128 * 1000; + let jitter = d.recording.jitter_ms as i128 * 1000; + let mut facts = Vec::with_capacity(parts.len()); + for (k, (p, i)) in clip.parts.iter().zip(parts).enumerate() { + match verify_part(k, p, i, &room_id, &clip, interval, jitter) { + Ok(f) => facts.push(f), + Err((at, r)) => return refuse(at, r), + } + } + let j = d.recording.jitter_ms as u64 * 1000; + ClipOutcome::Accept(ClipFacts { + digest: clip.digest(), + signer: clip.signer, + window: (clip.window_in, clip.window_out), + bound_us: if clip.parts.len() == 1 { j } else { 2 * j }, + parts: facts, + }) +} + +#[cfg(test)] +mod tests { + use super::*; + + fn chunks(n: u64) -> Vec { + (0..n).map(|i| Chunk::of(i, 1_000 * i, 1_000 * (i + 1), &vec![i as u8; 5 + i as usize])).collect() + } + + #[test] + fn a_chain_file_splits_into_its_records() { + let k = SigningKey::from_bytes(&[4; 32]); + let mut prev = [0; 32]; + let mut rs = Vec::new(); + for (s, anchor) in [None, Some(events::Anchor { track: [7; 32], group: 3, object: 9 }), None].into_iter().enumerate() { + let e = Event::sign(&k, [1; 32], s as u64, prev, 10 * s as u64, anchor, events::kind::CHAT, b"hello".to_vec()); + prev = e.digest(); + rs.push(e.to_bytes()); + } + let f = chain_file(&rs); + assert_eq!(split_chain(&f), Some(rs.clone())); + assert_eq!(split_chain(&f[..f.len() - 1]), None); + let mut extra = f.clone(); + extra.push(0); + assert_eq!(split_chain(&extra), None); + assert_eq!(split_chain(&[]), Some(vec![])); + } + + #[test] + fn ids_and_listings() { + assert!(id_ok(b"room") && id_ok(b"a-b_9") && !id_ok(b"") && !id_ok(b"Room") && !id_ok(b"a.b") && !id_ok(&[b'a'; 65])); + let mut files = BTreeMap::new(); + files.insert("room/descriptor.wrd".to_string(), b"d".to_vec()); + files.insert("room/grant-0000.wrg".to_string(), b"g".to_vec()); + files.insert("events/x.wev".to_string(), b"e".to_vec()); + let l = listing_below(&files, "room/").unwrap(); + let want = format!("{} descriptor.wrd\n{} grant-0000.wrg\n", hex(&sha256(&[b"d"])), hex(&sha256(&[b"g"]))); + assert_eq!(String::from_utf8(l).unwrap(), want); + assert_eq!(listing_below(&files, "takes/"), None); + } + + #[test] + fn a_byte_range_resolves_to_whole_chunks_and_trims() { + // Lengths 5, 6, 7, 8: chunk 1 is bytes 5..11, chunk 2 is 11..18. + let c = chunks(4); + assert_eq!(resolve_bytes(&c, 0, 5), Some((0, 1, 0, 0))); + assert_eq!(resolve_bytes(&c, 6, 13), Some((1, 2, 1, 5))); + assert_eq!(resolve_bytes(&c, 11, 18), Some((2, 1, 0, 0))); + assert_eq!(resolve_bytes(&c, 0, 26), Some((0, 4, 0, 0))); + assert_eq!(resolve_bytes(&c, 0, 27), None); + assert_eq!(resolve_bytes(&c, 4, 4), None); + } + + #[test] + fn a_window_resolves_to_its_minimal_cover() { + let c = chunks(5); + // Room clock = device clock + 500. + assert_eq!(resolve_window(&c, 500, 500, 1_500), Some((0, 1))); + assert_eq!(resolve_window(&c, 500, 1_400, 1_600), Some((0, 2))); + assert_eq!(resolve_window(&c, 500, 1_500, 3_500), Some((1, 2))); + assert_eq!(resolve_window(&c, 500, 400, 1_000), None); + assert_eq!(resolve_window(&c, 500, 4_000, 5_600), None); + } + + #[test] + fn a_clip_record_round_trips_and_is_read_strictly() { + let k = SigningKey::from_bytes(&[9; 32]); + let ch = chunks(6); + let l = leaves(&ch); + let part = ClipPart { + device: [1; 32], + take: [2; 32], + head: [3; 32], + size: 6, + root: crate::output_tree::tree_hash(&l), + first: 2, + trim_in: 1, + trim_out: 2, + chunks: ch[2..5].to_vec(), + proof: range_proof(2, 5, &l).unwrap(), + }; + let c = cut_clip([5; 32], 2_000, 5_000, vec![part.clone()], &k); + let b = c.to_bytes(); + assert_eq!(Clip::parse(&b), Ok(c.clone())); + assert_eq!(Clip::parse(&b[..b.len() - 1]), Err(TRUNCATED)); + let mut t = b.clone(); + t.push(0); + assert_eq!(Clip::parse(&t), Err(MALFORMED)); + let mut s = b.clone(); + let n = s.len(); + s[n - 1] ^= 1; + assert_eq!(Clip::parse(&s), Err(events::Reason::BadSignature.into())); + // Trims only within the boundary chunks, and only in a clip of one take. + for bad in [ClipPart { trim_in: 7, ..part.clone() }, ClipPart { trim_out: 9, ..part.clone() }] { + assert_eq!(Clip::parse(&cut_clip([5; 32], 2_000, 5_000, vec![bad], &k).to_bytes()), Err(Reason::ClipRecordInvalid)); + } + let two = vec![part.clone(), ClipPart { take: [4; 32], ..part.clone() }]; + assert_eq!(Clip::parse(&cut_clip([5; 32], 2_000, 5_000, two, &k).to_bytes()), Err(Reason::ClipRecordInvalid)); + let renumbered = ClipPart { first: 3, ..part.clone() }; + assert_eq!(Clip::parse(&cut_clip([5; 32], 2_000, 5_000, vec![renumbered], &k).to_bytes()), Err(Reason::ClipRecordInvalid)); + assert_eq!(Clip::parse(&cut_clip([5; 32], 5_000, 5_000, vec![part], &k).to_bytes()), Err(Reason::ClipRecordInvalid)); + } + + #[test] + fn a_recording_manifest_is_held_to_its_order() { + let k = SigningKey::from_bytes(&[8; 32]); + let comp = |kind, id: &str| Component { kind, id: id.as_bytes().to_vec(), sha256: [kind; 32] }; + let t1 = "a".repeat(64); + let t2 = "b".repeat(64); + let base = RecordingManifest { + room: [1; 32], + signer: [0; 32], + from: 0, + to: 10, + claims: claim::COMPLETE, + purposes: purpose::RECORD, + components: vec![comp(component::ROOM, "room"), comp(component::EVENTS, "events"), comp(component::TAKE, &t1), comp(component::TAKE, &t2), comp(component::COMPOSITE, "composite")], + sig: [0; 64], + }; + let ok = base.clone().sign(&k); + assert_eq!(RecordingManifest::parse(&ok.to_bytes()), Ok(ok.clone())); + let mut swapped = base.clone(); + swapped.components.swap(2, 3); + let mut no_events = base.clone(); + no_events.components.remove(1); + let mut late_composite = base.clone(); + late_composite.components.swap(3, 4); + for bad in [RecordingManifest { claims: 2, ..base.clone() }, RecordingManifest { from: 11, ..base.clone() }, swapped, no_events, late_composite] { + assert_eq!(RecordingManifest::parse(&bad.sign(&k).to_bytes()), Err(Reason::RecordingManifestInvalid)); + } + } + + #[test] + fn a_fetch_names_the_takes_track_and_its_groups() { + let f = fetch_range(&[0xAB; 32], &[0xCD; 32], &[0xEF; 32], 4, 3); + assert_eq!(f.namespace, ["ab".repeat(32), "cd".repeat(32), "take".to_string()]); + assert_eq!(f.name, "ef".repeat(32)); + assert_eq!((f.start_group, f.start_object, f.end_group_delta), (4, 0, 2)); + // MOQT §8.7: a Full Track Name is at most 4 096 bytes. + assert!(f.namespace.iter().map(String::len).sum::() + f.name.len() <= 4096); + } + + #[test] + fn the_reasons_are_distinct() { + let codes: BTreeSet<&str> = Reason::ALL.iter().map(|r| r.code()).collect(); + assert_eq!(codes.len(), Reason::ALL.len()); + for r in Reason::ALL { + assert!(room::Reason::from_code(r.code()).is_none(), "{r} is also a room code"); + assert!(!take::Reason::ALL.iter().any(|t| t.code() == r.code()), "{r} is also a take code"); + } + } +} diff --git a/wai/wai-rs/src/live_record/corpus.rs b/wai/wai-rs/src/live_record/corpus.rs new file mode 100644 index 000000000..3f5cf4fdd --- /dev/null +++ b/wai/wai-rs/src/live_record/corpus.rs @@ -0,0 +1,12 @@ +//! The conformance corpus of extensions/live-recording.md §10 (stub while it is written). +use super::*; + +/// The corpus file. +pub fn generate() -> String { + String::new() +} + +/// Check a corpus file against this module. +pub fn verify(_doc: &str) -> Vec { + vec![] +} diff --git a/wai/wai-rs/src/output_tree.rs b/wai/wai-rs/src/output_tree.rs index 76f92cafc..d4dc01318 100644 --- a/wai/wai-rs/src/output_tree.rs +++ b/wai/wai-rs/src/output_tree.rs @@ -193,6 +193,98 @@ pub fn verify_proof(leaf: [u8; 32], index: u64, path: &[[u8; 32]], c: &OutputCom sn == 0 && r == root } +/// The audit path of leaf `index` among the leaf hashes `d` (RFC 6962 §2.1.1, RFC 9162 +/// §2.1.3.1), from the leaf up: [`proof`] over leaves of any domain. `None` when `index` +/// is not below `d.len()`. +pub fn audit_path(index: usize, d: &[[u8; 32]]) -> Option> { + if index >= d.len() { + return None; + } + let mut out = Vec::new(); + path(index, d, &mut out); + Some(out) +} + +/// The largest power of two below `n` (`n ≥ 2`), on `u64`. +fn split64(n: u64) -> u64 { + 1u64 << (63 - (n - 1).leading_zeros()) +} + +fn range_nodes(a: usize, b: usize, d: &[[u8; 32]], out: &mut Vec<[u8; 32]>) { + let n = d.len(); + if a == 0 && b == n { + return; + } + let k = split(n); + if b <= k { + range_nodes(a, b, &d[..k], out); + out.push(mth(&d[k..])); + } else if a >= k { + range_nodes(a - k, b - k, &d[k..], out); + out.push(mth(&d[..k])); + } else { + range_nodes(a, k, &d[..k], out); + range_nodes(0, b - k, &d[k..], out); + } +} + +/// The range proof that leaves `a` to `b` − 1 of the leaf hashes `d` are those of the +/// tree over `d` (extensions/live-recording.md §5.3): RFC 6962 §2.1.1's `PATH` taken over +/// a run of leaves instead of one. With `n` = `d.len()` and `k` the largest power of two +/// below `n`, `RANGE(a, b, D[n])` is empty when `a` is 0 and `b` is `n`, and otherwise +/// `RANGE(a, b, D[0:k]) : MTH(D[k:n])` when `b ≤ k`, `RANGE(a − k, b − k, D[k:n]) : +/// MTH(D[0:k])` when `a ≥ k`, and `RANGE(a, k, D[0:k]) : RANGE(0, b − k, D[k:n])` +/// otherwise. A run of one leaf is never split, so `range_proof(i, i + 1, d)` is leaf +/// `i`'s audit path, node for node. `None` unless `a < b ≤ n`. +pub fn range_proof(a: usize, b: usize, d: &[[u8; 32]]) -> Option> { + if a >= b || b > d.len() { + return None; + } + let mut out = Vec::new(); + range_nodes(a, b, d, &mut out); + Some(out) +} + +/// The root a range proof walks to, consuming `proof` from the front in the order +/// [`range_proof`] writes it; `None` when it runs out. +fn range_root(a: u64, b: u64, n: u64, leaves: &[[u8; 32]], proof: &mut std::slice::Iter<'_, [u8; 32]>) -> Option<[u8; 32]> { + if a == 0 && b == n { + return Some(mth(leaves)); + } + let k = split64(n); + if b <= k { + let x = range_root(a, b, k, leaves, proof)?; + Some(node(&x, proof.next()?)) + } else if a >= k { + let x = range_root(a - k, b - k, n - k, leaves, proof)?; + Some(node(proof.next()?, &x)) + } else { + let at = (k - a) as usize; + let x = range_root(a, k, k, &leaves[..at], proof)?; + let y = range_root(0, b - k, n - k, &leaves[at..], proof)?; + Some(node(&x, &y)) + } +} + +/// Whether `proof` shows that the leaf hashes `leaves` are leaves `first` onward of the +/// tree `c` commits to, under its leaf count: the tree's root rebuilt by the recursion of +/// [`range_proof`], every node of the proof used once, in order, and none left over +/// (extensions/live-recording.md §5.3). For one leaf it gives what [`verify_proof`], RFC +/// 9162 §2.1.3.2's check, gives for that leaf's audit path. The leaf count is the +/// commitment's, never the proof holder's, as for an audit path. +pub fn verify_range(first: u64, leaves: &[[u8; 32]], proof: &[[u8; 32]], c: &OutputCommitment) -> bool { + let n = c.leaf_count; + let Some(b) = first.checked_add(leaves.len() as u64) else { return false }; + if leaves.is_empty() || b > n { + return false; + } + let mut it = proof.iter(); + match range_root(first, b, n, leaves, &mut it) { + Some(r) => it.next().is_none() && r == c.root, + None => false, + } +} + fn subproof(m: usize, d: &[[u8; 32]], b: bool, out: &mut Vec<[u8; 32]>) { let n = d.len(); if m == n { @@ -266,6 +358,7 @@ pub fn verify_consistency(first: u64, second: u64, first_root: &[u8; 32], second #[cfg(test)] mod tests { use super::*; + use std::collections::BTreeSet; fn hex(b: &[u8]) -> String { b.iter().map(|x| format!("{x:02x}")).collect() @@ -384,6 +477,85 @@ mod tests { } } + /// The range proof of every run of leaves of trees of 1 to 33 leaves verifies; a run + /// of one leaf is its RFC 6962 audit path, node for node, and RFC 9162 §2.1.3.2's check + /// (`verify_proof`) gives the same answer over it as the range check does, whatever is + /// changed; and a flipped bit, a node added or dropped, a leaf replaced, the run moved, + /// or the next tree's root under the next size is refused. + #[test] + fn range_proofs_generalise_the_audit_path() { + let leaves: Vec<[u8; 32]> = (0..34u8).map(|i| sha256(&[b'r', i])).collect(); + for n in 1..=33usize { + let d = &leaves[..n]; + let c = OutputCommitment { root: tree_hash(d), leaf_count: n as u64 }; + let next = OutputCommitment { root: tree_hash(&leaves[..n + 1]), leaf_count: n as u64 + 1 }; + for a in 0..n { + let path = audit_path(a, d).unwrap(); + assert_eq!(range_proof(a, a + 1, d).unwrap(), path, "n = {n}, a = {a}"); + assert!(verify_proof(d[a], a as u64, &path, &c)); + assert!(verify_range(a as u64, &d[a..a + 1], &path, &c)); + // The two checks agree on every single-leaf change. + let mut bad = path.clone(); + if let Some(x) = bad.first_mut() { + x[3] ^= 0x40; + assert_eq!(verify_proof(d[a], a as u64, &bad, &c), verify_range(a as u64, &d[a..a + 1], &bad, &c)); + assert!(!verify_range(a as u64, &d[a..a + 1], &bad, &c)); + } + let other = sha256(b"not a leaf"); + assert_eq!(verify_proof(other, a as u64, &path, &c), verify_range(a as u64, &[other], &path, &c)); + for b in a + 1..=n { + let p = range_proof(a, b, d).unwrap(); + let run = &d[a..b]; + assert!(verify_range(a as u64, run, &p, &c), "n = {n}, [{a}, {b})"); + assert!(p.len() <= 2 * (usize::BITS - (n - 1).leading_zeros()) as usize, "n = {n}, [{a}, {b}): {} nodes", p.len()); + assert!(!verify_range(a as u64, run, &p, &next), "n = {n}, [{a}, {b}), next tree"); + let mut extra = p.clone(); + extra.push([0; 32]); + assert!(!verify_range(a as u64, run, &extra, &c), "a node left over"); + if !p.is_empty() { + let mut flipped = p.clone(); + let last = flipped.len() - 1; + flipped[last][0] ^= 1; + assert!(!verify_range(a as u64, run, &flipped, &c), "n = {n}, [{a}, {b}), bit"); + assert!(!verify_range(a as u64, run, &p[..last], &c), "a node dropped"); + } + let mut swapped = run.to_vec(); + swapped[run.len() / 2][31] ^= 2; + assert!(!verify_range(a as u64, &swapped, &p, &c), "n = {n}, [{a}, {b}), leaf"); + if b < n { + assert!(!verify_range(a as u64 + 1, run, &p, &c), "n = {n}, [{a}, {b}), moved"); + } + } + } + assert_eq!(range_proof(0, 0, d), None); + assert_eq!(range_proof(0, n + 1, d), None); + assert!(!verify_range(0, &[], &[], &c)); + assert!(!verify_range(n as u64, &[d[0]], &[], &c)); + assert!(!verify_range(u64::MAX, &[d[0]], &[], &c)); + // The whole tree needs no node: its root is the leaves' tree hash. + assert!(range_proof(0, n, d).unwrap().is_empty()); + } + } + + /// The nodes of a range proof are nodes some audit path of a leaf in the range holds: + /// it proves no more than the audit paths of its leaves do, with the nodes they share + /// written once and those the run's own leaves give left out. + #[test] + fn a_range_proof_is_drawn_from_its_leaves_audit_paths() { + let leaves: Vec<[u8; 32]> = (0..21u8).map(|i| sha256(&[b'p', i])).collect(); + for n in 1..=21usize { + let d = &leaves[..n]; + for a in 0..n { + for b in a + 1..=n { + let union: BTreeSet<[u8; 32]> = (a..b).flat_map(|i| audit_path(i, d).unwrap()).collect(); + for x in range_proof(a, b, d).unwrap() { + assert!(union.contains(&x), "n = {n}, [{a}, {b})"); + } + } + } + } + } + #[test] fn duplicate_presentation_is_refused() { let mut p = ps(4); diff --git a/wai/wai-rs/tests/live_record.rs b/wai/wai-rs/tests/live_record.rs new file mode 100644 index 000000000..537ff3fa7 --- /dev/null +++ b/wai/wai-rs/tests/live_record.rs @@ -0,0 +1,2 @@ +//! `wai.live.recording` (extensions/live-recording.md): placeholder while the corpus is written. +#![cfg(feature = "live_record")] -- 2.54.0 (Apple Git-157) From b50389ecf5f3196af5b0a6988c38f1b33ec77e98 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 10:21:14 -0400 Subject: [PATCH 02/26] wai: live_record corpus generator (WIP) Co-Authored-By: Claude Opus 5.5 --- wai/wai-rs/src/capture_take/corpus.rs | 52 +- wai/wai-rs/src/live_record/corpus.rs | 1247 ++++++++++++++++++++++++- 2 files changed, 1267 insertions(+), 32 deletions(-) diff --git a/wai/wai-rs/src/capture_take/corpus.rs b/wai/wai-rs/src/capture_take/corpus.rs index 93856dbea..cf11a70bb 100644 --- a/wai/wai-rs/src/capture_take/corpus.rs +++ b/wai/wai-rs/src/capture_take/corpus.rs @@ -18,26 +18,26 @@ use crate::output_tree::consistency_proof; use serde_json::{json, Map, Value}; /// The rooms' `t0`: 2026-10-16T00:00:00Z, in microseconds and in seconds. -const T0_US: u64 = 1_792_108_800_000_000; -const T0_S: u64 = T0_US / 1_000_000; -const S: u64 = 1_000_000; -const MS: u64 = 1_000; -const ORIGIN: &str = "https://lessons.example"; +pub(crate) const T0_US: u64 = 1_792_108_800_000_000; +pub(crate) const T0_S: u64 = T0_US / 1_000_000; +pub(crate) const S: u64 = 1_000_000; +pub(crate) const MS: u64 = 1_000; +pub(crate) const ORIGIN: &str = "https://lessons.example"; /// The evaluation instant of every vector: a day after `t0`. -const EVALUATED_AT: u64 = T0_S + 86_400; +pub(crate) const EVALUATED_AT: u64 = T0_S + 86_400; -const AUTHORITY: u8 = 0; -const RELAY: u8 = 1; -const DIRECTOR: u8 = 2; -const DEVICE: u8 = 3; -const PERFORMER: u8 = 4; -const VIEWER: u8 = 5; -const STORE: u8 = 6; -const GUARDIAN: u8 = 7; -const MINOR: u8 = 8; -const IMPOSTOR: u8 = 9; -const LOG_ROOT: u8 = 10; -const LOG_NEXT: u8 = 11; +pub(crate) const AUTHORITY: u8 = 0; +pub(crate) const RELAY: u8 = 1; +pub(crate) const DIRECTOR: u8 = 2; +pub(crate) const DEVICE: u8 = 3; +pub(crate) const PERFORMER: u8 = 4; +pub(crate) const VIEWER: u8 = 5; +pub(crate) const STORE: u8 = 6; +pub(crate) const GUARDIAN: u8 = 7; +pub(crate) const MINOR: u8 = 8; +pub(crate) const IMPOSTOR: u8 = 9; +pub(crate) const LOG_ROOT: u8 = 10; +pub(crate) const LOG_NEXT: u8 = 11; const PRINCIPALS: [(&str, u8); 12] = [ ("authority", AUTHORITY), @@ -54,15 +54,15 @@ const PRINCIPALS: [(&str, u8); 12] = [ ("log_next", LOG_NEXT), ]; -fn key(i: u8) -> SigningKey { +pub(crate) fn key(i: u8) -> SigningKey { SigningKey::from_bytes(&sha256(&[b"wai:capture-take/corpus/key\x00", &[i]])) } -fn pk(i: u8) -> [u8; 32] { +pub(crate) fn pk(i: u8) -> [u8; 32] { key(i).verifying_key().to_bytes() } -fn unhex(s: &str) -> Option> { +pub(crate) fn unhex(s: &str) -> Option> { if !s.len().is_multiple_of(2) { return None; } @@ -78,7 +78,7 @@ fn bits(ks: &[u8]) -> [u8; 32] { } /// The bytes of chunk `i`: 48 to 111 bytes of SHA-256 output under a fixed label. -fn chunk_bytes(label: &[u8], i: usize) -> Vec { +pub(crate) fn chunk_bytes(label: &[u8], i: usize) -> Vec { let len = 48 + (i * 37) % 64; let mut out = Vec::with_capacity(len + 32); let mut j = 0u8; @@ -96,22 +96,22 @@ fn role(name: &str, publish: u8, max_layer: u8, powers: u8, events: &[u8]) -> Ro Role { name: name.into(), caps: Caps { publish, subscribe: true, max_layer, powers }, events: bits(events) } } -fn director() -> Role { +pub(crate) fn director() -> Role { use events::kind::*; role("director", 1, 2, power::MODERATE | power::DIRECT | power::RECORD, &[META, CHAT, REACTION, MARKER, CONTROL, CAPTION, DECISION]) } -fn performer() -> Role { +pub(crate) fn performer() -> Role { use events::kind::*; role("performer", 1 | 2, 2, 0, &[CHAT, REACTION, MARKER, TAKE_COMMIT]) } -fn audience() -> Role { +pub(crate) fn audience() -> Role { use events::kind::*; role("audience", 0, 1, 0, &[CHAT, REACTION]) } -fn kinds_of(b: &[u8; 32]) -> Vec { +pub(crate) fn kinds_of(b: &[u8; 32]) -> Vec { (0..=255u8).filter(|k| b[(k / 8) as usize] & (1 << (k % 8)) != 0).collect() } diff --git a/wai/wai-rs/src/live_record/corpus.rs b/wai/wai-rs/src/live_record/corpus.rs index 3f5cf4fdd..df5eef5d0 100644 --- a/wai/wai-rs/src/live_record/corpus.rs +++ b/wai/wai-rs/src/live_record/corpus.rs @@ -1,12 +1,1247 @@ -//! The conformance corpus of extensions/live-recording.md §10 (stub while it is written). +//! The conformance corpus of extensions/live-recording.md §10: `live-conformance/recordings/vectors.json`. +//! +//! [`generate`] writes it from fixed seeds, as capture binding's corpus is written: every key +//! is SHA-256 of that corpus's label and an index (the same keys, so the principals it names +//! are the same principals), every time is a constant, every chunk's bytes are SHA-256 +//! output under a fixed label, and Ed25519 signing is deterministic (RFC 8032). A take whose +//! plan is one of capture binding's is written by the same rules, so it is that corpus's take +//! byte for byte: its manifest, parts, receipts, consents and commitments +//! (`tests/live_record.rs` checks it against `live-conformance/takes/vectors.json`). Each +//! vector states the outcome it was written to have, and the generator asserts that this +//! module reaches it before writing it. +//! +//! [`verify`] checks a corpus file against this module. `live-conformance/live_record_verify.py` +//! checks the same file from the extension's text, sharing no code with this module. + use super::*; +use crate::capture_take::corpus::{ + audience, chunk_bytes, director, key, kinds_of, performer, pk, unhex, AUTHORITY, DEVICE, DIRECTOR, EVALUATED_AT, LOG_NEXT, LOG_ROOT, MS, ORIGIN, PERFORMER, RELAY, S, STORE, T0_S, + T0_US, VIEWER, +}; +use crate::capture_take::{claim as take_claim, state, Consent, Manifest as TakeManifest, Receipt}; +use crate::key_log::{commitment, KeyEntry, Revision}; +use crate::live_events::{Marker, Policy}; +use crate::live_room::{media, registered_profile, Detail, Grant, Limits, Recording, Review, NO_CEILING}; +use crate::output_tree::{consistency_proof, tree_hash}; +use serde_json::{json, Map, Value}; -/// The corpus file. +/// The accompanist, and the device that captures for it: two principals capture binding's +/// corpus does not use, under its key label. +const ACCOMPANIST: u8 = 12; +const ACCOMPANIST_DEVICE: u8 = 13; + +const PRINCIPALS: [(&str, u8); 11] = [ + ("authority", AUTHORITY), + ("relay", RELAY), + ("director", DIRECTOR), + ("device", DEVICE), + ("performer", PERFORMER), + ("viewer", VIEWER), + ("store", STORE), + ("accompanist", ACCOMPANIST), + ("accompanist_device", ACCOMPANIST_DEVICE), + ("log_root", LOG_ROOT), + ("log_next", LOG_NEXT), +]; + +/// The session span every recording states: `t0` to twenty seconds of room clock. +const SPAN_TO: u64 = 20 * S; + +// ---- the room ---- + +/// How the store's receipts run (capture binding's corpus). +#[derive(Clone, Copy, PartialEq, Eq)] +enum Upload { + /// open, progress to every chunk, sealed. + Whole, + /// open, progress to `n` and no further. + Stopped(usize), +} + +/// One take, with the knobs of capture binding's corpus a vector here turns. +#[derive(Clone)] +struct TakePlan { + /// The label its chunks' bytes and its consent's nonce are derived under. + label: &'static str, + device: u8, + principal: u8, + attrs: Vec<(String, String)>, + profiles: Vec, + /// Each chunk's capture range on the room clock. + chunks: Vec<(u64, u64)>, + /// The offset (room clock − device clock). + offset: i64, + /// The opening commitment's `t` after the start, the first running one's after the + /// capture instant, and the closing one's after the stop. + open_after: u64, + first_commit: u64, + close_after: u64, + late: Option<(u32, u64)>, + early_add: Option, + offset_jump: Option<(u32, i64)>, + break_prev: Option, + rewrite: Option<(u32, usize)>, + /// The commitment `n` the relay does not deliver. + drop: Option, + upload: Upload, + /// A chunk never uploaded. + missing: Option, + /// Receipt `i` is at `t0` + (`receipts_from` + 3`i`) s. + receipts_from: u64, + consent: bool, +} + +/// Capture binding's lesson take under `label`: ten one-second chunks from six seconds of +/// room clock, the performer's device committing every two seconds. +fn performer_take(label: &'static str) -> TakePlan { + let capture = 6 * S; + TakePlan { + label, + device: DEVICE, + principal: PERFORMER, + attrs: vec![("featured".into(), "true".into()), ("subject".into(), hex(&pk(PERFORMER)))], + profiles: vec![1, 2], + chunks: (0..10).map(|i| (capture + i * S, capture + (i + 1) * S)).collect(), + offset: -5_000_000_000, + open_after: 200 * MS, + first_commit: 2_300 * MS, + close_after: 400 * MS, + late: None, + early_add: None, + offset_jump: None, + break_prev: None, + rewrite: None, + drop: None, + upload: Upload::Whole, + missing: None, + receipts_from: 20, + consent: true, + } +} + +/// The accompanist's take beside it: eight chunks of 1.25 s over the same ten seconds, on a +/// device whose clock runs three seconds ahead of the room's. +fn accompanist_take() -> TakePlan { + let capture = 6 * S; + TakePlan { + label: "accompanist", + device: ACCOMPANIST_DEVICE, + principal: ACCOMPANIST, + attrs: vec![("subject".into(), hex(&pk(ACCOMPANIST)))], + profiles: vec![1], + chunks: (0..8).map(|i| (capture + i * 1_250 * MS, capture + (i + 1) * 1_250 * MS)).collect(), + offset: -3_000_000, + open_after: 300 * MS, + first_commit: 2_400 * MS, + close_after: 500 * MS, + receipts_from: 40, + ..performer_take("accompanist") + } +} + +/// A session: its takes, the director's start and stop of each, and the count-in. +#[derive(Clone)] +struct Scene { + takes: Vec, + start_t: u64, + stop_t: u64, + count_in_ms: u32, +} + +fn scene(takes: Vec) -> Scene { + Scene { takes, start_t: 2 * S, stop_t: 16 * S, count_in_ms: 4_000 } +} + +/// A principal's chain being written. +struct Author { + who: u8, + seq: u64, + prev: [u8; 32], + records: Vec>, +} + +struct Chains { + room: [u8; 32], + authors: Vec, +} + +impl Chains { + fn emit(&mut self, who: u8, t: u64, p: &Payload) -> [u8; 32] { + self.raw(who, t, p.kind(), p.encode()) + } + + fn raw(&mut self, who: u8, t: u64, kind: u8, payload: Vec) -> [u8; 32] { + let room = self.room; + let a = match self.authors.iter().position(|a| a.who == who) { + Some(i) => &mut self.authors[i], + None => { + self.authors.push(Author { who, seq: 0, prev: [0; 32], records: vec![] }); + self.authors.last_mut().expect("just pushed") + } + }; + let ev = Event::sign(&key(who), room, a.seq, a.prev, t, None, kind, payload); + a.seq += 1; + a.prev = ev.digest(); + a.records.push(ev.to_bytes()); + a.prev + } + + fn life(&mut self, t: u64, subject: u8, d: Detail) { + self.emit(RELAY, t, &Payload::Lifecycle { kind: d.kind(), subject: pk(subject), detail: d.encode() }); + } +} + +/// A take as written: what a cutter holds of it. +#[derive(Clone)] +struct WrittenTake { + device: u8, + take: [u8; 32], + /// The chunks its manifest lists. + chunks: Vec, + /// The bytes of each chunk its manifest lists. + bytes: Vec>, + /// Every commitment the device signed, in order, a dropped one included, and each + /// one's payload. + commits: Vec>, + payloads: Vec, + offset: i64, +} + +/// A session written out: the package's files before it is sealed, and its takes. +struct Written { + descriptor: Vec, + room: [u8; 32], + files: BTreeMap>, + takes: Vec, +} + +fn write(s: &Scene) -> Written { + let d = Descriptor { + authority: pk(AUTHORITY), + clock: pk(RELAY), + t0_us: T0_US, + tick_us: S, + origin: ORIGIN.into(), + limits: Limits { max_present: 8, max_publishers: 3, reval_s: 300, ceiling: Policy::default() }, + roles: vec![director(), performer(), audience()], + slots: vec![], + profiles: ["speech", "music", "camera-1080"].iter().map(|n| registered_profile(n).expect("registered")).collect(), + review: Review { kinds: [0; 32], deadline_ms: 0, fallback: 0 }, + recording: Recording { mode: 1, retention_days: 30, commit_interval_ms: 2_000, jitter_ms: 500, regions: vec![*b"DE", *b"FR"] }, + sig: [0; 64], + } + .sign(&key(AUTHORITY)); + let room_id = d.room_id(); + let grant = |who: u8, role: usize| { + let r = &d.roles[role]; + Grant { + room: room_id, + principal: pk(who), + prev: [0; 32], + effective: 0, + nbf: T0_S - 3_600, + exp: T0_S + 86_400, + role: role as u8, + caps: r.caps, + precedence: 0, + once: [0; 16], + viewer: [0; 16], + policy: Policy::with_kinds(&kinds_of(&r.events)), + joules_ceiling: NO_CEILING, + funds_ceiling: NO_CEILING, + currency: [0; 3], + profiles: vec![], + origins: vec!["https://relay.example".into()], + attrs: vec![], + sig: [0; 64], + } + }; + let gd = Grant { profiles: vec![0], ..grant(DIRECTOR, 0) }.sign(&key(AUTHORITY)); + let gv = grant(VIEWER, 2).sign(&key(AUTHORITY)); + let gt: Vec = s.takes.iter().map(|t| Grant { profiles: t.profiles.clone(), attrs: t.attrs.clone(), ..grant(t.device, 1) }.sign(&key(AUTHORITY))).collect(); + // The grants as capture binding's corpus orders them: the director's, the first + // device's, the viewer's; then each other device's. + let mut grants = vec![gd.to_bytes(), gt[0].to_bytes(), gv.to_bytes()]; + grants.extend(gt[1..].iter().map(Grant::to_bytes)); + let keys = vec![KeyEntry::active("room-authority", pk(AUTHORITY), &[room::KEY_LOG_AUTHORITY]), KeyEntry::active("take-store", pk(STORE), &[take::STORE_AUTHORITY])]; + let revision = Revision { + origin: ORIGIN.into(), + seq: 0, + prev: None, + issued_at: "2026-10-15T00:00:00Z".into(), + root: [0; 32], + next_root: commitment(&pk(LOG_NEXT)), + keys, + revoked_modules: vec![], + grant_max_s: 86_400, + status_max_age_s: 3_600, + sig: [0; 64], + }; + let head = Revision::seal(&key(LOG_ROOT), revision).expect("a well-formed revision").to_json(); + // The room's events: the clock's lifecycle, the director's, the viewer's. + let mut rm = Chains { room: room_id, authors: vec![] }; + let first = &s.takes[0]; + rm.life(0, DIRECTOR, Detail::Join { grant: gd.digest() }); + rm.life(0, first.device, Detail::Join { grant: gt[0].digest() }); + rm.life(500 * MS, VIEWER, Detail::Join { grant: gv.digest() }); + for (k, t) in s.takes.iter().enumerate().skip(1) { + rm.life(600 * MS, t.device, Detail::Join { grant: gt[k].digest() }); + } + rm.life(S, first.device, Detail::Publish { slot: String::new(), media: media::AUDIO, profile: 1, layers: 1 }); + rm.life(S, first.device, Detail::Publish { slot: String::new(), media: media::VIDEO, profile: 2, layers: 3 }); + rm.life(S, DIRECTOR, Detail::Publish { slot: String::new(), media: media::AUDIO, profile: 0, layers: 1 }); + for t in &s.takes[1..] { + rm.life(S, t.device, Detail::Publish { slot: String::new(), media: media::AUDIO, profile: 1, layers: 1 }); + } + let starts: Vec<[u8; 32]> = s + .takes + .iter() + .map(|t| rm.emit(DIRECTOR, s.start_t, &Payload::Control { target: pk(t.device), command: Command::RecordStart { count_in_ms: s.count_in_ms } })) + .collect(); + let capture = first.chunks[0].0; + for (k, note) in [(3, "rushed the run"), (7, "lovely phrasing")] { + let polarity = if k == 3 { 2 } else { 1 }; + rm.emit(DIRECTOR, capture + k * S, &Payload::Marker(Marker { taxonomy: 4, polarity, text: note.into(), attachment: None })); + } + for t in &s.takes { + rm.emit(DIRECTOR, s.stop_t, &Payload::Control { target: pk(t.device), command: Command::RecordStop }); + } + rm.emit(VIEWER, s.start_t + 500 * MS, &Payload::Chat { text: "good luck".into() }); + // Each take. + let mut files = BTreeMap::new(); + let mut written = Vec::new(); + for (k, t) in s.takes.iter().enumerate() { + let device_time = |x: u64| (x as i128 - t.offset as i128) as u64; + let bytes: Vec> = (0..t.chunks.len()).map(|i| chunk_bytes(t.label.as_bytes(), i)).collect(); + let edited = |c: usize| { + let mut b = bytes.clone(); + b[c] = chunk_bytes(b"edited", c); + b + }; + let descriptors = |bs: &[Vec]| -> Vec { + t.chunks.iter().zip(bs).enumerate().map(|(i, (&(a, z), b))| Chunk::of(i as u64, device_time(a), device_time(z), b)).collect() + }; + let honest = descriptors(&bytes); + let rewritten = t.rewrite.map(|(_, c)| descriptors(&edited(c))); + let take = take_id(&room_id, &pk(t.device), &starts[k]); + let capture = t.chunks[0].0; + let mut times = vec![(s.start_t + t.open_after, phase::OPEN)]; + let mut at = capture + t.first_commit; + while at < s.stop_t { + times.push((at, phase::RUNNING)); + at += 2 * S; + } + times.push((s.stop_t + t.close_after, phase::CLOSE)); + let (mut commits, mut payloads) = (Vec::new(), Vec::new()); + let (mut prev, mut size) = ([0u8; 32], 0u64); + for (n, &(when, ph)) in times.iter().enumerate() { + let n = n as u32; + let when = t.late.filter(|l| l.0 == n).map_or(when, |l| l.1); + let history = match (&rewritten, t.rewrite) { + (Some(r), Some((from, _))) if n >= from => r, + _ => &honest, + }; + let done = match ph { + phase::OPEN => 0, + phase::CLOSE => t.chunks.len() as u64, + _ => t.chunks.iter().filter(|c| c.1 <= when).count() as u64 + u64::from(t.early_add == Some(n)), + }; + let first = size; + let new_size = done.max(size); + let l = leaves(&history[..new_size as usize]); + let c = Commit { + take, + n, + phase: ph, + prev: if t.break_prev == Some(n) { [0; 32] } else { prev }, + first, + size: new_size, + root: take::root(&history[..new_size as usize]), + offset: t.offset + t.offset_jump.filter(|j| j.0 == n).map_or(0, |j| j.1), + proof: consistency_proof(first as usize, &l), + }; + prev = rm.emit(t.device, when, &Payload::TakeCommit(c.encode())); + let a = rm.authors.iter().find(|a| a.who == t.device).expect("the device's chain"); + commits.push(a.records.last().expect("just emitted").clone()); + payloads.push(c); + size = new_size; + } + if let Some(n) = t.drop { + let a = rm.authors.iter_mut().find(|a| a.who == t.device).expect("the device's chain"); + let i = a.records.iter().position(|r| *r == commits[n as usize]).expect("held"); + a.records.remove(i); + } + let final_bytes = match t.rewrite { + Some((_, c)) => edited(c), + None => bytes.clone(), + }; + let mut listed = descriptors(&final_bytes); + listed.truncate(size as usize); + let n = listed.len(); + let dir = format!("takes/{}/", hex(&take)); + for (i, b) in final_bytes.iter().enumerate().take(n) { + if t.missing != Some(i) { + files.insert(chunk_file(&take, i as u64), b.clone()); + } + } + let steps: Vec<(u8, usize)> = match t.upload { + Upload::Whole => vec![(state::OPEN, 0), (state::PROGRESS, n), (state::SEALED, n)], + Upload::Stopped(k) => vec![(state::OPEN, 0), (state::PROGRESS, k)], + }; + let mut rprev = [0u8; 32]; + for (i, &(st, held)) in steps.iter().enumerate() { + let r = Receipt { + store: pk(STORE), + take, + seq: i as u64, + prev: rprev, + at: T0_US + (t.receipts_from + 3 * i as u64) * S, + state: st, + held: held as u64, + root: take::root(&listed[..held]), + region: *b"DE", + sig: [0; 64], + } + .sign(&key(STORE)); + rprev = r.digest(); + files.insert(format!("{dir}receipt-{i:04}.wur"), r.to_bytes()); + } + let consent = Consent { + subject: pk(t.principal), + minor: 0, + guardian: [0; 32], + purposes: purpose::LIVE | purpose::RECORD | purpose::DISTRIBUTE, + room: room_id, + nbf: T0_S - 86_400, + exp: T0_S + 30 * 86_400, + nonce: sha256(&[b"wai:capture-take/corpus/nonce", t.label.as_bytes()])[..16].try_into().expect("16 bytes"), + sig: [0; 64], + } + .sign(&key(t.principal)); + if t.consent { + files.insert(format!("{dir}consent-0000.wcn"), consent.to_bytes()); + } + let manifest = TakeManifest { + room: room_id, + device: pk(t.device), + principal: pk(t.principal), + start: starts[k], + take, + store: pk(STORE), + claims: take_claim::SINGLE_TAKE | take_claim::ALIGNED | take_claim::COMPLETE, + purposes: purpose::RECORD | purpose::DISTRIBUTE, + root: take::root(&listed), + chunks: listed.clone(), + commits: commits.iter().map(|r| Event::parse(r).expect("a corpus record").digest()).collect(), + depicted: vec![(pk(t.principal), consent.digest())], + sig: [0; 64], + } + .sign(&key(t.device)); + files.insert(format!("{dir}manifest.wtm"), manifest.to_bytes()); + written.push(WrittenTake { device: t.device, take, chunks: listed, bytes: final_bytes[..n].to_vec(), commits, payloads, offset: t.offset }); + } + files.insert("room/descriptor.wrd".into(), d.to_bytes()); + for (k, g) in grants.iter().enumerate() { + files.insert(grant_file(k), g.clone()); + } + files.insert("room/key-log.json".into(), head.into_bytes()); + for a in &rm.authors { + files.insert(format!("events/{}.wev", hex(&pk(a.who))), chain_file(&a.records)); + } + Written { descriptor: d.to_bytes(), room: room_id, files, takes: written } +} + +/// The lesson session: the performer's take, which is capture binding's `lesson`, and the +/// accompanist's beside it. +fn lesson_session() -> Scene { + scene(vec![performer_take("lesson"), accompanist_take()]) +} + +/// Recompute `LISTING` after a file changed. +fn relist(mut files: BTreeMap>) -> BTreeMap> { + files.remove(LISTING); + let l = package_listing(&files).expect("listing paths"); + files.insert(LISTING.into(), l); + files +} + +fn sealed(w: &Written) -> BTreeMap> { + seal(w.files.clone(), w.room, 0, SPAN_TO, claim::COMPLETE, purpose::RECORD | purpose::DISTRIBUTE, &key(AUTHORITY)) +} + +// ---- recording vectors ---- + +/// Which claim a recording vector is written to fail. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +enum Claim { + Complete, + /// `publishable` for `record`. + Record, +} + +/// What a vector was written to do. +#[derive(Clone, Copy, Debug)] +enum Intent { + /// `complete` holds, `publishable` for every purpose but `train`, and the manifest stands. + Good, + Fails(Claim, Reason), + /// Refused, at a place of this kind, with this reason. + Refuse(&'static str, Reason), +} + +struct RecordingVector { + name: &'static str, + about: &'static str, + files: BTreeMap>, + /// The take components that are capture binding's takes: (component's take id, that + /// corpus's vector). + reuses: Vec<([u8; 32], &'static str)>, + intent: Intent, +} + +fn place_kind(p: &Place) -> &'static str { + match p { + Place::Listing => "listing", + Place::Manifest => "manifest", + Place::Component(_) => "component", + Place::Room(_) => "room", + Place::Take { .. } => "take", + } +} + +fn reached(intent: Intent, run: &RecordingRun) -> bool { + let train = Verdict::Fails(take::Reason::PurposeNotConsented.into()); + match (intent, &run.outcome) { + (Intent::Good, RecordingOutcome::Verdicts(v)) => v.complete.holds() && v.publishable[..3].iter().all(|p| p.holds()) && v.publishable[3] == train && v.stands, + (Intent::Fails(c, r), RecordingOutcome::Verdicts(v)) => { + let got = match c { + Claim::Complete => v.complete, + Claim::Record => v.publishable[1], + }; + got == Verdict::Fails(r) && !v.stands + } + (Intent::Refuse(k, r), RecordingOutcome::Refuse { at, reason }) => place_kind(at) == k && *reason == r, + _ => false, + } +} + +fn recording_vectors() -> Vec { + let mut out = Vec::new(); + let lesson = write(&lesson_session()); + let (t1, t2) = (lesson.takes[0].take, lesson.takes[1].take); + let v = |name, about, files, reuses, intent| RecordingVector { name, about, files, reuses, intent }; + out.push(v( + "lesson_session", + "the lesson session as one package: the room, its events, the performer's take (capture binding's lesson take, byte for byte) and the accompanist's take beside it, sealed by the room authority; complete holds, and publishable for every purpose the subjects consented to", + sealed(&lesson), + vec![(t1, "lesson")], + Intent::Good, + )); + out.push(v( + "signed_by_director", + "the same package sealed by the director, whose grant has the record power and covers the span's end (§4.4 step 5)", + seal(lesson.files.clone(), lesson.room, 0, SPAN_TO, claim::COMPLETE, purpose::RECORD | purpose::DISTRIBUTE, &key(DIRECTOR)), + vec![(t1, "lesson")], + Intent::Good, + )); + let mut f = lesson.files.clone(); + f.retain(|p, _| !p.starts_with(&format!("takes/{}/", hex(&t2)))); + out.push(v( + "take_omitted", + "a package that leaves the accompanist's take out, though the room's events open it: complete fails (§4.5 complete 2)", + seal(f, lesson.room, 0, SPAN_TO, claim::COMPLETE, purpose::RECORD | purpose::DISTRIBUTE, &key(AUTHORITY)), + vec![(t1, "lesson")], + Intent::Fails(Claim::Complete, Reason::TakeOmitted), + )); + let mut missing = performer_take("missing"); + missing.upload = Upload::Stopped(6); + missing.missing = Some(6); + let mw = write(&scene(vec![missing, accompanist_take()])); + out.push(v( + "missing_chunk", + "the performer's take is capture binding's missing_chunk take, whose chunk 6 was never uploaded: single-take holds of it and complete fails, so the recording's complete fails (§4.5 complete 3)", + sealed(&mw), + vec![(mw.takes[0].take, "missing_chunk")], + Intent::Fails(Claim::Complete, take::Reason::ChunkMissing.into()), + )); + let mut gap = accompanist_take(); + gap.drop = Some(2); + let gw = write(&scene(vec![performer_take("lesson"), gap])); + out.push(v( + "commit_gap", + "the relay did not deliver the accompanist's commitment 2: the room holds a gap in its device's chain, and complete fails (§4.5 complete 1)", + sealed(&gw), + vec![(gw.takes[0].take, "lesson")], + Intent::Fails(Claim::Complete, DELIVERY_GAP), + )); + let mut nc = accompanist_take(); + nc.consent = false; + let nw = write(&scene(vec![performer_take("lesson"), nc])); + out.push(v( + "consent_missing", + "the accompanist's take without the accompanist's consent record: publishable fails for every purpose, and the manifest, which claims record and distribute, does not stand (§4.5 publishable)", + sealed(&nw), + vec![(nw.takes[0].take, "lesson")], + Intent::Fails(Claim::Record, take::Reason::ConsentMissing.into()), + )); + // Refusals of the package, each a single defect of the lesson session. + let good = sealed(&lesson); + let chunk = chunk_file(&t2, 3); + let mut f = good.clone(); + f.get_mut(&chunk).expect("chunk 3")[0] ^= 1; + out.push(v("listing_mismatch", "a byte of the accompanist's chunk 3 changed after the package was sealed, its LISTING not rewritten (§4.4 step 1)", f, vec![], Intent::Refuse("listing", Reason::ListingMismatch))); + let mut f = good.clone(); + f.get_mut(&chunk).expect("chunk 3")[0] ^= 1; + out.push(v( + "component_digest_mismatch", + "the same byte changed and the LISTING rewritten over it: the accompanist's take component no longer has the digest the recording manifest names (§4.4 step 3)", + relist(f), + vec![], + Intent::Refuse("component", Reason::ComponentDigestMismatch), + )); + let mut f = good.clone(); + f.insert("notes/session.txt".into(), b"a file of no component".to_vec()); + out.push(v("component_unlisted", "a file that no component holds, listed in LISTING (§4.4 step 3)", relist(f), vec![], Intent::Refuse("listing", Reason::ComponentUnlisted))); + let mut f = lesson.files.clone(); + f.insert("room/notes.txt".into(), b"a file the room component does not define".to_vec()); + out.push(v( + "component_invalid", + "a room component holding a file §3.3 does not define, sealed with it (§4.4 step 4)", + seal(f, lesson.room, 0, SPAN_TO, claim::COMPLETE, purpose::RECORD | purpose::DISTRIBUTE, &key(AUTHORITY)), + vec![], + Intent::Refuse("component", Reason::ComponentInvalid), + )); + out.push(v( + "recording_manifest_invalid", + "a recording manifest whose claims byte sets bit 1 (§4.2)", + seal(lesson.files.clone(), lesson.room, 0, SPAN_TO, 0b10, purpose::RECORD, &key(AUTHORITY)), + vec![], + Intent::Refuse("manifest", Reason::RecordingManifestInvalid), + )); + let mut f = good.clone(); + let m = f.get_mut(MANIFEST_FILE).expect("the manifest"); + let l = m.len(); + m[l - 20] ^= 0x08; + out.push(v("manifest_bad_signature", "one bit of the recording manifest's signature flipped, the LISTING rewritten over it (§4.1)", relist(f), vec![], Intent::Refuse("manifest", events::Reason::BadSignature.into()))); + out.push(v( + "manifest_wrong_room", + "a recording manifest that names another room (§4.4 step 4)", + seal(lesson.files.clone(), sha256(&[b"wai:live-recording/corpus/another room"]), 0, SPAN_TO, claim::COMPLETE, purpose::RECORD, &key(AUTHORITY)), + vec![], + Intent::Refuse("manifest", WRONG_ROOM), + )); + out.push(v( + "signer_not_permitted", + "a recording manifest signed by the viewer, whose grant has no record power (§4.4 step 5)", + seal(lesson.files.clone(), lesson.room, 0, SPAN_TO, claim::COMPLETE, purpose::RECORD, &key(VIEWER)), + vec![], + Intent::Refuse("manifest", Reason::RecordingSignerNotPermitted), + )); + out.push(v( + "outside_span", + "a session span that ends at sixteen seconds, before the devices' closing commitments (§4.4 step 6)", + seal(lesson.files.clone(), lesson.room, 0, 16 * S, claim::COMPLETE, purpose::RECORD, &key(AUTHORITY)), + vec![], + Intent::Refuse("room", Reason::OutsideSpan), + )); + let mut f = lesson.files.clone(); + let tm = f.get_mut(&format!("takes/{}/manifest.wtm", hex(&t2))).expect("the manifest"); + let l = tm.len(); + tm[l - 33] ^= 0x04; + out.push(v( + "take_refused", + "the accompanist's take manifest with a bit of its signature flipped, sealed as it is: the take verifier refuses it at its manifest, and the recording at that take (§4.4 step 7)", + seal(f, lesson.room, 0, SPAN_TO, claim::COMPLETE, purpose::RECORD, &key(AUTHORITY)), + vec![], + Intent::Refuse("take", events::Reason::BadSignature.into()), + )); + let mut f = lesson.files.clone(); + let g = f.get_mut(&grant_file(3)).expect("the accompanist device's grant"); + let l = g.len(); + g[l - 1] ^= 0x01; + out.push(v( + "room_refused", + "the accompanist device's grant with a bit of its signature flipped, sealed as it is: the room verifier refuses the grant (live-rooms §4.3), and the recording there (§4.4 step 4)", + seal(f, lesson.room, 0, SPAN_TO, claim::COMPLETE, purpose::RECORD, &key(AUTHORITY)), + vec![], + Intent::Refuse("room", events::Reason::BadSignature.into()), + )); + out +} + +// ---- clip vectors ---- + +/// What a clip vector was written to do. +#[derive(Clone, Copy, Debug)] +enum ClipIntent { + Accept, + Refuse(&'static str, Reason), +} + +/// One part's inputs: the device's key, the commitments and the bytes. +#[derive(Clone)] +struct PartIn { + device: [u8; 32], + commits: Vec>, + bytes: Vec>>, + /// The vector of capture binding's corpus whose take this is, if any. + take_vector: Option<&'static str>, +} + +struct ClipVector { + name: &'static str, + about: &'static str, + descriptor: Vec, + record: Vec, + parts: Vec, + intent: ClipIntent, +} + +fn event_digest(b: &[u8]) -> [u8; 32] { + Event::parse(b).expect("a corpus record").digest() +} + +/// A cutter's view of a take, against its commitment `n`. +fn source(t: &WrittenTake, n: usize) -> TakeSource<'_> { + TakeSource { device: pk(t.device), take: t.take, chunks: &t.chunks, head: event_digest(&t.commits[n]), head_commit: &t.payloads[n], offset: t.offset } +} + +/// The inputs a verifier is given for a part cut against commitment `n`: the +/// commitments to it, and the bytes of the chunks the part covers. +fn inputs_of(t: &WrittenTake, n: usize, p: &ClipPart, take_vector: Option<&'static str>) -> PartIn { + let r = p.first as usize..p.first as usize + p.chunks.len(); + PartIn { device: pk(t.device), commits: t.commits[..=n].to_vec(), bytes: t.bytes[r].iter().cloned().map(Some).collect(), take_vector } +} + +fn span_of(p: &ClipPart, offset: i64) -> (u64, u64) { + let (a, z) = mapped_span(&p.chunks, offset); + (a as u64, z as u64) +} + +/// A single-take clip of `count` chunks from `first`, against the take's closing +/// commitment, presenting its chunks' span, signed by the room authority. +fn one(w: &Written, k: usize, first: u64, count: usize, take_vector: Option<&'static str>) -> (Clip, Vec) { + let t = &w.takes[k]; + let n = t.commits.len() - 1; + let p = cut_part(&source(t, n), first, count, 0, 0).expect("a range within the head"); + let (a, z) = span_of(&p, t.offset); + let i = inputs_of(t, n, &p, take_vector); + (cut_clip(w.room, a, z, vec![p], &key(AUTHORITY)), vec![i]) +} + +/// Re-sign a clip record after a change. +fn resign(c: Clip) -> Vec { + c.sign(&key(AUTHORITY)).to_bytes() +} + +fn clip_vectors() -> Vec { + let mut out = Vec::new(); + let lesson = write(&lesson_session()); + let (t1, t2) = (&lesson.takes[0], &lesson.takes[1]); + let cv = |name, about, w: &Written, record: Vec, parts, intent| ClipVector { name, about, descriptor: w.descriptor.clone(), record, parts, intent }; + let lv = Some("lesson"); + // Good clips. + let (c, i) = one(&lesson, 0, 4, 1, lv); + out.push(cv("single_chunk", "chunk 4 of the performer's take, proved against its closing commitment", &lesson, c.to_bytes(), i.clone(), ClipIntent::Accept)); + let single = (c, i); + let at = |idx: u64| t1.chunks[..idx as usize].iter().map(|c| c.len).sum::(); + let (from, to) = (at(2) + 10, at(7) - 20); + let (first, count, trim_in, trim_out) = resolve_bytes(&t1.chunks, from, to).expect("a byte range of the master"); + let close = t1.commits.len() - 1; + let p = cut_part(&source(t1, close), first, count, trim_in, trim_out).expect("in range"); + let (a, z) = span_of(&p, t1.offset); + let i = vec![inputs_of(t1, close, &p, lv)]; + let byte_range = (cut_clip(lesson.room, a, z, vec![p], &key(AUTHORITY)), i); + out.push(cv( + "byte_range", + "a byte range of the performer's master, from ten bytes into chunk 2 to twenty bytes before the end of chunk 6: the five whole chunks, their range proof and the trims (§5.2)", + &lesson, + byte_range.0.to_bytes(), + byte_range.1.clone(), + ClipIntent::Accept, + )); + let (c, i) = one(&lesson, 0, 0, 10, lv); + out.push(cv("whole_take", "every chunk of the performer's take, whose range proof is empty: the leaves give the root", &lesson, c.to_bytes(), i, ClipIntent::Accept)); + let (c, i) = one(&lesson, 0, 0, 1, lv); + out.push(cv("first_chunk", "chunk 0 of the performer's take", &lesson, c.to_bytes(), i, ClipIntent::Accept)); + let (c, i) = one(&lesson, 0, 9, 1, lv); + out.push(cv("last_chunk", "chunk 9, the last of the performer's take", &lesson, c.to_bytes(), i, ClipIntent::Accept)); + let (c, i) = one(&lesson, 1, 2, 4, None); + out.push(cv("accompanist_span", "chunks 2 to 5 of the accompanist's take, on a device whose clock runs three seconds ahead", &lesson, c.to_bytes(), i, ClipIntent::Accept)); + // The live head: chunks 1 to 3 against commitment 2, which held four chunks. + let p = cut_part(&source(t1, 2), 1, 3, 0, 0).expect("within commitment 2"); + let (a, z) = span_of(&p, t1.offset); + let i = vec![inputs_of(t1, 2, &p, lv)]; + out.push(cv( + "live_head", + "chunks 1 to 3 of the performer's take proved against its commitment 2, made at 10.3 s while it was still capturing: a clip cut before the take closed", + &lesson, + cut_clip(lesson.room, a, z, vec![p], &key(AUTHORITY)).to_bytes(), + i, + ClipIntent::Accept, + )); + // Two takes aligned on the room clock over [8 s, 12 s). + let (wi, wo) = (8 * S, 12 * S); + let aligned_part = |t: &WrittenTake, tv| { + let n = t.commits.len() - 1; + let (first, count) = resolve_window(&t.chunks, t.offset, wi, wo).expect("covered"); + let p = cut_part(&source(t, n), first, count, 0, 0).expect("in range"); + let i = inputs_of(t, n, &p, tv); + (p, i) + }; + let (p1, i1) = aligned_part(t1, lv); + let (p2, i2) = aligned_part(t2, None); + let aligned = cut_clip(lesson.room, wi, wo, vec![p1.clone(), p2.clone()], &key(AUTHORITY)); + out.push(cv( + "two_takes_aligned", + "the room-clock window from 8 s to 12 s in both takes: the performer's chunks 2 to 5 and the accompanist's 1 to 4, each proved against its own closing commitment; the correspondence holds within twice the jitter (§6)", + &lesson, + aligned.to_bytes(), + vec![i1.clone(), i2.clone()], + ClipIntent::Accept, + )); + // A late commitment in another part of the take does not touch a span it does not cover. + let mut late = performer_take("late"); + late.late = Some((3, 13_800 * MS)); + let lw = write(&scene(vec![late])); + let (c, i) = one(&lw, 0, 1, 1, Some("late_commit")); + out.push(cv( + "late_take_clean_span", + "chunk 1 of capture binding's late_commit take, committed on time by commitment 1: single-take fails of the take, and holds over this span (§5.4)", + &lw, + c.to_bytes(), + i, + ClipIntent::Accept, + )); + // Negatives over the lesson session. + let mut c = single.0.clone(); + c.parts[0].proof[0][5] ^= 0x20; + out.push(cv("proof_not_reaching_head", "chunk 4 with one node of its range proof changed: the proof does not reach the head's root (§5.4 f)", &lesson, resign(c), single.1.clone(), ClipIntent::Refuse("part", Reason::ClipNotIncluded))); + let mut p = cut_part(&source(t1, 2), 1, 3, 0, 0).expect("within commitment 2"); + p.chunks.push(t1.chunks[4]); + p.proof.clear(); + let (a, z) = span_of(&p, t1.offset); + let mut i = inputs_of(t1, 2, &p, lv); + i.bytes = t1.bytes[1..5].iter().cloned().map(Some).collect(); + out.push(cv( + "range_past_size", + "chunks 1 to 4 against commitment 2, which committed four chunks: chunk 4 lies past the head's size (§5.4 e)", + &lesson, + cut_clip(lesson.room, a, z, vec![p], &key(AUTHORITY)).to_bytes(), + vec![i], + ClipIntent::Refuse("part", Reason::ClipOutOfRange), + )); + let mut missing = performer_take("missing"); + missing.upload = Upload::Stopped(6); + missing.missing = Some(6); + let mw = write(&scene(vec![missing])); + let (c, mut i) = one(&mw, 0, 5, 3, Some("missing_chunk")); + i[0].bytes[1] = None; + out.push(cv( + "missing_chunk", + "chunks 5 to 7 of capture binding's missing_chunk take, whose chunk 6 was never uploaded: the descriptors and the proof stand, and chunk 6's bytes are absent (§5.4 k)", + &mw, + c.to_bytes(), + i, + ClipIntent::Refuse("chunk", Reason::ClipChunkMissing), + )); + let (mut c, mut i) = one(&lesson, 0, 3, 3, lv); + c.parts[0].chunks[1] = Chunk { index: 4, ..t2.chunks[4] }; + i[0].bytes[1] = Some(t2.bytes[4].clone()); + out.push(cv( + "spliced_two_takes", + "chunks 3 to 5 of the performer's take with chunk 4 replaced by the accompanist's chunk 4, its descriptor and its bytes: the leaves are not the head's (§5.4 f)", + &lesson, + resign(c), + i, + ClipIntent::Refuse("part", Reason::ClipNotIncluded), + )); + let (c, mut i) = one(&lesson, 0, 3, 3, lv); + i[0].bytes.swap(0, 1); + out.push(cv("reordered_chunk", "chunks 3 to 5 with the bytes of chunks 3 and 4 each given at the other's place (§5.4 k)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("chunk", take::Reason::ChunkReordered.into()))); + let (c, mut i) = one(&lesson, 0, 4, 1, lv); + i[0].bytes[0].as_mut().expect("bytes")[7] ^= 0x01; + out.push(cv("altered_chunk", "chunk 4 with one byte of its bytes changed (§5.4 k)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("chunk", take::Reason::ChunkAltered.into()))); + let (c, mut i) = one(&lesson, 0, 4, 1, lv); + i[0].bytes.push(Some(t1.bytes[5].clone())); + out.push(cv("extra_chunk", "chunk 4 given with chunk 5's bytes after it, which the record does not cover (§5.4 k)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("chunk", take::Reason::ChunkExtra.into()))); + // A tree head the take never committed: its ten chunks and one more. + let (mut c, i) = one(&lesson, 0, 8, 2, lv); + let mut grown = t1.chunks.clone(); + grown.push(Chunk::of(10, t1.chunks[9].end, t1.chunks[9].end + S, &chunk_bytes(b"appended", 10))); + let gl = leaves(&grown); + c.parts[0].size = 11; + c.parts[0].root = tree_hash(&gl); + c.parts[0].proof = range_proof(8, 10, &gl).expect("a range"); + out.push(cv( + "uncommitted_head", + "chunks 8 and 9 proved against a tree of eleven chunks, the take's ten and one appended, under the closing commitment's digest: no commitment of the take has that size and root (§5.4 d)", + &lesson, + resign(c), + i, + ClipIntent::Refuse("part", Reason::TreeHeadNotCommitted), + )); + let (c, mut i) = one(&lesson, 0, 4, 1, lv); + i[0].commits.remove(2); + out.push(cv("commit_gap", "chunk 4 with the take's commitment 2 left out of the commitments given (§5.4 c)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("commit", DELIVERY_GAP))); + let (c, mut i) = one(&lesson, 0, 4, 1, lv); + let bad = Event::sign(&key(DEVICE), lesson.room, 99, [0; 32], 9 * S, None, events::kind::TAKE_COMMIT, vec![0; 10]).to_bytes(); + i[0].commits.insert(2, bad); + out.push(cv("commit_malformed", "chunk 4 with a take_commit of the device whose ten-byte payload does not read, among the commitments given (§5.4 b)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("commit", take::Reason::CommitMalformed.into()))); + let (mut c, i) = one(&lesson, 0, 4, 1, lv); + c.parts[0].take = t2.take; + out.push(cv( + "take_mismatch", + "a part that names the accompanist's take over the performer's device and its commitments: the commitments are of another take (§5.4 b)", + &lesson, + resign(c), + i, + ClipIntent::Refuse("commit", Reason::ClipTakeMismatch), + )); + let (c, mut i) = one(&lesson, 0, 4, 1, lv); + i[0].device = pk(ACCOMPANIST_DEVICE); + out.push(cv("device_mismatch", "the performer's chunk 4, verified under the accompanist device's key (§5.4 a)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("part", Reason::ClipDeviceMismatch))); + let (mut c, i) = one(&lesson, 0, 4, 1, lv); + c.room = sha256(&[b"wai:live-recording/corpus/another room"]); + out.push(cv("clip_wrong_room", "a clip record that names another room (§5.4 step 2)", &lesson, resign(c), i, ClipIntent::Refuse("clip", WRONG_ROOM))); + let (c, i) = one(&lesson, 0, 4, 1, lv); + let mut b = c.to_bytes(); + let l = b.len(); + b[l - 40] ^= 0x02; + out.push(cv("clip_bad_signature", "one bit of the clip record's signature flipped (§5.1)", &lesson, b, i, ClipIntent::Refuse("clip", events::Reason::BadSignature.into()))); + let mut c = aligned.clone(); + c.parts[0].trim_in = 3; + out.push(cv( + "clip_record_invalid", + "the aligned clip with a trim in its first part: trims are a single take's (§5.2)", + &lesson, + resign(c), + vec![i1.clone(), i2.clone()], + ClipIntent::Refuse("clip", Reason::ClipRecordInvalid), + )); + let p2b = cut_part(&source(t2, t2.commits.len() - 1), 2, 3, 0, 0).expect("in range"); + let i2b = inputs_of(t2, t2.commits.len() - 1, &p2b, None); + out.push(cv( + "window_not_covered", + "the aligned clip with the accompanist's part starting at chunk 2, which begins after the window's start (§5.4 j)", + &lesson, + cut_clip(lesson.room, wi, wo, vec![p1, p2b], &key(AUTHORITY)).to_bytes(), + vec![i1, i2b], + ClipIntent::Refuse("part", Reason::ClipWindowInvalid), + )); + let mut c = byte_range.0.clone(); + c.window_in += 100 * MS; + out.push(cv( + "trimmed_window", + "the byte-range clip with its window moved off its chunks' span: a trimmed clip presents its chunks' span (§5.2)", + &lesson, + resign(c), + byte_range.1.clone(), + ClipIntent::Refuse("part", Reason::ClipWindowInvalid), + )); + // Spans of capture binding's defective takes, each refused for the rule the take breaks. + let take_of = |label: &'static str, f: &dyn Fn(&mut TakePlan)| { + let mut t = performer_take(label); + f(&mut t); + write(&scene(vec![t])) + }; + let lt = take_of("late", &|t| t.late = Some((3, 13_800 * MS))); + let (c, i) = one(<, 0, 4, 1, Some("late_commit")); + out.push(cv("commit_late", "chunk 4 of capture binding's late_commit take, committed 2.8 s after its capture ended (§5.4 i)", <, c.to_bytes(), i, ClipIntent::Refuse("part", take::Reason::CommitLate.into()))); + let et = take_of("early", &|t| t.early_add = Some(2)); + let (c, i) = one(&et, 0, 4, 1, Some("commit_early")); + out.push(cv("commit_early", "chunk 4 of capture binding's commit_early take, committed before its capture ended (§5.4 i)", &et, c.to_bytes(), i, ClipIntent::Refuse("part", take::Reason::CommitEarly.into()))); + let rt = take_of("rewrite", &|t| t.rewrite = Some((4, 2))); + let (c, i) = one(&rt, 0, 8, 1, Some("root_not_extending")); + out.push(cv( + "root_not_extending", + "chunk 8 of capture binding's root_not_extending take, against its closing commitment: commitment 4 does not extend commitment 3 (§5.4 c)", + &rt, + c.to_bytes(), + i, + ClipIntent::Refuse("commit", take::Reason::RootNotExtending.into()), + )); + let ot = take_of("offset_jump", &|t| t.offset_jump = Some((3, 600_000))); + let (c, i) = one(&ot, 0, 8, 1, Some("clock_unstable")); + out.push(cv("clock_unstable", "chunk 8 of capture binding's clock_unstable take, whose commitment 3 states an offset 600 ms off (§5.4 g)", &ot, c.to_bytes(), i, ClipIntent::Refuse("commit", take::Reason::ClockUnstable.into()))); + let pt = take_of("pause", &|t| t.chunks[5].0 += 200 * MS); + let (c, i) = one(&pt, 0, 4, 2, Some("capture_discontinuous")); + out.push(cv("capture_discontinuous", "chunks 4 and 5 of capture binding's capture_discontinuous take, with 200 ms between them (§5.4 h)", &pt, c.to_bytes(), i, ClipIntent::Refuse("part", take::Reason::CaptureDiscontinuous.into()))); + let long = |t: &mut TakePlan| { + let c = 6 * S; + let ends = [c, c + S, c + 2 * S, c + 3 * S, c + 5_500 * MS, c + 6_500 * MS, c + 7_500 * MS, c + 8_500 * MS, c + 9_500 * MS, c + 10 * S]; + t.chunks = ends.windows(2).map(|w| (w[0], w[1])).collect(); + }; + let gt = take_of("long_chunk", &long); + let (c, i) = one(>, 0, 3, 1, Some("chunk_too_long")); + out.push(cv("chunk_too_long", "chunk 3 of capture binding's chunk_too_long take, 2.5 s long (§5.4 h)", >, c.to_bytes(), i, ClipIntent::Refuse("part", take::Reason::ChunkTooLong.into()))); + let bt = take_of("prev_zero", &|t| t.break_prev = Some(3)); + let (c, i) = one(&bt, 0, 7, 1, Some("commit_chain_broken")); + out.push(cv("commit_chain_broken", "chunk 7 of capture binding's commit_chain_broken take, whose commitment 3 does not name commitment 2 (§5.4 c)", &bt, c.to_bytes(), i, ClipIntent::Refuse("commit", take::Reason::CommitChainBroken.into()))); + let (c, i) = one(&lesson, 0, 4, 1, lv); + let mut b = c.to_bytes(); + b.truncate(b.len() - 1); + out.push(cv("clip_truncated", "a clip record one byte short (§5.1)", &lesson, b, i, ClipIntent::Refuse("clip", TRUNCATED))); + out +} + +// ---- the file ---- + +fn take_place_json(p: &take::Place) -> Vec { + match p { + take::Place::Room(at) => { + let mut v = vec![json!("room")]; + v.extend(at_json(at)); + v + } + take::Place::Manifest => vec![json!("manifest")], + take::Place::Record { chain, record } => vec![json!("record"), json!(chain), json!(record)], + take::Place::Store => vec![json!("store")], + take::Place::Receipt(i) => vec![json!("receipt"), json!(i)], + take::Place::Consent(i) => vec![json!("consent"), json!(i)], + } +} + +fn at_json(at: &At) -> Vec { + match at { + At::Descriptor => vec![json!("descriptor")], + At::KeyLog => vec![json!("key_log")], + At::Grant(i) => vec![json!("grant"), json!(i)], + At::Record { chain, record } => vec![json!("record"), json!(chain), json!(record)], + } +} + +fn place_json(p: &Place) -> Value { + match p { + Place::Listing => json!(["listing"]), + Place::Manifest => json!(["manifest"]), + Place::Component(i) => json!(["component", i]), + Place::Room(at) => { + let mut v = vec![json!("room")]; + v.extend(at_json(at)); + Value::Array(v) + } + Place::Take { component, at } => { + let mut v = vec![json!("take"), json!(component)]; + v.extend(take_place_json(at)); + Value::Array(v) + } + } +} + +fn verdict_json(v: Verdict) -> Value { + match v { + Verdict::Holds => json!("holds"), + Verdict::Fails(r) => json!(r.code()), + } +} + +fn publishable_json(v: &[Verdict; 4]) -> Value { + Value::Object(purpose::ALL.iter().zip(v).map(|((_, n), v)| (n.to_string(), verdict_json(*v))).collect()) +} + +/// What a recording run states, as the corpus writes it. +fn recording_outcome_json(run: &RecordingRun) -> Map { + let mut o = Map::new(); + match &run.outcome { + RecordingOutcome::Refuse { at, reason } => { + o.insert("outcome".into(), json!("refuse")); + o.insert("reason".into(), json!(reason.code())); + o.insert("at".into(), place_json(at)); + } + RecordingOutcome::Verdicts(v) => { + o.insert("outcome".into(), json!("verdicts")); + o.insert("package".into(), json!(hex(&run.package.expect("a listed package")))); + o.insert("manifest".into(), json!(hex(&run.manifest.expect("a manifest that read")))); + o.insert("room".into(), json!(hex(&run.room.expect("a room that verified")))); + o.insert("complete".into(), verdict_json(v.complete)); + o.insert("publishable".into(), publishable_json(&v.publishable)); + o.insert("stands".into(), json!(v.stands)); + let takes: Vec = v + .takes + .iter() + .map(|(t, tv)| { + json!({ + "take": hex(t), + "single_take": verdict_json(tv.single_take.into()), + "aligned": verdict_json(tv.aligned.into()), + "complete": verdict_json(tv.complete.into()), + "publishable": publishable_json(&tv.publishable.map(Verdict::from)), + "stands": tv.stands, + }) + }) + .collect(); + o.insert("takes".into(), Value::Array(takes)); + } + } + o +} + +fn clip_place_json(p: &ClipPlace) -> Value { + match p { + ClipPlace::Descriptor => json!(["descriptor"]), + ClipPlace::Clip => json!(["clip"]), + ClipPlace::Part(k) => json!(["part", k]), + ClipPlace::Commit { part, index } => json!(["commit", part, index]), + ClipPlace::Chunk { part, index } => json!(["chunk", part, index]), + } +} + +fn clip_outcome_json(out: &ClipOutcome) -> Map { + let mut o = Map::new(); + match out { + ClipOutcome::Refuse { at, reason } => { + o.insert("outcome".into(), json!("refuse")); + o.insert("reason".into(), json!(reason.code())); + o.insert("at".into(), clip_place_json(at)); + } + ClipOutcome::Accept(f) => { + o.insert("outcome".into(), json!("accept")); + o.insert("clip".into(), json!(hex(&f.digest))); + o.insert("signer".into(), json!(hex(&f.signer))); + o.insert("window".into(), json!([f.window.0, f.window.1])); + o.insert("bound_us".into(), json!(f.bound_us)); + let parts: Vec = f + .parts + .iter() + .map(|p| { + json!({ + "take": hex(&p.take), + "first": p.first, + "count": p.count, + "offset": p.offset, + "span": [p.span.0 as i64, p.span.1 as i64], + "device_window": [p.device_window.0 as i64, p.device_window.1 as i64], + "bytes": p.bytes, + "sha256": hex(&p.sha256), + "fetch": { + "namespace": p.fetch.namespace, + "name": p.fetch.name, + "start_group": p.fetch.start_group, + "start_object": p.fetch.start_object, + "end_group_delta": p.fetch.end_group_delta, + }, + }) + }) + .collect(); + o.insert("facts".into(), Value::Array(parts)); + } + } + o +} + +fn clip_reached(intent: ClipIntent, out: &ClipOutcome) -> bool { + match (intent, out) { + (ClipIntent::Accept, ClipOutcome::Accept(_)) => true, + (ClipIntent::Refuse(k, r), ClipOutcome::Refuse { at, reason }) => clip_place_json(at)[0] == k && *reason == r, + _ => false, + } +} + +fn files_json(files: &BTreeMap>) -> Value { + Value::Object(files.iter().map(|(p, b)| (p.clone(), json!(hex(b)))).collect()) +} + +fn recording_vector_json(v: &RecordingVector) -> Value { + let run = verify_recording(&v.files, EVALUATED_AT); + assert!(reached(v.intent, &run), "recording vector {} does not reach the outcome it was written to have ({:?}): {:?}", v.name, v.intent, run.outcome); + let mut o = Map::new(); + o.insert("name".into(), json!(v.name)); + o.insert("about".into(), json!(v.about)); + o.insert("files".into(), files_json(&v.files)); + o.insert("evaluated_at".into(), json!(EVALUATED_AT)); + o.insert("reuses".into(), Value::Array(v.reuses.iter().map(|(t, n)| json!({"take": hex(t), "vector": n})).collect())); + o.extend(recording_outcome_json(&run)); + Value::Object(o) +} + +fn part_inputs(parts: &[PartIn]) -> Vec> { + parts.iter().map(|p| PartInputs { device: p.device, commits: &p.commits, bytes: &p.bytes }).collect() +} + +fn clip_vector_json(v: &ClipVector) -> Value { + let out = verify_clip(&v.descriptor, &v.record, &part_inputs(&v.parts)); + assert!(clip_reached(v.intent, &out), "clip vector {} does not reach the outcome it was written to have ({:?}): {:?}", v.name, v.intent, out); + let mut o = Map::new(); + o.insert("name".into(), json!(v.name)); + o.insert("about".into(), json!(v.about)); + o.insert("descriptor".into(), json!(hex(&v.descriptor))); + o.insert("record".into(), json!(hex(&v.record))); + let parts: Vec = v + .parts + .iter() + .map(|p| { + json!({ + "device": hex(&p.device), + "commits": p.commits.iter().map(|c| hex(c)).collect::>(), + "bytes": p.bytes.iter().map(|b| b.as_ref().map_or(Value::Null, |b| json!(hex(b)))).collect::>(), + "take_vector": p.take_vector, + }) + }) + .collect(); + o.insert("parts".into(), Value::Array(parts)); + o.extend(clip_outcome_json(&out)); + Value::Object(o) +} + +/// The corpus file, `vectors.json`. pub fn generate() -> String { - String::new() + let doc = json!({ + "corpus": CAPABILITY, + "extension": "extensions/live-recording.md", + "principals": PRINCIPALS.iter().map(|(n, i)| (n.to_string(), json!(hex(&pk(*i))))).collect::>(), + "recordings": recording_vectors().iter().map(recording_vector_json).collect::>(), + "clips": clip_vectors().iter().map(clip_vector_json).collect::>(), + }); + serde_json::to_string_pretty(&doc).expect("the corpus serialises") + "\n" } -/// Check a corpus file against this module. -pub fn verify(_doc: &str) -> Vec { - vec![] +fn files_of(v: &Value) -> Option>> { + v.as_object()?.iter().map(|(p, h)| Some((p.clone(), unhex(h.as_str()?)?))).collect() +} + +fn parts_of(v: &Value) -> Option> { + v.as_array()? + .iter() + .map(|p| { + let d: [u8; 32] = unhex(p["device"].as_str()?)?.try_into().ok()?; + let commits = p["commits"].as_array()?.iter().map(|c| unhex(c.as_str()?)).collect::>>()?; + let bytes = p["bytes"].as_array()?.iter().map(|b| if b.is_null() { Some(None) } else { unhex(b.as_str()?).map(Some) }).collect::>>()?; + Some(PartIn { device: d, commits, bytes, take_vector: None }) + }) + .collect() +} + +/// Check a corpus file against this module; the failures, one line each. +pub fn verify(doc: &str) -> Vec { + let mut fails = Vec::new(); + let root: Value = match serde_json::from_str(doc) { + Ok(v) => v, + Err(e) => return vec![format!("the corpus does not parse: {e}")], + }; + for v in root["recordings"].as_array().into_iter().flatten() { + let name = v["name"].as_str().unwrap_or("?"); + let (Some(files), Some(at)) = (files_of(&v["files"]), v["evaluated_at"].as_u64()) else { + fails.push(format!("recording {name}: the vector does not read")); + continue; + }; + for (k, want) in recording_outcome_json(&verify_recording(&files, at)) { + if v[&k] != want { + fails.push(format!("recording {name}: {k} is {want}, the corpus states {}", v[&k])); + } + } + } + for v in root["clips"].as_array().into_iter().flatten() { + let name = v["name"].as_str().unwrap_or("?"); + let (Some(d), Some(r), Some(parts)) = (v["descriptor"].as_str().and_then(unhex), v["record"].as_str().and_then(unhex), parts_of(&v["parts"])) else { + fails.push(format!("clip {name}: the vector does not read")); + continue; + }; + for (k, want) in clip_outcome_json(&verify_clip(&d, &r, &part_inputs(&parts))) { + if v[&k] != want { + fails.push(format!("clip {name}: {k} is {want}, the corpus states {}", v[&k])); + } + } + } + fails } -- 2.54.0 (Apple Git-157) From 123e2f4139ccf03544fafe551671c2fd494c7b13 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 10:23:17 -0400 Subject: [PATCH 03/26] wai: live-conformance/recordings from fixed seeds, and tests/live_record.rs Co-Authored-By: Claude Opus 5.5 --- wai/live-conformance/recordings/vectors.json | 2549 ++++++++++++++++++ wai/wai-rs/src/live_record/corpus.rs | 3 + wai/wai-rs/tests/live_record.rs | 128 +- 3 files changed, 2679 insertions(+), 1 deletion(-) create mode 100644 wai/live-conformance/recordings/vectors.json diff --git a/wai/live-conformance/recordings/vectors.json b/wai/live-conformance/recordings/vectors.json new file mode 100644 index 000000000..4caaf2b00 --- /dev/null +++ b/wai/live-conformance/recordings/vectors.json @@ -0,0 +1,2549 @@ +{ + "corpus": "wai.live.recording", + "extension": "extensions/live-recording.md", + "principals": { + "authority": "d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd", + "relay": "0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72", + "director": "d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52", + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "performer": "59425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699", + "viewer": "78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6", + "store": "0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13", + "accompanist": "2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6", + "accompanist_device": "7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee", + "log_root": "93bd7020e78d0ced730d16b3df0385340bb6ad05773df662e19ec3d4735c5e5c", + "log_next": "8369fef0a61a9a51088aa48364b64028f16d03391ac681b915db3c95309e0750" + }, + "recordings": [ + { + "name": "lesson_session", + "about": "the lesson session as one package: the room, its events, the performer's take (capture binding's lesson take, byte for byte) and the accompanist's take beside it, sealed by the room authority; complete holds, and publishable for every purpose the subjects consented to", + "files": { + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6632623730613261386237633731653438316230393566613539396361346536386565613331343834353930303164306464626364323762653061316665323520207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010604000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31295fa2458a711d889d117521bcf2dd453de8bbd5cdf33b14ff9e95722afa9518e5df6d2c10b322ea58638a047a894f4adb1823a3ccf1458c7b9bf99b716d5205", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "vector": "lesson" + } + ], + "outcome": "verdicts", + "package": "c7adf0b22469f02da6a404b252f819847004853f73dcc1d7b6348a5c5d2cd866", + "manifest": "c9d4f2fe4fa698d79b598ec11c395ba2dfdae512b7fbf9d2a711da0ca7bbe072", + "room": "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", + "complete": "holds", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": true, + "takes": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "single_take": "holds", + "aligned": "holds", + "complete": "holds", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": true + }, + { + "take": "fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96", + "single_take": "holds", + "aligned": "holds", + "complete": "holds", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": true + } + ] + }, + { + "name": "signed_by_director", + "about": "the same package sealed by the director, whose grant has the record power and covers the span's end (§4.4 step 5)", + "files": { + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3763383330393432633033343961313135326339373630383330393664346662343930623634663830353662313834656634343635646530313966613263666420207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000002d310100000000010604000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31d35a8bbe1a75d2366bacd1e071819a6f9bfd5c49c131592e6fc23a0d0b083cc78e84e68565c01344e0d1e501c1a375d50e69e6b239383e3aca28f12293ab0309", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "vector": "lesson" + } + ], + "outcome": "verdicts", + "package": "1f59ce6ed871d21e9c99fb122026237d0012f73ba93d510988ab17380f26f968", + "manifest": "5e78ae2053356e4c33ea6bd5157ed2817fbde06ea89a589b75aafc0f4b3cf79b", + "room": "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", + "complete": "holds", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": true, + "takes": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "single_take": "holds", + "aligned": "holds", + "complete": "holds", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": true + }, + { + "take": "fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96", + "single_take": "holds", + "aligned": "holds", + "complete": "holds", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": true + } + ] + }, + { + "name": "take_omitted", + "about": "a package that leaves the accompanist's take out, though the room's events open it: complete fails (§4.5 complete 2)", + "files": { + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3131656664616130666139623866646434313738313664336435656130346265643439326535633733393266663635343266366464376533373939323362626320207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010603000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c14f029aa41ef7efe2b41d4bd1467f1cbbc66775d6c89f8eb4688d013a8cc59918c2e2b02735a0acaf0286895173cee806c81562778995a64664c829fd729830d", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d" + }, + "evaluated_at": 1792195200, + "reuses": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "vector": "lesson" + } + ], + "outcome": "verdicts", + "package": "a72608d14e35e867520c2ea05675b05302d30db360876c46058e8eedd258b2ab", + "manifest": "32391805138aa862a892756481ef60eb1ea5674006720bfc2db43e7da051e0bc", + "room": "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", + "complete": "take_omitted", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": false, + "takes": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "single_take": "holds", + "aligned": "holds", + "complete": "holds", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": true + } + ] + }, + { + "name": "missing_chunk", + "about": "the performer's take is capture binding's missing_chunk take, whose chunk 6 was never uploaded: single-take holds of it and complete fails, so the recording's complete fails (§4.5 complete 3)", + "files": { + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a3737653762346430356138313133633035626564623230663332643535336566373533386330386335313436313465383835396465613462363731363363646620206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3336636137363363643539396566643864663863623465656637393734333738633837366564373332363065626564313662343364653832323134313036363020207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a66383737616538663336333139346339333162313931323663613438353332333337636234616366623165366230386239366339633938376231653637356238202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a64613734656531613338643937353566643635303963323738386238306434373637383138313639306338623063383631663836363834663438633937643938202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a63316234303464303462396333356563656535653531623634656462633366356638363737303230323231636166663865383434663564633130323731666634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a66363063366537376266386131663037346361363064646337343633643430363166386366326238383930353263393236383462303733633333376566316335202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a66626436353739326534363966656138336135343362653861336361323130643934383034633435613333353062343361386132373932343939656135373436202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a30363438373539346134306432623735646133306263363964653637653961383035383165386161313530636333316432653533623762343936313730313433202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32306437373937353661333834666530656464326363333036363139613164646530653065383038313636393865643637653661626630646565326533626436202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38336234353835366362333165313736623235346563616435303066333665616566366238646637306339646132646261616538356534623865343634383230202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a64613735323662663065653361373836303566363731333861363430663265383261616238626564623334643363353363303736626662356139393539366130202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a64643263376135333539323965616539623364663036346163313438633730333961366537373461313263386331653335366638383366343838616538356534202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a36323333383237356634323561386463623334646434653832366533666263646465393534343831613630336136313135326663356535346437356361363961202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a64663330323439653037363437313662613231616630656537316466336262633330306235343730613835663636393636353937663337633439313834373337202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e60000000000000000020000000000000016998ae44ebe40ac7a2569a2275c35081709759c28411b8edf3668f80de91297000efad5feffffff007f15f0960d2be9513e1810c151656c03685ac4e07c743212aec0d3fcbbe66c098d8bc81a9a80f9650c13c348c4c96b7a7ef5b85e9cd32a7b001baff5f259540d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000f0bcaa5a881e6fac08807315432342ff1bfcd325ba03c10c0bb6dcd653db21b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002f0bcaa5a881e6fac08807315432342ff1bfcd325ba03c10c0bb6dcd653db21b002000000000000000400000000000000bec08ec8ac5565fc4b8d4775effafdf9490afc1db34ec1a4b3cdc44b34a4d57b000efad5feffffff017764e6a1de4fa4090c9d24a8b015462db95e17cd82883d8ff29aed72cbd91d90d965bada8e348f7f61d2b4552b2d9b1b670f4d43ae2386c6713d2851e0a91923c9599ec3810cbe556af7ef79ec3a65a6e33c7175600c245a90a09afe8f62500957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000e0acbea753f2dd26be275f74abf0b3930bb0d45e87ca53c8a4bd8c15e42a26c1e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002e0acbea753f2dd26be275f74abf0b3930bb0d45e87ca53c8a4bd8c15e42a26c104000000000000000600000000000000258a282c11b3fb17029a8f86a231a502a2496dc49fe680f95a4ceb4253e96371000efad5feffffff0176a5a156317adf2563670ca73b168e4fa8c47d735de2be23da1161d55ef0f871b8c9e4c020be046e907dcd0c2db00d41f333370d0f628fbb505386fbd498ab636dcb3aa263533f27d93990d5aa4b131e4b1de29c58949ad8ccaa4df95e300b0557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000070c7ce1cdfaad584c990a38222fa6b41972b44fb96ce5595e7489a29b6f648176033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000270c7ce1cdfaad584c990a38222fa6b41972b44fb96ce5595e7489a29b6f6481706000000000000000800000000000000eaf7ebbdb6c61d57ce4c2011476266460d1d27901c795f42c182587a307b92b9000efad5feffffff0376a5a156317adf2563670ca73b168e4fa8c47d735de2be23da1161d55ef0f8711d136d050818deab0c4577ecf4c85c7917880d059f7346588738fc2aa0d00334bec08ec8ac5565fc4b8d4775effafdf9490afc1db34ec1a4b3cdc44b34a4d57b46223f73198c6c1e406cbaabea0583de6c261b932a716961577f1a0badb42bcb186dda402f2b586d3b9e7b4e29cdc7ce4dfd3c23b4eeb273d0be4721b35dda0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50500000000000000cc0b7a0360bee11cefd437071698bce3f2835eced20944d0a1d262559a075060803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0500000003cc0b7a0360bee11cefd437071698bce3f2835eced20944d0a1d262559a07506008000000000000000a00000000000000dc7a42f07554cfa62ed6900f944c87f427893f10951a9348c748c805815ab253000efad5feffffff01dc1b5a06137a398a0979bf8c1b2c3573dc80b5fff17d60c072967de3230e0b464a9169a6f69825fa3866c91d5282c4b8f730d153f3f791d58a1169932768fd443375342a9437c0d2a551d960a85a2db949484b046bf0b2fb9bc518f1c28ec501", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010604000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e7473fdcfa178f29de09c0fc99291c588eb8ee4113d626b57ddf00cf0284b0dd8ccfb034034316634363836373536623930383366666163313162316432323963356663323861376663643865333138663731336163376434313762393330656461303365ec321f02ce79f35b2b3c80f9f3c230318adf593686fbd02aad6bad7ae6c13ae303406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31c2083aec5a478cae6aff9af516ffab5a6dc5b2b0e3a08ec6fed4911028bdfb069a967bafa025cf28c4e87e6e76a8cacae1c520d9585596537c5c2ecf8132370c", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "5d2e4186d6d791f26098bf0e71aa4e7b6916847f50823da010afd30d9d20c37c54f476987af854364c9fcaf07d545f72", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "278c2523a3162b4a463b8a327a5af2858220a564a84a738be3868ee931256e84ecfdc99cf3f9ce6076e9f8d1d7575086aa3754d9d11b66623c2ce730d03d286a5f40f8506e602297ec3da7ed99bfa06c60fd365753", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "a5e45f92ed7b1f86071452f87506de270b7fa0f3bc9ceb43cb5a11cb2f24fc1bb9ee12c2bea59a0681eb52a677d973765eabd7f4d61afee98a9c", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "49549126e79988a822c3b0f5fbaa10f695507d2c2ce47966aa84b77e5271af6485a2cef93fa4ef2dcc0e2e79594bcba1abf5e4aa28308087ca49f3a4a76c1a95d15095b6813cc76a83d67622bd66c9ae000e7a8df20694d4338b957bba9ce8", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "da23cd32175b00776b627c53721944225d83975da780103142094713450122c2d888913ccc4c0c26cca6c343b2b8b98cfb46be74c34ac10d570034a1d84fc257d823ece6", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2ec70ce7473c7066a93f99e0566bc6341173cba4dcd852bc7cc801c431814c9a5504f671dda826cf7264720800cd40d9866e8d0048a80aeaa2672dad443d3af6bf6cfb9e72c65d85a133dafa595a7e0158c002db6ff6b14fa82db75264c7d55107af02bcbe329e3911", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "d1eb3fdda28e70aeae0526372354ecb8bc491ad2589067b12fe7919d6ed9944ac901596560199517bfc692ae688972c955f1bd", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "a7f6b8a78755d85d300ecc30346f6262daaa184f52001f359262f117208d0f9c3e4728dd15cd146aee83bf7b6067165b59d6a486bab91dba2f00128c385b233ff937d6edc7b6fa8d718631fdc8344cff534e4c0a0a226346", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "81e32b318aceaf167c337af9d462299de6d8392e85a84a4844292a9e45ee1f80332f5909ef0ce3c79cea561d8c4248f5d5d6996f30903dfcaf5273881c", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000957dfea6158a222448f152624dfc9322a98abc99e9031df8c534c61fa804eb0c328af4ed85a11bd5deda1da9f1e517110cb02bf76c9578a500527ad3939bfe9cd358988e7079d91a22e68ea3979e080f", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a010000003000000000000000f877ae8f363194c931b19126ca48532337cb4acfb1e6b08b96c9c987b1e675b80100000000000000c0c1702a010000000004802a010000005500000000000000da74ee1a38d9755fd6509c2788b80d47678181690c8b0c861f86684f48c97d9802000000000000000004802a0100000040468f2a010000003a00000000000000c1b404d04b9c35ecee5e51b64edbc3f5f8677020221caff8e844f5dc10271ff4030000000000000040468f2a0100000080889e2a010000005f00000000000000f60c6e77bf8a1f074ca60ddc7463d4061f8cf2b889052c92684b073c337ef1c5040000000000000080889e2a01000000c0caad2a010000004400000000000000fbd65792e469fea83a543be8a3ca210d94804c45a3350b43a8a2792499ea57460500000000000000c0caad2a01000000000dbd2a01000000690000000000000006487594a40d2b75da30bc69de67e9a80581e8aa150cc31d2e53b7b4961701430600000000000000000dbd2a01000000404fcc2a010000004e00000000000000578f2ccfc619aaf1759927667154012d4694c312e4a3d7cfa1e92320865c1ad30700000000000000404fcc2a010000008091db2a01000000330000000000000020d779756a384fe0edd2cc306619a1dde0e0e80816698ed67e6abf0dee2e3bd608000000000000008091db2a01000000c0d3ea2a01000000580000000000000083b45856cb31e176b254ecad500f36eaef6b8df70c9da2dbaae85e4b8e4648200900000000000000c0d3ea2a010000000016fa2a010000003d00000000000000da7526bf0ee3a78605f67138a640f2e82aab8bedb34d3c53c076bfb5a99596a0dc7a42f07554cfa62ed6900f944c87f427893f10951a9348c748c805815ab25306000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6f0bcaa5a881e6fac08807315432342ff1bfcd325ba03c10c0bb6dcd653db21b0e0acbea753f2dd26be275f74abf0b3930bb0d45e87ca53c8a4bd8c15e42a26c170c7ce1cdfaad584c990a38222fa6b41972b44fb96ce5595e7489a29b6f64817cc0b7a0360bee11cefd437071698bce3f2835eced20944d0a1d262559a0750600a258d32fb15f68e4edfa541cce451080b561f0e2cb76ec98165e7440f2914870159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e205259369913e0404b1f179471877eecee55e47f2aa6bd32ea05c9f8565d88fc56dc2a9ed5832b8e566addc6f7af33406ab632adfb0290cd9cf676c00b428de70ce7f5aef7979b67864353cf53fe5c208d0add8a9588acdb584675f4dbcc3b1f1ceb1bde0e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020600000000000000258a282c11b3fb17029a8f86a231a502a2496dc49fe680f95a4ceb4253e9637144459bcf19a2a4d4b71439653d0f8342cc808131c122514d6876f806f47b1c592fc09622b013436acbb26b3875ad4370a9733d59108bfa31080d3c3951f23faa5907", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "vector": "missing_chunk" + } + ], + "outcome": "verdicts", + "package": "5d1ae5a4f74c6a3e9cdaf66593f65abdba88f8c6dba181d42d0c981852777d14", + "manifest": "58ef7429a37f51cb5a40d6cc152438b77f705b3a482eb4d72a398ad8e99e310e", + "room": "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", + "complete": "chunk_missing", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": false, + "takes": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "single_take": "holds", + "aligned": "holds", + "complete": "chunk_missing", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": false + }, + { + "take": "fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96", + "single_take": "holds", + "aligned": "holds", + "complete": "holds", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": true + } + ] + }, + { + "name": "commit_gap", + "about": "the relay did not deliver the accompanist's commitment 2: the room holds a gap in its device's chain, and complete fails (§4.5 complete 1)", + "files": { + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3963393065346630656364666439626165316333393564653033343764306539633934323364303566323439373762663930623238333863306438623464396420206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3230376331323362393830383730326433396231393066643937613166323732303136343437333435376666326432623630653162313437346465373239346420207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010604000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747385ee60336b36e88ebf7b89ab7e46a6dd9f909b8e46f137e4ec5f8044e66cac9003403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a3166a1885f84c753aa64325e4f546a9a78ddce8ce61de45f308d44689a90366c9634cafaa24498c198e6aa72a3f9d9a0b82396e6252282db97c034ec4b3ee35200", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "vector": "lesson" + } + ], + "outcome": "verdicts", + "package": "419504a7075d80cbead94c02e82305f6b447e7118e8b448b1221a877b3ca4448", + "manifest": "032b6520d30815ac80a97c8794cdb6ca53e6063f7fb35ba83ef6d52df7b19959", + "room": "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", + "complete": "delivery_gap", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": false, + "takes": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "single_take": "holds", + "aligned": "holds", + "complete": "holds", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": true + }, + { + "take": "fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96", + "single_take": "delivery_gap", + "aligned": "holds", + "complete": "holds", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": false + } + ] + }, + { + "name": "consent_missing", + "about": "the accompanist's take without the accompanist's consent record: publishable fails for every purpose, and the manifest, which claims record and distribute, does not stand (§4.5 publishable)", + "files": { + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6565353037623235316431373466393139306664633964366664356463616632616364363132663464343065633761346165663862353965323831303362343720207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010604000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c034066656632303264633062313166396462656265383331666635316432393764633761623634346630643533343164383764633935633933393732316139643936cd0c34357250a7fe85218102122dec031737993314d805160f36b4c2ca259db134eb75cd7e31f9b5e109a183e47662d5a0b01a36a570f994f5bbc2591ae8f04970cb6d550442c8506f7b9b8da99047159ad73a556082b6132008c375328fb90c", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "vector": "lesson" + } + ], + "outcome": "verdicts", + "package": "407908aae61977eaa1d257c58f76587b8a2617e8150c853c8218760bbc2fe44d", + "manifest": "3d489569aecd553feeee725c589f79dc96b612a74013b08b875b72a829f62361", + "room": "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", + "complete": "holds", + "publishable": { + "live": "consent_missing", + "record": "consent_missing", + "distribute": "consent_missing", + "train": "purpose_not_consented" + }, + "stands": false, + "takes": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "single_take": "holds", + "aligned": "holds", + "complete": "holds", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": true + }, + { + "take": "fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96", + "single_take": "holds", + "aligned": "holds", + "complete": "holds", + "publishable": { + "live": "consent_missing", + "record": "consent_missing", + "distribute": "consent_missing", + "train": "consent_missing" + }, + "stands": false + } + ] + }, + { + "name": "listing_mismatch", + "about": "a byte of the accompanist's chunk 3 changed after the package was sealed, its LISTING not rewritten (§4.4 step 1)", + "files": { + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6632623730613261386237633731653438316230393566613539396361346536386565613331343834353930303164306464626364323762653061316665323520207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010604000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31295fa2458a711d889d117521bcf2dd453de8bbd5cdf33b14ff9e95722afa9518e5df6d2c10b322ea58638a047a894f4adb1823a3ccf1458c7b9bf99b716d5205", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9cec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [], + "outcome": "refuse", + "reason": "listing_mismatch", + "at": [ + "listing" + ] + }, + { + "name": "component_digest_mismatch", + "about": "the same byte changed and the LISTING rewritten over it: the accompanist's take component no longer has the digest the recording manifest names (§4.4 step 3)", + "files": { + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6632623730613261386237633731653438316230393566613539396361346536386565613331343834353930303164306464626364323762653061316665323520207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a33643562393762366433333362643461336330636336383830333734383634333638336333336565363261656366643638623132356161613139343234346330202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010604000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31295fa2458a711d889d117521bcf2dd453de8bbd5cdf33b14ff9e95722afa9518e5df6d2c10b322ea58638a047a894f4adb1823a3ccf1458c7b9bf99b716d5205", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9cec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [], + "outcome": "refuse", + "reason": "component_digest_mismatch", + "at": [ + "component", + 3 + ] + }, + { + "name": "component_unlisted", + "about": "a file that no component holds, listed in LISTING (§4.4 step 3)", + "files": { + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6634653161353637326564663164393266363137383462626262323034386164316435633863623434333332313632646530343732363562623639363338373220206e6f7465732f73657373696f6e2e7478740a6632623730613261386237633731653438316230393566613539396361346536386565613331343834353930303164306464626364323762653061316665323520207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "notes/session.txt": "612066696c65206f66206e6f20636f6d706f6e656e74", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010604000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31295fa2458a711d889d117521bcf2dd453de8bbd5cdf33b14ff9e95722afa9518e5df6d2c10b322ea58638a047a894f4adb1823a3ccf1458c7b9bf99b716d5205", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [], + "outcome": "refuse", + "reason": "component_unlisted", + "at": [ + "listing" + ] + }, + { + "name": "component_invalid", + "about": "a room component holding a file §3.3 does not define, sealed with it (§4.4 step 4)", + "files": { + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3439663730643137663232366564613731363165356263333534386338386136653364323130383830623338626538306261336462663238346662656430613620207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a326566623565316539313535636337333335363831633231383864643731663966663261633463383135386461656130653636616335333862353363616631332020726f6f6d2f6e6f7465732e7478740a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010604000104726f6f6d8cda773253346ef4c185ee521debbe03a68414d5443741cccd395f5894c7c14502066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a3193dbd217face4183da58b98dd4f39bee6b9e87de005e5d805375c8e23ea58b64d8b12a1e373f43116a15efae88f1e5e72d9dde3c66d4dacb2eb517109e078206", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "room/notes.txt": "612066696c652074686520726f6f6d20636f6d706f6e656e7420646f6573206e6f7420646566696e65", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [], + "outcome": "refuse", + "reason": "component_invalid", + "at": [ + "component", + 0 + ] + }, + { + "name": "recording_manifest_invalid", + "about": "a recording manifest whose claims byte sets bit 1 (§4.2)", + "files": { + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3733356264323463663363303132616237636263663838323535613031333864633734396435636164303531626533613431383262656436343262316664666620207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000020204000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31b36b4df3ca5c99142e00664cceb3f2b1faac5cd5aeaa66d1feb55f32c68b2cf61a7a2fc6336c14fcfa1fb0af3af5aa2ed8e738305359e591091c5a207e4c0c06", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [], + "outcome": "refuse", + "reason": "recording_manifest_invalid", + "at": [ + "manifest" + ] + }, + { + "name": "manifest_bad_signature", + "about": "one bit of the recording manifest's signature flipped, the LISTING rewritten over it (§4.1)", + "files": { + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3337376631313839666464376262356164613335383632353631343034616565623763316637623437356330663335396165633137636366346135376363666220207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010604000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31295fa2458a711d889d117521bcf2dd453de8bbd5cdf33b14ff9e95722afa9518e5df6d2c10b322ea58638a0472894f4adb1823a3ccf1458c7b9bf99b716d5205", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [], + "outcome": "refuse", + "reason": "bad_signature", + "at": [ + "manifest" + ] + }, + { + "name": "manifest_wrong_room", + "about": "a recording manifest that names another room (§4.4 step 4)", + "files": { + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6534663832623134303731366434666430373765653664343666313330616463373438626466393731663266663965356431666533626335666161383235653120207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31014154ebdb256bd5596a7ce3b26b246a0e351473b55561fd7093cbeabf61f5f405d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010204000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a315d30d7fa7fcc5f694607a37a927d6eb94980323bf1f40947e20fdccdfec13baf2d788d14a3a81e3a830a1098555fb78371968a97780f03a485c5ad5f35b6e70e", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [], + "outcome": "refuse", + "reason": "wrong_room", + "at": [ + "manifest" + ] + }, + { + "name": "signer_not_permitted", + "about": "a recording manifest signed by the viewer, whose grant has no record power (§4.4 step 5)", + "files": { + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6634323735633162376333376235343635666663343162623165313037363665353638346335376437346230633630643230343739333933633737613031643420207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c60000000000000000002d310100000000010204000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31556678f6401acf66ca607bad8e45d66508394e4dee6ae8f5ed2bd855284e4af2aa76aa27248813e31040964d2b27a7c0a91f5fdbdbb379c57b30be7ee1e08600", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [], + "outcome": "refuse", + "reason": "recording_signer_not_permitted", + "at": [ + "manifest" + ] + }, + { + "name": "outside_span", + "about": "a session span that ends at sixteen seconds, before the devices' closing commitments (§4.4 step 6)", + "files": { + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3332633534363434646662643438336231636433303962316439393963623938356563353532626438393030373561383561343262306238306361346131656520207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd00000000000000000024f40000000000010204000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a3198f4d7f36aacac7c27ed6ba63f455d2e144c690137e9e173766524d853e00ebbde7ba3eff4989b854be676d37a02c4800b300fafb7f11f299ffb0fcaade77602", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [], + "outcome": "refuse", + "reason": "outside_span", + "at": [ + "room", + "record", + 4, + 5 + ] + }, + { + "name": "take_refused", + "about": "the accompanist's take manifest with a bit of its signature flipped, sealed as it is: the take verifier refuses it at its manifest, and the recording at that take (§4.4 step 7)", + "files": { + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6166663063616134663932393237656335393362623962383732663563616437346131376531663635333033333832636331636332656464393532326635623320207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a32633731343566366462393063636138313863323632383836303336303235623534626633383832326230656136653538646336616533306563383033633665202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010204000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393653402c1852726f59d283ece1640482553e94257773fe5d4ef15c2ce7cd5f4c3dcd8ae8448fff51bfb995e5f2fb9c756f5c839b6605e01b58de391abaf078744f3b3e29f2eb02146e355cb32507f6781cab60d5dea54d36f6903ef236fe2c3d0e", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc4a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [], + "outcome": "refuse", + "reason": "bad_signature", + "at": [ + "take", + 3, + "manifest" + ] + }, + { + "name": "room_refused", + "about": "the accompanist device's grant with a bit of its signature flipped, sealed as it is: the room verifier refuses the grant (live-rooms §4.3), and the recording there (§4.4 step 4)", + "files": { + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6637626431666137393162393931396361336236393763303735393664393034333536653361396137663034663334346334353337343731343665643935346520207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a353361353564303666383633663735386632306537643464363064663532303339633330353238353335396164333831363939343639393537623339653835622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010204000104726f6f6d1e3d5051e553e81f4e975ce07b25cb003d3a554ef3ebd86a7ec5d15af42ee19002066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31425d869310e6779e5fb1bd24191bdd51d2ed49e0fbc2ac1e402db8e5b711cb2b7d69fed9b9261d75607c59fa43c56690467953f7b4509290497faed81c33620d", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f009", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [], + "outcome": "refuse", + "reason": "bad_signature", + "at": [ + "room", + "grant", + 3 + ] + } + ], + "clips": [ + { + "name": "single_chunk", + "about": "chunk 4 of the performer's take, proved against its closing commitment", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2504000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640442cf2390e19203569ebbfbb9a4ffedaa69546c681dfb5d0d1aff3c9d1f9437ddd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd9bd014d7d799ebd4afb20dfe25eaaebda7686b6076aeba4008aaa4366b767e3d76a598e6db416cd0e138a67802e0aa9510fe96583753556ba861f71fc4c08f05", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43" + ], + "take_vector": "lesson" + } + ], + "outcome": "accept", + "clip": "4150264e1d9e5cb75cdf1994b03eefa0cf6d0f8b7b0fadab9518d894911f0e37", + "signer": "d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd", + "window": [ + 10000000, + 11000000 + ], + "bound_us": 500000, + "facts": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "first": 4, + "count": 1, + "offset": -5000000000, + "span": [ + 10000000, + 11000000 + ], + "device_window": [ + 5010000000, + 5011000000 + ], + "bytes": 68, + "sha256": "733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c52364", + "fetch": { + "namespace": [ + "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", + "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "take" + ], + "name": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "start_group": 4, + "start_object": 0, + "end_group_delta": 0 + } + } + ] + }, + { + "name": "byte_range", + "about": "a byte range of the performer's master, from ten bytes into chunk 2 to twenty bytes before the end of chunk 6: the five whole chunks, their range proof and the trims (§5.2)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca00127a0000000000405dc6000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f250200000000000000050000000a00000000000000140000000000000002000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe603880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b1db1c196a2f527259f64f0e99b2927a38b5eaa6ad637f580fb319c363450d3ffb09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd2831c74f925e5d72aaaa691541feabdc7143dc74c358f1794458dc2409cd3c200149995b9d378cf02d4e54bda40e99a966e6ff7f30b782f3ba9ba76468bf3a05", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4" + ], + "take_vector": "lesson" + } + ], + "outcome": "accept", + "clip": "1041ba89d87a60504b5fee18acba0700af208f86a521d23fa00cde98d6835337", + "signer": "d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd", + "window": [ + 8000000, + 13000000 + ], + "bound_us": 500000, + "facts": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "first": 2, + "count": 5, + "offset": -5000000000, + "span": [ + 8000000, + 13000000 + ], + "device_window": [ + 5008000000, + 5013000000 + ], + "bytes": 374, + "sha256": "c60369b03158d918b5dadd22d39e0e0ea57de673b3fd31a7a7097e07a558714a", + "fetch": { + "namespace": [ + "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", + "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "take" + ], + "name": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "start_group": 2, + "start_object": 0, + "end_group_delta": 4 + } + } + ] + }, + { + "name": "whole_take", + "about": "every chunk of the performer's take, whose range proof is empty: the leaves give the root", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca808d5b00000000000024f4000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2500000000000000000a000000000000000000000000000000000000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a4626700d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd174e4edca091241689999e1018ff39233be956ba8d498c8619a153a64d514a6670811ca50fa197ea5726ac7a07d9a12f1375a54c61b8380450261e993bd85805", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9" + ], + "take_vector": "lesson" + } + ], + "outcome": "accept", + "clip": "7562a585237e3c4dd5b3c56915e3992897e717d8e6335c301013bcc3164223d5", + "signer": "d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd", + "window": [ + 6000000, + 16000000 + ], + "bound_us": 500000, + "facts": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "first": 0, + "count": 10, + "offset": -5000000000, + "span": [ + 6000000, + 16000000 + ], + "device_window": [ + 5006000000, + 5016000000 + ], + "bytes": 737, + "sha256": "5ff7ece21404c49e769ff14d338c47420b59a4e9e73f077840045adb6806d2c0", + "fetch": { + "namespace": [ + "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", + "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "take" + ], + "name": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "start_group": 0, + "start_object": 0, + "end_group_delta": 9 + } + } + ] + }, + { + "name": "first_chunk", + "about": "chunk 0 of the performer's take", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca808d5b0000000000c0cf6a000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000000000000000001000000000000000000000000000000000000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f04a23283680c1e79ea6a7e1313788e42a79c4215ca9e6ede3d34107603dd44cadcbbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d9333262449b85df1d1e78c079f1b1f4c08714ef4caab5a94df7768e862a4fed26115ddedab09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bdbc5ed85f5cbc2a7d08cc521917f245c630d97095f3e37c078043b8d96c03b01f4b9bae15c15c85b22e365d17e1a9c6b508f8c56dd2facbef44b276151d110d07", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a" + ], + "take_vector": "lesson" + } + ], + "outcome": "accept", + "clip": "cdef20736cac692d7cb3e3f4522bde5b13feb2cd841d55e17aaa6fb9926f985e", + "signer": "d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd", + "window": [ + 6000000, + 7000000 + ], + "bound_us": 500000, + "facts": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "first": 0, + "count": 1, + "offset": -5000000000, + "span": [ + 6000000, + 7000000 + ], + "device_window": [ + 5006000000, + 5007000000 + ], + "bytes": 48, + "sha256": "37090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f", + "fetch": { + "namespace": [ + "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", + "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "take" + ], + "name": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "start_group": 0, + "start_object": 0, + "end_group_delta": 0 + } + } + ] + }, + { + "name": "last_chunk", + "about": "chunk 9, the last of the performer's take", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cac0e1e400000000000024f4000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25090000000000000001000000000000000000000000000000000000000900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a4626702bac6a8ec79490e68bfffb69330405498af1953beef2ee58cfe1fcab7ce8ee07fcef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd7f85197436e841b4141619a9700843e042d425fbf7508f284cb5784105023685a9410491761287cfd464036d34f12b12061c931925133f664e053fcfa761ae03", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9" + ], + "take_vector": "lesson" + } + ], + "outcome": "accept", + "clip": "8110077206634cc6869f872ffd0af6508a05d87e8cfed0d1a0ea7325031ab59f", + "signer": "d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd", + "window": [ + 15000000, + 16000000 + ], + "bound_us": 500000, + "facts": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "first": 9, + "count": 1, + "offset": -5000000000, + "span": [ + 15000000, + 16000000 + ], + "device_window": [ + 5015000000, + 5016000000 + ], + "bytes": 61, + "sha256": "1fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a46267", + "fetch": { + "namespace": [ + "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", + "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "take" + ], + "name": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "start_group": 9, + "start_object": 0, + "end_group_delta": 0 + } + } + ] + }, + { + "name": "accompanist_span", + "about": "chunks 2 to 5 of the accompanist's take, on a device whose clock runs three seconds ahead", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca20b381000000000060fecd0000000000017d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eeefef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96fb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f38608000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb020000000000000004000000000000000000000000000000000000000200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b556302903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd8bda55ea2b87eae46d75a107e5fd86ffd5017f842ebe74944f3e58869e2c323973ca9c189143a5b80a6c32cdf010f7d4c5f9effe8bf1416b11dfb16bfb956105", + "parts": [ + { + "device": "7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db007", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f87307", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a600", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c01", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c03", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c" + ], + "bytes": [ + "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8" + ], + "take_vector": null + } + ], + "outcome": "accept", + "clip": "9a0237f5ef6366cff18b71881ff0275da1e670e5ec9e3997a00e300c3f6e8a90", + "signer": "d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd", + "window": [ + 8500000, + 13500000 + ], + "bound_us": 500000, + "facts": [ + { + "take": "fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96", + "first": 2, + "count": 4, + "offset": -3000000, + "span": [ + 8500000, + 13500000 + ], + "device_window": [ + 11500000, + 16500000 + ], + "bytes": 326, + "sha256": "d14b9a8d3fb136208e6d060fcfec40ce256c3d66d01b6b97997720e7582dcf27", + "fetch": { + "namespace": [ + "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", + "7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee", + "take" + ], + "name": "fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96", + "start_group": 2, + "start_object": 0, + "end_group_delta": 3 + } + } + ] + }, + { + "name": "live_head", + "about": "chunks 1 to 3 of the performer's take proved against its commitment 2, made at 10.3 s while it was still capturing: a clip cut before the take closed", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cac0cf6a0000000000809698000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e40026210400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00010000000000000003000000000000000000000000000000000000000100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3014388fed2f888a9d39be9b9aa64dbfc0612ea8644f5bfe4f70049ca0d9f90efefd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd832e3157aa4ac1d593c26b788bfd5ae8be85d712dd6af1f1457890f9491f60c540aee74445da13818c44e537962013b06ed9016159644dd66d55c7befbb8d706", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07" + ], + "bytes": [ + "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa" + ], + "take_vector": "lesson" + } + ], + "outcome": "accept", + "clip": "5c10b6c4c86a216264a279615fd89656b0c3d69580240ff0fcd0893bf9da16b8", + "signer": "d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd", + "window": [ + 7000000, + 10000000 + ], + "bound_us": 500000, + "facts": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "first": 1, + "count": 3, + "offset": -5000000000, + "span": [ + 7000000, + 10000000 + ], + "device_window": [ + 5007000000, + 5010000000 + ], + "bytes": 238, + "sha256": "3027452690c857b1f156c9404af43b7d24dc97d78ac521c735fa12f260cba193", + "fetch": { + "namespace": [ + "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", + "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "take" + ], + "name": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "start_group": 1, + "start_object": 0, + "end_group_delta": 2 + } + } + ] + }, + { + "name": "two_takes_aligned", + "about": "the room-clock window from 8 s to 12 s in both takes: the performer's chunks 2 to 5 and the accompanist's 1 to 4, each proved against its own closing commitment; the correspondence holds within twice the jitter (§6)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca00127a0000000000001bb7000000000002e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f250200000000000000040000000000000000000000000000000000000002000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a4803880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1bd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eeefef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96fb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f38608000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb01000000000000000400000000000000000000000000000000000000010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba03ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9ede40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bdda34285d4555b29656aadd2738b9f4100fdbe963946a10f4cd95237fb76a0c4d3335cfc2bb9cc437ec8896baf460a5d48d87c9a24d286b081a7914d31eee030b", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc" + ], + "take_vector": "lesson" + }, + { + "device": "7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db007", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f87307", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a600", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c01", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c03", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c" + ], + "bytes": [ + "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc" + ], + "take_vector": null + } + ], + "outcome": "accept", + "clip": "a5c30c3b47608c4b4e7faae3c449a4cffff4bc36169ae81364a59ae4633c5516", + "signer": "d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd", + "window": [ + 8000000, + 12000000 + ], + "bound_us": 1000000, + "facts": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "first": 2, + "count": 4, + "offset": -5000000000, + "span": [ + 8000000, + 12000000 + ], + "device_window": [ + 5008000000, + 5012000000 + ], + "bytes": 326, + "sha256": "6577bc81132b290f0ad067455d3d1de26c609c8592e90b66b9558ad4ed5cbf96", + "fetch": { + "namespace": [ + "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", + "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "take" + ], + "name": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "start_group": 2, + "start_object": 0, + "end_group_delta": 3 + } + }, + { + "take": "fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96", + "first": 1, + "count": 4, + "offset": -3000000, + "span": [ + 7250000, + 12250000 + ], + "device_window": [ + 11000000, + 15000000 + ], + "bytes": 306, + "sha256": "6b20f73721f6d5116b64290fb8afb1c1661462ee05512e3168f79c547610e39d", + "fetch": { + "namespace": [ + "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", + "7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee", + "take" + ], + "name": "fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96", + "start_group": 1, + "start_object": 0, + "end_group_delta": 3 + } + } + ] + }, + { + "name": "late_take_clean_span", + "about": "chunk 1 of capture binding's late_commit take, committed on time by commitment 1: single-take fails of the take, and holds over this span (§5.4)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cac0cf6a000000000000127a000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03ee0c494c523bbd5cd9f3c1553e8739677d8ef323b69f2f144d8e8ab5353a496850a00000000000000bda5feac659aefa19e92879c0e54a8c0553c191d000a7e08df74346c7029d0aa010000000000000001000000000000000000000000000000000000000100000000000000c0c1702a010000000004802a01000000550000000000000067f783ca2928875be7c30bbc92171d5039858ff8d69c657a3a262fba9f95134e0497e6cac5607f6fe7094d4b3a5e02ee06468cfc4c32a2595efc99028b507242c0f214af01a2691e1094b00128aab537d41f2f0e6fa27fe86aebea98d961bc3b951c5e42cb6540ccac9aa5cbd1ca13f46f5ba6b50ee5eed64bf1bc421920e923b71bc14493af1725a1564c44fc616bfb687e46b49fe54d011a88c64711d2baa3a4d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd7f9294954ce68a52c929c990b51af1989868cb9a844a2000eefebe5c6dca23b856ca8b44d08c1604ea127c3779ffb16c439d2cd826da7a9fec5dd8f90bfe5f07", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000c852672d97588f601a5d36f4876b45a8c29b86003cc198b7c45f55eeaee45b01000efad5feffffff00886418d83837e5289ae14157b7c4a24d6c5d997064a0595ff64b73c8a2b7abf2d1fd27bc503999ad11e59dfa61f7d09933187d3db2fb328a4de36c4797829100", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5020000000000000030677dc2a168b346425703ac67f1f96f3b1f327f5f993f1dd09fad625c3fa70c602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e020000000230677dc2a168b346425703ac67f1f96f3b1f327f5f993f1dd09fad625c3fa70c020000000000000004000000000000004319595899c869c6e797ce34025b8dfdbae2e0f052f1bceeedebae5ffc0b4e9e000efad5feffffff01f214af01a2691e1094b00128aab537d41f2f0e6fa27fe86aebea98d961bc3b95af8f6a68220fbff3a883e9ba0268407d4d6c91d54f43950658de2b6133c8d1e95f0196798b885df72708ee250580ad365597a71db24c529d78881a544dcd530d", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000d2db9fe0ae62d2744afae6294f6913672f15e126d426c235112f0e37e5155bf84092d20000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002d2db9fe0ae62d2744afae6294f6913672f15e126d426c235112f0e37e5155bf804000000000000000700000000000000f40de8655ff2a419e4b04d0e79d2f648f26ac422dd91fce8c65cf72b5b814302000efad5feffffff01d7fc3fae56f629c0fb32dd8f476f489e53ce9b4f9ff27e541a6c6e1b22f63fb537ea52dda7370f32ec94864eb724a362a42b9419a366c2d1b06f7bddb5abb8a9453857bc92add16c366afdf5adbdca73deb106b736e918f9c9533dec47275d09", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f504000000000000002b5aa6765041f83faf8d0e39494dd9e39736c0411cb567ab141763ce9813a9946033da0000000000000cfe0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e04000000022b5aa6765041f83faf8d0e39494dd9e39736c0411cb567ab141763ce9813a994070000000000000008000000000000001487efc738bd988d9aff8515b8ced027cdddfcc81a7225ec58c8bb9ea15d1d40000efad5feffffff040f665e12a48a0498f326ff7bd846c8aa2af8c9cfb289321faeef159efb9b37a5a2bfeb0b88a90be71f2d008650d9071f7e8e79fb8fb9641fcfc8bb43fe73be0447f1d90e63fd9a248a18fc200cd0cce55220097d19b4a83f04d100874ef2a5484319595899c869c6e797ce34025b8dfdbae2e0f052f1bceeedebae5ffc0b4e9ec630becacbc672c6e722c2b7690a1c30ff7a2a790c65e0131b51c7fa7bcb243850c4968ff578101e43d962e2c7ba41f5157545d6b80b85c30c7f5aed1cfdaa02", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50500000000000000c990e7420d9cd3e12ff5bc13d8a569e5ab0c363f8cc59828c768776c3808d5bc803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0500000003c990e7420d9cd3e12ff5bc13d8a569e5ab0c363f8cc59828c768776c3808d5bc08000000000000000a00000000000000bda5feac659aefa19e92879c0e54a8c0553c191d000a7e08df74346c7029d0aa000efad5feffffff011bc14493af1725a1564c44fc616bfb687e46b49fe54d011a88c64711d2baa3a49b416016489d6e81f9692746a7a589f239d3155f4c5b7c8daf74e2fb0c52e50ba86985b051525acc36ca14dce87ce637e0954d665f4a169cb88192e586b7480f" + ], + "bytes": [ + "ab203e9c6b364913e4313e8f39bb0659263f434968589fc6b4aa0939730a113831cf592f397a525c07aebe59cf16946599b54958a373e90fd80764c2b1b6d8118a16b8654f704952a158bd70cb77976eae7ab8ee2c" + ], + "take_vector": "late_commit" + } + ], + "outcome": "accept", + "clip": "05055b7dc254ac19e1f5018003f2457b72de6e40b246cdb364b4d08a87a472a3", + "signer": "d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd", + "window": [ + 7000000, + 8000000 + ], + "bound_us": 500000, + "facts": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "first": 1, + "count": 1, + "offset": -5000000000, + "span": [ + 7000000, + 8000000 + ], + "device_window": [ + 5007000000, + 5008000000 + ], + "bytes": 85, + "sha256": "67f783ca2928875be7c30bbc92171d5039858ff8d69c657a3a262fba9f95134e", + "fetch": { + "namespace": [ + "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", + "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "take" + ], + "name": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "start_group": 1, + "start_object": 0, + "end_group_delta": 0 + } + } + ] + }, + { + "name": "proof_not_reaching_head", + "about": "chunk 4 with one node of its range proof changed: the proof does not reach the head's root (§5.4 f)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2504000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640442cf2390e1b203569ebbfbb9a4ffedaa69546c681dfb5d0d1aff3c9d1f9437ddd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bdeb3baaec6825cc9fcb678aeef6e7721310722b3e6bebaddb4f010736eef7dc53c8f2adec6991b3dca52a90dbdefbb14aabdafec93eaf6483a4690e8d3fdae50e", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43" + ], + "take_vector": "lesson" + } + ], + "outcome": "refuse", + "reason": "clip_not_included", + "at": [ + "part", + 0 + ] + }, + { + "name": "range_past_size", + "about": "chunks 1 to 4 against commitment 2, which committed four chunks: chunk 4 lies past the head's size (§5.4 e)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cac0cf6a0000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e40026210400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00010000000000000004000000000000000000000000000000000000000100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c5236400d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0db0ada5024e7b1cd1425cfdb428e2fb7a39f946529e82e280d430ecc5b1f062bcd93535f854811be329c8d2456a8275ee3cbc898762a5442728f030c484ca0e", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07" + ], + "bytes": [ + "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43" + ], + "take_vector": "lesson" + } + ], + "outcome": "refuse", + "reason": "clip_out_of_range", + "at": [ + "part", + 0 + ] + }, + { + "name": "missing_chunk", + "about": "chunks 5 to 7 of capture binding's missing_chunk take, whose chunk 6 was never uploaded: the descriptors and the proof stand, and chunk 6's bytes are absent (§5.4 k)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cac0d8a70000000000809fd5000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0a258d32fb15f68e4edfa541cce451080b561f0e2cb76ec98165e7440f2914870a00000000000000dc7a42f07554cfa62ed6900f944c87f427893f10951a9348c748c805815ab253050000000000000003000000000000000000000000000000000000000500000000000000c0caad2a01000000000dbd2a01000000690000000000000006487594a40d2b75da30bc69de67e9a80581e8aa150cc31d2e53b7b4961701430600000000000000000dbd2a01000000404fcc2a010000004e00000000000000578f2ccfc619aaf1759927667154012d4694c312e4a3d7cfa1e92320865c1ad30700000000000000404fcc2a010000008091db2a01000000330000000000000020d779756a384fe0edd2cc306619a1dde0e0e80816698ed67e6abf0dee2e3bd603b9d23424b2677ca4bd57d089fd9ba6a5cdb0f80a3736e7e5d0264e3eaef2572abec08ec8ac5565fc4b8d4775effafdf9490afc1db34ec1a4b3cdc44b34a4d57bdc1b5a06137a398a0979bf8c1b2c3573dc80b5fff17d60c072967de3230e0b46d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd4e24b8c31cd146b962e51851f114bdd64415c77739fafe75a673740f63a52d02704ff9e2bdb298fa035d4c5dd529e4677f321a8060f7b4822fe251353e68de01", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e60000000000000000020000000000000016998ae44ebe40ac7a2569a2275c35081709759c28411b8edf3668f80de91297000efad5feffffff007f15f0960d2be9513e1810c151656c03685ac4e07c743212aec0d3fcbbe66c098d8bc81a9a80f9650c13c348c4c96b7a7ef5b85e9cd32a7b001baff5f259540d", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000f0bcaa5a881e6fac08807315432342ff1bfcd325ba03c10c0bb6dcd653db21b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002f0bcaa5a881e6fac08807315432342ff1bfcd325ba03c10c0bb6dcd653db21b002000000000000000400000000000000bec08ec8ac5565fc4b8d4775effafdf9490afc1db34ec1a4b3cdc44b34a4d57b000efad5feffffff017764e6a1de4fa4090c9d24a8b015462db95e17cd82883d8ff29aed72cbd91d90d965bada8e348f7f61d2b4552b2d9b1b670f4d43ae2386c6713d2851e0a91923c9599ec3810cbe556af7ef79ec3a65a6e33c7175600c245a90a09afe8f625009", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000e0acbea753f2dd26be275f74abf0b3930bb0d45e87ca53c8a4bd8c15e42a26c1e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002e0acbea753f2dd26be275f74abf0b3930bb0d45e87ca53c8a4bd8c15e42a26c104000000000000000600000000000000258a282c11b3fb17029a8f86a231a502a2496dc49fe680f95a4ceb4253e96371000efad5feffffff0176a5a156317adf2563670ca73b168e4fa8c47d735de2be23da1161d55ef0f871b8c9e4c020be046e907dcd0c2db00d41f333370d0f628fbb505386fbd498ab636dcb3aa263533f27d93990d5aa4b131e4b1de29c58949ad8ccaa4df95e300b05", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000070c7ce1cdfaad584c990a38222fa6b41972b44fb96ce5595e7489a29b6f648176033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000270c7ce1cdfaad584c990a38222fa6b41972b44fb96ce5595e7489a29b6f6481706000000000000000800000000000000eaf7ebbdb6c61d57ce4c2011476266460d1d27901c795f42c182587a307b92b9000efad5feffffff0376a5a156317adf2563670ca73b168e4fa8c47d735de2be23da1161d55ef0f8711d136d050818deab0c4577ecf4c85c7917880d059f7346588738fc2aa0d00334bec08ec8ac5565fc4b8d4775effafdf9490afc1db34ec1a4b3cdc44b34a4d57b46223f73198c6c1e406cbaabea0583de6c261b932a716961577f1a0badb42bcb186dda402f2b586d3b9e7b4e29cdc7ce4dfd3c23b4eeb273d0be4721b35dda07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50500000000000000cc0b7a0360bee11cefd437071698bce3f2835eced20944d0a1d262559a075060803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0500000003cc0b7a0360bee11cefd437071698bce3f2835eced20944d0a1d262559a07506008000000000000000a00000000000000dc7a42f07554cfa62ed6900f944c87f427893f10951a9348c748c805815ab253000efad5feffffff01dc1b5a06137a398a0979bf8c1b2c3573dc80b5fff17d60c072967de3230e0b464a9169a6f69825fa3866c91d5282c4b8f730d153f3f791d58a1169932768fd443375342a9437c0d2a551d960a85a2db949484b046bf0b2fb9bc518f1c28ec501" + ], + "bytes": [ + "2ec70ce7473c7066a93f99e0566bc6341173cba4dcd852bc7cc801c431814c9a5504f671dda826cf7264720800cd40d9866e8d0048a80aeaa2672dad443d3af6bf6cfb9e72c65d85a133dafa595a7e0158c002db6ff6b14fa82db75264c7d55107af02bcbe329e3911", + null, + "d1eb3fdda28e70aeae0526372354ecb8bc491ad2589067b12fe7919d6ed9944ac901596560199517bfc692ae688972c955f1bd" + ], + "take_vector": "missing_chunk" + } + ], + "outcome": "refuse", + "reason": "clip_chunk_missing", + "at": [ + "chunk", + 0, + 1 + ] + }, + { + "name": "spliced_two_takes", + "about": "chunks 3 to 5 of the performer's take with chunk 4 replaced by the accompanist's chunk 4, its descriptor and its bytes: the leaves are not the head's (§5.4 f)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca4054890000000000001bb7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2503000000000000000300000000000000000000000000000000000000030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f30400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba0500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a4804c261f4fd67c5cc77a8471309dc250c4cd5d17d2ed91f4c0d19b8cd3741deb8b9880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1bd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bdaeaca7938fe20e20d125085e4a9c0b85376d61deda7525416c0a73d2b8f2a41af573df903a3dca54d50d99ccb294a607bcc7111dc98ce166b89c7c30dfdb4e00", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc" + ], + "take_vector": null + } + ], + "outcome": "refuse", + "reason": "clip_not_included", + "at": [ + "part", + 0 + ] + }, + { + "name": "reordered_chunk", + "about": "chunks 3 to 5 with the bytes of chunks 3 and 4 each given at the other's place (§5.4 k)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca4054890000000000001bb7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2503000000000000000300000000000000000000000000000000000000030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a4804c261f4fd67c5cc77a8471309dc250c4cd5d17d2ed91f4c0d19b8cd3741deb8b9880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1bd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd16ef4581e79c93a7221202ae37c0767ee85971b8a64aa92a087d5521a3d61caa66c6d0a80245d541951c751a403c2b167cc8dc43800a80deb57e8250fcb4ca09", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc" + ], + "take_vector": "lesson" + } + ], + "outcome": "refuse", + "reason": "chunk_reordered", + "at": [ + "chunk", + 0, + 0 + ] + }, + { + "name": "altered_chunk", + "about": "chunk 4 with one byte of its bytes changed (§5.4 k)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2504000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640442cf2390e19203569ebbfbb9a4ffedaa69546c681dfb5d0d1aff3c9d1f9437ddd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd9bd014d7d799ebd4afb20dfe25eaaebda7686b6076aeba4008aaa4366b767e3d76a598e6db416cd0e138a67802e0aa9510fe96583753556ba861f71fc4c08f05", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "65417e62fa739f4bff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43" + ], + "take_vector": null + } + ], + "outcome": "refuse", + "reason": "chunk_altered", + "at": [ + "chunk", + 0, + 0 + ] + }, + { + "name": "extra_chunk", + "about": "chunk 4 given with chunk 5's bytes after it, which the record does not cover (§5.4 k)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2504000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640442cf2390e19203569ebbfbb9a4ffedaa69546c681dfb5d0d1aff3c9d1f9437ddd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd9bd014d7d799ebd4afb20dfe25eaaebda7686b6076aeba4008aaa4366b767e3d76a598e6db416cd0e138a67802e0aa9510fe96583753556ba861f71fc4c08f05", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc" + ], + "take_vector": "lesson" + } + ], + "outcome": "refuse", + "reason": "chunk_extra", + "at": [ + "chunk", + 0, + 1 + ] + }, + { + "name": "uncommitted_head", + "about": "chunks 8 and 9 proved against a tree of eleven chunks, the take's ten and one appended, under the closing commitment's digest: no commitment of the take has that size and root (§5.4 d)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca809fd500000000000024f4000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80b0000000000000060aa969c0af96dcc056d33a415ec2d2e4595b3e1e7953907281a8f1477b034a40800000000000000020000000000000000000000000000000000000008000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a4626702d312ff0d25645a1987fbd44e5f7bb1d3dfdce37c410f27812ea7c687cfcd77e3cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd69a6aecd8cafbdf7b228652554fc52005ed4db45b44d2a6fddf9d707dbb4d61f3dc6865edaf12a84ac94d2496dff60bda07c6872042e602d0fd1268f7fca8c04", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9" + ], + "take_vector": "lesson" + } + ], + "outcome": "refuse", + "reason": "tree_head_not_committed", + "at": [ + "part", + 0 + ] + }, + { + "name": "commit_gap", + "about": "chunk 4 with the take's commitment 2 left out of the commitments given (§5.4 c)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2504000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640442cf2390e19203569ebbfbb9a4ffedaa69546c681dfb5d0d1aff3c9d1f9437ddd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd9bd014d7d799ebd4afb20dfe25eaaebda7686b6076aeba4008aaa4366b767e3d76a598e6db416cd0e138a67802e0aa9510fe96583753556ba861f71fc4c08f05", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43" + ], + "take_vector": "lesson" + } + ], + "outcome": "refuse", + "reason": "delivery_gap", + "at": [ + "commit", + 0, + 2 + ] + }, + { + "name": "commit_malformed", + "about": "chunk 4 with a take_commit of the device whose ten-byte payload does not read, among the commitments given (§5.4 b)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2504000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640442cf2390e19203569ebbfbb9a4ffedaa69546c681dfb5d0d1aff3c9d1f9437ddd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd9bd014d7d799ebd4afb20dfe25eaaebda7686b6076aeba4008aaa4366b767e3d76a598e6db416cd0e138a67802e0aa9510fe96583753556ba861f71fc4c08f05", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5630000000000000000000000000000000000000000000000000000000000000000000000000000004054890000000000000c0a000000000000000000000086440771efa712f64b792d2ea537c6cb9075519075d3a3ff1638faf291da5b7a35963403e8a2fcbcd3d548acd8ac41a74d385b2ced711f0118d515d26c03eb04", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43" + ], + "take_vector": null + } + ], + "outcome": "refuse", + "reason": "commit_malformed", + "at": [ + "commit", + 0, + 2 + ] + }, + { + "name": "take_mismatch", + "about": "a part that names the accompanist's take over the performer's device and its commitments: the commitments are of another take (§5.4 b)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d965c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2504000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640442cf2390e19203569ebbfbb9a4ffedaa69546c681dfb5d0d1aff3c9d1f9437ddd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bdc26274f1203de4857580c9768affd067a8b7409ecc12a1f1c300fc4c2fb82d3f64c48fffdc92645c5606d26f1483c18ed862f4649f4fb0efae6cccd33e416d03", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43" + ], + "take_vector": "lesson" + } + ], + "outcome": "refuse", + "reason": "clip_take_mismatch", + "at": [ + "commit", + 0, + 0 + ] + }, + { + "name": "device_mismatch", + "about": "the performer's chunk 4, verified under the accompanist device's key (§5.4 a)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2504000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640442cf2390e19203569ebbfbb9a4ffedaa69546c681dfb5d0d1aff3c9d1f9437ddd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd9bd014d7d799ebd4afb20dfe25eaaebda7686b6076aeba4008aaa4366b767e3d76a598e6db416cd0e138a67802e0aa9510fe96583753556ba861f71fc4c08f05", + "parts": [ + { + "device": "7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43" + ], + "take_vector": "lesson" + } + ], + "outcome": "refuse", + "reason": "clip_device_mismatch", + "at": [ + "part", + 0 + ] + }, + { + "name": "clip_wrong_room", + "about": "a clip record that names another room (§5.4 step 2)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31014154ebdb256bd5596a7ce3b26b246a0e351473b55561fd7093cbeabf61f5f4058096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2504000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640442cf2390e19203569ebbfbb9a4ffedaa69546c681dfb5d0d1aff3c9d1f9437ddd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bdab25f1e9ce2b953f966017547880ca09224a8b5396cd530aa728e29635e17207fec694af44bc63bcfb36ab57aca4efbe75a5964ec1b75f50d4411cbadf613d04", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43" + ], + "take_vector": "lesson" + } + ], + "outcome": "refuse", + "reason": "wrong_room", + "at": [ + "clip" + ] + }, + { + "name": "clip_bad_signature", + "about": "one bit of the clip record's signature flipped (§5.1)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2504000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640442cf2390e19203569ebbfbb9a4ffedaa69546c681dfb5d0d1aff3c9d1f9437ddd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd9bd014d7d799ebd4afb20dfe25eaaebda7686b6076aeba400aaaa4366b767e3d76a598e6db416cd0e138a67802e0aa9510fe96583753556ba861f71fc4c08f05", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43" + ], + "take_vector": "lesson" + } + ], + "outcome": "refuse", + "reason": "bad_signature", + "at": [ + "clip" + ] + }, + { + "name": "clip_record_invalid", + "about": "the aligned clip with a trim in its first part: trims are a single take's (§5.2)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca00127a0000000000001bb7000000000002e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f250200000000000000040000000300000000000000000000000000000002000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a4803880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1bd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eeefef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96fb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f38608000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb01000000000000000400000000000000000000000000000000000000010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba03ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9ede40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd497ceb7c5e9130b417dd5ead80ff3044f0fd53f033ca923468c346e47160549ef8fdd724fa90aa7c423ad46272ba77d4a9da154fccd7a8e5a9ad4a3a728b7603", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc" + ], + "take_vector": "lesson" + }, + { + "device": "7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db007", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f87307", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a600", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c01", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c03", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c" + ], + "bytes": [ + "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc" + ], + "take_vector": null + } + ], + "outcome": "refuse", + "reason": "clip_record_invalid", + "at": [ + "clip" + ] + }, + { + "name": "window_not_covered", + "about": "the aligned clip with the accompanist's part starting at chunk 2, which begins after the window's start (§5.4 j)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca00127a0000000000001bb7000000000002e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f250200000000000000040000000000000000000000000000000000000002000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a4803880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1bd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eeefef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96fb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f38608000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb020000000000000003000000000000000000000000000000000000000200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba03903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd4e71a3ac488951221cf5ee8ad30d19e798b1a79f12459b78636cb58050714fabd35894e63ebe93a94bfdcdd0433f839267d1046fd18ee6e546fa6612d2e3ee0a", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc" + ], + "take_vector": "lesson" + }, + { + "device": "7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db007", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f87307", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a600", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c01", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c03", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c" + ], + "bytes": [ + "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc" + ], + "take_vector": null + } + ], + "outcome": "refuse", + "reason": "clip_window_invalid", + "at": [ + "part", + 1 + ] + }, + { + "name": "trimmed_window", + "about": "the byte-range clip with its window moved off its chunks' span: a trimmed clip presents its chunks' span (§5.2)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974caa0987b0000000000405dc6000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f250200000000000000050000000a00000000000000140000000000000002000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe603880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b1db1c196a2f527259f64f0e99b2927a38b5eaa6ad637f580fb319c363450d3ffb09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd2bb7ca930ee42fc82479ee717908f0c76516cfead849383e3607f56e9bb5ec41326604680f27b24e8683391f394dec2b96d62462bed9bf5368209af884ef6f01", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4" + ], + "take_vector": "lesson" + } + ], + "outcome": "refuse", + "reason": "clip_window_invalid", + "at": [ + "part", + 0 + ] + }, + { + "name": "commit_late", + "about": "chunk 4 of capture binding's late_commit take, committed 2.8 s after its capture ended (§5.4 i)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03ee0c494c523bbd5cd9f3c1553e8739677d8ef323b69f2f144d8e8ab5353a496850a00000000000000bda5feac659aefa19e92879c0e54a8c0553c191d000a7e08df74346c7029d0aa04000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000bbe329f3c384a6639c0c310949666c3fc0a1e6663f8acfd5a56baac147b6eef404b812b297dd2f5cef06e40d8ae77da25d8040abcfd7789f37905991908b1c4f435c140cc005a8e918f78ffb7829c7d6d4b32a36f76879fe5438bbb6f5aeebfca54319595899c869c6e797ce34025b8dfdbae2e0f052f1bceeedebae5ffc0b4e9e1bc14493af1725a1564c44fc616bfb687e46b49fe54d011a88c64711d2baa3a4d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bdb53947bdf65375d6da923285f798a21fb7c3297d37adf2f8046a7d80244eb76f232a4f175876b36ae494a174bb80d1a7bee5098a3f12285ea71571cb45f7c404", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000c852672d97588f601a5d36f4876b45a8c29b86003cc198b7c45f55eeaee45b01000efad5feffffff00886418d83837e5289ae14157b7c4a24d6c5d997064a0595ff64b73c8a2b7abf2d1fd27bc503999ad11e59dfa61f7d09933187d3db2fb328a4de36c4797829100", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5020000000000000030677dc2a168b346425703ac67f1f96f3b1f327f5f993f1dd09fad625c3fa70c602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e020000000230677dc2a168b346425703ac67f1f96f3b1f327f5f993f1dd09fad625c3fa70c020000000000000004000000000000004319595899c869c6e797ce34025b8dfdbae2e0f052f1bceeedebae5ffc0b4e9e000efad5feffffff01f214af01a2691e1094b00128aab537d41f2f0e6fa27fe86aebea98d961bc3b95af8f6a68220fbff3a883e9ba0268407d4d6c91d54f43950658de2b6133c8d1e95f0196798b885df72708ee250580ad365597a71db24c529d78881a544dcd530d", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000d2db9fe0ae62d2744afae6294f6913672f15e126d426c235112f0e37e5155bf84092d20000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002d2db9fe0ae62d2744afae6294f6913672f15e126d426c235112f0e37e5155bf804000000000000000700000000000000f40de8655ff2a419e4b04d0e79d2f648f26ac422dd91fce8c65cf72b5b814302000efad5feffffff01d7fc3fae56f629c0fb32dd8f476f489e53ce9b4f9ff27e541a6c6e1b22f63fb537ea52dda7370f32ec94864eb724a362a42b9419a366c2d1b06f7bddb5abb8a9453857bc92add16c366afdf5adbdca73deb106b736e918f9c9533dec47275d09", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f504000000000000002b5aa6765041f83faf8d0e39494dd9e39736c0411cb567ab141763ce9813a9946033da0000000000000cfe0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e04000000022b5aa6765041f83faf8d0e39494dd9e39736c0411cb567ab141763ce9813a994070000000000000008000000000000001487efc738bd988d9aff8515b8ced027cdddfcc81a7225ec58c8bb9ea15d1d40000efad5feffffff040f665e12a48a0498f326ff7bd846c8aa2af8c9cfb289321faeef159efb9b37a5a2bfeb0b88a90be71f2d008650d9071f7e8e79fb8fb9641fcfc8bb43fe73be0447f1d90e63fd9a248a18fc200cd0cce55220097d19b4a83f04d100874ef2a5484319595899c869c6e797ce34025b8dfdbae2e0f052f1bceeedebae5ffc0b4e9ec630becacbc672c6e722c2b7690a1c30ff7a2a790c65e0131b51c7fa7bcb243850c4968ff578101e43d962e2c7ba41f5157545d6b80b85c30c7f5aed1cfdaa02", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50500000000000000c990e7420d9cd3e12ff5bc13d8a569e5ab0c363f8cc59828c768776c3808d5bc803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0500000003c990e7420d9cd3e12ff5bc13d8a569e5ab0c363f8cc59828c768776c3808d5bc08000000000000000a00000000000000bda5feac659aefa19e92879c0e54a8c0553c191d000a7e08df74346c7029d0aa000efad5feffffff011bc14493af1725a1564c44fc616bfb687e46b49fe54d011a88c64711d2baa3a49b416016489d6e81f9692746a7a589f239d3155f4c5b7c8daf74e2fb0c52e50ba86985b051525acc36ca14dce87ce637e0954d665f4a169cb88192e586b7480f" + ], + "bytes": [ + "e3e40e6b38db06ede667033791c9b87668ca9e936ca50368d3950f13c7ee0fd69ebffe6fbf50a31b5e95997ad0e4bfcc28dfae9e0f0ff3488308a8761132a3d023d05731" + ], + "take_vector": "late_commit" + } + ], + "outcome": "refuse", + "reason": "commit_late", + "at": [ + "part", + 0 + ] + }, + { + "name": "commit_early", + "about": "chunk 4 of capture binding's commit_early take, committed before its capture ended (§5.4 i)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03eff001cba7a20a02d8b990ab0a74b4215158da8632f82bb2741156aa9e54615b90a00000000000000e819ce5ae27b95126df7bc7a694e141bcbb464944378ad2ff4a92e1bfde0b1ac04000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a0100000044000000000000006988afc111642896af72a8a2d4334d2c394655631622c18ee0006c8be0519e8404648c4aa99e1e841ef29f347cc9c280f6ebd265ba80585a33ba138cc96b30cc7760a6221e4e65872f1ab3234143da2db16bc766a5aacf23f6d4e632cb878a63fd99a6c39cfcffbe1df772054aa4940138a191960724d3b7dcf720f58c7a954e21835934468c0352143e43232a03a62907df27686a4447abe533c36a2545660047d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd20a122990d052d1745885e6a277e45c624a918b3166ae33fb9df68a0b9df668c2ac6694ea7f7e81402c99d31a865e79191e6745c1200479ac9027049a8f02c02", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000b9c48d0f25427effa0de240065cf0d00e8c625d5ab0c7c59f4d41747358b7299000efad5feffffff00a13cc25d2f3f254db08bf1f25cc68f0a6a63aff975ca4faca70fcd39dbcb05d42d714352056277d21d326caa0af24166b610900af04e5bee0138b7b328272305", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000ce20ac52283bdfb914d6e8da70daef048e87f0b3d0e4d9f77a84220479a5b677602a9d0000000000000cbe0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002ce20ac52283bdfb914d6e8da70daef048e87f0b3d0e4d9f77a84220479a5b67702000000000000000500000000000000603ca612693f2abad31e6bacb31139d6196d38f8a7195e32a53991446fb37f74000efad5feffffff0287bf537f1cc75f438bdf71a3d387ec2c9b1ffe0d781a8f358bfd4c0623692ea7a768f30431b0a851770f8fb8f1c180bef9d1a2699223d07c450fe03ff1d7051284be621eba9ccb3c1f6a76230513b19f8b578a97c29a69ceda54998478360d4521078067bc0227ee2356e5a58643d1aaeb07b86a1860f331ec8bc7ac5ea49403", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f503000000000000005773fc8d7c223a9153cd2d98de786ed74654559b75907751523732a50758f43ce0aebb0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e03000000025773fc8d7c223a9153cd2d98de786ed74654559b75907751523732a50758f43c05000000000000000600000000000000bce13223346f2ff8984e52d0a8224db336fb5808525f9be032c81dfbf2dfe0a2000efad5feffffff03a768f30431b0a851770f8fb8f1c180bef9d1a2699223d07c450fe03ff1d70512648c4aa99e1e841ef29f347cc9c280f6ebd265ba80585a33ba138cc96b30cc7799a6c39cfcffbe1df772054aa4940138a191960724d3b7dcf720f58c7a954e2143d0f6df10271d740e7c542455f81f24e8648679c63f4db6c7b01fa12ab9708cb20a03fd4ba0e154c4ae4732a4660e53da3adb67e4748788ab28f0abfaa8330f", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50400000000000000fc8b5f389ed60ddf9db7b8fc9a47cdcfb08a18b961d085c9926af9e080971c486033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0400000002fc8b5f389ed60ddf9db7b8fc9a47cdcfb08a18b961d085c9926af9e080971c4806000000000000000800000000000000b38ee769af2a74494aba90110d44b85ee2fc6508feb0ae5bfe2b2f23c63e082d000efad5feffffff039f09ee837b41aeaafaff44be41e2bcec8e27744bdb8512ff40ccaf10bf4b655e60a6221e4e65872f1ab3234143da2db16bc766a5aacf23f6d4e632cb878a63fd99a6c39cfcffbe1df772054aa4940138a191960724d3b7dcf720f58c7a954e2193c6b9bc3e575fb7b0858a9c1420fd3603b340612df0e3146982b18561b5ccc77b0bd6a64668e69b29bcd2784dbf68c48feb38d3b6e872f26ea362209bafd107", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50500000000000000a9f55613b18252b260fcada171765727ad51fad3f7070de884fccf2bb9bada18803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0500000003a9f55613b18252b260fcada171765727ad51fad3f7070de884fccf2bb9bada1808000000000000000a00000000000000e819ce5ae27b95126df7bc7a694e141bcbb464944378ad2ff4a92e1bfde0b1ac000efad5feffffff01835934468c0352143e43232a03a62907df27686a4447abe533c36a2545660047751fcff5bd1d6cb92a05704a6923d341bdf3bf146abd8e185c42e6d027853bcc9d3bba057474f03b47f08f8ba9896238f70646246022fad723372d3d4362f808" + ], + "bytes": [ + "d412d83efaeb58ef41b29aafeaaf88b05a22f7ec9521172b2025e61fe08708d68baacb7a069694d2697c233c2e14b74d7f616ff301b2dc66be35919f4fcf092a559a00c8" + ], + "take_vector": "commit_early" + } + ], + "outcome": "refuse", + "reason": "commit_early", + "at": [ + "part", + 0 + ] + }, + { + "name": "root_not_extending", + "about": "chunk 8 of capture binding's root_not_extending take, against its closing commitment: commitment 4 does not extend commitment 3 (§5.4 c)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca809fd50000000000c0e1e4000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00ceee1afc0f8283bc00cd87988984eb676e2c9876ce1357a454f5861785eb380a0000000000000003bc67f718aee2cab81c66393a7cc95d7125c5906d984192932804673c215ee80800000000000000010000000000000000000000000000000000000008000000000000008091db2a01000000c0d3ea2a0100000058000000000000001bb44a6459317ce1dc3732ffba55599e1f72262332f786ee94c17a67a65bbfa4022e96911ee500f8df86ff42eeb86ef29157e7347ee3725033c4e21320329a5ab91c4e56ef7c7b82abb35e955aa4e289feb18914ed8e73cd7380402408d0e73fabd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd54af402e74188f203149ec67d1d7600a1c14312be104e75e894cf32c52cacf7ec9976bf3413c083703fb558a6d08e2194df4e509bf958083506f252879cc9902", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e60000000000000000020000000000000062107325f83a911f562e08db357f037b240b2178b7cef34376e6c32e8fab7890000efad5feffffff0041a2aec82d4b5910630772da3606443fba0e7504a698106741d73bbc9e5b75c3b68b519b8d4f52198f7d3af7bfb21463633072eba4e4c58c7e8fefda59eb2209", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5020000000000000010283995fbd72c01aacce1a5d530631f028c3601317a0fea47133b9e6b4f764b602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e020000000210283995fbd72c01aacce1a5d530631f028c3601317a0fea47133b9e6b4f764b02000000000000000400000000000000680af6ee03694a18489c437faffc49efb8356c596fce13454592171c9c42531c000efad5feffffff01e0e926ed4d9bb95ffaa51d67d89fe2374195057bb6862842e85022f3e1a0be9a6c369dce870cfd52515e4feb2481e2a5fbfdeadba7277ed43db3e3798f51f4f92516e3c680ad159a7662350b248a34a98ac84ae25dc722dfba5ae15d51d98800", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f503000000000000003c3f9085e73d4a95b15bc8babee451264b8d11bf5561c9cd5e4bafd7140bdbcde0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e03000000023c3f9085e73d4a95b15bc8babee451264b8d11bf5561c9cd5e4bafd7140bdbcd040000000000000006000000000000004b40180616ff87041ea38a3cae1686856e37be82273423e1638428c798d73940000efad5feffffff01ec72b6faa6565ad7b6e48c3932b8f2c9a9e0dbe65694b3cf91ab8381d005b9d3a445935a824dd37c72565c50f402a671ede20f5659e9e6a9ba21162c787892790ff54bd5a9a7b5fe6a9c33764173d86d4849431e77d754eb14d1e817e9faeb00", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000065f966db864428e571be6fcce190e73ce4fc13712a9c55de8508526f385f3e586033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000265f966db864428e571be6fcce190e73ce4fc13712a9c55de8508526f385f3e58060000000000000008000000000000001c4e56ef7c7b82abb35e955aa4e289feb18914ed8e73cd7380402408d0e73fab000efad5feffffff03ec72b6faa6565ad7b6e48c3932b8f2c9a9e0dbe65694b3cf91ab8381d005b9d3f8a258d662dcb720efe62a71ca9808a769030c6fb12cb03d52a2db142208336f5ae3a533add30da0022c5971a22c2a7c72a8b17aa52f3d7b80d88ce1d5fa5b875a4da3339bd20f91af17283d969cebd81e4df32b8c32f1465eae5e763ca11fd3d216ee6259b71379f407b65ad26d44694ae3d77e3840faa1c07e04fad12ced0d", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50500000000000000e36b90d11a1ad0d423822bbf4c3644e12b26d678f89f6e81da851d67a0d52e2b803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0500000003e36b90d11a1ad0d423822bbf4c3644e12b26d678f89f6e81da851d67a0d52e2b08000000000000000a0000000000000003bc67f718aee2cab81c66393a7cc95d7125c5906d984192932804673c215ee8000efad5feffffff01b65dedbc19634c3de955db2c71a55b71b933dbd0ee2ec30daa2c394a4f076eb91aba7fd78f62b1c0d40fac62525b50253b4fa0d7ba4ed5cd00cb45e15b666101c6793a8209b97fb0d68db45fe0e613b859ca76989575b57ea9af68958d673a0c" + ], + "bytes": [ + "18aefd1f0dca5d74dce9331cd1d045517d34e68f4bf8613134c54047b8bfdbdc826ff0c378f7a6548f8dd78d0c2763d03dca688651b5e69d1632a2cf6c296b9a43e1b5d4a75902134243353873ad89e12e19dcba599be386" + ], + "take_vector": "root_not_extending" + } + ], + "outcome": "refuse", + "reason": "root_not_extending", + "at": [ + "commit", + 0, + 4 + ] + }, + { + "name": "clock_unstable", + "about": "chunk 8 of capture binding's clock_unstable take, whose commitment 3 states an offset 600 ms off (§5.4 g)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca809fd50000000000c0e1e4000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e540f0e056a865eb98c256d8c120c76b3cc8c60b935113976e5810863a678a9600a00000000000000680ecb79167911eac4bac73daba8e9d77cf1a34d4dc5e47b28bfa28284ceb3d30800000000000000010000000000000000000000000000000000000008000000000000008091db2a01000000c0d3ea2a0100000058000000000000006fdfe91ff460439db4fc4ad649995b2eb66eafcee3f0aaa3f0c9b57eb5a4272f02dc1f78fb7b04883ada4a06d525be804dc54929a6fac188376cf64a0db29765ac575f7f4285f4c1f27c5363595b93e5d82d35e3fcf1ca13b104a6397c6cd7e086d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bde19ddf3fe239396d66c81b22faaf203fbba93f7b86179e538331880622785252059cbe2f8796f3d21c2caa7105ef13847e5e2aff2a050cf12de3b7ae070d5209", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6000000000000000002000000000000008383728a9c2e05a6e87b3c3ff345326f7dfa81cab064ddd99c9c527ec6620a16000efad5feffffff006aa82dd32beaf1915935dedb1f78fee5d7e0e1442eba806c8d82a08e8e7d4c2e0c67dbfddf50caa2b632a791fd70993bd222b97b837c6601ed92b60e5764b103", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502000000000000000064e866ff47aaf04fb4f7cde6e63fc3aaa7149ddec4d7efac94f39b82e1df43602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e02000000020064e866ff47aaf04fb4f7cde6e63fc3aaa7149ddec4d7efac94f39b82e1df43020000000000000004000000000000002cc19adb3aa3dbed537b19ff4218bd8aece2793142d285632e93e72c903e2e5b000efad5feffffff01a85bcff771f8b81fcf137bb5cb5314675a5ea46429f97e6bd335a14e759e28419ad8a9677b44b0dbaaf6c16eb58659a0642bb69ae96558c8900695b67aa9b5a5334a5e73ebd9ae5a6dbaee3b32c173524b535a0bcc4f40ac3a74a4d7cae5040b", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000a5e072d1767b15aca877a1711afc303fd8358324ea78025a1d15cb2ab6f6ec32e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002a5e072d1767b15aca877a1711afc303fd8358324ea78025a1d15cb2ab6f6ec3204000000000000000600000000000000e7e2f1fd2238181a8f7c7eb337b87a161e0671085f41c725fc9eafc022203cf5c03503d6feffffff015da6aefb99910b9cf8f1a3ecf4d9208fd72a544d23f68dcb34314447dd7bcc1431faa819371e80c8d53a5c301aa356f5545a9f3340a303aef340c69cdd37e8d8d605d9c8dcb0f45f9f2676b00e79369f38d7fd02d81412a12d9b83edca541c00", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50400000000000000c0c5285c3b7b12718b370d09d4855b4947db994718f41756c8bf0711468412a76033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0400000002c0c5285c3b7b12718b370d09d4855b4947db994718f41756c8bf0711468412a706000000000000000800000000000000575f7f4285f4c1f27c5363595b93e5d82d35e3fcf1ca13b104a6397c6cd7e086000efad5feffffff035da6aefb99910b9cf8f1a3ecf4d9208fd72a544d23f68dcb34314447dd7bcc1412ed06b196a4c123f8c03c5fd5e8b3d96b93b0ad31e952ffd919b56aaeb5c4752cc19adb3aa3dbed537b19ff4218bd8aece2793142d285632e93e72c903e2e5b72929de5fd17788a4b603069496449642b7c41c8a68f9afe869f47215187f23bdedd9246f3d9e57f85f15605fbd5a13e4e1585999c39cac28f61e7ad56e7520a", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50500000000000000ecc4ed63fe1451cf280eec3c938a3531d1d52d19f7fdca64bbeb8fafe1f9da6a803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0500000003ecc4ed63fe1451cf280eec3c938a3531d1d52d19f7fdca64bbeb8fafe1f9da6a08000000000000000a00000000000000680ecb79167911eac4bac73daba8e9d77cf1a34d4dc5e47b28bfa28284ceb3d3000efad5feffffff0102f48c9bb7a4c23c39b177adf1c4b75901dac76921736ff4437840bbce6666e36208fef1a513f4bfca70be894168c7d8200f5503de603dbc4614ec87e7e5ddae97451b9aa5529df546af6e6da7e158626b79dd03f7b0c597df247bf229071c09" + ], + "bytes": [ + "26438f9f81558dd4cad82e91265aa09e81e732d71335076c458e6323fb602573839e5ca56d963c8fb568bcb796be05f68121d4e6aaa60796e6d8d5be32a31d170fabf839a3e54718bf29c3d8fe00f73df1564e1f991c0198" + ], + "take_vector": "clock_unstable" + } + ], + "outcome": "refuse", + "reason": "clock_unstable", + "at": [ + "commit", + 0, + 3 + ] + }, + { + "name": "capture_discontinuous", + "about": "chunks 4 and 5 of capture binding's capture_discontinuous take, with 200 ms between them (§5.4 h)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000001bb7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c692b3d202f41a1e7eda539e71ec85d2cdadd0e4ad01edfb69eb89117f70a5e0a00000000000000c0014ed864f4034e46b8b1d509eac28ca0c064120b32f087e40b55bf805715eb04000000000000000200000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a01000000440000000000000066389f896b5f29639ff3ebd0a99d21fa437ee86709d34b5e4958d071193d1d88050000000000000000d8b02a01000000000dbd2a010000006900000000000000e5424e4b68c7e94e65be59a435c8e1fac93c264fe34daaecd67f9a487163615503847cad27998885c7298247ac06aba82f55226967840a44cad4c7e9c5bd06e44d5667ad1e0c33254228105f1e657b385779c264fa6ba82f01b87f63ac8f235c220edc94ec749e071da13d89acba5e2d5954e6427c30878f5b715481bf2f1a36c6d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd00e6efb876b9550d70f315d2dd75ba2921838e78a5ca8be7ee2d756d6c5fbc157fdc645e56534885d74878386c9af7f16a9bf2bde5c3611ff139339c0911ae0b", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6000000000000000002000000000000003c25b060ca975b2d8d383fbc1d7e568210250c4fed35522a25c143051bf5f6f4000efad5feffffff006f9ba2255780b90f0b96525e7082ab5a68b5517afadbfc87bd7e3b203077801bb185c1db56dca2d9b9856e177912abf77a196dc56776c904135d7102c93a470a", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5020000000000000067d86cce8583bd5b516ea9708d7cde33ed4265ac119904efe97da57a5d4a2d01602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e020000000267d86cce8583bd5b516ea9708d7cde33ed4265ac119904efe97da57a5d4a2d01020000000000000004000000000000005667ad1e0c33254228105f1e657b385779c264fa6ba82f01b87f63ac8f235c22000efad5feffffff01a2f24d87e124004685912c569c2597e1d51cc6b13705a24ddb2c99e3b492d70e98a95596f091b1cac14e9ad2736155e708304e8ddf5f1f123cb8d174018eac3076622160dbf5ae19a25f911ed0d22455452a39a28b326d0222062845611bff0e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f503000000000000002810c8775c7556d28d01a11748ebd8b5636c1a576f44d6a04c099cc5721a009fe0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e03000000022810c8775c7556d28d01a11748ebd8b5636c1a576f44d6a04c099cc5721a009f0400000000000000060000000000000042267f855938c1aa995c78fc6bf621a58d57bd2300f95a80615c2d9c2daaf886000efad5feffffff01da62dd637e4ec62f7df5918d5b87256a8e055c7ebe2149bcf3a42a20b08175378265fc1e500e776459c80bde430749d8dcea5c2a12571b1911183b698046ad04689f79c93b1fb3ea33d1c57bc0b52d04d4d8411382dc4ea1f88307926b023b03", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50400000000000000aedb1963fa438980de25f3c08dd25a025be1c17ffb9d80e15ffeb38f739c2c2f6033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0400000002aedb1963fa438980de25f3c08dd25a025be1c17ffb9d80e15ffeb38f739c2c2f0600000000000000080000000000000028992463ae5083ef631dfec8d69a172fc04e9c44174b71cc4f8f5af9b3a000c5000efad5feffffff03da62dd637e4ec62f7df5918d5b87256a8e055c7ebe2149bcf3a42a20b0817537847cad27998885c7298247ac06aba82f55226967840a44cad4c7e9c5bd06e44d5667ad1e0c33254228105f1e657b385779c264fa6ba82f01b87f63ac8f235c2240e5d2e8cb392dc4c74faa050480546db612caa5317a3c84f2e40bba1c7f809ae7ff3c06b4f681853ca475a39a8fd66dcc2872401391d01736d9a8c940be100e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000000d650426e39b8e5f0d4a8a03d1ea58a59e8ae3302ba8c3587af8138379d2315b803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000030d650426e39b8e5f0d4a8a03d1ea58a59e8ae3302ba8c3587af8138379d2315b08000000000000000a00000000000000c0014ed864f4034e46b8b1d509eac28ca0c064120b32f087e40b55bf805715eb000efad5feffffff010edc94ec749e071da13d89acba5e2d5954e6427c30878f5b715481bf2f1a36c671bb80b2d43b838bfd08bbb9f479217e6b33ae790115a23a61826a990030f58db34f9674f0b901f9b11aabb07b7c978b5fcaa9a3351aa0764a74424a0d6d900a" + ], + "bytes": [ + "86c0e3f5873fd38e5d6ff16aae9d5927d6e200fb0220228039650153256675d3c059de360f7ceb13e5415fc3c84c8dbcc2c8314b2d9e07d076399d392e7b171f6670173a", + "db1477201f1670e0a4e4dd1e3c0357fc027fa4fb78c398a2618c2abf8125478e37b4a2f90b6362efb4d82037bc184ce78a9fb2cd7c348342763ea78fbe286813173826273cb0e3b1eb190a04521bb65864666d3d74ec7eaee1d1779afb9d2e0881d50319a7bb03b28e" + ], + "take_vector": "capture_discontinuous" + } + ], + "outcome": "refuse", + "reason": "capture_discontinuous", + "at": [ + "part", + 0 + ] + }, + { + "name": "chunk_too_long", + "about": "chunk 3 of capture binding's chunk_too_long take, 2.5 s long (§5.4 h)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca4054890000000000e079af000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03ee8c0d527f28b421eb5e8b236ac1910f5b71c2883272a8090a5819227a3e3b70e090000000000000021b08ff801f8a3269af66cd8f7ad1dfcb61dca047441e26d8217edb3043b912903000000000000000100000000000000000000000000000000000000030000000000000040468f2a01000000e06bb52a010000005f00000000000000bf4acf64257ed99c49e6cd560e5e634f17ad0041e9a957fd937d7428e58bcefb04a124c18972a4771f11e85bab33f48631fe6b33e927e12570e127d6cb9be52f03341c06bfcafb77745afbdf9a29464ecfe3847aa38b09067f062153c4b076845e31a659b8c39844607ae38ba5cbfb03fb990fff44315e7df27fb6dfc3ad0e1ec1fe7628db3460e380829ee765ef3d324948e6cc2f77e027d809f1f6e49a383f62d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bdd6c10f68948e83016d26a183cf1de9cb76c094d99753fec313156a96bb07f230e470e190fc51647cf228faf6cd38946b18565216fabad093d1453cb074f91c09", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000341c06bfcafb77745afbdf9a29464ecfe3847aa38b09067f062153c4b076845e000efad5feffffff00810f10ead7733885359c151d8cb78948dcad9b22e39301ba24e08d727e0c7642dbd682a3f04b2ab843284d45dfe7b742df0a0d2bfa94a846b7199b8b55099f09", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000f7ee4c1d75c34a02aa61477a6111769a37e0b35f660e3150bd79a60d935796ab602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002f7ee4c1d75c34a02aa61477a6111769a37e0b35f660e3150bd79a60d935796ab0200000000000000030000000000000028399a831159c997df83c1c9093216580ea54ae60d9f60e7be8f91329c6cda45000efad5feffffff01a124c18972a4771f11e85bab33f48631fe6b33e927e12570e127d6cb9be52f03ead9b2475b1f7bf3f775dcdc447b2168381e2328fde482ed4015cff99980429dfb7e76ffbcd2060651a3ea12c6a59e0762528e0f4c33e6c654423bdf16c44f0e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f503000000000000001e3c60395b8b63a363fb17c9b62649ae1f418f4eebd6805fc350bc7b2e185f55e0aebb0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e03000000021e3c60395b8b63a363fb17c9b62649ae1f418f4eebd6805fc350bc7b2e185f5503000000000000000400000000000000388d74dad7f805b32e77aca18e5158c02b28e12194078420476d09d9d81c4beb000efad5feffffff03a124c18972a4771f11e85bab33f48631fe6b33e927e12570e127d6cb9be52f03da218be93d814e3a3ed7f5039ba16bb9425825fc965416ec40e1615deef771ed341c06bfcafb77745afbdf9a29464ecfe3847aa38b09067f062153c4b076845e2712fa477bf5d0cd7e14f03093a202cfb019615c9f02ed3eecdb1a176a63f664454460955770814ee6f516f9b0b993cc36cebd80b6d2dd42900c1c3787397101", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50400000000000000d5b83198f7f7388a88e55e4efe72016b868f9fec41dc4e21cccf99f699692bfd6033da0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0400000002d5b83198f7f7388a88e55e4efe72016b868f9fec41dc4e21cccf99f699692bfd0400000000000000060000000000000075ee7ae177ef83fd778487b9f5ec906b8e1b4ffc46d91cb32e080909c48f2cbd000efad5feffffff0195db638adeab9662c93842bd4cd8338ea17df7e3b98e8d686547ff5087726489c416a53498301de3b498e949152e17d2af59475c9c048b7371b661b81fc61d9cca99377a8dd9d3e6a4d907a513f001c6616438ddc404089e76935c469b8b160d", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50500000000000000d1a2b628512933b76ac973140d0bee12f2e715355bde1297e6d762fc47285535803efa0000000000000cfe0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0500000003d1a2b628512933b76ac973140d0bee12f2e715355bde1297e6d762fc472855350600000000000000090000000000000021b08ff801f8a3269af66cd8f7ad1dfcb61dca047441e26d8217edb3043b9129000efad5feffffff0495db638adeab9662c93842bd4cd8338ea17df7e3b98e8d686547ff508772648980ea0bb3682958e71f804803c6bef9fdb020c42a9438df9ce2ddcdea0476415d388d74dad7f805b32e77aca18e5158c02b28e12194078420476d09d9d81c4bebfe7628db3460e380829ee765ef3d324948e6cc2f77e027d809f1f6e49a383f62c334710740626b59e30c5e63e1dcb9540e680e1271e10a8d6511b9bc260b2ab3b86f29ff61edbf800ca56bb4d400a9cabc0c349cb0a6398930203100b90e2a02" + ], + "bytes": [ + "7ff2198541ceb3cbdc34a1e69fa13ca6507907d4f5c0cd3fc1c6fda10f15c91895af384253c63f1ae45a5ceed341971ae744eb20e250f43de3da5b03c47ca71069e4a7b8fbd3663d4cacc1006c44b74d205ffa9005c4d913ce8072d78b7dfb" + ], + "take_vector": "chunk_too_long" + } + ], + "outcome": "refuse", + "reason": "chunk_too_long", + "at": [ + "part", + 0 + ] + }, + { + "name": "commit_chain_broken", + "about": "chunk 7 of capture binding's commit_chain_broken take, whose commitment 3 does not name commitment 2 (§5.4 c)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca405dc60000000000809fd5000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e3319b480485c012ad32f93873f76060a800800b70bcd5104ce6992d315b489a60a00000000000000ce4af30172ca527296081b40b388cd6c25cf9e9bcfdc3beca54582d56ef21d0a070000000000000001000000000000000000000000000000000000000700000000000000404fcc2a010000008091db2a010000003300000000000000a6865ddae3481eaebec44bd2ca99c76df7f25a1fc4866c50189e9d642142a60904a097ed772127185ccac7e8c10fd5fe5fe2bd906d29cd0b2652075755de0ebc614f20fb3ecb6cd8285e371318bd55dbf0e921a9905a0989dabe2a2d08cb4a8d63cbef9a3dd7b7e5325ed21b11986dd7bab9f6649542a1bb29699bf5f284f30c68dbfc2812b96e08ff5bd60fcba52a06ee2a96e59d592bad42fbf0b2a8828b8c07d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bdde49b3823b7c5e53057baed1e1ecadfce20c091bcba703da22ba8453b5cb4842a825b80c71fe3987d10c168b5afdfa0895a3d31196012a0b74b5d5db215dfc0b", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000ae3948ec0cc5289d60170553942484526e3ad12f8ff7b3178dd5e1d04bc3e254000efad5feffffff0022d8869ca8814f29649ea5924beea91627130173fc11fd75358ea7d2edb032859031dbf8868b62844707f8711bc557cd7834a5069b90b35d35156f9215763408", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5020000000000000058eb37319b2fe3d4041ffca164f61ec1cebe7831da8d99ac32dfc2d36fbf6769602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e020000000258eb37319b2fe3d4041ffca164f61ec1cebe7831da8d99ac32dfc2d36fbf676902000000000000000400000000000000cbef9a3dd7b7e5325ed21b11986dd7bab9f6649542a1bb29699bf5f284f30c68000efad5feffffff01715b7cceb530573ae8be0374c04247810362ae35d15399fa291903b84b8d74c630d1e4313b88eaa1173929a85b5a599d2b553a5a0803984779498c3d9cd5b9e6469f6cd076d608f7dd5d88bbd56e95abc0c12b0fee8c8b1e0332587c9d6b3e0a", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5030000000000000028c50cdebda9c5da6025e0660e1feed1e3e83a1ade07f6c3ec44b6d77c4cc53ce0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e03000000020000000000000000000000000000000000000000000000000000000000000000040000000000000006000000000000008ee9ada81410186d4aa5ccece8ea9e03edff4b09ad5202899291fe74da3649b8000efad5feffffff014f20fb3ecb6cd8285e371318bd55dbf0e921a9905a0989dabe2a2d08cb4a8d63e1d08bc6c6869acd8f744640041cd1095b926be441fa29bd90773218b67b21b99e389a2a82a04208630c2aa2c3590cf347e45c832fa698605aa5cb43679f6309", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50400000000000000c80343aa3df8b25829b4430e96b4d89c1b165a33739ab832c147596241952ce16033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0400000002c80343aa3df8b25829b4430e96b4d89c1b165a33739ab832c147596241952ce106000000000000000800000000000000daa8a3be384e16820c13d7b6269615dc09df80d3cd77a90b841ce60d20d347d8000efad5feffffff034f20fb3ecb6cd8285e371318bd55dbf0e921a9905a0989dabe2a2d08cb4a8d63471b57f13bb6404ae0eb69679b94cc99d840488ae2fb922080a32b18cc4a34e7cbef9a3dd7b7e5325ed21b11986dd7bab9f6649542a1bb29699bf5f284f30c68366cf94afef4f6316f78a40ab2fec564cd4fdf786efec37f9380102ac928d57697c8bcbc54a2c8fc9baeada888650bb99ff4c024388008ac6e1d89e2d8de6c0c", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5050000000000000081eaddbf74061f469ceef4d45e687799ed1ca1fdf3f50520eab79ebc8aea023e803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e050000000381eaddbf74061f469ceef4d45e687799ed1ca1fdf3f50520eab79ebc8aea023e08000000000000000a00000000000000ce4af30172ca527296081b40b388cd6c25cf9e9bcfdc3beca54582d56ef21d0a000efad5feffffff01dbfc2812b96e08ff5bd60fcba52a06ee2a96e59d592bad42fbf0b2a8828b8c071e0eda41f72da3a6fbbab1140c0c33a874dc461c660c42ecf749f926bc810c5bfa266eeda01141c37571ac4af49c63a18c8d107c23ab6e03ca4fcd3fbe5c3607" + ], + "bytes": [ + "7a10afb4e4df933f677a58f7e6d276125f3d0b3cfef77d47fb957bb8ee4e6792b9c3fcdf68ed3dbeeca7758cfc6c3c98d1b2af" + ], + "take_vector": "commit_chain_broken" + } + ], + "outcome": "refuse", + "reason": "commit_chain_broken", + "at": [ + "commit", + 0, + 3 + ] + }, + { + "name": "clip_truncated", + "about": "a clip record one byte short (§5.1)", + "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2504000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640442cf2390e19203569ebbfbb9a4ffedaa69546c681dfb5d0d1aff3c9d1f9437ddd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd9bd014d7d799ebd4afb20dfe25eaaebda7686b6076aeba4008aaa4366b767e3d76a598e6db416cd0e138a67802e0aa9510fe96583753556ba861f71fc4c08f", + "parts": [ + { + "device": "e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5", + "commits": [ + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac003", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd07", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b6205", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc005", + "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d" + ], + "bytes": [ + "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43" + ], + "take_vector": "lesson" + } + ], + "outcome": "refuse", + "reason": "truncated", + "at": [ + "clip" + ] + } + ] +} diff --git a/wai/wai-rs/src/live_record/corpus.rs b/wai/wai-rs/src/live_record/corpus.rs index df5eef5d0..6c7261a63 100644 --- a/wai/wai-rs/src/live_record/corpus.rs +++ b/wai/wai-rs/src/live_record/corpus.rs @@ -848,6 +848,7 @@ fn clip_vectors() -> Vec { let (mut c, mut i) = one(&lesson, 0, 3, 3, lv); c.parts[0].chunks[1] = Chunk { index: 4, ..t2.chunks[4] }; i[0].bytes[1] = Some(t2.bytes[4].clone()); + i[0].take_vector = None; out.push(cv( "spliced_two_takes", "chunks 3 to 5 of the performer's take with chunk 4 replaced by the accompanist's chunk 4, its descriptor and its bytes: the leaves are not the head's (§5.4 f)", @@ -861,6 +862,7 @@ fn clip_vectors() -> Vec { out.push(cv("reordered_chunk", "chunks 3 to 5 with the bytes of chunks 3 and 4 each given at the other's place (§5.4 k)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("chunk", take::Reason::ChunkReordered.into()))); let (c, mut i) = one(&lesson, 0, 4, 1, lv); i[0].bytes[0].as_mut().expect("bytes")[7] ^= 0x01; + i[0].take_vector = None; out.push(cv("altered_chunk", "chunk 4 with one byte of its bytes changed (§5.4 k)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("chunk", take::Reason::ChunkAltered.into()))); let (c, mut i) = one(&lesson, 0, 4, 1, lv); i[0].bytes.push(Some(t1.bytes[5].clone())); @@ -887,6 +889,7 @@ fn clip_vectors() -> Vec { let (c, mut i) = one(&lesson, 0, 4, 1, lv); let bad = Event::sign(&key(DEVICE), lesson.room, 99, [0; 32], 9 * S, None, events::kind::TAKE_COMMIT, vec![0; 10]).to_bytes(); i[0].commits.insert(2, bad); + i[0].take_vector = None; out.push(cv("commit_malformed", "chunk 4 with a take_commit of the device whose ten-byte payload does not read, among the commitments given (§5.4 b)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("commit", take::Reason::CommitMalformed.into()))); let (mut c, i) = one(&lesson, 0, 4, 1, lv); c.parts[0].take = t2.take; diff --git a/wai/wai-rs/tests/live_record.rs b/wai/wai-rs/tests/live_record.rs index 537ff3fa7..824a41ec5 100644 --- a/wai/wai-rs/tests/live_record.rs +++ b/wai/wai-rs/tests/live_record.rs @@ -1,2 +1,128 @@ -//! `wai.live.recording` (extensions/live-recording.md): placeholder while the corpus is written. +//! `wai.live.recording` (extensions/live-recording.md): the committed corpus +//! `live-conformance/recordings/vectors.json` regenerates byte for byte from its fixed seeds, +//! every recording and clip in it gets the outcome it states, every reason the extension +//! adds appears in it, every take it says it reuses is capture binding's take byte for byte, +//! and the extension's §9 lists exactly the reasons the reference reports. #![cfg(feature = "live_record")] + +use std::collections::BTreeSet; +use std::path::PathBuf; +use wai::live_record::{corpus, Reason}; + +fn wai_dir() -> PathBuf { + PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("..") +} + +fn read(p: &str) -> String { + std::fs::read_to_string(wai_dir().join(p)).unwrap_or_else(|e| panic!("{p}: {e}")) +} + +fn committed() -> String { + read("live-conformance/recordings/vectors.json") +} + +#[test] +fn the_committed_corpus_regenerates_from_its_seeds() { + assert!(committed() == corpus::generate(), "live-conformance/recordings/vectors.json differs from `wai_live_record_vectors gen`"); +} + +#[test] +fn every_vector_gets_its_stated_outcome() { + let fails = corpus::verify(&committed()); + assert!(fails.is_empty(), "{}", fails.join("\n")); +} + +/// Every reason this extension adds is a recording's refusal, a clip's refusal or a +/// recording's verdict; the good recordings stand; the good clips §10 names are accepted, +/// the aligned one with twice the jitter as its bound. +#[test] +fn the_corpus_covers_every_reason_and_clip() { + let doc: serde_json::Value = serde_json::from_str(&committed()).unwrap(); + let recordings = doc["recordings"].as_array().unwrap(); + let clips = doc["clips"].as_array().unwrap(); + let mut seen: BTreeSet = BTreeSet::new(); + for v in recordings.iter().chain(clips) { + if let Some(r) = v["reason"].as_str() { + seen.insert(r.into()); + } + if let Some(r) = v["complete"].as_str() { + seen.insert(r.into()); + } + } + for r in Reason::ALL { + assert!(seen.contains(r.code()), "nothing in the corpus gives {r}"); + } + for name in ["lesson_session", "signed_by_director"] { + let v = recordings.iter().find(|v| v["name"] == name).unwrap_or_else(|| panic!("no recording {name}")); + assert_eq!(v["stands"], true, "{name}"); + assert_eq!(v["complete"], "holds", "{name}"); + } + for name in ["single_chunk", "byte_range", "whole_take", "first_chunk", "last_chunk", "two_takes_aligned", "live_head"] { + let v = clips.iter().find(|v| v["name"] == name).unwrap_or_else(|| panic!("no clip {name}")); + assert_eq!(v["outcome"], "accept", "{name}"); + } + let aligned = clips.iter().find(|v| v["name"] == "two_takes_aligned").unwrap(); + assert_eq!(aligned["facts"].as_array().unwrap().len(), 2); + assert_eq!(aligned["bound_us"], 1_000_000); + let missing = recordings.iter().find(|v| v["name"] == "missing_chunk").unwrap(); + assert_eq!(missing["complete"], "chunk_missing"); +} + +/// The takes the corpus says it reuses are capture binding's, byte for byte: a recording's +/// take component holds that corpus's manifest, parts, receipts and consents; and a clip's +/// part names that corpus's vector only when every commitment it gives is a record of that +/// vector's chains and every chunk it gives is one of its parts. +#[test] +fn the_reused_takes_are_capture_bindings() { + let doc: serde_json::Value = serde_json::from_str(&committed()).unwrap(); + let takes: serde_json::Value = serde_json::from_str(&read("live-conformance/takes/vectors.json")).unwrap(); + let vector = |name: &str| takes["vectors"].as_array().unwrap().iter().find(|v| v["name"] == name).unwrap_or_else(|| panic!("no take vector {name}")).clone(); + let mut reused = 0; + for v in doc["recordings"].as_array().unwrap() { + for r in v["reuses"].as_array().unwrap() { + let t = vector(r["vector"].as_str().unwrap()); + let dir = format!("takes/{}/", r["take"].as_str().unwrap()); + let files = v["files"].as_object().unwrap(); + assert_eq!(t["take"], r["take"], "{}", v["name"]); + assert_eq!(files[&format!("{dir}manifest.wtm")], t["manifest"], "{}", v["name"]); + let mut parts: Vec<(u64, &serde_json::Value)> = files + .iter() + .filter_map(|(p, b)| Some((p.strip_prefix(&format!("{dir}chunk-"))?.strip_suffix(".bin")?.parse().ok()?, b))) + .collect(); + parts.sort_by_key(|p| p.0); + let want: Vec<(u64, &serde_json::Value)> = t["parts"].as_array().unwrap().iter().map(|p| (p["index"].as_u64().unwrap(), &p["bytes"])).collect(); + assert_eq!(parts, want, "{}", v["name"]); + let of = |pre: &str| files.iter().filter(|(p, _)| p.starts_with(&format!("{dir}{pre}"))).map(|(_, b)| b.clone()).collect::>(); + assert_eq!(serde_json::Value::Array(of("receipt-")), t["receipts"], "{}", v["name"]); + assert_eq!(serde_json::Value::Array(of("consent-")), t["consents"], "{}", v["name"]); + reused += 1; + } + } + for c in doc["clips"].as_array().unwrap() { + for p in c["parts"].as_array().unwrap() { + let Some(name) = p["take_vector"].as_str() else { continue }; + let t = vector(name); + let records: BTreeSet<&str> = t["chains"].as_array().unwrap().iter().flat_map(|ch| ch.as_array().unwrap().iter().map(|r| r.as_str().unwrap())).collect(); + let parts: BTreeSet<&str> = t["parts"].as_array().unwrap().iter().map(|p| p["bytes"].as_str().unwrap()).collect(); + for r in p["commits"].as_array().unwrap() { + assert!(records.contains(r.as_str().unwrap()), "clip {}: a commitment not in {name}", c["name"]); + } + for b in p["bytes"].as_array().unwrap().iter().filter_map(|b| b.as_str()) { + assert!(parts.contains(b), "clip {}: a chunk not in {name}", c["name"]); + } + reused += 1; + } + } + assert!(reused > 0); +} + +/// §9 of the extension lists exactly the codes `Reason::ALL` has, each once, in order. +#[test] +fn the_extension_lists_the_reasons() { + let text = read("extensions/live-recording.md"); + let at = text.find("\n## 9. Reasons").expect("a §9"); + let end = text[at + 1..].find("\n## ").map_or(text.len(), |e| at + 1 + e); + let listed: Vec = text[at..end].lines().filter(|l| l.starts_with("| `")).filter_map(|l| l.split('`').nth(1).map(String::from)).collect(); + let want: Vec = Reason::ALL.iter().map(|r| r.code().to_string()).collect(); + assert_eq!(listed, want, "§9's table and Reason::ALL differ"); +} -- 2.54.0 (Apple Git-157) From 8652abc0ecc0e6e037f9e098e128e3688d59c91a Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 10:28:30 -0400 Subject: [PATCH 04/26] wai: extensions/live-recording.md, and the recordings corpus README Co-Authored-By: Claude Opus 5.5 --- wai/extensions/live-recording.md | 658 ++++++++++++++++++++++ wai/live-conformance/README.md | 9 +- wai/live-conformance/recordings/README.md | 112 ++++ wai/wai-rs/src/live_record/corpus.rs | 40 +- 4 files changed, 796 insertions(+), 23 deletions(-) create mode 100644 wai/extensions/live-recording.md create mode 100644 wai/live-conformance/recordings/README.md diff --git a/wai/extensions/live-recording.md b/wai/extensions/live-recording.md new file mode 100644 index 000000000..c4e79b29c --- /dev/null +++ b/wai/extensions/live-recording.md @@ -0,0 +1,658 @@ +# WAI Extension: Live Recording + +> Status: Draft. Registers the record `wai.live.recording`: a finished room session as one +> WAI package, and clips of it that prove what they are. The package is a directory of files +> and its listing, as a package of [packaging](packaging.md) §11 is; its components are the +> room (its descriptor, grants and key-log head, [live-rooms](live-rooms.md)), its events +> (each principal's chain whole, [live-events](live-events.md) §8.6), one component for +> each participant's take ([capture-binding](capture-binding.md)), and, optionally, the +> composite; and a signed **recording manifest** names each component by its digest, with +> the signer, the room and the session's span on the room clock. A recording verifier gives +> `complete` and `publishable` for each purpose their verdicts. A **clip** is a span of one +> take, or one window of several takes aligned on the room clock; its signed **clip record** +> carries, for each take, the descriptors of the chunks it covers and a range proof that +> they are leaves of a commitment the device made while it captured, so a verifier holding +> the clip, the take's commitments, the device's key and the room descriptor knows the +> clip's bytes are exactly those bytes of that take, unedited, without the take. The HLS and +> LL-CMAF presentation of a recording (§7) and the addressing of its chunks for a MoQ FETCH +> (§8) are mappings. No new transport and no new container. The reference implementation is +> the `live_record` module of `wai-rs` (feature `live_record`); the corpus is +> [`live-conformance/recordings/`](../live-conformance/recordings/), and its second +> implementation is `live-conformance/live_record_verify.py`. +> Keywords **MUST**, **MUST NOT**, **SHOULD**, **MAY** are RFC 2119/8174. +> +> Texts read for this revision: RFC 6962 §2.1 and RFC 9162 §2.1.1, §2.1.3 and §2.1.4 (the +> Merkle tree hash, inclusion proofs and their verification); RFC 8216 §3.3, §4.3.2.2, +> §4.3.2.5, §4.3.2.6, §4.3.3.1, §4.3.3.5 and §7; `draft-pantos-hls-rfc8216bis-22` §3.1.2, +> §4.4.3.7, §4.4.3.8, §4.4.4.5 and §4.4.4.9; and `draft-ietf-moq-transport-22` (MOQT) +> §2.4.1, §3.2, §3.2.1, §8.2, §8.7, §9.11 and §9.20.9. Both are Internet-Drafts, and a +> section number of one of them in this text is that revision's. + +## 1. Scope + +In scope: the recording package, its files and its components (§3); the recording manifest +and recording verification, with the verdicts of `complete` and `publishable` (§4); the clip +record, the range proof it carries, clip verification, and cutting a clip by chunks, by +bytes or by a window of the room clock (§5); a clip across takes, its time correspondence +and its bound (§6); the mapping of a recording onto HLS and LL-CMAF (§7); and the addressing +of a recording's chunks for a MoQ FETCH (§8). + +Out of scope: a transport; how a relay keeps, windows and serves a recording; a muxer for a +master that is not CMAF; the composition itself, which `wai.live.compose` defines +(live-compose §8, a later extension); and what a party does with a verdict. + +Relationship to the core spec: `wai.live.recording` is a **record** ([SPEC](../SPEC.md) §5): +a signed record a WAI tool emits and verifies. It names no payload format and is not +dispatchable. + +## 2. Terms + +- **Room**, **room clock**, **principal**, **event**, **chain**, **grant**, **room key**: + as in live-events §2 and live-rooms §2. +- **Take**, **device**, **master**, **chunk**, **descriptor**, **take tree**, + **commitment**, **offset**, **purpose**: as in capture-binding §2 and §4. *I* and *J* are + the room's commit interval and jitter in microseconds (capture-binding §2). +- **Session span**: the room-clock instants a recording covers, `from` to `to`, both + included. +- **Package**: the directory of files a recording is (§3). +- **Component**: a part of a package named by a kind, an `id` and a `sha256` (§3.2). +- **Head**: the commitment of a take a clip's proof is made against: one of the take's + `take_commit` events (capture-binding §5.1), its size and its root. +- **Part** (of a clip): the span of one take a clip covers (§5.1). +- **Cutter**: whoever makes a clip and signs its record. + +Integers are little-endian. A digest is SHA-256 (FIPS 180-4), 32 bytes. Ed25519 is RFC +8032's, verified strictly (SPEC §7 *Signatures*). + +## 3. The recording package + +### 3.1 Files and the listing + +A recording is a directory of these files and no other: + +``` +recording.wrm the recording manifest (§4) +room/descriptor.wrd the room descriptor +room/grant-.wrg each room grant +room/key-log.json the head of the room authority's key log +events/.wev each principal's chain +takes//manifest.wtm a take's manifest +takes//chunk-.bin each chunk of the take the package holds +takes//receipt-.wur the store's upload receipts +takes//consent-.wcn the consent records +composite/… the composite, optionally (§3.5) +LISTING +``` + +`LISTING` is the listing (SPEC §3.1) of every other file, and its SHA-256 is the **package +digest**, as a package of packaging §11 has its own. Every path is one a listing can carry. +`` and `` are a key and a take id as 64 lowercase hexadecimal digits, +`` a chunk's index as ten decimal digits, and `` a position as four decimal +digits from `0000`. + +### 3.2 Components + +A package has these components, each the files below one directory: + +| kind | component | `id` | directory | +|---|---|---|---| +| 1 | the room | `room` | `room/` | +| 2 | the events | `events` | `events/` | +| 3 | a take | the take id, 64 lowercase hexadecimal digits | `takes//` | +| 4 | the composite | `composite` | `composite/` | + +A component's **`sha256`** is the SHA-256 of the listing (SPEC §3.1) of its files, each by +its path below the component's directory. That is SPEC §7.1's component identity for a +component of several files: an `id`, of SPEC §7.1's form, and the `sha256` of its bytes, +here serialised as the listing that SPEC §3.1 gives a set of several files, as a pin in the +form `wai.prior.set` covers one. No other per-component digest is defined. + +### 3.3 The room and the events + +The room component holds `descriptor.wrd`, the room descriptor (live-rooms §3); one +`grant-.wrg` for each room grant (live-rooms §4), numbered from `0000` without a gap in +the order a room verifier is given them (live-rooms §9.1); and `key-log.json`, the head of +the room authority's key log that the room verifier is given (live-rooms §5), when the +descriptor names an origin. It holds no other file. + +The events component holds one file for each principal whose chain the recording holds, +named by the principal's key: its chain whole, its records concatenated in its stream order +(live-events §8.6). A record's length follows from its own fields (live-events §3.1), so the +file splits into records with no framing; a file that does not split into records that read +(live-events §3.3), each of that principal, is not a chain. A room verifier is given the +chains in the order of their files' paths, ascending order of the principals' keys, and that +order is the chain index by which live-rooms §9.2's merged order breaks ties. + +### 3.4 A take + +A take component's directory is `takes//`, its `id` the take id (capture-binding +§3.2). It holds `manifest.wtm`, the take manifest (capture-binding §7); one +`chunk-.bin` for each chunk of the master the package holds, the chunk's bytes; the +store's upload receipts in their order as `receipt-.wur` (capture-binding §6.2); and the +consent records as `consent-.wcn` (capture-binding §8.1). It holds no other file. + +The chunk files are the take's **parts** (capture-binding §6.1), given to the take verifier +in the order of their indexes. A chunk the store never received has no file: the package +holds what was uploaded, and the take's `complete` verdict says whether that is every +committed chunk. The master is its chunks concatenated in index order (capture-binding +§4.1). + +### 3.5 The composite + +A recording **MAY** hold the room's composite: the objects of a composed track, each with +the composition receipt `WCR1` its compositor signed for it, which `wai.live.compose` +defines (live-compose §8; the receipt's digest is SHA-256 over its bytes before its +signature). The component `composite` holds them below `composite/`, and the recording +manifest names it by its `sha256` like any other. A recording verifier of this revision +checks that digest and reads nothing in the component: verifying a composition receipt is +live-compose §8.3's, a later extension, and this extension depends on nothing of it but the +name and digest of its record. + +## 4. The recording manifest + +### 4.1 Layout + +When the session is over, the room authority or a principal with the record power (§4.3) +signs a recording manifest, `WRM1`: + +| field | size | meaning | +|---|---|---| +| `magic` | 4 | `WRM1` (ASCII) | +| `version` | 1 | 1 in this revision | +| `room` | 32 | the room id | +| `signer` | 32 | the key that signs the manifest | +| `from` | 8 | u64: the session span's first instant, room clock in microseconds | +| `to` | 8 | u64: its last instant | +| `claims` | 1 | the claims the manifest makes: bit 0 `complete` | +| `purposes` | 1 | the purposes it claims every take `publishable` for (capture-binding §2) | +| `components` | 2 + … | a u16 count, then each component: `kind` (1), the length of its `id` (1), the `id`, and its `sha256` (32) | +| `sig` | 64 | Ed25519 by `signer` | + +The **digest** of a manifest is SHA-256 over its bytes before `sig`; its **signature** is +over the 19 bytes `wai:live-recording` (ASCII) and 0x01, followed by the bytes the digest +covers. + +### 4.2 Reading and rules + +A reader reads exactly the bytes it is given, as live-events §3.3 reads a record with +`WRM1` for `WEV1` (`truncated`, `malformed`, `unknown_version`), and refuses a manifest +that breaks any of these rules as `recording_manifest_invalid`: + +- `claims` sets no bit above bit 0, and `purposes` none above bit 3; `from` is at most `to`; +- the first component is the room (kind 1, `id` `room`) and the second the events (kind 2, + `id` `events`); then come the takes, each of kind 3 with an `id` of 64 lowercase + hexadecimal digits, in strictly ascending order of `id`; then, last, at most one + composite (kind 4, `id` `composite`); and no other component. + +It then refuses one whose signature does not verify as `bad_key` or `bad_signature`. Each +`id` the rules admit is of SPEC §7.1's form, and the order makes the manifest of one +package one sequence of bytes. + +### 4.3 Who signs + +The signer is the room authority (the descriptor's `authority`, live-rooms §3.1), or the +principal of a grant the room verifier holds (live-rooms §4.3) that has the **record** +power (live-rooms §3.3), that the key log's head does not revoke (live-rooms §5), and that +covers `to`: `nbf` ≤ ⌊(`t0` + `to`) / 10^6⌋ < `exp`. The record power is the power to start +and stop a recording; sealing the session is the end of that act. A device's grant +commits to its take with `take_commit` and has no record power, so a device cannot seal +the room's recording. + +### 4.4 Verification + +A recording verifier is given a package's files by path, and an evaluation instant `at` in +seconds since 1970-01-01T00:00:00Z, which it gives each take verifier (capture-binding +§9.1). It runs these steps and stops at the first refusal, which it reports with the reason +and where: + +1. **The listing.** `LISTING` is present and is the listing of every other file: + otherwise `listing_mismatch`, at `listing`. +2. **The manifest.** `recording.wrm` is present, otherwise `recording_manifest_invalid`, + and it reads (§4.2); at `manifest`. +3. **The components.** For each component of the manifest, in its order: its directory + holds a file, otherwise `component_invalid`, and the SHA-256 of its listing is its + `sha256`, otherwise `component_digest_mismatch`; at that component. Then every file is + `LISTING`, `recording.wrm`, or a file below a component's directory: otherwise + `component_unlisted`, at `listing`. +4. **The room.** The room component holds the files of §3.3 and no other, and each file of + the events component is a chain of the principal it names (§3.3): otherwise + `component_invalid`, at that component. The room verifier (live-rooms §9) is given the + descriptor, the grants, the key-log head (or none) and the chains: a refusal is the + recording's, at `room` with the room verifier's own place. A gap is not a refusal: the + steps go on, and §4.5 says what a gap fails. The manifest's `room` is the room id: + otherwise `wrong_room`, at `manifest`. +5. **The signer** (§4.3): otherwise `recording_signer_not_permitted`, at `manifest`. +6. **The span.** Every record the room verifier accepted has its `t` within the session + span: otherwise `outside_span`, at that record, with the room verifier's place for it. +7. **The takes.** For each take component, in the manifest's order: it holds the files of + §3.4 and no other, otherwise `component_invalid`; the take verifier (capture-binding §9) + is given the room as in step 4, the take manifest, the parts, the receipts, the + consents and `at`, and its refusal is the recording's, at `take` with the component's + index and the take verifier's own place; and the take id it reads is the component's + `id`, otherwise `component_invalid`, at that component. +8. **The verdicts** (§4.5). + +### 4.5 Verdicts and outcome + +**`complete`** holds when the recording holds every take of the session, each whole, and +every event the room verifier was offered: the first reason below that applies. + +1. `delivery_gap`: the room verifier holds a gap (live-rooms §9.4). +2. `take_omitted`: a take of the session has no component. A **take of the session** is + the take id (capture-binding §3.2) that a `record_start` the room verifier accepted + (live-events §4.9) names for its target, where the room holds a `take_commit` of that + target whose payload reads (capture-binding §5.2) and names that take: a start its + device answered. +3. For each take component, in the manifest's order: its `single-take` verdict fails with + `delivery_gap`, `commit_chain_broken` or `take_not_closed`, so its commitments are not + one unbroken chain from the opening commitment to the closing one: that reason; or its + `complete` verdict fails: that reason (capture-binding §9.4). + +**`publishable`** for purpose *p* holds when every take is `publishable` for *p*: for the +first take component, in the manifest's order, whose `publishable` for *p* fails, that +reason. + +A recording verification gives one outcome: + +- **refuse**: the reason and where (§4.4); +- **verdicts**: the package digest; the manifest's digest; the room id; the verdicts of + `complete` and of `publishable` for each of the four purposes; each take's id and verdicts + (capture-binding §9.5); and whether the manifest **stands**: every claim it makes, and + `publishable` for every purpose it names, holds. + +## 5. Clips + +### 5.1 The clip record + +A clip is a span of one take, or one window of several takes aligned on the room clock +(§6). A cutter signs a clip record, `WCL1`: + +| field | size | meaning | +|---|---|---| +| `magic` | 4 | `WCL1` (ASCII) | +| `version` | 1 | 1 in this revision | +| `room` | 32 | the room id | +| `window_in` | 8 | u64: the first room-clock instant the clip presents, in microseconds | +| `window_out` | 8 | u64: the instant it presents up to (excluded) | +| `parts` | 1 + … | a u8 count *k*, then each part as below | +| `signer` | 32 | the cutter's key | +| `sig` | 64 | Ed25519 by `signer` | + +Each part: + +| field | size | meaning | +|---|---|---| +| `device` | 32 | the device's key | +| `take` | 32 | the take id | +| `head` | 32 | the digest of the `take_commit` event whose commitment the proof is against | +| `size` | 8 | u64: that commitment's size | +| `root` | 32 | that commitment's root | +| `first` | 8 | u64: the index of the first chunk the part covers | +| `count` | 4 | u32: the number of chunks it covers | +| `trim_in` | 8 | u64: the bytes of the first chunk before the clip's bytes | +| `trim_out` | 8 | u64: the bytes of the last chunk after them | +| `chunks` | 64 × `count` | the descriptor of each chunk it covers (capture-binding §4.1), in index order | +| `proof_len` | 1 | the number of nodes in `proof` | +| `proof` | 32 × `proof_len` | the range proof (§5.3) | + +The **digest** of a clip record is SHA-256 over its bytes before `sig`; its **signature** +is over the 14 bytes `wai:live-clip` (ASCII) and 0x01, followed by the bytes the digest +covers. A part's bytes are its chunks' bytes concatenated, less `trim_in` bytes at the +start and `trim_out` at the end; the clip's bytes are its parts'. + +### 5.2 Reading and rules + +A reader reads exactly the bytes it is given, as live-events §3.3 reads a record with +`WCL1` for `WEV1` (`truncated`, `malformed`, `unknown_version`), and refuses a record that +breaks any of these rules as `clip_record_invalid`: + +- *k* is 1 to 16, and no take is named by two parts; +- in each part, `count` is at least 1; each chunk's `index` is `first` plus its position, + and each `len` is at least 1; `proof_len` is at most 128; `trim_in` is below the first + chunk's `len`, and `trim_out` below the last chunk's; and, with one chunk, `trim_in` + + `trim_out` is below its `len`; +- a part with a trim that is not 0 is the clip's only part; +- `window_in` is below `window_out`. + +It then refuses one whose signature does not verify as `bad_key` or `bad_signature`. + +**Partial chunks.** A clip whose range begins or ends inside a chunk carries that whole +chunk and states the bytes it leaves out, as `trim_in` and `trim_out`. A leaf commits to a +chunk's digest over all its bytes (capture-binding §4.2), so a part of a chunk can never be +proved on its own: with the whole chunk the proof stays exact, and the trims say which of +the proved bytes the clip presents. Refusing a range that does not fall on chunk boundaries +would make a byte range of the master, or a range request, unprovable unless it happened to +land on them. A trim is in bytes, which have no committed time within a chunk, so a trimmed +clip's window is its chunks' span (§5.4 step 3j), and trims are a single take's: an aligned +clip (§6) presents a window of time, not of bytes. A cutter that must not disclose the bytes +outside the range cuts on chunk boundaries, since the trimmed bytes travel with the clip. + +### 5.3 The range proof + +A part proves its chunks by one proof over the run of leaves they are, against the head. +With `D[n]` the take tree's leaves (capture-binding §4.2) under the head's size *n*, +`MTH` RFC 9162 §2.1.1's Merkle tree hash with the take tree's node, and *k* the largest +power of two below *n*, the proof of leaves *a* to *b* − 1 (0 ≤ *a* < *b* ≤ *n*) is: + +``` +RANGE(a, b, D[n]) = {} a = 0 and b = n + = RANGE(a, b, D[0:k]) : MTH(D[k:n]) b ≤ k + = RANGE(a − k, b − k, D[k:n]) : MTH(D[0:k]) a ≥ k + = RANGE(a, k, D[0:k]) : RANGE(0, b − k, D[k:n]) otherwise +``` + +where `:` appends. A run of one leaf is never split, so `RANGE(i, i + 1, D[n])` is RFC 6962 +§2.1.1's `PATH(i, D[n])`, the inclusion proof RFC 9162 §2.1.3.1 generates, node for node. +A proof of a whole tree is empty. A proof has at most 2⌈log₂ *n*⌉ nodes, at most 128 for any +size a commitment can state, and every node of it is a node of the inclusion proof of a leaf +in the run. + +A verifier given the leaves *L* of the run (*b* − *a* of them), the size *n* and the +nodes, used in order from the first, computes `ROOT(a, b, n, L)`: + +``` +ROOT(a, b, n, L) = MTH(L) a = 0 and b = n + = node(ROOT(a, b, k, L), next) b ≤ k + = node(next, ROOT(a − k, b − k, n − k, L)) a ≥ k + = node(ROOT(a, k, k, L[0 : k − a]), + ROOT(0, b − k, n − k, L[k − a :])) otherwise +``` + +where `next` is the next unused node, and `node` is the take tree's (staged-measurement +Appendix C). The proof verifies when no `next` is asked for past the last node, every node +is used, and `ROOT` is the head's root. For a run of one leaf this is RFC 9162 §2.1.3.2's +check of an inclusion proof, and gives its answer. + +The size is the head's, which the device signed, never the cutter's: as for an inclusion +proof, the same nodes can reach one root under two sizes (staged-measurement Appendix C), +so a size the cutter chose would let it choose the leaves' positions. Under the head's size +the recursion fixes which subtree each node stands for; the leaf and node domains differ, so +no node passes for a leaf; and each leaf binds its chunk's index, capture range, length and +digest (capture-binding §4.2). A proof that verifies therefore shows, short of a collision of +SHA-256, that the run's descriptors are the head's leaves *a* to *b* − 1. + +### 5.4 Verification + +A clip verifier is given the room descriptor; the clip record; and, for each part in order, +the device's key, the take's commitments (its `take_commit` events, from its opening one to +the head, in the order of the take's chain), and the bytes of each chunk the part covers, +each present or absent. It is not given the take manifest, any other chunk, the upload, or +the room's other events. It runs these steps and stops at the first refusal, which it +reports with the reason and where: + +1. **The descriptor** reads (live-rooms §3.4): its refusal, at `descriptor`. The room id is + its digest, and *I* and *J* are its recording policy's (live-rooms §3.7). +2. **The record** reads (§5.2), at `clip`. Its `room` is the room id, otherwise + `wrong_room`; and the verifier is given one input for each part, otherwise + `clip_record_invalid`; at `clip`. +3. **Each part**, in order, steps (a) to (k): + - **(a)** The key given is the part's `device`: otherwise `clip_device_mismatch`, at the + part. + - **(b)** Each commitment given reads (live-events §3.3), names the room + (`wrong_room`), is the device's (`clip_device_mismatch`), verifies (`bad_key`, + `bad_signature`), is a `take_commit` whose payload reads (capture-binding §5.2, + `commit_malformed`), and names the part's `take` (`clip_take_mismatch`); at that + commitment. + - **(c)** The commitments are a chain (capture-binding §5.3): the first is an opening one, + and each later one has the `prev`, `first` and `n` that follow its predecessor, which + is not a closing one, and is itself not an opening one. A later one whose `n` is more + than one above its predecessor's is `delivery_gap`; any other break is + `commit_chain_broken`. Then each extends its predecessor (capture-binding §4.3), + otherwise `root_not_extending`. At the first commitment that fails, the chain checked + over all of them before any extension, as capture-binding §9.4 orders them. None given + is `commit_chain_broken` at the part. + - **(d)** The last commitment given is the head: its digest is `head`, and its size and + root are the part's `size` and `root`. Otherwise `tree_head_not_committed`, at the + part: a tree the take never committed proves nothing of it. + - **(e)** `first` + `count` is at most `size`: otherwise `clip_out_of_range`, at the part. + - **(f)** The proof (§5.3) shows the part's descriptors are the head's leaves `first` + onward, under `size`: otherwise `clip_not_included`, at the part. + - **(g)** Every commitment's offset is within *J* of the opening one's, *o* (capture-binding + §9.4 `single-take` 6): otherwise `clock_unstable`, at that commitment. + - **(h)** The chunks tile their capture, each `start` below its `end` and each `start` the + previous chunk's `end` (`capture_discontinuous`), and none spans more than *I* + (`chunk_too_long`) (`single-take` 7, 8); at the part. + - **(i)** With each chunk mapped by *o* (capture-binding §9.3) and *t* the room-clock + instant of the commitment that adds it (the one whose `first` ≤ `index` < `size`): no + chunk has *t* + *J* below its mapped end (`commit_early`), and then none has *t* above + its mapped end plus *I* plus *J* (`commit_late`) (`single-take` 9, 10); at the part. + - **(j)** The window: with the part's **span** the first chunk's mapped `start` to the last + one's mapped `end`, the span covers the window, the first chunk ends after + `window_in` and the last begins before `window_out`; and a trimmed part's window is + its span. Otherwise `clip_window_invalid`, at the part. + - **(k)** The bytes: for each chunk in order, its bytes are given (`clip_chunk_missing`) + and are that chunk's, their digest and length its descriptor's; bytes that are + another covered chunk's are `chunk_reordered`, any others `chunk_altered`; at that + chunk. Bytes given past the last chunk are `chunk_extra`, at the chunk past it. + +Steps (b) to (k) are `single-take` over the span: the rules of capture-binding §9.4 +`single-take` that hold of the chunks the clip covers, checked from the commitments up to the +head. A clip does not need rule 4 (closed), since it may be cut while the take runs (§8); +nor rule 5 (the manifest), since inclusion binds its chunks to the head instead; nor rule +9's clauses on the start and the stop, whose events it is not given. A take whose +`single-take` fails only at chunks outside a span, as by a late commitment, still gives +clips of that span that verify. + +A clip that passes is **accepted**, and the verifier states: the record's digest and +signer; the window; the bound (§6.2); and for each part its take, `first`, `count`, the +take's offset *o*, its span, the window on its device's clock (§6.1), the length and SHA-256 +of the bytes it presents, and its FETCH address (§8). Where the take's `single-take` holds, an +accepted clip's descriptors are its manifest's at those indexes, since rule 5 binds the +manifest's chunks to every commitment's root; the clip verifier does not need the manifest. + +### 5.5 Cutting a clip + +A cutter holds a take's manifest, its commitments and the chunks it covers. It picks a head: +the take's closing commitment, or, while the take runs, any commitment whose size covers the +range. It cuts: + +- **by chunks**: `first` and `count`, with no trim; +- **by bytes**: a byte range [*x*, *y*) of the master, with chunk *i* at the master's bytes + from the sum of the `len` of the chunks before it: the chunks from the one holding byte + *x* to the one holding byte *y* − 1, `trim_in` *x* less the first one's offset, and + `trim_out` the last one's end less *y*; +- **by a window** [*w₀*, *w₁*) of the room clock: in each take, the chunks from the one whose + mapped capture holds *w₀* to the one whose mapped capture holds *w₁* − 1, with no trim. + +A clip cut by chunks or bytes presents its chunks' span as its window. The proof is §5.3's +over the manifest's descriptors up to the head's size; the cutter signs the record. + +## 6. Across takes + +### 6.1 Time correspondence + +An aligned clip has a part for each take it spans, over one window of the room clock. Each +take is placed on the room clock by its own mapping, the offset *o* of its opening +commitment (capture-binding §9.3): a room-clock instant *t* in the window is the device-clock +instant *t* − *o_p* in part *p*, in the chunk whose capture range holds it, at its position +in that chunk and in the master (capture-binding §10). Two parts *p* and *q* correspond at +*t*: device instant *d* in *p* is *d* + *o_p* − *o_q* in *q*. The verifier states each part's +window on its device's clock, [`window_in` − *o_p*, `window_out` − *o_p*). + +### 6.2 The bound + +A part's mapping is held, over every commitment up to its head, to within *J* of the offset +the device measured at that commitment (step 3g), and each chunk it covers was committed +within [−*J*, *I* + *J*] of its mapped end on the room clock (step 3i). The clip states its +**bound**, `bound_us`: *J* for a clip of one take, its mapping's to the room clock; and +2*J* for an aligned clip, between any two of its parts, each strays by *J* from the room +clock as its device measured it. A sink that presents the parts of an aligned clip together +aligns them within that bound of what the devices measured. The measurement itself, and each +commitment's `t`, are their authors' statements (live-events §11), held by the room's other +records as capture-binding §14 says. + +## 7. HLS and LL-CMAF + +This section is a mapping: what a standard HLS client plays of a recording, with no new +format. Where a take's master is CMAF (ISO/IEC 23000-19), cut as capture-binding §4.1 cuts +it, chunk 0 is the CMAF header and the first CMAF segment, and each later chunk one CMAF +segment, so the take's chunk files are already an HLS presentation of fragmented MPEG-4 +segments (RFC 8216 §3.3; `draft-pantos-hls-rfc8216bis-22` §3.1.2): + +- **One Media Playlist per take.** `EXT-X-VERSION` is 6 or higher, as `EXT-X-MAP` without + `EXT-X-I-FRAMES-ONLY` requires (RFC 8216 §4.3.2.5, §7; the draft's §4.4.4.5). + `EXT-X-TARGETDURATION` is the longest chunk's `end` − `start`, in seconds rounded up + (RFC 8216 §4.3.3.1), never above *I* by `single-take` rule 8. `EXT-X-PLAYLIST-TYPE` is + `VOD` for a closed take and `EVENT` while it runs, segments added only at the end (RFC + 8216 §4.3.3.5), with `EXT-X-ENDLIST` once the take is closed. +- **The initialization section** is `EXT-X-MAP` with `URI` chunk 0's file and `BYTERANGE` + `@0` (the draft's §4.4.4.5), *h* the length of chunk 0's top-level boxes (ISO/IEC + 14496-12) before its first `styp` or `moof`. Chunk 0's segment is then + `EXT-X-BYTERANGE:@` of the same file (RFC 8216 §4.3.2.2), and each later + chunk its own file whole. +- **Durations and dates.** Each segment's `EXTINF` is its chunk's `end` − `start` in + seconds. The first segment carries `EXT-X-PROGRAM-DATE-TIME` (RFC 8216 §4.3.2.6), the + instant `t0` + `start` + *o* of the room clock in UTC; a gap-free take needs no other. +- **Events.** The room's events ride the playlist as live-events §8.3 maps them, as + `EXT-X-DATERANGE`, so a marker lands at its instant in the master (capture-binding §10). +- **Several takes.** Each take is its own Media Playlist. An HLS client presents one + rendition of a medium at a time; one that shows two takes together aligns them by + `EXT-X-PROGRAM-DATE-TIME`, within §6.2's bound. +- **LL-CMAF.** A CMAF segment holds CMAF chunks, each a `moof` and its `mdat`. A + low-latency playlist of a running take lists them as `EXT-X-PART` with `BYTERANGE` into + the chunk's file (the draft's §4.4.4.9), with `EXT-X-PART-INF` and + `EXT-X-SERVER-CONTROL` (§4.4.3.7, §4.4.3.8). The take tree commits to whole chunks, so a + part is proved only as part of its chunk, once the commitment that adds the chunk is + held, within *I* + *J* of the chunk's end (`single-take` 10): a sink that verifies + presents parts ahead of that and holds its verdict until the chunk is committed. + +A master that is not CMAF is played this way only through a muxer for its codec, which this +extension does not define. What this revision implements of this section: nothing. The +corpus's masters are not CMAF, the reference has no muxer for a device's master (packaging +§7's CMAF writer writes a floor's AV1 fragments), and it writes no playlist. + +## 8. DVR over MoQ FETCH + +This section fixes only how a recording's chunks are addressed for a FETCH; how a relay +keeps a recording and answers one is a later extension's. + +- **The track.** A recorded take is one track. Its Track Namespace (MOQT §2.4.1) has three + fields: the room id and the device's key, each as 64 lowercase hexadecimal digits, and + `take`; its Track Name is the take id as 64 lowercase hexadecimal digits. Every byte is one + of `a`–`z` and `0`–`9`, as in live-rooms §6.1's names, and its fields' 196 bytes are within MOQT §8.7's limit. +- **Groups and objects.** Group *g* is chunk *g*, and its one object, Object ID 0, is the + chunk's bytes whole: the unit a leaf commits to. A group's Location (MOQT §8.2) is + (*g*, 0). +- **A clip's part** is fetched by a FETCH (MOQT §3.2, §9.11) of that track whose + `LOCATION_FILTER` (MOQT §9.20.9) has StartGroup `first`, StartObject 0, EndGroupDelta + `count` − 1 and no EndObject, so every object of the end group: the range is inclusive + (MOQT §3.2), and the groups arrive in the requested order (MOQT §3.2.1). The clip + verifier states this address for each part (§5.4). +- **The commitments** are events of the device's events track (live-rooms §6.1), whose + group is the minute of room clock an event falls in (live-events §8.1). A FETCH of its + groups from the opening commitment's to the head's holds them, among the device's other + events; the clip verifier is given the take's `take_commit` events alone. +- **A running take.** The groups below the latest commitment's size are committed; a group + at or past it is a chunk no commitment has added yet, which a sink holds unverified until + one does (§5.5: a clip of a running take is proved against the commitment that covers it). + +## 9. Reasons + +The codes this extension adds, each with where it is raised: + +| reason | raised at | +|---|---| +| `listing_mismatch` | §4.4 step 1 | +| `recording_manifest_invalid` | §4.2, §4.4 step 2 | +| `component_invalid` | §4.4 steps 3, 4 and 7 | +| `component_digest_mismatch` | §4.4 step 3; SPEC §7.1's code, for a component of a recording | +| `component_unlisted` | §4.4 step 3 | +| `recording_signer_not_permitted` | §4.3, §4.4 step 5 | +| `outside_span` | §4.4 step 6 | +| `take_omitted` | §4.5 `complete` 2 | +| `clip_record_invalid` | §5.2, §5.4 step 2 | +| `clip_device_mismatch` | §5.4 steps 3a, 3b | +| `clip_take_mismatch` | §5.4 step 3b | +| `tree_head_not_committed` | §5.4 step 3d | +| `clip_out_of_range` | §5.4 step 3e | +| `clip_not_included` | §5.4 step 3f | +| `clip_window_invalid` | §5.4 step 3j | +| `clip_chunk_missing` | §5.4 step 3k | + +`take_omitted` is a verdict; the rest are refusals. A recording verifier also raises every +code a room verifier or a take verifier raises (live-rooms §11, capture-binding §12, and the +live-events codes they list), at the room or the take; `truncated`, `malformed`, +`unknown_version`, `bad_key` and `bad_signature` for a manifest that does not read or whose +signature fails; `wrong_room` for a manifest of another room; and `delivery_gap` and every +verdict of capture-binding §12 as a verdict. A clip verifier also raises the codes of a +descriptor that does not read (live-rooms §11); `truncated`, `malformed`, `unknown_version`, +`bad_key`, `bad_signature` and `wrong_room` for its record and its commitments; and +`commit_malformed`, `delivery_gap`, `commit_chain_broken`, `root_not_extending`, +`clock_unstable`, `capture_discontinuous`, `chunk_too_long`, `commit_early`, `commit_late`, +`chunk_reordered`, `chunk_altered` and `chunk_extra` at §5.4's steps, each with the meaning +capture-binding §12 gives it. + +## 10. Conformance + +[`live-conformance/recordings/`](../live-conformance/recordings/) holds the corpus, in one +file, `vectors.json`, written from fixed seeds by `wai_live_record_vectors gen`. Its +recordings are packages, each with its files and an evaluation instant and the outcome §4.5 +gives them; its clips are each a room descriptor, a clip record and, per part, the device's +key, the commitments and the chunks' bytes, with the outcome §5.4 gives them. + +- **The session.** A lesson room with two takes: the performer's, which is capture + binding's `lesson` take byte for byte (its manifest, chunks, receipts, consent and + commitments), and the accompanist's, captured beside it in chunks of another length on a + device whose clock runs ahead of the room's. The recording sealed by the room authority, + and by the director, stands. +- **Recordings that fail a claim:** a take left out (`take_omitted`); capture binding's + `missing_chunk` take, whose chunk 6 was never uploaded (`chunk_missing`); a commitment + the relay did not deliver (`delivery_gap`); a take without its consent + (`consent_missing`). +- **Recordings refused:** a file changed after sealing (`listing_mismatch`) and with the + listing rewritten (`component_digest_mismatch`); a file of no component; a component + with a file §3 does not define; a manifest that breaks §4.2, of another room, or with a + bad signature; a manifest signed by a principal without the record power; a span that + ends before the room's last event; a take, and a grant, whose signature fails. +- **Good clips:** a single chunk, a byte range with trims, a whole take, the first chunk, + the last chunk, a span of the second take, a span proved against a commitment made while + the take was running, a two-take clip aligned over one window, and a span of capture + binding's `late_commit` take that its late commitment does not touch. +- **Clips refused,** one for each reason of §9 a clip raises and for each `single-take` + rule of §5.4: a proof that does not reach the head, a range past the head's size, a + span over the chunk missing from capture binding's `missing_chunk` take, a clip spliced + from two takes, a reordered, altered or extra chunk, a tree head the take never + committed, a commitment left out or malformed, another take's or another device's + commitments, a record of another room, with a bad signature, cut short, or with a trim + in an aligned clip, a window its chunks do not cover, and spans of capture binding's + `late_commit`, `commit_early`, `root_not_extending`, `clock_unstable`, + `capture_discontinuous`, `chunk_too_long` and `commit_chain_broken` takes. + +A conforming verifier gives every vector the outcome, the reason, the place and the data +the corpus states. `wai_live_record_vectors verify` and the test `tests/live_record.rs` +check that the file regenerates byte for byte, that `wai-rs` gives every vector its +outcome, that every reason of §9 appears in the corpus, that §9 lists exactly the +reference's codes, and that every take the corpus says it reuses is capture binding's, +byte for byte, against `live-conformance/takes/vectors.json`. +`live-conformance/live_record_verify.py` is the second implementation, written from this +text: it shares no code with `wai-rs`; it checks range proofs by §5.3's recursion and, for +a run of one chunk, by RFC 9162 §2.1.3.2's algorithm as that RFC states it; it verifies +signatures with WAI's strict rule (`claim-conformance/_ed25519.py`), each take with the +capture-binding corpus's second implementation (`capture_take_verify.py`) and the room with +the live-rooms corpus's (`live_rooms_verify.py`); it gives every vector the same outcome; +and it mutates copies of the corpus and requires every copy to fail. + +## 11. Security and privacy considerations + +- The recording manifest is the signer's statement of which components the session has + and of its span; it adds nothing to a take's verdicts, which the take verifier gives from + the room's events. Its signer has the record power, so a participant who can only + publish or watch cannot seal a recording of the room. The package digest names the whole; + the manifest names each component, so a component can be fetched and checked alone. +- A recording is personal data of everyone it records: the masters, and the events, whose + chats, markers and captions are principals' words. The room's region pin and + `retention_days` (live-rooms §3.7) apply to the package as they apply to the takes, and + a take's consents bound what `publishable` admits. +- A clip proves that its bytes are those its take's device committed while it captured, + at those indexes, under a commitment the device signed. Its trust rests on the device's + key: a verifier takes it from the device's grant or the take manifest, never from the + clip. The cutter's signature binds the cutter's choice of span, window and head and + nothing more. +- A range proof's nodes are digests of digests of other chunks' descriptors; they disclose + no byte of another chunk. A trimmed clip carries its boundary chunks whole, so the bytes + it trims travel with it; a cutter that must not disclose them cuts on chunk boundaries. +- The time a clip states is the devices' measurement of the room clock, held to *J* at + every commitment; the bytes are proved exactly, the instants to within §6.2's bound. +- A clip cut while a take runs is proved against the commitment that covers it, which the + device can no longer rewrite: any later commitment must extend it (capture-binding §4.3), + so the clip stays a span of the take as it is finally committed. diff --git a/wai/live-conformance/README.md b/wai/live-conformance/README.md index 491e1eb68..75bfb8806 100644 --- a/wai/live-conformance/README.md +++ b/wai/live-conformance/README.md @@ -8,11 +8,13 @@ and the independent verifier of each, beside it. | [`events/`](events/) | [live-events](../extensions/live-events.md) (`wai.live.events`) | `live_events_verify.py` | | [`rooms/`](rooms/) | [live-rooms](../extensions/live-rooms.md) (`wai.live.room`) | `live_rooms_verify.py` | | [`takes/`](takes/) | [capture-binding](../extensions/capture-binding.md) (`wai.capture.take`) | `capture_take_verify.py` | +| [`recordings/`](recordings/) | [live-recording](../extensions/live-recording.md) (`wai.live.recording`) | `live_record_verify.py` | **Provenance.** Generated here: `wai_live_events_vectors gen` writes `events/`, -`wai_live_room_vectors gen` writes `rooms/` and `wai_capture_take_vectors gen` writes -`takes/`, each from records authored in code, from fixed seeds (`events/README.md`, -`rooms/README.md`, `takes/README.md`). No recorded data. +`wai_live_room_vectors gen` writes `rooms/`, `wai_capture_take_vectors gen` writes `takes/` +and `wai_live_record_vectors gen` writes `recordings/`, each from records authored in code, +from fixed seeds (`events/README.md`, `rooms/README.md`, `takes/README.md`, +`recordings/README.md`). No recorded data. Each verifier is written from its extension's text, shares no code with `wai-rs`, and is run by `.github/workflows/wai-conformance.yml` beside the reference's own check: @@ -21,4 +23,5 @@ run by `.github/workflows/wai-conformance.yml` beside the reference's own check: python3 live_events_verify.py events python3 live_rooms_verify.py rooms python3 capture_take_verify.py takes +python3 live_record_verify.py recordings ``` diff --git a/wai/live-conformance/recordings/README.md b/wai/live-conformance/recordings/README.md new file mode 100644 index 000000000..c0e1f3cd2 --- /dev/null +++ b/wai/live-conformance/recordings/README.md @@ -0,0 +1,112 @@ +# live-conformance/recordings — live recording + +The corpus of [`extensions/live-recording.md`](../../extensions/live-recording.md) §10: +recordings, each a package (its files by path: the signed `WRM1` recording manifest, the +room's `WRD1` descriptor, `WRG1` grants and key-log head, each principal's `WEV1` chain, and +each take's `WTM1` manifest, chunks, `WUR1` receipts and `WCN1` consents, with the `LISTING` +of them all) and an evaluation instant; and clips, each a room descriptor, a signed `WCL1` +clip record and, for each of its parts, the device's key, the take's `take_commit` events up +to the head and the chunks' bytes; with the outcome a verifier gives each. + +**Recording equivalence.** For each recording, a conforming recording verifier given its +`files` (path to bytes, in hexadecimal) and its `evaluated_at` (seconds since 1970) reaches +the outcome the vector states (§4.5): + +- `refuse`: the `reason` and where, `at`: `["listing"]`, `["manifest"]`, `["component", i]` + for the manifest's component `i`, `["room", …]` with the room verifier's own place + (live-rooms §9.1), or `["take", i, …]` with the take verifier's own place in component `i` + (capture-binding §9.1); +- `verdicts`: the `package` digest (SHA-256 of `LISTING`), the recording `manifest`'s + digest, the `room` id, `complete`, `publishable` for each of `live`, `record`, + `distribute` and `train` (each `holds` or the reason it fails), whether the manifest + `stands`, and each take's id and verdicts (`single_take`, `aligned`, `complete`, + `publishable`, `stands`). + +**Clip equivalence.** For each clip, a conforming clip verifier given its `descriptor`, its +`record` and its `parts` (each a `device` key, its `commits` in order, and its chunks' +`bytes`, each hexadecimal or `null` for absent) reaches the outcome the vector states +(§5.4): + +- `refuse`: the `reason` and where, `at`: `["descriptor"]`, `["clip"]`, `["part", k]`, + `["commit", k, j]` for commitment `j` of part `k`, or `["chunk", k, j]` for chunk `j` of + part `k`; +- `accept`: the record's digest `clip`, its `signer`, its `window`, its `bound_us` (§6.2), + and the `facts` of each part: its `take`, `first`, `count`, the take's `offset`, its + `span` on the room clock, its `device_window`, the length (`bytes`) and `sha256` of the + bytes it presents, and its MoQ `fetch` address (§8). + +A verifier that reaches another outcome, reason, place, verdict, digest or fact does not +conform. + +**Provenance.** Generated here: `wai_live_record_vectors gen` writes every file, record and +byte from sessions authored in code, from fixed seeds, by capture binding's corpus rules: +each key is SHA-256 of that corpus's fixed label and the principal's index (two principals +it does not use, the accompanist and the accompanist's device, take indexes of their own), +each chunk's bytes SHA-256 output under a fixed label and the chunk's index (they stand for +an encoded master and encode nothing), every time is a constant (the room's `t0` is +2026-10-16T00:00:00Z), and Ed25519 signing is deterministic (RFC 8032), so the file is the +same bytes on every machine. A take written from one of capture binding's plans is that +corpus's take byte for byte; the generator asserts that each vector reaches the outcome it +was written to have before it writes it. The key-log heads are sealed by the reference's key +log under a fixed root. The origins are `.example` names (RFC 2606). No recorded data. + +## Layout + +One file, `vectors.json`: + +- `principals`: the keys, by name (informative). +- `recordings`: each with `name`, `about`, `files`, `evaluated_at`, `reuses` (the take + components that are capture binding's takes: each `take` id and the `vector` of + `../takes/vectors.json` it is), `outcome`, and as above `reason`, `at`, `package`, + `manifest`, `room`, `complete`, `publishable`, `stands` and `takes`. +- `clips`: each with `name`, `about`, `descriptor`, `record`, `parts` (each with `device`, + `commits`, `bytes`, and `take_vector`, the vector of `../takes/vectors.json` whose + records every commitment and chunk of the part are, or `null`), `outcome`, and as above + `reason`, `at`, `clip`, `signer`, `window`, `bound_us` and `facts`. + +Every session is a lesson room as capture binding's corpus has it (a director with the +record power, an audience, a recording policy of mode 1 with a two-second commit interval +and 500 ms of jitter, pinned to DE and FR, a key log listing the room authority and the +store), here with up to two takes: + +- `lesson_session`: the performer's take, capture binding's `lesson` take, and the + accompanist's, eight chunks of 1.25 s on a device whose clock runs three seconds ahead, + sealed by the room authority; `signed_by_director`, the same sealed by the director; +- recordings that fail a claim: `take_omitted`, `missing_chunk` (capture binding's + `missing_chunk` take), `commit_gap` and `consent_missing`; +- recordings refused: `listing_mismatch`, `component_digest_mismatch`, + `component_unlisted`, `component_invalid`, `recording_manifest_invalid`, + `manifest_bad_signature`, `manifest_wrong_room`, `signer_not_permitted`, + `outside_span`, `take_refused` and `room_refused`; +- good clips: `single_chunk`, `byte_range`, `whole_take`, `first_chunk`, `last_chunk`, + `accompanist_span`, `live_head`, `two_takes_aligned` and `late_take_clean_span`; +- clips refused, one defect each: `proof_not_reaching_head`, `range_past_size`, + `missing_chunk`, `spliced_two_takes`, `reordered_chunk`, `altered_chunk`, `extra_chunk`, + `uncommitted_head`, `commit_gap`, `commit_malformed`, `take_mismatch`, + `device_mismatch`, `clip_wrong_room`, `clip_bad_signature`, `clip_record_invalid`, + `window_not_covered`, `trimmed_window`, `clip_truncated`, and spans of capture binding's + defective takes: `commit_late`, `commit_early`, `root_not_extending`, `clock_unstable`, + `capture_discontinuous`, `chunk_too_long` and `commit_chain_broken`. + +## Running + +``` +cd ../../wai-rs +cargo run --no-default-features --features live_record --bin wai_live_record_vectors -- verify ../live-conformance/recordings +cargo run --no-default-features --features live_record --bin wai_live_record_vectors -- gen ../live-conformance/recordings # regenerate +cargo test --no-default-features --features live_record --test live_record +cd ../live-conformance +python3 live_record_verify.py recordings +``` + +`wai_live_record_vectors verify` and `tests/live_record.rs` require the file to regenerate +byte for byte and `wai-rs` to give every vector its outcome; the test also requires every +reason of §9 to appear, the good recordings to stand and the good clips to be accepted, §9 +to list exactly the reasons the reference reports, and every take the corpus says it reuses +to be capture binding's, byte for byte, against `../takes/vectors.json`. +`live_record_verify.py` is the second implementation, written from the extension's text +and sharing no code with `wai-rs`: it checks range proofs by the extension's recursion and, +for a run of one chunk, by RFC 9162 §2.1.3.2's algorithm, verifies each take with +`capture_take_verify.py` (which verifies the room with `live_rooms_verify.py`), gives every +vector the same outcome, requires the same coverage and reuse, and then mutates copies of +the corpus, one defect each, each of which must fail. Pass = an exit status of 0 from each. diff --git a/wai/wai-rs/src/live_record/corpus.rs b/wai/wai-rs/src/live_record/corpus.rs index 6c7261a63..e013fc146 100644 --- a/wai/wai-rs/src/live_record/corpus.rs +++ b/wai/wai-rs/src/live_record/corpus.rs @@ -816,7 +816,7 @@ fn clip_vectors() -> Vec { // Negatives over the lesson session. let mut c = single.0.clone(); c.parts[0].proof[0][5] ^= 0x20; - out.push(cv("proof_not_reaching_head", "chunk 4 with one node of its range proof changed: the proof does not reach the head's root (§5.4 f)", &lesson, resign(c), single.1.clone(), ClipIntent::Refuse("part", Reason::ClipNotIncluded))); + out.push(cv("proof_not_reaching_head", "chunk 4 with one node of its range proof changed: the proof does not reach the head's root (§5.4 step 3f)", &lesson, resign(c), single.1.clone(), ClipIntent::Refuse("part", Reason::ClipNotIncluded))); let mut p = cut_part(&source(t1, 2), 1, 3, 0, 0).expect("within commitment 2"); p.chunks.push(t1.chunks[4]); p.proof.clear(); @@ -825,7 +825,7 @@ fn clip_vectors() -> Vec { i.bytes = t1.bytes[1..5].iter().cloned().map(Some).collect(); out.push(cv( "range_past_size", - "chunks 1 to 4 against commitment 2, which committed four chunks: chunk 4 lies past the head's size (§5.4 e)", + "chunks 1 to 4 against commitment 2, which committed four chunks: chunk 4 lies past the head's size (§5.4 step 3e)", &lesson, cut_clip(lesson.room, a, z, vec![p], &key(AUTHORITY)).to_bytes(), vec![i], @@ -839,7 +839,7 @@ fn clip_vectors() -> Vec { i[0].bytes[1] = None; out.push(cv( "missing_chunk", - "chunks 5 to 7 of capture binding's missing_chunk take, whose chunk 6 was never uploaded: the descriptors and the proof stand, and chunk 6's bytes are absent (§5.4 k)", + "chunks 5 to 7 of capture binding's missing_chunk take, whose chunk 6 was never uploaded: the descriptors and the proof stand, and chunk 6's bytes are absent (§5.4 step 3k)", &mw, c.to_bytes(), i, @@ -851,7 +851,7 @@ fn clip_vectors() -> Vec { i[0].take_vector = None; out.push(cv( "spliced_two_takes", - "chunks 3 to 5 of the performer's take with chunk 4 replaced by the accompanist's chunk 4, its descriptor and its bytes: the leaves are not the head's (§5.4 f)", + "chunks 3 to 5 of the performer's take with chunk 4 replaced by the accompanist's chunk 4, its descriptor and its bytes: the leaves are not the head's (§5.4 step 3f)", &lesson, resign(c), i, @@ -859,14 +859,14 @@ fn clip_vectors() -> Vec { )); let (c, mut i) = one(&lesson, 0, 3, 3, lv); i[0].bytes.swap(0, 1); - out.push(cv("reordered_chunk", "chunks 3 to 5 with the bytes of chunks 3 and 4 each given at the other's place (§5.4 k)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("chunk", take::Reason::ChunkReordered.into()))); + out.push(cv("reordered_chunk", "chunks 3 to 5 with the bytes of chunks 3 and 4 each given at the other's place (§5.4 step 3k)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("chunk", take::Reason::ChunkReordered.into()))); let (c, mut i) = one(&lesson, 0, 4, 1, lv); i[0].bytes[0].as_mut().expect("bytes")[7] ^= 0x01; i[0].take_vector = None; - out.push(cv("altered_chunk", "chunk 4 with one byte of its bytes changed (§5.4 k)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("chunk", take::Reason::ChunkAltered.into()))); + out.push(cv("altered_chunk", "chunk 4 with one byte of its bytes changed (§5.4 step 3k)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("chunk", take::Reason::ChunkAltered.into()))); let (c, mut i) = one(&lesson, 0, 4, 1, lv); i[0].bytes.push(Some(t1.bytes[5].clone())); - out.push(cv("extra_chunk", "chunk 4 given with chunk 5's bytes after it, which the record does not cover (§5.4 k)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("chunk", take::Reason::ChunkExtra.into()))); + out.push(cv("extra_chunk", "chunk 4 given with chunk 5's bytes after it, which the record does not cover (§5.4 step 3k)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("chunk", take::Reason::ChunkExtra.into()))); // A tree head the take never committed: its ten chunks and one more. let (mut c, i) = one(&lesson, 0, 8, 2, lv); let mut grown = t1.chunks.clone(); @@ -877,7 +877,7 @@ fn clip_vectors() -> Vec { c.parts[0].proof = range_proof(8, 10, &gl).expect("a range"); out.push(cv( "uncommitted_head", - "chunks 8 and 9 proved against a tree of eleven chunks, the take's ten and one appended, under the closing commitment's digest: no commitment of the take has that size and root (§5.4 d)", + "chunks 8 and 9 proved against a tree of eleven chunks, the take's ten and one appended, under the closing commitment's digest: no commitment of the take has that size and root (§5.4 step 3d)", &lesson, resign(c), i, @@ -885,17 +885,17 @@ fn clip_vectors() -> Vec { )); let (c, mut i) = one(&lesson, 0, 4, 1, lv); i[0].commits.remove(2); - out.push(cv("commit_gap", "chunk 4 with the take's commitment 2 left out of the commitments given (§5.4 c)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("commit", DELIVERY_GAP))); + out.push(cv("commit_gap", "chunk 4 with the take's commitment 2 left out of the commitments given (§5.4 step 3c)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("commit", DELIVERY_GAP))); let (c, mut i) = one(&lesson, 0, 4, 1, lv); let bad = Event::sign(&key(DEVICE), lesson.room, 99, [0; 32], 9 * S, None, events::kind::TAKE_COMMIT, vec![0; 10]).to_bytes(); i[0].commits.insert(2, bad); i[0].take_vector = None; - out.push(cv("commit_malformed", "chunk 4 with a take_commit of the device whose ten-byte payload does not read, among the commitments given (§5.4 b)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("commit", take::Reason::CommitMalformed.into()))); + out.push(cv("commit_malformed", "chunk 4 with a take_commit of the device whose ten-byte payload does not read, among the commitments given (§5.4 step 3b)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("commit", take::Reason::CommitMalformed.into()))); let (mut c, i) = one(&lesson, 0, 4, 1, lv); c.parts[0].take = t2.take; out.push(cv( "take_mismatch", - "a part that names the accompanist's take over the performer's device and its commitments: the commitments are of another take (§5.4 b)", + "a part that names the accompanist's take over the performer's device and its commitments: the commitments are of another take (§5.4 step 3b)", &lesson, resign(c), i, @@ -903,7 +903,7 @@ fn clip_vectors() -> Vec { )); let (c, mut i) = one(&lesson, 0, 4, 1, lv); i[0].device = pk(ACCOMPANIST_DEVICE); - out.push(cv("device_mismatch", "the performer's chunk 4, verified under the accompanist device's key (§5.4 a)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("part", Reason::ClipDeviceMismatch))); + out.push(cv("device_mismatch", "the performer's chunk 4, verified under the accompanist device's key (§5.4 step 3a)", &lesson, c.to_bytes(), i, ClipIntent::Refuse("part", Reason::ClipDeviceMismatch))); let (mut c, i) = one(&lesson, 0, 4, 1, lv); c.room = sha256(&[b"wai:live-recording/corpus/another room"]); out.push(cv("clip_wrong_room", "a clip record that names another room (§5.4 step 2)", &lesson, resign(c), i, ClipIntent::Refuse("clip", WRONG_ROOM))); @@ -926,7 +926,7 @@ fn clip_vectors() -> Vec { let i2b = inputs_of(t2, t2.commits.len() - 1, &p2b, None); out.push(cv( "window_not_covered", - "the aligned clip with the accompanist's part starting at chunk 2, which begins after the window's start (§5.4 j)", + "the aligned clip with the accompanist's part starting at chunk 2, which begins after the window's start (§5.4 step 3j)", &lesson, cut_clip(lesson.room, wi, wo, vec![p1, p2b], &key(AUTHORITY)).to_bytes(), vec![i1, i2b], @@ -950,15 +950,15 @@ fn clip_vectors() -> Vec { }; let lt = take_of("late", &|t| t.late = Some((3, 13_800 * MS))); let (c, i) = one(<, 0, 4, 1, Some("late_commit")); - out.push(cv("commit_late", "chunk 4 of capture binding's late_commit take, committed 2.8 s after its capture ended (§5.4 i)", <, c.to_bytes(), i, ClipIntent::Refuse("part", take::Reason::CommitLate.into()))); + out.push(cv("commit_late", "chunk 4 of capture binding's late_commit take, committed 2.8 s after its capture ended (§5.4 step 3i)", <, c.to_bytes(), i, ClipIntent::Refuse("part", take::Reason::CommitLate.into()))); let et = take_of("early", &|t| t.early_add = Some(2)); let (c, i) = one(&et, 0, 4, 1, Some("commit_early")); - out.push(cv("commit_early", "chunk 4 of capture binding's commit_early take, committed before its capture ended (§5.4 i)", &et, c.to_bytes(), i, ClipIntent::Refuse("part", take::Reason::CommitEarly.into()))); + out.push(cv("commit_early", "chunk 4 of capture binding's commit_early take, committed before its capture ended (§5.4 step 3i)", &et, c.to_bytes(), i, ClipIntent::Refuse("part", take::Reason::CommitEarly.into()))); let rt = take_of("rewrite", &|t| t.rewrite = Some((4, 2))); let (c, i) = one(&rt, 0, 8, 1, Some("root_not_extending")); out.push(cv( "root_not_extending", - "chunk 8 of capture binding's root_not_extending take, against its closing commitment: commitment 4 does not extend commitment 3 (§5.4 c)", + "chunk 8 of capture binding's root_not_extending take, against its closing commitment: commitment 4 does not extend commitment 3 (§5.4 step 3c)", &rt, c.to_bytes(), i, @@ -966,10 +966,10 @@ fn clip_vectors() -> Vec { )); let ot = take_of("offset_jump", &|t| t.offset_jump = Some((3, 600_000))); let (c, i) = one(&ot, 0, 8, 1, Some("clock_unstable")); - out.push(cv("clock_unstable", "chunk 8 of capture binding's clock_unstable take, whose commitment 3 states an offset 600 ms off (§5.4 g)", &ot, c.to_bytes(), i, ClipIntent::Refuse("commit", take::Reason::ClockUnstable.into()))); + out.push(cv("clock_unstable", "chunk 8 of capture binding's clock_unstable take, whose commitment 3 states an offset 600 ms off (§5.4 step 3g)", &ot, c.to_bytes(), i, ClipIntent::Refuse("commit", take::Reason::ClockUnstable.into()))); let pt = take_of("pause", &|t| t.chunks[5].0 += 200 * MS); let (c, i) = one(&pt, 0, 4, 2, Some("capture_discontinuous")); - out.push(cv("capture_discontinuous", "chunks 4 and 5 of capture binding's capture_discontinuous take, with 200 ms between them (§5.4 h)", &pt, c.to_bytes(), i, ClipIntent::Refuse("part", take::Reason::CaptureDiscontinuous.into()))); + out.push(cv("capture_discontinuous", "chunks 4 and 5 of capture binding's capture_discontinuous take, with 200 ms between them (§5.4 step 3h)", &pt, c.to_bytes(), i, ClipIntent::Refuse("part", take::Reason::CaptureDiscontinuous.into()))); let long = |t: &mut TakePlan| { let c = 6 * S; let ends = [c, c + S, c + 2 * S, c + 3 * S, c + 5_500 * MS, c + 6_500 * MS, c + 7_500 * MS, c + 8_500 * MS, c + 9_500 * MS, c + 10 * S]; @@ -977,10 +977,10 @@ fn clip_vectors() -> Vec { }; let gt = take_of("long_chunk", &long); let (c, i) = one(>, 0, 3, 1, Some("chunk_too_long")); - out.push(cv("chunk_too_long", "chunk 3 of capture binding's chunk_too_long take, 2.5 s long (§5.4 h)", >, c.to_bytes(), i, ClipIntent::Refuse("part", take::Reason::ChunkTooLong.into()))); + out.push(cv("chunk_too_long", "chunk 3 of capture binding's chunk_too_long take, 2.5 s long (§5.4 step 3h)", >, c.to_bytes(), i, ClipIntent::Refuse("part", take::Reason::ChunkTooLong.into()))); let bt = take_of("prev_zero", &|t| t.break_prev = Some(3)); let (c, i) = one(&bt, 0, 7, 1, Some("commit_chain_broken")); - out.push(cv("commit_chain_broken", "chunk 7 of capture binding's commit_chain_broken take, whose commitment 3 does not name commitment 2 (§5.4 c)", &bt, c.to_bytes(), i, ClipIntent::Refuse("commit", take::Reason::CommitChainBroken.into()))); + out.push(cv("commit_chain_broken", "chunk 7 of capture binding's commit_chain_broken take, whose commitment 3 does not name commitment 2 (§5.4 step 3c)", &bt, c.to_bytes(), i, ClipIntent::Refuse("commit", take::Reason::CommitChainBroken.into()))); let (c, i) = one(&lesson, 0, 4, 1, lv); let mut b = c.to_bytes(); b.truncate(b.len() - 1); -- 2.54.0 (Apple Git-157) From 9d16b7dbd2c20edf0f89dad2e42f85741e7f79e2 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 10:31:58 -0400 Subject: [PATCH 05/26] wai: live_record_verify.py, the recordings corpus's second implementation Co-Authored-By: Claude Opus 5.5 --- wai/live-conformance/live_record_verify.py | 799 +++++++++++++++++++ wai/live-conformance/recordings/vectors.json | 40 +- 2 files changed, 819 insertions(+), 20 deletions(-) create mode 100755 wai/live-conformance/live_record_verify.py diff --git a/wai/live-conformance/live_record_verify.py b/wai/live-conformance/live_record_verify.py new file mode 100755 index 000000000..9aa514ca6 --- /dev/null +++ b/wai/live-conformance/live_record_verify.py @@ -0,0 +1,799 @@ +#!/usr/bin/env python3 +"""Independent verifier of the live-recording corpus (extensions/live-recording.md). + +Written from the extension's text. It shares no code with wai-rs, which generates the +corpus, and never runs it. It checks Ed25519 signatures with +../claim-conformance/_ed25519.py, WAI's strict rule (SPEC §7 *Signatures*) written from +RFC 8032 with the standard library. Each take is verified by the capture-binding corpus's +own second implementation, capture_take_verify.py (capture-binding §9), and the room by +the live-rooms corpus's, live_rooms_verify.py (live-rooms §9), each written from its text +alone. Everything else is here: + +- the package (§3): the listing of SPEC §3.1, written and checked here; the components and + their digests; the room's files and the events' chains split into their records; +- the recording manifest (§4.1, §4.2), who may sign it (§4.3), recording verification + (§4.4) and the verdicts of complete and publishable (§4.5); +- the clip record (§5.1, §5.2); the range proof of §5.3, by its recursion, and, for a run + of one chunk, by the inclusion-proof check of RFC 9162 §2.1.3.2 as that RFC states it, + which must agree; clip verification (§5.4); the time correspondence and its bound (§6); + and the FETCH address of §8. + +For every vector it requires the outcome, reason and place, and the data the corpus states; +of the corpus, that every reason of §9 appears in it, and that every take it says it reuses +is capture binding's, byte for byte. Then it mutates copies of the corpus, one defect each, +and requires every copy to fail. + + python3 live_record_verify.py + +Exit status 0 only if every vector verifies and every mutated copy fails. Python 3.8 or +later; standard library only. +""" +import copy +import hashlib +import json +import os +import re +import sys + +HERE = os.path.dirname(os.path.abspath(__file__)) +sys.path.insert(0, HERE) +sys.path.insert(0, os.path.join(HERE, "..", "claim-conformance")) +import live_events_verify as LEV # noqa: E402 +import live_rooms_verify as LRV # noqa: E402 +import capture_take_verify as CT # noqa: E402 +import _ed25519 as ED # noqa: E402 + +Refuse = LEV.Refuse + +MANIFEST_DOMAIN = b"wai:live-recording\x01" +CLIP_DOMAIN = b"wai:live-clip\x01" +LEAF_DOMAIN = b"wai:take-leaf\x01" +NODE_DOMAIN = b"wai:out-node\x01" +TAKE_DOMAIN = b"wai:capture-take\x01" +LISTING, MANIFEST_FILE = "LISTING", "recording.wrm" +ROOM, EVENTS, TAKE, COMPOSITE = 1, 2, 3, 4 +COMPLETE = 1 +RECORD_POWER = 8 +TAKE_COMMIT, CONTROL = 0x0C, 0x09 +OPEN, CLOSE = 1, 3 +PURPOSES = [(1, "live"), (2, "record"), (4, "distribute"), (8, "train")] +ZERO = bytes(32) + +# §9, in its order. +REASONS = [ + "listing_mismatch", "recording_manifest_invalid", "component_invalid", "component_digest_mismatch", + "component_unlisted", "recording_signer_not_permitted", "outside_span", "take_omitted", + "clip_record_invalid", "clip_device_mismatch", "clip_take_mismatch", "tree_head_not_committed", + "clip_out_of_range", "clip_not_included", "clip_window_invalid", "clip_chunk_missing", +] + + +def sha(*parts): + h = hashlib.sha256() + for p in parts: + h.update(p) + return h.digest() + + +class Stop(Exception): + def __init__(self, at, reason): + Exception.__init__(self, reason) + self.at, self.reason = at, reason + + +class Reader: + """Little-endian fields in order; running out is `truncated`.""" + + def __init__(self, b, p): + self.b, self.p = b, p + + def take(self, n): + if self.p + n > len(self.b): + raise Refuse("truncated") + s = self.b[self.p:self.p + n] + self.p += n + return s + + def uint(self, n): + return int.from_bytes(self.take(n), "little") + + def done(self): + return self.p == len(self.b) + + +def read_head(b, magic): + """live-events §3.3's first steps, with `magic` for WEV1.""" + if len(b) < 4: + raise Refuse("truncated") + if b[:4] != magic: + raise Refuse("malformed") + if len(b) < 5: + raise Refuse("truncated") + if b[4] != 1: + raise Refuse("unknown_version") + + +def check_sig(key, domain, body, sig): + bad = ED.verify(key, domain + body, sig) + if bad: + raise Refuse(bad) + + +# ---------------------------------------------------------------- SPEC §3.1 the listing + +SEGMENT = re.compile(r"[A-Za-z0-9_-]([A-Za-z0-9_.-]*[A-Za-z0-9_-])?") + + +def listing(files): + """The listing of `files` (path -> bytes), or None when a path cannot be carried.""" + paths = sorted(files, key=lambda p: p.encode()) + if not paths: + return None + for p in paths: + if not all(SEGMENT.fullmatch(s) for s in p.split("/")): + return None + folded = [p.lower() for p in paths] + if len(set(folded)) != len(folded): + return None + if any(q.startswith(p + "/") for p in paths for q in paths): + return None + return b"".join(sha(files[p]).hex().encode() + b" " + p.encode() + b"\n" for p in paths) + + +def below(files, d): + return {p[len(d):]: b for p, b in files.items() if p.startswith(d)} + + +# ---------------------------------------------------------------- §3, §4 the package + +def is_hex64(s): + return len(s) == 64 and all(c in "0123456789abcdef" for c in s) + + +def component_dir(kind, cid): + return {ROOM: "room/", EVENTS: "events/", TAKE: "takes/%s/" % cid}.get(kind, "composite/") + + +def read_manifest(b): + """§4.1, §4.2: the recording manifest, or Refuse.""" + read_head(b, b"WRM1") + r = Reader(b, 5) + m = {"room": r.take(32), "signer": r.take(32), "from": r.uint(8), "to": r.uint(8), "claims": r.uint(1), + "purposes": r.uint(1), "components": []} + for _ in range(r.uint(2)): + kind = r.uint(1) + cid = r.take(r.uint(1)) + m["components"].append({"kind": kind, "id": cid, "sha256": r.take(32)}) + m["sig"] = r.take(64) + if not r.done(): + raise Refuse("malformed") + c = m["components"] + ok = m["claims"] & ~COMPLETE == 0 and m["purposes"] & ~0b1111 == 0 and m["from"] <= m["to"] + ok = ok and len(c) >= 2 and (c[0]["kind"], c[0]["id"]) == (ROOM, b"room") and (c[1]["kind"], c[1]["id"]) == (EVENTS, b"events") + rest = c[2:] + if ok and rest and rest[-1]["kind"] == COMPOSITE: + ok = rest[-1]["id"] == b"composite" + rest = rest[:-1] + ok = ok and all(x["kind"] == TAKE and is_hex64(x["id"].decode("latin-1")) for x in rest) + ok = ok and all(a["id"] < z["id"] for a, z in zip(rest, rest[1:])) + if not ok: + raise Refuse("recording_manifest_invalid") + check_sig(m["signer"], MANIFEST_DOMAIN, b[:-64], m["sig"]) + m["digest"] = sha(b[:-64]) + for x in c: + x["dir"] = component_dir(x["kind"], x["id"].decode()) + return m + + +def split_chain(b): + """§3.3: the records of a chain file, each read by live-events §3.3, or None.""" + out = [] + while b: + if len(b) < 118 or b[117] not in (0, 1): + return None + after = 118 + (48 if b[117] == 1 else 0) + if len(b) < after + 3: + return None + n = after + 3 + int.from_bytes(b[after + 1:after + 3], "little") + 64 + if n > len(b): + return None + try: + LEV.read_record(b[:n]) + except Refuse: + return None + out.append(b[:n]) + b = b[n:] + return out + + +def room_files(files): + """§3.3: (descriptor, grants, head), or None.""" + d, grants, head = None, [], None + for p, b in sorted(below(files, "room/").items()): + if p == "descriptor.wrd": + d = b + elif p == "key-log.json": + try: + head = b.decode("utf-8") + except UnicodeDecodeError: + return None + else: + m = re.fullmatch(r"grant-([0-9]{4})\.wrg", p) + if not m or int(m.group(1)) != len(grants): + return None + grants.append(b) + return None if d is None else (d, grants, head) + + +def event_chains(files): + """§3.3: each principal's chain, in the order of the files' paths, or None.""" + out = [] + for p, b in sorted(below(files, "events/").items(), key=lambda x: x[0].encode()): + m = re.fullmatch(r"([0-9a-f]{64})\.wev", p) + recs = split_chain(b) if m else None + if not recs or not all(LEV.read_record(x)["principal"].hex() == m.group(1) for x in recs): + return None + out.append(recs) + return out + + +def take_files(files, d): + """§3.4: (manifest, parts, receipts, consents), or None.""" + manifest, parts, receipts, consents = None, [], [], [] + for p, b in sorted(below(files, d).items(), key=lambda x: x[0].encode()): + if p == "manifest.wtm": + manifest = b + continue + m = re.fullmatch(r"(chunk|receipt|consent)-([0-9]+)\.(bin|wur|wcn)", p) + if not m or (m.group(1), m.group(3)) not in (("chunk", "bin"), ("receipt", "wur"), ("consent", "wcn")): + return None + width = 10 if m.group(1) == "chunk" else 4 + if len(m.group(2)) != width: + return None + k = int(m.group(2)) + if m.group(1) == "chunk": + parts.append((k, b)) + else: + lst = receipts if m.group(1) == "receipt" else consents + if k != len(lst): + return None + lst.append(b) + return None if manifest is None else (manifest, parts, receipts, consents) + + +def session_takes(d, chains, order): + """§4.5 complete 2: the takes the room's events open, each a start its device answered.""" + seen, starts, commits = set(), [], set() + for c, i, _ in order: + ev = LEV.read_record(chains[c][i]) + if ev["digest"] in seen: + continue + seen.add(ev["digest"]) + if ev["kind"] == TAKE_COMMIT: + try: + commits.add((ev["principal"], CT.read_commit(ev["payload"])["take"])) + except Refuse: + pass + elif ev["kind"] == CONTROL: + try: + p = LEV.read_payload(CONTROL, ev["payload"], 65535) + except Refuse: + continue + if p["command"] == 1: + starts.append((p["target"], sha(TAKE_DOMAIN, d["room"], p["target"], ev["digest"]))) + return [t for dev, t in starts if (dev, t) in commits] + + +def verify_recording(files, at): + """§4.4, §4.5: a dict of what the corpus states.""" + lst = files.get(LISTING) + if lst is None or listing({p: b for p, b in files.items() if p != LISTING}) != lst: + return {"outcome": "refuse", "reason": "listing_mismatch", "at": ["listing"]} + try: + if MANIFEST_FILE not in files: + raise Stop(["manifest"], "recording_manifest_invalid") + try: + m = read_manifest(files[MANIFEST_FILE]) + except Refuse as e: + raise Stop(["manifest"], e.reason) + for i, c in enumerate(m["components"]): + inner = below(files, c["dir"]) + if not inner: + raise Stop(["component", i], "component_invalid") + if sha(listing(inner) or b"") != c["sha256"]: + raise Stop(["component", i], "component_digest_mismatch") + dirs = [c["dir"] for c in m["components"]] + if any(p not in (LISTING, MANIFEST_FILE) and not any(p.startswith(d) for d in dirs) for p in files): + raise Stop(["listing"], "component_unlisted") + rf = room_files(files) + if rf is None: + raise Stop(["component", 0], "component_invalid") + chains = event_chains(files) + if chains is None: + raise Stop(["component", 1], "component_invalid") + descriptor, grants, head = rf + room = LRV.verify_room(descriptor, grants, head, chains) + if room["outcome"] == "refuse": + raise Stop(["room"] + room["at"], room["reason"]) + d = LRV.read_descriptor(descriptor) + if m["room"] != d["room"]: + raise Stop(["manifest"], "wrong_room") + if m["signer"] != d["authority"]: + held, _ = LRV.check_grants(d, grants) + revoked = LRV.check_key_log(d, head) + ok = any(g["principal"] == m["signer"] and g["powers"] & RECORD_POWER and not LRV.revoked(g, revoked) + and LRV.good_at(g, d, m["to"]) for g in held) + if not ok: + raise Stop(["manifest"], "recording_signer_not_permitted") + for c, i, _ in room["order"]: + t = LEV.read_record(chains[c][i])["t"] + if not m["from"] <= t <= m["to"]: + raise Stop(["room", "record", c, i], "outside_span") + takes = [] + for i, c in enumerate(m["components"]): + if c["kind"] != TAKE: + continue + tf = take_files(files, c["dir"]) + if tf is None: + raise Stop(["component", i], "component_invalid") + tm, parts, receipts, consents = tf + v = {"descriptor": descriptor.hex(), "grants": [g.hex() for g in grants], "key_log_head": head, + "chains": [[r.hex() for r in ch] for ch in chains], "manifest": tm.hex(), + "parts": [{"index": k, "bytes": b.hex()} for k, b in parts], "receipts": [r.hex() for r in receipts], + "consents": [x.hex() for x in consents], "evaluated_at": at} + got = CT.verify_take(v) + if got["outcome"] == "refuse": + raise Stop(["take", i] + got["at"], got["reason"]) + if got["take"] != c["id"].decode(): + raise Stop(["component", i], "component_invalid") + takes.append(got) + except Stop as e: + return {"outcome": "refuse", "reason": e.reason, "at": e.at} + # §4.5. + complete = "holds" + held = {t["take"] for t in takes} + if room["outcome"] == "gap": + complete = "delivery_gap" + elif any(t.hex() not in held for t in session_takes(d, chains, room["order"])): + complete = "take_omitted" + else: + for t in takes: + vd = t["verdicts"] + if vd["single_take"] in ("delivery_gap", "commit_chain_broken", "take_not_closed"): + complete = vd["single_take"] + break + if vd["complete"] != "holds": + complete = vd["complete"] + break + publishable = {n: next((t["verdicts"]["publishable"][n] for t in takes if t["verdicts"]["publishable"][n] != "holds"), "holds") + for _, n in PURPOSES} + stands = ((not m["claims"] & COMPLETE or complete == "holds") + and all(not m["purposes"] & b or publishable[n] == "holds" for b, n in PURPOSES)) + return {"outcome": "verdicts", "package": sha(lst).hex(), "manifest": m["digest"].hex(), "room": d["room"].hex(), + "complete": complete, "publishable": publishable, "stands": stands, + "takes": [{"take": t["take"], "single_take": t["verdicts"]["single_take"], "aligned": t["verdicts"]["aligned"], + "complete": t["verdicts"]["complete"], "publishable": t["verdicts"]["publishable"], + "stands": t["stands"]} for t in takes]} + + +# ---------------------------------------------------------------- §5.3 the range proof, RFC 9162 + +def leaf(desc): + return sha(LEAF_DOMAIN, desc) + + +def node(a, b): + return sha(NODE_DOMAIN, a, b) + + +def split(n): + """The largest power of two below n, n >= 2.""" + k = 1 + while k * 2 < n: + k *= 2 + return k + + +def mth(ls): + """RFC 9162 §2.1.1, with the take tree's node; n >= 1.""" + if len(ls) == 1: + return ls[0] + k = split(len(ls)) + return node(mth(ls[:k]), mth(ls[k:])) + + +def path(m, d): + """RFC 6962 §2.1.1's PATH(m, D[n]).""" + if len(d) <= 1: + return [] + k = split(len(d)) + return path(m, d[:k]) + [mth(d[k:])] if m < k else path(m - k, d[k:]) + [mth(d[:k])] + + +def range_nodes(a, b, d): + """§5.3's RANGE(a, b, D[n]).""" + n = len(d) + if a == 0 and b == n: + return [] + k = split(n) + if b <= k: + return range_nodes(a, b, d[:k]) + [mth(d[k:])] + if a >= k: + return range_nodes(a - k, b - k, d[k:]) + [mth(d[:k])] + return range_nodes(a, k, d[:k]) + range_nodes(0, b - k, d[k:]) + + +def range_root(a, b, n, ls, nodes): + """§5.3's ROOT(a, b, n, L), taking nodes from the front of `nodes`; None when they run out.""" + if a == 0 and b == n: + return mth(ls) + k = split(n) + if b <= k: + x = range_root(a, b, k, ls, nodes) + return None if x is None or not nodes else node(x, nodes.pop(0)) + if a >= k: + x = range_root(a - k, b - k, n - k, ls, nodes) + return None if x is None or not nodes else node(nodes.pop(0), x) + x = range_root(a, k, k, ls[:k - a], nodes) + y = None if x is None else range_root(0, b - k, n - k, ls[k - a:], nodes) + return None if y is None else node(x, y) + + +def range_verifies(first, ls, proof, size, root): + """§5.3: the proof shows `ls` are leaves `first` onward of the tree (size, root).""" + if not ls or first + len(ls) > size: + return False + nodes = list(proof) + r = range_root(first, first + len(ls), size, ls, nodes) + return r is not None and not nodes and r == root + + +def rfc9162_inclusion(leaf_hash, leaf_index, tree_size, inclusion_path, root_hash): + """RFC 9162 §2.1.3.2, as its steps state it, with node() for HASH(0x01 || ...).""" + if leaf_index >= tree_size: + return False + fn, sn = leaf_index, tree_size - 1 + r = leaf_hash + for p in inclusion_path: + if sn == 0: + return False + if fn & 1 or fn == sn: + r = node(p, r) + if not fn & 1: + while not fn & 1 and fn != 0: + fn >>= 1 + sn >>= 1 + else: + r = node(r, p) + fn >>= 1 + sn >>= 1 + return sn == 0 and r == root_hash + + +def self_test(): + """The range check against RFC 9162 §2.1.3.2 and RFC 6962's PATH: the failures.""" + fails = [] + ls = [sha(b"t", bytes([i])) for i in range(22)] + for n in range(1, 22): + d, root = ls[:n], mth(ls[:n]) + for a in range(n): + p = path(a, d) + if range_nodes(a, a + 1, d) != p: + fails.append("RANGE(%d, %d) is not PATH at n = %d" % (a, a + 1, n)) + if not rfc9162_inclusion(d[a], a, n, p, root) or not range_verifies(a, [d[a]], p, n, root): + fails.append("an inclusion proof does not verify at n = %d, a = %d" % (n, a)) + for bad in ([x for x in p[:-1]] + [bytes(32)] if p else [], p + [bytes(32)]): + if rfc9162_inclusion(d[a], a, n, bad, root) != range_verifies(a, [d[a]], bad, n, root): + fails.append("the two checks disagree at n = %d, a = %d" % (n, a)) + for b in range(a + 1, n + 1): + q = range_nodes(a, b, d) + if not range_verifies(a, d[a:b], q, n, root): + fails.append("RANGE(%d, %d) does not verify at n = %d" % (a, b, n)) + if b < n and range_verifies(a + 1, d[a:b], q, n, root): + fails.append("a moved run verifies at n = %d" % n) + if q and range_verifies(a, d[a:b], q[:-1], n, root): + fails.append("a short proof verifies at n = %d" % n) + return fails + + +# ---------------------------------------------------------------- §5 clips + +def read_clip(b): + """§5.1, §5.2: the clip record, or Refuse.""" + read_head(b, b"WCL1") + r = Reader(b, 5) + c = {"room": r.take(32), "in": r.uint(8), "out": r.uint(8), "parts": []} + for _ in range(r.uint(1)): + p = {"device": r.take(32), "take": r.take(32), "head": r.take(32), "size": r.uint(8), "root": r.take(32), + "first": r.uint(8)} + count = r.uint(4) + p["trim_in"], p["trim_out"] = r.uint(8), r.uint(8) + p["chunks"] = [CT.read_chunk(CT.Reader(r.take(64), 0, "truncated")) for _ in range(count)] + p["proof"] = [r.take(32) for _ in range(r.uint(1))] + c["parts"].append(p) + c["signer"] = r.take(32) + c["sig"] = r.take(64) + if not r.done(): + raise Refuse("malformed") + ps = c["parts"] + ok = 1 <= len(ps) <= 16 and len({p["take"] for p in ps}) == len(ps) and c["in"] < c["out"] + trimmed = any(p["trim_in"] or p["trim_out"] for p in ps) + ok = ok and (not trimmed or len(ps) == 1) + for p in ps: + ch = p["chunks"] + ok = (ok and len(ch) >= 1 and all(x["index"] == p["first"] + i and x["len"] >= 1 for i, x in enumerate(ch)) + and len(p["proof"]) <= 128 and p["trim_in"] < ch[0]["len"] and p["trim_out"] < ch[-1]["len"] + and (len(ch) > 1 or p["trim_in"] + p["trim_out"] < ch[0]["len"])) + if not ok: + raise Refuse("clip_record_invalid") + check_sig(c["signer"], CLIP_DOMAIN, b[:-64], c["sig"]) + c["digest"] = sha(b[:-64]) + return c + + +def verify_part(k, p, given, d, clip): + """§5.4 step 3 for part k: its facts, or Stop.""" + I, J = d["commit_interval_ms"] * 1000, d["jitter_ms"] * 1000 + at_part = ["part", k] + if bytes.fromhex(given["device"]) != p["device"]: # (a) + raise Stop(at_part, "clip_device_mismatch") + held = [] + for j, h in enumerate(given["commits"]): # (b) + at = ["commit", k, j] + b = bytes.fromhex(h) + try: + ev = LEV.read_record(b) + except Refuse as e: + raise Stop(at, e.reason) + if ev["room"] != d["room"]: + raise Stop(at, "wrong_room") + if ev["principal"] != p["device"]: + raise Stop(at, "clip_device_mismatch") + bad = ED.verify(ev["principal"], LEV.SIGN_DOMAIN + ev["body"], ev["sig"]) + if bad: + raise Stop(at, bad) + if ev["kind"] != TAKE_COMMIT: + raise Stop(at, "commit_malformed") + try: + c = CT.read_commit(ev["payload"]) + except Refuse as e: + raise Stop(at, e.reason) + if c["take"] != p["take"]: + raise Stop(at, "clip_take_mismatch") + held.append((ev, c)) + if not held: # (c) + raise Stop(at_part, "commit_chain_broken") + if not CT.is_opening(held[0][1]): + raise Stop(["commit", k, 0], "commit_chain_broken") + for j in range(1, len(held)): + (pe, pc), (_, c) = held[j - 1], held[j] + if c["n"] > pc["n"] + 1: + raise Stop(["commit", k, j], "delivery_gap") + if not (pc["phase"] != CLOSE and c["phase"] != OPEN and c["n"] == pc["n"] + 1 and c["prev"] == pe["digest"] + and c["first"] == pc["size"]): + raise Stop(["commit", k, j], "commit_chain_broken") + for j in range(1, len(held)): + pc, c = held[j - 1][1], held[j][1] + if not CT.extends(c["first"], pc["root"], c["size"], c["root"], c["proof"]): + raise Stop(["commit", k, j], "root_not_extending") + hev, hc = held[-1] # (d) + if hev["digest"] != p["head"] or hc["size"] != p["size"] or hc["root"] != p["root"]: + raise Stop(at_part, "tree_head_not_committed") + ch = p["chunks"] + if p["first"] + len(ch) > p["size"]: # (e) + raise Stop(at_part, "clip_out_of_range") + if not range_verifies(p["first"], [leaf(x["desc"]) for x in ch], p["proof"], p["size"], p["root"]): # (f) + raise Stop(at_part, "clip_not_included") + if len(ch) == 1 and rfc9162_inclusion(leaf(ch[0]["desc"]), p["first"], p["size"], p["proof"], p["root"]) is not True: + raise Stop(at_part, "clip_not_included") + o = held[0][1]["offset"] + for j, (_, c) in enumerate(held): # (g) + if abs(c["offset"] - o) > J: + raise Stop(["commit", k, j], "clock_unstable") + if any(x["start"] >= x["end"] for x in ch) or any(b["start"] != a["end"] for a, b in zip(ch, ch[1:])): # (h) + raise Stop(at_part, "capture_discontinuous") + if any(x["end"] - x["start"] > I for x in ch): + raise Stop(at_part, "chunk_too_long") + + def adder(x): + return next(ev for ev, c in held if c["first"] <= x["index"] < c["size"]) + if any(adder(x)["t"] + J < x["end"] + o for x in ch): # (i) + raise Stop(at_part, "commit_early") + if any(adder(x)["t"] > x["end"] + o + I + J for x in ch): + raise Stop(at_part, "commit_late") + span = (ch[0]["start"] + o, ch[-1]["end"] + o) # (j) + wi, wo = clip["in"], clip["out"] + covers = span[0] <= wi and wo <= span[1] and wi < ch[0]["end"] + o and ch[-1]["start"] + o < wo + if not covers or ((p["trim_in"] or p["trim_out"]) and (wi, wo) != span): + raise Stop(at_part, "clip_window_invalid") + shown = b"" # (k) + for j, x in enumerate(ch): + h = given["bytes"][j] if j < len(given["bytes"]) else None + if h is None: + raise Stop(["chunk", k, j], "clip_chunk_missing") + b = bytes.fromhex(h) + if not CT.is_chunk(x, b): + other = any(y["index"] != x["index"] and CT.is_chunk(y, b) for y in ch) + raise Stop(["chunk", k, j], "chunk_reordered" if other else "chunk_altered") + shown += b + if len(given["bytes"]) > len(ch): + raise Stop(["chunk", k, len(ch)], "chunk_extra") + shown = shown[p["trim_in"]:len(shown) - p["trim_out"]] + return {"take": p["take"].hex(), "first": p["first"], "count": len(ch), "offset": o, "span": list(span), + "device_window": [wi - o, wo - o], "bytes": len(shown), "sha256": sha(shown).hex(), + "fetch": {"namespace": [d["room"].hex(), p["device"].hex(), "take"], "name": p["take"].hex(), + "start_group": p["first"], "start_object": 0, "end_group_delta": len(ch) - 1}} + + +def verify_clip(v): + """§5.4: a dict of what the corpus states.""" + try: + try: + d = LRV.read_descriptor(bytes.fromhex(v["descriptor"])) + except Refuse as e: + raise Stop(["descriptor"], e.reason) + try: + clip = read_clip(bytes.fromhex(v["record"])) + except Refuse as e: + raise Stop(["clip"], e.reason) + if clip["room"] != d["room"]: + raise Stop(["clip"], "wrong_room") + if len(v["parts"]) != len(clip["parts"]): + raise Stop(["clip"], "clip_record_invalid") + facts = [verify_part(k, p, g, d, clip) for k, (p, g) in enumerate(zip(clip["parts"], v["parts"]))] + except Stop as e: + return {"outcome": "refuse", "reason": e.reason, "at": e.at} + J = d["jitter_ms"] * 1000 + return {"outcome": "accept", "clip": clip["digest"].hex(), "signer": clip["signer"].hex(), "window": [clip["in"], clip["out"]], + "bound_us": J if len(facts) == 1 else 2 * J, "facts": facts} + + +# ---------------------------------------------------------------- the corpus + +def files_of(v): + return {p: bytes.fromhex(h) for p, h in v["files"].items()} + + +def problems(v, got): + out = [k for k in got if v.get(k) != got[k]] + return out + [k for k in ("outcome", "reason", "at") if k in v and k not in got] + + +def check(doc, quiet=False): + """Every vector against its statement: the failures.""" + fails = [] + for kind, f in (("recordings", lambda v: verify_recording(files_of(v), v["evaluated_at"])), ("clips", verify_clip)): + for v in doc.get(kind, []): + try: + got = f(v) + except Exception as e: # a crash on a mutated copy is a failure to read it + got, bad = None, ["the vector does not verify: %s: %s" % (type(e).__name__, e)] + else: + bad = problems(v, got) + if not quiet: + what = "?" if got is None else got["outcome"] + (" " + got["reason"] if got["outcome"] == "refuse" else "") + print(("PASS" if not bad else "FAIL") + " %s %s: %s" % (kind[:-1], v["name"], what)) + for k in bad: + fails.append("%s %s: %s is %s, the corpus states %s" % ( + kind[:-1], v["name"], k, json.dumps(got.get(k))[:200] if got else k, json.dumps(v.get(k))[:200])) + return fails + + +def reuse_fails(doc, takes): + """Every take the corpus says it reuses is capture binding's, byte for byte.""" + by = {v["name"]: v for v in takes["vectors"]} + fails, n = [], 0 + for v in doc["recordings"]: + for r in v["reuses"]: + t, d, f = by[r["vector"]], "takes/%s/" % r["take"], v["files"] + parts = sorted((int(p[len(d) + 6:len(d) + 16]), h) for p, h in f.items() if p.startswith(d + "chunk-")) + same = (t["take"] == r["take"] and f.get(d + "manifest.wtm") == t["manifest"] + and parts == [(p["index"], p["bytes"]) for p in t["parts"]] + and [h for p, h in sorted(f.items()) if p.startswith(d + "receipt-")] == t["receipts"] + and [h for p, h in sorted(f.items()) if p.startswith(d + "consent-")] == t["consents"]) + if not same: + fails.append("recording %s: its take %s is not %s" % (v["name"], r["take"][:12], r["vector"])) + n += 1 + for c in doc["clips"]: + for p in c["parts"]: + if p["take_vector"] is None: + continue + t = by[p["take_vector"]] + records = {x for ch in t["chains"] for x in ch} + parts = {x["bytes"] for x in t["parts"]} + if not all(x in records for x in p["commits"]) or not all(b is None or b in parts for b in p["bytes"]): + fails.append("clip %s: a part is not %s's" % (c["name"], p["take_vector"])) + n += 1 + if n == 0: + fails.append("the corpus reuses no take") + return fails + + +def flip(h, at): + b = bytearray(bytes.fromhex(h)) + b[at] ^= 0x01 + return b.hex() + + +def mutations(doc): + """Copies of the corpus, each with one defect a conforming verifier must catch.""" + rn = {v["name"]: k for k, v in enumerate(doc["recordings"])} + cn = {v["name"]: k for k, v in enumerate(doc["clips"])} + + def mutate(label, f): + d = copy.deepcopy(doc) + f(d["recordings"], d["clips"]) + return label, d + + def first_chunk(v): + return next(p for p in sorted(v["files"]) if "/chunk-" in p) + + good, single, aligned = rn["lesson_session"], cn["single_chunk"], cn["two_takes_aligned"] + return [ + mutate("a byte of the session's first chunk file", lambda rs, cs: rs[good]["files"].update({first_chunk(rs[good]): flip(rs[good]["files"][first_chunk(rs[good])], 3)})), + mutate("the session's listing dropped", lambda rs, cs: rs[good]["files"].pop("LISTING")), + mutate("a byte of the session's manifest signature", lambda rs, cs: rs[good]["files"].update({"recording.wrm": flip(rs[good]["files"]["recording.wrm"], -9)})), + mutate("the session's stated package digest", lambda rs, cs: rs[good].update(package="00" * 32)), + mutate("the session evaluated a year on", lambda rs, cs: rs[good].update(evaluated_at=rs[good]["evaluated_at"] + 365 * 86400)), + mutate("the omitted take stated complete", lambda rs, cs: rs[rn["take_omitted"]].update(complete="holds")), + mutate("the missing chunk stated complete", lambda rs, cs: rs[rn["missing_chunk"]].update(complete="holds")), + mutate("the unpermitted signer stated at the listing", lambda rs, cs: rs[rn["signer_not_permitted"]].update(at=["listing"])), + mutate("a byte of the single chunk's bytes", lambda rs, cs: cs[single]["parts"][0]["bytes"].__setitem__(0, flip(cs[single]["parts"][0]["bytes"][0], 2))), + mutate("a byte of the single chunk's record", lambda rs, cs: cs[single].update(record=flip(cs[single]["record"], 200))), + mutate("the single chunk's last commitment dropped", lambda rs, cs: cs[single]["parts"][0]["commits"].pop()), + mutate("the single chunk's stated digest", lambda rs, cs: cs[single]["facts"][0].update(sha256="00" * 32)), + mutate("the aligned clip's stated bound", lambda rs, cs: cs[aligned].update(bound_us=500000)), + mutate("the aligned clip's parts given in each other's place", lambda rs, cs: cs[aligned]["parts"].reverse()), + mutate("the byte range's stated fetch", lambda rs, cs: cs[cn["byte_range"]]["facts"][0]["fetch"].update(start_group=3)), + mutate("the byte range's stated window on the device clock", lambda rs, cs: cs[cn["byte_range"]]["facts"][0]["device_window"].__setitem__(0, 0)), + mutate("the live head's commitment 2 dropped", lambda rs, cs: cs[cn["live_head"]]["parts"][0]["commits"].pop()), + mutate("the missing chunk given chunk 5's bytes", lambda rs, cs: cs[cn["missing_chunk"]]["parts"][0]["bytes"].__setitem__(1, cs[cn["missing_chunk"]]["parts"][0]["bytes"][0])), + mutate("the spliced clip stated accepted", lambda rs, cs: cs[cn["spliced_two_takes"]].update(outcome="accept")), + mutate("the uncommitted head stated at part 1", lambda rs, cs: cs[cn["uncommitted_head"]].update(at=["part", 1])), + mutate("the clean span's late commitment dropped", lambda rs, cs: cs[cn["late_take_clean_span"]]["parts"][0]["commits"].pop(3)), + ] + + +def main(corpus_dir): + fails = [] + st = ED._self_test() + print(("PASS" if not st else "FAIL") + " Ed25519 strict rule self-test " + ",".join(st)) + fails += ["ed25519 self-test"] if st else [] + rt = self_test() + print(("PASS" if not rt else "FAIL") + " range proofs: §5.3's recursion against RFC 9162 §2.1.3.2 and RFC 6962's PATH") + fails += rt + with open(os.path.join(corpus_dir, "vectors.json"), encoding="utf-8") as f: + doc = json.load(f) + with open(os.path.join(corpus_dir, "..", "takes", "vectors.json"), encoding="utf-8") as f: + takes = json.load(f) + fails += check(doc) + seen = {v.get("reason") for v in doc["recordings"] + doc["clips"]} | {v.get("complete") for v in doc["recordings"]} + missing = [r for r in REASONS if r not in seen] + if missing: + fails.append("no vector gives %s" % ", ".join(missing)) + good = [v["name"] for v in doc["recordings"] if v["name"] in ("lesson_session", "signed_by_director") and not v.get("stands")] + good += [v["name"] for v in doc["clips"] if v["name"] in ("single_chunk", "byte_range", "whole_take", "first_chunk", + "last_chunk", "two_takes_aligned", "live_head") and v["outcome"] != "accept"] + if good: + fails.append("good vectors that do not stand or are not accepted: %s" % ", ".join(good)) + print("%s every reason of §9 appears, the good recordings stand and the good clips are accepted" % ("PASS" if not (missing or good) else "FAIL")) + rf = reuse_fails(doc, takes) + print("%s every take the corpus reuses is capture binding's, byte for byte" % ("PASS" if not rf else "FAIL")) + fails += rf + for label, mutated in mutations(doc): + changed = {k: [v for v, o in zip(mutated[k], doc[k]) if v != o] for k in ("recordings", "clips")} + caught = check(changed, quiet=True) if any(changed.values()) else [] + print(("PASS" if caught else "FAIL") + " mutated copy fails: %s%s" % (label, " (%s)" % caught[0][:110] if caught else "")) + if not caught: + fails.append("a mutated copy verifies: %s" % label) + for f in fails: + print("FAIL " + f) + print(("PASS" if not fails else "FAIL") + " live-recording corpus: %d recordings, %d clips" % (len(doc["recordings"]), len(doc["clips"]))) + return 1 if fails else 0 + + +if __name__ == "__main__": + if len(sys.argv) != 2: + print("usage: live_record_verify.py ", file=sys.stderr) + sys.exit(2) + sys.exit(main(sys.argv[1])) diff --git a/wai/live-conformance/recordings/vectors.json b/wai/live-conformance/recordings/vectors.json index 4caaf2b00..f5fe2ad6d 100644 --- a/wai/live-conformance/recordings/vectors.json +++ b/wai/live-conformance/recordings/vectors.json @@ -1762,7 +1762,7 @@ }, { "name": "proof_not_reaching_head", - "about": "chunk 4 with one node of its range proof changed: the proof does not reach the head's root (§5.4 f)", + "about": "chunk 4 with one node of its range proof changed: the proof does not reach the head's root (§5.4 step 3f)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2504000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640442cf2390e1b203569ebbfbb9a4ffedaa69546c681dfb5d0d1aff3c9d1f9437ddd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bdeb3baaec6825cc9fcb678aeef6e7721310722b3e6bebaddb4f010736eef7dc53c8f2adec6991b3dca52a90dbdefbb14aabdafec93eaf6483a4690e8d3fdae50e", "parts": [ @@ -1791,7 +1791,7 @@ }, { "name": "range_past_size", - "about": "chunks 1 to 4 against commitment 2, which committed four chunks: chunk 4 lies past the head's size (§5.4 e)", + "about": "chunks 1 to 4 against commitment 2, which committed four chunks: chunk 4 lies past the head's size (§5.4 step 3e)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cac0cf6a0000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e40026210400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00010000000000000004000000000000000000000000000000000000000100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c5236400d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0db0ada5024e7b1cd1425cfdb428e2fb7a39f946529e82e280d430ecc5b1f062bcd93535f854811be329c8d2456a8275ee3cbc898762a5442728f030c484ca0e", "parts": [ @@ -1820,7 +1820,7 @@ }, { "name": "missing_chunk", - "about": "chunks 5 to 7 of capture binding's missing_chunk take, whose chunk 6 was never uploaded: the descriptors and the proof stand, and chunk 6's bytes are absent (§5.4 k)", + "about": "chunks 5 to 7 of capture binding's missing_chunk take, whose chunk 6 was never uploaded: the descriptors and the proof stand, and chunk 6's bytes are absent (§5.4 step 3k)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cac0d8a70000000000809fd5000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0a258d32fb15f68e4edfa541cce451080b561f0e2cb76ec98165e7440f2914870a00000000000000dc7a42f07554cfa62ed6900f944c87f427893f10951a9348c748c805815ab253050000000000000003000000000000000000000000000000000000000500000000000000c0caad2a01000000000dbd2a01000000690000000000000006487594a40d2b75da30bc69de67e9a80581e8aa150cc31d2e53b7b4961701430600000000000000000dbd2a01000000404fcc2a010000004e00000000000000578f2ccfc619aaf1759927667154012d4694c312e4a3d7cfa1e92320865c1ad30700000000000000404fcc2a010000008091db2a01000000330000000000000020d779756a384fe0edd2cc306619a1dde0e0e80816698ed67e6abf0dee2e3bd603b9d23424b2677ca4bd57d089fd9ba6a5cdb0f80a3736e7e5d0264e3eaef2572abec08ec8ac5565fc4b8d4775effafdf9490afc1db34ec1a4b3cdc44b34a4d57bdc1b5a06137a398a0979bf8c1b2c3573dc80b5fff17d60c072967de3230e0b46d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd4e24b8c31cd146b962e51851f114bdd64415c77739fafe75a673740f63a52d02704ff9e2bdb298fa035d4c5dd529e4677f321a8060f7b4822fe251353e68de01", "parts": [ @@ -1852,7 +1852,7 @@ }, { "name": "spliced_two_takes", - "about": "chunks 3 to 5 of the performer's take with chunk 4 replaced by the accompanist's chunk 4, its descriptor and its bytes: the leaves are not the head's (§5.4 f)", + "about": "chunks 3 to 5 of the performer's take with chunk 4 replaced by the accompanist's chunk 4, its descriptor and its bytes: the leaves are not the head's (§5.4 step 3f)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca4054890000000000001bb7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2503000000000000000300000000000000000000000000000000000000030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f30400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba0500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a4804c261f4fd67c5cc77a8471309dc250c4cd5d17d2ed91f4c0d19b8cd3741deb8b9880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1bd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bdaeaca7938fe20e20d125085e4a9c0b85376d61deda7525416c0a73d2b8f2a41af573df903a3dca54d50d99ccb294a607bcc7111dc98ce166b89c7c30dfdb4e00", "parts": [ @@ -1883,7 +1883,7 @@ }, { "name": "reordered_chunk", - "about": "chunks 3 to 5 with the bytes of chunks 3 and 4 each given at the other's place (§5.4 k)", + "about": "chunks 3 to 5 with the bytes of chunks 3 and 4 each given at the other's place (§5.4 step 3k)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca4054890000000000001bb7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2503000000000000000300000000000000000000000000000000000000030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a4804c261f4fd67c5cc77a8471309dc250c4cd5d17d2ed91f4c0d19b8cd3741deb8b9880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1bd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd16ef4581e79c93a7221202ae37c0767ee85971b8a64aa92a087d5521a3d61caa66c6d0a80245d541951c751a403c2b167cc8dc43800a80deb57e8250fcb4ca09", "parts": [ @@ -1915,7 +1915,7 @@ }, { "name": "altered_chunk", - "about": "chunk 4 with one byte of its bytes changed (§5.4 k)", + "about": "chunk 4 with one byte of its bytes changed (§5.4 step 3k)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2504000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640442cf2390e19203569ebbfbb9a4ffedaa69546c681dfb5d0d1aff3c9d1f9437ddd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd9bd014d7d799ebd4afb20dfe25eaaebda7686b6076aeba4008aaa4366b767e3d76a598e6db416cd0e138a67802e0aa9510fe96583753556ba861f71fc4c08f05", "parts": [ @@ -1945,7 +1945,7 @@ }, { "name": "extra_chunk", - "about": "chunk 4 given with chunk 5's bytes after it, which the record does not cover (§5.4 k)", + "about": "chunk 4 given with chunk 5's bytes after it, which the record does not cover (§5.4 step 3k)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2504000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640442cf2390e19203569ebbfbb9a4ffedaa69546c681dfb5d0d1aff3c9d1f9437ddd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd9bd014d7d799ebd4afb20dfe25eaaebda7686b6076aeba4008aaa4366b767e3d76a598e6db416cd0e138a67802e0aa9510fe96583753556ba861f71fc4c08f05", "parts": [ @@ -1976,7 +1976,7 @@ }, { "name": "uncommitted_head", - "about": "chunks 8 and 9 proved against a tree of eleven chunks, the take's ten and one appended, under the closing commitment's digest: no commitment of the take has that size and root (§5.4 d)", + "about": "chunks 8 and 9 proved against a tree of eleven chunks, the take's ten and one appended, under the closing commitment's digest: no commitment of the take has that size and root (§5.4 step 3d)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca809fd500000000000024f4000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80b0000000000000060aa969c0af96dcc056d33a415ec2d2e4595b3e1e7953907281a8f1477b034a40800000000000000020000000000000000000000000000000000000008000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a4626702d312ff0d25645a1987fbd44e5f7bb1d3dfdce37c410f27812ea7c687cfcd77e3cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd69a6aecd8cafbdf7b228652554fc52005ed4db45b44d2a6fddf9d707dbb4d61f3dc6865edaf12a84ac94d2496dff60bda07c6872042e602d0fd1268f7fca8c04", "parts": [ @@ -2006,7 +2006,7 @@ }, { "name": "commit_gap", - "about": "chunk 4 with the take's commitment 2 left out of the commitments given (§5.4 c)", + "about": "chunk 4 with the take's commitment 2 left out of the commitments given (§5.4 step 3c)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2504000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640442cf2390e19203569ebbfbb9a4ffedaa69546c681dfb5d0d1aff3c9d1f9437ddd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd9bd014d7d799ebd4afb20dfe25eaaebda7686b6076aeba4008aaa4366b767e3d76a598e6db416cd0e138a67802e0aa9510fe96583753556ba861f71fc4c08f05", "parts": [ @@ -2035,7 +2035,7 @@ }, { "name": "commit_malformed", - "about": "chunk 4 with a take_commit of the device whose ten-byte payload does not read, among the commitments given (§5.4 b)", + "about": "chunk 4 with a take_commit of the device whose ten-byte payload does not read, among the commitments given (§5.4 step 3b)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2504000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640442cf2390e19203569ebbfbb9a4ffedaa69546c681dfb5d0d1aff3c9d1f9437ddd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd9bd014d7d799ebd4afb20dfe25eaaebda7686b6076aeba4008aaa4366b767e3d76a598e6db416cd0e138a67802e0aa9510fe96583753556ba861f71fc4c08f05", "parts": [ @@ -2066,7 +2066,7 @@ }, { "name": "take_mismatch", - "about": "a part that names the accompanist's take over the performer's device and its commitments: the commitments are of another take (§5.4 b)", + "about": "a part that names the accompanist's take over the performer's device and its commitments: the commitments are of another take (§5.4 step 3b)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d965c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2504000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640442cf2390e19203569ebbfbb9a4ffedaa69546c681dfb5d0d1aff3c9d1f9437ddd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bdc26274f1203de4857580c9768affd067a8b7409ecc12a1f1c300fc4c2fb82d3f64c48fffdc92645c5606d26f1483c18ed862f4649f4fb0efae6cccd33e416d03", "parts": [ @@ -2096,7 +2096,7 @@ }, { "name": "device_mismatch", - "about": "the performer's chunk 4, verified under the accompanist device's key (§5.4 a)", + "about": "the performer's chunk 4, verified under the accompanist device's key (§5.4 step 3a)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2504000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640442cf2390e19203569ebbfbb9a4ffedaa69546c681dfb5d0d1aff3c9d1f9437ddd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9ddd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd9bd014d7d799ebd4afb20dfe25eaaebda7686b6076aeba4008aaa4366b767e3d76a598e6db416cd0e138a67802e0aa9510fe96583753556ba861f71fc4c08f05", "parts": [ @@ -2230,7 +2230,7 @@ }, { "name": "window_not_covered", - "about": "the aligned clip with the accompanist's part starting at chunk 2, which begins after the window's start (§5.4 j)", + "about": "the aligned clip with the accompanist's part starting at chunk 2, which begins after the window's start (§5.4 step 3j)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca00127a0000000000001bb7000000000002e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f250200000000000000040000000000000000000000000000000000000002000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a4803880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1bd75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eeefef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96fb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f38608000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb020000000000000003000000000000000000000000000000000000000200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba03903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd4e71a3ac488951221cf5ee8ad30d19e798b1a79f12459b78636cb58050714fabd35894e63ebe93a94bfdcdd0433f839267d1046fd18ee6e546fa6612d2e3ee0a", "parts": [ @@ -2312,7 +2312,7 @@ }, { "name": "commit_late", - "about": "chunk 4 of capture binding's late_commit take, committed 2.8 s after its capture ended (§5.4 i)", + "about": "chunk 4 of capture binding's late_commit take, committed 2.8 s after its capture ended (§5.4 step 3i)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03ee0c494c523bbd5cd9f3c1553e8739677d8ef323b69f2f144d8e8ab5353a496850a00000000000000bda5feac659aefa19e92879c0e54a8c0553c191d000a7e08df74346c7029d0aa04000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a010000004400000000000000bbe329f3c384a6639c0c310949666c3fc0a1e6663f8acfd5a56baac147b6eef404b812b297dd2f5cef06e40d8ae77da25d8040abcfd7789f37905991908b1c4f435c140cc005a8e918f78ffb7829c7d6d4b32a36f76879fe5438bbb6f5aeebfca54319595899c869c6e797ce34025b8dfdbae2e0f052f1bceeedebae5ffc0b4e9e1bc14493af1725a1564c44fc616bfb687e46b49fe54d011a88c64711d2baa3a4d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bdb53947bdf65375d6da923285f798a21fb7c3297d37adf2f8046a7d80244eb76f232a4f175876b36ae494a174bb80d1a7bee5098a3f12285ea71571cb45f7c404", "parts": [ @@ -2341,7 +2341,7 @@ }, { "name": "commit_early", - "about": "chunk 4 of capture binding's commit_early take, committed before its capture ended (§5.4 i)", + "about": "chunk 4 of capture binding's commit_early take, committed before its capture ended (§5.4 step 3i)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000c0d8a7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03eff001cba7a20a02d8b990ab0a74b4215158da8632f82bb2741156aa9e54615b90a00000000000000e819ce5ae27b95126df7bc7a694e141bcbb464944378ad2ff4a92e1bfde0b1ac04000000000000000100000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a0100000044000000000000006988afc111642896af72a8a2d4334d2c394655631622c18ee0006c8be0519e8404648c4aa99e1e841ef29f347cc9c280f6ebd265ba80585a33ba138cc96b30cc7760a6221e4e65872f1ab3234143da2db16bc766a5aacf23f6d4e632cb878a63fd99a6c39cfcffbe1df772054aa4940138a191960724d3b7dcf720f58c7a954e21835934468c0352143e43232a03a62907df27686a4447abe533c36a2545660047d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd20a122990d052d1745885e6a277e45c624a918b3166ae33fb9df68a0b9df668c2ac6694ea7f7e81402c99d31a865e79191e6745c1200479ac9027049a8f02c02", "parts": [ @@ -2370,7 +2370,7 @@ }, { "name": "root_not_extending", - "about": "chunk 8 of capture binding's root_not_extending take, against its closing commitment: commitment 4 does not extend commitment 3 (§5.4 c)", + "about": "chunk 8 of capture binding's root_not_extending take, against its closing commitment: commitment 4 does not extend commitment 3 (§5.4 step 3c)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca809fd50000000000c0e1e4000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00ceee1afc0f8283bc00cd87988984eb676e2c9876ce1357a454f5861785eb380a0000000000000003bc67f718aee2cab81c66393a7cc95d7125c5906d984192932804673c215ee80800000000000000010000000000000000000000000000000000000008000000000000008091db2a01000000c0d3ea2a0100000058000000000000001bb44a6459317ce1dc3732ffba55599e1f72262332f786ee94c17a67a65bbfa4022e96911ee500f8df86ff42eeb86ef29157e7347ee3725033c4e21320329a5ab91c4e56ef7c7b82abb35e955aa4e289feb18914ed8e73cd7380402408d0e73fabd6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd54af402e74188f203149ec67d1d7600a1c14312be104e75e894cf32c52cacf7ec9976bf3413c083703fb558a6d08e2194df4e509bf958083506f252879cc9902", "parts": [ @@ -2400,7 +2400,7 @@ }, { "name": "clock_unstable", - "about": "chunk 8 of capture binding's clock_unstable take, whose commitment 3 states an offset 600 ms off (§5.4 g)", + "about": "chunk 8 of capture binding's clock_unstable take, whose commitment 3 states an offset 600 ms off (§5.4 step 3g)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca809fd50000000000c0e1e4000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e540f0e056a865eb98c256d8c120c76b3cc8c60b935113976e5810863a678a9600a00000000000000680ecb79167911eac4bac73daba8e9d77cf1a34d4dc5e47b28bfa28284ceb3d30800000000000000010000000000000000000000000000000000000008000000000000008091db2a01000000c0d3ea2a0100000058000000000000006fdfe91ff460439db4fc4ad649995b2eb66eafcee3f0aaa3f0c9b57eb5a4272f02dc1f78fb7b04883ada4a06d525be804dc54929a6fac188376cf64a0db29765ac575f7f4285f4c1f27c5363595b93e5d82d35e3fcf1ca13b104a6397c6cd7e086d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bde19ddf3fe239396d66c81b22faaf203fbba93f7b86179e538331880622785252059cbe2f8796f3d21c2caa7105ef13847e5e2aff2a050cf12de3b7ae070d5209", "parts": [ @@ -2430,7 +2430,7 @@ }, { "name": "capture_discontinuous", - "about": "chunks 4 and 5 of capture binding's capture_discontinuous take, with 200 ms between them (§5.4 h)", + "about": "chunks 4 and 5 of capture binding's capture_discontinuous take, with 200 ms between them (§5.4 step 3h)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8096980000000000001bb7000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e5c692b3d202f41a1e7eda539e71ec85d2cdadd0e4ad01edfb69eb89117f70a5e0a00000000000000c0014ed864f4034e46b8b1d509eac28ca0c064120b32f087e40b55bf805715eb04000000000000000200000000000000000000000000000000000000040000000000000080889e2a01000000c0caad2a01000000440000000000000066389f896b5f29639ff3ebd0a99d21fa437ee86709d34b5e4958d071193d1d88050000000000000000d8b02a01000000000dbd2a010000006900000000000000e5424e4b68c7e94e65be59a435c8e1fac93c264fe34daaecd67f9a487163615503847cad27998885c7298247ac06aba82f55226967840a44cad4c7e9c5bd06e44d5667ad1e0c33254228105f1e657b385779c264fa6ba82f01b87f63ac8f235c220edc94ec749e071da13d89acba5e2d5954e6427c30878f5b715481bf2f1a36c6d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd00e6efb876b9550d70f315d2dd75ba2921838e78a5ca8be7ee2d756d6c5fbc157fdc645e56534885d74878386c9af7f16a9bf2bde5c3611ff139339c0911ae0b", "parts": [ @@ -2460,7 +2460,7 @@ }, { "name": "chunk_too_long", - "about": "chunk 3 of capture binding's chunk_too_long take, 2.5 s long (§5.4 h)", + "about": "chunk 3 of capture binding's chunk_too_long take, 2.5 s long (§5.4 step 3h)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca4054890000000000e079af000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03ee8c0d527f28b421eb5e8b236ac1910f5b71c2883272a8090a5819227a3e3b70e090000000000000021b08ff801f8a3269af66cd8f7ad1dfcb61dca047441e26d8217edb3043b912903000000000000000100000000000000000000000000000000000000030000000000000040468f2a01000000e06bb52a010000005f00000000000000bf4acf64257ed99c49e6cd560e5e634f17ad0041e9a957fd937d7428e58bcefb04a124c18972a4771f11e85bab33f48631fe6b33e927e12570e127d6cb9be52f03341c06bfcafb77745afbdf9a29464ecfe3847aa38b09067f062153c4b076845e31a659b8c39844607ae38ba5cbfb03fb990fff44315e7df27fb6dfc3ad0e1ec1fe7628db3460e380829ee765ef3d324948e6cc2f77e027d809f1f6e49a383f62d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bdd6c10f68948e83016d26a183cf1de9cb76c094d99753fec313156a96bb07f230e470e190fc51647cf228faf6cd38946b18565216fabad093d1453cb074f91c09", "parts": [ @@ -2489,7 +2489,7 @@ }, { "name": "commit_chain_broken", - "about": "chunk 7 of capture binding's commit_chain_broken take, whose commitment 3 does not name commitment 2 (§5.4 c)", + "about": "chunk 7 of capture binding's commit_chain_broken take, whose commitment 3 does not name commitment 2 (§5.4 step 3c)", "descriptor": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "record": "57434c31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca405dc60000000000809fd5000000000001e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f541f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e3319b480485c012ad32f93873f76060a800800b70bcd5104ce6992d315b489a60a00000000000000ce4af30172ca527296081b40b388cd6c25cf9e9bcfdc3beca54582d56ef21d0a070000000000000001000000000000000000000000000000000000000700000000000000404fcc2a010000008091db2a010000003300000000000000a6865ddae3481eaebec44bd2ca99c76df7f25a1fc4866c50189e9d642142a60904a097ed772127185ccac7e8c10fd5fe5fe2bd906d29cd0b2652075755de0ebc614f20fb3ecb6cd8285e371318bd55dbf0e921a9905a0989dabe2a2d08cb4a8d63cbef9a3dd7b7e5325ed21b11986dd7bab9f6649542a1bb29699bf5f284f30c68dbfc2812b96e08ff5bd60fcba52a06ee2a96e59d592bad42fbf0b2a8828b8c07d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bdde49b3823b7c5e53057baed1e1ecadfce20c091bcba703da22ba8453b5cb4842a825b80c71fe3987d10c168b5afdfa0895a3d31196012a0b74b5d5db215dfc0b", "parts": [ -- 2.54.0 (Apple Git-157) From 3ad589b1b808e7441647ba8d3abd4c464a31c079 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 10:33:36 -0400 Subject: [PATCH 06/26] wai: a recording manifest states where the package is kept, held to the room's region pin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit live-rooms §3.7 said the recording extension checks a recording's storage against the pin; WRM1 now carries region and the verifier refuses one outside it (store_outside_region). live-events §8.6, live-rooms §3.7 and capture-binding §1 point at live-recording. Co-Authored-By: Claude Opus 5.5 --- wai/extensions/capture-binding.md | 4 +-- wai/extensions/live-events.md | 4 +-- wai/extensions/live-recording.md | 15 +++++--- wai/extensions/live-rooms.md | 5 +-- wai/live-conformance/live_record_verify.py | 7 ++-- wai/live-conformance/recordings/README.md | 2 +- wai/wai-rs/src/live_record.rs | 42 +++++++++++++++++++--- wai/wai-rs/src/live_record/corpus.rs | 33 +++++++++++------ 8 files changed, 84 insertions(+), 28 deletions(-) mode change 100755 => 100644 wai/live-conformance/live_record_verify.py diff --git a/wai/extensions/capture-binding.md b/wai/extensions/capture-binding.md index 001f72fc7..b88c6cece 100644 --- a/wai/extensions/capture-binding.md +++ b/wai/extensions/capture-binding.md @@ -35,8 +35,8 @@ claim (§9); the mapping from a room-clock instant to a position in the master, bound (§10); and the mapping of a take and its CMAF output onto C2PA live video (§11). Out of scope: a transport; the master's codec and container (a take commits to its bytes, -whatever they encode); how a store is operated; the room's own recording (a later -extension); per-object receipts of the relay that witness when a commitment was seen +whatever they encode); how a store is operated; the room's own recording +([live-recording](live-recording.md)); per-object receipts of the relay that witness when a commitment was seen (a later extension); and what a party does with a verdict. Relationship to the core spec: `wai.capture.take` is a **record** ([SPEC](../SPEC.md) §5): diff --git a/wai/extensions/live-events.md b/wai/extensions/live-events.md index 270ad3c5a..1403102d0 100644 --- a/wai/extensions/live-events.md +++ b/wai/extensions/live-events.md @@ -585,8 +585,8 @@ extension, where a sender adds it, is experimental. A recording holds each principal's chain whole: its records concatenated in `seq` order, each record's length following from its own fields (§3.1). **Stream order** is that order. -In a sealed package the events are one component; packaging them is the recording -extension's, a later one. A recording verifies with the outcome accept, or states its gaps. +In a sealed package the events are one component, which +[live-recording](live-recording.md) §3.3 defines. A recording verifies with the outcome accept, or states its gaps. ## 9. Reasons diff --git a/wai/extensions/live-recording.md b/wai/extensions/live-recording.md index c4e79b29c..e00367017 100644 --- a/wai/extensions/live-recording.md +++ b/wai/extensions/live-recording.md @@ -165,6 +165,7 @@ signs a recording manifest, `WRM1`: | `to` | 8 | u64: its last instant | | `claims` | 1 | the claims the manifest makes: bit 0 `complete` | | `purposes` | 1 | the purposes it claims every take `publishable` for (capture-binding §2) | +| `region` | 2 | ISO 3166-1 alpha-2: where the package is kept | | `components` | 2 + … | a u16 count, then each component: `kind` (1), the length of its `id` (1), the `id`, and its `sha256` (32) | | `sig` | 64 | Ed25519 by `signer` | @@ -179,6 +180,7 @@ A reader reads exactly the bytes it is given, as live-events §3.3 reads a recor that breaks any of these rules as `recording_manifest_invalid`: - `claims` sets no bit above bit 0, and `purposes` none above bit 3; `from` is at most `to`; + `region` is two capitals `A`–`Z`; - the first component is the room (kind 1, `id` `room`) and the second the events (kind 2, `id` `events`); then come the takes, each of kind 3 with an `id` of 64 lowercase hexadecimal digits, in strictly ascending order of `id`; then, last, at most one @@ -221,7 +223,9 @@ and where: recording's, at `room` with the room verifier's own place. A gap is not a refusal: the steps go on, and §4.5 says what a gap fails. The manifest's `room` is the room id: otherwise `wrong_room`, at `manifest`. -5. **The signer** (§4.3): otherwise `recording_signer_not_permitted`, at `manifest`. +5. **The signer** (§4.3): otherwise `recording_signer_not_permitted`. **The region**: where + the room's recording policy pins regions (live-rooms §3.7), `region` is one of them, + otherwise `store_outside_region`, capture-binding §6.3's code. At `manifest`. 6. **The span.** Every record the room verifier accepted has its `t` within the session span: otherwise `outside_span`, at that record, with the room verifier's place for it. 7. **The takes.** For each take component, in the manifest's order: it holds the files of @@ -573,7 +577,8 @@ The codes this extension adds, each with where it is raised: code a room verifier or a take verifier raises (live-rooms §11, capture-binding §12, and the live-events codes they list), at the room or the take; `truncated`, `malformed`, `unknown_version`, `bad_key` and `bad_signature` for a manifest that does not read or whose -signature fails; `wrong_room` for a manifest of another room; and `delivery_gap` and every +signature fails; `wrong_room` for a manifest of another room; `store_outside_region` for a +package kept outside the room's region pin; and `delivery_gap` and every verdict of capture-binding §12 as a verdict. A clip verifier also raises the codes of a descriptor that does not read (live-rooms §11); `truncated`, `malformed`, `unknown_version`, `bad_key`, `bad_signature` and `wrong_room` for its record and its commitments; and @@ -602,7 +607,8 @@ key, the commitments and the chunks' bytes, with the outcome §5.4 gives them. - **Recordings refused:** a file changed after sealing (`listing_mismatch`) and with the listing rewritten (`component_digest_mismatch`); a file of no component; a component with a file §3 does not define; a manifest that breaks §4.2, of another room, or with a - bad signature; a manifest signed by a principal without the record power; a span that + bad signature; a manifest signed by a principal without the record power; a package kept + outside the room's region pin; a span that ends before the room's last event; a take, and a grant, whose signature fails. - **Good clips:** a single chunk, a byte range with trims, a whole take, the first chunk, the last chunk, a span of the second take, a span proved against a commitment made while @@ -641,7 +647,8 @@ and it mutates copies of the corpus and requires every copy to fail. the manifest names each component, so a component can be fetched and checked alone. - A recording is personal data of everyone it records: the masters, and the events, whose chats, markers and captions are principals' words. The room's region pin and - `retention_days` (live-rooms §3.7) apply to the package as they apply to the takes, and + `retention_days` (live-rooms §3.7) apply to the package as they apply to the takes: the + manifest states where the package is kept, and the verifier holds it to the pin; and a take's consents bound what `publishable` admits. - A clip proves that its bytes are those its take's device committed while it captured, at those indexes, under a commitment the device signed. Its trust rests on the device's diff --git a/wai/extensions/live-rooms.md b/wai/extensions/live-rooms.md index b4e6d4edf..82940feeb 100644 --- a/wai/extensions/live-rooms.md +++ b/wai/extensions/live-rooms.md @@ -179,8 +179,9 @@ extension's. - `regions`: the **region pin**, for data residency: ISO 3166-1 alpha-2 codes, each two capitals `A`–`Z`, in ascending order, at most 16. A recording of the room, and the media and events a relay keeps of it beyond delivery, **MUST** be stored only within - those regions; none means no pin. A recording's receipt states where it is stored; the - recording extension checks it against the pin. + those regions; none means no pin. A take's upload receipts state where its master is + stored ([capture-binding](capture-binding.md) §6.3), and a recording's manifest where the + package is kept ([live-recording](live-recording.md) §4.4); each is checked against the pin. `mode` is at most 2, and `commit_interval_ms` and `jitter_ms` keep the rule above. diff --git a/wai/live-conformance/live_record_verify.py b/wai/live-conformance/live_record_verify.py old mode 100755 new mode 100644 index 9aa514ca6..b636829f7 --- a/wai/live-conformance/live_record_verify.py +++ b/wai/live-conformance/live_record_verify.py @@ -159,7 +159,7 @@ def read_manifest(b): read_head(b, b"WRM1") r = Reader(b, 5) m = {"room": r.take(32), "signer": r.take(32), "from": r.uint(8), "to": r.uint(8), "claims": r.uint(1), - "purposes": r.uint(1), "components": []} + "purposes": r.uint(1), "region": r.take(2), "components": []} for _ in range(r.uint(2)): kind = r.uint(1) cid = r.take(r.uint(1)) @@ -168,7 +168,8 @@ def read_manifest(b): if not r.done(): raise Refuse("malformed") c = m["components"] - ok = m["claims"] & ~COMPLETE == 0 and m["purposes"] & ~0b1111 == 0 and m["from"] <= m["to"] + ok = (m["claims"] & ~COMPLETE == 0 and m["purposes"] & ~0b1111 == 0 and m["from"] <= m["to"] + and all(0x41 <= c <= 0x5A for c in m["region"])) ok = ok and len(c) >= 2 and (c[0]["kind"], c[0]["id"]) == (ROOM, b"room") and (c[1]["kind"], c[1]["id"]) == (EVENTS, b"events") rest = c[2:] if ok and rest and rest[-1]["kind"] == COMPOSITE: @@ -325,6 +326,8 @@ def verify_recording(files, at): and LRV.good_at(g, d, m["to"]) for g in held) if not ok: raise Stop(["manifest"], "recording_signer_not_permitted") + if d["regions"] and m["region"] not in d["regions"]: + raise Stop(["manifest"], "store_outside_region") for c, i, _ in room["order"]: t = LEV.read_record(chains[c][i])["t"] if not m["from"] <= t <= m["to"]: diff --git a/wai/live-conformance/recordings/README.md b/wai/live-conformance/recordings/README.md index c0e1f3cd2..776403924 100644 --- a/wai/live-conformance/recordings/README.md +++ b/wai/live-conformance/recordings/README.md @@ -77,7 +77,7 @@ store), here with up to two takes: - recordings refused: `listing_mismatch`, `component_digest_mismatch`, `component_unlisted`, `component_invalid`, `recording_manifest_invalid`, `manifest_bad_signature`, `manifest_wrong_room`, `signer_not_permitted`, - `outside_span`, `take_refused` and `room_refused`; + `outside_region`, `outside_span`, `take_refused` and `room_refused`; - good clips: `single_chunk`, `byte_range`, `whole_take`, `first_chunk`, `last_chunk`, `accompanist_span`, `live_head`, `two_takes_aligned` and `late_take_clean_span`; - clips refused, one defect each: `proof_not_reaching_head`, `range_past_size`, diff --git a/wai/wai-rs/src/live_record.rs b/wai/wai-rs/src/live_record.rs index 6b820100b..6f24c6fa5 100644 --- a/wai/wai-rs/src/live_record.rs +++ b/wai/wai-rs/src/live_record.rs @@ -391,6 +391,8 @@ pub struct RecordingManifest { pub to: u64, pub claims: u8, pub purposes: u8, + /// Where the package is kept: ISO 3166-1 alpha-2. + pub region: [u8; 2], pub components: Vec, pub sig: [u8; 64], } @@ -407,6 +409,7 @@ impl RecordingManifest { o.extend_from_slice(&self.to.to_le_bytes()); o.push(self.claims); o.push(self.purposes); + o.extend_from_slice(&self.region); assert!(self.components.len() <= u16::MAX as usize); o.extend_from_slice(&(self.components.len() as u16).to_le_bytes()); for c in &self.components { @@ -444,6 +447,7 @@ impl RecordingManifest { let (room, signer) = (r.arr()?, r.arr()?); let (from, to) = (r.u64()?, r.u64()?); let (claims, purposes) = (r.u8()?, r.u8()?); + let region = r.arr()?; let n = r.u16()? as usize; let mut components = Vec::with_capacity(n.min(b.len() / 34)); for _ in 0..n { @@ -456,14 +460,14 @@ impl RecordingManifest { if !r.done() { return Err(MALFORMED); } - Ok(RecordingManifest { room, signer, from, to, claims, purposes, components, sig }) + Ok(RecordingManifest { room, signer, from, to, claims, purposes, region, components, sig }) } /// §4.2's rules. fn rules_hold(&self) -> bool { let c = &self.components; let is = |x: &Component, kind: u8, id: &[u8]| x.kind == kind && x.id == id; - if self.claims & !claim::COMPLETE != 0 || self.purposes & !0b1111 != 0 || self.from > self.to { + if self.claims & !claim::COMPLETE != 0 || self.purposes & !0b1111 != 0 || self.from > self.to || !self.region.iter().all(u8::is_ascii_uppercase) { return false; } if c.len() < 2 || !is(&c[0], component::ROOM, b"room") || !is(&c[1], component::EVENTS, b"events") { @@ -508,12 +512,35 @@ pub fn components_of(files: &BTreeMap>) -> Vec { out } +/// What a sealer states of a package (§4.1): its room, its session span, its claims and +/// purposes, and the region it is kept in. +#[derive(Clone, Copy, Debug)] +pub struct Sealing { + pub room: [u8; 32], + pub from: u64, + pub to: u64, + pub claims: u8, + pub purposes: u8, + pub region: [u8; 2], +} + /// Seal a package (§3, §4): sign a recording manifest over the components of `files` and /// add it and the `LISTING` of every file. -pub fn seal(mut files: BTreeMap>, room: [u8; 32], from: u64, to: u64, claims: u8, purposes: u8, signer: &SigningKey) -> BTreeMap> { +pub fn seal(mut files: BTreeMap>, s: &Sealing, signer: &SigningKey) -> BTreeMap> { files.remove(LISTING); files.remove(MANIFEST_FILE); - let m = RecordingManifest { room, signer: [0; 32], from, to, claims, purposes, components: components_of(&files), sig: [0; 64] }.sign(signer); + let m = RecordingManifest { + room: s.room, + signer: [0; 32], + from: s.from, + to: s.to, + claims: s.claims, + purposes: s.purposes, + region: s.region, + components: components_of(&files), + sig: [0; 64], + } + .sign(signer); files.insert(MANIFEST_FILE.into(), m.to_bytes()); let listing = package_listing(&files).expect("a package's paths are listing paths"); files.insert(LISTING.into(), listing); @@ -724,6 +751,10 @@ pub fn verify_recording(files: &BTreeMap>, at: u64) -> Recording return refuse(run, Place::Manifest, Reason::RecordingSignerNotPermitted); } } + // The region pin (live-rooms §3.7). + if !d.recording.regions.is_empty() && !d.recording.regions.contains(&m.region) { + return refuse(run, Place::Manifest, take::Reason::StoreOutsideRegion.into()); + } // Step 6: the span. for &(c, i, _) in &room_run.order { let Ok(e) = Event::parse(&chains[c][i]) else { continue }; @@ -1392,6 +1423,7 @@ mod tests { to: 10, claims: claim::COMPLETE, purposes: purpose::RECORD, + region: *b"DE", components: vec![comp(component::ROOM, "room"), comp(component::EVENTS, "events"), comp(component::TAKE, &t1), comp(component::TAKE, &t2), comp(component::COMPOSITE, "composite")], sig: [0; 64], }; @@ -1403,7 +1435,7 @@ mod tests { no_events.components.remove(1); let mut late_composite = base.clone(); late_composite.components.swap(3, 4); - for bad in [RecordingManifest { claims: 2, ..base.clone() }, RecordingManifest { from: 11, ..base.clone() }, swapped, no_events, late_composite] { + for bad in [RecordingManifest { claims: 2, ..base.clone() }, RecordingManifest { from: 11, ..base.clone() }, RecordingManifest { region: *b"de", ..base.clone() }, swapped, no_events, late_composite] { assert_eq!(RecordingManifest::parse(&bad.sign(&k).to_bytes()), Err(Reason::RecordingManifestInvalid)); } } diff --git a/wai/wai-rs/src/live_record/corpus.rs b/wai/wai-rs/src/live_record/corpus.rs index e013fc146..b564d8054 100644 --- a/wai/wai-rs/src/live_record/corpus.rs +++ b/wai/wai-rs/src/live_record/corpus.rs @@ -465,8 +465,14 @@ fn relist(mut files: BTreeMap>) -> BTreeMap> { files } +/// What every recording states unless a vector changes it: the span from `t0` to twenty +/// seconds, `complete` claimed, `publishable` for record and distribute, kept in DE. +fn sealing(room: [u8; 32]) -> Sealing { + Sealing { room, from: 0, to: SPAN_TO, claims: claim::COMPLETE, purposes: purpose::RECORD | purpose::DISTRIBUTE, region: *b"DE" } +} + fn sealed(w: &Written) -> BTreeMap> { - seal(w.files.clone(), w.room, 0, SPAN_TO, claim::COMPLETE, purpose::RECORD | purpose::DISTRIBUTE, &key(AUTHORITY)) + seal(w.files.clone(), &sealing(w.room), &key(AUTHORITY)) } // ---- recording vectors ---- @@ -540,7 +546,7 @@ fn recording_vectors() -> Vec { out.push(v( "signed_by_director", "the same package sealed by the director, whose grant has the record power and covers the span's end (§4.4 step 5)", - seal(lesson.files.clone(), lesson.room, 0, SPAN_TO, claim::COMPLETE, purpose::RECORD | purpose::DISTRIBUTE, &key(DIRECTOR)), + seal(lesson.files.clone(), &sealing(lesson.room), &key(DIRECTOR)), vec![(t1, "lesson")], Intent::Good, )); @@ -549,7 +555,7 @@ fn recording_vectors() -> Vec { out.push(v( "take_omitted", "a package that leaves the accompanist's take out, though the room's events open it: complete fails (§4.5 complete 2)", - seal(f, lesson.room, 0, SPAN_TO, claim::COMPLETE, purpose::RECORD | purpose::DISTRIBUTE, &key(AUTHORITY)), + seal(f, &sealing(lesson.room), &key(AUTHORITY)), vec![(t1, "lesson")], Intent::Fails(Claim::Complete, Reason::TakeOmitted), )); @@ -607,14 +613,14 @@ fn recording_vectors() -> Vec { out.push(v( "component_invalid", "a room component holding a file §3.3 does not define, sealed with it (§4.4 step 4)", - seal(f, lesson.room, 0, SPAN_TO, claim::COMPLETE, purpose::RECORD | purpose::DISTRIBUTE, &key(AUTHORITY)), + seal(f, &sealing(lesson.room), &key(AUTHORITY)), vec![], Intent::Refuse("component", Reason::ComponentInvalid), )); out.push(v( "recording_manifest_invalid", "a recording manifest whose claims byte sets bit 1 (§4.2)", - seal(lesson.files.clone(), lesson.room, 0, SPAN_TO, 0b10, purpose::RECORD, &key(AUTHORITY)), + seal(lesson.files.clone(), &Sealing { claims: 0b10, ..sealing(lesson.room) }, &key(AUTHORITY)), vec![], Intent::Refuse("manifest", Reason::RecordingManifestInvalid), )); @@ -626,24 +632,31 @@ fn recording_vectors() -> Vec { out.push(v( "manifest_wrong_room", "a recording manifest that names another room (§4.4 step 4)", - seal(lesson.files.clone(), sha256(&[b"wai:live-recording/corpus/another room"]), 0, SPAN_TO, claim::COMPLETE, purpose::RECORD, &key(AUTHORITY)), + seal(lesson.files.clone(), &sealing(sha256(&[b"wai:live-recording/corpus/another room"])), &key(AUTHORITY)), vec![], Intent::Refuse("manifest", WRONG_ROOM), )); out.push(v( "signer_not_permitted", "a recording manifest signed by the viewer, whose grant has no record power (§4.4 step 5)", - seal(lesson.files.clone(), lesson.room, 0, SPAN_TO, claim::COMPLETE, purpose::RECORD, &key(VIEWER)), + seal(lesson.files.clone(), &sealing(lesson.room), &key(VIEWER)), vec![], Intent::Refuse("manifest", Reason::RecordingSignerNotPermitted), )); out.push(v( "outside_span", "a session span that ends at sixteen seconds, before the devices' closing commitments (§4.4 step 6)", - seal(lesson.files.clone(), lesson.room, 0, 16 * S, claim::COMPLETE, purpose::RECORD, &key(AUTHORITY)), + seal(lesson.files.clone(), &Sealing { to: 16 * S, ..sealing(lesson.room) }, &key(AUTHORITY)), vec![], Intent::Refuse("room", Reason::OutsideSpan), )); + out.push(v( + "outside_region", + "a recording manifest that keeps the package in US, outside the room's region pin of DE and FR (§4.4 step 5, live-rooms §3.7)", + seal(lesson.files.clone(), &Sealing { region: *b"US", ..sealing(lesson.room) }, &key(AUTHORITY)), + vec![], + Intent::Refuse("manifest", take::Reason::StoreOutsideRegion.into()), + )); let mut f = lesson.files.clone(); let tm = f.get_mut(&format!("takes/{}/manifest.wtm", hex(&t2))).expect("the manifest"); let l = tm.len(); @@ -651,7 +664,7 @@ fn recording_vectors() -> Vec { out.push(v( "take_refused", "the accompanist's take manifest with a bit of its signature flipped, sealed as it is: the take verifier refuses it at its manifest, and the recording at that take (§4.4 step 7)", - seal(f, lesson.room, 0, SPAN_TO, claim::COMPLETE, purpose::RECORD, &key(AUTHORITY)), + seal(f, &sealing(lesson.room), &key(AUTHORITY)), vec![], Intent::Refuse("take", events::Reason::BadSignature.into()), )); @@ -662,7 +675,7 @@ fn recording_vectors() -> Vec { out.push(v( "room_refused", "the accompanist device's grant with a bit of its signature flipped, sealed as it is: the room verifier refuses the grant (live-rooms §4.3), and the recording there (§4.4 step 4)", - seal(f, lesson.room, 0, SPAN_TO, claim::COMPLETE, purpose::RECORD, &key(AUTHORITY)), + seal(f, &sealing(lesson.room), &key(AUTHORITY)), vec![], Intent::Refuse("room", events::Reason::BadSignature.into()), )); -- 2.54.0 (Apple Git-157) From 4560dac4236bca3873010ec9b54da869eadbba1d Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 10:36:01 -0400 Subject: [PATCH 07/26] =?UTF-8?q?wai:=20wai.live.recording=20in=20the=20re?= =?UTF-8?q?gistry,=20SPEC=20=C2=A75,=20CI=20and=20CHANGELOG;=20the=20corpu?= =?UTF-8?q?s=20regenerated=20with=20region?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The registry lists the record and its magics WRM1 (§4.1) and WCL1 (§5.1); the independent-verifiers job runs the module's tests, tests/live_record.rs and live_record_verify.py; the workflow's path lists name the extension; int_kernels_vectors' live-conformance exclusion names recordings and clips. live-conformance/recordings is regenerated from its seeds with the manifest's region and the outside_region vector. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/wai-conformance.yml | 28 +++- wai/CHANGELOG.md | 42 ++++++ wai/REGISTRY.md | 9 +- wai/SPEC.md | 19 ++- wai/live-conformance/recordings/vectors.json | 150 +++++++++++++------ wai/wai-rs/src/codecs/registry.rs | 9 +- wai/wai-rs/tests/int_kernels_vectors.rs | 2 +- 7 files changed, 203 insertions(+), 56 deletions(-) diff --git a/.github/workflows/wai-conformance.yml b/.github/workflows/wai-conformance.yml index 2c7c9ef1e..68bd944a4 100644 --- a/.github/workflows/wai-conformance.yml +++ b/.github/workflows/wai-conformance.yml @@ -75,6 +75,9 @@ on: # tests/capture_take.rs requires this extension's §12 to list the codes the reference # reports, and the registry's wire identifiers test reads its sections. - 'wai/extensions/capture-binding.md' + # tests/live_record.rs requires this extension's §9 to list the codes the reference + # reports, and the registry's wire identifiers test reads its sections. + - 'wai/extensions/live-recording.md' - 'wai/wai-web/**' # The audio provenance check below reads the corpora above with this tool. - 'wai/tools/wai_audio_provenance_check.py' @@ -121,6 +124,9 @@ on: # tests/capture_take.rs requires this extension's §12 to list the codes the reference # reports, and the registry's wire identifiers test reads its sections. - 'wai/extensions/capture-binding.md' + # tests/live_record.rs requires this extension's §9 to list the codes the reference + # reports, and the registry's wire identifiers test reads its sections. + - 'wai/extensions/live-recording.md' - 'wai/wai-web/**' # The audio provenance check below reads the corpora above with this tool. - 'wai/tools/wai_audio_provenance_check.py' @@ -773,7 +779,8 @@ jobs: # staged_verify.py (the staged-delivery corpus), and http_verify.py (the HTTP delivery # corpus), and quantum-conformance/tools/referee.py (both quantum-sim capabilities), and # live_events_verify.py (the live-events corpus), and live_rooms_verify.py (the - # live-rooms corpus), and capture_take_verify.py (the capture-binding corpus). + # live-rooms corpus), and capture_take_verify.py (the capture-binding corpus), and + # live_record_verify.py (the live-recording corpus). # Each exits non-zero on any failure or any difference, and the step fails with it. # One platform: what they check is the reading of the text, not the architecture. independent-verifiers: @@ -944,6 +951,25 @@ jobs: (cd wai-rs && cargo test --no-default-features --features capture_take --lib -- capture_take:: output_tree::) (cd wai-rs && cargo test --no-default-features --features capture_take --test capture_take) python3 -I live-conformance/capture_take_verify.py live-conformance/takes + # wai.live.recording (extensions/live-recording.md): the reference module's unit tests, + # the output tree's (whose range proofs it adds, tested against RFC 9162 §2.1.3.2's + # check), and tests/live_record.rs (the committed corpus regenerates byte for byte from + # its fixed seeds, wai-rs gives every recording and clip its stated outcome, every reason + # of §9 appears in it, every take it says it reuses is capture binding's byte for byte, + # and §9 lists exactly the reference's codes); then the corpus's second implementation, + # live_record_verify.py, written from the extension's text and sharing no code with + # wai-rs, which checks range proofs by the extension's recursion and by RFC 9162 + # §2.1.3.2's own algorithm, verifies each take with capture_take_verify.py and every + # signature with WAI's strict Ed25519 (claim-conformance/_ed25519.py), and requires every + # mutated copy of the corpus to fail; standard library only, run isolated (-I). + - name: live recording · wai-rs and live_record_verify.py + working-directory: wai + shell: bash + run: | + set -euo pipefail + (cd wai-rs && cargo test --no-default-features --features live_record --lib -- live_record:: output_tree::) + (cd wai-rs && cargo test --no-default-features --features live_record --test live_record) + python3 -I live-conformance/live_record_verify.py live-conformance/recordings # The quantum corpus's second implementation (quantum-sim extension), integers only: # it derives the circuit/1 phase table by its recurrence and the circuit2 table by an # interval-certified procedure, and requires both literal tables and their digests, diff --git a/wai/CHANGELOG.md b/wai/CHANGELOG.md index 953adf182..78eed8021 100644 --- a/wai/CHANGELOG.md +++ b/wai/CHANGELOG.md @@ -6,6 +6,48 @@ wire format may change and such changes are recorded here. ## v0.4.0 — current +### `wai.live.recording`: a room session as one package, and clips that prove what they are + +- **The extension** ([live-recording](extensions/live-recording.md)) registers the record + `wai.live.recording`. A finished room session is one WAI package: a directory of files and + its `LISTING` (SPEC §3.1), as a packaging package is, whose components are the room (its + descriptor, grants and key-log head), its events (each principal's chain whole, the form + live-events §8.6 gives a recording), one component for each participant's take (its `WTM1` + manifest, the chunks the store holds, its receipts and consents) and, optionally, the + composite by its composition receipts. Each component is named as SPEC §7.1 names one, by + an `id` and a `sha256`, here the SHA-256 of the listing of its files. +- **The recording manifest** (`WRM1`) is signed by the room authority or by a principal + whose grant has the record power, and names every component with the session's span on + the room clock and the region the package is kept in, held to the room's region pin. A + recording verifier replays the room and each take and gives `complete` (every take the + room's events open is held, each one `complete` with its commitments unbroken from open to + close, and no event missing) and `publishable` for each purpose. +- **Clips.** A clip record (`WCL1`) covers a span of one take, by chunks or by a byte range + of the master (the boundary chunks carried whole, with trims), or one window of the room + clock across several takes. Each part carries its chunks' descriptors and one range proof + against a commitment the device made while it captured, the closing one or, while the take + runs, the one that covers the span. A clip verifier needs the clip's bytes, the record, the + take's commitments up to that one, the device's key and the room descriptor, never the take, + and checks `single-take` over the span. An aligned clip states each part's window on its + device's clock and its bound: the jitter to the room clock, twice it between two takes. +- **Range proofs.** The output tree gains `range_proof` and `verify_range`: RFC 6962's audit + path taken over a run of leaves, whose one-leaf case is the audit path node for node and + whose check agrees with RFC 9162 §2.1.3.2's, tested over every run of trees of up to 33 + leaves. The take tree reuses it; no new tree. +- **Mappings.** The HLS and LL-CMAF presentation of a CMAF master (one Media Playlist per + take, its header by `EXT-X-MAP` byte range, parts proved with their chunk) and the MoQ + addressing of a recorded take's chunks for a FETCH (a group per chunk, a `LOCATION_FILTER` + per clip part) are specified; the reference states each clip part's FETCH address and + writes no playlist. +- **Reference and corpus.** `wai-rs` feature `live_record` (`src/live_record.rs`); + `live-conformance/recordings/`, written from fixed seeds by `wai_live_record_vectors`, whose + performer's take is capture binding's `lesson` take byte for byte, checked by + `tests/live_record.rs` and by `live-conformance/live_record_verify.py`, a second + implementation that shares no code with `wai-rs`, checks range proofs by the extension's + recursion and by RFC 9162's own algorithm, and requires every mutated copy of the corpus to + fail. The registry lists the record and its magics (`WRM1`, `WCL1`). live-events §8.6, + live-rooms §3.7 and capture-binding §1 point at the extension. + ### `wai.capture.take`: a device's master recording bound to a live room - **The extension** ([capture-binding](extensions/capture-binding.md)) registers the diff --git a/wai/REGISTRY.md b/wai/REGISTRY.md index 28d1b1f30..baf69f8db 100644 --- a/wai/REGISTRY.md +++ b/wai/REGISTRY.md @@ -40,7 +40,7 @@ Every registered string has one kind. - **record** — a signed record a WAI tool emits and verifies (a receipt kind: `wai.asset.provenance`, the quantum-operations receipts, the delivery records `wai.video.manifest` and its siblings; the live records `wai.live.events`, - `wai.live.room` and `wai.capture.take`). + `wai.live.room`, `wai.capture.take` and `wai.live.recording`). It names no payload format. A derivation or record string is not a payload capability, so it is not @@ -62,8 +62,8 @@ bindings ([http-delivery](extensions/http-delivery.md), [moq-streaming-format](extensions/moq-streaming-format.md)), the key discovery they serve ([jwp-receipts](extensions/jwp-receipts.md) §7), [packaging](extensions/packaging.md), [live-events](extensions/live-events.md), -[live-rooms](extensions/live-rooms.md) and [capture-binding](extensions/capture-binding.md) -put on the wire outside a +[live-rooms](extensions/live-rooms.md), [capture-binding](extensions/capture-binding.md) and +[live-recording](extensions/live-recording.md) put on the wire outside a manifest — magic numbers, a media type, `codecs` prefixes, paths, playlist tags and attributes, document kinds and catalog fields — each with its kind, the section that defines it, and whether it is defined, provisional (test material only until @@ -193,6 +193,7 @@ and a role are fixed once registered. | `wai.image.jxl` | payload | registered | image | standalone | royalty-free | standard-tolerance | recommended | §5 Recommended modern set | | `wai.image.png` | payload | registered | image | standalone | royalty-free | standard-defined | floor | §5 Mandatory floor | | `wai.live.events` | record | registered | — | — | — | — | — | §5 Interactive, temporal & computed content | +| `wai.live.recording` | record | registered | — | — | — | — | — | §5 Interactive, temporal & computed content | | `wai.live.room` | record | registered | — | — | — | — | — | §5 Interactive, temporal & computed content | | `wai.mesh.draco` | payload | registered | volumetric | standalone | royalty-free | standard-unclassified | — | §5 Immersive audio, cinema, volumetric, haptics, HDR | | `wai.mesh.glb` | payload | registered | volumetric | standalone | royalty-free | standard-unclassified | — | §5 Interactive, temporal & computed content | @@ -288,12 +289,14 @@ and a role are fixed once registered. | `WAI1` | magic | defined | SPEC §2 | | `WAI2` | magic | defined | SPEC §7.1 | | `WAI_RECEIPT` | catalog | defined | moq-streaming-format §5 | +| `WCL1` | magic | defined | live-recording §5.1 | | `WCN1` | magic | defined | capture-binding §8.1 | | `WEP1` | magic | defined | live-events §5 | | `WEV1` | magic | defined | live-events §3.1 | | `WHP1` | magic | defined | http-delivery §6.2 | | `WRD1` | magic | defined | live-rooms §3.1 | | `WRG1` | magic | defined | live-rooms §4.1 | +| `WRM1` | magic | defined | live-recording §4.1 | | `WSIX` | magic | defined | packaging §6 | | `WTM1` | magic | defined | capture-binding §7.1 | | `WUR1` | magic | defined | capture-binding §6.2 | diff --git a/wai/SPEC.md b/wai/SPEC.md index 52d76145d..5de014265 100644 --- a/wai/SPEC.md +++ b/wai/SPEC.md @@ -592,7 +592,8 @@ kind: `wai.asset.provenance`, `wai.quantum.calibration`, `wai.quantum.job`, and the delivery records `wai.video.manifest`, `wai.video.ssai`, `wai.video.keys`, `wai.video.package` and `wai.video.channel`; and the live records `wai.live.events`, - `wai.live.room` and `wai.capture.take`), which names no payload format. + `wai.live.room`, `wai.capture.take` and `wai.live.recording`), which names no payload + format. Only payload, companion and refinement capabilities have a media class, a fidelity tier, a replicate class and a role. A derivation or record string is not a payload @@ -894,6 +895,22 @@ at its index), `aligned` (capture began at the count-in's instant), `complete`, `publishable` for each purpose. The take maps onto C2PA live video output: [`extensions/capture-binding.md`](extensions/capture-binding.md). +And for a room session **recorded** whole — `wai.live.recording`: a finished session as one +package, a directory of files and its listing (§3.1), whose components are the room (its +descriptor, grants and key-log head), its events (each principal's chain whole), one take of +each participant and, optionally, the composite, each named as §7.1 names a component, by an +`id` and the SHA-256 of its files' listing. A recording manifest signed by the room authority +or a principal with the record power names every component with the session's span on the +room clock and where the package is kept, and a verifier gives `complete` (every take of the +session held, each whole, and no event missing) and `publishable` for each purpose. A **clip** +of a recording, a span of one take or one window of several aligned on the room clock, is a +signed clip record carrying the covered chunks' descriptors and an RFC 6962 audit path taken +over their run of leaves against a commitment the device made while it captured, so a +verifier holding the clip, the take's commitments, the device's key and the room descriptor +knows the clip's bytes are exactly those bytes of the take, without the take. The mapping of +a recording onto HLS and LL-CMAF and the addressing of its chunks for a MoQ FETCH are field +semantics: [`extensions/live-recording.md`](extensions/live-recording.md). + ### Payloads of the WAI-native integer codecs This revision pins a payload format to each WAI-native integer codec whose row named diff --git a/wai/live-conformance/recordings/vectors.json b/wai/live-conformance/recordings/vectors.json index f5fe2ad6d..6143a4d6b 100644 --- a/wai/live-conformance/recordings/vectors.json +++ b/wai/live-conformance/recordings/vectors.json @@ -19,13 +19,13 @@ "name": "lesson_session", "about": "the lesson session as one package: the room, its events, the performer's take (capture binding's lesson take, byte for byte) and the accompanist's take beside it, sealed by the room authority; complete holds, and publishable for every purpose the subjects consented to", "files": { - "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6632623730613261386237633731653438316230393566613539396361346536386565613331343834353930303164306464626364323762653061316665323520207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6131663438636236326136633932356535643861306638656334613537316466613537343962323830653530393030396339393363323533313365636664653020207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", - "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010604000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31295fa2458a711d889d117521bcf2dd453de8bbd5cdf33b14ff9e95722afa9518e5df6d2c10b322ea58638a047a894f4adb1823a3ccf1458c7b9bf99b716d5205", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d3101000000000106444504000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31f98a2987c668241e81c5c3c24457390ffd9cfb504dc745d4f1df2f939ac616bf781fb65c7788a4ed7018c9233d19ba96014ec66b11efe4b6f0a11d382b8f5700", "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", @@ -69,8 +69,8 @@ } ], "outcome": "verdicts", - "package": "c7adf0b22469f02da6a404b252f819847004853f73dcc1d7b6348a5c5d2cd866", - "manifest": "c9d4f2fe4fa698d79b598ec11c395ba2dfdae512b7fbf9d2a711da0ca7bbe072", + "package": "61d7748492dcb0fdcbf182f0ef80c98402bb17ee2dade2a53424c5e3a2877ce8", + "manifest": "6a5f993257011b99ed0c42c8d6bc790af8d92f53cd82bb0cba80430a22ac9494", "room": "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", "complete": "holds", "publishable": { @@ -113,13 +113,13 @@ "name": "signed_by_director", "about": "the same package sealed by the director, whose grant has the record power and covers the span's end (§4.4 step 5)", "files": { - "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3763383330393432633033343961313135326339373630383330393664346662343930623634663830353662313834656634343635646530313966613263666420207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3333663361393361376565343538346633646430343861383130623038343361613234323361333065646438363261383939613366663361333137343030653520207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", - "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000002d310100000000010604000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31d35a8bbe1a75d2366bacd1e071819a6f9bfd5c49c131592e6fc23a0d0b083cc78e84e68565c01344e0d1e501c1a375d50e69e6b239383e3aca28f12293ab0309", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000002d3101000000000106444504000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31fbd3a24f750e2dd7776278bb78800ab5173faff2f4e169b70a9d2d206aad272d90cc49870db16a8798dcc81145d1b7fe18991a6231aecfd1f0c8aef64974d607", "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", @@ -163,8 +163,8 @@ } ], "outcome": "verdicts", - "package": "1f59ce6ed871d21e9c99fb122026237d0012f73ba93d510988ab17380f26f968", - "manifest": "5e78ae2053356e4c33ea6bd5157ed2817fbde06ea89a589b75aafc0f4b3cf79b", + "package": "aa9698d9adc264b3158eaaf47044e4588b9355c3bf366041e6d6a2d166d57810", + "manifest": "7469398307207961a44d02ce30041afd45dc83b0fe2d39b7699c38f1747fecd5", "room": "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", "complete": "holds", "publishable": { @@ -207,13 +207,13 @@ "name": "take_omitted", "about": "a package that leaves the accompanist's take out, though the room's events open it: complete fails (§4.5 complete 2)", "files": { - "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3131656664616130666139623866646434313738313664336435656130346265643439326535633733393266663635343266366464376533373939323362626320207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a", + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6339346361346462386231666437646265646533333561346331393237383032636664386635343832346639393066613233313332623266663933643061383720207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a", "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", - "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010603000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c14f029aa41ef7efe2b41d4bd1467f1cbbc66775d6c89f8eb4688d013a8cc59918c2e2b02735a0acaf0286895173cee806c81562778995a64664c829fd729830d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d3101000000000106444503000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343cefb8f65aa5233923e48990fdd3d2b75a26175bcd94db9c6aaa0a1805a6a0434c6f4e24c904019842afddff3026578aa62cbe04b0e6030c11911d85672cbc0c03", "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", @@ -244,8 +244,8 @@ } ], "outcome": "verdicts", - "package": "a72608d14e35e867520c2ea05675b05302d30db360876c46058e8eedd258b2ab", - "manifest": "32391805138aa862a892756481ef60eb1ea5674006720bfc2db43e7da051e0bc", + "package": "79937331c67b0550a831e0ddc4c001f3363e2af189d810343a127041faa2927c", + "manifest": "e79c6a30dedf41dcbdadffce76eabd990f9e1e53a4d097accbcb826d6e66a659", "room": "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", "complete": "take_omitted", "publishable": { @@ -275,13 +275,13 @@ "name": "missing_chunk", "about": "the performer's take is capture binding's missing_chunk take, whose chunk 6 was never uploaded: single-take holds of it and complete fails, so the recording's complete fails (§4.5 complete 3)", "files": { - "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a3737653762346430356138313133633035626564623230663332643535336566373533386330386335313436313465383835396465613462363731363363646620206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3336636137363363643539396566643864663863623465656637393734333738633837366564373332363065626564313662343364653832323134313036363020207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a66383737616538663336333139346339333162313931323663613438353332333337636234616366623165366230386239366339633938376231653637356238202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a64613734656531613338643937353566643635303963323738386238306434373637383138313639306338623063383631663836363834663438633937643938202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a63316234303464303462396333356563656535653531623634656462633366356638363737303230323231636166663865383434663564633130323731666634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a66363063366537376266386131663037346361363064646337343633643430363166386366326238383930353263393236383462303733633333376566316335202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a66626436353739326534363966656138336135343362653861336361323130643934383034633435613333353062343361386132373932343939656135373436202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a30363438373539346134306432623735646133306263363964653637653961383035383165386161313530636333316432653533623762343936313730313433202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32306437373937353661333834666530656464326363333036363139613164646530653065383038313636393865643637653661626630646565326533626436202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38336234353835366362333165313736623235346563616435303066333665616566366238646637306339646132646261616538356534623865343634383230202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a64613735323662663065653361373836303566363731333861363430663265383261616238626564623334643363353363303736626662356139393539366130202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a64643263376135333539323965616539623364663036346163313438633730333961366537373461313263386331653335366638383366343838616538356534202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a36323333383237356634323561386463623334646434653832366533666263646465393534343831613630336136313135326663356535346437356361363961202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a64663330323439653037363437313662613231616630656537316466336262633330306235343730613835663636393636353937663337633439313834373337202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a3737653762346430356138313133633035626564623230663332643535336566373533386330386335313436313465383835396465613462363731363363646620206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6430323532393236613862656530316236373434313466646632616233363165626334383563656162383634313034333066616463343233383161323261326120207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a66383737616538663336333139346339333162313931323663613438353332333337636234616366623165366230386239366339633938376231653637356238202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a64613734656531613338643937353566643635303963323738386238306434373637383138313639306338623063383631663836363834663438633937643938202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a63316234303464303462396333356563656535653531623634656462633366356638363737303230323231636166663865383434663564633130323731666634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a66363063366537376266386131663037346361363064646337343633643430363166386366326238383930353263393236383462303733633333376566316335202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a66626436353739326534363966656138336135343362653861336361323130643934383034633435613333353062343361386132373932343939656135373436202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a30363438373539346134306432623735646133306263363964653637653961383035383165386161313530636333316432653533623762343936313730313433202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32306437373937353661333834666530656464326363333036363139613164646530653065383038313636393865643637653661626630646565326533626436202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38336234353835366362333165313736623235346563616435303066333665616566366238646637306339646132646261616538356534623865343634383230202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a64613735323662663065653361373836303566363731333861363430663265383261616238626564623334643363353363303736626662356139393539366130202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a64643263376135333539323965616539623364663036346163313438633730333961366537373461313263386331653335366638383366343838616538356534202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a36323333383237356634323561386463623334646434653832366533666263646465393534343831613630336136313135326663356535346437356361363961202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a64663330323439653037363437313662613231616630656537316466336262633330306235343730613835663636393636353937663337633439313834373337202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e60000000000000000020000000000000016998ae44ebe40ac7a2569a2275c35081709759c28411b8edf3668f80de91297000efad5feffffff007f15f0960d2be9513e1810c151656c03685ac4e07c743212aec0d3fcbbe66c098d8bc81a9a80f9650c13c348c4c96b7a7ef5b85e9cd32a7b001baff5f259540d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000f0bcaa5a881e6fac08807315432342ff1bfcd325ba03c10c0bb6dcd653db21b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002f0bcaa5a881e6fac08807315432342ff1bfcd325ba03c10c0bb6dcd653db21b002000000000000000400000000000000bec08ec8ac5565fc4b8d4775effafdf9490afc1db34ec1a4b3cdc44b34a4d57b000efad5feffffff017764e6a1de4fa4090c9d24a8b015462db95e17cd82883d8ff29aed72cbd91d90d965bada8e348f7f61d2b4552b2d9b1b670f4d43ae2386c6713d2851e0a91923c9599ec3810cbe556af7ef79ec3a65a6e33c7175600c245a90a09afe8f62500957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000e0acbea753f2dd26be275f74abf0b3930bb0d45e87ca53c8a4bd8c15e42a26c1e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002e0acbea753f2dd26be275f74abf0b3930bb0d45e87ca53c8a4bd8c15e42a26c104000000000000000600000000000000258a282c11b3fb17029a8f86a231a502a2496dc49fe680f95a4ceb4253e96371000efad5feffffff0176a5a156317adf2563670ca73b168e4fa8c47d735de2be23da1161d55ef0f871b8c9e4c020be046e907dcd0c2db00d41f333370d0f628fbb505386fbd498ab636dcb3aa263533f27d93990d5aa4b131e4b1de29c58949ad8ccaa4df95e300b0557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000070c7ce1cdfaad584c990a38222fa6b41972b44fb96ce5595e7489a29b6f648176033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000270c7ce1cdfaad584c990a38222fa6b41972b44fb96ce5595e7489a29b6f6481706000000000000000800000000000000eaf7ebbdb6c61d57ce4c2011476266460d1d27901c795f42c182587a307b92b9000efad5feffffff0376a5a156317adf2563670ca73b168e4fa8c47d735de2be23da1161d55ef0f8711d136d050818deab0c4577ecf4c85c7917880d059f7346588738fc2aa0d00334bec08ec8ac5565fc4b8d4775effafdf9490afc1db34ec1a4b3cdc44b34a4d57b46223f73198c6c1e406cbaabea0583de6c261b932a716961577f1a0badb42bcb186dda402f2b586d3b9e7b4e29cdc7ce4dfd3c23b4eeb273d0be4721b35dda0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50500000000000000cc0b7a0360bee11cefd437071698bce3f2835eced20944d0a1d262559a075060803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0500000003cc0b7a0360bee11cefd437071698bce3f2835eced20944d0a1d262559a07506008000000000000000a00000000000000dc7a42f07554cfa62ed6900f944c87f427893f10951a9348c748c805815ab253000efad5feffffff01dc1b5a06137a398a0979bf8c1b2c3573dc80b5fff17d60c072967de3230e0b464a9169a6f69825fa3866c91d5282c4b8f730d153f3f791d58a1169932768fd443375342a9437c0d2a551d960a85a2db949484b046bf0b2fb9bc518f1c28ec501", - "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010604000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e7473fdcfa178f29de09c0fc99291c588eb8ee4113d626b57ddf00cf0284b0dd8ccfb034034316634363836373536623930383366666163313162316432323963356663323861376663643865333138663731336163376434313762393330656461303365ec321f02ce79f35b2b3c80f9f3c230318adf593686fbd02aad6bad7ae6c13ae303406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31c2083aec5a478cae6aff9af516ffab5a6dc5b2b0e3a08ec6fed4911028bdfb069a967bafa025cf28c4e87e6e76a8cacae1c520d9585596537c5c2ecf8132370c", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d3101000000000106444504000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e7473fdcfa178f29de09c0fc99291c588eb8ee4113d626b57ddf00cf0284b0dd8ccfb034034316634363836373536623930383366666163313162316432323963356663323861376663643865333138663731336163376434313762393330656461303365ec321f02ce79f35b2b3c80f9f3c230318adf593686fbd02aad6bad7ae6c13ae303406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31ab3b195621e13e45d321ea59fa49f65148b614a31f193c52201281b3687b8fdb7f99a158345cff75be8ca7a91fa55cff0a8b85e0e578911daee0740308e3fa05", "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", @@ -323,8 +323,8 @@ } ], "outcome": "verdicts", - "package": "5d1ae5a4f74c6a3e9cdaf66593f65abdba88f8c6dba181d42d0c981852777d14", - "manifest": "58ef7429a37f51cb5a40d6cc152438b77f705b3a482eb4d72a398ad8e99e310e", + "package": "71e877477974411628a142fa776fd3050764e12abfca3a584b8c9f69b229150f", + "manifest": "7ded738478f0554e0dde3b7d819a5744d8c69f1bd90a52a2445399d511b09e1c", "room": "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", "complete": "chunk_missing", "publishable": { @@ -367,13 +367,13 @@ "name": "commit_gap", "about": "the relay did not deliver the accompanist's commitment 2: the room holds a gap in its device's chain, and complete fails (§4.5 complete 1)", "files": { - "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3963393065346630656364666439626165316333393564653033343764306539633934323364303566323439373762663930623238333863306438623464396420206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3230376331323362393830383730326433396231393066643937613166323732303136343437333435376666326432623630653162313437346465373239346420207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3963393065346630656364666439626165316333393564653033343764306539633934323364303566323439373762663930623238333863306438623464396420206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3165643864343233656338363930306361326666306361376161326265393337616139613338393832316536383063383633396666663133633238313463313520207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", - "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010604000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747385ee60336b36e88ebf7b89ab7e46a6dd9f909b8e46f137e4ec5f8044e66cac9003403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a3166a1885f84c753aa64325e4f546a9a78ddce8ce61de45f308d44689a90366c9634cafaa24498c198e6aa72a3f9d9a0b82396e6252282db97c034ec4b3ee35200", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d3101000000000106444504000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747385ee60336b36e88ebf7b89ab7e46a6dd9f909b8e46f137e4ec5f8044e66cac9003403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31a1b033f2a77435f00f9f498446194b7e41552b5ababb68d05b14a64a158999e2582d5694b90df5c67910783787980423a57519510ffc11ceceb607f0305b6503", "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", @@ -417,8 +417,8 @@ } ], "outcome": "verdicts", - "package": "419504a7075d80cbead94c02e82305f6b447e7118e8b448b1221a877b3ca4448", - "manifest": "032b6520d30815ac80a97c8794cdb6ca53e6063f7fb35ba83ef6d52df7b19959", + "package": "69953b25fc180997534fa703d47890db82ca8a259757cc417ea9f772cf8b22af", + "manifest": "ce8bf2a77ebfd49bb77f293f284a31724369b2298a822b17aeeb62c08acb4592", "room": "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", "complete": "delivery_gap", "publishable": { @@ -461,13 +461,13 @@ "name": "consent_missing", "about": "the accompanist's take without the accompanist's consent record: publishable fails for every purpose, and the manifest, which claims record and distribute, does not stand (§4.5 publishable)", "files": { - "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6565353037623235316431373466393139306664633964366664356463616632616364363132663464343065633761346165663862353965323831303362343720207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3838646265386666373363646532623639313464663531306335336665343434306532396533363665626435626139303963636564323464363064356332636520207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", - "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010604000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c034066656632303264633062313166396462656265383331666635316432393764633761623634346630643533343164383764633935633933393732316139643936cd0c34357250a7fe85218102122dec031737993314d805160f36b4c2ca259db134eb75cd7e31f9b5e109a183e47662d5a0b01a36a570f994f5bbc2591ae8f04970cb6d550442c8506f7b9b8da99047159ad73a556082b6132008c375328fb90c", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d3101000000000106444504000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c034066656632303264633062313166396462656265383331666635316432393764633761623634346630643533343164383764633935633933393732316139643936cd0c34357250a7fe85218102122dec031737993314d805160f36b4c2ca259db10e1cca07e8581b23757db8d31f2b33eef02908dab0ef7e4a5d8801a60857e43bccf320b220ee4e7187e501b9a62ff18514cf93fc126b9391b2e67a551f2d670c", "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", @@ -510,8 +510,8 @@ } ], "outcome": "verdicts", - "package": "407908aae61977eaa1d257c58f76587b8a2617e8150c853c8218760bbc2fe44d", - "manifest": "3d489569aecd553feeee725c589f79dc96b612a74013b08b875b72a829f62361", + "package": "f8604ca9eb8a470e746132b1e8f389585074764c413adc897d78c86ba0798ddf", + "manifest": "8b22c92d7b8459e5a938281e7a62be0e0e97aaad110d959f401aef605ed35fb2", "room": "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", "complete": "holds", "publishable": { @@ -554,13 +554,13 @@ "name": "listing_mismatch", "about": "a byte of the accompanist's chunk 3 changed after the package was sealed, its LISTING not rewritten (§4.4 step 1)", "files": { - "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6632623730613261386237633731653438316230393566613539396361346536386565613331343834353930303164306464626364323762653061316665323520207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6131663438636236326136633932356535643861306638656334613537316466613537343962323830653530393030396339393363323533313365636664653020207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", - "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010604000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31295fa2458a711d889d117521bcf2dd453de8bbd5cdf33b14ff9e95722afa9518e5df6d2c10b322ea58638a047a894f4adb1823a3ccf1458c7b9bf99b716d5205", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d3101000000000106444504000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31f98a2987c668241e81c5c3c24457390ffd9cfb504dc745d4f1df2f939ac616bf781fb65c7788a4ed7018c9233d19ba96014ec66b11efe4b6f0a11d382b8f5700", "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", @@ -608,13 +608,13 @@ "name": "component_digest_mismatch", "about": "the same byte changed and the LISTING rewritten over it: the accompanist's take component no longer has the digest the recording manifest names (§4.4 step 3)", "files": { - "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6632623730613261386237633731653438316230393566613539396361346536386565613331343834353930303164306464626364323762653061316665323520207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a33643562393762366433333362643461336330636336383830333734383634333638336333336565363261656366643638623132356161613139343234346330202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6131663438636236326136633932356535643861306638656334613537316466613537343962323830653530393030396339393363323533313365636664653020207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a33643562393762366433333362643461336330636336383830333734383634333638336333336565363261656366643638623132356161613139343234346330202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", - "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010604000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31295fa2458a711d889d117521bcf2dd453de8bbd5cdf33b14ff9e95722afa9518e5df6d2c10b322ea58638a047a894f4adb1823a3ccf1458c7b9bf99b716d5205", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d3101000000000106444504000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31f98a2987c668241e81c5c3c24457390ffd9cfb504dc745d4f1df2f939ac616bf781fb65c7788a4ed7018c9233d19ba96014ec66b11efe4b6f0a11d382b8f5700", "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", @@ -663,14 +663,14 @@ "name": "component_unlisted", "about": "a file that no component holds, listed in LISTING (§4.4 step 3)", "files": { - "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6634653161353637326564663164393266363137383462626262323034386164316435633863623434333332313632646530343732363562623639363338373220206e6f7465732f73657373696f6e2e7478740a6632623730613261386237633731653438316230393566613539396361346536386565613331343834353930303164306464626364323762653061316665323520207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6634653161353637326564663164393266363137383462626262323034386164316435633863623434333332313632646530343732363562623639363338373220206e6f7465732f73657373696f6e2e7478740a6131663438636236326136633932356535643861306638656334613537316466613537343962323830653530393030396339393363323533313365636664653020207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", "notes/session.txt": "612066696c65206f66206e6f20636f6d706f6e656e74", - "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010604000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31295fa2458a711d889d117521bcf2dd453de8bbd5cdf33b14ff9e95722afa9518e5df6d2c10b322ea58638a047a894f4adb1823a3ccf1458c7b9bf99b716d5205", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d3101000000000106444504000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31f98a2987c668241e81c5c3c24457390ffd9cfb504dc745d4f1df2f939ac616bf781fb65c7788a4ed7018c9233d19ba96014ec66b11efe4b6f0a11d382b8f5700", "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", @@ -718,13 +718,13 @@ "name": "component_invalid", "about": "a room component holding a file §3.3 does not define, sealed with it (§4.4 step 4)", "files": { - "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3439663730643137663232366564613731363165356263333534386338386136653364323130383830623338626538306261336462663238346662656430613620207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a326566623565316539313535636337333335363831633231383864643731663966663261633463383135386461656130653636616335333862353363616631332020726f6f6d2f6e6f7465732e7478740a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3437303739633863623031316138313239663131653465626534383463343539346532363264643037663536616264326563653332633531663066336337343120207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a326566623565316539313535636337333335363831633231383864643731663966663261633463383135386461656130653636616335333862353363616631332020726f6f6d2f6e6f7465732e7478740a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", - "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010604000104726f6f6d8cda773253346ef4c185ee521debbe03a68414d5443741cccd395f5894c7c14502066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a3193dbd217face4183da58b98dd4f39bee6b9e87de005e5d805375c8e23ea58b64d8b12a1e373f43116a15efae88f1e5e72d9dde3c66d4dacb2eb517109e078206", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d3101000000000106444504000104726f6f6d8cda773253346ef4c185ee521debbe03a68414d5443741cccd395f5894c7c14502066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a313c4c65a194dea101fd3f85535d2a343d596744e4f8da7a164858be6f9a831f13f07f48e05137677a2d6beb348e91e3239d2d58748bb8f2d3b0b783ea810b2700", "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", @@ -774,13 +774,13 @@ "name": "recording_manifest_invalid", "about": "a recording manifest whose claims byte sets bit 1 (§4.2)", "files": { - "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3733356264323463663363303132616237636263663838323535613031333864633734396435636164303531626533613431383262656436343262316664666620207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3865623164336262343763633066666532343335353264336661306666633733393163656339366464663630333932353961643830313863323335383130373520207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", - "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000020204000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31b36b4df3ca5c99142e00664cceb3f2b1faac5cd5aeaa66d1feb55f32c68b2cf61a7a2fc6336c14fcfa1fb0af3af5aa2ed8e738305359e591091c5a207e4c0c06", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d3101000000000206444504000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31ce986ae57db11f8cfa41bc8c8e1276ee487f3b1cdca1b03b1576b4c647d617451d35902b987957d6c45e3e4c9e37b594217ca11c3bb38678fb4f15330d15d800", "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", @@ -828,13 +828,13 @@ "name": "manifest_bad_signature", "about": "one bit of the recording manifest's signature flipped, the LISTING rewritten over it (§4.1)", "files": { - "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3337376631313839666464376262356164613335383632353631343034616565623763316637623437356330663335396165633137636366346135376363666220207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3935633364656361626131616237396233616139333666653432653233316134303532633562376130623431363334653862636461383762316139656434623620207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", - "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010604000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31295fa2458a711d889d117521bcf2dd453de8bbd5cdf33b14ff9e95722afa9518e5df6d2c10b322ea58638a0472894f4adb1823a3ccf1458c7b9bf99b716d5205", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d3101000000000106444504000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31f98a2987c668241e81c5c3c24457390ffd9cfb504dc745d4f1df2f939ac616bf781fb65c7788a4ed7018c9233519ba96014ec66b11efe4b6f0a11d382b8f5700", "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", @@ -882,13 +882,13 @@ "name": "manifest_wrong_room", "about": "a recording manifest that names another room (§4.4 step 4)", "files": { - "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6534663832623134303731366434666430373765653664343666313330616463373438626466393731663266663965356431666533626335666161383235653120207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3836623839393434396331306562386166623731363465376439393664393434386631303631306535666331633065656539353236633834643333343863666520207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", - "recording.wrm": "57524d31014154ebdb256bd5596a7ce3b26b246a0e351473b55561fd7093cbeabf61f5f405d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010204000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a315d30d7fa7fcc5f694607a37a927d6eb94980323bf1f40947e20fdccdfec13baf2d788d14a3a81e3a830a1098555fb78371968a97780f03a485c5ad5f35b6e70e", + "recording.wrm": "57524d31014154ebdb256bd5596a7ce3b26b246a0e351473b55561fd7093cbeabf61f5f405d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d3101000000000106444504000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a3113147f30ca6b4e2c21b57bea066d65b9a6053ef2a4a8480d998cbcc42e8576b877bc3e7cce1ad9f119d9a1334e864306ec083d94429aa5038d08a4cb7840f607", "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", @@ -936,13 +936,13 @@ "name": "signer_not_permitted", "about": "a recording manifest signed by the viewer, whose grant has no record power (§4.4 step 5)", "files": { - "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6634323735633162376333376235343635666663343162623165313037363665353638346335376437346230633630643230343739333933633737613031643420207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6265313631313762343533313964373338386639626466613966623737636532366134323966356337313263353838366361346537363434616432633565383320207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", - "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c60000000000000000002d310100000000010204000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31556678f6401acf66ca607bad8e45d66508394e4dee6ae8f5ed2bd855284e4af2aa76aa27248813e31040964d2b27a7c0a91f5fdbdbb379c57b30be7ee1e08600", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c60000000000000000002d3101000000000106444504000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31e91c56f68ef1b3b64f034288f1e94ea3d97f8612b9f4946be09f01593981db668c03551c9de172097635d8b039539f59404f9348c0518a66a5b8cb6499357a06", "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", @@ -990,13 +990,13 @@ "name": "outside_span", "about": "a session span that ends at sixteen seconds, before the devices' closing commitments (§4.4 step 6)", "files": { - "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3332633534363434646662643438336231636433303962316439393963623938356563353532626438393030373561383561343262306238306361346131656520207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3366626430303533363037633635623134356264363163653130643637373862363064616364313933623933323063343034373630393362666663626332363120207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", - "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd00000000000000000024f40000000000010204000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a3198f4d7f36aacac7c27ed6ba63f455d2e144c690137e9e173766524d853e00ebbde7ba3eff4989b854be676d37a02c4800b300fafb7f11f299ffb0fcaade77602", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd00000000000000000024f400000000000106444504000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31adfadc3afd572d6c18dedabc3299cbf6a9a4b34859aa519330c8291594db2dfc7ca2e5f8063e9414c792a8f1f5c79b6c7a24515039b113f7ba4cc412adf00301", "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", @@ -1044,16 +1044,70 @@ ] }, { - "name": "take_refused", - "about": "the accompanist's take manifest with a bit of its signature flipped, sealed as it is: the take verifier refuses it at its manifest, and the recording at that take (§4.4 step 7)", + "name": "outside_region", + "about": "a recording manifest that keeps the package in US, outside the room's region pin of DE and FR (§4.4 step 5, live-rooms §3.7)", "files": { - "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6166663063616134663932393237656335393362623962383732663563616437346131376531663635333033333832636331636332656464393532326635623320207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a32633731343566366462393063636138313863323632383836303336303235623534626633383832326230656136653538646336616533306563383033633665202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6564353465323332313466346437353538633438323561616132383666366264323664313063643932336239663436306261616333376366333831326165363720207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", - "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010204000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393653402c1852726f59d283ece1640482553e94257773fe5d4ef15c2ce7cd5f4c3dcd8ae8448fff51bfb995e5f2fb9c756f5c839b6605e01b58de391abaf078744f3b3e29f2eb02146e355cb32507f6781cab60d5dea54d36f6903ef236fe2c3d0e", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d3101000000000106555304000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31a10a3ad3f607bd9884198f7392ec738874003824d3dbe7eca8fbe0c8fce629b08352b40fed970a90f4528236d4cb00eb9e920a976e7456ef15ed39d98a7ab10a", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [], + "outcome": "refuse", + "reason": "store_outside_region", + "at": [ + "manifest" + ] + }, + { + "name": "take_refused", + "about": "the accompanist's take manifest with a bit of its signature flipped, sealed as it is: the take verifier refuses it at its manifest, and the recording at that take (§4.4 step 7)", + "files": { + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6534663031626538323365613438346533656235386230386264346430623033393039633538653736353062613837623335353733386464653233353564303720207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a32633731343566366462393063636138313863323632383836303336303235623534626633383832326230656136653538646336616533306563383033633665202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d3101000000000106444504000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393653402c1852726f59d283ece1640482553e94257773fe5d4ef15c2ce7cd5f4c3d7237c140751c5be00ba0903bb1645bbcf4ce535aa17f960b9547ed5b17c2255101f5bc6903e5e90ba7055ffc89676c9ff16929eb9becf6949b1220bd6a625d0c", "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", @@ -1103,13 +1157,13 @@ "name": "room_refused", "about": "the accompanist device's grant with a bit of its signature flipped, sealed as it is: the room verifier refuses the grant (live-rooms §4.3), and the recording there (§4.4 step 4)", "files": { - "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6637626431666137393162393931396361336236393763303735393664393034333536653361396137663034663334346334353337343731343665643935346520207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a353361353564303666383633663735386632306537643464363064663532303339633330353238353335396164333831363939343639393537623339653835622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6136313631393739613333363931343164616237343663383234356438626232643333366566616133336437623262646665343737653363663565623137326520207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a353361353564303666383633663735386632306537643464363064663532303339633330353238353335396164333831363939343639393537623339653835622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", - "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d310100000000010204000104726f6f6d1e3d5051e553e81f4e975ce07b25cb003d3a554ef3ebd86a7ec5d15af42ee19002066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31425d869310e6779e5fb1bd24191bdd51d2ed49e0fbc2ac1e402db8e5b711cb2b7d69fed9b9261d75607c59fa43c56690467953f7b4509290497faed81c33620d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d3101000000000106444504000104726f6f6d1e3d5051e553e81f4e975ce07b25cb003d3a554ef3ebd86a7ec5d15af42ee19002066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31ac1a72decdae13649d3bb1a1697ca819b3e3ea045e68379917ced283f90dec3dc1afe7c2a04aa167aed640c0738e6a06d64dfedecc3bcf54e7391386bd05ff06", "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", diff --git a/wai/wai-rs/src/codecs/registry.rs b/wai/wai-rs/src/codecs/registry.rs index e998ffe6e..d74cfbfcc 100644 --- a/wai/wai-rs/src/codecs/registry.rs +++ b/wai/wai-rs/src/codecs/registry.rs @@ -212,6 +212,7 @@ pub const CAP_VIDEO_CHANNEL: &str = "wai.video.channel"; pub const CAP_LIVE_EVENTS: &str = "wai.live.events"; pub const CAP_LIVE_ROOM: &str = "wai.live.room"; pub const CAP_CAPTURE_TAKE: &str = "wai.capture.take"; +pub const CAP_LIVE_RECORDING: &str = "wai.live.recording"; /// One row per string SPEC §5 registers that is a payload, companion or record: /// `(string, SPEC section, edition, registered)`. @@ -292,6 +293,7 @@ const ROWS: &[(&str, &str, Option<&str>, &str)] = &[ (CAP_LIVE_EVENTS, S_INTERACTIVE, None, "2026-10-16"), (CAP_LIVE_ROOM, S_INTERACTIVE, None, "2026-10-16"), (CAP_CAPTURE_TAKE, S_INTERACTIVE, None, "2026-10-17"), + (CAP_LIVE_RECORDING, S_INTERACTIVE, None, "2026-10-17"), (CAP_AUDIO_IAMF, S_IMMERSIVE, None, "2026-06-17"), (CAP_AUDIO_AC4, S_IMMERSIVE, None, "2026-06-17"), (CAP_AUDIO_IVAS, S_IMMERSIVE, None, "2026-06-17"), @@ -338,7 +340,7 @@ const DERIVATIONS_REGISTERED: &str = "2026-09-28"; const RECORDS: &[&str] = &[ CAP_ASSET_PROVENANCE, CAP_QUANTUM_CALIBRATION, CAP_QUANTUM_JOB, CAP_VIDEO_MANIFEST, CAP_VIDEO_SSAI, CAP_VIDEO_KEYS, CAP_VIDEO_PACKAGE, CAP_VIDEO_CHANNEL, - CAP_LIVE_EVENTS, CAP_LIVE_ROOM, CAP_CAPTURE_TAKE, + CAP_LIVE_EVENTS, CAP_LIVE_ROOM, CAP_CAPTURE_TAKE, CAP_LIVE_RECORDING, ]; /// A named identifier SPEC uses that has the shape of a capability string but is @@ -479,6 +481,7 @@ const PACKAGING: &str = "extensions/packaging.md"; const LIVE_EVENTS: &str = "extensions/live-events.md"; const LIVE_ROOMS: &str = "extensions/live-rooms.md"; const CAPTURE_BINDING: &str = "extensions/capture-binding.md"; +const LIVE_RECORDING: &str = "extensions/live-recording.md"; const fn wire(name: &'static str, kind: WireKind, document: &'static str, section: &'static str, status: WireStatus) -> WireIdentifier { @@ -487,7 +490,7 @@ const fn wire(name: &'static str, kind: WireKind, document: &'static str, sectio /// The wire identifiers of the container, of its two delivery bindings /// (http-delivery, moq-streaming-format), of the key discovery those bindings serve -/// (jwp-receipts §7), of packaging, of live events, of live rooms and of capture binding, in document order. The +/// (jwp-receipts §7), of packaging, of live events, of live rooms, of capture binding and of live recording, in document order. The /// export lists them sorted by name and kind. pub const WIRE_IDENTIFIERS: &[WireIdentifier] = &[ wire("WAI1", WireKind::Magic, "SPEC.md", "§2", WireStatus::Defined), @@ -542,6 +545,8 @@ pub const WIRE_IDENTIFIERS: &[WireIdentifier] = &[ wire("WUR1", WireKind::Magic, CAPTURE_BINDING, "§6.2", WireStatus::Defined), wire("WTM1", WireKind::Magic, CAPTURE_BINDING, "§7.1", WireStatus::Defined), wire("WCN1", WireKind::Magic, CAPTURE_BINDING, "§8.1", WireStatus::Defined), + wire("WRM1", WireKind::Magic, LIVE_RECORDING, "§4.1", WireStatus::Defined), + wire("WCL1", WireKind::Magic, LIVE_RECORDING, "§5.1", WireStatus::Defined), ]; /// A string with the shape of a capability that the reference implementation uses diff --git a/wai/wai-rs/tests/int_kernels_vectors.rs b/wai/wai-rs/tests/int_kernels_vectors.rs index f6f09ea2a..f2b82f952 100644 --- a/wai/wai-rs/tests/int_kernels_vectors.rs +++ b/wai/wai-rs/tests/int_kernels_vectors.rs @@ -223,7 +223,7 @@ fn every_decoded_output_states_a_sha256() { ("pin-conformance", "parameter-set pins: every digest there is a SHA-256 of a parameter set"), ("ops-conformance", "integer operators: every operator, stage and graph vector, the lower_* decodes of the sets under sets/ among them, states its output integers in full or its refusal code, never a digest of them; certificates/ states each lowered set's SHA-256 (a parameter-set identity) and holds the lowered graphs as bytes, compared byte for byte; the output digests a capability decoded through its lowering reproduces (integer-operators §14.4) are stated by that capability's own corpus"), ("signer-conformance", "key logs, grants and statuses: signed documents, no decoded output"), - ("live-conformance", "live events, rooms and takes: signed records, commitments and their verdicts, no decoded output"), + ("live-conformance", "live events, rooms, takes and recordings: signed records, commitments, packages, clips and their verdicts, no decoded output"), ("http-conformance", "objects and head proofs for transport: no case decodes a payload, and the component a fetch case picks is stated by its SHA-256"), ("cache-conformance", "cache rules: a driver, its controls and their reports, with no objects of its own"), ("byte-exact-conformance", "goldens over tests/vectors, whose sidecars state the SHA-256"), -- 2.54.0 (Apple Git-157) From 4c356c1f59c8355b7b94d5482027698420e24508 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 10:37:12 -0400 Subject: [PATCH 08/26] wai: registry export for wai.live.recording Co-Authored-By: Claude Opus 5.5 --- wai/registry/capabilities.json | 28 ++++++++++++++++++++++++++++ wai/vocab/v2.ttl | 7 +++++++ 2 files changed, 35 insertions(+) diff --git a/wai/registry/capabilities.json b/wai/registry/capabilities.json index 2de06862d..1c106a7ef 100644 --- a/wai/registry/capabilities.json +++ b/wai/registry/capabilities.json @@ -572,6 +572,20 @@ "edition": null, "registered": "2026-10-16" }, + { + "capability": "wai.live.recording", + "kind": "record", + "status": "registered", + "media": null, + "role": null, + "tier": null, + "licence": null, + "replicate": null, + "sets": [], + "spec_section": "§5 Interactive, temporal & computed content", + "edition": null, + "registered": "2026-10-17" + }, { "capability": "wai.live.room", "kind": "record", @@ -1685,6 +1699,13 @@ "section": "§5", "status": "defined" }, + { + "name": "WCL1", + "kind": "magic", + "document": "extensions/live-recording.md", + "section": "§5.1", + "status": "defined" + }, { "name": "WCN1", "kind": "magic", @@ -1727,6 +1748,13 @@ "section": "§4.1", "status": "defined" }, + { + "name": "WRM1", + "kind": "magic", + "document": "extensions/live-recording.md", + "section": "§4.1", + "status": "defined" + }, { "name": "WSIX", "kind": "magic", diff --git a/wai/vocab/v2.ttl b/wai/vocab/v2.ttl index 07a326e90..92bde1644 100644 --- a/wai/vocab/v2.ttl +++ b/wai/vocab/v2.ttl @@ -529,6 +529,13 @@ wai:wai.live.events a wai:Capability ; wai:specSection "§5 Interactive, temporal & computed content" ; wai:registeredOn "2026-10-16"^^xsd:date . +wai:wai.live.recording a wai:Capability ; + rdfs:label "wai.live.recording" ; + wai:kind wai:kind-record ; + wai:status wai:status-registered ; + wai:specSection "§5 Interactive, temporal & computed content" ; + wai:registeredOn "2026-10-17"^^xsd:date . + wai:wai.live.room a wai:Capability ; rdfs:label "wai.live.room" ; wai:kind wai:kind-record ; -- 2.54.0 (Apple Git-157) From f7d4c65d2e6377ced928688308f6ee3f18f060ca Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 10:38:26 -0400 Subject: [PATCH 09/26] wai: live-recording names each composition receipt by its digest; two wording fixes Co-Authored-By: Claude Opus 5.5 --- wai/extensions/live-recording.md | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/wai/extensions/live-recording.md b/wai/extensions/live-recording.md index e00367017..6e0a0f771 100644 --- a/wai/extensions/live-recording.md +++ b/wai/extensions/live-recording.md @@ -25,8 +25,8 @@ > Merkle tree hash, inclusion proofs and their verification); RFC 8216 §3.3, §4.3.2.2, > §4.3.2.5, §4.3.2.6, §4.3.3.1, §4.3.3.5 and §7; `draft-pantos-hls-rfc8216bis-22` §3.1.2, > §4.4.3.7, §4.4.3.8, §4.4.4.5 and §4.4.4.9; and `draft-ietf-moq-transport-22` (MOQT) -> §2.4.1, §3.2, §3.2.1, §8.2, §8.7, §9.11 and §9.20.9. Both are Internet-Drafts, and a -> section number of one of them in this text is that revision's. +> §2.4.1, §3.2, §3.2.1, §8.2, §8.7, §9.11 and §9.20.9. The two drafts are Internet-Drafts, +> and a section number of either in this text is that revision's. ## 1. Scope @@ -80,7 +80,8 @@ takes//manifest.wtm a take's manifest takes//chunk-.bin each chunk of the take the package holds takes//receipt-.wur the store's upload receipts takes//consent-.wcn the consent records -composite/… the composite, optionally (§3.5) +composite/receipt-.wcr the composite's receipts, optionally (§3.5) +composite/… and the objects they name LISTING ``` @@ -141,9 +142,11 @@ committed chunk. The master is its chunks concatenated in index order (capture-b A recording **MAY** hold the room's composite: the objects of a composed track, each with the composition receipt `WCR1` its compositor signed for it, which `wai.live.compose` -defines (live-compose §8; the receipt's digest is SHA-256 over its bytes before its -signature). The component `composite` holds them below `composite/`, and the recording -manifest names it by its `sha256` like any other. A recording verifier of this revision +defines (live-compose §8). The component `composite` holds each receipt as +`receipt-.wcr`, `` the receipt's digest (SHA-256 over its bytes before its +signature, live-compose §8.1) in 64 lowercase hexadecimal digits, and the objects the +receipts name beside them. The recording manifest names the component by its `sha256` like +any other, so the listing binds each receipt's bytes and its name its digest. A recording verifier of this revision checks that digest and reads nothing in the component: verifying a composition receipt is live-compose §8.3's, a later extension, and this extension depends on nothing of it but the name and digest of its record. @@ -196,9 +199,9 @@ The signer is the room authority (the descriptor's `authority`, live-rooms §3.1 principal of a grant the room verifier holds (live-rooms §4.3) that has the **record** power (live-rooms §3.3), that the key log's head does not revoke (live-rooms §5), and that covers `to`: `nbf` ≤ ⌊(`t0` + `to`) / 10^6⌋ < `exp`. The record power is the power to start -and stop a recording; sealing the session is the end of that act. A device's grant -commits to its take with `take_commit` and has no record power, so a device cannot seal -the room's recording. +and stop a recording; sealing the session is the end of that act. A device needs no record +power to commit to its take, and a device whose grant has none cannot seal the room's +recording. ### 4.4 Verification -- 2.54.0 (Apple Git-157) From dd2710ef14de9c9f92bc08c9e2060d379894250c Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 10:38:59 -0400 Subject: [PATCH 10/26] =?UTF-8?q?wai:=20recordings=20corpus=20=E2=80=94=20?= =?UTF-8?q?a=20session=20with=20a=20composite=20component,=20and=20its=20d?= =?UTF-8?q?igest=20mismatch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- wai/extensions/live-recording.md | 5 +++-- wai/live-conformance/live_record_verify.py | 2 +- wai/live-conformance/recordings/README.md | 3 +++ wai/wai-rs/src/live_record/corpus.rs | 19 +++++++++++++++++++ wai/wai-rs/tests/live_record.rs | 2 +- 5 files changed, 27 insertions(+), 4 deletions(-) diff --git a/wai/extensions/live-recording.md b/wai/extensions/live-recording.md index 6e0a0f771..977879ee5 100644 --- a/wai/extensions/live-recording.md +++ b/wai/extensions/live-recording.md @@ -602,13 +602,14 @@ key, the commitments and the chunks' bytes, with the outcome §5.4 gives them. binding's `lesson` take byte for byte (its manifest, chunks, receipts, consent and commitments), and the accompanist's, captured beside it in chunks of another length on a device whose clock runs ahead of the room's. The recording sealed by the room authority, - and by the director, stands. + and by the director, stands, and so does one with a composite component, whose file + stands for a composed object and whose digest alone the verifier checks. - **Recordings that fail a claim:** a take left out (`take_omitted`); capture binding's `missing_chunk` take, whose chunk 6 was never uploaded (`chunk_missing`); a commitment the relay did not deliver (`delivery_gap`); a take without its consent (`consent_missing`). - **Recordings refused:** a file changed after sealing (`listing_mismatch`) and with the - listing rewritten (`component_digest_mismatch`); a file of no component; a component + listing rewritten (`component_digest_mismatch`), a take's or the composite's; a file of no component; a component with a file §3 does not define; a manifest that breaks §4.2, of another room, or with a bad signature; a manifest signed by a principal without the record power; a package kept outside the room's region pin; a span that diff --git a/wai/live-conformance/live_record_verify.py b/wai/live-conformance/live_record_verify.py index b636829f7..3e58818a2 100644 --- a/wai/live-conformance/live_record_verify.py +++ b/wai/live-conformance/live_record_verify.py @@ -774,7 +774,7 @@ def main(corpus_dir): missing = [r for r in REASONS if r not in seen] if missing: fails.append("no vector gives %s" % ", ".join(missing)) - good = [v["name"] for v in doc["recordings"] if v["name"] in ("lesson_session", "signed_by_director") and not v.get("stands")] + good = [v["name"] for v in doc["recordings"] if v["name"] in ("lesson_session", "signed_by_director", "with_composite") and not v.get("stands")] good += [v["name"] for v in doc["clips"] if v["name"] in ("single_chunk", "byte_range", "whole_take", "first_chunk", "last_chunk", "two_takes_aligned", "live_head") and v["outcome"] != "accept"] if good: diff --git a/wai/live-conformance/recordings/README.md b/wai/live-conformance/recordings/README.md index 776403924..344c6d372 100644 --- a/wai/live-conformance/recordings/README.md +++ b/wai/live-conformance/recordings/README.md @@ -72,9 +72,12 @@ store), here with up to two takes: - `lesson_session`: the performer's take, capture binding's `lesson` take, and the accompanist's, eight chunks of 1.25 s on a device whose clock runs three seconds ahead, sealed by the room authority; `signed_by_director`, the same sealed by the director; + `with_composite`, the same with a composite component, whose one file stands for a + composed object and encodes nothing; - recordings that fail a claim: `take_omitted`, `missing_chunk` (capture binding's `missing_chunk` take), `commit_gap` and `consent_missing`; - recordings refused: `listing_mismatch`, `component_digest_mismatch`, + `composite_digest_mismatch`, `component_unlisted`, `component_invalid`, `recording_manifest_invalid`, `manifest_bad_signature`, `manifest_wrong_room`, `signer_not_permitted`, `outside_region`, `outside_span`, `take_refused` and `room_refused`; diff --git a/wai/wai-rs/src/live_record/corpus.rs b/wai/wai-rs/src/live_record/corpus.rs index b564d8054..b87ef4960 100644 --- a/wai/wai-rs/src/live_record/corpus.rs +++ b/wai/wai-rs/src/live_record/corpus.rs @@ -551,6 +551,25 @@ fn recording_vectors() -> Vec { Intent::Good, )); let mut f = lesson.files.clone(); + f.insert("composite/object-0000.bin".into(), chunk_bytes(b"composite", 0)); + let composite = seal(f, &sealing(lesson.room), &key(AUTHORITY)); + out.push(v( + "with_composite", + "the lesson session with a composite component, whose one file stands for a composed object and encodes nothing: the manifest names it last, by its listing's digest, and the verifier reads nothing in it (§3.5)", + composite.clone(), + vec![(t1, "lesson")], + Intent::Good, + )); + let mut f = composite; + f.get_mut("composite/object-0000.bin").expect("the composite's file")[0] ^= 1; + out.push(v( + "composite_digest_mismatch", + "the composite's file changed after sealing and the LISTING rewritten over it: the composite component no longer has the digest the manifest names (§4.4 step 3)", + relist(f), + vec![], + Intent::Refuse("component", Reason::ComponentDigestMismatch), + )); + let mut f = lesson.files.clone(); f.retain(|p, _| !p.starts_with(&format!("takes/{}/", hex(&t2)))); out.push(v( "take_omitted", diff --git a/wai/wai-rs/tests/live_record.rs b/wai/wai-rs/tests/live_record.rs index 824a41ec5..67bcd7ef2 100644 --- a/wai/wai-rs/tests/live_record.rs +++ b/wai/wai-rs/tests/live_record.rs @@ -52,7 +52,7 @@ fn the_corpus_covers_every_reason_and_clip() { for r in Reason::ALL { assert!(seen.contains(r.code()), "nothing in the corpus gives {r}"); } - for name in ["lesson_session", "signed_by_director"] { + for name in ["lesson_session", "signed_by_director", "with_composite"] { let v = recordings.iter().find(|v| v["name"] == name).unwrap_or_else(|| panic!("no recording {name}")); assert_eq!(v["stands"], true, "{name}"); assert_eq!(v["complete"], "holds", "{name}"); -- 2.54.0 (Apple Git-157) From 1ac7b15ab88e76ed2fbffcb08d1311f3fb8692d2 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 10:39:41 -0400 Subject: [PATCH 11/26] =?UTF-8?q?wai:=20live=5Frecord=20=E2=80=94=20four?= =?UTF-8?q?=20clippy=20findings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- wai/wai-rs/src/live_record.rs | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/wai/wai-rs/src/live_record.rs b/wai/wai-rs/src/live_record.rs index 6f24c6fa5..57ed42e4b 100644 --- a/wai/wai-rs/src/live_record.rs +++ b/wai/wai-rs/src/live_record.rs @@ -616,7 +616,14 @@ pub struct RecordingRun { pub room: Option<[u8; 32]>, } -fn take_files(files: &BTreeMap>, dir: &str) -> Option<(Vec, Vec<(u64, Vec)>, Vec>, Vec>)> { +/// A take component's files (§3.4): the manifest, the parts as (index, bytes), the receipts +/// and the consents. +type TakeFiles = (Vec, Vec<(u64, Vec)>, Vec>, Vec>); + +/// The room component's files (§3.3): the descriptor, the grants and the key-log head. +type RoomFiles = (Vec, Vec>, Option); + +fn take_files(files: &BTreeMap>, dir: &str) -> Option { let mut manifest = None; let (mut parts, mut receipts, mut consents) = (Vec::new(), Vec::new(), Vec::new()); for (p, b) in files.iter().filter_map(|(p, b)| p.strip_prefix(dir).map(|r| (r, b))) { @@ -631,18 +638,17 @@ fn take_files(files: &BTreeMap>, dir: &str) -> Option<(Vec, } else if let Some(k) = numbered("receipt-", ".wur", 4) { (k == receipts.len() as u64).then_some(())?; receipts.push(b.clone()); - } else if let Some(k) = numbered("consent-", ".wcn", 4) { + } else { + let k = numbered("consent-", ".wcn", 4)?; (k == consents.len() as u64).then_some(())?; consents.push(b.clone()); - } else { - return None; } } Some((manifest?, parts, receipts, consents)) } /// The room component's files (§3.3): the descriptor, the grants, the key-log head. -fn room_files(files: &BTreeMap>) -> Option<(Vec, Vec>, Option)> { +fn room_files(files: &BTreeMap>) -> Option { let mut descriptor = None; let mut grants = Vec::new(); let mut head = None; @@ -809,10 +815,10 @@ fn recording_complete(room_run: &RoomRun, chains: &[Vec>], room_id: &[u8 return Verdict::Fails(Reason::TakeOmitted); } for (_, v) in takes { - if let take::Verdict::Fails(r) = v.single_take { - if matches!(r, take::DELIVERY_GAP | take::Reason::CommitChainBroken | take::Reason::TakeNotClosed) { - return Verdict::Fails(r.into()); - } + if let take::Verdict::Fails(r) = v.single_take + && matches!(r, take::DELIVERY_GAP | take::Reason::CommitChainBroken | take::Reason::TakeNotClosed) + { + return Verdict::Fails(r.into()); } if let take::Verdict::Fails(r) = v.complete { return Verdict::Fails(r.into()); -- 2.54.0 (Apple Git-157) From 7e620720a8bed3e57bc9dd2618b4dedd16ea63a2 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 10:40:57 -0400 Subject: [PATCH 12/26] wai: live-conformance/recordings regenerated with the composite vectors Co-Authored-By: Claude Opus 5.5 --- wai/live-conformance/recordings/vectors.json | 151 +++++++++++++++++++ 1 file changed, 151 insertions(+) diff --git a/wai/live-conformance/recordings/vectors.json b/wai/live-conformance/recordings/vectors.json index 6143a4d6b..bf175fe1c 100644 --- a/wai/live-conformance/recordings/vectors.json +++ b/wai/live-conformance/recordings/vectors.json @@ -203,6 +203,157 @@ } ] }, + { + "name": "with_composite", + "about": "the lesson session with a composite component, whose one file stands for a composed object and encodes nothing: the manifest names it last, by its listing's digest, and the verifier reads nothing in it (§3.5)", + "files": { + "LISTING": "336164313133383736346566393766356239306265666632653532653934643134633034323964373865633838383662363338313031343333353230646630372020636f6d706f736974652f6f626a6563742d303030302e62696e0a3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3030653234653033393061383761366664616338623863623063646665333538633338336435643139313235393430636339373964303866306233393736636320207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "composite/object-0000.bin": "3d62689a4efc3b4865e13648a28f41e0fb4a3f99c1edc8614fe9347dd6d9c6acfe1753f1d3bb7f7887197b744f80bb2c", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d3101000000000106444505000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a310409636f6d706f736974658489ae55ecfd8a9bf041275d807aff9257865e8259bd549ef8cf5bbe28ffc3867918a4660a0fe1cd02123f45b16ce207de4802b1a7f01358d7c299ce6f6e66e855ff634323fdc4a25546ed94f74b2e7c32cd64b4e0057ad92aa757f590ec5705", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "vector": "lesson" + } + ], + "outcome": "verdicts", + "package": "3406f2fb2a9bd86e355938f83b5d79506b2ea60317f4cec0d013a1a2ae7cf087", + "manifest": "f7f73c560715a4dba9840582ce0944d3052c082780c6f7b3bf3e32d1cb759065", + "room": "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", + "complete": "holds", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": true, + "takes": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "single_take": "holds", + "aligned": "holds", + "complete": "holds", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": true + }, + { + "take": "fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96", + "single_take": "holds", + "aligned": "holds", + "complete": "holds", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": true + } + ] + }, + { + "name": "composite_digest_mismatch", + "about": "the composite's file changed after sealing and the LISTING rewritten over it: the composite component no longer has the digest the manifest names (§4.4 step 3)", + "files": { + "LISTING": "626530396665613131643064343736636436626539343039346262613439646637636166313731376461643963356362336565373765363566646134363833612020636f6d706f736974652f6f626a6563742d303030302e62696e0a3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3030653234653033393061383761366664616338623863623063646665333538633338336435643139313235393430636339373964303866306233393736636320207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "composite/object-0000.bin": "3c62689a4efc3b4865e13648a28f41e0fb4a3f99c1edc8614fe9347dd6d9c6acfe1753f1d3bb7f7887197b744f80bb2c", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0000000000000000002d3101000000000106444505000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a310409636f6d706f736974658489ae55ecfd8a9bf041275d807aff9257865e8259bd549ef8cf5bbe28ffc3867918a4660a0fe1cd02123f45b16ce207de4802b1a7f01358d7c299ce6f6e66e855ff634323fdc4a25546ed94f74b2e7c32cd64b4e0057ad92aa757f590ec5705", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [], + "outcome": "refuse", + "reason": "component_digest_mismatch", + "at": [ + "component", + 4 + ] + }, { "name": "take_omitted", "about": "a package that leaves the accompanist's take out, though the room's events open it: complete fails (§4.5 complete 2)", -- 2.54.0 (Apple Git-157) From 901a97f1ca5f63e2278c16087618f005fa4c6aae Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 10:52:17 -0400 Subject: [PATCH 13/26] wai: a recording's signer holds the record power at every instant of its span A principal other than the room authority may sign WRM1 only under a grant with the record power in effect over the whole span: effective at or before its start, with no leave, grant_exchange or expiry taking the power away before its end. A refusal keeps the code recording_signer_not_permitted and states the first instant of the span without the power, at ["signer", t]. Since a recording holds the room's chains whole, the span now binds the takes the package holds (each start and closing commitment within it) and the takes complete counts, not every context record, so a recorder that gained the power partway seals a span that starts at its grant. New vectors: late_recorder_span (stands), signer_power_late, signer_removed, signer_power_exchanged, signer_grant_expired and signer_grant_revoked (refused at the room: a key-log revocation is not bounded by a time). Co-Authored-By: Claude Opus 5.5 --- wai/CHANGELOG.md | 9 +- wai/SPEC.md | 6 +- wai/extensions/live-recording.md | 98 +++++++++++++------ wai/live-conformance/live_record_verify.py | 72 +++++++++++--- wai/live-conformance/recordings/README.md | 17 +++- wai/wai-rs/src/live_record.rs | 106 +++++++++++++++----- wai/wai-rs/src/live_record/corpus.rs | 108 +++++++++++++++++++-- wai/wai-rs/tests/live_record.rs | 2 +- 8 files changed, 329 insertions(+), 89 deletions(-) diff --git a/wai/CHANGELOG.md b/wai/CHANGELOG.md index 78eed8021..6b32773ec 100644 --- a/wai/CHANGELOG.md +++ b/wai/CHANGELOG.md @@ -16,9 +16,12 @@ wire format may change and such changes are recorded here. manifest, the chunks the store holds, its receipts and consents) and, optionally, the composite by its composition receipts. Each component is named as SPEC §7.1 names one, by an `id` and a `sha256`, here the SHA-256 of the listing of its files. -- **The recording manifest** (`WRM1`) is signed by the room authority or by a principal - whose grant has the record power, and names every component with the session's span on - the room clock and the region the package is kept in, held to the room's region pin. A +- **The recording manifest** (`WRM1`) is signed by the room authority, or by a principal that + held the record power at every instant of the session span (its grant in effect from the + span's start, with no leave, exchange or expiry taking the power away before its end; a + refusal states the first instant without it), and names every component with the span on + the room clock and the region the package is kept in, held to the room's region pin. Every + take the package holds lies within the span; the package holds the room's chains whole. A recording verifier replays the room and each take and gives `complete` (every take the room's events open is held, each one `complete` with its commitments unbroken from open to close, and no event missing) and `publishable` for each purpose. diff --git a/wai/SPEC.md b/wai/SPEC.md index 5de014265..d7d3dd13d 100644 --- a/wai/SPEC.md +++ b/wai/SPEC.md @@ -899,9 +899,9 @@ And for a room session **recorded** whole — `wai.live.recording`: a finished s package, a directory of files and its listing (§3.1), whose components are the room (its descriptor, grants and key-log head), its events (each principal's chain whole), one take of each participant and, optionally, the composite, each named as §7.1 names a component, by an -`id` and the SHA-256 of its files' listing. A recording manifest signed by the room authority -or a principal with the record power names every component with the session's span on the -room clock and where the package is kept, and a verifier gives `complete` (every take of the +`id` and the SHA-256 of its files' listing. A recording manifest signed by the room authority, +or by a principal that held the record power at every instant of the session's span, names +every component with that span on the room clock and where the package is kept, and a verifier gives `complete` (every take of the session held, each whole, and no event missing) and `publishable` for each purpose. A **clip** of a recording, a span of one take or one window of several aligned on the room clock, is a signed clip record carrying the covered chunks' descriptors and an RFC 6962 audit path taken diff --git a/wai/extensions/live-recording.md b/wai/extensions/live-recording.md index 977879ee5..8932d8f48 100644 --- a/wai/extensions/live-recording.md +++ b/wai/extensions/live-recording.md @@ -52,8 +52,8 @@ dispatchable. - **Take**, **device**, **master**, **chunk**, **descriptor**, **take tree**, **commitment**, **offset**, **purpose**: as in capture-binding §2 and §4. *I* and *J* are the room's commit interval and jitter in microseconds (capture-binding §2). -- **Session span**: the room-clock instants a recording covers, `from` to `to`, both - included. +- **Session span**: the room-clock instants a recording covers and its signer vouches for, + `from` to `to`, both included. - **Package**: the directory of files a recording is (§3). - **Component**: a part of a package named by a kind, an `id` and a `sha256` (§3.2). - **Head**: the commitment of a take a clip's proof is made against: one of the take's @@ -155,8 +155,8 @@ name and digest of its record. ### 4.1 Layout -When the session is over, the room authority or a principal with the record power (§4.3) -signs a recording manifest, `WRM1`: +When the session is over, the room authority, or a principal that held the record power over +the whole span (§4.3), signs a recording manifest, `WRM1`: | field | size | meaning | |---|---|---| @@ -195,13 +195,38 @@ package one sequence of bytes. ### 4.3 Who signs -The signer is the room authority (the descriptor's `authority`, live-rooms §3.1), or the -principal of a grant the room verifier holds (live-rooms §4.3) that has the **record** -power (live-rooms §3.3), that the key log's head does not revoke (live-rooms §5), and that -covers `to`: `nbf` ≤ ⌊(`t0` + `to`) / 10^6⌋ < `exp`. The record power is the power to start -and stop a recording; sealing the session is the end of that act. A device needs no record -power to commit to its take, and a device whose grant has none cannot seal the room's -recording. +The room authority (the descriptor's `authority`, live-rooms §3.1) may sign any span. Any +other signer **MUST** hold the **record** power (live-rooms §3.3) at every instant of the +span, from `from` to `to` inclusive. + +A principal holds the power at room-clock instant *t* when, in the room state replayed to +*t* (live-rooms §9.3: every `join`, `grant_exchange` and `leave` of it that the room verifier +accepted with its `t` at or below *t*, in the merged order), it is present, and its grant in +effect has the record power, is not revoked (live-rooms §5), and covers *t*: `nbf` ≤ +⌊(`t0` + *t*) / 10^6⌋ < `exp`. So the grant took effect, by a `join` or a `grant_exchange`, +at or before `from`, and nothing takes the power away before `to`: no `leave`, no +`grant_exchange` to a grant without it, and no expiry. + +A signer that does not hold it throughout is refused `recording_signer_not_permitted`, and +the verifier states the **first instant** of the span at which it does not hold it: `from` +when it held no grant with the power there; otherwise the `t` of the `leave` or the +`grant_exchange` that took the power away, or the first instant its grant does not cover. +One code with the instant, not one code per cause: the power over the span is one property, +each way it lapses is already a record of the room (a lifecycle event, or a grant's window) +that the instant points at, and the instant is what a signer needs to know to seal a span it +did hold the power over. A span that fails several ways fails first where the instant says. + +The record power is the power to start and stop a recording, and sealing the session is the +end of that act. Held only at the end, it would let a principal granted it just before the +end seal a session it never held the power to record. A recorder that gained the power +partway through signs a manifest whose span starts no earlier than its grant took effect; +the package still holds the room's chains whole (§3.3), and §4.4 step 6 holds every take it +holds to that span. A device needs no record power to commit to its take, and a device whose +grant has none cannot seal the room's recording. + +A revocation in the key log is not bounded by a time (live-rooms §5): the room verifier +refuses every use of a revoked grant, so a head that revokes the signer's grant refuses the +recording at the room (§4.4 step 4), before this rule is reached. ### 4.4 Verification @@ -226,30 +251,34 @@ and where: recording's, at `room` with the room verifier's own place. A gap is not a refusal: the steps go on, and §4.5 says what a gap fails. The manifest's `room` is the room id: otherwise `wrong_room`, at `manifest`. -5. **The signer** (§4.3): otherwise `recording_signer_not_permitted`. **The region**: where - the room's recording policy pins regions (live-rooms §3.7), `region` is one of them, - otherwise `store_outside_region`, capture-binding §6.3's code. At `manifest`. -6. **The span.** Every record the room verifier accepted has its `t` within the session - span: otherwise `outside_span`, at that record, with the room verifier's place for it. -7. **The takes.** For each take component, in the manifest's order: it holds the files of +5. **The signer** (§4.3): otherwise `recording_signer_not_permitted`, at `signer` with the + first instant of the span at which it does not hold the record power. **The region**: + where the room's recording policy pins regions (live-rooms §3.7), `region` is one of + them, otherwise `store_outside_region`, capture-binding §6.3's code, at `manifest`. +6. **The takes.** For each take component, in the manifest's order: it holds the files of §3.4 and no other, otherwise `component_invalid`; the take verifier (capture-binding §9) is given the room as in step 4, the take manifest, the parts, the receipts, the consents and `at`, and its refusal is the recording's, at `take` with the component's - index and the take verifier's own place; and the take id it reads is the component's - `id`, otherwise `component_invalid`, at that component. -8. **The verdicts** (§4.5). + index and the take verifier's own place; the take id it reads is the component's `id`, + otherwise `component_invalid`; and the take lies within the span, its start (the + `record_start` it answers) at or after `from` and its last held commitment at or before + `to`, otherwise `outside_span`; at that component. The records before `from` or after + `to` that the package holds are the room's chains whole, which the room verifier replays + the room from; the manifest states nothing of them. +7. **The verdicts** (§4.5). ### 4.5 Verdicts and outcome -**`complete`** holds when the recording holds every take of the session, each whole, and -every event the room verifier was offered: the first reason below that applies. +**`complete`** holds when the recording holds every take of the session that starts within +the span, each whole, and every event the room verifier was offered: the first reason below +that applies. 1. `delivery_gap`: the room verifier holds a gap (live-rooms §9.4). -2. `take_omitted`: a take of the session has no component. A **take of the session** is - the take id (capture-binding §3.2) that a `record_start` the room verifier accepted - (live-events §4.9) names for its target, where the room holds a `take_commit` of that - target whose payload reads (capture-binding §5.2) and names that take: a start its - device answered. +2. `take_omitted`: a take of the session whose `record_start` lies within the span has no + component. A **take of the session** is the take id (capture-binding §3.2) that a + `record_start` the room verifier accepted (live-events §4.9) names for its target, where + the room holds a `take_commit` of that target whose payload reads (capture-binding §5.2) + and names that take: a start its device answered. 3. For each take component, in the manifest's order: its `single-take` verdict fails with `delivery_gap`, `commit_chain_broken` or `take_not_closed`, so its commitments are not one unbroken chain from the opening commitment to the closing one: that reason; or its @@ -561,10 +590,10 @@ The codes this extension adds, each with where it is raised: |---|---| | `listing_mismatch` | §4.4 step 1 | | `recording_manifest_invalid` | §4.2, §4.4 step 2 | -| `component_invalid` | §4.4 steps 3, 4 and 7 | +| `component_invalid` | §4.4 steps 3, 4 and 6 | | `component_digest_mismatch` | §4.4 step 3; SPEC §7.1's code, for a component of a recording | | `component_unlisted` | §4.4 step 3 | -| `recording_signer_not_permitted` | §4.3, §4.4 step 5 | +| `recording_signer_not_permitted` | §4.3, §4.4 step 5, with the first instant of the span without the power | | `outside_span` | §4.4 step 6 | | `take_omitted` | §4.5 `complete` 2 | | `clip_record_invalid` | §5.2, §5.4 step 2 | @@ -608,12 +637,16 @@ key, the commitments and the chunks' bytes, with the outcome §5.4 gives them. `missing_chunk` take, whose chunk 6 was never uploaded (`chunk_missing`); a commitment the relay did not deliver (`delivery_gap`); a take without its consent (`consent_missing`). +- **The record power over the span:** a director that joins at 1 s seals the span from 1 s + and stands; sealing from 0 is refused at 0; and a director removed at 18 s, exchanged at + 17 s to a grant without the power, or whose grant expires at 18 s, is refused at that + instant; one whose grant the key log revokes is refused at the room. - **Recordings refused:** a file changed after sealing (`listing_mismatch`) and with the listing rewritten (`component_digest_mismatch`), a take's or the composite's; a file of no component; a component with a file §3 does not define; a manifest that breaks §4.2, of another room, or with a bad signature; a manifest signed by a principal without the record power; a package kept outside the room's region pin; a span that - ends before the room's last event; a take, and a grant, whose signature fails. + ends before a take's closing commitment; a take, and a grant, whose signature fails. - **Good clips:** a single chunk, a byte range with trims, a whole take, the first chunk, the last chunk, a span of the second take, a span proved against a commitment made while the take was running, a two-take clip aligned over one window, and a span of capture @@ -646,8 +679,9 @@ and it mutates copies of the corpus and requires every copy to fail. - The recording manifest is the signer's statement of which components the session has and of its span; it adds nothing to a take's verdicts, which the take verifier gives from - the room's events. Its signer has the record power, so a participant who can only - publish or watch cannot seal a recording of the room. The package digest names the whole; + the room's events. Its signer held the record power over the whole span, so a + participant who can only publish or watch cannot seal a recording of the room, and one + granted the power late cannot seal what came before it. The package digest names the whole; the manifest names each component, so a component can be fetched and checked alone. - A recording is personal data of everyone it records: the masters, and the events, whose chats, markers and captions are principals' words. The room's region pin and diff --git a/wai/live-conformance/live_record_verify.py b/wai/live-conformance/live_record_verify.py index 3e58818a2..326a7c5c6 100644 --- a/wai/live-conformance/live_record_verify.py +++ b/wai/live-conformance/live_record_verify.py @@ -55,6 +55,7 @@ ROOM, EVENTS, TAKE, COMPOSITE = 1, 2, 3, 4 COMPLETE = 1 RECORD_POWER = 8 TAKE_COMMIT, CONTROL = 0x0C, 0x09 +JOIN, LEAVE, GRANT_EXCHANGE = 0x10, 0x11, 0x14 OPEN, CLOSE = 1, 3 PURPOSES = [(1, "live"), (2, "record"), (4, "distribute"), (8, "train")] ZERO = bytes(32) @@ -262,8 +263,9 @@ def take_files(files, d): return None if manifest is None else (manifest, parts, receipts, consents) -def session_takes(d, chains, order): - """§4.5 complete 2: the takes the room's events open, each a start its device answered.""" +def session_takes(d, chains, order, span): + """§4.5 complete 2: the takes the room's events open within the span, each a start its + device answered.""" seen, starts, commits = set(), [], set() for c, i, _ in order: ev = LEV.read_record(chains[c][i]) @@ -280,11 +282,52 @@ def session_takes(d, chains, order): p = LEV.read_payload(CONTROL, ev["payload"], 65535) except Refuse: continue - if p["command"] == 1: + if p["command"] == 1 and span[0] <= ev["t"] <= span[1]: starts.append((p["target"], sha(TAKE_DOMAIN, d["room"], p["target"], ev["digest"]))) return [t for dev, t in starts if (dev, t) in commits] +def signer_lapse(d, chains, order, held, revoked, signer, span): + """§4.3: the first instant of the span at which `signer` does not hold the record power, + or None. The room state at t holds every join, grant_exchange and leave of the signer + the room verifier accepted with its t at or below t.""" + changes, seen = [], set() + for c, i, _ in order: + ev = LEV.read_record(chains[c][i]) + if ev["digest"] in seen or not LRV.is_room_key(d, ev["principal"]): + continue + seen.add(ev["digest"]) + if ev["kind"] not in (JOIN, LEAVE, GRANT_EXCHANGE): + continue + p = LEV.read_payload(ev["kind"], ev["payload"], 65535) + if p["subject"] != signer: + continue + x = LRV.read_detail(ev["kind"], p["detail"]) + changes.append((ev["t"], x["grant"] if ev["kind"] == JOIN else x["new"] if ev["kind"] == GRANT_EXCHANGE else None)) + lo, hi = span + current = None + for t, g in changes: + if t <= lo: + current = g + segments, at = [], lo + for t, g in changes: + if lo < t <= hi: + if t > at: + segments.append((at, t - 1, current)) + current, at = g, t + segments.append((at, hi, current)) + by = {g["digest"]: g for g in held} + for a, z, g in segments: + g = by.get(g) if g is not None else None + if g is None or not g["powers"] & RECORD_POWER or LRV.revoked(g, revoked): + return a + if not LRV.good_at(g, d, a): + return a + if not LRV.good_at(g, d, z): + return max(a, g["exp"] * 1000000 - d["t0"]) + return None + + def verify_recording(files, at): """§4.4, §4.5: a dict of what the corpus states.""" lst = files.get(LISTING) @@ -322,16 +365,15 @@ def verify_recording(files, at): if m["signer"] != d["authority"]: held, _ = LRV.check_grants(d, grants) revoked = LRV.check_key_log(d, head) - ok = any(g["principal"] == m["signer"] and g["powers"] & RECORD_POWER and not LRV.revoked(g, revoked) - and LRV.good_at(g, d, m["to"]) for g in held) - if not ok: - raise Stop(["manifest"], "recording_signer_not_permitted") + lapse = signer_lapse(d, chains, room["order"], held, revoked, m["signer"], (m["from"], m["to"])) + if lapse is not None: + raise Stop(["signer", lapse], "recording_signer_not_permitted") if d["regions"] and m["region"] not in d["regions"]: raise Stop(["manifest"], "store_outside_region") + times = {} for c, i, _ in room["order"]: - t = LEV.read_record(chains[c][i])["t"] - if not m["from"] <= t <= m["to"]: - raise Stop(["room", "record", c, i], "outside_span") + ev = LEV.read_record(chains[c][i]) + times[ev["digest"]] = ev["t"] takes = [] for i, c in enumerate(m["components"]): if c["kind"] != TAKE: @@ -349,6 +391,10 @@ def verify_recording(files, at): raise Stop(["take", i] + got["at"], got["reason"]) if got["take"] != c["id"].decode(): raise Stop(["component", i], "component_invalid") + opened = times.get(CT.read_manifest(tm, d["room"])["start"]) + closed = times.get(bytes.fromhex(got["commits"][-1])) if got["commits"] else None + if opened is None or opened < m["from"] or (closed is not None and closed > m["to"]): + raise Stop(["component", i], "outside_span") takes.append(got) except Stop as e: return {"outcome": "refuse", "reason": e.reason, "at": e.at} @@ -357,7 +403,7 @@ def verify_recording(files, at): held = {t["take"] for t in takes} if room["outcome"] == "gap": complete = "delivery_gap" - elif any(t.hex() not in held for t in session_takes(d, chains, room["order"])): + elif any(t.hex() not in held for t in session_takes(d, chains, room["order"], (m["from"], m["to"]))): complete = "take_omitted" else: for t in takes: @@ -741,6 +787,8 @@ def mutations(doc): mutate("the omitted take stated complete", lambda rs, cs: rs[rn["take_omitted"]].update(complete="holds")), mutate("the missing chunk stated complete", lambda rs, cs: rs[rn["missing_chunk"]].update(complete="holds")), mutate("the unpermitted signer stated at the listing", lambda rs, cs: rs[rn["signer_not_permitted"]].update(at=["listing"])), + mutate("the removed signer's power stated lost a second early", lambda rs, cs: rs[rn["signer_removed"]].update(at=["signer", 17000000])), + mutate("the late recorder's span stated from 0", lambda rs, cs: rs[rn["signer_power_late"]].update(at=["signer", 1000000])), mutate("a byte of the single chunk's bytes", lambda rs, cs: cs[single]["parts"][0]["bytes"].__setitem__(0, flip(cs[single]["parts"][0]["bytes"][0], 2))), mutate("a byte of the single chunk's record", lambda rs, cs: cs[single].update(record=flip(cs[single]["record"], 200))), mutate("the single chunk's last commitment dropped", lambda rs, cs: cs[single]["parts"][0]["commits"].pop()), @@ -774,7 +822,7 @@ def main(corpus_dir): missing = [r for r in REASONS if r not in seen] if missing: fails.append("no vector gives %s" % ", ".join(missing)) - good = [v["name"] for v in doc["recordings"] if v["name"] in ("lesson_session", "signed_by_director", "with_composite") and not v.get("stands")] + good = [v["name"] for v in doc["recordings"] if v["name"] in ("lesson_session", "signed_by_director", "with_composite", "late_recorder_span") and not v.get("stands")] good += [v["name"] for v in doc["clips"] if v["name"] in ("single_chunk", "byte_range", "whole_take", "first_chunk", "last_chunk", "two_takes_aligned", "live_head") and v["outcome"] != "accept"] if good: diff --git a/wai/live-conformance/recordings/README.md b/wai/live-conformance/recordings/README.md index 344c6d372..6d917f878 100644 --- a/wai/live-conformance/recordings/README.md +++ b/wai/live-conformance/recordings/README.md @@ -12,10 +12,11 @@ to the head and the chunks' bytes; with the outcome a verifier gives each. `files` (path to bytes, in hexadecimal) and its `evaluated_at` (seconds since 1970) reaches the outcome the vector states (§4.5): -- `refuse`: the `reason` and where, `at`: `["listing"]`, `["manifest"]`, `["component", i]` - for the manifest's component `i`, `["room", …]` with the room verifier's own place - (live-rooms §9.1), or `["take", i, …]` with the take verifier's own place in component `i` - (capture-binding §9.1); +- `refuse`: the `reason` and where, `at`: `["listing"]`, `["manifest"]`, `["signer", t]` + with the first instant `t` of the span at which the signer does not hold the record power + (§4.3), `["component", i]` for the manifest's component `i`, `["room", …]` with the room + verifier's own place (live-rooms §9.1), or `["take", i, …]` with the take verifier's own + place in component `i` (capture-binding §9.1); - `verdicts`: the `package` digest (SHA-256 of `LISTING`), the recording `manifest`'s digest, the `room` id, `complete`, `publishable` for each of `live`, `record`, `distribute` and `train` (each `holds` or the reason it fails), whether the manifest @@ -73,7 +74,13 @@ store), here with up to two takes: accompanist's, eight chunks of 1.25 s on a device whose clock runs three seconds ahead, sealed by the room authority; `signed_by_director`, the same sealed by the director; `with_composite`, the same with a composite component, whose one file stands for a - composed object and encodes nothing; + composed object and encodes nothing; `late_recorder_span`, a director that joins at 1 s + sealing the span from 1 s; +- the record power over the span (§4.3), each refused at the instant it lapses: + `signer_power_late` (the same director sealing from 0), `signer_removed` (removed at + 18 s), `signer_power_exchanged` (exchanged at 17 s to a grant without the power) and + `signer_grant_expired` (its grant expires at 18 s); and `signer_grant_revoked`, whose + grant the key log revokes, refused at the room; - recordings that fail a claim: `take_omitted`, `missing_chunk` (capture binding's `missing_chunk` take), `commit_gap` and `consent_missing`; - recordings refused: `listing_mismatch`, `component_digest_mismatch`, diff --git a/wai/wai-rs/src/live_record.rs b/wai/wai-rs/src/live_record.rs index 57ed42e4b..545168d45 100644 --- a/wai/wai-rs/src/live_record.rs +++ b/wai/wai-rs/src/live_record.rs @@ -45,7 +45,7 @@ use sha2::{Digest, Sha256}; use crate::capture_take::{self as take, extends, leaves, phase, purpose, take_id, Chunk, Commit, TakeInputs, TakeOutcome, CHUNK_LEN}; use crate::live_events::{self as events, Command, Event, Payload}; -use crate::live_room::{self as room, check_key_log, power, verify_room, At, Descriptor, RoomOutcome, RoomRun}; +use crate::live_room::{self as room, check_key_log, power, verify_room, At, Descriptor, Detail, KeyLogState, RoomOutcome, RoomRun}; use crate::output_tree::{range_proof, verify_range, OutputCommitment}; pub mod corpus; @@ -560,6 +560,9 @@ pub enum Place { Component(usize), /// The room verifier's own place. Room(At), + /// The signer, and the first instant of the session span at which it does not hold + /// the record power (§4.3). + Signer(u64), /// A take verifier's own place, in the take component at this index. Take { component: usize, at: take::Place }, } @@ -681,9 +684,10 @@ fn event_chains(files: &BTreeMap>) -> Option>>> Some(out) } -/// The takes the room's events open (§4.5 `complete` 2): for each accepted `record_start`, -/// the take id it names, where the room holds a `take_commit` of its target that names it. -fn session_takes(run: &RoomRun, chains: &[Vec>], room_id: &[u8; 32]) -> Vec<[u8; 32]> { +/// The takes the room's events open within the span (§4.5 `complete` 2): for each accepted +/// `record_start` whose `t` lies in [`from`, `to`], the take id it names, where the room +/// holds a `take_commit` of its target that names it. +fn session_takes(run: &RoomRun, chains: &[Vec>], room_id: &[u8; 32], from: u64, to: u64) -> Vec<[u8; 32]> { let mut seen = BTreeSet::new(); let mut starts = Vec::new(); let mut commits: BTreeSet<([u8; 32], [u8; 32])> = BTreeSet::new(); @@ -696,13 +700,67 @@ fn session_takes(run: &RoomRun, chains: &[Vec>], room_id: &[u8; 32]) -> if let Ok(cm) = Commit::parse(&e.payload) { commits.insert((e.principal, cm.take)); } - } else if let Ok(Payload::Control { target, command: Command::RecordStart { .. } }) = events::parse_payload(e.kind, &e.payload, u16::MAX) { + } else if let Ok(Payload::Control { target, command: Command::RecordStart { .. } }) = events::parse_payload(e.kind, &e.payload, u16::MAX) + && (from..=to).contains(&e.t) + { starts.push((target, take_id(room_id, &target, &e.digest()))); } } starts.into_iter().filter(|(d, t)| commits.contains(&(*d, *t))).map(|(_, t)| t).collect() } +/// §4.3: the first instant of [`from`, `to`] at which `signer` does not hold the record +/// power, or `None` when it holds it throughout. The room state is replayed from the +/// lifecycle the room verifier accepted (live-rooms §9.3): at instant `t` it holds every +/// `join`, `grant_exchange` and `leave` of the signer with its `t` at or below `t`. The power +/// is held at `t` when the signer is present there under a grant that has the record power, +/// that the head does not revoke, and that covers `t`. +fn signer_lapse(run: &RoomRun, chains: &[Vec>], d: &Descriptor, kl: &KeyLogState, signer: &[u8; 32], from: u64, to: u64) -> Option { + let mut changes: Vec<(u64, Option<[u8; 32]>)> = Vec::new(); + let mut seen = BTreeSet::new(); + for &(c, i, _) in &run.order { + let Ok(e) = Event::parse(&chains[c][i]) else { continue }; + if !seen.insert(e.digest()) || !d.is_room_key(&e.principal) { + continue; + } + let Ok(Payload::Lifecycle { kind, subject, detail }) = events::parse_payload(e.kind, &e.payload, u16::MAX) else { continue }; + if subject != *signer { + continue; + } + match Detail::parse(kind, &detail) { + Ok(Detail::Join { grant }) => changes.push((e.t, Some(grant))), + Ok(Detail::GrantExchange { new, .. }) => changes.push((e.t, Some(new))), + Ok(Detail::Leave { .. }) => changes.push((e.t, None)), + _ => {} + } + } + // The grant in effect at `from`, then a segment of the span for each change in it. + let mut held = changes.iter().rev().find(|(t, _)| *t <= from).and_then(|c| c.1); + let mut at = from; + let mut segments = Vec::new(); + for &(t, g) in changes.iter().filter(|(t, _)| from < *t && *t <= to) { + if t > at { + segments.push((at, t - 1, held)); + } + held = g; + at = t; + } + segments.push((at, to, held)); + for (a, z, g) in segments { + let grant = g.and_then(|g| run.grants.iter().find(|h| h.digest == g)).filter(|h| h.grant.caps.powers & power::RECORD != 0 && !kl.revokes(h)); + let Some(h) = grant else { return Some(a) }; + if !h.grant.covers(d.t0_us, a) { + return Some(a); + } + if !h.grant.covers(d.t0_us, z) { + // The first instant past `exp`: the window is [nbf, exp) and covers `a`. + let past = (h.grant.exp as u128 * 1_000_000).saturating_sub(d.t0_us as u128); + return Some((past as u64).max(a)); + } + } + None +} + /// Verify a recording package (§4.4): its files by path, and the evaluation instant `at`, /// in seconds since 1970, that the takes' consents are evaluated at. pub fn verify_recording(files: &BTreeMap>, at: u64) -> RecordingRun { @@ -747,28 +805,24 @@ pub fn verify_recording(files: &BTreeMap>, at: u64) -> Recording if m.room != room_id { return refuse(run, Place::Manifest, WRONG_ROOM); } - // Step 5: the signer. + // Step 5: the signer holds the record power over the whole span (§4.3). if m.signer != d.authority { let kl = check_key_log(&d, head.as_deref()).unwrap_or_default(); - let permitted = room_run.grants.iter().any(|h| { - h.grant.principal == m.signer && h.grant.caps.powers & power::RECORD != 0 && !kl.revokes(h) && h.grant.covers(d.t0_us, m.to) - }); - if !permitted { - return refuse(run, Place::Manifest, Reason::RecordingSignerNotPermitted); + if let Some(t) = signer_lapse(&room_run, &chains, &d, &kl, &m.signer, m.from, m.to) { + return refuse(run, Place::Signer(t), Reason::RecordingSignerNotPermitted); } } // The region pin (live-rooms §3.7). if !d.recording.regions.is_empty() && !d.recording.regions.contains(&m.region) { return refuse(run, Place::Manifest, take::Reason::StoreOutsideRegion.into()); } - // Step 6: the span. - for &(c, i, _) in &room_run.order { - let Ok(e) = Event::parse(&chains[c][i]) else { continue }; - if e.t < m.from || e.t > m.to { - return refuse(run, Place::Room(At::Record { chain: c, record: i }), Reason::OutsideSpan); - } - } - // Step 7: the takes. + // Step 6: the takes, each within the span. + let times: BTreeMap<[u8; 32], u64> = room_run + .order + .iter() + .filter_map(|&(c, i, _)| Event::parse(&chains[c][i]).ok()) + .map(|e| (e.digest(), e.t)) + .collect(); let mut takes = Vec::new(); for (i, c) in m.components.iter().enumerate().filter(|(_, c)| c.kind == component::TAKE) { let Some((manifest, parts, receipts, consents)) = take_files(files, &c.dir()) else { @@ -792,12 +846,18 @@ pub fn verify_recording(files: &BTreeMap>, at: u64) -> Recording if hex(&id).as_bytes() != c.id.as_slice() { return refuse(run, Place::Component(i), Reason::ComponentInvalid); } + let start = take::Manifest::parse(&manifest, &room_id).expect("a manifest the take verifier read").start; + let opened = times.get(&start).copied(); + let closed = t.held.last().and_then(|h| times.get(h)).copied(); + if opened.is_none_or(|x| x < m.from) || closed.is_some_and(|x| x > m.to) { + return refuse(run, Place::Component(i), Reason::OutsideSpan); + } takes.push((id, v)); } } } - // Step 8: the verdicts. - let complete = recording_complete(&room_run, &chains, &room_id, &takes); + // Step 7: the verdicts. + let complete = recording_complete(&room_run, &chains, &room_id, &takes, m.from, m.to); let publishable = [0usize, 1, 2, 3].map(|k| takes.iter().map(|(_, v)| Verdict::from(v.publishable[k])).find(|v| !v.holds()).unwrap_or(Verdict::Holds)); let stands = (m.claims & claim::COMPLETE == 0 || complete.holds()) && purpose::ALL.iter().zip(&publishable).all(|((b, _), v)| m.purposes & b == 0 || v.holds()); @@ -806,12 +866,12 @@ pub fn verify_recording(files: &BTreeMap>, at: u64) -> Recording } /// §4.5 `complete`. -fn recording_complete(room_run: &RoomRun, chains: &[Vec>], room_id: &[u8; 32], takes: &[([u8; 32], take::Verdicts)]) -> Verdict { +fn recording_complete(room_run: &RoomRun, chains: &[Vec>], room_id: &[u8; 32], takes: &[([u8; 32], take::Verdicts)], from: u64, to: u64) -> Verdict { if matches!(room_run.outcome, RoomOutcome::Gap(_)) { return Verdict::Fails(DELIVERY_GAP); } let held: BTreeSet<[u8; 32]> = takes.iter().map(|(t, _)| *t).collect(); - if session_takes(room_run, chains, room_id).iter().any(|t| !held.contains(t)) { + if session_takes(room_run, chains, room_id, from, to).iter().any(|t| !held.contains(t)) { return Verdict::Fails(Reason::TakeOmitted); } for (_, v) in takes { diff --git a/wai/wai-rs/src/live_record/corpus.rs b/wai/wai-rs/src/live_record/corpus.rs index b87ef4960..50ec188ff 100644 --- a/wai/wai-rs/src/live_record/corpus.rs +++ b/wai/wai-rs/src/live_record/corpus.rs @@ -21,7 +21,7 @@ use crate::capture_take::corpus::{ use crate::capture_take::{claim as take_claim, state, Consent, Manifest as TakeManifest, Receipt}; use crate::key_log::{commitment, KeyEntry, Revision}; use crate::live_events::{Marker, Policy}; -use crate::live_room::{media, registered_profile, Detail, Grant, Limits, Recording, Review, NO_CEILING}; +use crate::live_room::{media, registered_profile, Caps, Grant, Limits, Recording, Review, NO_CEILING}; use crate::output_tree::{consistency_proof, tree_hash}; use serde_json::{json, Map, Value}; @@ -139,17 +139,38 @@ fn accompanist_take() -> TakePlan { } } -/// A session: its takes, the director's start and stop of each, and the count-in. +/// A session: its takes, the director's start and stop of each, and the count-in; and what +/// happens to the director's grant, which the record power of §4.3 rests on. #[derive(Clone)] struct Scene { takes: Vec, start_t: u64, stop_t: u64, count_in_ms: u32, + /// The director's `join`, on the room clock. + director_join_t: u64, + /// A `leave` of the director, `removed`, at this instant. + director_removed_t: Option, + /// A `grant_exchange` at this tick to a grant of the director without the record power. + director_exchange_t: Option, + /// The director's grant's `exp`, in seconds, in place of a day after `t0`. + director_exp: Option, + /// The key log's head revokes the director's grant. + director_revoked: bool, } fn scene(takes: Vec) -> Scene { - Scene { takes, start_t: 2 * S, stop_t: 16 * S, count_in_ms: 4_000 } + Scene { + takes, + start_t: 2 * S, + stop_t: 16 * S, + count_in_ms: 4_000, + director_join_t: 0, + director_removed_t: None, + director_exchange_t: None, + director_exp: None, + director_revoked: false, + } } /// A principal's chain being written. @@ -256,13 +277,19 @@ fn write(s: &Scene) -> Written { sig: [0; 64], } }; - let gd = Grant { profiles: vec![0], ..grant(DIRECTOR, 0) }.sign(&key(AUTHORITY)); + let gd = Grant { profiles: vec![0], exp: s.director_exp.unwrap_or(T0_S + 86_400), ..grant(DIRECTOR, 0) }.sign(&key(AUTHORITY)); + // The director's grant without the record power, for an exchange. + let gd2 = s.director_exchange_t.map(|t| { + let caps = Caps { powers: power::MODERATE | power::DIRECT, ..d.roles[0].caps }; + Grant { prev: gd.digest(), effective: t, caps, profiles: vec![0], ..grant(DIRECTOR, 0) }.sign(&key(AUTHORITY)) + }); let gv = grant(VIEWER, 2).sign(&key(AUTHORITY)); let gt: Vec = s.takes.iter().map(|t| Grant { profiles: t.profiles.clone(), attrs: t.attrs.clone(), ..grant(t.device, 1) }.sign(&key(AUTHORITY))).collect(); // The grants as capture binding's corpus orders them: the director's, the first // device's, the viewer's; then each other device's. let mut grants = vec![gd.to_bytes(), gt[0].to_bytes(), gv.to_bytes()]; grants.extend(gt[1..].iter().map(Grant::to_bytes)); + grants.extend(gd2.iter().map(Grant::to_bytes)); let keys = vec![KeyEntry::active("room-authority", pk(AUTHORITY), &[room::KEY_LOG_AUTHORITY]), KeyEntry::active("take-store", pk(STORE), &[take::STORE_AUTHORITY])]; let revision = Revision { origin: ORIGIN.into(), @@ -272,7 +299,7 @@ fn write(s: &Scene) -> Written { root: [0; 32], next_root: commitment(&pk(LOG_NEXT)), keys, - revoked_modules: vec![], + revoked_modules: if s.director_revoked { vec![gd.digest()] } else { vec![] }, grant_max_s: 86_400, status_max_age_s: 3_600, sig: [0; 64], @@ -281,18 +308,29 @@ fn write(s: &Scene) -> Written { // The room's events: the clock's lifecycle, the director's, the viewer's. let mut rm = Chains { room: room_id, authors: vec![] }; let first = &s.takes[0]; - rm.life(0, DIRECTOR, Detail::Join { grant: gd.digest() }); + if s.director_join_t == 0 { + rm.life(0, DIRECTOR, Detail::Join { grant: gd.digest() }); + } rm.life(0, first.device, Detail::Join { grant: gt[0].digest() }); rm.life(500 * MS, VIEWER, Detail::Join { grant: gv.digest() }); for (k, t) in s.takes.iter().enumerate().skip(1) { rm.life(600 * MS, t.device, Detail::Join { grant: gt[k].digest() }); } + if s.director_join_t != 0 { + rm.life(s.director_join_t, DIRECTOR, Detail::Join { grant: gd.digest() }); + } rm.life(S, first.device, Detail::Publish { slot: String::new(), media: media::AUDIO, profile: 1, layers: 1 }); rm.life(S, first.device, Detail::Publish { slot: String::new(), media: media::VIDEO, profile: 2, layers: 3 }); rm.life(S, DIRECTOR, Detail::Publish { slot: String::new(), media: media::AUDIO, profile: 0, layers: 1 }); for t in &s.takes[1..] { rm.life(S, t.device, Detail::Publish { slot: String::new(), media: media::AUDIO, profile: 1, layers: 1 }); } + if let (Some(t), Some(g)) = (s.director_exchange_t, &gd2) { + rm.life(t, DIRECTOR, Detail::GrantExchange { old: gd.digest(), new: g.digest() }); + } + if let Some(t) = s.director_removed_t { + rm.life(t, DIRECTOR, Detail::Leave { reason: room::leave::REMOVED }); + } let starts: Vec<[u8; 32]> = s .takes .iter() @@ -511,6 +549,7 @@ fn place_kind(p: &Place) -> &'static str { Place::Manifest => "manifest", Place::Component(_) => "component", Place::Room(_) => "room", + Place::Signer(_) => "signer", Place::Take { .. } => "take", } } @@ -660,14 +699,62 @@ fn recording_vectors() -> Vec { "a recording manifest signed by the viewer, whose grant has no record power (§4.4 step 5)", seal(lesson.files.clone(), &sealing(lesson.room), &key(VIEWER)), vec![], - Intent::Refuse("manifest", Reason::RecordingSignerNotPermitted), + Intent::Refuse("signer", Reason::RecordingSignerNotPermitted), )); out.push(v( "outside_span", - "a session span that ends at sixteen seconds, before the devices' closing commitments (§4.4 step 6)", + "a session span that ends at sixteen seconds, before the performer's closing commitment: the take does not lie within the span (§4.4 step 6)", seal(lesson.files.clone(), &Sealing { to: 16 * S, ..sealing(lesson.room) }, &key(AUTHORITY)), vec![], - Intent::Refuse("room", Reason::OutsideSpan), + Intent::Refuse("component", Reason::OutsideSpan), + )); + // The record power over the whole span (§4.3). + let late = write(&Scene { director_join_t: S, ..lesson_session() }); + out.push(v( + "late_recorder_span", + "the director joins at 1 s and seals the span from 1 s to 20 s: it holds the record power at every instant of that span, which holds every take, and the recording stands (§4.3)", + seal(late.files.clone(), &Sealing { from: S, ..sealing(late.room) }, &key(DIRECTOR)), + vec![(late.takes[0].take, "lesson")], + Intent::Good, + )); + out.push(v( + "signer_power_late", + "the same director seals the span from 0: its grant takes effect at 1 s, after the span starts, so it does not hold the record power at 0 (§4.3)", + seal(late.files.clone(), &sealing(late.room), &key(DIRECTOR)), + vec![], + Intent::Refuse("signer", Reason::RecordingSignerNotPermitted), + )); + let removed = write(&Scene { director_removed_t: Some(18 * S), ..lesson_session() }); + out.push(v( + "signer_removed", + "the room authority removes the director (leave, removed) at 18 s, before the span ends at 20 s, and the director seals the span: the power is gone from 18 s (§4.3)", + seal(removed.files.clone(), &sealing(removed.room), &key(DIRECTOR)), + vec![], + Intent::Refuse("signer", Reason::RecordingSignerNotPermitted), + )); + let exchanged = write(&Scene { director_exchange_t: Some(17 * S), ..lesson_session() }); + out.push(v( + "signer_power_exchanged", + "the director's grant is exchanged at 17 s for one without the record power, and the director seals the span: the power is gone from 17 s (§4.3)", + seal(exchanged.files.clone(), &sealing(exchanged.room), &key(DIRECTOR)), + vec![], + Intent::Refuse("signer", Reason::RecordingSignerNotPermitted), + )); + let expired = write(&Scene { director_exp: Some(T0_S + 18), ..lesson_session() }); + out.push(v( + "signer_grant_expired", + "the director's grant expires 18 s after t0, before the span ends, and the director seals the span: the power is gone from 18 s (§4.3)", + seal(expired.files.clone(), &sealing(expired.room), &key(DIRECTOR)), + vec![], + Intent::Refuse("signer", Reason::RecordingSignerNotPermitted), + )); + let revoked = write(&Scene { director_revoked: true, ..lesson_session() }); + out.push(v( + "signer_grant_revoked", + "the key log's head revokes the director's grant, and the director seals the span: a revocation is not bounded by a time and refuses every use of the grant, so the room verifier refuses the director's join, and the recording at the room (live-rooms §5, §4.3)", + seal(revoked.files.clone(), &sealing(revoked.room), &key(DIRECTOR)), + vec![], + Intent::Refuse("room", room::Reason::GrantRevoked.into()), )); out.push(v( "outside_region", @@ -682,7 +769,7 @@ fn recording_vectors() -> Vec { tm[l - 33] ^= 0x04; out.push(v( "take_refused", - "the accompanist's take manifest with a bit of its signature flipped, sealed as it is: the take verifier refuses it at its manifest, and the recording at that take (§4.4 step 7)", + "the accompanist's take manifest with a bit of its signature flipped, sealed as it is: the take verifier refuses it at its manifest, and the recording at that take (§4.4 step 6)", seal(f, &sealing(lesson.room), &key(AUTHORITY)), vec![], Intent::Refuse("take", events::Reason::BadSignature.into()), @@ -1051,6 +1138,7 @@ fn place_json(p: &Place) -> Value { Place::Listing => json!(["listing"]), Place::Manifest => json!(["manifest"]), Place::Component(i) => json!(["component", i]), + Place::Signer(t) => json!(["signer", t]), Place::Room(at) => { let mut v = vec![json!("room")]; v.extend(at_json(at)); diff --git a/wai/wai-rs/tests/live_record.rs b/wai/wai-rs/tests/live_record.rs index 67bcd7ef2..2e985b775 100644 --- a/wai/wai-rs/tests/live_record.rs +++ b/wai/wai-rs/tests/live_record.rs @@ -52,7 +52,7 @@ fn the_corpus_covers_every_reason_and_clip() { for r in Reason::ALL { assert!(seen.contains(r.code()), "nothing in the corpus gives {r}"); } - for name in ["lesson_session", "signed_by_director", "with_composite"] { + for name in ["lesson_session", "signed_by_director", "with_composite", "late_recorder_span"] { let v = recordings.iter().find(|v| v["name"] == name).unwrap_or_else(|| panic!("no recording {name}")); assert_eq!(v["stands"], true, "{name}"); assert_eq!(v["complete"], "holds", "{name}"); -- 2.54.0 (Apple Git-157) From 99029a6d33049d137ea2f87c6ae3b413f768a01b Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 10:54:41 -0400 Subject: [PATCH 14/26] wai: live-conformance/recordings regenerated with the record-power vectors Co-Authored-By: Claude Opus 5.5 --- wai/live-conformance/recordings/vectors.json | 381 ++++++++++++++++++- 1 file changed, 376 insertions(+), 5 deletions(-) diff --git a/wai/live-conformance/recordings/vectors.json b/wai/live-conformance/recordings/vectors.json index bf175fe1c..756d34626 100644 --- a/wai/live-conformance/recordings/vectors.json +++ b/wai/live-conformance/recordings/vectors.json @@ -1134,12 +1134,13 @@ "outcome": "refuse", "reason": "recording_signer_not_permitted", "at": [ - "manifest" + "signer", + 0 ] }, { "name": "outside_span", - "about": "a session span that ends at sixteen seconds, before the devices' closing commitments (§4.4 step 6)", + "about": "a session span that ends at sixteen seconds, before the performer's closing commitment: the take does not lie within the span (§4.4 step 6)", "files": { "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3366626430303533363037633635623134356264363163653130643637373862363064616364313933623933323063343034373630393362666663626332363120207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", @@ -1187,11 +1188,381 @@ "reuses": [], "outcome": "refuse", "reason": "outside_span", + "at": [ + "component", + 2 + ] + }, + { + "name": "late_recorder_span", + "about": "the director joins at 1 s and seals the span from 1 s to 20 s: it holds the record power at every instant of that span, which holds every take, and the recording stands (§4.3)", + "files": { + "LISTING": "3834323463653165626365613735396639346364343035316137313161323433333336396233646537346630326135336432313033386362646465626431333620206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3062393064616462303665666631653030656266613666323764306437623764306430653430373364666361656530373037333535663766376337633034616120207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028dd5ed1e30e228115b09a387595d201c21120176677a7424ba82a035911d516a4178c614c565cc2093ed581587dfc21443768ea945a08874632e3dcfe1b563d1a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000007ff0d7775e7f4ea9856ea8bf319bcc866ae1fda8d9f4601c6a5dd82d1d3773c520a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbec8d64fed27a4e7268a959e0a68e3fce65cade529a23c7b9d9f62fc41ce0ec3aca848ee36e7a19f59956b3b5a7eb39470a3a77f3addda12729e233afb9a12d960157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000003e5e880b97027546e41692dac848a37f15b78d9782b31ae86947cb99ae08e2eec027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfc300b4a77a175b006aece8809428a394139d9b17722c9f1e0f22177687ddd08f3d38341be54d11b1c1813913f3451f8271eb0ee9a8432e84fecd6e4793d0d040757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000000dac2ce5572bca6659700f15f50315904ed4d7c891cd116a3f695c428acb153f40420f000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4530cbd059e1c1f0afd625e5af8378860a6888c7625c4bb52bd64d76a4e112c4fecfbafac532247dae71eb8ee8b73b6ab28cf06819c82a044419d495e69ab11900857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72040000000000000026830fcdfea6c4dde705530a2323c3cc2c970da5434c0733e19d77f5b680e41a40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101539b7e117a8fc82665db7c19956848bb02d8c9e800c785a663141c9065b07eaeab2f04d3f935f333ac635b9fb0b78b5b0b84e951ee06c2b2413d240623cb500057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000e9b3933c9277aeb0158ef2c5e291066890a9e5e7456e7a9b5efa623f20d4850f40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500020203cdb5756e757b8df1ddc1ad18021893e1752ba035e22aa9100ccf9038bdc00538f78c31ffc041fddfd84bf3c44903c6e222af416dc7505b88647bfdca8614b30757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720600000000000000379eff3cb09328b13ff0df21eefeb1cf672f189879c43c7717ff4e5dcdff839040420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200010001d3c8cfdcbb0973680750a4d23d984db7dee592e412e2819051b4ddbce464692bb3d561ee269a48b574cc81d44db9e8eaefe1f3cba26ef4e41724d46ae261c90957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7207000000000000005b6ee06f1e5aee1349dc9ba5ba46f0126228cd89b6794fa885f7eb776c4358de40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000101015c29a03bbfb6cda9adda3c5f31f7b585b6e1a980fa150278ca49314cb6cadd30bdb91b5926b01836ec6aa5f47fa9ffeea75ac2086aad18bb4af6b8202041ce05", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5240420f0000000000002d3101000000000106444504000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747300109df5443e0ee39636a7c2f4eb436ed5fcb513a729c91951bb7641969b8daa03403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31f0212e271aa15026fd9f4c517fac05f19834ac5ed4aff7bbbe6ce1a4944faae00afdd88a391a74ea4a78a47d1c97fe58231532dca569f86a520efc924b9d3307", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "vector": "lesson" + } + ], + "outcome": "verdicts", + "package": "cc44cd64787a8cbf3528e5643948e0f8e2d0110ef95c5c8ff30c41fed4cef2e6", + "manifest": "e3a24877ee90d8de9e1952bb5fb52e5d35a3ad270210dff6ec1d26937aca5866", + "room": "5f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca", + "complete": "holds", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": true, + "takes": [ + { + "take": "41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e", + "single_take": "holds", + "aligned": "holds", + "complete": "holds", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": true + }, + { + "take": "fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96", + "single_take": "holds", + "aligned": "holds", + "complete": "holds", + "publishable": { + "live": "holds", + "record": "holds", + "distribute": "holds", + "train": "purpose_not_consented" + }, + "stands": true + } + ] + }, + { + "name": "signer_power_late", + "about": "the same director seals the span from 0: its grant takes effect at 1 s, after the span starts, so it does not hold the record power at 0 (§4.3)", + "files": { + "LISTING": "3834323463653165626365613735396639346364343035316137313161323433333336396233646537346630326135336432313033386362646465626431333620206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3165363936653839353936356432646461366163666631333663353035363037666432306233386361653932633530653132633062323864653435666435653020207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028dd5ed1e30e228115b09a387595d201c21120176677a7424ba82a035911d516a4178c614c565cc2093ed581587dfc21443768ea945a08874632e3dcfe1b563d1a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000007ff0d7775e7f4ea9856ea8bf319bcc866ae1fda8d9f4601c6a5dd82d1d3773c520a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbec8d64fed27a4e7268a959e0a68e3fce65cade529a23c7b9d9f62fc41ce0ec3aca848ee36e7a19f59956b3b5a7eb39470a3a77f3addda12729e233afb9a12d960157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000003e5e880b97027546e41692dac848a37f15b78d9782b31ae86947cb99ae08e2eec027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfc300b4a77a175b006aece8809428a394139d9b17722c9f1e0f22177687ddd08f3d38341be54d11b1c1813913f3451f8271eb0ee9a8432e84fecd6e4793d0d040757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000000dac2ce5572bca6659700f15f50315904ed4d7c891cd116a3f695c428acb153f40420f000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4530cbd059e1c1f0afd625e5af8378860a6888c7625c4bb52bd64d76a4e112c4fecfbafac532247dae71eb8ee8b73b6ab28cf06819c82a044419d495e69ab11900857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72040000000000000026830fcdfea6c4dde705530a2323c3cc2c970da5434c0733e19d77f5b680e41a40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101539b7e117a8fc82665db7c19956848bb02d8c9e800c785a663141c9065b07eaeab2f04d3f935f333ac635b9fb0b78b5b0b84e951ee06c2b2413d240623cb500057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000e9b3933c9277aeb0158ef2c5e291066890a9e5e7456e7a9b5efa623f20d4850f40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500020203cdb5756e757b8df1ddc1ad18021893e1752ba035e22aa9100ccf9038bdc00538f78c31ffc041fddfd84bf3c44903c6e222af416dc7505b88647bfdca8614b30757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720600000000000000379eff3cb09328b13ff0df21eefeb1cf672f189879c43c7717ff4e5dcdff839040420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200010001d3c8cfdcbb0973680750a4d23d984db7dee592e412e2819051b4ddbce464692bb3d561ee269a48b574cc81d44db9e8eaefe1f3cba26ef4e41724d46ae261c90957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7207000000000000005b6ee06f1e5aee1349dc9ba5ba46f0126228cd89b6794fa885f7eb776c4358de40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000101015c29a03bbfb6cda9adda3c5f31f7b585b6e1a980fa150278ca49314cb6cadd30bdb91b5926b01836ec6aa5f47fa9ffeea75ac2086aad18bb4af6b8202041ce05", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000002d3101000000000106444504000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e747300109df5443e0ee39636a7c2f4eb436ed5fcb513a729c91951bb7641969b8daa03403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a31b3c02caec780393e5aee98d9bb849cea1bb9d7306542d50807cdbbb431f8292c503b49f1b3cdc6046dca1813d7ddaacc44c20c93d16596e9708ae9a5d525f500", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [], + "outcome": "refuse", + "reason": "recording_signer_not_permitted", + "at": [ + "signer", + 0 + ] + }, + { + "name": "signer_removed", + "about": "the room authority removes the director (leave, removed) at 18 s, before the span ends at 20 s, and the director seals the span: the power is gone from 18 s (§4.3)", + "files": { + "LISTING": "3636366330363264356435633264313337373237316463643265326161373039393635366138326666373365396366343432646335366362343931613131636520206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6139336437633138323139636531363137346635623730653466323666326462643938626262306630353831636134623263653135346335366438376536666220207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c32790957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7208000000000000004e039aa072f4fe9d60c45936b33759119c4d6b9d71d655dbcd78b3e7aa61572a80a812010000000000112100d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52023cf9c242c45ffdb7599ba630f4faae67a89a091bc1472c93aae00fb2ae89be96600991f8f4a624b5029ec18c0b5d63d4a1a5235ebfd80e9325f941653cd1b00e", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000002d3101000000000106444504000104726f6f6dc7de55ddf779cf8886701017fcab9356d46644d1c9abb09c0666b2a753b95e3202066576656e7473dd96aecf0fc6765bb0943b709d9a0de0acd03dfa7dd437b2b219c883e322cf2303403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a318131a2a2423eabdef5e695e51bf4f36630a9fc77974a308af89a037a816a7f2de081c022b889fd14781ec1b3f539006efc59fc854e32cc213da17cd4ccd82203", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [], + "outcome": "refuse", + "reason": "recording_signer_not_permitted", + "at": [ + "signer", + 18000000 + ] + }, + { + "name": "signer_power_exchanged", + "about": "the director's grant is exchanged at 17 s for one without the record power, and the director seals the span: the power is gone from 17 s (§4.3)", + "files": { + "LISTING": "6339663434383665366530306331613736363236333531653363356536336530373234383536303066313639653464326431633230333135323337373737636620206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6634316365383130663532376163333637323234376531303863633533623265383436633131303862663230643934393134626266306238373839323461353920207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a363231353764613965666662303265346563393131386639313865383364653463356630613336653132363536313036633836373839653963376561376531312020726f6f6d2f6772616e742d303030342e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c32790957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7208000000000000004e039aa072f4fe9d60c45936b33759119c4d6b9d71d655dbcd78b3e7aa61572a406603010000000000146000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d45389f474aa6571061c83a8649a31e0052dbe01da710083477428e645c0333feaad0b5d2e45db27d22ed9c08ceaa8d7d20300c36e422436920c4062185ed4f5f9b0b36aa790cca724fd987e233fd15038e339ce231d91cd5f1413cf0c471e774e07", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000002d3101000000000106444504000104726f6f6d80cf8896a45ba0931983f1e384f2b916e291211f7e370de5e3595bd2a34ba9a302066576656e7473522a986a9f1496d3ee81298f83cb1397a03b16a32ac92e6225bfb66ad58ec6a703403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a314c35c301c6aeb838523d80f15f7a158103e772650d1dc5ea26c0ac71386ca4b2563e9aaff82e92d50534ad6ecf733c1251d54983d8db144754ef0d4c0dcb240d", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/grant-0004.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4534066030100000000f05ad16a0000000080bad26a00000000000101020300000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000d0252359c74ae54415451e408393fd643204dfd613b9db8f82a57517dcd773646756ccb3bae6453c87be979a363b0b090e630ab0793559b17a8d9a1efbe1cc0d", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [], + "outcome": "refuse", + "reason": "recording_signer_not_permitted", + "at": [ + "signer", + 17000000 + ] + }, + { + "name": "signer_grant_expired", + "about": "the director's grant expires 18 s after t0, before the span ends, and the director seals the span: the power is gone from 18 s (§4.3)", + "files": { + "LISTING": "3939373038343038623961633863333966666461373061633665366635633435633766363336333836326262616239636534643237666261656266393131353320206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6436376133636135346561643561353932376339353238623364363934363366396535646235323936313963666335613563646439623537323438326335656420207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a626432366236313436326638666234356234303332346432626364313762306662643934303639643739366535346266393364616162373631316235366663322020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52074cc5980f173b706eee6114d26ca3127c8d50f132e078f834b2a8ff1582fa325f69d89ce018116319bea78ef9071a9ff9bddd2ca6afe46ec173e57db6d723f09f17e8f5fd5770e53a348e4f8eebe7984362d1a418541b78c78bc779d96d7a0a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000001657590822467d315a1188ae94023e7f46a36a2e1db55a81db4ec82a92a004c3000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028dd6a304858cc923ed3e29732af9d8e2f05d8b09c6f3c36ef09307bedc6a05ab6f6bd6d8005e8c48e0c7de63cc5f5aedd3a5703cb8f30cd73031d664be1e28ceb0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720200000000000000d03f7bb8e5839d196397e1df57f508a57229df3dfdbc4b36dc2b6e13ba32281920a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbec073013963d2dbdacba174a8dcc2ff40b5ce096900cb7428dfa544c92868c255978b22e8e3fcecbdda69628e319dc5ee4de0df9c35f437edf213e2c5f7bf3a00b57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720300000000000000bef8a1c7756fc7d354391a52a07ee74c4ac3584f240330070988a05b1828a060c027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfcdac54f7678814502007d7f95c7f56cde98e88293d51e07ff34afc16d941b44a650723469ac52b13d4ed3755f0e729a7245c4d804300b7fdb13126c4ab22e210157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720400000000000000edca2f9d902b9cfff71ddf1a605b737373cb25eea48401739b07b3de183f98f340420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101059e6ed73b314e5c6868a80376dd1d5b97820775f46991bbb434538ccf3237bc6bdf582157a3b9fb15ff4822d6d7592ec08888353097b0ec529c6be0e1b8350857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000abb0f08c6176aa272fd064004f76844e55898b9fff233ef0b6f9c8dd3e9453c840420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202036db72f992a788de5e0ace848b902ffa5f80be93e69e4ac9f4b6b0426557b9d73d31205c8b71fda0a494f6a13b08eadbd0016bc35efb889b081256e058099b80157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000008055c0f0d1b522d3c72d1e1abc87d262769272c9e76415407aa20e106160ea8f40420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52000100018484d27659642ae0a3453a6fdb91f43b1abe1fe53a784f74f1c727168f43b8ac0797f9317dfca456c53a68da8f6cb7eeea7e600ac05fd7616cba955c0779b10757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7207000000000000006ee567920f4abfa01560a8890fc957165d99f2b7f2cca520db443c3dc5cafed440420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000101019e67dae4f97bbf140eef12f757fd096033a6527219dbfe5dd55cab103853a229d867a06a8925debde1f93111bf25199bb0121f9f70a586d44c91f4d6a5bbfc0e", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000002d3101000000000106444504000104726f6f6df4bb7fca412f67fc16545ebfb0dc1dd506c14083f6703d58ccaebf2e4e2bbc4402066576656e7473ce7306a92579e6f43ea8c90c9f86167c7af4734d4b76dc5085d8c6b863d9a82c03403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a3159b026cd5ace780c89e68408d1b0b8654814c933489918cd52c69bdaaed7ea615b4dc2f1e98e95d627c3214b0bc1dfd27e90cd777139e7356d4cbf3701dd110b", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a000000001269d16a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000814deef904e3684cca414d49433af95fc9a0cff438de47d412e54a102cb5cee4915284ec53f50f2c87ad5b622916c6f5a72cb2b7609860679a34a05060661202", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b5d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223563383561363634613037333434386136623739336234626439373938346666353039326233323334373837393431326535333861323137343237616163636134376638386466363235313338336134356663633333343634386666623635323765376264306262643931373537616533626136633064383136656461653036222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [], + "outcome": "refuse", + "reason": "recording_signer_not_permitted", + "at": [ + "signer", + 18000000 + ] + }, + { + "name": "signer_grant_revoked", + "about": "the key log's head revokes the director's grant, and the director seals the span: a revocation is not bounded by a time and refuses every use of the grant, so the room verifier refuses the director's join, and the recording at the room (live-rooms §5, §4.3)", + "files": { + "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a3233653866383162363637653730313763303530303161623430616363323937303231663936326661316366646161646133643335386532636662646534386620207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a366161303738336533353436636162653737353732613631613665343236353132666238383438323337323831326464366433623464653830623464323065362020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a64343564363832346638636638653232376639323833366466623032386630623464663631373233303762366231616333376633613037303934313061393933202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", + "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", + "events/78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c6.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000a02526000000000000030b000900676f6f64206c75636b6417feb3fb6578be2bd1d5c4637abd7c659c3457bb2e8281a5a3f5b3faae8c06fe11623662a96528d54180df0d465b94517f3ed4ea0c7f10d6e0257783eb310c", + "events/7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee000000000000000000000000000000000000000000000000000000000000000000000000000000006018230000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004039d2ffffffffff00f2e388c087c2503482a45e440d1fc88a7046ef2ec9f2c32484d09912a9d2a1824bbf932cd343d5efe6ce9e64cf5a31ab36a5994d1735156aaf89646c178db00757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0100000000000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250802c800000000000000c7e00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960100000002f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca325000000000000000000100000000000000ea1a9c44b721ca2a583fad19bca966298c4958034505c8143c6779e0b73bbd9e4039d2ffffffffff002fc21495251cb6ba873a003fd4cbb67353772f72f7607d68398df3c6895f07a5255a6f116b3713d3f7143316d71167fdbdb4aae682efb891ee7b46fc39f8730757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0200000000000000e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613200b19e0000000000000cbe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960200000002e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a61320100000000000000030000000000000075ea44294bf1e20d670345b52e104bd360523168f8b0046b23a6bae059558c5c4039d2ffffffffff02e1a39c21b47bc7d6c78d0678749d84614817a2fb9b0a7dcbf19e940ff564df98a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c211209eea0f6ae94f642561a1d4c9e5cb400080d58ce43c59ccf82b4fc2ab4c9c8d9453751c4cbd593dd230524269cf968ec539d9c42815136dd72fc339e6ee7a60057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee030000000000000007fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e8035bd0000000000000cfe00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96030000000207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e030000000000000005000000000000003935b6c803043cd12ec5bd53c252b49dfc9ca51a329fbc669de2c40288a414934039d2ffffffffff04a0a547193b22c6cc66acb6f6c926bbb61155ada07da896581acf52eaab6c21123ef26fe17f9c983fbd0f910c1b02459555aa96cf6bcb0b9b4ee374c6cbbb4890903e2f87b64d80ebb638e313ac851980a6667905bb6fca955b2786600ea9cc45c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c69614a5d3db02cbdfda2c0c90f024e5e45de8d413467ca32425ba485436a24c5fd395082402baff19b5eaac086cc072132c7fcb0d0f5389d046c4f1b89132597c0157455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee040000000000000097618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db04300badb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96040000000297618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043050000000000000006000000000000009a192de50070c39f440893ca66028c0fde3db238081fadf11e676d5cfd6e16bd4039d2ffffffffff03c3213641a266ecdba0b17573dba5aa10ad9d831686d7e4e4248174f065e0c696de40ac758d31d7dcaeff289171af8d3adc07c59cab6f3faaaae3ab769b9d9ce8c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a32ee420b433d82a151988b473df76d258d89b1f2e426a550cffd57fc8fa3752fb436a0fcd5e5b9e940e616761934cb813604bae3594ad72d8832ecc422fd1f9c0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee0500000000000000857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e20c5fb0000000000000cde00fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960500000003857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8e060000000000000008000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4039d2ffffffffff03d3b72f96114a9bdb8b730b48a4075a66d0b5c8641ad0c2e05e35a52e0baa7cb2b946fd25fcd2fff7393541ee8d0fd387535cd9280821cdabfe528936c6784e88c40d49c1602bd6fb0f81d107ddfcc04e9e08ba6bb91af36c94d2a7157e8b7a3252a926fc4f574281686592b21fed08f25de5ac61c6429b5804fc60f425a5f07b80d88001e264e3ca62527e81fc99f9bbaf306daff9691ba05af48f147177910c", + "events/d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000000000000000000000000000000000000000000000000000000000000000000080841e000000000000092500e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f501a00f0000fccfdaad37227a751f2c374c994a9ec76edab94ac0c3ffc186229f9fe7c579639a49d4520725a3d74b42b0139bb99cdd4a0a56cfce8c507fa8233bd6603bab0e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520100000000000000a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd80841e0000000000000925007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee01a00f00005121655adf61434514263760a76b9b4909fea95cf84df358246bf3712e62690dd1ca2f54eec9545572fb3b98e322984b637d50fd9a4baca092d41a5d4956980957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52020000000000000033e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069b40548900000000000008160004000000020e00727573686564207468652072756e0099137ecc27e646730f76509258212e0f18b422e4b4e5982e2b1ae4ebcf9d3ed8540cc52e952d3ec327de71b01de1c757953e7d1a14d890882a8be5bca4bf900c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5203000000000000001b672fe4bc3a572db5fda9e00599d367fc34f2582d23c7d4d61a9ccc2849183f405dc600000000000008170004000000010f006c6f76656c79207068726173696e67002e5b8adea1bc333c1bd8a46175dc9ee01e588cab423c29b18694494e42ae558eaf9eea838f5143c1d611adba9b8920e6f72789ea15dab8f9400430bfea43880757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c52040000000000000022090dd32799436ce8a82b6226a4f3c980342faee81feda1f24c5e33616d0d400024f4000000000000092100e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f502a8c64b918b366a3b85949c05ec973569bd951b08d1069f9348542d99b755d6a8309f0e2edd2c06cc753223a736826c5aa32770bceefb645caf8448f637ae7f0c57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5205000000000000001267edb63d9c6bd779859c7ba19959b6b2c05e3d8d7a53eb6adb5e26b213b2500024f40000000000000921007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee02f45f7600d7d10e68e30b0c7ac9ddcc886a9854e5e30946b9af5868d0cd56ef28d3ef6d84e880e21ef612fc0c383bb473d06da851e5b605495d68c9ca79e58204", + "events/e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000c091210000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000efad5feffffff00b225c83a2ca0425ec89b11dd2b1e0ed0e6e7efdd631b6f710d677202d7a0cef1e45393eb7b2bb9cbb81512fb3e06fde8ec83eb80922a929d9c5a54945d38d50e57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50100000000000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e0a57e0000000000000c7e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0100000002d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e600000000000000000200000000000000880211aa301be185e15a6c1895c2d43367360f1104ca7e72fa3c576cf0437c1b000efad5feffffff004925dc67c54d87781c324edf555bdb731b121cbd675b33fc8cd2701b3b411bb2811310a25be4cb8d5863bbaa9454d63d7424c75c59e30befe4f8b586269ac00357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50200000000000000e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0602a9d0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000002e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b002000000000000000400000000000000c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00000efad5feffffff01bbf572927af2d03d45aa66c8f630bda9d29429e07e09a3a3d6c9a8d93332624434d5c46a8ec9252c35de44a3697254601dcbc25dec5af9ed2114f05ac64dacb79637cce6bf3e1a0e651af68894e3b832aeb050ef19ce5853242b441e9a7ebd0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f50300000000000000108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e4002621e0aebb0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0300000002108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262104000000000000000600000000000000249f88d1dcac0f7d98b53d89fdbeb22c284ffc97c90ff18a1ee27980e3ce88bd000efad5feffffff01eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a218665fd17bff9911efed8a34e7165ddf2aae8d8f94f6fb44156d1c5929ff8186922b9f24e714834b5de5968e07dc0e7e5d4565ad95ef76ecc80b6803e017b620557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5040000000000000039c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe46033da0000000000000cde0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e040000000239c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe406000000000000000800000000000000cef53df7a17ba27234381bf4fb47ad712b9f2aab80d4f837db1155d18af26a55000efad5feffffff03eb6ddc57c1c32eeef5f7ff5f2a73f33e16684a4b4249d3cb0b99f72adb199a21d75f76241ecda381c6d8d9232daab10b13803e2fe52ab86871c6bca67199fef3c6cda45663cd175aa9ba5f30289803a8059baa9924a9f919ef40d91902ca7e00ee5e6803bd5d5229a44bc456a97836a6bb5365652b2a68a6f570dfc0451a1fb0fd86776b39cc3bfed05f80580257a8142429100ac7f6635136afca694e9dc00557455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f505000000000000008967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad803efa0000000000000c9e0041f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e05000000038967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad08000000000000000a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25000efad5feffffff01b09aef291cbbb9927cefbbb3a26f4c2d4689a03a6b1cc7f938ce9c615890e9dd4393ecb00dac808558942659c01f4b61f0abc468ff7dd55a14b8002cb0a5f4da016d9a2f03e1592b1ce19f95b2bc7086380ecc92f6745a0e4e758b79041cee0d", + "recording.wrm": "57524d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520000000000000000002d3101000000000106444504000104726f6f6d0c33352d55cf143b3677a518d7a6782e4749ef468cd96fc42f591728e0b2abc002066576656e747360d1fece7291400717ac1d1fa877a11e434e97472532c71468612a1370f97cb103403431663436383637353662393038336666616331316231643232396335666332386137666364386533313866373133616337643431376239333065646130336505a9c9dee2dc58b6e48897b9d86d6dc0c004fdd148f7d13b8953aa7ca5ad343c03406665663230326463306231316639646265626538333166663531643239376463376162363434663064353334316438376463393563393339373231613964393679a95cc4f2db2e83e617bf5aaaae3027e21cb7529443e2ea95b231ad28f02a312c4c8d69c675e6cfcfbbab467510ac771958a6a6e764fb24059a01fa2cf87fa0f4e98983ea04e62515a95aa2ddbccd43b991d5ffb17937a6e1b98d391077b90f", + "room/descriptor.wrd": "5752443101d6b5a6849f61a8bbd9d4db526a9fc1c73ef949590cdcd9b0b65ce6375262d9bd0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200406cd8e95d060040420f0000000000170068747470733a2f2f6c6573736f6e732e6578616d706c650800000003002c0100005745503101fe1f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f000000000003086469726563746f720101020b1a0f00000000000000000000000000000000000000000000000000000000000009706572666f726d65720301020018110000000000000000000000000000000000000000000000000000000000000861756469656e63650001010018000000000000000000000000000000000000000000000000000000000000000003067370656563680101046f707573000001000000000000100000004000000080bb0000010f056d757369630101046f70757300000100000000000080000000fe01000080bb000002000b63616d6572612d3130383002020d617630312e302e30384d2e30380b617663312e363430303238010003800268011e0096000000f40100000005d0021e00f4010000dc050000800738041e00dc050000a00f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011e00d0070000f401000002444546522c74e5c056bb1b6f962b4f7da37965c09b1753128837f7b1667991716b3a291d8f4a5b9303941d108fe20b89be7321d556fc9952d102095aaae736247edc540d", + "room/grant-0000.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cad927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c5200000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a00000000000101020b00000000000000000000000000000000000000000000000000000000000000000057455031011a0f0000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000100011568747470733a2f2f72656c61792e6578616d706c650000a6d55133ccc1ee02980a7f731208746f5d4e186c9c01081b529cb5b7ab35e78fdb9f1462a627082e401b8c579d9efccb2318daefc273d59ffc2709f9fb48c70a", + "room/grant-0001.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff000000020102011568747470733a2f2f72656c61792e6578616d706c655900086665617475726564040074727565077375626a656374400035393432353436353030343530303033326436383933663938306137646164343833616637306234653131366131306237636161346532303532353933363939543fbef56edc49e6b3c29295d7e0529fd464ebf046dfa2e1fd4db3bdb93af7346ef665560cc44fd23978ca4c24f0da660a50dcd846ed1a8647c0d00446cd2502", + "room/grant-0002.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca78a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c600000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000200010100000000000000000000000000000000000000000000000000000000000000000000574550310118000000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff00000000011568747470733a2f2f72656c61792e6578616d706c65000056fb21a81ef4d7ee9c3a0396274535a17aa69369c753afaa8b825aed8e979f7a48884c1d3b8bc2c64679ec82eff38166c0df7c76ab5de60c393a1273ce422a06", + "room/grant-0003.wrg": "57524731015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00000000000000000000000000000000000000000000000000000000000000000000000000000000f05ad16a0000000080bad26a000000000103010200000000000000000000000000000000000000000000000000000000000000000000574550310118110000000000000000000000000000000000000000000000000000000000000004f4013200000040420f00000000000100000040420f0000000000ffffffffffffffffffffffffffffffff0000000101011568747470733a2f2f72656c61792e6578616d706c654a00077375626a6563744000326239353662613939326462643264333664383166633461346137373162373034386237333261326533366365656132663537343438323136656635363663366bdb59c65869a0afca34a2621ee9aeeb703943d47add18510dde8e8f7fbf96ad1faf6f30d37f9c37c03d87cf28491ddd92dabefc125953bfcd8b826456f2f008", + "room/key-log.json": "7b226772616e745f6d61785f73223a38363430302c226973737565645f6174223a22323032362d31302d31355430303a30303a30305a222c226b657973223a5b7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a22726f6f6d2d617574686f72697479222c226b6579223a2264366235613638343966363161386262643964346462353236613966633163373365663934393539306364636439623062363563653633373532363264396264222c226d61795f7369676e223a5b226c6976652f726f6f6d225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d2c7b22636f6d70726f6d697365645f73696e6365223a6e756c6c2c226964223a2274616b652d73746f7265222c226b6579223a2230663232323431353131346666336537373336363364663739376338386436653131623039346334666663363639343538316438343364626662653862613133222c226d61795f7369676e223a5b22636170747572652f73746f7265225d2c22737461747573223a22616374697665222c22756e74696c223a6e756c6c7d5d2c226b696e64223a227761692d6b65792d736574222c226e6578745f726f6f74223a2266613265633063393264636334356335396438656465343765356636636261613066383965333631383661323563373030376563373138343135323838613864222c226f726967696e223a2268747470733a2f2f6c6573736f6e732e6578616d706c65222c2270726576223a6e756c6c2c227265766f6b65645f6d6f64756c6573223a5b2239633763643762373730316235343861633436343134306662323532363539353565653338326464336235366538653966653134336338656234343964343533225d2c22726f6f74223a2239336264373032306537386430636564373330643136623364663033383533343062623661643035373733646636363265313965633364343733356335653563222c22736571223a302c22736967223a223137313432623334613562386661343261323362313038366530323232383136383335373335643432663231663236343465356165363561653339613634386639373338616536323138386538346132616331616165353733373035313964623633663437363939366361303966316361663533646137333536653737323033222c227374617475735f6d61785f6167655f73223a333630307d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000000.bin": "7eb57dd6ea48bd6e750625aa7e27550ca3420032751c71a7d297b6461d26b5954525542bc117fa7ee7cfe6f32ba1826a", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000001.bin": "5a3084a18d88da020a4b71b5bf60a1c535d7c9902b990e26ec748fce394af54cbbe92f37ab82295cd3fb69a6adac53833c669739146cbd3c9e7115bf2f1a10a3f7588995e23fe777121cdc4cf95f1bb9cdff24af20", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000002.bin": "48ebf0b168a3c7fc0c55b3c91416022da660a350dd70aef26ddc6a124ed3f89554cbaa4b0a623251e046c5d051bb2184160fb0d45061c051e7cc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000003.bin": "b89715796bae21b2526339343c05418d5d89c863b331588fe0005f588148aca6c1d6f8fabc0c1453628552025d98e640e92c6e1bc36306e50db0fe471ca92773b96f17ab3617a16f0685f0135d6f061965e8a49060fd5fc6fb32e22e2dd9fa", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000004.bin": "65417e62fa739f4aff802db45b951d3e527b30dba413fe4cc2666addb28654cd04ae27cff61f094e86bb995a4dd954641b9f66b8a6e9b327aa384ed9155a97bd55619f43", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000005.bin": "2d85f153ed4c1fe072eb315b2c07a273b4283df24e0b266bac2a89800c29b04258e739605e48aab5a10656b5c16283a4ee5c86f34988b92990d35aa86c7f31ed29a528a19bac2a1265810d04daaa3d1e8b93e0e90f17e2894dcd66b0c074cd9a4089b7c661bb5b8ddc", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000006.bin": "99adaa567aa5f9bf37864924714aadc3d468ca77dbdd919f43af6abc0862cca7490e2a3a2f47975d05df11e309b62230f795056f3ad5b429ac5357f83b614900cc654b83885b2aa9512497ba8ea4", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000007.bin": "0cd5712f2691897913959444771fc75fc0c6c517527433a9c0e54d6760ace4a225feb80ec74ed745b6a70548e3bdff6b4bf85e", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000008.bin": "bc2cfa9caa3a36a92f97d0b19cb6c815157590e91ad7b7dd50ffe220aafb5cc005b4f056a39062a4f38637accc3fba12e930f7fccc2d4fae10549574fef00bd503172f07003b0f44e103650fac84e96c762b8e0a5203e7f3", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/chunk-0000000009.bin": "4ae0c5cbc03353d721157376812f9a91edad1f0cde378bdfc4acb168d45c33d36051d8233de27c78ee8d85c0e4e145904680d83d59be4e766cd1988ca9", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/consent-0000.wcn": "57434e310159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000e300c25e7ac42dc73953adf59c8cd2a19355ea54b3ace510b4515dbb37cfbd7e7a841e15c8f8f649503d8190f46ba6223e86e6a3c3d3e33384ffc907b274bfb2f630a81ecd47ab9061238e930050e902", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974cae57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f559425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699a23aa809cbe525bc1baf27797870ec0dcf440b60fa739c2314788c7b102e69fd41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1307060a0000000000000000000000807f612a01000000c0c1702a01000000300000000000000037090d56c333ad6c4392ffbb8f80b7854c7ae3d562e182d6b76685f99db2ec1f0100000000000000c0c1702a010000000004802a0100000055000000000000003b9b3da8c3121692dbe9b75ff7b37a77773cf7d71d8b7c885253d5b3855c53b902000000000000000004802a0100000040468f2a010000003a0000000000000097f5ee9829746c16c29946a44489846e4a385eb6d62804ba22a18a99a92642ab030000000000000040468f2a0100000080889e2a010000005f000000000000004bb0df0483b6370199dc9196f695ec65b029d8ffb09dfd7ec24bf5d5c59a72f3040000000000000080889e2a01000000c0caad2a010000004400000000000000733b22d5d80b9a80443b60a14334000a8ab43f139364fa9cd3a547e8a7c523640500000000000000c0caad2a01000000000dbd2a0100000069000000000000009395a39fcaaab116f14a5e4f1e51abe694d712e0f912827045471c6283730a480600000000000000000dbd2a01000000404fcc2a010000004e000000000000002b869dfefc2fe0873e06d23c09f1629470a788c6b8f2aa8e6aafb1298cd73fe60700000000000000404fcc2a010000008091db2a0100000033000000000000009f10cb7a3feccf63f5c0c398375eaf998628d314dc8159d15845fe5a0f8a006b08000000000000008091db2a01000000c0d3ea2a0100000058000000000000008b03281ec96d96d0e76e48ef184b7a60d4856eddf77629af961fe54746404ef60900000000000000c0d3ea2a010000000016fa2a010000003d000000000000001fb42eb87b4ea4dc72d02c9e6ea82aab91be4bbef122892b8921e2f552a462678883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f2506000000d01b2ceb50bf890fd1732ca8571fbc36528777c1700f022f152a107036ad41e6e66ae4f48b7d7b0f1d68ad2108e1004b82599f70aeefc04750889da9ea5049b0108de42c4bee54b94f97054909bc94cea6a6a65a2c9eb30090b514a7e400262139c62d2ccabc3770a207fa1560cb87d69299f7d78119a46d300a0fcc81251fe48967cc4ff845c3efd0139b621aa7202a890aaac2ad7e6978a6c725c0a0acc2ad5c8b70c3a2bcef603d7df6edc44efe9a9dc4f2aa92c7c5fb23414057b21c10e80159425465004500032d6893f980a7dad483af70b4e116a10b7caa4e2052593699c874fbe7fe39aba8993c0ebb1a0647056ea2fe4fff0d2fcc29694944a8a8c58fee5e2f555f41e799748151133d481ac6eec8d5578c88da05ca67d552b6f4d691bc26594f33cac8c4d43f411570c4ce5daa62bf815c3e27ee72181c28abdff101", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e00000000000000000000000000000000000000000000000000000000000000000000000000000000006d9dd9e95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445ade4928edc60ebd2d6214d3ee3e64d80470f9f9e7d4e17a43604a557bdc11a8f02a8314a78a769a4b77b0c97128d100990635f6e01f276f023dd2693271ab909", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e01000000000000003c3544438996ea3c33ca52d0c9588e1a06a629640c2b72bbba477f381f5389bfc033cbd9e95d0600020a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f254445bae353aeb0a1752cf392f5f3c50d80d0afad5039fad420dd4a03a309bb3373d1a7c62b068c0730ce2d762d35b7f8a84bbe9c9a941d93b8704b2a31a40c266b0d", + "takes/41f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba1341f4686756b9083ffac11b1d229c5fc28a7fcd8e318f713ac7d417b930eda03e0200000000000000cdaad304e1328ac3b9267fabcbbd5504b6c6fe56ef14146ec6c546c6a1cb90c280faf8d9e95d0600040a000000000000008883ea090e9f374f91bacaac0864af7b6dafa57c4f8a3ac0040ec7fc669f1f25444503c547cb38bfffbda98c6cdb820b320445d1692eb34da06c7621bb9f4a3812460832a53c2495a648e4662481dcc100150c339c6734bfa54036fd54831cc5230d", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000000.bin": "e253f8ed1944ba19e793a291084f676643203804c93328f4ed3507204bd217fe81f99ba9b9c8a6a53ca123708480732c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000001.bin": "cda6ab875feb6a73ff950e98ce48f55844f846464a377a16327dcbfa0f46d53052649561490c697243c9fca8fa9bbccc87c55db55898a8f4a92e3e57c8f743b6340d572e262499a9e41701ec3e8dddceffe54e2782", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000002.bin": "bc8b7713b38529bd8cd78adfa15bb45d56f161e37fc82961aa7c9360f38d8d2d7082f581e0f5de8d7fa574d403a4a1efcd907115690bfe20024c", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000003.bin": "9dec8715e3a8c4832c399073c9bb04107c3d1af7d2c4f9fa226b36ccfdb50892c70442dc2e07e3c2933a0a997d67e8d883cc68e0d331388ce894a0bb0741508ffa4c7b024dcecfe0f4ce919e17f36ab274bb82d8f09059450dbf1ef6a580ad", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000004.bin": "fe0aff6a703bd6595bcc9514d419bc3d255bf8fd1b07f4bee97dbfbc07bb24268321a4dd492597b786e5227927391a5fa0606239b646ba6e0ccbeb20dcec5a0fe818ecdc", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000005.bin": "4300407765ba79c5e62e9bb43261f22df372d4a6ff78747dc116c1dacc0e8a5a095dbc071ab8428b36692b3593db545e106d644cbd295540b39c979f22a9f230edda14a891e854dbf206c8780361aa0a11501d634f004d856af17850b99addeff800f500e620feb7a8", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000006.bin": "b6404809a2ea3816ec06242b73ccd7477e66de26145f448ef16a3b1e3d606344b295d4056d6076a17526a19a7e11725f584de9449eaa456c03d204569a21a907fd42e34c60e628501fe94f4ccf54", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/chunk-0000000007.bin": "674e8ce1c9bfe39f02dfa83c0f3d0a26559c68dce6fc2425adbf15baa59936d35183aa7fd0d3d26243c6bce021755e425a61c2", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/consent-0000.wcn": "57434e31012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6000000000000000000000000000000000000000000000000000000000000000000075f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca8017d06a0000000000f6f86a00000000deb9a7ec905e7edfe3a30d5b8bd2e50002793e56c8448b146dec8f8580c4a9a4c9476c25e77c490b289fd0a7d53fcd031935b0f16897cbc795b58ba463c664aa04a6d13f60853b149c375910f8a9990e", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/manifest.wtm": "57544d31015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca7d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee2b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c633e0b0f17cbf9038a6f929902e62ba208c8957164db56d31f0688eacd208069bfef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d960f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba130706080000000000000000000000405489000000000010679c000000000030000000000000008fae533ea900dd435a27c7ac6bbe43a78ca53f4ac8bf916accd92a8d374cba94010000000000000010679c0000000000e079af000000000055000000000000006cb63b81a4b11a270dfd91c37eaaed324b1b55999789174218e9990aa186455f0200000000000000e079af0000000000b08cc200000000003a00000000000000e515ec9e690d2bf9be7ce9bd8547b84406445c82682346f3cf84ccb305cf4ae50300000000000000b08cc20000000000809fd500000000005f000000000000008ab19bbbd6173bd1339419c327fadbf9337f7d77aff9e7082ee68da5132756c80400000000000000809fd5000000000050b2e80000000000440000000000000017fca124fd9c32581a3a6f032bc985481cef9852f5f07ba3120fd851511d20ba050000000000000050b2e8000000000020c5fb00000000006900000000000000be2b55d6011931c758ef4700f002f24a947e8e95428049653bc0fc44055b5563060000000000000020c5fb0000000000f0d70e01000000004e0000000000000083da93c67f107a2933b1befbdaaf558a44b2adf41cd3e085f1d48767e8dc3fde0700000000000000f0d70e0100000000c0ea2101000000003300000000000000989f78372ee677d01a1a45c0f4e33989e1e30935ef1f70e0426de38e2cb5ae8a5b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb06000000f734b0ef8ac90053ae425a18c55654e92a6747ca5fea258637996adaa9ca3250e1f805e1a054cfe57d4e303ff2dc073eb428c86c15e028e81921fafeda4a613207fbbcdbbb53c31866316874c87c33bca4008c0b9ba53c8182b0f2a23941ca7e97618a571a9b984b4dedb9ee2a84c23b01f34575c3be407139b11b8f9c1db043857500f8ce56c356d7786b989c828ff62ae65be2cf879dc7b44e5d494dba7a8efb255d3a58d99e0ad734c44e98306b8179390921a7966c590876505a4966f386012b956ba992dbd2d36d81fc4a4a771b7048b732a2e36ceea2f57448216ef566c6917cb1c09d6d01150336b971573127955a87359931991d77119776125881e5e0e44f52d3b0487deeee310cde0ba0e98f45ca2f079fa956175e756087c758ddc0a080c22ed156d38d87904184c8ee255ad810d9bee54da8796cf252ff95f9ef09", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0000.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9600000000000000000000000000000000000000000000000000000000000000000000000000000000009acedae95d060001000000000000000000000000000000000000000000000000000000000000000000000000000000004445f366b219ffe2ef235bfbac35805fa4b3fa121e7b937056df394ee13ce89fcd37ff5b04723f4b43a2317d26a3cc1db34544272ab02b88eee8b85c847e20dbc502", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0001.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96010000000000000002c35b21728e7c4efae6871b8c76cc19a1284029fdba16f07e7eefaeaa3b7e10c060fcdae95d06000208000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445c3c41abef6cf52a86a630db5f4d3cd6eecfb5105888525bed1f9a34e811642b70560f5d8c036214e4c7f7a248b32b58b4062c3207edac5e91e7d2da60ac90f00", + "takes/fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d96/receipt-0002.wur": "57555231010f222415114ff3e773663df797c88d6e11b094c4ffc6694581d843dbfbe8ba13fef202dc0b11f9dbebe831ff51d297dc7ab644f0d5341d87dc95c939721a9d9602000000000000002f484a6dc17bcb4a0f9a0a958238b5834add05985ade8ea1a6a142964496713880272adbe95d06000408000000000000005b8ad24298b11d4afe4acabf254c55d99e1badc4d20a3f293fef3c8e9870e6eb4445735ba43344eba0f61c965378bf11a6dc4c98d44394b484d9d78bdf9ec69f23783db36b06f542979699c8c8cd4fd328e4a8bbf70f6706d933245680d2d7d0b506" + }, + "evaluated_at": 1792195200, + "reuses": [], + "outcome": "refuse", + "reason": "grant_revoked", "at": [ "room", "record", - 4, - 5 + 0, + 0 ] }, { @@ -1250,7 +1621,7 @@ }, { "name": "take_refused", - "about": "the accompanist's take manifest with a bit of its signature flipped, sealed as it is: the take verifier refuses it at its manifest, and the recording at that take (§4.4 step 7)", + "about": "the accompanist's take manifest with a bit of its signature flipped, sealed as it is: the take verifier refuses it at its manifest, and the recording at that take (§4.4 step 6)", "files": { "LISTING": "3163346134616261626437633338396661346536363937633233643664383264313639373262316235646436613035323131666661373765653236653462343920206576656e74732f306132396366353134646565626664356361303239623164363538623139386261646537363461663938653039383438633666643533623132393637386237322e7765760a3935633037663565623734363730643435623939316565643764363338393963303363633335376536393131373830366539313733356435613232333437363120206576656e74732f373861353034323663636663613763653935386531633532646234383466633731323638373739396531666638346263346364643431383261616438393163362e7765760a3764646134373539323363663435656663346136366363623431633566393339363133653966326130353034613636373433663634626563643538656632303320206576656e74732f376433623330393864383266646463383538356661613365383462386632633133636237666337323361303162666238626261636662613465643338386565652e7765760a6264393064363930306263343262366339636238303362373339363135613335666536396337623133333832366433613161363066363732613934326131363220206576656e74732f643932376562396635303730303736646633653464633337393334353432653539303238313435656635383761663865373164633030316134626138316335322e7765760a6139643762313062336635303739653933383737393065333166373466303832643035313234383931633534376631313265376666353431633435643735646220206576656e74732f653537643366626537323537623231313830303932393662663635346234316337383233653733306638363536383739396230316234343264376133303066352e7765760a6534663031626538323365613438346533656235386230386264346430623033393039633538653736353062613837623335353733386464653233353564303720207265636f7264696e672e77726d0a306233326134356234373836653161306337363532306562636635636131626639323134626537313164646163316265373062636639646332373962656361352020726f6f6d2f64657363726970746f722e7772640a396663323263336335626135313463626535363730306335303266613933643039623139356366383862626234623036336262613630646631666230646332392020726f6f6d2f6772616e742d303030302e7772670a633932353638646534363037393936333163333638643962316635376431303762633563333832343262646463353361653166313536666361653865316532322020726f6f6d2f6772616e742d303030312e7772670a366565363662333832663865366461613037613232316166633139633530623336343036646334333230643937323837303030646236376261306635393336352020726f6f6d2f6772616e742d303030322e7772670a303463336566306432313537326138643539333838373631373836653333313231363233373834386562643930343534393034663030393963646661636265622020726f6f6d2f6772616e742d303030332e7772670a376136616663396436366138326365323638393766373636363233373661326564306435366563353032376564353364656363376564323938386162626637312020726f6f6d2f6b65792d6c6f672e6a736f6e0a33373039306435366333333361643663343339326666626238663830623738353463376165336435363265313832643662373636383566393964623265633166202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030302e62696e0a33623962336461386333313231363932646265396237356666376233376137373737336366376437316438623763383835323533643562333835356335336239202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030312e62696e0a39376635656539383239373436633136633239393436613434343839383436653461333835656236643632383034626132326131386139396139323634326162202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030322e62696e0a34626230646630343833623633373031393964633931393666363935656336356230323964386666623039646664376563323462663564356335396137326633202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030332e62696e0a37333362323264356438306239613830343433623630613134333334303030613861623433663133393336346661396364336135343765386137633532333634202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030342e62696e0a39333935613339666361616162313136663134613565346631653531616265363934643731326530663931323832373034353437316336323833373330613438202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030352e62696e0a32623836396466656663326665303837336530366432336330396631363239343730613738386336623866326161386536616166623132393863643733666536202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030362e62696e0a39663130636237613366656363663633663563306333393833373565616639393836323864333134646338313539643135383435666535613066386130303662202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030372e62696e0a38623033323831656339366439366430653736653438656631383462376136306434383536656464663737363239616639363166653534373436343034656636202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030382e62696e0a31666234326562383762346561346463373264303263396536656138326161623931626534626265663132323839326238393231653266353532613436323637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6368756e6b2d303030303030303030392e62696e0a65336639396435353137636137373337323964646364666163393432303732663464336264376631626236353037323439613931343564353637316366613637202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f636f6e73656e742d303030302e77636e0a37306138316461626637343238396134633865616537613530633237613865356439386435386462653730393230373663316333323865623433323462626630202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f6d616e69666573742e77746d0a36333838396434363064313866613132346234353637386233316431373735333830646664643761623663663063656162393037363735303836393532326330202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030302e7775720a31356437626334613761383266613233383961313731343137346331313566363531393130343031633163313564663334646533663332313437386362303932202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030312e7775720a30646433353765653639316632353038623262333333313564356535326561396232653039663737663630646534646565326138633963306266306164316339202074616b65732f343166343638363735366239303833666661633131623164323239633566633238613766636438653331386637313361633764343137623933306564613033652f726563656970742d303030322e7775720a38666165353333656139303064643433356132376337616336626265343361373863613533663461633862663931366163636439326138643337346362613934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030302e62696e0a36636236336238316134623131613237306466643931633337656161656433323462316235353939393738393137343231386539393930616131383634353566202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030312e62696e0a65353135656339653639306432626639626537636539626438353437623834343036343435633832363832333436663363663834636362333035636634616535202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030322e62696e0a38616231396262626436313733626431333339343139633332376661646266393333376637643737616666396537303832656536386461353133323735366338202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030332e62696e0a31376663613132346664396333323538316133613666303332626339383534383163656639383532663566303762613331323066643835313531316432306261202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030342e62696e0a62653262353564363031313933316337353865663437303066303032663234613934376538653935343238303439363533626330666334343035356235353633202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030352e62696e0a38336461393363363766313037613239333362316265666264616166353538613434623261646634316364336530383566316434383736376538646333666465202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030362e62696e0a39383966373833373265653637376430316131613435633066346533333938396531653330393335656631663730653034323664653338653263623561653861202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6368756e6b2d303030303030303030372e62696e0a30373561633065623661393462656132353936663833623539323730656131626230343438633230613862313034373936653237663535323766336138393730202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f636f6e73656e742d303030302e77636e0a32633731343566366462393063636138313863323632383836303336303235623534626633383832326230656136653538646336616533306563383033633665202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f6d616e69666573742e77746d0a36633461633964616364656530346639373064396465323461356637613630363333316130393737336165323765363435663933636263306432653436363934202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030302e7775720a35663661616566343139356435623163393233373930393862353462363431376662323435646238616532313339623963356533373263383530383836303264202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030312e7775720a34653837333031343135666462653934633134353633336534323432333635343030393061653238383737643638356534613838663434333034313634633065202074616b65732f666566323032646330623131663964626562653833316666353164323937646337616236343466306435333431643837646339356339333937323161396439362f726563656970742d303030322e7775720a", "events/0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b72.wev": "57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000104000d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c529c7cd7b7701b548ac464140fb25265955ee382dd3b56e8e9fe143c8eb449d4537d6db291eb368c6b866995892e5c98b9853cbea4cae281520adc1d6670ef71368aeae1f3bae74b814bfef4637e58fcdab5363e3e11219fa11641f82dbf1eec0757455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7201000000000000004c61ec041af54b1721cb0884ea0a71d757a84dc5328ec05b85316a8cec9e08b4000000000000000000104000e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f524a8b201a23a6507b1296d34429670d9025dd45ec7601855e97ec2e2023028ddf567f30e40c1fb30c379fd1a84403a13949d2518c1a40cf2aae7c55827ec7b7b58549427e8b2ca42eea16eadcbb7e38397372325522c205f6ed33ce33b59a50957455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7202000000000000008e69d6301ba69c645bf92e7fa065b1dc22ba820496ef3d8c904cda4ef284d29c20a10700000000000010400078a50426ccfca7ce958e1c52db484fc712687799e1ff84bc4cdd4182aad891c68b117ea2a775c9da4b04e8180250edfa169fbea9b665304befac86629814fbecedc3852e80d10adadc9cc1adf0f8d0ad24b2274263293bf5416d1777c50175ba0b817f00fac87da5eab954534c4742b3ce8fb3e997433ffb094312e1ab89550d57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7203000000000000004dfe996a8c2cb1d606032e1048652cf210c7d866d6110013ac6df7b64e61294ac027090000000000001040007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee5049ff9730d6dfe01fac966ac59ee80c8d6ac1ce5ba9dac9fa5a60bf00e04bfce0f1494867812a1eac7c3a700648ffb8a2053c117fa832b6e4173184336fb9ae826a7e590844f1ed6b0a45a95a624842543a78db51da7eea19082caf2d4db50a57455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7204000000000000003de0a8c521de91ada6dd32d8123ebe00830dca8fcfb0c094a23f9a0742cf664b40420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f500010101c70a1796b8b190c838cac4ae3e204d79b6c63fec99176e52eaf1d937c2e3e04962da79f57b2118c72193aa1104ebd3f4cf8f47ede24ddde2b63f2ec889d72a0857455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720500000000000000fe14ebdfa829d20ed82d6404bf3b7dbda784978cdd900e37a8ba3be11dc5814640420f000000000000122400e57d3fbe7257b2118009296bf654b41c7823e730f86568799b01b442d7a300f5000202035cf626357b5980930a4bec359a9241db0087ca63e35d3f2d98242ae76f33aeaad638ad984c68888dc4bc9d37a50e8b48307c180cefda5c1dd4e920740b24520057455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b7206000000000000001f0001f6fe0500b19e55c86925ca9973d4679f6c0e3e0d5ecb343b659f21958140420f000000000000122400d927eb9f5070076df3e4dc37934542e59028145ef587af8e71dc001a4ba81c520001000111842f2be19d36d7dd1f834be5008bdc85d528d455458b42badc9023a560fbc40e16aeb5572449ac83063d510a71d8eca3cbd619c40b5cbc926d86fbfbe32f0357455631015f7bde3d64b102ebfb82fb02abbba177fd67bdd1e1766b22969af847746974ca0a29cf514deebfd5ca029b1d658b198bade764af98e09848c6fd53b129678b720700000000000000d2a73fcea547e6900048baf298ef120df2de8993e5c2041358c5371690ce04fe40420f0000000000001224007d3b3098d82fddc8585faa3e84b8f2c13cb7fc723a01bfb8bbacfba4ed388eee00010101ee39477813a67f761b8434ffe739ef6c2399883396e47a40da89dd5ce08b3331e24c955ecc89c6a85914de460a348268d5c96eb1b66cc1785fc816885c327909", -- 2.54.0 (Apple Git-157) From ca13bffd68edb53e6989ac1b5e591df57ca4bb72 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 10:57:54 -0400 Subject: [PATCH 15/26] wai: timed_text, the cue model, WTX1 revisions, WebVTT, IMSC1, timelines, 608 and the disclosure label (WIP) Co-Authored-By: Claude Opus 5.5 --- wai/wai-rs/Cargo.toml | 17 + wai/wai-rs/src/lib.rs | 10 + wai/wai-rs/src/timed_text.rs | 1624 +++++++++++++++++++++++++++ wai/wai-rs/src/timed_text/cc608.rs | 793 +++++++++++++ wai/wai-rs/src/timed_text/corpus.rs | 11 + 5 files changed, 2455 insertions(+) create mode 100644 wai/wai-rs/src/timed_text.rs create mode 100644 wai/wai-rs/src/timed_text/cc608.rs create mode 100644 wai/wai-rs/src/timed_text/corpus.rs diff --git a/wai/wai-rs/Cargo.toml b/wai/wai-rs/Cargo.toml index e258798f9..384c40f86 100644 --- a/wai/wai-rs/Cargo.toml +++ b/wai/wai-rs/Cargo.toml @@ -192,6 +192,13 @@ live_room = ["live_events", "key_discovery"] # with its single-take, aligned, complete and publishable verdicts. Ed25519, SHA-256 and # the key log only; no new dependency. capture_take = ["live_room"] +# Timed text and live captions (extensions/timed-text): `wai.text.timed` — the cue model, +# live caption revisions (`caption` events of wai.live.events with the WTX1 annotation), +# and their exact mappings onto WebVTT documents and segments, the IMSC1 Text Profile, +# the MoQ caption timelines, CTA-608 (CC1, pop-on and roll-up) and HLS, with the +# machine-generation disclosure carried through each. No new dependency: the XML is +# written by hand. +timed_text = ["live_events"] # Object-based spatial audio (extensions/spatial-audio): the deterministic # Fx mixdown engine. Reuses the world `Fx` floor + blake3; no codec/ML deps # (sources arrive as decoded mono PCM — decoding the wai.audio.* assets is @@ -634,6 +641,11 @@ name = "wai_capture_take_vectors" path = "src/bin/wai_capture_take_vectors.rs" required-features = ["capture_take"] +[[bin]] +name = "wai_timed_text_vectors" +path = "src/bin/wai_timed_text_vectors.rs" +required-features = ["timed_text"] + [[bin]] name = "wai_world_meter" path = "src/bin/wai_world_meter.rs" @@ -1259,6 +1271,11 @@ name = "capture_take" path = "tests/capture_take.rs" required-features = ["capture_take"] +[[test]] +name = "timed_text" +path = "tests/timed_text.rs" +required-features = ["timed_text"] + [[test]] name = "world_replay" path = "tests/world_replay.rs" diff --git a/wai/wai-rs/src/lib.rs b/wai/wai-rs/src/lib.rs index 80eabe796..97f81c63b 100644 --- a/wai/wai-rs/src/lib.rs +++ b/wai/wai-rs/src/lib.rs @@ -406,6 +406,16 @@ pub mod live_room; #[cfg(feature = "capture_take")] pub mod capture_take; +// Timed text and live captions (extensions/timed-text.md): `wai.text.timed` — the cue model +// both WebVTT and the IMSC1 Text Profile express, live caption revisions as `caption` +// events of `wai.live.events` with the WTX1 annotation, and the exact mappings onto WebVTT +// documents and segments, IMSC1 documents, the MoQ caption timelines, CTA-608 and HLS, +// with the machine-generation disclosure carried through each. Rust-only, like +// live_events: its constants must not become macros in include/wai.h. +/// cbindgen:ignore +#[cfg(feature = "timed_text")] +pub mod timed_text; + // Typed receipt classes (extensions/jwp-receipts.md §2.4.3–§2.4.12, §2.6, §3.1–§3.2): // energy, lawful-basis, log-inclusion, soft-binding, binding-recovery, measurement, // operating-point, stage, delivery-gap and reconstruct-session statements about diff --git a/wai/wai-rs/src/timed_text.rs b/wai/wai-rs/src/timed_text.rs new file mode 100644 index 000000000..57a428d07 --- /dev/null +++ b/wai/wai-rs/src/timed_text.rs @@ -0,0 +1,1624 @@ +//! Timed text and live captions — `wai.text.timed` ([extensions/timed-text.md]). +//! +//! A cue is a span of media time with text in a small, closed set of styling: italic +//! runs, line breaks and one of six anchors. That set is what WebVTT and the IMSC1 Text +//! Profile both express, so a cue maps onto each of them exactly, and onto CTA-608 where +//! 608 can hold it; where a target cannot, the mapping refuses and says why. A live +//! caption is a `caption` event of `wai.live.events`, unchanged; a revision of a machine +//! caption is a new `caption` event, followed by a `meta` event whose payload is this +//! extension's annotation (`WTX1`), which names the revision it supersedes, says whether +//! the text is final and how much of it is stable, and carries the anchor and the italic +//! runs. The `origin` of the event, human, machine or machine-reviewed, with its model +//! digest, is the disclosure label, and every mapping carries it. +//! +//! What this module implements, by section of the extension: +//! +//! - §3: the cue model and its text subset; +//! - §4: the annotation, revisions and their checks over a verified event stream, the +//! cues a stream resolves to, what a sink shows at an instant, and the join set; +//! - §5: WebVTT documents and segments (`X-TIMESTAMP-MAP`), and a reader of the subset; +//! - §6: IMSC1 Text Profile documents, with a sound check of the hypothetical render model; +//! - §7: the MoQ caption timelines, WebVTT and IMSC1 cue mode, and their catalog entries; +//! - §8: CTA-608 on field 1, channel CC1, pop-on and roll-up, in [`cc608`]; +//! - §10: the disclosure label in HLS, C2PA, IPTC, and a sidecar. +//! +//! The corpus `live-conformance/captions/` is written by [`corpus::generate`] and checked +//! by [`corpus::verify`], and by `live-conformance/timed_text_verify.py`, which shares no +//! code with this module. +//! +//! [extensions/timed-text.md]: ../../extensions/timed-text.md + +use std::collections::BTreeMap; + +use crate::live_events::{self as le, kind, Caption, Event, Payload}; + +pub mod cc608; +pub mod corpus; + +/// The magic of an annotation (§4.2). +pub const ANNOTATION_MAGIC: [u8; 4] = *b"WTX1"; +/// The annotation version this revision defines (§4.2). +pub const ANNOTATION_VERSION: u8 = 1; +/// The length of an annotation without its italic ranges (§4.2). +pub const ANNOTATION_HEAD: usize = 42; +/// The latest media time a cue may end at, in milliseconds: 99:59:59.999 (§3.1). +pub const MAX_MS: u64 = 359_999_999; +/// The namespace of this extension's attributes in an IMSC document (§10.4). +pub const XML_NS: &str = "tag:transaction.science,2026:wai/timed-text"; +/// The WebVTT class of a machine cue (§10.4). +pub const VTT_MACHINE: &str = "wai-machine"; +/// The WebVTT class of a machine-reviewed cue (§10.4). +pub const VTT_REVIEWED: &str = "wai-machine-reviewed"; +/// The prefix of the WebVTT class that names a cue's model (§10.4). +pub const VTT_MODEL: &str = "wai-model-"; +/// The prefix of the URI that names a model in a C2PA assertion (§10.3). +pub const MODEL_URI: &str = "tag:transaction.science,2026:wai/model/"; +/// The HLS media characteristic of a machine-generated rendition (§10.2). +pub const HLS_MACHINE: &str = "public.machine-generated"; +/// The `DATA-ID` of the sidecar in an HLS multivariant playlist (§10.5). +pub const SESSION_DATA_ID: &str = "science.transaction.wai.timed-text"; +/// The catalog field that marks a caption track machine-generated (§7.4). +pub const CATALOG_FIELD: &str = "wai_machine_generated"; +/// The IMSC1 Text Profile designators a document names (§6.1). +pub const IMSC1_TEXT: &str = "http://www.w3.org/ns/ttml/profile/imsc1/text"; +pub const IMSC13_TEXT: &str = "http://www.w3.org/ns/ttml/profile/imsc1.3/text"; +/// The IPTC digital source types this extension writes (§10.3). +pub const DST_PREFIX: &str = "http://cv.iptc.org/newscodes/digitalsourcetype/"; + +/// Why a cue, an event stream, a document or a mapping is refused (§12). +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum Reason { + TimeOutOfRange, + CueMalformed, + ModelMissing, + TextNotInSubset, + LanguageMismatch, + AnnotationMalformed, + AnnotationMisplaced, + SupersedeUnknown, + SupersedeFinal, + SupersedeForked, + SupersedeMismatch, + StabilityBroken, + NotFinal, + DurationUnknown, + VttMalformed, + HrmExceeded, + ParameterMalformed, + CuesOverlap, + TooManyRows, + RowTooLong, + CharNotIn608, + StyleNotExpressible, + TooDense, + CcMalformed, +} + +impl Reason { + /// Every reason, in the order §12 lists them. + pub const ALL: [Reason; 24] = [ + Reason::TimeOutOfRange, + Reason::CueMalformed, + Reason::ModelMissing, + Reason::TextNotInSubset, + Reason::LanguageMismatch, + Reason::AnnotationMalformed, + Reason::AnnotationMisplaced, + Reason::SupersedeUnknown, + Reason::SupersedeFinal, + Reason::SupersedeForked, + Reason::SupersedeMismatch, + Reason::StabilityBroken, + Reason::NotFinal, + Reason::DurationUnknown, + Reason::VttMalformed, + Reason::HrmExceeded, + Reason::ParameterMalformed, + Reason::CuesOverlap, + Reason::TooManyRows, + Reason::RowTooLong, + Reason::CharNotIn608, + Reason::StyleNotExpressible, + Reason::TooDense, + Reason::CcMalformed, + ]; + + /// The reason's code (§12). + pub fn code(self) -> &'static str { + match self { + Reason::TimeOutOfRange => "time_out_of_range", + Reason::CueMalformed => "cue_malformed", + Reason::ModelMissing => "model_missing", + Reason::TextNotInSubset => "text_not_in_subset", + Reason::LanguageMismatch => "language_mismatch", + Reason::AnnotationMalformed => "annotation_malformed", + Reason::AnnotationMisplaced => "annotation_misplaced", + Reason::SupersedeUnknown => "supersede_unknown", + Reason::SupersedeFinal => "supersede_final", + Reason::SupersedeForked => "supersede_forked", + Reason::SupersedeMismatch => "supersede_mismatch", + Reason::StabilityBroken => "stability_broken", + Reason::NotFinal => "not_final", + Reason::DurationUnknown => "duration_unknown", + Reason::VttMalformed => "vtt_malformed", + Reason::HrmExceeded => "hrm_exceeded", + Reason::ParameterMalformed => "parameter_malformed", + Reason::CuesOverlap => "cues_overlap", + Reason::TooManyRows => "too_many_rows", + Reason::RowTooLong => "row_too_long", + Reason::CharNotIn608 => "char_not_in_608", + Reason::StyleNotExpressible => "style_not_expressible", + Reason::TooDense => "too_dense", + Reason::CcMalformed => "cc_malformed", + } + } + + /// The reason with code `code`. + pub fn from_code(code: &str) -> Option { + Reason::ALL.into_iter().find(|r| r.code() == code) + } +} + +impl std::fmt::Display for Reason { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.write_str(self.code()) + } +} + +impl std::error::Error for Reason {} + +// --------------------------------------------------------------------------------------- +// §3 The cue model +// --------------------------------------------------------------------------------------- + +/// The `origin` values of a `caption` event (live-events §4.10). +pub mod origin { + pub const HUMAN: u8 = 1; + pub const MACHINE: u8 = 2; + pub const REVIEWED: u8 = 3; + + /// The name §3.1 gives an origin. + pub fn name(o: u8) -> Option<&'static str> { + match o { + HUMAN => Some("human"), + MACHINE => Some("machine"), + REVIEWED => Some("machine-reviewed"), + _ => None, + } + } + + /// The origin named `s`. + pub fn from_name(s: &str) -> Option { + [HUMAN, MACHINE, REVIEWED].into_iter().find(|&o| name(o) == Some(s)) + } +} + +/// Where a cue is placed (§3.3): the bottom or the top of the caption area, its lines +/// centred, at its left edge or at its right edge. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum Anchor { + BottomCenter, + BottomLeft, + BottomRight, + TopCenter, + TopLeft, + TopRight, +} + +impl Anchor { + pub const ALL: [Anchor; 6] = + [Anchor::BottomCenter, Anchor::BottomLeft, Anchor::BottomRight, Anchor::TopCenter, Anchor::TopLeft, Anchor::TopRight]; + + /// Its code in an annotation (§4.2). + pub fn code(self) -> u8 { + Anchor::ALL.iter().position(|&a| a == self).expect("listed") as u8 + } + + pub fn from_code(c: u8) -> Option { + Anchor::ALL.get(c as usize).copied() + } + + /// Its name (§3.3). + pub fn name(self) -> &'static str { + match self { + Anchor::BottomCenter => "bottom-center", + Anchor::BottomLeft => "bottom-left", + Anchor::BottomRight => "bottom-right", + Anchor::TopCenter => "top-center", + Anchor::TopLeft => "top-left", + Anchor::TopRight => "top-right", + } + } + + pub fn from_name(s: &str) -> Option { + Anchor::ALL.into_iter().find(|a| a.name() == s) + } + + /// Whether it is at the top of the caption area. + pub fn top(self) -> bool { + matches!(self, Anchor::TopCenter | Anchor::TopLeft | Anchor::TopRight) + } + + /// The alignment of its lines: `center`, `left` or `right`. + pub fn align(self) -> &'static str { + match self { + Anchor::BottomCenter | Anchor::TopCenter => "center", + Anchor::BottomLeft | Anchor::TopLeft => "left", + Anchor::BottomRight | Anchor::TopRight => "right", + } + } +} + +/// One cue (§3.1). +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct Cue { + /// Media time, in milliseconds. + pub start: u64, + pub end: u64, + /// A BCP 47 language tag, as live-events §4.10 reads one. + pub lang: String, + /// [`origin`]: 1 human, 2 machine, 3 machine-reviewed. + pub origin: u8, + /// The digest naming the model, exactly when `origin` is 2 or 3. + pub model: Option<[u8; 32]>, + pub anchor: Anchor, + /// The text, its lines separated by U+000A (§3.2). + pub text: String, + /// The italic ranges, as (first code point, number of code points), over `text` (§3.2). + pub italic: Vec<(u32, u32)>, +} + +/// Whether a code point may stand in a line of cue text (§3.2 rule 2). +fn allowed_cp(c: char) -> bool { + let v = c as u32; + matches!(v, 0x20..=0x7E | 0xA0..=0xD7FF | 0xE000..=0xFFFD | 0x10000..=0x10FFFF) + && !matches!(v, 0x2028 | 0x2029 | 0xFEFF) +} + +/// §3.2 rules 1 to 3: the text is in the subset both WebVTT and IMSC1 hold exactly. +pub fn text_in_subset(s: &str) -> bool { + if s.is_empty() { + return false; + } + s.split('\n').all(|line| { + !line.is_empty() + && !line.starts_with(' ') + && !line.ends_with(' ') + && !line.contains(" ") + && line.chars().all(allowed_cp) + }) +} + +/// §3.2 rule 4: the italic ranges are canonical over `text`. +pub fn italic_canonical(text: &str, ranges: &[(u32, u32)]) -> bool { + let cps: Vec = text.chars().collect(); + let n = cps.len() as u64; + let mut prev_end: Option = None; + for &(s, l) in ranges { + let (s, l) = (s as u64, l as u64); + if l == 0 || s + l > n { + return false; + } + if let Some(pe) = prev_end { + if s <= pe { + return false; + } + if cps[pe as usize..s as usize].iter().all(|&c| c == ' ') { + return false; + } + } + let r = &cps[s as usize..(s + l) as usize]; + if r.contains(&'\n') || r[0] == ' ' || r[r.len() - 1] == ' ' { + return false; + } + prev_end = Some(s + l); + } + true +} + +/// Check a cue (§3.4), in this order: its times, its fields, its text, its italic ranges. +pub fn check_cue(c: &Cue) -> Result<(), Reason> { + if c.start >= c.end || c.end > MAX_MS { + return Err(Reason::TimeOutOfRange); + } + if !le::lang_tag_ok(&c.lang) || origin::name(c.origin).is_none() { + return Err(Reason::CueMalformed); + } + match (c.origin, c.model) { + (origin::HUMAN, Some(_)) => return Err(Reason::CueMalformed), + (origin::MACHINE | origin::REVIEWED, None) => return Err(Reason::ModelMissing), + _ => {} + } + if !text_in_subset(&c.text) { + return Err(Reason::TextNotInSubset); + } + if !italic_canonical(&c.text, &c.italic) { + return Err(Reason::CueMalformed); + } + Ok(()) +} + +/// Check every cue of one document in `lang` (§3.4): each cue, then each cue's language. +fn check_document(lang: &str, cues: &[Cue]) -> Result<(), Reason> { + if !le::lang_tag_ok(lang) { + return Err(Reason::ParameterMalformed); + } + for c in cues { + check_cue(c)?; + } + if cues.iter().any(|c| c.lang != lang) { + return Err(Reason::LanguageMismatch); + } + Ok(()) +} + +/// The cues in document order: by start, and in the order given among equal starts. +fn sorted(cues: &[Cue]) -> Vec { + let mut v = cues.to_vec(); + v.sort_by_key(|c| c.start); + v +} + +/// A cue's lines, each a list of runs `(italic, text)` (§3.2). +pub fn lines(c: &Cue) -> Vec> { + let cps: Vec = c.text.chars().collect(); + let mut italic = vec![false; cps.len()]; + for &(s, l) in &c.italic { + for f in italic.iter_mut().skip(s as usize).take(l as usize) { + *f = true; + } + } + let mut out = Vec::new(); + let mut line: Vec<(bool, String)> = Vec::new(); + for (i, &ch) in cps.iter().enumerate() { + if ch == '\n' { + out.push(std::mem::take(&mut line)); + continue; + } + match line.last_mut() { + Some((it, s)) if *it == italic[i] => s.push(ch), + _ => line.push((italic[i], ch.to_string())), + } + } + out.push(line); + out +} + +/// The italic ranges of the text `lines` make, with each run's flag (the inverse of +/// [`lines`]). +fn from_lines(lines: &[Vec<(bool, String)>]) -> (String, Vec<(u32, u32)>) { + let mut text = String::new(); + let mut ranges: Vec<(u32, u32)> = Vec::new(); + let mut pos = 0u32; + for (k, line) in lines.iter().enumerate() { + if k > 0 { + text.push('\n'); + pos += 1; + } + for (it, s) in line { + let n = s.chars().count() as u32; + if *it { + match ranges.last_mut() { + Some((rs, rl)) if *rs + *rl == pos => *rl += n, + _ => ranges.push((pos, n)), + } + } + text.push_str(s); + pos += n; + } + } + (text, ranges) +} + +pub(crate) fn hex(b: &[u8]) -> String { + b.iter().map(|x| format!("{x:02x}")).collect() +} + +pub(crate) fn unhex32(s: &str) -> Option<[u8; 32]> { + if s.len() != 64 || !s.bytes().all(|c| c.is_ascii_digit() || (b'a'..=b'f').contains(&c)) { + return None; + } + let v: Vec = (0..64).step_by(2).map(|i| u8::from_str_radix(&s[i..i + 2], 16).unwrap()).collect(); + v.try_into().ok() +} + +/// A JSON string: `"` and `\` escaped, U+000A as `\n`, any other code point below U+0020 +/// as `\u00xx`, everything else as itself (§7.1). +pub fn json_str(s: &str) -> String { + let mut o = String::with_capacity(s.len() + 2); + o.push('"'); + for c in s.chars() { + match c { + '"' => o.push_str("\\\""), + '\\' => o.push_str("\\\\"), + '\n' => o.push_str("\\n"), + c if (c as u32) < 0x20 => o.push_str(&format!("\\u{:04x}", c as u32)), + c => o.push(c), + } + } + o.push('"'); + o +} + +// --------------------------------------------------------------------------------------- +// §4 Live captions +// --------------------------------------------------------------------------------------- + +/// An annotation (§4.2): the payload of the `meta` event that follows a `caption` event. +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct Annotation { + /// The digest of the `caption` event this revision supersedes; zero for none. + pub supersedes: [u8; 32], + /// Whether the text is final. + pub final_: bool, + /// The leading code points of the text a later revision keeps. + pub stable_cp: u16, + pub anchor: Anchor, + pub italic: Vec<(u16, u16)>, +} + +impl Annotation { + /// Its bytes (§4.2). + pub fn to_bytes(&self) -> Vec { + let mut b = ANNOTATION_MAGIC.to_vec(); + b.push(ANNOTATION_VERSION); + b.extend_from_slice(&self.supersedes); + b.push(self.final_ as u8); + b.extend_from_slice(&self.stable_cp.to_le_bytes()); + b.push(self.anchor.code()); + assert!(self.italic.len() <= 255, "at most 255 italic ranges"); + b.push(self.italic.len() as u8); + for &(s, l) in &self.italic { + b.extend_from_slice(&s.to_le_bytes()); + b.extend_from_slice(&l.to_le_bytes()); + } + b + } + + /// Read an annotation's bytes (§4.2), its magic already matched; the checks against + /// its caption are [`CaptionVerifier`]'s. + pub fn parse(b: &[u8]) -> Result { + let m = Reason::AnnotationMalformed; + if b.len() < ANNOTATION_HEAD || b[..4] != ANNOTATION_MAGIC || b[4] != ANNOTATION_VERSION { + return Err(m); + } + let supersedes: [u8; 32] = b[5..37].try_into().map_err(|_| m)?; + let final_ = match b[37] { + 0 => false, + 1 => true, + _ => return Err(m), + }; + let stable_cp = u16::from_le_bytes([b[38], b[39]]); + let anchor = Anchor::from_code(b[40]).ok_or(m)?; + let n = b[41] as usize; + if b.len() != ANNOTATION_HEAD + 4 * n { + return Err(m); + } + let italic = (0..n) + .map(|i| { + let o = ANNOTATION_HEAD + 4 * i; + (u16::from_le_bytes([b[o], b[o + 1]]), u16::from_le_bytes([b[o + 2], b[o + 3]])) + }) + .collect(); + Ok(Annotation { supersedes, final_, stable_cp, anchor, italic }) + } +} + +/// Whether a payload is an annotation (§4.2): a `meta` whose bytes begin with `WTX1`. +pub fn is_annotation(p: &Payload) -> bool { + matches!(p, Payload::Meta(b) if b.starts_with(&ANNOTATION_MAGIC)) +} + +/// One caption event a [`CaptionVerifier`] holds, with what its annotation says (§4.3). +#[derive(Clone, Debug)] +pub struct Revision { + /// The caption event's position in the stream. + pub index: usize, + pub event: Event, + pub digest: [u8; 32], + pub caption: Caption, + /// The annotation's position in the stream, when the caption has one. + pub annotation: Option, + /// Whether its annotation is unknown: the verifier holds an event of its principal + /// after it but not the one at the next seq. + pub unknown: bool, + pub final_: bool, + pub stable_cp: u32, + pub anchor: Anchor, + pub italic: Vec<(u32, u32)>, + /// The revision it supersedes, when the verifier holds it. + pub supersedes: Option, + /// The digest it names as superseded, held or not. + pub supersedes_digest: Option<[u8; 32]>, + /// The revision that supersedes it. + pub superseded_by: Option, +} + +/// What a verifier holds of one principal (§4.3). +#[derive(Default, Clone, Debug)] +struct Principal { + /// Each seq held: `Some(revision)` for a caption, `None` for any other kind. + held: BTreeMap>, + /// Whether every seq from 0 to the latest held is held. + whole: bool, + /// The caption whose annotation the next event may be. + pending: Option, +} + +/// The outcome of verifying an event stream as captions (§4.3). +#[derive(Clone, Debug, PartialEq, Eq)] +pub enum Outcome { + Accept, + /// No refusal, and the gaps live-events §6.4 states. + Gap(Vec), + /// The first refusal: a reason of live-events §9 or of §12 here, by its code. + Refuse { index: usize, reason: &'static str }, +} + +/// Verifies a stream of `WEV1` records as live-events §6 does, and the captions in it as +/// §4.3 does, record by record in stream order. +#[derive(Clone, Debug)] +pub struct CaptionVerifier { + pub events: le::RoomVerifier, + revisions: Vec, + principals: BTreeMap<[u8; 32], Principal>, + offered: usize, +} + +impl CaptionVerifier { + pub fn new(room: [u8; 32], policy: le::Policy) -> Self { + CaptionVerifier { events: le::RoomVerifier::new(room, policy), revisions: Vec::new(), principals: BTreeMap::new(), offered: 0 } + } + + /// The caption revisions held, in stream order. + pub fn revisions(&self) -> &[Revision] { + &self.revisions + } + + /// Offer the next record (§4.3): live-events §6 first, then this extension's checks. + pub fn offer(&mut self, bytes: &[u8]) -> Result<(), &'static str> { + let index = self.offered; + self.offered += 1; + match self.events.offer(bytes) { + Err(r) => Err(r.code()), + Ok(le::Offered::Duplicate) => Ok(()), + Ok(le::Offered::Accepted) => { + let a = self.events.accepted().last().expect("just accepted").clone(); + self.take(index, a.event, a.payload, a.digest).map_err(Reason::code) + } + } + } + + fn settle(&mut self, rev: usize, unknown: bool) { + let r = &mut self.revisions[rev]; + r.final_ = true; + r.stable_cp = r.caption.text.chars().count() as u32; + r.unknown = unknown; + } + + fn take(&mut self, index: usize, ev: Event, payload: Payload, digest: [u8; 32]) -> Result<(), Reason> { + let p = ev.principal; + let st = self.principals.entry(p).or_insert_with(|| Principal { whole: true, ..Default::default() }); + let prev_held = st.held.keys().next_back().copied(); + let opens_gap = match prev_held { + Some(h) => ev.seq > h + 1, + None => ev.seq > 0, + }; + if opens_gap { + st.whole = false; + } + // The caption awaiting its annotation is settled by this event unless this is it. + let pending = st.pending.take(); + let is_ann = is_annotation(&payload); + let mut attach = None; + if let Some(rev) = pending { + let rseq = self.revisions[rev].event.seq; + if ev.seq == rseq + 1 && is_ann { + attach = Some(rev); + } else { + self.settle(rev, ev.seq != rseq + 1); + } + } + let st = self.principals.get_mut(&p).expect("entered"); + match &payload { + Payload::Caption(c) => { + if !text_in_subset(&c.text) { + return Err(Reason::TextNotInSubset); + } + let rev = self.revisions.len(); + self.revisions.push(Revision { + index, + event: ev.clone(), + digest, + caption: c.clone(), + annotation: None, + unknown: false, + final_: false, + stable_cp: 0, + anchor: Anchor::BottomCenter, + italic: Vec::new(), + supersedes: None, + supersedes_digest: None, + superseded_by: None, + }); + st.held.insert(ev.seq, Some(rev)); + st.pending = Some(rev); + } + Payload::Meta(b) if is_ann => { + st.held.insert(ev.seq, None); + match attach { + Some(rev) => self.annotate(index, rev, &ev, b)?, + None => { + // Not after a caption awaiting it: misplaced when the event before + // it is held, and otherwise read no further (§4.3). + if ev.seq > 0 && st.held.contains_key(&(ev.seq - 1)) { + return Err(Reason::AnnotationMisplaced); + } + } + } + } + _ => { + st.held.insert(ev.seq, None); + } + } + Ok(()) + } + + fn annotate(&mut self, index: usize, rev: usize, ev: &Event, b: &[u8]) -> Result<(), Reason> { + let a = Annotation::parse(b)?; + let (text, t, lang) = { + let r = &self.revisions[rev]; + (r.caption.text.clone(), r.event.t, r.caption.lang.clone()) + }; + if ev.t != t { + return Err(Reason::AnnotationMisplaced); + } + let n = text.chars().count() as u32; + let italic: Vec<(u32, u32)> = a.italic.iter().map(|&(s, l)| (s as u32, l as u32)).collect(); + if a.stable_cp as u32 > n || (a.final_ && a.stable_cp as u32 != n) || !italic_canonical(&text, &italic) { + return Err(Reason::AnnotationMalformed); + } + let mut supersedes = None; + if a.supersedes != [0u8; 32] { + let p = ev.principal; + let found = self.revisions.iter().position(|r| r.event.principal == p && r.digest == a.supersedes && r.index < index); + match found { + None => { + if self.principals[&p].whole { + return Err(Reason::SupersedeUnknown); + } + } + Some(s) => { + let sr = &self.revisions[s]; + if sr.final_ { + return Err(Reason::SupersedeFinal); + } + if sr.superseded_by.is_some() { + return Err(Reason::SupersedeForked); + } + if sr.caption.lang != lang || sr.anchor != a.anchor { + return Err(Reason::SupersedeMismatch); + } + let keep: String = sr.caption.text.chars().take(sr.stable_cp as usize).collect(); + if !text.starts_with(&keep) { + return Err(Reason::StabilityBroken); + } + supersedes = Some(s); + } + } + } + if let Some(s) = supersedes { + self.revisions[s].superseded_by = Some(rev); + } + let r = &mut self.revisions[rev]; + r.annotation = Some(index); + r.final_ = a.final_; + r.stable_cp = a.stable_cp as u32; + r.anchor = a.anchor; + r.italic = italic; + r.supersedes = supersedes; + r.supersedes_digest = (a.supersedes != [0u8; 32]).then_some(a.supersedes); + Ok(()) + } + + /// End of stream: every caption still awaiting its annotation has none (§4.3). + pub fn finish(&mut self) { + let pend: Vec = self.principals.values_mut().filter_map(|s| s.pending.take()).collect(); + for rev in pend { + self.settle(rev, false); + } + } + + /// What a sink shows at room-clock instant `x` (§4.4): for each revision shown, its + /// principal, text, anchor, origin and italic ranges, in stream order. + pub fn shown_at(&self, x: u64) -> Vec { + let mut out = Vec::new(); + for (i, r) in self.revisions.iter().enumerate() { + if r.event.t > x { + continue; + } + if let Some(by) = r.superseded_by { + if self.revisions[by].event.t <= x { + continue; + } + } + let d = r.caption.duration_ms as u64 * 1000; + let live = if d > 0 { + x < r.event.t.saturating_add(d) + } else { + // Shown until superseded, or until its principal's next caption. + !self.revisions[i + 1..] + .iter() + .any(|n| n.event.principal == r.event.principal && n.event.seq > r.event.seq && n.event.t <= x && Some(i) != n.supersedes) + }; + if live { + out.push(Shown { + principal: r.event.principal, + text: r.caption.text.clone(), + anchor: r.anchor, + origin: r.caption.origin, + italic: r.italic.clone(), + final_: r.final_, + }); + } + } + out + } + + /// The cues a whole, gapless stream resolves to (§4.5), in document order, each with + /// the media time its final revision was published at. `pt0_ms` is the media time + /// of the room's `t0`. + pub fn resolve(&self, pt0_ms: u64) -> Result, (Reason, usize)> { + let mut out: Vec<(usize, Published)> = Vec::new(); + for (i, head) in self.revisions.iter().enumerate() { + if head.supersedes.is_some() || head.supersedes_digest.is_some() { + continue; + } + let mut last = i; + while let Some(n) = self.revisions[last].superseded_by { + last = n; + } + let r = &self.revisions[last]; + if !r.final_ || r.unknown { + return Err((Reason::NotFinal, r.index)); + } + if r.caption.duration_ms == 0 { + return Err((Reason::DurationUnknown, r.index)); + } + let start = pt0_ms + head.event.t / 1000; + let pub_ms = pt0_ms + r.event.t / 1000; + let cue = Cue { + start, + end: pub_ms + r.caption.duration_ms as u64, + lang: r.caption.lang.clone(), + origin: r.caption.origin, + model: r.caption.model, + anchor: r.anchor, + text: r.caption.text.clone(), + italic: r.italic.clone(), + }; + if cue.end > MAX_MS { + return Err((Reason::TimeOutOfRange, r.index)); + } + out.push((head.index, Published { cue, pub_ms })); + } + out.sort_by_key(|(h, p)| (p.cue.start, *h)); + Ok(out.into_iter().map(|(_, p)| p).collect()) + } +} + +/// One revision a sink shows (§4.4). +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct Shown { + pub principal: [u8; 32], + pub text: String, + pub anchor: Anchor, + pub origin: u8, + pub italic: Vec<(u32, u32)>, + pub final_: bool, +} + +/// Verify `records` offered in stream order (§4.3): stop at the first refusal; then the +/// outcome live-events §6.4 gives. +pub fn verify_stream(v: &mut CaptionVerifier, records: &[Vec]) -> Outcome { + for (i, r) in records.iter().enumerate() { + if let Err(reason) = v.offer(r) { + return Outcome::Refuse { index: i, reason }; + } + } + v.finish(); + if !v.events.gaps().is_empty() { + return Outcome::Gap(v.events.gaps().to_vec()); + } + match le::check_tallies(v.events.accepted()) { + Some(index) => Outcome::Refuse { index, reason: le::Reason::TallyMismatch.code() }, + None => Outcome::Accept, + } +} + +/// The join set of a principal's events track at the start of `group` (§4.6): the set +/// live-events §8.2 gives, with each caption's annotation after it, and the latest +/// revision of each cue still showing at that instant without a stated duration. +pub fn join_set(events: &[(Event, Payload)], group: u64) -> Vec { + let start = group.saturating_mul(le::GROUP_US); + let mut seqs: BTreeMap = le::join_set(events, group).into_iter().map(|e| (e.seq, e)).collect(); + let before: Vec<&(Event, Payload)> = events.iter().filter(|(e, _)| e.t < start).collect(); + let by_seq: BTreeMap = before.iter().map(|ep| (ep.0.seq, *ep)).collect(); + // Which caption each annotation supersedes, by digest. + let mut superseded = std::collections::BTreeSet::new(); + for (e, p) in &before { + if let Payload::Meta(b) = p { + if is_annotation(p) { + if let Ok(a) = Annotation::parse(b) { + if e.seq > 0 && matches!(by_seq.get(&(e.seq - 1)), Some((_, Payload::Caption(_)))) { + superseded.insert(a.supersedes); + } + } + } + } + } + let last_caption = before.iter().filter(|(_, p)| matches!(p, Payload::Caption(_))).map(|(e, _)| e.seq).max(); + for (e, p) in &before { + if let Payload::Caption(c) = p { + let ann = by_seq.get(&(e.seq + 1)).and_then(|(_, q)| match q { + Payload::Meta(b) if is_annotation(q) => Annotation::parse(b).ok(), + _ => None, + }); + let partial = ann.as_ref().is_some_and(|a| !a.final_); + let open = partial && c.duration_ms == 0 && !superseded.contains(&e.digest()) && last_caption == Some(e.seq); + if open { + seqs.insert(e.seq, e.clone()); + } + } + } + let captions: Vec = seqs.iter().filter(|(_, e)| e.kind == kind::CAPTION).map(|(s, _)| *s).collect(); + for s in captions { + if let Some((e, p)) = by_seq.get(&(s + 1)) { + if is_annotation(p) { + seqs.insert(e.seq, e.clone()); + } + } + } + seqs.into_values().collect() +} + +/// A cue with the media time it was published at (§7.3). +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct Published { + pub cue: Cue, + pub pub_ms: u64, +} + +// --------------------------------------------------------------------------------------- +// §5 WebVTT +// --------------------------------------------------------------------------------------- + +/// `HH:MM:SS.mmm` (§5.1). +pub fn timestamp(ms: u64) -> String { + format!("{:02}:{:02}:{:02}.{:03}", ms / 3_600_000, ms / 60_000 % 60, ms / 1000 % 60, ms % 1000) +} + +/// The cue settings an anchor is written with (§5.1). +pub fn vtt_settings(a: Anchor) -> String { + let line = if a.top() { "line:10%,start" } else { "line:90%,end" }; + format!("{line} position:50%,center size:80% align:{}", a.align()) +} + +fn escape_vtt(s: &str) -> String { + s.replace('&', "&").replace('<', "<").replace('>', ">") +} + +/// The label span's start tag of a machine or machine-reviewed cue (§10.4). +fn vtt_label(c: &Cue) -> Option { + let class = match c.origin { + origin::MACHINE => VTT_MACHINE, + origin::REVIEWED => VTT_REVIEWED, + _ => return None, + }; + Some(format!("", hex(&c.model.expect("checked")))) +} + +/// A cue's payload (§5.1): its lines, italic runs in `` spans, and the label span. +pub fn vtt_payload(c: &Cue) -> String { + let body: Vec = lines(c) + .iter() + .map(|line| line.iter().map(|(it, s)| if *it { format!("{}", escape_vtt(s)) } else { escape_vtt(s) }).collect()) + .collect(); + let body = body.join("\n"); + match vtt_label(c) { + Some(tag) => format!("{tag}{body}"), + None => body, + } +} + +fn vtt_block(c: &Cue) -> String { + format!("{} --> {} {}\n{}\n", timestamp(c.start), timestamp(c.end), vtt_settings(c.anchor), vtt_payload(c)) +} + +/// A WebVTT document of cues in `lang` (§5.1). +pub fn to_webvtt(lang: &str, cues: &[Cue]) -> Result { + check_document(lang, cues)?; + let blocks: Vec = sorted(cues).iter().map(vtt_block).collect(); + Ok(format!("WEBVTT\n\n{}", blocks.join("\n"))) +} + +/// The WebVTT segments of cues in `lang` (§5.2): segment k spans `bounds[k]` to +/// `bounds[k + 1]`; `mpegts0` is the 90 kHz MPEG-TS time of media time 0. +pub fn to_webvtt_segments(lang: &str, cues: &[Cue], bounds: &[u64], mpegts0: u64) -> Result, Reason> { + check_document(lang, cues)?; + if bounds.len() < 2 || bounds.windows(2).any(|w| w[0] >= w[1]) || *bounds.last().expect("two") > MAX_MS || mpegts0 >= 1 << 33 { + return Err(Reason::ParameterMalformed); + } + let cues = sorted(cues); + Ok(bounds + .windows(2) + .map(|w| { + let (b, e) = (w[0], w[1]); + let pts = (mpegts0 + 90 * b) % (1u64 << 33); + let blocks: Vec = cues.iter().filter(|c| c.start < e && c.end > b).map(vtt_block).collect(); + format!("WEBVTT\nX-TIMESTAMP-MAP=LOCAL:{},MPEGTS:{pts}\n\n{}", timestamp(b), blocks.join("\n")) + }) + .collect()) +} + +fn read_timestamp(s: &str) -> Option { + let b = s.as_bytes(); + if b.len() != 12 || b[2] != b':' || b[5] != b':' || b[8] != b'.' { + return None; + } + let num = |r: std::ops::Range| -> Option { + let t = &s[r]; + t.bytes().all(|c| c.is_ascii_digit()).then(|| t.parse().ok()).flatten() + }; + let (h, m, sec, ms) = (num(0..2)?, num(3..5)?, num(6..8)?, num(9..12)?); + (m < 60 && sec < 60).then_some(((h * 60 + m) * 60 + sec) * 1000 + ms) +} + +fn unescape_vtt(s: &str) -> Option { + let mut out = String::new(); + let mut rest = s; + while let Some(i) = rest.find('&') { + out.push_str(&rest[..i]); + let r = &rest[i..]; + let (ch, n) = if r.starts_with("&") { + ('&', 5) + } else if r.starts_with("<") { + ('<', 4) + } else if r.starts_with(">") { + ('>', 4) + } else { + return None; + }; + out.push(ch); + rest = &r[n..]; + } + if rest.contains('<') || rest.contains('>') { + return None; + } + out.push_str(rest); + Some(out) +} + +/// Read a WebVTT document or segment this extension writes (§5.3), its cues in `lang`; +/// with the `X-TIMESTAMP-MAP` of a segment, as (local ms, MPEG-TS time). +pub fn from_webvtt(doc: &str, lang: &str) -> Result<(Vec, Option<(u64, u64)>), Reason> { + let m = Reason::VttMalformed; + let mut rest = doc.strip_prefix("WEBVTT\n").ok_or(m)?; + let mut map = None; + if let Some(r) = rest.strip_prefix("X-TIMESTAMP-MAP=LOCAL:") { + let (line, after) = r.split_once('\n').ok_or(m)?; + let (local, mpegts) = line.split_once(",MPEGTS:").ok_or(m)?; + let local = read_timestamp(local).ok_or(m)?; + if mpegts.is_empty() || !mpegts.bytes().all(|c| c.is_ascii_digit()) || (mpegts.len() > 1 && mpegts.starts_with('0')) { + return Err(m); + } + let mpegts: u64 = mpegts.parse().map_err(|_| m)?; + if mpegts >= 1 << 33 { + return Err(m); + } + map = Some((local, mpegts)); + rest = after; + } + let mut rest = rest.strip_prefix('\n').ok_or(m)?; + let mut cues = Vec::new(); + while !rest.is_empty() { + if !cues.is_empty() { + rest = rest.strip_prefix('\n').ok_or(m)?; + } + let (timing, after) = rest.split_once('\n').ok_or(m)?; + rest = after; + let (start, r) = timing.split_once(" --> ").ok_or(m)?; + let (end, settings) = r.split_once(' ').ok_or(m)?; + let (start, end) = (read_timestamp(start).ok_or(m)?, read_timestamp(end).ok_or(m)?); + let anchor = Anchor::ALL.into_iter().find(|&a| vtt_settings(a) == settings).ok_or(m)?; + let mut payload_lines = Vec::new(); + loop { + let (line, after) = rest.split_once('\n').ok_or(m)?; + if line.is_empty() { + return Err(m); + } + payload_lines.push(line); + rest = after; + if rest.is_empty() || rest.starts_with('\n') { + break; + } + } + let mut body = payload_lines.join("\n"); + let (orig, model) = if let Some(r) = body.strip_prefix("').ok_or(m)?; + let inner = inner.strip_suffix("").ok_or(m)?; + let classes: Vec<&str> = tag.split('.').collect(); + let o = match classes[0] { + VTT_MACHINE => origin::MACHINE, + VTT_REVIEWED => origin::REVIEWED, + _ => return Err(m), + }; + let model = match classes.get(1) { + None => return Err(Reason::ModelMissing), + Some(c) => unhex32(c.strip_prefix(VTT_MODEL).ok_or(m)?).ok_or(m)?, + }; + if classes.len() > 2 { + return Err(m); + } + body = inner.to_string(); + (o, Some(model)) + } else { + (origin::HUMAN, None) + }; + let mut out_lines = Vec::new(); + for line in body.split('\n') { + let mut runs: Vec<(bool, String)> = Vec::new(); + let mut r = line; + while !r.is_empty() { + if let Some(x) = r.strip_prefix("") { + let (inner, after) = x.split_once("").ok_or(m)?; + if inner.is_empty() || inner.contains('<') { + return Err(m); + } + runs.push((true, unescape_vtt(inner).ok_or(m)?)); + r = after; + } else { + let i = r.find('<').unwrap_or(r.len()); + if i == 0 { + return Err(m); + } + runs.push((false, unescape_vtt(&r[..i]).ok_or(m)?)); + r = &r[i..]; + } + } + if runs.windows(2).any(|w| w[0].0 == w[1].0) { + return Err(m); + } + out_lines.push(runs); + } + let (text, italic) = from_lines(&out_lines); + let cue = Cue { start, end, lang: lang.to_string(), origin: orig, model, anchor, text, italic }; + if let Some(prev) = cues.last() { + let prev: &Cue = prev; + if prev.start > cue.start { + return Err(m); + } + } + check_cue(&cue)?; + cues.push(cue); + } + Ok((cues, map)) +} + +// --------------------------------------------------------------------------------------- +// §6 IMSC1 +// --------------------------------------------------------------------------------------- + +/// The regions of an IMSC document and of the IMSC timeline's initialization record +/// (§6.1): `(id, origin, extent, displayAlign)`. +pub const REGIONS: [(&str, &str, &str, &str); 2] = + [("top", "10% 10%", "80% 35%", "before"), ("bottom", "10% 55%", "80% 35%", "after")]; + +fn region_of(a: Anchor) -> &'static str { + if a.top() { "top" } else { "bottom" } +} + +fn escape_xml(s: &str) -> String { + s.replace('&', "&").replace('<', "<").replace('>', ">") +} + +/// A cue's `

` (§6.1). +pub fn imsc_p(c: &Cue) -> String { + let mut p = format!( + "

'); + let body: Vec = lines(c) + .iter() + .map(|line| { + line.iter() + .map(|(it, s)| if *it { format!("{}", escape_xml(s)) } else { escape_xml(s) }) + .collect() + }) + .collect(); + p.push_str(&body.join("
")); + p.push_str("

"); + p +} + +/// An IMSC1 Text Profile document of cues in `lang` (§6.1), refused when the check of +/// the hypothetical render model (§6.2) does not show it conforms. +pub fn to_imsc(lang: &str, cues: &[Cue]) -> Result { + check_document(lang, cues)?; + let cues = sorted(cues); + hrm_check(&cues)?; + let mut d = String::from("\n"); + d.push_str(&format!( + "\n" + )); + d.push_str("\n\n\n"); + for p in [IMSC1_TEXT, IMSC13_TEXT] { + d.push_str(&format!("{p}\n")); + } + d.push_str("\n\n\n"); + for (id, o, e, a) in REGIONS { + d.push_str(&format!("\n")); + } + d.push_str("\n\n\n
\n"); + for c in &cues { + d.push_str(&imsc_p(c)); + d.push('\n'); + } + d.push_str("
\n\n
\n"); + Ok(d) +} + +/// The check of IMSC-HRM §7–§9 this extension makes (§6.2), over cues in document order: +/// every intermediate synchronic document painted in time, with the least favourable +/// glyph factors the model's tables give, and the glyph cache within its size. +pub fn hrm_check(cues: &[Cue]) -> Result<(), Reason> { + let mut points: Vec = cues.iter().flat_map(|c| [c.start, c.end]).collect(); + points.sort_unstable(); + points.dedup(); + // Units of 1/2700 s: clearing the root (1 / BDraw = 1/12 s), a glyph rendered + // (NRGA / Ren = (1/15)^2 / 0.6 = 1/135 s) and a glyph copied (NRGA / GCpy = 1/675 s). + const CLEAR: u64 = 225; + const RENDER: u64 = 20; + const COPY: u64 = 4; + let mut cache: BTreeMap<(char, bool), bool> = BTreeMap::new(); + let mut prev: Option = None; + for w in points.windows(2) { + let t = w[0]; + let active: Vec<&Cue> = cues.iter().filter(|c| c.start <= t && t < c.end).collect(); + if active.is_empty() { + cache.clear(); + continue; + } + // Painting begins at the previous non-empty document's presentation, or one + // initial painting delay (1 s) before this one's, whichever is later (§7 there). + let avail = match prev { + Some(m) if t - m < 1000 => t - m, + _ => 1000, + }; + let mut units = CLEAR; + for region in ["top", "bottom"] { + for c in active.iter().filter(|c| region_of(c.anchor) == region) { + for line in lines(c) { + for (it, s) in line { + for ch in s.chars() { + match cache.get_mut(&(ch, it)) { + Some(flag) => { + *flag = true; + units += COPY; + } + None => { + cache.insert((ch, it), true); + units += RENDER; + } + } + if cache.values().filter(|f| **f).count() > 225 { + return Err(Reason::HrmExceeded); + } + } + } + } + } + } + if 27 * avail < 10 * units { + return Err(Reason::HrmExceeded); + } + cache.retain(|_, f| *f); + cache.values_mut().for_each(|f| *f = false); + prev = Some(t); + } + Ok(()) +} + +// --------------------------------------------------------------------------------------- +// §7 The MoQ caption timelines +// --------------------------------------------------------------------------------------- + +/// A cue's record on the WebVTT timeline (§7.1). +pub fn webvtt_record(c: &Cue) -> String { + let line = if c.anchor.top() { "10%,start" } else { "90%,end" }; + format!( + "{{\"m\":{s},\"data\":{{\"start\":{s},\"end\":{e},\"text\":{t},\"settings\":{{\"line\":\"{line}\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"{a}\"}}}}}}", + s = c.start, + e = c.end, + t = json_str(&vtt_payload(c)), + a = c.anchor.align() + ) +} + +/// The initialization record of the IMSC1 timeline (§7.2). +pub fn imsc_init_record() -> String { + let styles: Vec = ["center", "left", "right"].iter().map(|a| format!("\"{a}\":{{\"textAlign\":\"{a}\"}}")).collect(); + let mut regions: Vec<(&str, &str, &str, &str)> = REGIONS.to_vec(); + regions.sort_by_key(|r| r.0); + let regions: Vec = regions + .iter() + .map(|(id, o, e, a)| format!("\"{id}\":{{\"origin\":\"{o}\",\"extent\":\"{e}\",\"displayAlign\":\"{a}\"}}")) + .collect(); + format!( + "{{\"m\":0,\"data\":{{\"init\":{{\"profile\":\"{IMSC1_TEXT}\",\"styles\":{{{}}},\"regions\":{{{}}}}}}}}}", + styles.join(","), + regions.join(",") + ) +} + +/// A cue's record on the IMSC1 timeline, cue mode (§7.2). +pub fn imsc_record(c: &Cue) -> String { + let mut content = Vec::new(); + for (k, line) in lines(c).iter().enumerate() { + if k > 0 { + content.push("{\"br\":true}".to_string()); + } + for (it, s) in line { + content.push(if *it { + format!("{{\"text\":{},\"fontStyle\":\"italic\"}}", json_str(s)) + } else { + format!("{{\"text\":{}}}", json_str(s)) + }); + } + } + let mut data = format!( + "\"start\":{},\"end\":{},\"region\":\"{}\",\"style\":\"{}\",\"content\":[{}]", + c.start, + c.end, + region_of(c.anchor), + c.anchor.align(), + content.join(",") + ); + if c.origin != origin::HUMAN { + data.push_str(&format!( + ",\"wai_origin\":\"{}\",\"wai_model\":\"{}\"", + origin::name(c.origin).expect("checked"), + hex(&c.model.expect("checked")) + )); + } + format!("{{\"m\":{},\"data\":{{{data}}}}}", c.start) +} + +/// Which timeline (§7). +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum Timeline { + WebVtt, + Imsc, +} + +/// The objects of groups `g_first` to `g_last` of a caption timeline (§7.3): for each +/// group, its number and its objects, each a JSON array of records. +pub fn timeline( + which: Timeline, + lang: &str, + published: &[Published], + group_ms: u64, + g_first: u64, + g_last: u64, +) -> Result)>, Reason> { + let cues: Vec = published.iter().map(|p| p.cue.clone()).collect(); + check_document(lang, &cues)?; + if group_ms == 0 || g_first > g_last || published.iter().any(|p| p.pub_ms < p.cue.start) { + return Err(Reason::ParameterMalformed); + } + let mut order: Vec<&Published> = published.iter().collect(); + order.sort_by_key(|p| p.pub_ms); + let record = |c: &Cue| match which { + Timeline::WebVtt => webvtt_record(c), + Timeline::Imsc => imsc_record(c), + }; + let mut out = Vec::new(); + for g in g_first..=g_last { + let (gs, ge) = (g * group_ms, (g + 1) * group_ms); + let mut first: Vec = Vec::new(); + if which == Timeline::Imsc { + first.push(imsc_init_record()); + } + first.extend(order.iter().filter(|p| p.pub_ms < gs && p.cue.end > gs).map(|p| record(&p.cue))); + let mut objects = vec![format!("[{}]", first.join(","))]; + objects.extend(order.iter().filter(|p| gs <= p.pub_ms && p.pub_ms < ge).map(|p| format!("[{}]", record(&p.cue)))); + out.push((g, objects)); + } + Ok(out) +} + +/// A caption track's catalog entry (§7.4). +pub fn catalog_entry(which: Timeline, name: &str, lang: &str, depends: &[&str], cues: &[Cue]) -> String { + let deps: Vec = depends.iter().map(|d| json_str(d)).collect(); + let (event_type, mode) = match which { + Timeline::WebVtt => ("urn:msf:captions:webvtt", ""), + Timeline::Imsc => ("urn:msf:captions:imsc1", ",\"imsc1Mode\":\"cue\""), + }; + format!( + "{{\"name\":{},\"packaging\":\"eventtimeline\",\"eventType\":\"{event_type}\",\"mimeType\":\"application/json\",\"depends\":[{}],\"role\":\"caption\",\"lang\":{}{mode},\"{CATALOG_FIELD}\":{}}}", + json_str(name), + deps.join(","), + json_str(lang), + machine_generated(cues) + ) +} + +// --------------------------------------------------------------------------------------- +// §10 The disclosure label +// --------------------------------------------------------------------------------------- + +/// Whether any cue is machine or machine-reviewed (§10.1). +pub fn machine_generated(cues: &[Cue]) -> bool { + cues.iter().any(|c| c.origin != origin::HUMAN) +} + +/// What an `EXT-X-MEDIA` tag describes (§10.2). +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum Rendition<'a> { + /// A `SUBTITLES` rendition: a WebVTT or IMSC1 Media Playlist at `uri`. + Subtitles { uri: &'a str }, + /// 608 channel CC1 in the video's segments. + ClosedCaptions, +} + +fn attr_ok(s: &str) -> bool { + !s.is_empty() && s.bytes().all(|c| c.is_ascii_alphanumeric() || b" ._-/:".contains(&c)) +} + +/// The `EXT-X-MEDIA` tag of a caption rendition (§10.2), with `characteristics` the +/// accessibility characteristics its producer states, and `public.machine-generated` +/// after them when any cue is machine-generated. +pub fn hls_media_tag( + rendition: Rendition, + group_id: &str, + name: &str, + lang: &str, + characteristics: &[&str], + cues: &[Cue], +) -> Result { + check_document(lang, cues)?; + let uri_ok = match rendition { + Rendition::Subtitles { uri } => attr_ok(uri), + Rendition::ClosedCaptions => true, + }; + if !attr_ok(group_id) || !attr_ok(name) || !uri_ok || characteristics.iter().any(|c| !attr_ok(c) || c.contains(',') || *c == HLS_MACHINE) { + return Err(Reason::ParameterMalformed); + } + let mut chars: Vec<&str> = characteristics.to_vec(); + if machine_generated(cues) { + chars.push(HLS_MACHINE); + } + let kind = match rendition { + Rendition::Subtitles { .. } => "SUBTITLES", + Rendition::ClosedCaptions => "CLOSED-CAPTIONS", + }; + let mut t = format!("#EXT-X-MEDIA:TYPE={kind},GROUP-ID=\"{group_id}\",NAME=\"{name}\",LANGUAGE=\"{lang}\""); + if rendition == Rendition::ClosedCaptions { + t.push_str(",INSTREAM-ID=\"CC1\""); + } + if !chars.is_empty() { + t.push_str(&format!(",CHARACTERISTICS=\"{}\"", chars.join(","))); + } + if let Rendition::Subtitles { uri } = rendition { + t.push_str(&format!(",URI=\"{uri}\"")); + } + Ok(t) +} + +/// The `EXT-X-SESSION-DATA` tag that publishes a sidecar at `uri` (§10.5). +pub fn hls_session_data(uri: &str, lang: &str) -> Result { + if !attr_ok(uri) || !le::lang_tag_ok(lang) { + return Err(Reason::ParameterMalformed); + } + Ok(format!("#EXT-X-SESSION-DATA:DATA-ID=\"{SESSION_DATA_ID}\",URI=\"{uri}\",LANGUAGE=\"{lang}\"")) +} + +/// The IPTC digital source type of a set of cues (§10.3). +pub fn digital_source_type(cues: &[Cue]) -> String { + let mut origins: Vec = cues.iter().map(|c| c.origin).collect(); + origins.sort_unstable(); + origins.dedup(); + let term = match origins.as_slice() { + [] | [origin::HUMAN] => "digitalCreation", + [origin::MACHINE] => "trainedAlgorithmicMedia", + [origin::REVIEWED] => "compositeWithTrainedAlgorithmicMedia", + _ => "compositeSynthetic", + }; + format!("{DST_PREFIX}{term}") +} + +/// The C2PA statement of a set of cues (§10.3): its digital source type, and one +/// `c2pa.ai-disclosure` assertion per model, in the order models first appear. +pub fn c2pa_disclosure(cues: &[Cue]) -> String { + let mut models: Vec<([u8; 32], bool)> = Vec::new(); + for c in sorted(cues) { + if let Some(m) = c.model { + match models.iter_mut().find(|(x, _)| *x == m) { + Some((_, auto)) => *auto |= c.origin == origin::MACHINE, + None => models.push((m, c.origin == origin::MACHINE)), + } + } + } + let assertions: Vec = models + .iter() + .enumerate() + .map(|(i, (m, auto))| { + let label = if i == 0 { "c2pa.ai-disclosure".to_string() } else { format!("c2pa.ai-disclosure__{i}") }; + format!( + "{{\"label\":\"{label}\",\"data\":{{\"modelType\":\"c2pa.types.model\",\"modelIdentifier\":\"{MODEL_URI}{}\",\"contentProfile\":{{\"humanOversightLevel\":\"{}\"}}}}}}", + hex(m), + if *auto { "fully_autonomous" } else { "human_validated" } + ) + }) + .collect(); + format!("{{\"digitalSourceType\":\"{}\",\"assertions\":[{}]}}", digital_source_type(cues), assertions.join(",")) +} + +/// The sidecar of a set of cues in `lang` (§10.5): every cue's interval and label, in +/// document order. +pub fn sidecar(lang: &str, cues: &[Cue]) -> Result { + check_document(lang, cues)?; + let rows: Vec = sorted(cues) + .iter() + .map(|c| { + let model = c.model.map(|m| format!(",\"model\":\"{}\"", hex(&m))).unwrap_or_default(); + format!("{{\"start\":{},\"end\":{},\"origin\":\"{}\"{model}}}", c.start, c.end, origin::name(c.origin).expect("checked")) + }) + .collect(); + Ok(format!("{{\"wai_timed_text\":1,\"lang\":{},\"cues\":[{}]}}", json_str(lang), rows.join(","))) +} + +#[cfg(test)] +mod tests { + use super::*; + + fn cue(start: u64, end: u64, text: &str) -> Cue { + Cue { + start, + end, + lang: "en".into(), + origin: origin::HUMAN, + model: None, + anchor: Anchor::BottomCenter, + text: text.into(), + italic: vec![], + } + } + + #[test] + fn the_subset_refuses_what_a_target_would_change() { + for bad in ["", "a\n\nb", " a", "a ", "a b", "a\tb", "a\u{2028}b", "\n", "a\u{7f}", "a\u{85}b", "a\u{feff}"] { + assert!(!text_in_subset(bad), "{bad:?}"); + } + for good in ["a", "a b\nc", "\u{a0}x", "5 > 3 & 2 < 4 -->"] { + assert!(text_in_subset(good), "{good:?}"); + } + } + + #[test] + fn italic_ranges_have_one_spelling() { + let t = "big world\nnext"; + assert!(italic_canonical(t, &[(0, 9)])); + assert!(italic_canonical(t, &[(0, 3), (10, 4)])); + assert!(!italic_canonical(t, &[(0, 3), (4, 5)]), "two ranges a single space apart are one range"); + assert!(!italic_canonical(t, &[(0, 4)]), "a range does not end at a space"); + assert!(!italic_canonical(t, &[(0, 11)]), "a range does not hold a line break"); + assert!(!italic_canonical(t, &[(4, 2), (0, 3)]), "ranges ascend"); + assert!(!italic_canonical(t, &[(0, 0)])); + } + + #[test] + fn a_cue_is_checked_in_order() { + let mut c = cue(0, 10, "x"); + assert_eq!(check_cue(&c), Ok(())); + c.origin = origin::MACHINE; + assert_eq!(check_cue(&c), Err(Reason::ModelMissing)); + c.model = Some([1; 32]); + assert_eq!(check_cue(&c), Ok(())); + c.end = MAX_MS + 1; + assert_eq!(check_cue(&c), Err(Reason::TimeOutOfRange)); + } + + #[test] + fn webvtt_round_trips() { + let mut a = cue(1000, 3500, "Hello big world\n5 > 3 & "); + a.italic = vec![(6, 9)]; + let mut b = cue(4000, 6000, "Top right"); + b.anchor = Anchor::TopRight; + b.origin = origin::REVIEWED; + b.model = Some([0xab; 32]); + let doc = to_webvtt("en", &[b.clone(), a.clone()]).unwrap(); + assert!(doc.starts_with("WEBVTT\n\n00:00:01.000 --> 00:00:03.500 line:90%,end position:50%,center size:80% align:center\n")); + assert!(doc.contains("Hello big world\n5 > 3 & <b>\n")); + let (back, map) = from_webvtt(&doc, "en").unwrap(); + assert_eq!(back, vec![a.clone(), b.clone()]); + assert_eq!(map, None); + let segs = to_webvtt_segments("en", &[a.clone(), b.clone()], &[0, 2000, 4000, 6000], 900_000).unwrap(); + assert_eq!(segs.len(), 3); + assert!(segs[1].starts_with("WEBVTT\nX-TIMESTAMP-MAP=LOCAL:00:00:02.000,MPEGTS:1080000\n\n00:00:01.000")); + assert_eq!(from_webvtt(&segs[2], "en").unwrap(), (vec![b], Some((4000, 1_260_000)))); + assert_eq!(from_webvtt("WEBVTT\n\n00:00:01.000 --> 00:00:02.000 align:center\nx\n", "en"), Err(Reason::VttMalformed)); + } + + #[test] + fn imsc_holds_the_label_and_the_hrm_bound_refuses_a_flood() { + let mut c = cue(0, 2000, "a "); + c.origin = origin::MACHINE; + c.model = Some([2; 32]); + let d = to_imsc("en", &[c]).unwrap(); + assert!(d.contains("

a <b>

")); + let alphabet: Vec = ('A'..='Z').chain('a'..='z').chain('0'..='9').collect(); + let flood: Vec = (0..20) + .map(|i| { + let text: String = alphabet.iter().cycle().skip(i * 7).take(40).collect(); + cue(i as u64 * 100, i as u64 * 100 + 100, &text) + }) + .collect(); + assert_eq!(hrm_check(&flood), Err(Reason::HrmExceeded)); + } + + #[test] + fn the_disclosure_follows_the_origins() { + let h = cue(0, 1, "a"); + let mut m = cue(1, 2, "b"); + m.origin = origin::MACHINE; + m.model = Some([3; 32]); + let mut r = m.clone(); + r.origin = origin::REVIEWED; + r.start = 2; + r.end = 3; + assert!(digital_source_type(&[h.clone()]).ends_with("/digitalCreation")); + assert!(digital_source_type(&[m.clone()]).ends_with("/trainedAlgorithmicMedia")); + assert!(digital_source_type(&[r.clone()]).ends_with("/compositeWithTrainedAlgorithmicMedia")); + assert!(digital_source_type(&[h.clone(), m.clone()]).ends_with("/compositeSynthetic")); + assert!(c2pa_disclosure(&[m.clone(), r.clone()]).contains("\"humanOversightLevel\":\"fully_autonomous\"")); + assert!(c2pa_disclosure(&[r.clone()]).contains("\"humanOversightLevel\":\"human_validated\"")); + let tag = hls_media_tag(Rendition::ClosedCaptions, "cc", "English", "en", &["public.accessibility.transcribes-spoken-dialog"], &[h, m]).unwrap(); + assert_eq!( + tag, + "#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID=\"cc\",NAME=\"English\",LANGUAGE=\"en\",INSTREAM-ID=\"CC1\",CHARACTERISTICS=\"public.accessibility.transcribes-spoken-dialog,public.machine-generated\"" + ); + } + + #[test] + fn an_annotation_reads_back() { + let a = Annotation { supersedes: [9; 32], final_: false, stable_cp: 3, anchor: Anchor::TopLeft, italic: vec![(1, 2)] }; + let b = a.to_bytes(); + assert_eq!(b.len(), ANNOTATION_HEAD + 4); + assert_eq!(Annotation::parse(&b), Ok(a)); + let mut bad = b.clone(); + bad[40] = 6; + assert_eq!(Annotation::parse(&bad), Err(Reason::AnnotationMalformed)); + assert_eq!(Annotation::parse(&b[..b.len() - 1]), Err(Reason::AnnotationMalformed)); + } + + #[test] + fn timelines_repeat_the_cues_still_showing() { + let p = |s: u64, e: u64, t: &str| Published { cue: cue(s, e, t), pub_ms: s }; + let pubs = [p(500, 3500, "one"), p(2500, 2900, "two"), p(4100, 5000, "three")]; + let tl = timeline(Timeline::WebVtt, "en", &pubs, 2000, 0, 2).unwrap(); + assert_eq!(tl[0].1.len(), 2); + assert_eq!(tl[1].1[0].matches("\"m\":").count(), 1, "group 1 starts with the cue still showing"); + assert_eq!(tl[2].1[0], "[]"); + let im = timeline(Timeline::Imsc, "en", &pubs, 2000, 1, 1).unwrap(); + assert!(im[0].1[0].starts_with("[{\"m\":0,\"data\":{\"init\":")); + } +} diff --git a/wai/wai-rs/src/timed_text/cc608.rs b/wai/wai-rs/src/timed_text/cc608.rs new file mode 100644 index 000000000..1ba87b1b9 --- /dev/null +++ b/wai/wai-rs/src/timed_text/cc608.rs @@ -0,0 +1,793 @@ +//! CTA-608 on field 1, data channel 1 (CC1): pop-on and roll-up (extensions/timed-text.md §8). +//! +//! The encoder turns cues into byte pairs on the field-1 slot clock: one pair per slot, +//! odd parity on every byte, every two-byte code sent twice in consecutive slots, and a +//! standard character before each extended one, which the extended code backspaces over. +//! The decoder reads those pairs back, for round trips: it emulates the two caption +//! memories, the cursor and the attributes, and reports what is displayed. + +use super::{check_document, lines, sorted, Cue, Reason}; +use std::collections::BTreeMap; + +/// How captions are presented (§8.6, §8.7). +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum Mode { + PopOn, + /// Roll-up with a window of 2, 3 or 4 rows. + RollUp(u8), +} + +impl Mode { + pub fn name(self) -> String { + match self { + Mode::PopOn => "pop-on".into(), + Mode::RollUp(d) => format!("roll-up-{d}"), + } + } + + pub fn from_name(s: &str) -> Option { + match s { + "pop-on" => Some(Mode::PopOn), + "roll-up-2" => Some(Mode::RollUp(2)), + "roll-up-3" => Some(Mode::RollUp(3)), + "roll-up-4" => Some(Mode::RollUp(4)), + _ => None, + } + } + + /// The most rows one cue may have. + fn max_rows(self) -> usize { + match self { + Mode::PopOn => 4, + Mode::RollUp(d) => d as usize, + } + } +} + +/// The rate of the field-1 slot clock, `num / den` slots a second (§8.2). +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub struct Rate { + pub num: u64, + pub den: u64, +} + +/// The slot clock of line 21 and of 608 data carried with video at 30000/1001 frames +/// a second. +pub const NTSC: Rate = Rate { num: 30000, den: 1001 }; + +impl Rate { + /// The first slot at or after media time `ms` (§8.2). + pub fn slot(self, ms: u64) -> u64 { + let n = ms as u128 * self.num as u128; + let d = 1000u128 * self.den as u128; + n.div_ceil(d) as u64 + } + + fn ok(self) -> bool { + self.num > 0 && self.den > 0 && self.num <= 1_000_000 && self.den <= 1_000_000 + } +} + +/// The characters of 0x11 0x30 to 0x11 0x3F (§8.4): 0x39 is the transparent space, +/// written U+00A0. +pub const SPECIAL: [char; 16] = + ['®', '°', '½', '¿', '™', '¢', '£', '♪', 'à', '\u{a0}', 'è', 'â', 'ê', 'î', 'ô', 'û']; + +/// The characters of 0x12 0x20 to 0x12 0x3F (§8.4); 0x12 0x29 is not assigned here. +pub const EXT12: [Option; 32] = [ + Some('Á'), Some('É'), Some('Ó'), Some('Ú'), Some('Ü'), Some('ü'), Some('‘'), Some('¡'), + Some('*'), None, Some('—'), Some('©'), Some('℠'), Some('•'), Some('“'), Some('”'), + Some('À'), Some('Â'), Some('Ç'), Some('È'), Some('Ê'), Some('Ë'), Some('ë'), Some('Î'), + Some('Ï'), Some('ï'), Some('Ô'), Some('Ù'), Some('ù'), Some('Û'), Some('«'), Some('»'), +]; + +/// The characters of 0x13 0x20 to 0x13 0x3F (§8.4). +pub const EXT13: [Option; 32] = [ + Some('Ã'), Some('ã'), Some('Í'), Some('Ì'), Some('ì'), Some('Ò'), Some('ò'), Some('Õ'), + Some('õ'), Some('{'), Some('}'), Some('\\'), Some('^'), Some('_'), Some('|'), Some('~'), + Some('Ä'), Some('ä'), Some('Ö'), Some('ö'), Some('ß'), Some('¥'), Some('¤'), Some('¦'), + Some('Å'), Some('å'), Some('Ø'), Some('ø'), Some('┌'), Some('┐'), Some('└'), Some('┘'), +]; + +/// The characters this mapping writes as another (§8.4). +pub const SUBSTITUTIONS: [(char, char); 4] = [('\u{2019}', '\''), ('\u{2013}', '-'), ('\u{2010}', '-'), ('\u{2011}', '-')]; + +/// The standard character of the basic set at `b` (§8.4). +pub fn basic_char(b: u8) -> Option { + Some(match b { + 0x2A => 'á', + 0x5C => 'é', + 0x5E => 'í', + 0x5F => 'ó', + 0x60 => 'ú', + 0x7B => 'ç', + 0x7C => '÷', + 0x7D => 'Ñ', + 0x7E => 'ñ', + 0x20..=0x7A => b as char, + _ => return None, + }) +} + +/// The byte of `c` in the basic set (§8.4). +pub fn basic_byte(c: char) -> Option { + (0x20u8..=0x7E).find(|&b| basic_char(b) == Some(c)) +} + +/// The standard character sent before an extended one (§8.4). +pub fn fallback(c: char) -> u8 { + match c { + 'Á' | 'À' | 'Â' | 'Ã' | 'Ä' | 'Å' => b'A', + 'É' | 'È' | 'Ê' | 'Ë' => b'E', + 'Í' | 'Ì' | 'Î' | 'Ï' => b'I', + 'Ó' | 'Ò' | 'Ô' | 'Õ' | 'Ö' | 'Ø' => b'O', + 'Ú' | 'Ù' | 'Û' | 'Ü' => b'U', + 'Ç' => b'C', + 'ã' | 'ä' | 'å' => b'a', + 'ë' => b'e', + 'ì' | 'ï' => b'i', + 'ò' | 'õ' | 'ö' | 'ø' => b'o', + 'ù' | 'ü' => b'u', + 'ß' => b's', + '“' | '”' | '«' | '»' => b'"', + '‘' => b'\'', + '¡' => b'!', + _ => b' ', + } +} + +/// How one character is sent (§8.4). +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +enum Char { + Basic(u8), + Special(u8), + Extended(u8, u8, u8), +} + +/// The character `c` is written as, after substitution, and how it is sent. +fn map_char(c: char) -> Option<(char, Char)> { + let c = SUBSTITUTIONS.iter().find(|(f, _)| *f == c).map_or(c, |(_, t)| *t); + if let Some(b) = basic_byte(c) { + return Some((c, Char::Basic(b))); + } + if let Some(i) = SPECIAL.iter().position(|&s| s == c) { + return Some((c, Char::Special(0x30 + i as u8))); + } + for (first, table) in [(0x12u8, &EXT12), (0x13, &EXT13)] { + if let Some(i) = table.iter().position(|&s| s == Some(c)) { + return Some((c, Char::Extended(first, 0x20 + i as u8, fallback(c)))); + } + } + None +} + +/// The text `c` is decoded as when the encoder writes `c` (§8.4). +pub fn written_as(c: char) -> Option { + map_char(c).map(|(w, _)| w) +} + +/// The first byte of a preamble address code for rows 1 to 15 (§8.5). +const ROW_FIRST: [u8; 15] = [0x11, 0x11, 0x12, 0x12, 0x15, 0x15, 0x16, 0x16, 0x17, 0x17, 0x10, 0x13, 0x13, 0x14, 0x14]; + +fn row_base(row: u8) -> u8 { + if matches!(row, 2 | 4 | 6 | 8 | 10 | 13 | 15) { 0x60 } else { 0x40 } +} + +/// The preamble address code of `row` at indent `4 * k`, white. +pub fn pac_indent(row: u8, k: u8) -> [u8; 2] { + [ROW_FIRST[row as usize - 1], row_base(row) + 0x10 + 2 * k] +} + +/// The preamble address code of `row`, white italics, at column 0. +pub fn pac_italic(row: u8) -> [u8; 2] { + [ROW_FIRST[row as usize - 1], row_base(row) + 0x0E] +} + +pub const RCL: [u8; 2] = [0x14, 0x20]; +pub const EDM: [u8; 2] = [0x14, 0x2C]; +pub const CR: [u8; 2] = [0x14, 0x2D]; +pub const ENM: [u8; 2] = [0x14, 0x2E]; +pub const EOC: [u8; 2] = [0x14, 0x2F]; +pub const MRC_WHITE: [u8; 2] = [0x11, 0x20]; +pub const MRC_ITALIC: [u8; 2] = [0x11, 0x2E]; + +pub fn ru(d: u8) -> [u8; 2] { + [0x14, 0x23 + d] +} + +pub fn to(k: u8) -> [u8; 2] { + [0x17, 0x20 + k] +} + +/// A byte with odd parity in bit 7 (§8.3). +pub fn parity(b: u8) -> u8 { + let b = b & 0x7F; + if b.count_ones() % 2 == 0 { b | 0x80 } else { b } +} + +/// One row a cue occupies (§8.5), and one row a decoder displays. +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct Row { + /// 1 to 15. + pub row: u8, + /// The column of its first character, 0 to 31. + pub col: u8, + /// The text, after substitution. + pub text: String, + /// Italic ranges over `text`, in code points. + pub italic: Vec<(u32, u32)>, +} + +/// The rows of a cue in a mode (§8.5), checked in order: rows, characters, width, style. +pub fn layout(mode: Mode, c: &Cue) -> Result, Reason> { + let ls = lines(c); + if ls.len() > mode.max_rows() { + return Err(Reason::TooManyRows); + } + let mut rows = Vec::new(); + let n = ls.len() as u8; + for (k, line) in ls.iter().enumerate() { + let mut text = String::new(); + let mut flags = Vec::new(); + for (it, s) in line { + for ch in s.chars() { + text.push(written_as(ch).ok_or(Reason::CharNotIn608)?); + flags.push(*it); + } + } + rows.push((k as u8, text, flags)); + } + let mut out = Vec::new(); + for (k, text, flags) in rows { + let width = flags.len(); + if width > 32 { + return Err(Reason::RowTooLong); + } + let cps: Vec = text.chars().collect(); + let mut italic: Vec<(u32, u32)> = Vec::new(); + for (i, &f) in flags.iter().enumerate() { + if !f { + continue; + } + match italic.last_mut() { + Some((s, l)) if *s + *l == i as u32 => *l += 1, + _ => italic.push((i as u32, 1)), + } + } + for &(s, l) in &italic { + let (s, e) = (s as usize, (s + l) as usize); + if (s > 0 && cps[s - 1] != ' ') || (e < width && cps[e] != ' ') { + return Err(Reason::StyleNotExpressible); + } + } + let row = match (mode, c.anchor.top()) { + (Mode::PopOn, true) => 1 + k, + (Mode::PopOn, false) => 16 - n + k, + (Mode::RollUp(d), true) => d, + (Mode::RollUp(_), false) => 15, + }; + let col = match c.anchor.align() { + "left" => 0, + "right" => 32 - width, + _ => (32 - width) / 2, + } as u8; + out.push(Row { row, col, text, italic }); + } + Ok(out) +} + +/// What the encoder sends: a byte of the basic set, or a two-byte code. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +enum Code { + Byte(u8), + Two([u8; 2]), +} + +fn position(out: &mut Vec, row: u8, col: u8) { + out.push(Code::Two(pac_indent(row, col / 4))); + if col % 4 != 0 { + out.push(Code::Two(to(col % 4))); + } +} + +/// The codes that write one row (§8.5). +fn row_codes(r: &Row) -> Vec { + let cps: Vec = r.text.chars().collect(); + let mut flags = vec![false; cps.len()]; + for &(s, l) in &r.italic { + for f in flags.iter_mut().skip(s as usize).take(l as usize) { + *f = true; + } + } + let mut out = Vec::new(); + match (flags.first() == Some(&true), r.col) { + (true, 0) => out.push(Code::Two(pac_italic(r.row))), + (true, c) => { + position(&mut out, r.row, c - 1); + out.push(Code::Two(MRC_ITALIC)); + } + (false, c) => position(&mut out, r.row, c), + } + for (i, &ch) in cps.iter().enumerate() { + if ch == ' ' && !flags[i] && flags.get(i + 1) == Some(&true) { + out.push(Code::Two(MRC_ITALIC)); + } else if ch == ' ' && !flags[i] && i > 0 && flags[i - 1] { + out.push(Code::Two(MRC_WHITE)); + } else { + match map_char(ch).expect("laid out").1 { + Char::Basic(b) => out.push(Code::Byte(b)), + Char::Special(b) => out.push(Code::Two([0x11, b])), + Char::Extended(f, b, fb) => { + out.push(Code::Byte(fb)); + out.push(Code::Two([f, b])); + } + } + } + } + out +} + +/// A unit of the schedule: one pair, or a two-byte code sent in two consecutive slots. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +enum Unit { + Pair([u8; 2]), + Doubled([u8; 2]), +} + +impl Unit { + fn slots(self) -> u64 { + match self { + Unit::Pair(_) => 1, + Unit::Doubled(_) => 2, + } + } +} + +/// Pack codes into units (§8.3): standard bytes two to a pair in order, a lone one +/// before a two-byte code or at the end padded with 0x00. +fn pack(codes: &[Code]) -> Vec { + let mut out = Vec::new(); + let mut pending: Option = None; + for &c in codes { + match c { + Code::Byte(b) => match pending.take() { + Some(p) => out.push(Unit::Pair([p, b])), + None => pending = Some(b), + }, + Code::Two(x) => { + if let Some(p) = pending.take() { + out.push(Unit::Pair([p, 0])); + } + out.push(Unit::Doubled(x)); + } + } + } + if let Some(p) = pending { + out.push(Unit::Pair([p, 0])); + } + out +} + +fn put(slots: &mut BTreeMap, at: u64, u: Unit) { + let x = match u { + Unit::Pair(x) | Unit::Doubled(x) => [parity(x[0]), parity(x[1])], + }; + for k in 0..u.slots() { + slots.insert(at + k, x); + } +} + +/// Encode cues in `lang` for `mode` on the slot clock `rate` (§8): the slots that carry +/// a pair, with the pair, parity applied; every other slot carries 0x80 0x80. +pub fn encode(mode: Mode, rate: Rate, lang: &str, cues: &[Cue]) -> Result, Reason> { + check_document(lang, cues)?; + if !rate.ok() || !matches!(mode, Mode::PopOn | Mode::RollUp(2..=4)) { + return Err(Reason::ParameterMalformed); + } + let cues = sorted(cues); + let mut laid = Vec::new(); + for c in &cues { + laid.push(layout(mode, c)?); + } + if cues.windows(2).any(|w| w[1].start < w[0].end) { + return Err(Reason::CuesOverlap); + } + if matches!(mode, Mode::RollUp(_)) && cues.windows(2).any(|w| w[0].anchor.top() != w[1].anchor.top()) { + return Err(Reason::StyleNotExpressible); + } + let s: Vec = cues.iter().map(|c| rate.slot(c.start)).collect(); + let e: Vec = cues.iter().map(|c| rate.slot(c.end)).collect(); + let n = cues.len(); + let edm: Vec = (0..n).map(|i| i + 1 == n || s[i + 1] >= e[i] + 2).collect(); + let mut slots: BTreeMap = BTreeMap::new(); + match mode { + Mode::PopOn => { + for i in 0..n { + if e[i] < s[i] + 2 { + return Err(Reason::TooDense); + } + put(&mut slots, s[i], Unit::Doubled(EOC)); + if edm[i] { + put(&mut slots, e[i], Unit::Doubled(EDM)); + } + } + for i in 0..n { + let mut codes = vec![Code::Two(RCL), Code::Two(ENM)]; + for r in &laid[i] { + codes.extend(row_codes(r)); + } + let lb = if i == 0 { 0 } else { s[i - 1] + 2 }; + let mut cursor = s[i]; + for u in pack(&codes).into_iter().rev() { + let need = u.slots(); + let mut q = cursor.checked_sub(need).ok_or(Reason::TooDense)?; + loop { + if q < lb { + return Err(Reason::TooDense); + } + if (q..q + need).all(|k| !slots.contains_key(&k)) { + break; + } + q = q.checked_sub(1).ok_or(Reason::TooDense)?; + } + put(&mut slots, q, u); + cursor = q; + } + } + } + Mode::RollUp(d) => { + let mut prev_end = 0u64; + let mut base_has_text = false; + for i in 0..n { + if s[i] < prev_end { + return Err(Reason::TooDense); + } + let mut codes = Vec::new(); + if i == 0 { + codes.push(Code::Two(ru(d))); + } + for r in &laid[i] { + if base_has_text { + codes.push(Code::Two(CR)); + } + codes.extend(row_codes(r)); + base_has_text = true; + } + let mut at = s[i]; + for u in pack(&codes) { + put(&mut slots, at, u); + at += u.slots(); + } + let limit = if edm[i] { e[i] } else { s[i + 1] }; + if at > limit { + return Err(Reason::TooDense); + } + if edm[i] { + put(&mut slots, e[i], Unit::Doubled(EDM)); + base_has_text = false; + prev_end = e[i] + 2; + } else { + prev_end = at; + } + } + } + } + Ok(slots.into_iter().collect()) +} + +/// The hexadecimal form of encoded pairs (§8.3): one line per slot that carries a pair, +/// its slot in decimal, a space, and the pair as four lowercase hexadecimal digits. +pub fn to_hex(pairs: &[(u64, [u8; 2])]) -> String { + pairs.iter().map(|(s, p)| format!("{s} {:02x}{:02x}\n", p[0], p[1])).collect() +} + +/// Read the hexadecimal form (§8.3), slots strictly ascending. +pub fn from_hex(s: &str) -> Result, Reason> { + let m = Reason::CcMalformed; + let body = s.strip_suffix('\n').ok_or(m)?; + let mut out: Vec<(u64, [u8; 2])> = Vec::new(); + for line in body.split('\n') { + let (slot, pair) = line.split_once(' ').ok_or(m)?; + if slot.is_empty() || !slot.bytes().all(|c| c.is_ascii_digit()) || (slot.len() > 1 && slot.starts_with('0')) { + return Err(m); + } + if pair.len() != 4 || !pair.bytes().all(|c| c.is_ascii_digit() || (b'a'..=b'f').contains(&c)) { + return Err(m); + } + let slot: u64 = slot.parse().map_err(|_| m)?; + let b = [u8::from_str_radix(&pair[..2], 16).map_err(|_| m)?, u8::from_str_radix(&pair[2..], 16).map_err(|_| m)?]; + if out.last().is_some_and(|(p, _)| *p >= slot) { + return Err(m); + } + out.push((slot, b)); + } + Ok(out) +} + +/// What a decoder reports (§8.8). +#[derive(Clone, Debug, PartialEq, Eq)] +pub enum Event { + /// An End of Caption: what is displayed from `slot`. + Show { slot: u64, rows: Vec }, + /// A roll-up line, from the slot of its preamble address code, committed by a + /// carriage return, an erase or the end of the stream. + Line { slot: u64, row: Row }, + /// An Erase Displayed Memory. + Erase { slot: u64 }, +} + +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +struct Cell { + ch: char, + italic: bool, + mrc: bool, +} + +type Memory = [[Option; 32]; 15]; + +fn read_row(row: u8, cells: &[Option; 32]) -> Option { + let real = |k: usize| cells[k].is_some_and(|c| !c.mrc); + let i = (0..32).find(|&k| real(k))?; + let j = (0..32).rev().find(|&k| real(k))?; + let mut text = String::new(); + let mut flags = Vec::new(); + let mut space = Vec::new(); + for c in &cells[i..=j] { + let ch = match c { + Some(c) if !c.mrc => c.ch, + _ => ' ', + }; + text.push(ch); + flags.push(c.is_some_and(|c| !c.mrc && c.italic && c.ch != ' ')); + space.push(ch == ' '); + } + let len = flags.len(); + let inside = |k: usize| flags[k] || (space[k] && k > 0 && k + 1 < len && flags[k - 1] && flags[k + 1]); + let mut italic: Vec<(u32, u32)> = Vec::new(); + for k in 0..len { + if inside(k) { + match italic.last_mut() { + Some((s, l)) if *s + *l == k as u32 => *l += 1, + _ => italic.push((k as u32, 1)), + } + } + } + Some(Row { row, col: i as u8, text, italic }) +} + +fn snapshot(mem: &Memory) -> Vec { + (1..=15u8).filter_map(|r| read_row(r, &mem[r as usize - 1])).collect() +} + +/// Decode pairs (§8.8): the events a decoder of channel CC1 reports, for round trips of +/// what [`encode`] writes. A pair this encoder does not write is `cc_malformed`. +pub fn decode(pairs: &[(u64, [u8; 2])]) -> Result, Reason> { + let m = Reason::CcMalformed; + #[derive(PartialEq)] + enum St { + Unset, + Pop, + Roll(u8), + } + let mut disp: Memory = [[None; 32]; 15]; + let mut nond: Memory = [[None; 32]; 15]; + let mut st = St::Unset; + let (mut row, mut col, mut italic, mut base) = (15u8, 0usize, false, 15u8); + let mut line_slot: Option = None; + let mut last: Option<([u8; 2], u64)> = None; + let mut prev: Option = None; + let mut out = Vec::new(); + let commit = |disp: &Memory, base: u8, line_slot: &mut Option, out: &mut Vec| { + if let (Some(r), Some(s)) = (read_row(base, &disp[base as usize - 1]), line_slot.take()) { + out.push(Event::Line { slot: s, row: r }); + } + }; + for &(slot, pair) in pairs { + if prev.is_some_and(|p| slot <= p) { + return Err(m); + } + prev = Some(slot); + if pair.iter().any(|b| b.count_ones() % 2 == 0) { + return Err(m); + } + let (b1, b2) = (pair[0] & 0x7F, pair[1] & 0x7F); + let write = |ch: char, mrc: bool, italic: bool, col: &mut usize, disp: &mut Memory, nond: &mut Memory| -> Result<(), Reason> { + let (mem, r) = match st { + St::Unset => return Err(m), + St::Pop => (nond, row), + St::Roll(_) => (disp, base), + }; + mem[r as usize - 1][*col] = Some(Cell { ch, italic, mrc }); + if *col < 31 { + *col += 1; + } + Ok(()) + }; + if (0x10..=0x1F).contains(&b1) { + if last.is_some_and(|(p, s)| p == [b1, b2] && s + 1 == slot) { + last = None; + continue; + } + last = Some(([b1, b2], slot)); + match (b1, b2) { + (_, 0x40..=0x7F) => { + let r = (1..=15u8).find(|&r| ROW_FIRST[r as usize - 1] == b1 && row_base(r) == b2 & 0x60).ok_or(m)?; + let attr = b2 & 0x1F; + let (c, it) = match attr { + 0x00 => (0, false), + 0x0E => (0, true), + 0x10..=0x1E if attr % 2 == 0 => ((attr as usize - 0x10) * 2, false), + _ => return Err(m), + }; + row = r; + col = c; + italic = it; + if let St::Roll(_) = st { + base = r; + if line_slot.is_none() { + line_slot = Some(slot); + } + } + } + (0x14, 0x20) => st = St::Pop, + (0x14, 0x25..=0x27) => { + if st == St::Pop { + disp = [[None; 32]; 15]; + nond = [[None; 32]; 15]; + } + st = St::Roll(b2 - 0x23); + base = 15; + col = 0; + } + (0x14, 0x2C) => { + if let St::Roll(_) = st { + commit(&disp, base, &mut line_slot, &mut out); + } + line_slot = None; + disp = [[None; 32]; 15]; + out.push(Event::Erase { slot }); + } + (0x14, 0x2D) => { + let St::Roll(d) = st else { return Err(m) }; + commit(&disp, base, &mut line_slot, &mut out); + let top = base as usize - d as usize; + for r in top..base as usize - 1 { + disp[r] = disp[r + 1]; + } + disp[base as usize - 1] = [None; 32]; + col = 0; + } + (0x14, 0x2E) => nond = [[None; 32]; 15], + (0x14, 0x2F) => { + std::mem::swap(&mut disp, &mut nond); + st = St::Pop; + out.push(Event::Show { slot, rows: snapshot(&disp) }); + } + (0x17, 0x21..=0x23) => col = (col + (b2 - 0x20) as usize).min(31), + (0x11, 0x20) | (0x11, 0x2E) => { + italic = b2 == 0x2E; + write(' ', true, italic, &mut col, &mut disp, &mut nond)?; + } + (0x11, 0x30..=0x3F) => write(SPECIAL[(b2 - 0x30) as usize], false, italic, &mut col, &mut disp, &mut nond)?, + (0x12 | 0x13, 0x20..=0x3F) => { + let table = if b1 == 0x12 { &EXT12 } else { &EXT13 }; + let ch = table[(b2 - 0x20) as usize].ok_or(m)?; + col = col.saturating_sub(1); + write(ch, false, italic, &mut col, &mut disp, &mut nond)?; + } + _ => return Err(m), + } + } else { + last = None; + for b in [b1, b2] { + if b == 0 { + continue; + } + let ch = basic_char(b).ok_or(m)?; + write(ch, false, italic, &mut col, &mut disp, &mut nond)?; + } + } + } + if let St::Roll(_) = st { + commit(&disp, base, &mut line_slot, &mut out); + } + Ok(out) +} + +#[cfg(test)] +mod tests { + use super::super::{origin, Anchor}; + use super::*; + + fn cue(start: u64, end: u64, text: &str, anchor: Anchor, italic: Vec<(u32, u32)>) -> Cue { + Cue { start, end, lang: "en".into(), origin: origin::HUMAN, model: None, anchor, text: text.into(), italic } + } + + #[test] + fn parity_and_the_well_known_codes() { + let hex = |x: [u8; 2]| format!("{:02x}{:02x}", parity(x[0]), parity(x[1])); + assert_eq!(hex(RCL), "9420"); + assert_eq!(hex(EOC), "942f"); + assert_eq!(hex(EDM), "942c"); + assert_eq!(hex(ENM), "94ae"); + assert_eq!(hex(CR), "94ad"); + assert_eq!(hex(ru(2)), "9425"); + assert_eq!(hex(pac_indent(15, 0)), "9470"); + assert_eq!(hex(pac_indent(1, 0)), "9140"); + } + + #[test] + fn the_character_tables_are_one_to_one() { + let mut seen = std::collections::BTreeSet::new(); + for b in 0x20..=0x7E { + if let Some(c) = basic_char(b) { + assert!(seen.insert(c), "{c:?}"); + } + } + for c in SPECIAL.iter().chain(EXT12.iter().flatten()).chain(EXT13.iter().flatten()) { + assert!(seen.insert(*c), "{c:?} twice"); + } + assert_eq!(basic_byte('*'), None, "'*' is not 0x2A, which is á"); + assert_eq!(map_char('*').map(|x| x.1), Some(Char::Extended(0x12, 0x28, b' '))); + assert_eq!(written_as('\u{2019}'), Some('\'')); + assert_eq!(written_as('€'), None); + } + + #[test] + fn pop_on_round_trips() { + let cues = vec![ + cue(1000, 3000, "Hello big world\nsecond", Anchor::BottomCenter, vec![(6, 9)]), + cue(3000, 4000, "Right ♪", Anchor::TopRight, vec![]), + cue(5000, 7000, "Él dijo «sí»", Anchor::BottomLeft, vec![(0, 2)]), + ]; + let pairs = encode(Mode::PopOn, NTSC, "en", &cues).unwrap(); + let ev = decode(&pairs).unwrap(); + let shows: Vec<&Event> = ev.iter().filter(|e| matches!(e, Event::Show { .. })).collect(); + assert_eq!(shows.len(), 3); + if let Event::Show { slot, rows } = shows[0] { + assert_eq!(*slot, NTSC.slot(1000)); + assert_eq!(rows, &layout(Mode::PopOn, &cues[0]).unwrap()); + } + if let Event::Show { rows, .. } = shows[2] { + assert_eq!(rows, &layout(Mode::PopOn, &cues[2]).unwrap()); + } + assert_eq!(ev.iter().filter(|e| matches!(e, Event::Erase { .. })).count(), 2, "no erase between back-to-back cues"); + assert_eq!(from_hex(&to_hex(&pairs)).unwrap(), pairs); + } + + #[test] + fn roll_up_round_trips() { + let cues = vec![ + cue(1000, 4000, "one\ntwo", Anchor::BottomLeft, vec![]), + cue(4000, 6000, "three is longer", Anchor::BottomCenter, vec![(0, 5)]), + ]; + for d in 2..=4 { + let pairs = encode(Mode::RollUp(d), NTSC, "en", &cues).unwrap(); + let lines: Vec = decode(&pairs) + .unwrap() + .into_iter() + .filter_map(|e| match e { + Event::Line { row, .. } => Some(row.text), + _ => None, + }) + .collect(); + assert_eq!(lines, ["one", "two", "three is longer"]); + } + } + + #[test] + fn what_608_cannot_hold_is_refused() { + let one = |t: &str, it: Vec<(u32, u32)>| vec![cue(0, 2000, t, Anchor::BottomCenter, it)]; + assert_eq!(encode(Mode::PopOn, NTSC, "en", &one("a\nb\nc\nd\ne", vec![])), Err(Reason::TooManyRows)); + assert_eq!(encode(Mode::PopOn, NTSC, "en", &one(&"x".repeat(33), vec![])), Err(Reason::RowTooLong)); + assert_eq!(encode(Mode::PopOn, NTSC, "en", &one("5 €", vec![])), Err(Reason::CharNotIn608)); + assert_eq!(encode(Mode::PopOn, NTSC, "en", &one("unbelievable", vec![(2, 4)])), Err(Reason::StyleNotExpressible)); + let two = vec![cue(0, 2000, "a", Anchor::BottomCenter, vec![]), cue(1000, 3000, "b", Anchor::BottomCenter, vec![])]; + assert_eq!(encode(Mode::PopOn, NTSC, "en", &two), Err(Reason::CuesOverlap)); + let dense = vec![cue(0, 100, &"x".repeat(32), Anchor::BottomCenter, vec![]), cue(100, 300, &"y".repeat(32), Anchor::BottomCenter, vec![])]; + assert_eq!(encode(Mode::PopOn, NTSC, "en", &dense), Err(Reason::TooDense)); + let mut bad = encode(Mode::PopOn, NTSC, "en", &one("ok", vec![])).unwrap(); + bad[0].1[1] ^= 0x01; + assert_eq!(decode(&bad), Err(Reason::CcMalformed)); + } +} diff --git a/wai/wai-rs/src/timed_text/corpus.rs b/wai/wai-rs/src/timed_text/corpus.rs new file mode 100644 index 000000000..06f556161 --- /dev/null +++ b/wai/wai-rs/src/timed_text/corpus.rs @@ -0,0 +1,11 @@ +//! The conformance corpus of extensions/timed-text.md §13 (written below). + +/// The corpus files, as (path relative to the corpus directory, contents). +pub fn generate() -> Vec<(String, String)> { + Vec::new() +} + +/// Check a corpus directory's files against this module; the failures, one line each. +pub fn verify(_files: &std::collections::BTreeMap) -> Vec { + Vec::new() +} -- 2.54.0 (Apple Git-157) From 6bc4480db84693f17a40714d4db7ec52ef5d6205 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 11:05:19 -0400 Subject: [PATCH 16/26] wai: timed_text corpus generator, vectors binary and test (WIP) Co-Authored-By: Claude Opus 5.5 --- wai/wai-rs/src/bin/wai_timed_text_vectors.rs | 75 ++ wai/wai-rs/src/timed_text/cc608.rs | 9 +- wai/wai-rs/src/timed_text/corpus.rs | 1140 +++++++++++++++++- wai/wai-rs/tests/timed_text.rs | 67 + 4 files changed, 1282 insertions(+), 9 deletions(-) create mode 100644 wai/wai-rs/src/bin/wai_timed_text_vectors.rs create mode 100644 wai/wai-rs/tests/timed_text.rs diff --git a/wai/wai-rs/src/bin/wai_timed_text_vectors.rs b/wai/wai-rs/src/bin/wai_timed_text_vectors.rs new file mode 100644 index 000000000..d641e3d68 --- /dev/null +++ b/wai/wai-rs/src/bin/wai_timed_text_vectors.rs @@ -0,0 +1,75 @@ +//! Conformance corpus for timed text (`live-conformance/captions/`, extensions/timed-text.md §13). +//! +//! wai_timed_text_vectors gen write vectors.json and every expected output +//! (.vtt, .ttml, .608.hex), from fixed seeds +//! wai_timed_text_vectors verify every file regenerates byte for byte, no other +//! file but README.md is there, and every case +//! gets the outcome it states +//! +//! The generator and this verifier are one implementation. The corpus's second +//! implementation is `live-conformance/timed_text_verify.py`, written from the extension's +//! text and sharing no code with this binary. + +use std::collections::BTreeMap; +use std::path::Path; +use wai::timed_text::corpus; + +fn main() { + let a: Vec = std::env::args().collect(); + match (a.get(1).map(String::as_str), a.get(2)) { + (Some("gen"), Some(d)) => { + if let Err(e) = std::fs::create_dir_all(d) { + eprintln!("create {d}: {e}"); + std::process::exit(1); + } + for (name, body) in corpus::generate() { + let p = Path::new(d).join(&name); + if let Err(e) = std::fs::write(&p, body) { + eprintln!("write {}: {e}", p.display()); + std::process::exit(1); + } + } + println!("wrote {d}"); + } + (Some("verify"), Some(d)) => std::process::exit(verify(Path::new(d))), + _ => { + eprintln!("usage: wai_timed_text_vectors gen|verify "); + std::process::exit(2); + } + } +} + +fn verify(dir: &Path) -> i32 { + let mut files = BTreeMap::new(); + let entries = match std::fs::read_dir(dir) { + Ok(e) => e, + Err(e) => { + eprintln!("read {}: {e}", dir.display()); + return 1; + } + }; + for e in entries.flatten() { + let name = e.file_name().to_string_lossy().into_owned(); + if name == "README.md" { + continue; + } + match std::fs::read_to_string(e.path()) { + Ok(s) => { + files.insert(name, s); + } + Err(err) => { + eprintln!("read {name}: {err}"); + return 1; + } + } + } + let generated: BTreeMap = corpus::generate().into_iter().collect(); + let same = files == generated; + println!("{} every file regenerates byte for byte from its seeds, and no other file is there", if same { "PASS" } else { "FAIL" }); + let fails = corpus::verify(&files); + for f in &fails { + println!("FAIL {f}"); + } + println!("{} every case gets the outcome the corpus states", if fails.is_empty() { "PASS" } else { "FAIL" }); + (!same || !fails.is_empty()) as i32 +} diff --git a/wai/wai-rs/src/timed_text/cc608.rs b/wai/wai-rs/src/timed_text/cc608.rs index 1ba87b1b9..95bde3ab7 100644 --- a/wai/wai-rs/src/timed_text/cc608.rs +++ b/wai/wai-rs/src/timed_text/cc608.rs @@ -713,7 +713,10 @@ mod tests { assert_eq!(hex(CR), "94ad"); assert_eq!(hex(ru(2)), "9425"); assert_eq!(hex(pac_indent(15, 0)), "9470"); - assert_eq!(hex(pac_indent(1, 0)), "9140"); + assert_eq!(hex(pac_indent(14, 0)), "94d0"); + assert_eq!(hex(pac_indent(1, 0)), "91d0"); + assert_eq!(hex(pac_italic(14)), "94ce"); + assert_eq!(hex(pac_italic(15)), "946e"); } #[test] @@ -777,14 +780,14 @@ mod tests { #[test] fn what_608_cannot_hold_is_refused() { - let one = |t: &str, it: Vec<(u32, u32)>| vec![cue(0, 2000, t, Anchor::BottomCenter, it)]; + let one = |t: &str, it: Vec<(u32, u32)>| vec![cue(1000, 3000, t, Anchor::BottomCenter, it)]; assert_eq!(encode(Mode::PopOn, NTSC, "en", &one("a\nb\nc\nd\ne", vec![])), Err(Reason::TooManyRows)); assert_eq!(encode(Mode::PopOn, NTSC, "en", &one(&"x".repeat(33), vec![])), Err(Reason::RowTooLong)); assert_eq!(encode(Mode::PopOn, NTSC, "en", &one("5 €", vec![])), Err(Reason::CharNotIn608)); assert_eq!(encode(Mode::PopOn, NTSC, "en", &one("unbelievable", vec![(2, 4)])), Err(Reason::StyleNotExpressible)); let two = vec![cue(0, 2000, "a", Anchor::BottomCenter, vec![]), cue(1000, 3000, "b", Anchor::BottomCenter, vec![])]; assert_eq!(encode(Mode::PopOn, NTSC, "en", &two), Err(Reason::CuesOverlap)); - let dense = vec![cue(0, 100, &"x".repeat(32), Anchor::BottomCenter, vec![]), cue(100, 300, &"y".repeat(32), Anchor::BottomCenter, vec![])]; + let dense = vec![cue(1000, 1100, &"x".repeat(32), Anchor::BottomCenter, vec![]), cue(1100, 1300, &"y".repeat(32), Anchor::BottomCenter, vec![])]; assert_eq!(encode(Mode::PopOn, NTSC, "en", &dense), Err(Reason::TooDense)); let mut bad = encode(Mode::PopOn, NTSC, "en", &one("ok", vec![])).unwrap(); bad[0].1[1] ^= 0x01; diff --git a/wai/wai-rs/src/timed_text/corpus.rs b/wai/wai-rs/src/timed_text/corpus.rs index 06f556161..6f6808c06 100644 --- a/wai/wai-rs/src/timed_text/corpus.rs +++ b/wai/wai-rs/src/timed_text/corpus.rs @@ -1,11 +1,1139 @@ -//! The conformance corpus of extensions/timed-text.md §13 (written below). +//! The conformance corpus of extensions/timed-text.md §13: `live-conformance/captions/`. +//! +//! [`generate`] writes it from fixed seeds: every key and model digest is SHA-256 of a +//! fixed label and an index, the room id likewise, every time is a constant, and Ed25519 +//! signing is deterministic (RFC 8032), so every file is the same bytes on every machine. +//! The generator asserts, before it writes them, that each vector reaches the outcome it +//! was written to have, that every committed WebVTT file reads back to its cues, that +//! every 608 file decodes to the rows its cues lay out, and that the corpus exercises +//! every 608 code path §8 uses and every reason of §12. +//! +//! [`verify`] checks a corpus directory's files against this module. +//! `live-conformance/timed_text_verify.py` checks the same files from the extension's text, +//! sharing no code with this module. -/// The corpus files, as (path relative to the corpus directory, contents). +use super::cc608::{self, Mode, Rate, NTSC}; +use super::*; +use crate::live_events::{Caption, Policy}; +use ed25519_dalek::SigningKey; +use serde_json::{json, Map, Value}; +use sha2::{Digest, Sha256}; +use std::collections::BTreeSet; + +/// The media time of the room's `t0`, in milliseconds. +pub const PT0_MS: u64 = 10_000; +/// The 90 kHz MPEG-TS time of media time 0 in the segment vectors. +const MPEGTS0: u64 = 900_000; +const R25: Rate = Rate { num: 25, den: 1 }; + +const CAPTIONER: u8 = 1; +const ASR: u8 = 2; +const HOST: u8 = 3; +const PRINCIPALS: [(&str, u8); 3] = [("captioner", CAPTIONER), ("asr", ASR), ("host", HOST)]; +const S: u64 = 1_000_000; +const CAPTIONS_CHARS: [&str; 2] = ["public.accessibility.transcribes-spoken-dialog", "public.accessibility.describes-music-and-sound"]; + +fn sha(parts: &[&[u8]]) -> [u8; 32] { + let mut h = Sha256::new(); + for p in parts { + h.update(p); + } + h.finalize().into() +} + +fn key(i: u8) -> SigningKey { + SigningKey::from_bytes(&sha(&[b"wai:timed-text/corpus/key\x00", &[i]])) +} + +fn pk(i: u8) -> [u8; 32] { + key(i).verifying_key().to_bytes() +} + +/// The room every vector's events belong to. +pub fn room() -> [u8; 32] { + sha(&[b"wai:timed-text/corpus/room\x00", &[1]]) +} + +/// The digest naming model `i`. +pub fn model(i: u8) -> [u8; 32] { + sha(&[b"wai:timed-text/corpus/model\x00", &[i]]) +} + +fn principal_name(p: &[u8; 32]) -> &'static str { + PRINCIPALS.iter().find(|(_, i)| pk(*i) == *p).map(|(n, _)| *n).expect("a corpus principal") +} + +/// A principal emitting its chain. +struct Author { + key: SigningKey, + seq: u64, + prev: [u8; 32], +} + +impl Author { + fn new(i: u8) -> Self { + Author { key: key(i), seq: 0, prev: [0; 32] } + } + + fn raw(&mut self, t: u64, k: u8, payload: Vec) -> Vec { + let ev = Event::sign(&self.key, room(), self.seq, self.prev, t, None, k, payload); + self.seq += 1; + self.prev = ev.digest(); + ev.to_bytes() + } + + fn caption(&mut self, t: u64, duration_ms: u32, o: u8, m: Option<[u8; 32]>, lang: &str, text: &str) -> Vec { + let c = Caption { duration_ms, origin: o, model: m, lang: lang.into(), text: text.into() }; + self.raw(t, kind::CAPTION, Payload::Caption(c).encode()) + } + + fn annotation(&mut self, t: u64, a: &Annotation) -> Vec { + self.raw(t, kind::META, a.to_bytes()) + } + + /// A revision: a caption, and its annotation when `ann` is given; the caption's digest. + fn revision(&mut self, out: &mut Vec>, t: u64, d: u32, o: u8, m: Option<[u8; 32]>, text: &str, ann: Option) -> [u8; 32] { + out.push(self.caption(t, d, o, m, "en", text)); + let digest = self.prev; + if let Some(a) = ann { + out.push(self.annotation(t, &a)); + } + digest + } +} + +fn ann(supersedes: [u8; 32], final_: bool, stable_cp: u16, anchor: Anchor, italic: &[(u16, u16)]) -> Annotation { + Annotation { supersedes, final_, stable_cp, anchor, italic: italic.to_vec() } +} + +fn cp(s: &str) -> u16 { + s.chars().count() as u16 +} + +fn cue(start: u64, end: u64, o: u8, m: Option<[u8; 32]>, anchor: Anchor, text: &str, italic: &[(u32, u32)]) -> Cue { + Cue { start, end, lang: "en".into(), origin: o, model: m, anchor, text: text.into(), italic: italic.to_vec() } +} + +fn human(start: u64, end: u64, anchor: Anchor, text: &str, italic: &[(u32, u32)]) -> Cue { + cue(start, end, origin::HUMAN, None, anchor, text, italic) +} + +// --------------------------------------------------------------------------------------- +// JSON forms +// --------------------------------------------------------------------------------------- + +/// A cue as the corpus writes it. +pub fn cue_json(c: &Cue) -> Value { + json!({ + "start": c.start, + "end": c.end, + "lang": c.lang, + "origin": origin::name(c.origin), + "model": c.model.map(|m| hex(&m)), + "anchor": c.anchor.name(), + "text": c.text, + "italic": c.italic.iter().map(|(s, l)| json!([s, l])).collect::>(), + }) +} + +/// A cue read from the corpus. +pub fn cue_from_json(v: &Value) -> Option { + Some(Cue { + start: v["start"].as_u64()?, + end: v["end"].as_u64()?, + lang: v["lang"].as_str()?.into(), + origin: origin::from_name(v["origin"].as_str()?)?, + model: match &v["model"] { + Value::Null => None, + m => Some(unhex32(m.as_str()?)?), + }, + anchor: Anchor::from_name(v["anchor"].as_str()?)?, + text: v["text"].as_str()?.into(), + italic: v["italic"].as_array()?.iter().map(|r| Some((r[0].as_u64()? as u32, r[1].as_u64()? as u32))).collect::>()?, + }) +} + +fn ranges_json(r: &[(u32, u32)]) -> Value { + json!(r.iter().map(|(s, l)| json!([s, l])).collect::>()) +} + +fn row_json(r: &cc608::Row) -> Value { + json!({"row": r.row, "col": r.col, "text": r.text, "italic": ranges_json(&r.italic)}) +} + +fn cc_events_json(ev: &[cc608::Event]) -> Value { + json!(ev + .iter() + .map(|e| match e { + cc608::Event::Show { slot, rows } => json!({"show": slot, "rows": rows.iter().map(row_json).collect::>()}), + cc608::Event::Line { slot, row } => json!({"line": slot, "row": row_json(row)}), + cc608::Event::Erase { slot } => json!({"erase": slot}), + }) + .collect::>()) +} + +fn shown_json(v: &CaptionVerifier, x: u64) -> Value { + json!({ + "at": x, + "cues": v.shown_at(x).iter().map(|s| json!({ + "principal": principal_name(&s.principal), + "text": s.text, + "anchor": s.anchor.name(), + "origin": origin::name(s.origin), + "italic": ranges_json(&s.italic), + "final": s.final_, + })).collect::>(), + }) +} + +fn revisions_json(v: &CaptionVerifier) -> Value { + let revs = v.revisions(); + json!(revs + .iter() + .map(|r| json!({ + "index": r.index, + "annotation": r.annotation, + "final": r.final_, + "unknown": r.unknown, + "stable_cp": r.stable_cp, + "anchor": r.anchor.name(), + "italic": ranges_json(&r.italic), + "supersedes": r.supersedes.map(|s| revs[s].index), + })) + .collect::>()) +} + +fn outcome_json(o: &Outcome, into: &mut Map) { + match o { + Outcome::Accept => { + into.insert("outcome".into(), json!("accept")); + } + Outcome::Gap(gaps) => { + into.insert("outcome".into(), json!("gap")); + into.insert( + "gaps".into(), + json!(gaps.iter().map(|g| json!([principal_name(&g.principal), g.first, g.last])).collect::>()), + ); + } + Outcome::Refuse { index, reason } => { + into.insert("outcome".into(), json!("refuse")); + into.insert("reason".into(), json!(reason)); + into.insert("index".into(), json!(index)); + } + } +} + +// --------------------------------------------------------------------------------------- +// Targets +// --------------------------------------------------------------------------------------- + +/// What a vector maps its cues onto, and with which parameters. +#[derive(Clone)] +struct Targets { + webvtt: bool, + imsc: bool, + segments: Option<(Vec, u64)>, + /// `(group_ms, first, last)`. + timelines: Option<(u64, u64, u64)>, + cc: Vec<(Mode, Rate)>, + disclosure: bool, +} + +impl Targets { + fn none() -> Self { + Targets { webvtt: false, imsc: false, segments: None, timelines: None, cc: vec![], disclosure: false } + } +} + +fn rate_suffix(r: Rate) -> String { + if r == NTSC { String::new() } else { format!(".r{}-{}", r.num, r.den) } +} + +fn file_or_reason(files: &mut Vec<(String, String)>, path: String, r: Result) -> Value { + match r { + Ok(s) => { + files.push((path.clone(), s)); + json!({"file": path}) + } + Err(e) => json!({"reason": e.code()}), + } +} + +/// Map `published` (in `lang`) onto every target `t` names: the target object, and the +/// files written. +fn map_targets(name: &str, lang: &str, published: &[Published], t: &Targets, files: &mut Vec<(String, String)>) -> Value { + let cues: Vec = published.iter().map(|p| p.cue.clone()).collect(); + let mut o = Map::new(); + if t.webvtt { + o.insert("webvtt".into(), file_or_reason(files, format!("{name}.vtt"), to_webvtt(lang, &cues))); + } + if t.imsc { + o.insert("imsc".into(), file_or_reason(files, format!("{name}.ttml"), to_imsc(lang, &cues))); + } + if let Some((bounds, mpegts0)) = &t.segments { + let mut s = json!({"bounds": bounds, "mpegts0": mpegts0}); + match to_webvtt_segments(lang, &cues, bounds, *mpegts0) { + Ok(segs) => { + let mut names = Vec::new(); + for (k, seg) in segs.into_iter().enumerate() { + let p = format!("{name}.seg{k}.vtt"); + files.push((p.clone(), seg)); + names.push(p); + } + s["files"] = json!(names); + } + Err(e) => s["reason"] = json!(e.code()), + } + o.insert("segments".into(), s); + } + if let Some((group_ms, first, last)) = t.timelines { + let mut s = json!({"group_ms": group_ms, "first": first, "last": last}); + for (key, which) in [("webvtt", Timeline::WebVtt), ("imsc", Timeline::Imsc)] { + match timeline(which, lang, published, group_ms, first, last) { + Ok(groups) => { + s[key] = json!(groups.iter().map(|(g, objs)| json!({"group": g, "objects": objs})).collect::>()); + } + Err(e) => s["reason"] = json!(e.code()), + } + } + o.insert("timelines".into(), s); + } + if !t.cc.is_empty() { + let mut list = Vec::new(); + for &(mode, rate) in &t.cc { + let mut e = json!({"mode": mode.name(), "rate": [rate.num, rate.den]}); + match cc608::encode(mode, rate, lang, &cues) { + Ok(pairs) => { + let p = format!("{name}.{}{}.608.hex", mode.name(), rate_suffix(rate)); + let decoded = cc608::decode(&pairs).expect("the encoder's output decodes"); + check_round_trip(mode, rate, &cues, &decoded).unwrap_or_else(|f| panic!("{name} {}: {f}", mode.name())); + files.push((p.clone(), cc608::to_hex(&pairs))); + e["file"] = json!(p); + e["decoded"] = cc_events_json(&decoded); + } + Err(r) => e["reason"] = json!(r.code()), + } + list.push(e); + } + o.insert("cc608".into(), json!(list)); + } + if t.disclosure { + let sub = hls_media_tag(Rendition::Subtitles { uri: &format!("{name}/captions.m3u8") }, "subs", "Captions", lang, &CAPTIONS_CHARS, &cues); + let cc = hls_media_tag(Rendition::ClosedCaptions, "cc", "Captions", lang, &CAPTIONS_CHARS, &cues); + let names: Vec<&str> = vec!["video"]; + o.insert( + "disclosure".into(), + json!({ + "hls_subtitles": sub.expect("a vector's own names"), + "hls_closed_captions": cc.expect("a vector's own names"), + "session_data": hls_session_data(&format!("{name}.disclosure.json"), lang).expect("its own name"), + "sidecar": sidecar(lang, &cues).expect("checked"), + "c2pa": c2pa_disclosure(&cues), + "catalog_webvtt": catalog_entry(Timeline::WebVtt, &format!("captions-{lang}"), lang, &names, &cues), + "catalog_imsc": catalog_entry(Timeline::Imsc, &format!("captions-{lang}-imsc"), lang, &names, &cues), + }), + ); + } + Value::Object(o) +} + +/// What a decoder reports of encoded cues is what they lay out (§8.8): for pop-on, each +/// cue shown at its start slot with its rows, and erased at its end slot unless the next +/// cue starts within one slot of it; for roll-up, each line in order, on the base row, +/// from a slot within its cue, and an erase likewise. +pub fn check_round_trip(mode: Mode, rate: Rate, cues: &[Cue], decoded: &[cc608::Event]) -> Result<(), String> { + let cues = sorted(cues); + let n = cues.len(); + let s: Vec = cues.iter().map(|c| rate.slot(c.start)).collect(); + let e: Vec = cues.iter().map(|c| rate.slot(c.end)).collect(); + let mut want = Vec::new(); + match mode { + Mode::PopOn => { + for i in 0..n { + want.push(cc608::Event::Show { slot: s[i], rows: cc608::layout(mode, &cues[i]).map_err(|r| r.to_string())? }); + if i + 1 == n || s[i + 1] >= e[i] + 2 { + want.push(cc608::Event::Erase { slot: e[i] }); + } + } + if decoded != want { + return Err("the decoded pop-on captions are not the cues' rows at their slots".into()); + } + } + Mode::RollUp(_) => { + let mut it = decoded.iter(); + for i in 0..n { + let limit = if i + 1 == n || s[i + 1] >= e[i] + 2 { e[i] } else { s[i + 1] }; + for r in cc608::layout(mode, &cues[i]).map_err(|r| r.to_string())? { + match it.next() { + Some(cc608::Event::Line { slot, row }) if *row == r && *slot >= s[i] && *slot < limit => {} + other => return Err(format!("cue {i}: expected line {:?}, decoded {other:?}", r.text)), + } + } + if i + 1 == n || s[i + 1] >= e[i] + 2 { + if it.next() != Some(&cc608::Event::Erase { slot: e[i] }) { + return Err(format!("cue {i}: no erase at its end slot")); + } + } + } + if it.next().is_some() { + return Err("events after the last cue".into()); + } + } + } + Ok(()) +} + +// --------------------------------------------------------------------------------------- +// Event vectors +// --------------------------------------------------------------------------------------- + +struct EventVector { + name: &'static str, + about: &'static str, + events: Vec>, + shown_at: Vec, + targets: Targets, + /// The group of the events track a subscriber joins at (§4.6). + join: Option, +} + +fn lesson_human() -> EventVector { + let mut c = Author::new(CAPTIONER); + let mut h = Author::new(HOST); + let mut ev = Vec::new(); + let hu = origin::HUMAN; + c.revision(&mut ev, S, 2500, hu, None, "Good morning, everyone.", None); + c.revision(&mut ev, 4 * S, 3000, hu, None, "Today we look at\nhow the tides work.", None); + ev.push(h.raw(5 * S, kind::CHAT, { + let mut p = Vec::new(); + let t = "Welcome!"; + p.extend_from_slice(&(t.len() as u16).to_le_bytes()); + p.extend_from_slice(t.as_bytes()); + p + })); + let w = "[waves crashing]"; + c.revision(&mut ev, 7_500_000, 2000, hu, None, w, Some(ann([0; 32], true, cp(w), Anchor::TopCenter, &[(0, cp(w))]))); + let m = "The Moon pulls the sea,\nand the sea answers."; + c.revision(&mut ev, 10 * S, 3500, hu, None, m, Some(ann([0; 32], true, cp(m), Anchor::BottomCenter, &[(4, 4)]))); + let q = "Questions? Ask below."; + c.revision(&mut ev, 14 * S, 2000, hu, None, q, Some(ann([0; 32], true, cp(q), Anchor::BottomLeft, &[]))); + EventVector { + name: "lesson_human", + about: "A human-captioned lesson (§4.1): plain caption events, which are final cues at the default anchor, and annotated finals with an anchor and italic runs; a chat event of another principal between them. Every target: WebVTT, segments, IMSC1, both MoQ timelines, 608 pop-on and the disclosure, which for human captions carries no machine label.", + events: ev, + shown_at: vec![1_500_000, 5 * S, 8 * S, 12 * S, 17 * S], + targets: Targets { + webvtt: true, + imsc: true, + segments: Some((vec![10_000, 14_000, 18_000, 22_000, 26_000], MPEGTS0)), + timelines: Some((4000, 2, 6)), + cc: vec![(Mode::PopOn, NTSC)], + disclosure: true, + }, + join: None, + } +} + +fn lesson_machine() -> EventVector { + let mut a = Author::new(ASR); + let mut ev = Vec::new(); + let (ma, rv) = (origin::MACHINE, origin::REVIEWED); + let m1 = Some(model(1)); + let bc = Anchor::BottomCenter; + // Cue A: two partials, then the final. + let r0 = a.revision(&mut ev, 2 * S, 0, ma, m1, "the tide", Some(ann([0; 32], false, 0, bc, &[]))); + let r1 = a.revision(&mut ev, 2_400_000, 0, ma, m1, "The tide comes in", Some(ann(r0, false, 9, bc, &[]))); + let fa = "The tide comes in twice a day."; + a.revision(&mut ev, 2_900_000, 2600, ma, m1, fa, Some(ann(r1, true, cp(fa), bc, &[]))); + // Cue B: a partial with a stated duration, then a final a person reviewed. + let b0 = a.revision(&mut ev, 6 * S, 1500, ma, m1, "and goes out", Some(ann([0; 32], false, 12, bc, &[]))); + let fb = "and goes out again."; + a.revision(&mut ev, 6_500_000, 2500, rv, m1, fb, Some(ann(b0, true, cp(fb), bc, &[]))); + // Cue C: final at once, with no annotation. + a.revision(&mut ev, 10 * S, 2000, ma, m1, "Next, the Moon.", None); + EventVector { + name: "lesson_machine", + about: "A machine-captioned lesson with stability-tagged partials revised to final (§4.3): cue A is revised twice, each revision naming the one it supersedes and keeping its stable prefix; cue B's partial has a stated duration and its final is machine-reviewed; cue C is a final machine caption with no annotation. What a sink shows at each instant (§4.4), the cues the stream resolves to (§4.5), and every target, 608 in roll-up as live captions are, with the disclosure label.", + events: ev, + shown_at: vec![2_200_000, 2_500_000, 3 * S, 6_200_000, 6_700_000, 10_500_000], + targets: Targets { + webvtt: true, + imsc: true, + segments: Some((vec![10_000, 14_000, 18_000, 22_000], MPEGTS0)), + timelines: Some((2000, 6, 11)), + cc: vec![(Mode::RollUp(2), NTSC), (Mode::PopOn, NTSC)], + disclosure: true, + }, + join: None, + } +} + +fn mid_stream_join() -> EventVector { + let mut a = Author::new(ASR); + let mut ev = Vec::new(); + let ma = origin::MACHINE; + let m2 = Some(model(2)); + let bc = Anchor::BottomCenter; + a.revision(&mut ev, 57 * S, 4000, ma, m2, "this line still shows", None); + let p0 = a.revision(&mut ev, 58_500_000, 0, ma, m2, "we now cross", Some(ann([0; 32], false, 0, bc, &[]))); + let p1 = a.revision(&mut ev, 59_400_000, 0, ma, m2, "we now cross the minute", Some(ann(p0, false, 7, bc, &[]))); + let f = "we now cross the minute."; + a.revision(&mut ev, 60_300_000, 2000, ma, m2, f, Some(ann(p1, true, cp(f), bc, &[]))); + a.revision(&mut ev, 61 * S, 1500, ma, m2, "after the join", None); + EventVector { + name: "mid_stream_join", + about: "A subscriber joining mid-stream (§4.6, §7.3). On the events track it joins at group 1 (room clock 60 s): the join set holds the caption whose interval contains the instant, and the open partial with no stated duration with its annotation; the joiner verifies a gap, refuses nothing, and shows what a subscriber from the start shows. On both caption timelines (2 s groups), the first object of each group repeats every cue still showing, so a joiner at any group holds every cue that has not ended.", + events: ev, + shown_at: vec![60 * S, 60_500_000, 61_200_000, 62_400_000], + targets: Targets { + webvtt: true, + imsc: true, + segments: None, + timelines: Some((2000, 33, 36)), + cc: vec![], + disclosure: true, + }, + join: Some(1), + } +} + +/// Event vectors each refused, or resolved to a refusal, for one reason. +fn negative_event_vectors() -> Vec { + let bc = Anchor::BottomCenter; + let ma = origin::MACHINE; + let m1 = Some(model(1)); + let mut out = Vec::new(); + let mut v = |name: &'static str, about: &'static str, f: &dyn Fn(&mut Author, &mut Vec>)| { + let mut a = Author::new(ASR); + let mut ev = Vec::new(); + f(&mut a, &mut ev); + out.push(EventVector { name, about, events: ev, shown_at: vec![], targets: Targets::none(), join: None }); + }; + v("annotation_malformed", "An annotation whose anchor is 9 (§4.2): annotation_malformed.", &|a, ev| { + ev.push(a.caption(S, 1000, ma, m1, "en", "hello")); + let mut b = ann([0; 32], true, 5, bc, &[]).to_bytes(); + b[40] = 9; + ev.push(a.raw(S, kind::META, b)); + }); + v("annotation_misplaced", "An annotation after a chat event, not after a caption (§4.3): annotation_misplaced.", &|a, ev| { + let mut p = 2u16.to_le_bytes().to_vec(); + p.extend_from_slice(b"hi"); + ev.push(a.raw(S, kind::CHAT, p)); + ev.push(a.annotation(S, &ann([0; 32], true, 2, bc, &[]))); + }); + v("supersede_unknown", "A revision superseding a caption the principal never sent, its chain whole (§4.3): supersede_unknown.", &|a, ev| { + a.revision(ev, S, 0, ma, m1, "hello", Some(ann(sha(&[b"no such caption"]), false, 0, bc, &[]))); + }); + v("supersede_final", "A revision superseding a final caption (§4.3): supersede_final.", &|a, ev| { + let r = a.revision(ev, S, 1000, ma, m1, "hello", None); + a.revision(ev, 2 * S, 1000, ma, m1, "hello there", Some(ann(r, true, 11, bc, &[]))); + }); + v("supersede_forked", "Two revisions superseding one partial (§4.3): supersede_forked.", &|a, ev| { + let r = a.revision(ev, S, 0, ma, m1, "hel", Some(ann([0; 32], false, 0, bc, &[]))); + a.revision(ev, 1_200_000, 0, ma, m1, "hello", Some(ann(r, false, 0, bc, &[]))); + a.revision(ev, 1_400_000, 0, ma, m1, "help", Some(ann(r, false, 0, bc, &[]))); + }); + v("supersede_mismatch", "A revision in another language than the partial it supersedes (§4.3): supersede_mismatch.", &|a, ev| { + let r = a.revision(ev, S, 0, ma, m1, "hola", Some(ann([0; 32], false, 0, bc, &[]))); + ev.push(a.caption(1_200_000, 1000, ma, m1, "es", "hola a todos")); + ev.push(a.annotation(1_200_000, &ann(r, true, 12, bc, &[]))); + }); + v("stability_broken", "A revision that changes the stable prefix of the partial it supersedes (§4.3): stability_broken.", &|a, ev| { + let r = a.revision(ev, S, 0, ma, m1, "hello there", Some(ann([0; 32], false, 5, bc, &[]))); + a.revision(ev, 1_300_000, 1000, ma, m1, "help there", Some(ann(r, true, 10, bc, &[]))); + }); + v("text_not_in_subset", "A caption with two spaces in a row, which IMSC1's white-space handling would collapse (§3.2): text_not_in_subset.", &|a, ev| { + ev.push(a.caption(S, 1000, origin::HUMAN, None, "en", "two spaces")); + }); + v("machine_without_model", "A machine caption with no model digest: live-events §4.10 reads 32 bytes of model after origin 2, so the record is refused there, malformed_payload, before this extension reads it (§10.1).", &|a, ev| { + let mut p = 1000u32.to_le_bytes().to_vec(); + p.push(origin::MACHINE); + p.push(2); + p.extend_from_slice(b"en"); + p.extend_from_slice(&5u16.to_le_bytes()); + p.extend_from_slice(b"hello"); + ev.push(a.raw(S, kind::CAPTION, p)); + }); + v("not_final", "A stream that ends on a partial: it verifies, and resolving it to cues is refused, not_final (§4.5).", &|a, ev| { + a.revision(ev, S, 0, ma, m1, "and then", Some(ann([0; 32], false, 4, bc, &[]))); + }); + v("duration_unknown", "A final caption with no stated duration: it verifies, and resolving it is refused, duration_unknown (§4.5).", &|a, ev| { + a.revision(ev, S, 0, origin::HUMAN, None, "Hello.", None); + }); + out +} + +fn event_vector_json(v: &EventVector, files: &mut Vec<(String, String)>) -> Value { + let mut cv = CaptionVerifier::new(room(), Policy::default()); + let outcome = verify_stream(&mut cv, &v.events); + let mut o = Map::new(); + o.insert("name".into(), json!(v.name)); + o.insert("about".into(), json!(v.about)); + o.insert("events".into(), json!(v.events.iter().map(|e| hex(e)).collect::>())); + outcome_json(&outcome, &mut o); + if matches!(outcome, Outcome::Refuse { .. }) { + return Value::Object(o); + } + o.insert("revisions".into(), revisions_json(&cv)); + o.insert("shown".into(), json!(v.shown_at.iter().map(|&x| shown_json(&cv, x)).collect::>())); + match cv.resolve(PT0_MS) { + Err((r, index)) => { + o.insert("resolve".into(), json!({"reason": r.code(), "index": index})); + } + Ok(published) => { + o.insert( + "resolve".into(), + json!({ + "cues": published.iter().map(|p| cue_json(&p.cue)).collect::>(), + "published": published.iter().map(|p| p.pub_ms).collect::>(), + }), + ); + o.insert("targets".into(), map_targets(v.name, "en", &published, &v.targets, files)); + } + } + if let Some(g) = v.join { + let (stream, joined) = join_stream(&v.events, g); + let mut jv = CaptionVerifier::new(room(), Policy::default()); + let jo = verify_stream(&mut jv, &stream); + let mut j = Map::new(); + j.insert("group".into(), json!(g)); + j.insert("stream".into(), json!(stream.iter().map(|e| hex(e)).collect::>())); + j.insert("join_set".into(), json!(joined)); + outcome_json(&jo, &mut j); + let start = g * le::GROUP_US; + let at: Vec = v.shown_at.iter().copied().filter(|&x| x >= start).collect(); + for &x in &at { + assert_eq!(jv.shown_at(x), cv.shown_at(x), "{}: the joiner shows what the full subscriber shows at {x}", v.name); + } + j.insert("shown".into(), json!(at.iter().map(|&x| shown_json(&jv, x)).collect::>())); + o.insert("join".into(), Value::Object(j)); + } + Value::Object(o) +} + +/// The records a subscriber joining the events track at `group` receives (§4.6): each +/// principal's join set, in principal order, then every record from the group's start +/// on, in stream order; and the stream indices of the join set. +pub fn join_stream(events: &[Vec], group: u64) -> (Vec>, Vec) { + let start = group * le::GROUP_US; + let parsed: Vec<(Event, Payload)> = events + .iter() + .map(|b| { + let e = Event::parse(b).expect("a corpus record"); + let p = le::parse_payload(e.kind, &e.payload, 500).expect("a corpus payload"); + (e, p) + }) + .collect(); + let mut principals: Vec<[u8; 32]> = parsed.iter().map(|(e, _)| e.principal).collect(); + principals.sort(); + principals.dedup(); + let mut out = Vec::new(); + let mut idx = Vec::new(); + for p in principals { + let mine: Vec<(Event, Payload)> = parsed.iter().filter(|(e, _)| e.principal == p).cloned().collect(); + for e in join_set(&mine, group) { + let i = parsed.iter().position(|(x, _)| x.principal == p && x.seq == e.seq).expect("held"); + idx.push(i); + out.push(events[i].clone()); + } + } + for (i, (e, _)) in parsed.iter().enumerate() { + if e.t >= start { + out.push(events[i].clone()); + } + } + (out, idx) +} + +// --------------------------------------------------------------------------------------- +// Cue vectors +// --------------------------------------------------------------------------------------- + +struct CueVector { + name: &'static str, + about: &'static str, + lang: &'static str, + cues: Vec, + targets: Targets, +} + +fn styles_and_anchors() -> CueVector { + let cues = vec![ + human(11_000, 13_000, Anchor::BottomCenter, "Every anchor, in turn.", &[]), + human(13_500, 15_500, Anchor::BottomLeft, "Left, with a big idea\nover two lines.", &[(13, 8)]), + human(16_000, 18_000, Anchor::BottomRight, "Right: 5 > 3 & 2 < 4 --> true", &[]), + human(18_500, 20_500, Anchor::TopCenter, "Top centre, italic whole", &[(0, 24)]), + human(21_000, 23_000, Anchor::TopLeft, "top left, three\nlines of\ntext", &[(16, 5)]), + human(23_500, 25_500, Anchor::TopRight, "To the right, ok", &[(14, 2)]), + human(26_000, 28_000, Anchor::BottomCenter, "One.", &[]), + human(28_000, 30_000, Anchor::BottomCenter, "Two, straight after.", &[(5, 8)]), + ]; + CueVector { + name: "styles_and_anchors", + about: "Every anchor (§3.3), italic runs at a line's start, end and middle and across a line break's neighbours, the characters WebVTT and XML escape, and two cues back to back. WebVTT, segments, IMSC1, both timelines and 608 pop-on, whose positioning uses each indent, every tab offset, the italic preamble address code and both mid-row codes.", + lang: "en", + cues, + targets: Targets { + webvtt: true, + imsc: true, + segments: Some((vec![10_000, 16_000, 22_000, 28_000, 34_000], MPEGTS0)), + timelines: Some((5000, 2, 6)), + cc: vec![(Mode::PopOn, NTSC)], + disclosure: true, + }, + } +} + +fn disclosure_mix() -> CueVector { + let (m1, m2) = (Some(model(1)), Some(model(2))); + let bc = Anchor::BottomCenter; + CueVector { + name: "disclosure_mix", + about: "The disclosure label through every target (§10): human, machine and machine-reviewed cues from two models. WebVTT carries it in a class span, IMSC1 in attributes of its namespace, the timelines in the cue text and in members of the cue entry, HLS in the public.machine-generated characteristic, C2PA in one c2pa.ai-disclosure assertion per model and the digital source type, the catalogs in a field of their own; 608, which cannot carry it, leaves it to the sidecar.", + lang: "en", + cues: vec![ + human(11_000, 13_000, bc, "A person wrote this.", &[]), + cue(13_500, 15_500, origin::MACHINE, m1, bc, "A model wrote this.", &[]), + cue(16_000, 18_000, origin::REVIEWED, m1, bc, "A model wrote this,\nand a person checked it.", &[]), + cue(18_500, 20_500, origin::MACHINE, m2, Anchor::TopCenter, "Another model wrote this.", &[(8, 5)]), + ], + targets: Targets { + webvtt: true, + imsc: true, + segments: Some((vec![10_000, 15_000, 20_000, 25_000], MPEGTS0)), + timelines: Some((5000, 2, 4)), + cc: vec![(Mode::PopOn, NTSC)], + disclosure: true, + }, + } +} + +fn cc_characters() -> CueVector { + let bc = Anchor::BottomCenter; + CueVector { + name: "cc_characters", + about: "608's special and extended characters (§8.4): every special character, the transparent space as U+00A0, extended characters of both tables each after its standard fallback, two notes in a row (four pairs, since a repeat in the next slot is redundant), the basic set's own accented letters, and the substitutions of ’ and –. WebVTT and IMSC1 keep the same text in UTF-8.", + lang: "en", + cues: vec![ + human(11_000, 13_000, bc, "♪♪ ® ° ½ ¿ ™ ¢ £ à\u{a0}è â ê î ô û", &[]), + human(13_500, 15_500, bc, "Él dijo «sí» ¡Ñandú!\nç ÷ á é í ó ú ñ", &[]), + human(16_000, 18_000, bc, "Ä ö ß Ø å {x} \\ ^ _ | ~\n* — © ℠ “q”", &[]), + human(18_500, 20_500, bc, "It’s 9–5 ┌┐└┘ ¥ ¤ ¦\n‘ • Ã õ Ì ì Ò", &[]), + ], + targets: Targets { + webvtt: true, + imsc: true, + segments: None, + timelines: None, + cc: vec![(Mode::PopOn, NTSC)], + disclosure: false, + }, + } +} + +fn cc_rollup() -> CueVector { + let bl = Anchor::BottomLeft; + CueVector { + name: "cc_rollup", + about: "608 roll-up with windows of 2, 3 and 4 rows (§8.7): one roll-up command at the start, a carriage return before every line but the first after an erase, an erase at a gap between cues and at the end, italics by preamble address code and by mid-row code. The same cues on a 25 Hz slot clock show the frame-rate dependence (§8.2): other slots, the same bytes.", + lang: "en", + cues: vec![ + cue(11_000, 14_000, origin::HUMAN, None, bl, "Roll-up keeps the lines\nabove it on screen.", &[(0, 7)]), + cue(14_000, 16_000, origin::HUMAN, None, Anchor::BottomCenter, "Then a new line rolls in.", &[(7, 3)]), + cue(17_000, 19_000, origin::HUMAN, None, Anchor::BottomRight, "After a gap, it starts clean.", &[]), + ], + targets: Targets { + webvtt: false, + imsc: false, + segments: None, + timelines: None, + cc: vec![(Mode::RollUp(2), NTSC), (Mode::RollUp(3), NTSC), (Mode::RollUp(4), NTSC), (Mode::RollUp(2), R25), (Mode::PopOn, R25)], + disclosure: false, + }, + } +} + +/// Cue vectors each refused by a target for one reason. +fn negative_cue_vectors() -> Vec { + let bc = Anchor::BottomCenter; + let only = |webvtt: bool, imsc: bool, cc: Vec<(Mode, Rate)>| Targets { webvtt, imsc, segments: None, timelines: None, cc, disclosure: false }; + let pop = vec![(Mode::PopOn, NTSC)]; + let mut v = vec![ + CueVector { name: "time_out_of_range", about: "A cue ending after 99:59:59.999 (§3.1).", lang: "en", cues: vec![human(1000, MAX_MS + 1, bc, "late", &[])], targets: only(true, false, vec![]) }, + CueVector { name: "cue_malformed", about: "An italic range that begins at a space (§3.2 rule 4).", lang: "en", cues: vec![human(1000, 2000, bc, "a big idea", &[(1, 4)])], targets: only(true, false, vec![]) }, + CueVector { name: "model_missing", about: "A machine cue with no model digest (§3.4).", lang: "en", cues: vec![cue(1000, 2000, origin::MACHINE, None, bc, "who wrote this", &[])], targets: only(true, true, vec![]) }, + CueVector { name: "text_not_in_subset", about: "A tab in the text (§3.2 rule 2).", lang: "en", cues: vec![human(1000, 2000, bc, "a\tb", &[])], targets: only(false, true, vec![]) }, + CueVector { name: "language_mismatch", about: "A French cue in an English document (§3.4).", lang: "en", cues: vec![human(1000, 2000, bc, "hello", &[]), Cue { lang: "fr".into(), ..human(2000, 3000, bc, "bonjour", &[]) }], targets: only(true, true, vec![]) }, + CueVector { name: "cues_overlap", about: "Two cues at once, which pop-on and roll-up cannot show (§8.6).", lang: "en", cues: vec![human(1000, 3000, bc, "one", &[]), human(2000, 4000, Anchor::TopCenter, "two", &[])], targets: only(true, false, pop.clone()) }, + CueVector { name: "too_many_rows", about: "Five lines in one pop-on caption (§8.5).", lang: "en", cues: vec![human(1000, 3000, bc, "1\n2\n3\n4\n5", &[])], targets: only(false, false, pop.clone()) }, + CueVector { name: "row_too_long", about: "A line of 33 characters (§8.5).", lang: "en", cues: vec![human(1000, 3000, bc, &"x".repeat(33), &[])], targets: only(false, false, pop.clone()) }, + CueVector { name: "char_not_in_608", about: "A character with no 608 code and no substitution (§8.4).", lang: "en", cues: vec![human(1000, 3000, bc, "price: 5 €", &[])], targets: only(false, false, pop.clone()) }, + CueVector { name: "style_not_expressible", about: "Italics that begin inside a word: a mid-row code would add a space (§8.5).", lang: "en", cues: vec![human(1000, 3000, bc, "unbelievable", &[(2, 4)])], targets: only(true, false, pop.clone()) }, + CueVector { name: "too_dense", about: "A second caption whose bytes do not fit between the first one's display and its own start (§8.6).", lang: "en", cues: vec![human(1000, 1100, bc, &"x".repeat(32), &[]), human(1100, 1300, bc, &"y".repeat(32), &[])], targets: only(false, false, pop) }, + ]; + let alphabet: Vec = ('A'..='Z').chain('a'..='z').chain('0'..='9').collect(); + v.push(CueVector { + name: "hrm_exceeded", + about: "Cues of forty new characters a tenth of a second apart, more than the hypothetical render model paints (§6.2).", + lang: "en", + cues: (0..10) + .map(|i| { + let text: String = alphabet.iter().cycle().skip(i * 9).take(40).collect(); + human(1000 + i as u64 * 100, 1100 + i as u64 * 100, bc, &text, &[]) + }) + .collect(), + targets: only(true, true, vec![]), + }); + v.push(CueVector { + name: "parameter_malformed", + about: "Segment bounds that do not ascend (§5.2).", + lang: "en", + cues: vec![human(1000, 2000, bc, "x", &[])], + targets: Targets { webvtt: false, imsc: false, segments: Some((vec![0, 4000, 4000], MPEGTS0)), timelines: None, cc: vec![], disclosure: false }, + }); + v +} + +fn cue_vector_json(v: &CueVector, files: &mut Vec<(String, String)>) -> Value { + let published: Vec = v.cues.iter().map(|c| Published { cue: c.clone(), pub_ms: c.start }).collect(); + json!({ + "name": v.name, + "about": v.about, + "lang": v.lang, + "cues": v.cues.iter().map(cue_json).collect::>(), + "targets": map_targets(v.name, v.lang, &published, &v.targets, files), + }) +} + +// --------------------------------------------------------------------------------------- +// Reader and decoder cases +// --------------------------------------------------------------------------------------- + +fn read_cases() -> Value { + let m = hex(&model(1)); + let cases: Vec<(&str, String, &str)> = vec![ + ("settings_unknown", "WEBVTT\n\n00:00:01.000 --> 00:00:02.000 align:center\nhello\n".into(), "a cue whose settings are not one anchor's (§5.3)"), + ("trailing_blank", "WEBVTT\n\n00:00:01.000 --> 00:00:02.000 line:90%,end position:50%,center size:80% align:center\nhello\n\n".into(), "a blank line after the last cue (§5.3)"), + ("entity_unknown", "WEBVTT\n\n00:00:01.000 --> 00:00:02.000 line:90%,end position:50%,center size:80% align:center\nhello there\n".into(), "a character reference the writer never writes (§5.3)"), + ("label_without_model", "WEBVTT\n\n00:00:01.000 --> 00:00:02.000 line:90%,end position:50%,center size:80% align:center\nhello\n".into(), "a machine label with no model class (§10.4)"), + ("italic_adjacent", "WEBVTT\n\n00:00:01.000 --> 00:00:02.000 line:90%,end position:50%,center size:80% align:center\nab\n".into(), "two italic spans with nothing between them (§5.3)"), + ("starts_descend", format!("WEBVTT\n\n00:00:02.000 --> 00:00:03.000 line:90%,end position:50%,center size:80% align:center\nb\n\n00:00:01.000 --> 00:00:02.000 line:90%,end position:50%,center size:80% align:center\na\n"), "cue starts that go back (§5.3)"), + ("italic_at_space", "WEBVTT\n\n00:00:01.000 --> 00:00:02.000 line:90%,end position:50%,center size:80% align:center\na b\n".into(), "an italic span that begins at a space (§3.2 rule 4)"), + ]; + json!(cases + .iter() + .map(|(name, text, about)| { + let r = match from_webvtt(text, "en") { + Ok(_) => panic!("{name} reads"), + Err(r) => r, + }; + json!({"name": name, "about": about, "lang": "en", "text": text, "reason": r.code()}) + }) + .collect::>()) +} + +fn decode_cases(files: &[(String, String)]) -> Value { + let src = &files.iter().find(|(p, _)| p == "styles_and_anchors.pop-on.608.hex").expect("written").1; + let first_line = src.lines().next().expect("a line"); + let (slot, pair) = first_line.split_once(' ').expect("a pair"); + let flipped = format!("{slot} {:02x}{}\n", u8::from_str_radix(&pair[..2], 16).unwrap() ^ 0x01, &pair[2..]); + let cases = [ + ("parity", flipped, "a byte with even parity (§8.3)"), + ("backspace", "0 9420\n1 9420\n2 94a1\n3 94a1\n".to_string(), "a backspace, which this encoder never sends (§8.8)"), + ("descending", "5 9420\n4 9420\n".to_string(), "slots that do not ascend (§8.3)"), + ("unassigned", "0 9420\n1 9420\n2 9152\n3 9152\n4 c180\n5 9229\n6 9229\n".to_string(), "0x12 0x29, which this revision leaves unassigned (§8.4)"), + ]; + json!(cases + .iter() + .map(|(name, hexs, about)| { + let r = cc608::from_hex(hexs).and_then(|p| cc608::decode(&p)).expect_err("refused"); + json!({"name": name, "about": about, "hex": hexs, "reason": r.code()}) + }) + .collect::>()) +} + +// --------------------------------------------------------------------------------------- +// The corpus +// --------------------------------------------------------------------------------------- + +/// Which 608 code paths of §8 a byte-pair file exercises. +pub fn cc_paths(hexs: &str) -> BTreeSet<&'static str> { + let mut out = BTreeSet::new(); + for (_, p) in cc608::from_hex(hexs).expect("written") { + let (a, b) = (p[0] & 0x7F, p[1] & 0x7F); + let name = match (a, b) { + (0x14, 0x20) => "RCL", + (0x14, 0x25) => "RU2", + (0x14, 0x26) => "RU3", + (0x14, 0x27) => "RU4", + (0x14, 0x2C) => "EDM", + (0x14, 0x2D) => "CR", + (0x14, 0x2E) => "ENM", + (0x14, 0x2F) => "EOC", + (0x17, 0x21) => "TO1", + (0x17, 0x22) => "TO2", + (0x17, 0x23) => "TO3", + (0x11, 0x20) => "MRC white", + (0x11, 0x2E) => "MRC italics", + (0x11, 0x30..=0x3F) => "special", + (0x12, 0x20..=0x3F) => "extended 0x12", + (0x13, 0x20..=0x3F) => "extended 0x13", + (0x10..=0x1F, 0x40..=0x7F) if b & 0x1F == 0x0E => "PAC italics", + (0x10..=0x1F, 0x40..=0x7F) => "PAC indent", + _ => "standard", + }; + out.insert(name); + } + out +} + +/// Every 608 code path §8 uses. +pub const CC_PATHS: [&str; 19] = [ + "RCL", "RU2", "RU3", "RU4", "EDM", "CR", "ENM", "EOC", "TO1", "TO2", "TO3", "MRC white", "MRC italics", "special", + "extended 0x12", "extended 0x13", "PAC italics", "PAC indent", "standard", +]; + +/// The corpus files, as (path relative to the corpus directory, contents), in order; +/// `vectors.json` first. pub fn generate() -> Vec<(String, String)> { - Vec::new() + let mut files: Vec<(String, String)> = Vec::new(); + let events: Vec = [lesson_human(), lesson_machine(), mid_stream_join()] + .iter() + .chain(negative_event_vectors().iter()) + .map(|v| event_vector_json(v, &mut files)) + .collect(); + let cues: Vec = [styles_and_anchors(), disclosure_mix(), cc_characters(), cc_rollup()] + .iter() + .chain(negative_cue_vectors().iter()) + .map(|v| cue_vector_json(v, &mut files)) + .collect(); + let decode = decode_cases(&files); + let doc = json!({ + "corpus": "wai.text.timed", + "extension": "extensions/timed-text.md", + "pt0_ms": PT0_MS, + "room": hex(&room()), + "principals": PRINCIPALS.iter().map(|(n, i)| (n.to_string(), json!(hex(&pk(*i))))).collect::>(), + "models": [hex(&model(1)), hex(&model(2))], + "event_vectors": events, + "cue_vectors": cues, + "read_cases": read_cases(), + "decode_cases": decode, + }); + let mut paths = BTreeSet::new(); + for (p, s) in &files { + if p.ends_with(".608.hex") { + paths.extend(cc_paths(s)); + } + } + for p in CC_PATHS { + assert!(paths.contains(p), "no 608 file sends {p}"); + } + let mut out = vec![("vectors.json".to_string(), serde_json::to_string_pretty(&doc).expect("the corpus serialises") + "\n")]; + out.extend(files); + let fails = verify(&out.iter().cloned().collect()); + assert!(fails.is_empty(), "the generated corpus does not verify:\n{}", fails.join("\n")); + out } -/// Check a corpus directory's files against this module; the failures, one line each. -pub fn verify(_files: &std::collections::BTreeMap) -> Vec { - Vec::new() +// --------------------------------------------------------------------------------------- +// Verification +// --------------------------------------------------------------------------------------- + +fn same(fails: &mut Vec, what: String, got: &Value, want: &Value) { + if got != want { + fails.push(format!("{what}: {} is stated, this module gives {}", short(want), short(got))); + } +} + +fn short(v: &Value) -> String { + let s = v.to_string(); + if s.len() > 200 { format!("{}…", &s[..s.char_indices().nth(200).map_or(s.len(), |(i, _)| i)]) } else { s } +} + +fn file<'a>(files: &'a BTreeMap, v: &Value) -> Option<&'a String> { + files.get(v.as_str()?) +} + +/// Check the targets a vector states against this module's mappings of `published`. +fn verify_targets(name: &str, lang: &str, published: &[Published], stated: &Value, files: &BTreeMap, fails: &mut Vec) { + let mut t = Targets::none(); + t.webvtt = stated.get("webvtt").is_some(); + t.imsc = stated.get("imsc").is_some(); + if let Some(s) = stated.get("segments") { + let bounds = s["bounds"].as_array().map(|b| b.iter().filter_map(Value::as_u64).collect()).unwrap_or_default(); + t.segments = Some((bounds, s["mpegts0"].as_u64().unwrap_or(0))); + } + if let Some(s) = stated.get("timelines") { + t.timelines = Some((s["group_ms"].as_u64().unwrap_or(0), s["first"].as_u64().unwrap_or(0), s["last"].as_u64().unwrap_or(0))); + } + if let Some(list) = stated.get("cc608").and_then(Value::as_array) { + for e in list { + let mode = e["mode"].as_str().and_then(Mode::from_name).unwrap_or(Mode::PopOn); + let rate = Rate { num: e["rate"][0].as_u64().unwrap_or(0), den: e["rate"][1].as_u64().unwrap_or(0) }; + t.cc.push((mode, rate)); + } + } + t.disclosure = stated.get("disclosure").is_some(); + let mut mine = Vec::new(); + let got = map_targets(name, lang, published, &t, &mut mine); + same(fails, format!("{name}: targets"), &got, stated); + for (p, s) in mine { + match files.get(&p) { + None => fails.push(format!("{name}: {p} is not in the corpus")), + Some(c) if *c != s => fails.push(format!("{name}: {p} differs from this module's rendering")), + Some(_) => {} + } + } + // Every WebVTT file and segment reads back to its cues (§5.3), and every 608 file + // decodes to what the vector states (§8.8). + let cues: Vec = sorted(&published.iter().map(|p| p.cue.clone()).collect::>()); + if let Some(doc) = stated.get("webvtt").and_then(|w| file(files, &w["file"])) { + match from_webvtt(doc, lang) { + Ok((back, None)) if back == cues => {} + other => fails.push(format!("{name}: its WebVTT file reads back as {other:?}")), + } + } + if let Some(s) = stated.get("segments") { + let bounds: Vec = s["bounds"].as_array().map(|b| b.iter().filter_map(Value::as_u64).collect()).unwrap_or_default(); + for (k, f) in s["files"].as_array().into_iter().flatten().enumerate() { + let (b, e) = (bounds[k], bounds[k + 1]); + let want: Vec = cues.iter().filter(|c| c.start < e && c.end > b).cloned().collect(); + match file(files, f).map(|d| from_webvtt(d, lang)) { + Some(Ok((back, Some((local, _))))) if back == want && local == b => {} + other => fails.push(format!("{name}: segment {k} reads back as {other:?}")), + } + } + } + for e in stated.get("cc608").and_then(Value::as_array).into_iter().flatten() { + if let Some(h) = file(files, &e["file"]) { + match cc608::from_hex(h).and_then(|p| cc608::decode(&p)) { + Ok(ev) => same(fails, format!("{name}: {} decoded", e["file"]), &cc_events_json(&ev), &e["decoded"]), + Err(r) => fails.push(format!("{name}: {} does not decode: {r}", e["file"])), + } + } + } +} + +/// Check a corpus (its files by path) against this module; the failures, one line each. +pub fn verify(files: &BTreeMap) -> Vec { + let mut fails = Vec::new(); + let Some(doc) = files.get("vectors.json") else { + return vec!["no vectors.json".into()]; + }; + let root: Value = match serde_json::from_str(doc) { + Ok(v) => v, + Err(e) => return vec![format!("vectors.json does not parse: {e}")], + }; + let pt0 = root["pt0_ms"].as_u64().unwrap_or(0); + let room_id = unhex32(root["room"].as_str().unwrap_or("")).unwrap_or([0; 32]); + let mut reasons: BTreeSet = BTreeSet::new(); + for v in root["event_vectors"].as_array().into_iter().flatten() { + let name = v["name"].as_str().unwrap_or("?"); + let events: Vec> = v["events"] + .as_array() + .into_iter() + .flatten() + .filter_map(|e| e.as_str().and_then(|s| (0..s.len()).step_by(2).map(|i| u8::from_str_radix(s.get(i..i + 2)?, 16).ok()).collect())) + .collect(); + let mut cv = CaptionVerifier::new(room_id, Policy::default()); + let outcome = verify_stream(&mut cv, &events); + let mut got = Map::new(); + outcome_json(&outcome, &mut got); + for k in ["outcome", "reason", "index", "gaps"] { + same(&mut fails, format!("{name}: {k}"), got.get(k).unwrap_or(&Value::Null), v.get(k).unwrap_or(&Value::Null)); + } + if let Some(r) = v["reason"].as_str() { + reasons.insert(r.to_string()); + } + if matches!(outcome, Outcome::Refuse { .. }) { + continue; + } + same(&mut fails, format!("{name}: revisions"), &revisions_json(&cv), &v["revisions"]); + for s in v["shown"].as_array().into_iter().flatten() { + same(&mut fails, format!("{name}: shown at {}", s["at"]), &shown_json(&cv, s["at"].as_u64().unwrap_or(0)), s); + } + match cv.resolve(pt0) { + Err((r, index)) => { + same(&mut fails, format!("{name}: resolve"), &json!({"reason": r.code(), "index": index}), &v["resolve"]); + reasons.insert(r.code().into()); + } + Ok(published) => { + let want = json!({ + "cues": published.iter().map(|p| cue_json(&p.cue)).collect::>(), + "published": published.iter().map(|p| p.pub_ms).collect::>(), + }); + same(&mut fails, format!("{name}: resolve"), &want, &v["resolve"]); + verify_targets(name, "en", &published, &v["targets"], files, &mut fails); + collect_reasons(&v["targets"], &mut reasons); + } + } + if let Some(j) = v.get("join") { + let g = j["group"].as_u64().unwrap_or(0); + let (stream, joined) = join_stream(&events, g); + same(&mut fails, format!("{name}: join stream"), &json!(stream.iter().map(|e| hex(e)).collect::>()), &j["stream"]); + same(&mut fails, format!("{name}: join set"), &json!(joined), &j["join_set"]); + let mut jv = CaptionVerifier::new(room_id, Policy::default()); + let jo = verify_stream(&mut jv, &stream); + let mut got = Map::new(); + outcome_json(&jo, &mut got); + for k in ["outcome", "gaps"] { + same(&mut fails, format!("{name}: join {k}"), got.get(k).unwrap_or(&Value::Null), j.get(k).unwrap_or(&Value::Null)); + } + for s in j["shown"].as_array().into_iter().flatten() { + let x = s["at"].as_u64().unwrap_or(0); + same(&mut fails, format!("{name}: joiner shown at {x}"), &shown_json(&jv, x), s); + same(&mut fails, format!("{name}: joiner and full subscriber at {x}"), &shown_json(&cv, x), s); + } + } + } + for v in root["cue_vectors"].as_array().into_iter().flatten() { + let name = v["name"].as_str().unwrap_or("?"); + let lang = v["lang"].as_str().unwrap_or(""); + let Some(cues) = v["cues"].as_array().and_then(|a| a.iter().map(cue_from_json).collect::>>()) else { + fails.push(format!("{name}: its cues do not read")); + continue; + }; + let published: Vec = cues.iter().map(|c| Published { cue: c.clone(), pub_ms: c.start }).collect(); + verify_targets(name, lang, &published, &v["targets"], files, &mut fails); + collect_reasons(&v["targets"], &mut reasons); + } + for c in root["read_cases"].as_array().into_iter().flatten() { + let got = match from_webvtt(c["text"].as_str().unwrap_or(""), c["lang"].as_str().unwrap_or("")) { + Ok(_) => "accept", + Err(r) => r.code(), + }; + same(&mut fails, format!("read case {}", c["name"]), &json!(got), &c["reason"]); + reasons.insert(got.into()); + } + for c in root["decode_cases"].as_array().into_iter().flatten() { + let got = match cc608::from_hex(c["hex"].as_str().unwrap_or("")).and_then(|p| cc608::decode(&p)) { + Ok(_) => "accept", + Err(r) => r.code(), + }; + same(&mut fails, format!("decode case {}", c["name"]), &json!(got), &c["reason"]); + reasons.insert(got.into()); + } + for r in Reason::ALL { + if !reasons.contains(r.code()) { + fails.push(format!("nothing in the corpus is refused {r}")); + } + } + fails +} + +fn collect_reasons(targets: &Value, into: &mut BTreeSet) { + let mut add = |v: &Value| { + if let Some(r) = v.get("reason").and_then(Value::as_str) { + into.insert(r.into()); + } + }; + for k in ["webvtt", "imsc", "segments", "timelines"] { + if let Some(v) = targets.get(k) { + add(v); + } + } + for e in targets.get("cc608").and_then(Value::as_array).into_iter().flatten() { + add(e); + } } diff --git a/wai/wai-rs/tests/timed_text.rs b/wai/wai-rs/tests/timed_text.rs new file mode 100644 index 000000000..68267b161 --- /dev/null +++ b/wai/wai-rs/tests/timed_text.rs @@ -0,0 +1,67 @@ +//! `wai.text.timed` (extensions/timed-text.md): the committed corpus +//! `live-conformance/captions/` regenerates byte for byte from its fixed seeds, holds no +//! other file, every case in it gets the outcome it states, it covers every reason and +//! every 608 code path, and the extension's §12 lists exactly the reasons the reference +//! reports. +#![cfg(feature = "timed_text")] + +use std::collections::{BTreeMap, BTreeSet}; +use std::path::PathBuf; +use wai::timed_text::{corpus, Reason}; + +fn wai_dir() -> PathBuf { + PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("..") +} + +fn committed() -> BTreeMap { + let dir = wai_dir().join("live-conformance/captions"); + std::fs::read_dir(&dir) + .expect("the committed corpus") + .flatten() + .map(|e| (e.file_name().to_string_lossy().into_owned(), e.path())) + .filter(|(n, _)| n != "README.md") + .map(|(n, p)| (n, std::fs::read_to_string(p).expect("a text file"))) + .collect() +} + +#[test] +fn the_committed_corpus_regenerates_from_its_seeds() { + let files = committed(); + let generated: BTreeMap = corpus::generate().into_iter().collect(); + let extra: Vec<&String> = files.keys().filter(|k| !generated.contains_key(*k)).collect(); + let missing: Vec<&String> = generated.keys().filter(|k| !files.contains_key(*k)).collect(); + let differ: Vec<&String> = generated.iter().filter(|(k, v)| files.get(*k).is_some_and(|f| f != *v)).map(|(k, _)| k).collect(); + assert!(extra.is_empty() && missing.is_empty() && differ.is_empty(), "extra {extra:?}, missing {missing:?}, differ {differ:?}: run `wai_timed_text_vectors gen`"); +} + +#[test] +fn every_case_gets_its_stated_outcome() { + let fails = corpus::verify(&committed()); + assert!(fails.is_empty(), "{}", fails.join("\n")); +} + +/// Every 608 code path §8 uses is in a committed file. +#[test] +fn the_corpus_covers_every_608_path() { + let mut seen = BTreeSet::new(); + for (name, body) in committed() { + if name.ends_with(".608.hex") { + seen.extend(corpus::cc_paths(&body)); + } + } + for p in corpus::CC_PATHS { + assert!(seen.contains(p), "no committed 608 file sends {p}"); + } +} + +/// §12 of the extension lists exactly the codes `Reason` has, each once, in order. +#[test] +fn the_extension_lists_the_reasons() { + let text = std::fs::read_to_string(wai_dir().join("extensions/timed-text.md")).expect("the extension"); + let at = text.find("\n## 12. Reasons").expect("a §12"); + let end = text[at + 1..].find("\n## ").map_or(text.len(), |e| at + 1 + e); + let listed: Vec = + text[at..end].lines().filter(|l| l.starts_with("| `")).filter_map(|l| l.split('`').nth(1).map(String::from)).collect(); + let want: Vec = Reason::ALL.iter().map(|r| r.code().to_string()).collect(); + assert_eq!(listed, want, "§12's table and Reason::ALL differ"); +} -- 2.54.0 (Apple Git-157) From 8a11294aa9dbfd76875cd2e2ac818fdbd2e3bc3c Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 11:06:03 -0400 Subject: [PATCH 17/26] wai: live-conformance/captions from fixed seeds (WIP) Co-Authored-By: Claude Opus 5.5 --- .../captions/cc_characters.pop-on.608.hex | 230 ++ .../captions/cc_characters.ttml | 23 + .../captions/cc_characters.vtt | 16 + .../captions/cc_rollup.pop-on.r25-1.608.hex | 89 + .../captions/cc_rollup.roll-up-2.608.hex | 77 + .../cc_rollup.roll-up-2.r25-1.608.hex | 77 + .../captions/cc_rollup.roll-up-3.608.hex | 77 + .../captions/cc_rollup.roll-up-4.608.hex | 77 + .../captions/cues_overlap.vtt | 7 + .../captions/disclosure_mix.pop-on.608.hex | 109 + .../captions/disclosure_mix.seg0.vtt | 8 + .../captions/disclosure_mix.seg1.vtt | 12 + .../captions/disclosure_mix.seg2.vtt | 5 + .../captions/disclosure_mix.ttml | 23 + .../captions/disclosure_mix.vtt | 14 + .../captions/hrm_exceeded.vtt | 31 + .../captions/lesson_human.pop-on.608.hex | 136 + .../captions/lesson_human.seg0.vtt | 5 + .../captions/lesson_human.seg1.vtt | 9 + .../captions/lesson_human.seg2.vtt | 9 + .../captions/lesson_human.seg3.vtt | 9 + .../captions/lesson_human.ttml | 24 + .../captions/lesson_human.vtt | 18 + .../captions/lesson_machine.pop-on.608.hex | 67 + .../captions/lesson_machine.roll-up-2.608.hex | 51 + .../captions/lesson_machine.seg0.vtt | 5 + .../captions/lesson_machine.seg1.vtt | 8 + .../captions/lesson_machine.seg2.vtt | 8 + .../captions/lesson_machine.ttml | 22 + .../captions/lesson_machine.vtt | 10 + .../captions/mid_stream_join.ttml | 22 + .../captions/mid_stream_join.vtt | 10 + .../captions/style_not_expressible.vtt | 4 + .../styles_and_anchors.pop-on.608.hex | 195 ++ .../captions/styles_and_anchors.seg0.vtt | 9 + .../captions/styles_and_anchors.seg1.vtt | 13 + .../captions/styles_and_anchors.seg2.vtt | 13 + .../captions/styles_and_anchors.seg3.vtt | 5 + .../captions/styles_and_anchors.ttml | 27 + .../captions/styles_and_anchors.vtt | 28 + wai/live-conformance/captions/vectors.json | 3062 +++++++++++++++++ 41 files changed, 4644 insertions(+) create mode 100644 wai/live-conformance/captions/cc_characters.pop-on.608.hex create mode 100644 wai/live-conformance/captions/cc_characters.ttml create mode 100644 wai/live-conformance/captions/cc_characters.vtt create mode 100644 wai/live-conformance/captions/cc_rollup.pop-on.r25-1.608.hex create mode 100644 wai/live-conformance/captions/cc_rollup.roll-up-2.608.hex create mode 100644 wai/live-conformance/captions/cc_rollup.roll-up-2.r25-1.608.hex create mode 100644 wai/live-conformance/captions/cc_rollup.roll-up-3.608.hex create mode 100644 wai/live-conformance/captions/cc_rollup.roll-up-4.608.hex create mode 100644 wai/live-conformance/captions/cues_overlap.vtt create mode 100644 wai/live-conformance/captions/disclosure_mix.pop-on.608.hex create mode 100644 wai/live-conformance/captions/disclosure_mix.seg0.vtt create mode 100644 wai/live-conformance/captions/disclosure_mix.seg1.vtt create mode 100644 wai/live-conformance/captions/disclosure_mix.seg2.vtt create mode 100644 wai/live-conformance/captions/disclosure_mix.ttml create mode 100644 wai/live-conformance/captions/disclosure_mix.vtt create mode 100644 wai/live-conformance/captions/hrm_exceeded.vtt create mode 100644 wai/live-conformance/captions/lesson_human.pop-on.608.hex create mode 100644 wai/live-conformance/captions/lesson_human.seg0.vtt create mode 100644 wai/live-conformance/captions/lesson_human.seg1.vtt create mode 100644 wai/live-conformance/captions/lesson_human.seg2.vtt create mode 100644 wai/live-conformance/captions/lesson_human.seg3.vtt create mode 100644 wai/live-conformance/captions/lesson_human.ttml create mode 100644 wai/live-conformance/captions/lesson_human.vtt create mode 100644 wai/live-conformance/captions/lesson_machine.pop-on.608.hex create mode 100644 wai/live-conformance/captions/lesson_machine.roll-up-2.608.hex create mode 100644 wai/live-conformance/captions/lesson_machine.seg0.vtt create mode 100644 wai/live-conformance/captions/lesson_machine.seg1.vtt create mode 100644 wai/live-conformance/captions/lesson_machine.seg2.vtt create mode 100644 wai/live-conformance/captions/lesson_machine.ttml create mode 100644 wai/live-conformance/captions/lesson_machine.vtt create mode 100644 wai/live-conformance/captions/mid_stream_join.ttml create mode 100644 wai/live-conformance/captions/mid_stream_join.vtt create mode 100644 wai/live-conformance/captions/style_not_expressible.vtt create mode 100644 wai/live-conformance/captions/styles_and_anchors.pop-on.608.hex create mode 100644 wai/live-conformance/captions/styles_and_anchors.seg0.vtt create mode 100644 wai/live-conformance/captions/styles_and_anchors.seg1.vtt create mode 100644 wai/live-conformance/captions/styles_and_anchors.seg2.vtt create mode 100644 wai/live-conformance/captions/styles_and_anchors.seg3.vtt create mode 100644 wai/live-conformance/captions/styles_and_anchors.ttml create mode 100644 wai/live-conformance/captions/styles_and_anchors.vtt create mode 100644 wai/live-conformance/captions/vectors.json diff --git a/wai/live-conformance/captions/cc_characters.pop-on.608.hex b/wai/live-conformance/captions/cc_characters.pop-on.608.hex new file mode 100644 index 000000000..04e3af5d7 --- /dev/null +++ b/wai/live-conformance/captions/cc_characters.pop-on.608.hex @@ -0,0 +1,230 @@ +275 9420 +276 9420 +277 94ae +278 94ae +279 9470 +280 9470 +281 97a1 +282 97a1 +283 9137 +284 9137 +285 9137 +286 9137 +287 2080 +288 91b0 +289 91b0 +290 2080 +291 9131 +292 9131 +293 2080 +294 9132 +295 9132 +296 2080 +297 91b3 +298 91b3 +299 2080 +300 9134 +301 9134 +302 2080 +303 91b5 +304 91b5 +305 2080 +306 91b6 +307 91b6 +308 2080 +309 9138 +310 9138 +311 91b9 +312 91b9 +313 91ba +314 91ba +315 2080 +316 913b +317 913b +318 2080 +319 91bc +320 91bc +321 2080 +322 913d +323 913d +324 2080 +325 913e +326 913e +327 2080 +328 91bf +329 91bf +330 942f +331 942f +366 9420 +367 9420 +368 94ae +369 94ae +370 9452 +371 9452 +372 97a2 +373 97a2 +374 4580 +375 92a1 +376 92a1 +377 ec20 +378 64e9 +379 eaef +380 20a2 +381 923e +382 923e +383 735e +384 a280 +385 92bf +386 92bf +387 20a1 +388 92a7 +389 92a7 +390 942c +391 942c +392 fd61 +393 6e64 +394 e0a1 +395 94f4 +396 94f4 +397 fb20 +398 7c20 +399 2a20 +400 dc20 +401 5e20 +402 df20 +403 e020 +404 fe80 +405 942f +406 942f +413 9420 +414 9420 +415 94ae +416 94ae +417 9452 +418 9452 +419 c180 +420 13b0 +421 13b0 +422 20ef +423 13b3 +424 13b3 +425 2073 +426 1334 +427 1334 +428 204f +429 13ba +430 13ba +431 2061 +432 13b9 +433 13b9 +434 2020 +435 1329 +436 1329 +437 f820 +438 132a +439 132a +440 2020 +441 13ab +442 13ab +443 2020 +444 132c +445 132c +446 2020 +447 13ad +448 13ad +449 2020 +450 13ae +451 13ae +452 2020 +453 132f +454 132f +455 94f4 +456 94f4 +457 97a2 +458 97a2 +459 2080 +460 92a8 +461 92a8 +462 2020 +463 922a +464 922a +465 942c +466 942c +468 2020 +469 92ab +470 92ab +471 2020 +472 922c +473 922c +474 20a2 +475 92ae +476 92ae +477 f1a2 +478 922f +479 922f +480 942f +481 942f +494 9420 +495 9420 +496 94ae +497 94ae +498 9452 +499 9452 +500 97a2 +501 97a2 +502 49f4 +503 a773 +504 20b9 +505 adb5 +506 2020 +507 13bc +508 13bc +509 2080 +510 133d +511 133d +512 2080 +513 133e +514 133e +515 2080 +516 13bf +517 13bf +518 2020 +519 13b5 +520 13b5 +521 2020 +522 13b6 +523 13b6 +524 2020 +525 1337 +526 1337 +527 94f4 +528 94f4 +529 97a1 +530 97a1 +531 a780 +532 9226 +533 9226 +534 2020 +535 92ad +536 92ad +537 20c1 +538 1320 +539 1320 +540 942c +541 942c +543 20ef +544 13a8 +545 13a8 +546 2049 +547 1323 +548 1323 +549 20e9 +550 13a4 +551 13a4 +552 204f +553 1325 +554 1325 +555 942f +556 942f +615 942c +616 942c diff --git a/wai/live-conformance/captions/cc_characters.ttml b/wai/live-conformance/captions/cc_characters.ttml new file mode 100644 index 000000000..0635cde8a --- /dev/null +++ b/wai/live-conformance/captions/cc_characters.ttml @@ -0,0 +1,23 @@ + + + + + +http://www.w3.org/ns/ttml/profile/imsc1/text +http://www.w3.org/ns/ttml/profile/imsc1.3/text + + + + + + + + +
+

♪♪ ® ° ½ ¿ ™ ¢ £ à è â ê î ô û

+

Él dijo «sí» ¡Ñandú!
ç ÷ á é í ó ú ñ

+

Ä ö ß Ø å {x} \ ^ _ | ~
* — © ℠ “q”

+

It’s 9–5 ┌┐└┘ ¥ ¤ ¦
‘ • Ã õ Ì ì Ò

+
+ +
diff --git a/wai/live-conformance/captions/cc_characters.vtt b/wai/live-conformance/captions/cc_characters.vtt new file mode 100644 index 000000000..2b4c5f0d9 --- /dev/null +++ b/wai/live-conformance/captions/cc_characters.vtt @@ -0,0 +1,16 @@ +WEBVTT + +00:00:11.000 --> 00:00:13.000 line:90%,end position:50%,center size:80% align:center +♪♪ ® ° ½ ¿ ™ ¢ £ à è â ê î ô û + +00:00:13.500 --> 00:00:15.500 line:90%,end position:50%,center size:80% align:center +Él dijo «sí» ¡Ñandú! +ç ÷ á é í ó ú ñ + +00:00:16.000 --> 00:00:18.000 line:90%,end position:50%,center size:80% align:center +Ä ö ß Ø å {x} \ ^ _ | ~ +* — © ℠ “q” + +00:00:18.500 --> 00:00:20.500 line:90%,end position:50%,center size:80% align:center +It’s 9–5 ┌┐└┘ ¥ ¤ ¦ +‘ • Ã õ Ì ì Ò diff --git a/wai/live-conformance/captions/cc_rollup.pop-on.r25-1.608.hex b/wai/live-conformance/captions/cc_rollup.pop-on.r25-1.608.hex new file mode 100644 index 000000000..aff36bc62 --- /dev/null +++ b/wai/live-conformance/captions/cc_rollup.pop-on.r25-1.608.hex @@ -0,0 +1,89 @@ +243 9420 +244 9420 +245 94ae +246 94ae +247 94ce +248 94ce +249 52ef +250 ecec +251 ad75 +252 7080 +253 9120 +254 9120 +255 6be5 +256 e570 +257 7320 +258 f468 +259 e520 +260 ece9 +261 6ee5 +262 7380 +263 9470 +264 9470 +265 6162 +266 ef76 +267 e520 +268 e9f4 +269 20ef +270 6e20 +271 73e3 +272 f2e5 +273 e56e +274 ae80 +275 942f +276 942f +326 9420 +327 9420 +328 94ae +329 94ae +330 9470 +331 9470 +332 9723 +333 9723 +334 5468 +335 e56e +336 2061 +337 91ae +338 91ae +339 6ee5 +340 f780 +341 9120 +342 9120 +343 ece9 +344 6ee5 +345 20f2 +346 efec +347 ec73 +348 20e9 +349 6eae +350 942f +351 942f +400 942c +401 942c +402 9420 +403 9420 +404 94ae +405 94ae +406 9470 +407 9470 +408 9723 +409 9723 +410 c1e6 +411 f4e5 +412 f220 +413 6120 +414 6761 +415 702c +416 20e9 +417 f420 +418 73f4 +419 61f2 +420 f473 +421 20e3 +422 ece5 +423 616e +424 ae80 +425 942f +426 942f +475 942c +476 942c diff --git a/wai/live-conformance/captions/cc_rollup.roll-up-2.608.hex b/wai/live-conformance/captions/cc_rollup.roll-up-2.608.hex new file mode 100644 index 000000000..3ef83f65c --- /dev/null +++ b/wai/live-conformance/captions/cc_rollup.roll-up-2.608.hex @@ -0,0 +1,77 @@ +330 9425 +331 9425 +332 946e +333 946e +334 52ef +335 ecec +336 ad75 +337 7080 +338 9120 +339 9120 +340 6be5 +341 e570 +342 7320 +343 f468 +344 e520 +345 ece9 +346 6ee5 +347 7380 +348 94ad +349 94ad +350 9470 +351 9470 +352 6162 +353 ef76 +354 e520 +355 e9f4 +356 20ef +357 6e20 +358 73e3 +359 f2e5 +360 e56e +361 ae80 +420 94ad +421 94ad +422 9470 +423 9470 +424 9723 +425 9723 +426 5468 +427 e56e +428 2061 +429 91ae +430 91ae +431 6ee5 +432 f780 +433 9120 +434 9120 +435 ece9 +436 6ee5 +437 20f2 +438 efec +439 ec73 +440 20e9 +441 6eae +480 942c +481 942c +510 9470 +511 9470 +512 9723 +513 9723 +514 c1e6 +515 f4e5 +516 f220 +517 6120 +518 6761 +519 702c +520 20e9 +521 f420 +522 73f4 +523 61f2 +524 f473 +525 20e3 +526 ece5 +527 616e +528 ae80 +570 942c +571 942c diff --git a/wai/live-conformance/captions/cc_rollup.roll-up-2.r25-1.608.hex b/wai/live-conformance/captions/cc_rollup.roll-up-2.r25-1.608.hex new file mode 100644 index 000000000..fc8338a1b --- /dev/null +++ b/wai/live-conformance/captions/cc_rollup.roll-up-2.r25-1.608.hex @@ -0,0 +1,77 @@ +275 9425 +276 9425 +277 946e +278 946e +279 52ef +280 ecec +281 ad75 +282 7080 +283 9120 +284 9120 +285 6be5 +286 e570 +287 7320 +288 f468 +289 e520 +290 ece9 +291 6ee5 +292 7380 +293 94ad +294 94ad +295 9470 +296 9470 +297 6162 +298 ef76 +299 e520 +300 e9f4 +301 20ef +302 6e20 +303 73e3 +304 f2e5 +305 e56e +306 ae80 +350 94ad +351 94ad +352 9470 +353 9470 +354 9723 +355 9723 +356 5468 +357 e56e +358 2061 +359 91ae +360 91ae +361 6ee5 +362 f780 +363 9120 +364 9120 +365 ece9 +366 6ee5 +367 20f2 +368 efec +369 ec73 +370 20e9 +371 6eae +400 942c +401 942c +425 9470 +426 9470 +427 9723 +428 9723 +429 c1e6 +430 f4e5 +431 f220 +432 6120 +433 6761 +434 702c +435 20e9 +436 f420 +437 73f4 +438 61f2 +439 f473 +440 20e3 +441 ece5 +442 616e +443 ae80 +475 942c +476 942c diff --git a/wai/live-conformance/captions/cc_rollup.roll-up-3.608.hex b/wai/live-conformance/captions/cc_rollup.roll-up-3.608.hex new file mode 100644 index 000000000..1751f8ad9 --- /dev/null +++ b/wai/live-conformance/captions/cc_rollup.roll-up-3.608.hex @@ -0,0 +1,77 @@ +330 9426 +331 9426 +332 946e +333 946e +334 52ef +335 ecec +336 ad75 +337 7080 +338 9120 +339 9120 +340 6be5 +341 e570 +342 7320 +343 f468 +344 e520 +345 ece9 +346 6ee5 +347 7380 +348 94ad +349 94ad +350 9470 +351 9470 +352 6162 +353 ef76 +354 e520 +355 e9f4 +356 20ef +357 6e20 +358 73e3 +359 f2e5 +360 e56e +361 ae80 +420 94ad +421 94ad +422 9470 +423 9470 +424 9723 +425 9723 +426 5468 +427 e56e +428 2061 +429 91ae +430 91ae +431 6ee5 +432 f780 +433 9120 +434 9120 +435 ece9 +436 6ee5 +437 20f2 +438 efec +439 ec73 +440 20e9 +441 6eae +480 942c +481 942c +510 9470 +511 9470 +512 9723 +513 9723 +514 c1e6 +515 f4e5 +516 f220 +517 6120 +518 6761 +519 702c +520 20e9 +521 f420 +522 73f4 +523 61f2 +524 f473 +525 20e3 +526 ece5 +527 616e +528 ae80 +570 942c +571 942c diff --git a/wai/live-conformance/captions/cc_rollup.roll-up-4.608.hex b/wai/live-conformance/captions/cc_rollup.roll-up-4.608.hex new file mode 100644 index 000000000..51cd1a25c --- /dev/null +++ b/wai/live-conformance/captions/cc_rollup.roll-up-4.608.hex @@ -0,0 +1,77 @@ +330 94a7 +331 94a7 +332 946e +333 946e +334 52ef +335 ecec +336 ad75 +337 7080 +338 9120 +339 9120 +340 6be5 +341 e570 +342 7320 +343 f468 +344 e520 +345 ece9 +346 6ee5 +347 7380 +348 94ad +349 94ad +350 9470 +351 9470 +352 6162 +353 ef76 +354 e520 +355 e9f4 +356 20ef +357 6e20 +358 73e3 +359 f2e5 +360 e56e +361 ae80 +420 94ad +421 94ad +422 9470 +423 9470 +424 9723 +425 9723 +426 5468 +427 e56e +428 2061 +429 91ae +430 91ae +431 6ee5 +432 f780 +433 9120 +434 9120 +435 ece9 +436 6ee5 +437 20f2 +438 efec +439 ec73 +440 20e9 +441 6eae +480 942c +481 942c +510 9470 +511 9470 +512 9723 +513 9723 +514 c1e6 +515 f4e5 +516 f220 +517 6120 +518 6761 +519 702c +520 20e9 +521 f420 +522 73f4 +523 61f2 +524 f473 +525 20e3 +526 ece5 +527 616e +528 ae80 +570 942c +571 942c diff --git a/wai/live-conformance/captions/cues_overlap.vtt b/wai/live-conformance/captions/cues_overlap.vtt new file mode 100644 index 000000000..2ebbf51eb --- /dev/null +++ b/wai/live-conformance/captions/cues_overlap.vtt @@ -0,0 +1,7 @@ +WEBVTT + +00:00:01.000 --> 00:00:03.000 line:90%,end position:50%,center size:80% align:center +one + +00:00:02.000 --> 00:00:04.000 line:10%,start position:50%,center size:80% align:center +two diff --git a/wai/live-conformance/captions/disclosure_mix.pop-on.608.hex b/wai/live-conformance/captions/disclosure_mix.pop-on.608.hex new file mode 100644 index 000000000..69a085a6b --- /dev/null +++ b/wai/live-conformance/captions/disclosure_mix.pop-on.608.hex @@ -0,0 +1,109 @@ +312 9420 +313 9420 +314 94ae +315 94ae +316 94f2 +317 94f2 +318 97a2 +319 97a2 +320 c120 +321 70e5 +322 f273 +323 ef6e +324 20f7 +325 f2ef +326 f4e5 +327 20f4 +328 68e9 +329 73ae +330 942f +331 942f +384 9420 +385 9420 +386 94ae +387 94ae +388 94f2 +389 94f2 +390 942c +391 942c +393 97a2 +394 97a2 +395 c120 +396 6def +397 64e5 +398 ec20 +399 f7f2 +400 eff4 +401 e520 +402 f468 +403 e973 +404 ae80 +405 942f +406 942f +445 9420 +446 9420 +447 94ae +448 94ae +449 9452 +450 9452 +451 97a2 +452 97a2 +453 c120 +454 6def +455 64e5 +456 ec20 +457 f7f2 +458 eff4 +459 e520 +460 f468 +461 e973 +462 2c80 +463 94f2 +464 94f2 +465 942c +466 942c +468 616e +469 6420 +470 6120 +471 70e5 +472 f273 +473 ef6e +474 20e3 +475 68e5 +476 e36b +477 e564 +478 20e9 +479 f4ae +480 942f +481 942f +528 9420 +529 9420 +530 94ae +531 94ae +532 91d0 +533 91d0 +534 9723 +535 9723 +536 c16e +537 eff4 +538 68e5 +539 f280 +540 942c +541 942c +542 91ae +543 91ae +544 6def +545 64e5 +546 ec80 +547 9120 +548 9120 +549 f7f2 +550 eff4 +551 e520 +552 f468 +553 e973 +554 ae80 +555 942f +556 942f +615 942c +616 942c diff --git a/wai/live-conformance/captions/disclosure_mix.seg0.vtt b/wai/live-conformance/captions/disclosure_mix.seg0.vtt new file mode 100644 index 000000000..daf250fdf --- /dev/null +++ b/wai/live-conformance/captions/disclosure_mix.seg0.vtt @@ -0,0 +1,8 @@ +WEBVTT +X-TIMESTAMP-MAP=LOCAL:00:00:10.000,MPEGTS:1800000 + +00:00:11.000 --> 00:00:13.000 line:90%,end position:50%,center size:80% align:center +A person wrote this. + +00:00:13.500 --> 00:00:15.500 line:90%,end position:50%,center size:80% align:center +A model wrote this. diff --git a/wai/live-conformance/captions/disclosure_mix.seg1.vtt b/wai/live-conformance/captions/disclosure_mix.seg1.vtt new file mode 100644 index 000000000..c26d072fa --- /dev/null +++ b/wai/live-conformance/captions/disclosure_mix.seg1.vtt @@ -0,0 +1,12 @@ +WEBVTT +X-TIMESTAMP-MAP=LOCAL:00:00:15.000,MPEGTS:2250000 + +00:00:13.500 --> 00:00:15.500 line:90%,end position:50%,center size:80% align:center +A model wrote this. + +00:00:16.000 --> 00:00:18.000 line:90%,end position:50%,center size:80% align:center +A model wrote this, +and a person checked it. + +00:00:18.500 --> 00:00:20.500 line:10%,start position:50%,center size:80% align:center +Another model wrote this. diff --git a/wai/live-conformance/captions/disclosure_mix.seg2.vtt b/wai/live-conformance/captions/disclosure_mix.seg2.vtt new file mode 100644 index 000000000..fd5b4db36 --- /dev/null +++ b/wai/live-conformance/captions/disclosure_mix.seg2.vtt @@ -0,0 +1,5 @@ +WEBVTT +X-TIMESTAMP-MAP=LOCAL:00:00:20.000,MPEGTS:2700000 + +00:00:18.500 --> 00:00:20.500 line:10%,start position:50%,center size:80% align:center +Another model wrote this. diff --git a/wai/live-conformance/captions/disclosure_mix.ttml b/wai/live-conformance/captions/disclosure_mix.ttml new file mode 100644 index 000000000..5e48ab572 --- /dev/null +++ b/wai/live-conformance/captions/disclosure_mix.ttml @@ -0,0 +1,23 @@ + + + + + +http://www.w3.org/ns/ttml/profile/imsc1/text +http://www.w3.org/ns/ttml/profile/imsc1.3/text + + + + + + + + +
+

A person wrote this.

+

A model wrote this.

+

A model wrote this,
and a person checked it.

+

Another model wrote this.

+
+ +
diff --git a/wai/live-conformance/captions/disclosure_mix.vtt b/wai/live-conformance/captions/disclosure_mix.vtt new file mode 100644 index 000000000..541cf9ba5 --- /dev/null +++ b/wai/live-conformance/captions/disclosure_mix.vtt @@ -0,0 +1,14 @@ +WEBVTT + +00:00:11.000 --> 00:00:13.000 line:90%,end position:50%,center size:80% align:center +A person wrote this. + +00:00:13.500 --> 00:00:15.500 line:90%,end position:50%,center size:80% align:center +A model wrote this. + +00:00:16.000 --> 00:00:18.000 line:90%,end position:50%,center size:80% align:center +A model wrote this, +and a person checked it. + +00:00:18.500 --> 00:00:20.500 line:10%,start position:50%,center size:80% align:center +Another model wrote this. diff --git a/wai/live-conformance/captions/hrm_exceeded.vtt b/wai/live-conformance/captions/hrm_exceeded.vtt new file mode 100644 index 000000000..a30a40df2 --- /dev/null +++ b/wai/live-conformance/captions/hrm_exceeded.vtt @@ -0,0 +1,31 @@ +WEBVTT + +00:00:01.000 --> 00:00:01.100 line:90%,end position:50%,center size:80% align:center +ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn + +00:00:01.100 --> 00:00:01.200 line:90%,end position:50%,center size:80% align:center +JKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw + +00:00:01.200 --> 00:00:01.300 line:90%,end position:50%,center size:80% align:center +STUVWXYZabcdefghijklmnopqrstuvwxyz012345 + +00:00:01.300 --> 00:00:01.400 line:90%,end position:50%,center size:80% align:center +bcdefghijklmnopqrstuvwxyz0123456789ABCDE + +00:00:01.400 --> 00:00:01.500 line:90%,end position:50%,center size:80% align:center +klmnopqrstuvwxyz0123456789ABCDEFGHIJKLMN + +00:00:01.500 --> 00:00:01.600 line:90%,end position:50%,center size:80% align:center +tuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVW + +00:00:01.600 --> 00:00:01.700 line:90%,end position:50%,center size:80% align:center +23456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdef + +00:00:01.700 --> 00:00:01.800 line:90%,end position:50%,center size:80% align:center +BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmno + +00:00:01.800 --> 00:00:01.900 line:90%,end position:50%,center size:80% align:center +KLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx + +00:00:01.900 --> 00:00:02.000 line:90%,end position:50%,center size:80% align:center +TUVWXYZabcdefghijklmnopqrstuvwxyz0123456 diff --git a/wai/live-conformance/captions/lesson_human.pop-on.608.hex b/wai/live-conformance/captions/lesson_human.pop-on.608.hex new file mode 100644 index 000000000..19b1fe246 --- /dev/null +++ b/wai/live-conformance/captions/lesson_human.pop-on.608.hex @@ -0,0 +1,136 @@ +312 9420 +313 9420 +314 94ae +315 94ae +316 94f2 +317 94f2 +318 c7ef +319 ef64 +320 206d +321 eff2 +322 6ee9 +323 6e67 +324 2c20 +325 e576 +326 e5f2 +327 79ef +328 6ee5 +329 ae80 +330 942f +331 942f +389 9420 +390 9420 +391 94ae +392 94ae +393 9454 +394 9454 +395 54ef +396 6461 +397 7920 +398 f7e5 +399 20ec +400 efef +401 6b20 +402 61f4 +403 94f2 +404 94f2 +405 942c +406 942c +408 97a2 +409 97a2 +410 68ef +411 f720 +412 f468 +413 e520 +414 f4e9 +415 64e5 +416 7320 +417 f7ef +418 f26b +419 ae80 +420 942f +421 942f +504 9420 +505 9420 +506 94ae +507 94ae +508 9152 +509 9152 +510 942c +511 942c +513 9723 +514 9723 +515 91ae +516 91ae +517 5bf7 +518 6176 +519 e573 +520 20e3 +521 f261 +522 7368 +523 e96e +524 675d +525 942f +526 942f +562 9420 +563 9420 +564 94ae +565 94ae +566 9452 +567 9452 +568 5468 +569 e580 +570 91ae +571 91ae +572 cdef +573 ef6e +574 9120 +575 9120 +576 7075 +577 ecec +578 7320 +579 f468 +580 e520 +581 73e5 +582 612c +583 94f2 +584 94f2 +585 942c +586 942c +588 97a2 +589 97a2 +590 616e +591 6420 +592 f468 +593 e520 +594 73e5 +595 6120 +596 616e +597 73f7 +598 e5f2 +599 73ae +600 942f +601 942f +701 9420 +702 9420 +703 94ae +704 94ae +705 942c +706 942c +707 9470 +708 9470 +709 5175 +710 e573 +711 f4e9 +712 ef6e +713 73bf +714 20c1 +715 736b +716 2062 +717 e5ec +718 eff7 +719 ae80 +720 942f +721 942f +780 942c +781 942c diff --git a/wai/live-conformance/captions/lesson_human.seg0.vtt b/wai/live-conformance/captions/lesson_human.seg0.vtt new file mode 100644 index 000000000..71d94f8b5 --- /dev/null +++ b/wai/live-conformance/captions/lesson_human.seg0.vtt @@ -0,0 +1,5 @@ +WEBVTT +X-TIMESTAMP-MAP=LOCAL:00:00:10.000,MPEGTS:1800000 + +00:00:11.000 --> 00:00:13.500 line:90%,end position:50%,center size:80% align:center +Good morning, everyone. diff --git a/wai/live-conformance/captions/lesson_human.seg1.vtt b/wai/live-conformance/captions/lesson_human.seg1.vtt new file mode 100644 index 000000000..74a1aeaeb --- /dev/null +++ b/wai/live-conformance/captions/lesson_human.seg1.vtt @@ -0,0 +1,9 @@ +WEBVTT +X-TIMESTAMP-MAP=LOCAL:00:00:14.000,MPEGTS:2160000 + +00:00:14.000 --> 00:00:17.000 line:90%,end position:50%,center size:80% align:center +Today we look at +how the tides work. + +00:00:17.500 --> 00:00:19.500 line:10%,start position:50%,center size:80% align:center +[waves crashing] diff --git a/wai/live-conformance/captions/lesson_human.seg2.vtt b/wai/live-conformance/captions/lesson_human.seg2.vtt new file mode 100644 index 000000000..afdd9a992 --- /dev/null +++ b/wai/live-conformance/captions/lesson_human.seg2.vtt @@ -0,0 +1,9 @@ +WEBVTT +X-TIMESTAMP-MAP=LOCAL:00:00:18.000,MPEGTS:2520000 + +00:00:17.500 --> 00:00:19.500 line:10%,start position:50%,center size:80% align:center +[waves crashing] + +00:00:20.000 --> 00:00:23.500 line:90%,end position:50%,center size:80% align:center +The Moon pulls the sea, +and the sea answers. diff --git a/wai/live-conformance/captions/lesson_human.seg3.vtt b/wai/live-conformance/captions/lesson_human.seg3.vtt new file mode 100644 index 000000000..e1f1089bb --- /dev/null +++ b/wai/live-conformance/captions/lesson_human.seg3.vtt @@ -0,0 +1,9 @@ +WEBVTT +X-TIMESTAMP-MAP=LOCAL:00:00:22.000,MPEGTS:2880000 + +00:00:20.000 --> 00:00:23.500 line:90%,end position:50%,center size:80% align:center +The Moon pulls the sea, +and the sea answers. + +00:00:24.000 --> 00:00:26.000 line:90%,end position:50%,center size:80% align:left +Questions? Ask below. diff --git a/wai/live-conformance/captions/lesson_human.ttml b/wai/live-conformance/captions/lesson_human.ttml new file mode 100644 index 000000000..a49954ae0 --- /dev/null +++ b/wai/live-conformance/captions/lesson_human.ttml @@ -0,0 +1,24 @@ + + + + + +http://www.w3.org/ns/ttml/profile/imsc1/text +http://www.w3.org/ns/ttml/profile/imsc1.3/text + + + + + + + + +
+

Good morning, everyone.

+

Today we look at
how the tides work.

+

[waves crashing]

+

The Moon pulls the sea,
and the sea answers.

+

Questions? Ask below.

+
+ +
diff --git a/wai/live-conformance/captions/lesson_human.vtt b/wai/live-conformance/captions/lesson_human.vtt new file mode 100644 index 000000000..7df08d3e4 --- /dev/null +++ b/wai/live-conformance/captions/lesson_human.vtt @@ -0,0 +1,18 @@ +WEBVTT + +00:00:11.000 --> 00:00:13.500 line:90%,end position:50%,center size:80% align:center +Good morning, everyone. + +00:00:14.000 --> 00:00:17.000 line:90%,end position:50%,center size:80% align:center +Today we look at +how the tides work. + +00:00:17.500 --> 00:00:19.500 line:10%,start position:50%,center size:80% align:center +[waves crashing] + +00:00:20.000 --> 00:00:23.500 line:90%,end position:50%,center size:80% align:center +The Moon pulls the sea, +and the sea answers. + +00:00:24.000 --> 00:00:26.000 line:90%,end position:50%,center size:80% align:left +Questions? Ask below. diff --git a/wai/live-conformance/captions/lesson_machine.pop-on.608.hex b/wai/live-conformance/captions/lesson_machine.pop-on.608.hex new file mode 100644 index 000000000..cbe961733 --- /dev/null +++ b/wai/live-conformance/captions/lesson_machine.pop-on.608.hex @@ -0,0 +1,67 @@ +337 9420 +338 9420 +339 94ae +340 94ae +341 9470 +342 9470 +343 97a1 +344 97a1 +345 5468 +346 e520 +347 f4e9 +348 64e5 +349 20e3 +350 ef6d +351 e573 +352 20e9 +353 6e20 +354 f4f7 +355 e9e3 +356 e520 +357 6120 +358 6461 +359 79ae +360 942f +361 942f +459 9420 +460 9420 +461 94ae +462 94ae +463 94f2 +464 94f2 +465 942c +466 942c +468 97a2 +469 97a2 +470 616e +471 6420 +472 67ef +473 e573 +474 20ef +475 75f4 +476 2061 +477 6761 +478 e96e +479 ae80 +480 942f +481 942f +570 942c +571 942c +586 9420 +587 9420 +588 94ae +589 94ae +590 94f4 +591 94f4 +592 cee5 +593 f8f4 +594 2c20 +595 f468 +596 e520 +597 cdef +598 ef6e +599 ae80 +600 942f +601 942f +660 942c +661 942c diff --git a/wai/live-conformance/captions/lesson_machine.roll-up-2.608.hex b/wai/live-conformance/captions/lesson_machine.roll-up-2.608.hex new file mode 100644 index 000000000..dede0e252 --- /dev/null +++ b/wai/live-conformance/captions/lesson_machine.roll-up-2.608.hex @@ -0,0 +1,51 @@ +360 9425 +361 9425 +362 9470 +363 9470 +364 97a1 +365 97a1 +366 5468 +367 e520 +368 f4e9 +369 64e5 +370 20e3 +371 ef6d +372 e573 +373 20e9 +374 6e20 +375 f4f7 +376 e9e3 +377 e520 +378 6120 +379 6461 +380 79ae +465 942c +466 942c +480 94f2 +481 94f2 +482 97a2 +483 97a2 +484 616e +485 6420 +486 67ef +487 e573 +488 20ef +489 75f4 +490 2061 +491 6761 +492 e96e +493 ae80 +570 942c +571 942c +600 94f4 +601 94f4 +602 cee5 +603 f8f4 +604 2c20 +605 f468 +606 e520 +607 cdef +608 ef6e +609 ae80 +660 942c +661 942c diff --git a/wai/live-conformance/captions/lesson_machine.seg0.vtt b/wai/live-conformance/captions/lesson_machine.seg0.vtt new file mode 100644 index 000000000..b4bd37ee1 --- /dev/null +++ b/wai/live-conformance/captions/lesson_machine.seg0.vtt @@ -0,0 +1,5 @@ +WEBVTT +X-TIMESTAMP-MAP=LOCAL:00:00:10.000,MPEGTS:1800000 + +00:00:12.000 --> 00:00:15.500 line:90%,end position:50%,center size:80% align:center +The tide comes in twice a day. diff --git a/wai/live-conformance/captions/lesson_machine.seg1.vtt b/wai/live-conformance/captions/lesson_machine.seg1.vtt new file mode 100644 index 000000000..91abf5e95 --- /dev/null +++ b/wai/live-conformance/captions/lesson_machine.seg1.vtt @@ -0,0 +1,8 @@ +WEBVTT +X-TIMESTAMP-MAP=LOCAL:00:00:14.000,MPEGTS:2160000 + +00:00:12.000 --> 00:00:15.500 line:90%,end position:50%,center size:80% align:center +The tide comes in twice a day. + +00:00:16.000 --> 00:00:19.000 line:90%,end position:50%,center size:80% align:center +and goes out again. diff --git a/wai/live-conformance/captions/lesson_machine.seg2.vtt b/wai/live-conformance/captions/lesson_machine.seg2.vtt new file mode 100644 index 000000000..60152c6ac --- /dev/null +++ b/wai/live-conformance/captions/lesson_machine.seg2.vtt @@ -0,0 +1,8 @@ +WEBVTT +X-TIMESTAMP-MAP=LOCAL:00:00:18.000,MPEGTS:2520000 + +00:00:16.000 --> 00:00:19.000 line:90%,end position:50%,center size:80% align:center +and goes out again. + +00:00:20.000 --> 00:00:22.000 line:90%,end position:50%,center size:80% align:center +Next, the Moon. diff --git a/wai/live-conformance/captions/lesson_machine.ttml b/wai/live-conformance/captions/lesson_machine.ttml new file mode 100644 index 000000000..74df4e674 --- /dev/null +++ b/wai/live-conformance/captions/lesson_machine.ttml @@ -0,0 +1,22 @@ + + + + + +http://www.w3.org/ns/ttml/profile/imsc1/text +http://www.w3.org/ns/ttml/profile/imsc1.3/text + + + + + + + + +
+

The tide comes in twice a day.

+

and goes out again.

+

Next, the Moon.

+
+ +
diff --git a/wai/live-conformance/captions/lesson_machine.vtt b/wai/live-conformance/captions/lesson_machine.vtt new file mode 100644 index 000000000..5fe12a2e1 --- /dev/null +++ b/wai/live-conformance/captions/lesson_machine.vtt @@ -0,0 +1,10 @@ +WEBVTT + +00:00:12.000 --> 00:00:15.500 line:90%,end position:50%,center size:80% align:center +The tide comes in twice a day. + +00:00:16.000 --> 00:00:19.000 line:90%,end position:50%,center size:80% align:center +and goes out again. + +00:00:20.000 --> 00:00:22.000 line:90%,end position:50%,center size:80% align:center +Next, the Moon. diff --git a/wai/live-conformance/captions/mid_stream_join.ttml b/wai/live-conformance/captions/mid_stream_join.ttml new file mode 100644 index 000000000..b6b7334fa --- /dev/null +++ b/wai/live-conformance/captions/mid_stream_join.ttml @@ -0,0 +1,22 @@ + + + + + +http://www.w3.org/ns/ttml/profile/imsc1/text +http://www.w3.org/ns/ttml/profile/imsc1.3/text + + + + + + + + +
+

this line still shows

+

we now cross the minute.

+

after the join

+
+ +
diff --git a/wai/live-conformance/captions/mid_stream_join.vtt b/wai/live-conformance/captions/mid_stream_join.vtt new file mode 100644 index 000000000..10154b64e --- /dev/null +++ b/wai/live-conformance/captions/mid_stream_join.vtt @@ -0,0 +1,10 @@ +WEBVTT + +00:01:07.000 --> 00:01:11.000 line:90%,end position:50%,center size:80% align:center +this line still shows + +00:01:08.500 --> 00:01:12.300 line:90%,end position:50%,center size:80% align:center +we now cross the minute. + +00:01:11.000 --> 00:01:12.500 line:90%,end position:50%,center size:80% align:center +after the join diff --git a/wai/live-conformance/captions/style_not_expressible.vtt b/wai/live-conformance/captions/style_not_expressible.vtt new file mode 100644 index 000000000..29994ef2d --- /dev/null +++ b/wai/live-conformance/captions/style_not_expressible.vtt @@ -0,0 +1,4 @@ +WEBVTT + +00:00:01.000 --> 00:00:03.000 line:90%,end position:50%,center size:80% align:center +unbelievable diff --git a/wai/live-conformance/captions/styles_and_anchors.pop-on.608.hex b/wai/live-conformance/captions/styles_and_anchors.pop-on.608.hex new file mode 100644 index 000000000..d2532d151 --- /dev/null +++ b/wai/live-conformance/captions/styles_and_anchors.pop-on.608.hex @@ -0,0 +1,195 @@ +311 9420 +312 9420 +313 94ae +314 94ae +315 94f2 +316 94f2 +317 97a1 +318 97a1 +319 4576 +320 e5f2 +321 7920 +322 616e +323 e368 +324 eff2 +325 2c20 +326 e96e +327 20f4 +328 75f2 +329 6eae +330 942f +331 942f +375 9420 +376 9420 +377 94ae +378 94ae +379 94d0 +380 94d0 +381 4ce5 +382 e6f4 +383 2c20 +384 f7e9 +385 f468 +386 2061 +387 91ae +388 91ae +389 62e9 +390 942c +391 942c +392 6720 +393 e964 +394 e561 +395 9470 +396 9470 +397 ef76 +398 e5f2 +399 20f4 +400 f7ef +401 20ec +402 e96e +403 e573 +404 ae80 +405 942f +406 942f +455 9420 +456 9420 +457 94ae +458 94ae +459 9470 +460 9470 +461 9723 +462 9723 +463 52e9 +464 6768 +465 942c +466 942c +467 f4ba +468 20b5 +469 203e +470 20b3 +471 2026 +472 2032 +473 20bc +474 2034 +475 20ad +476 ad3e +477 20f4 +478 f275 +479 e580 +480 942f +481 942f +530 9420 +531 9420 +532 94ae +533 94ae +534 91d0 +535 91d0 +536 9723 +537 9723 +538 91ae +539 91ae +540 942c +541 942c +543 54ef +544 7020 +545 e3e5 +546 6ef4 +547 f2e5 +548 2c20 +549 e9f4 +550 61ec +551 e9e3 +552 20f7 +553 68ef +554 ece5 +555 942f +556 942f +602 9420 +603 9420 +604 94ae +605 94ae +606 91d0 +607 91d0 +608 f4ef +609 7020 +610 ece5 +611 e6f4 +612 2c20 +613 f468 +614 f2e5 +615 942c +616 942c +617 e580 +618 916e +619 916e +620 ece9 +621 6ee5 +622 7380 +623 9120 +624 9120 +625 efe6 +626 92d0 +627 92d0 +628 f4e5 +629 f8f4 +630 942f +631 942f +686 9420 +687 9420 +688 94ae +689 94ae +690 942c +691 942c +693 9158 +694 9158 +695 54ef +696 20f4 +697 68e5 +698 20f2 +699 e967 +700 68f4 +701 2c80 +702 91ae +703 91ae +704 ef6b +705 942f +706 942f +765 942c +766 942c +770 9420 +771 9420 +772 94ae +773 94ae +774 9476 +775 9476 +776 97a2 +777 97a2 +778 4f6e +779 e5ae +780 942f +781 942f +819 9420 +820 9420 +821 94ae +822 94ae +823 94f2 +824 94f2 +825 97a2 +826 97a2 +827 54f7 +828 ef2c +829 91ae +830 91ae +831 73f4 +832 f261 +833 e967 +834 68f4 +835 9120 +836 9120 +837 61e6 +838 f4e5 +839 f2ae +840 942f +841 942f +900 942c +901 942c diff --git a/wai/live-conformance/captions/styles_and_anchors.seg0.vtt b/wai/live-conformance/captions/styles_and_anchors.seg0.vtt new file mode 100644 index 000000000..c93de0df7 --- /dev/null +++ b/wai/live-conformance/captions/styles_and_anchors.seg0.vtt @@ -0,0 +1,9 @@ +WEBVTT +X-TIMESTAMP-MAP=LOCAL:00:00:10.000,MPEGTS:1800000 + +00:00:11.000 --> 00:00:13.000 line:90%,end position:50%,center size:80% align:center +Every anchor, in turn. + +00:00:13.500 --> 00:00:15.500 line:90%,end position:50%,center size:80% align:left +Left, with a big idea +over two lines. diff --git a/wai/live-conformance/captions/styles_and_anchors.seg1.vtt b/wai/live-conformance/captions/styles_and_anchors.seg1.vtt new file mode 100644 index 000000000..978e7cb64 --- /dev/null +++ b/wai/live-conformance/captions/styles_and_anchors.seg1.vtt @@ -0,0 +1,13 @@ +WEBVTT +X-TIMESTAMP-MAP=LOCAL:00:00:16.000,MPEGTS:2340000 + +00:00:16.000 --> 00:00:18.000 line:90%,end position:50%,center size:80% align:right +Right: 5 > 3 & 2 < 4 --> true + +00:00:18.500 --> 00:00:20.500 line:10%,start position:50%,center size:80% align:center +Top centre, italic whole + +00:00:21.000 --> 00:00:23.000 line:10%,start position:50%,center size:80% align:left +top left, three +lines of +text diff --git a/wai/live-conformance/captions/styles_and_anchors.seg2.vtt b/wai/live-conformance/captions/styles_and_anchors.seg2.vtt new file mode 100644 index 000000000..35f34a4d7 --- /dev/null +++ b/wai/live-conformance/captions/styles_and_anchors.seg2.vtt @@ -0,0 +1,13 @@ +WEBVTT +X-TIMESTAMP-MAP=LOCAL:00:00:22.000,MPEGTS:2880000 + +00:00:21.000 --> 00:00:23.000 line:10%,start position:50%,center size:80% align:left +top left, three +lines of +text + +00:00:23.500 --> 00:00:25.500 line:10%,start position:50%,center size:80% align:right +To the right, ok + +00:00:26.000 --> 00:00:28.000 line:90%,end position:50%,center size:80% align:center +One. diff --git a/wai/live-conformance/captions/styles_and_anchors.seg3.vtt b/wai/live-conformance/captions/styles_and_anchors.seg3.vtt new file mode 100644 index 000000000..2b7178232 --- /dev/null +++ b/wai/live-conformance/captions/styles_and_anchors.seg3.vtt @@ -0,0 +1,5 @@ +WEBVTT +X-TIMESTAMP-MAP=LOCAL:00:00:28.000,MPEGTS:3420000 + +00:00:28.000 --> 00:00:30.000 line:90%,end position:50%,center size:80% align:center +Two, straight after. diff --git a/wai/live-conformance/captions/styles_and_anchors.ttml b/wai/live-conformance/captions/styles_and_anchors.ttml new file mode 100644 index 000000000..538b6c337 --- /dev/null +++ b/wai/live-conformance/captions/styles_and_anchors.ttml @@ -0,0 +1,27 @@ + + + + + +http://www.w3.org/ns/ttml/profile/imsc1/text +http://www.w3.org/ns/ttml/profile/imsc1.3/text + + + + + + + + +
+

Every anchor, in turn.

+

Left, with a big idea
over two lines.

+

Right: 5 > 3 & 2 < 4 --> true

+

Top centre, italic whole

+

top left, three
lines of
text

+

To the right, ok

+

One.

+

Two, straight after.

+
+ +
diff --git a/wai/live-conformance/captions/styles_and_anchors.vtt b/wai/live-conformance/captions/styles_and_anchors.vtt new file mode 100644 index 000000000..365488e37 --- /dev/null +++ b/wai/live-conformance/captions/styles_and_anchors.vtt @@ -0,0 +1,28 @@ +WEBVTT + +00:00:11.000 --> 00:00:13.000 line:90%,end position:50%,center size:80% align:center +Every anchor, in turn. + +00:00:13.500 --> 00:00:15.500 line:90%,end position:50%,center size:80% align:left +Left, with a big idea +over two lines. + +00:00:16.000 --> 00:00:18.000 line:90%,end position:50%,center size:80% align:right +Right: 5 > 3 & 2 < 4 --> true + +00:00:18.500 --> 00:00:20.500 line:10%,start position:50%,center size:80% align:center +Top centre, italic whole + +00:00:21.000 --> 00:00:23.000 line:10%,start position:50%,center size:80% align:left +top left, three +lines of +text + +00:00:23.500 --> 00:00:25.500 line:10%,start position:50%,center size:80% align:right +To the right, ok + +00:00:26.000 --> 00:00:28.000 line:90%,end position:50%,center size:80% align:center +One. + +00:00:28.000 --> 00:00:30.000 line:90%,end position:50%,center size:80% align:center +Two, straight after. diff --git a/wai/live-conformance/captions/vectors.json b/wai/live-conformance/captions/vectors.json new file mode 100644 index 000000000..f63ea8db4 --- /dev/null +++ b/wai/live-conformance/captions/vectors.json @@ -0,0 +1,3062 @@ +{ + "corpus": "wai.text.timed", + "extension": "extensions/timed-text.md", + "pt0_ms": 10000, + "room": "afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e8", + "principals": { + "captioner": "b36c256a68a9cf6ffb01658a8f90b0695b2a4ca8186e02de6038d3513c61daca", + "asr": "7b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f24", + "host": "45e1d82747e34cdeb0dc1a38b3598448bee0a33a7003c6e587d48f8e677d7ae8" + }, + "models": [ + "28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c", + "c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0" + ], + "event_vectors": [ + { + "name": "lesson_human", + "about": "A human-captioned lesson (§4.1): plain caption events, which are final cues at the default anchor, and annotated finals with an anchor and italic runs; a chat event of another principal between them. Every target: WebVTT, segments, IMSC1, both MoQ timelines, 608 pop-on and the disclosure, which for human captions carries no machine label.", + "events": [ + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e8b36c256a68a9cf6ffb01658a8f90b0695b2a4ca8186e02de6038d3513c61daca0000000000000000000000000000000000000000000000000000000000000000000000000000000040420f0000000000000a2100c40900000102656e1700476f6f64206d6f726e696e672c2065766572796f6e652e20e8cf2eb48e94e8d192891f8523c43df2b9f7a85cbddd5203f4a48571c9b7605f0c234a607866fa40a8d430c986a9d4f9e9de2b4b0cf1a06765e98f394bdf07", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e8b36c256a68a9cf6ffb01658a8f90b0695b2a4ca8186e02de6038d3513c61daca010000000000000098b9c86a698a450ebdfe2eb28d389a8c06a44d4ecf1efdf2ee2ec5e11e941e2600093d0000000000000a2e00b80b00000102656e2400546f646179207765206c6f6f6b2061740a686f772074686520746964657320776f726b2ea3b13b837a8683fc1a7b21773d19eff01ba7452637fd17eab20d71fc736cecaae8c2df26df3db5bd03e21f21337a43b747e7e200d0b1eb16a6c68c00aaeafe0d", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e845e1d82747e34cdeb0dc1a38b3598448bee0a33a7003c6e587d48f8e677d7ae800000000000000000000000000000000000000000000000000000000000000000000000000000000404b4c000000000000030a00080057656c636f6d6521c6849b63fac29c90cf6921221422d32db6fab9704ff17654f435af7daffce6d0eb34ee3d6f3041f2ffd0361f58b07e27e13572669e31cb31b2e1126456297404", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e8b36c256a68a9cf6ffb01658a8f90b0695b2a4ca8186e02de6038d3513c61daca0200000000000000fb31defeb2a085426e51942f5213119f11c2b5dc9540fadac67d05a448b11ba3e070720000000000000a1a00d00700000102656e10005b7761766573206372617368696e675dae6b4ebb010de54d7253cf851738dcd332ed61155dbbfd2ca4c47a5a33f4d6ee40f98d1c75d293188ce0684b0ab8a62598d27bcaf7d66d2c57e0ed989c17e803", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e8b36c256a68a9cf6ffb01658a8f90b0695b2a4ca8186e02de6038d3513c61daca03000000000000005098149b8159505590255d1060ece731bb38de870b1e1fe181e02e4504ac7278e07072000000000000012e00575458310100000000000000000000000000000000000000000000000000000000000000000110000301000010002d514cc76e8d1e3433e21b0f860e0d659f8885924719169957f346abf0280026c7af00899298b5278eec15a63c4ab8507104bc160f808cdc7a79a85654fa6f0b", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e8b36c256a68a9cf6ffb01658a8f90b0695b2a4ca8186e02de6038d3513c61daca0400000000000000d9324706a45ff9143a05b9b886e68d34f1bf1004ef974650acbae8e2da2623568096980000000000000a3600ac0d00000102656e2c00546865204d6f6f6e2070756c6c7320746865207365612c0a616e64207468652073656120616e73776572732e9401d0d2f53a57f23d234f418146a7dfb0468601ec43575d42534f7bcf555fddd93230e1c398006da768fce80a8f5d658ca6846469c0d144c5fdc11fa2afe300", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e8b36c256a68a9cf6ffb01658a8f90b0695b2a4ca8186e02de6038d3513c61daca05000000000000008dfe64bde425ff335d2770fdfd8493369339799ba60087af770997fb6a2f9385809698000000000000012e0057545831010000000000000000000000000000000000000000000000000000000000000000012c00000104000400e6989009054683bc9932576bb244fd4c13c30f68426365cb0fef3e8d0a3501d6c999dbff3f85edb7d355e39480b645359a9841607be0f5c0a99d43299433bd0c", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e8b36c256a68a9cf6ffb01658a8f90b0695b2a4ca8186e02de6038d3513c61daca0600000000000000d583f63590199d67ef9b7a9ac3983be6bdb95f0049199a7c4656857203c6ae8e809fd50000000000000a1f00d00700000102656e15005175657374696f6e733f2041736b2062656c6f772e52db457d4754463f6ea8ec0df101c4664f43e9efb295b95ead42e309642db2c61c1d12053a71d6f68bbd814e690df23bc12676d28612f2b87db082420999b900", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e8b36c256a68a9cf6ffb01658a8f90b0695b2a4ca8186e02de6038d3513c61daca070000000000000085476b6e7112d577cabf78deef1649ed34edb10916a9321b20cb453d8888ec58809fd5000000000000012a005754583101000000000000000000000000000000000000000000000000000000000000000001150001001fb9287d5b94f49c0addb6f3e1ae6ac9b93b83312ff870d91e15cbe96b113644b0d59546ad46a40d90aa1deb4d968f666241e19338ee39d1dcef3f46c7016a08" + ], + "outcome": "accept", + "revisions": [ + { + "index": 0, + "annotation": null, + "final": true, + "unknown": false, + "stable_cp": 23, + "anchor": "bottom-center", + "italic": [], + "supersedes": null + }, + { + "index": 1, + "annotation": null, + "final": true, + "unknown": false, + "stable_cp": 36, + "anchor": "bottom-center", + "italic": [], + "supersedes": null + }, + { + "index": 3, + "annotation": 4, + "final": true, + "unknown": false, + "stable_cp": 16, + "anchor": "top-center", + "italic": [ + [ + 0, + 16 + ] + ], + "supersedes": null + }, + { + "index": 5, + "annotation": 6, + "final": true, + "unknown": false, + "stable_cp": 44, + "anchor": "bottom-center", + "italic": [ + [ + 4, + 4 + ] + ], + "supersedes": null + }, + { + "index": 7, + "annotation": 8, + "final": true, + "unknown": false, + "stable_cp": 21, + "anchor": "bottom-left", + "italic": [], + "supersedes": null + } + ], + "shown": [ + { + "at": 1500000, + "cues": [ + { + "principal": "captioner", + "text": "Good morning, everyone.", + "anchor": "bottom-center", + "origin": "human", + "italic": [], + "final": true + } + ] + }, + { + "at": 5000000, + "cues": [ + { + "principal": "captioner", + "text": "Today we look at\nhow the tides work.", + "anchor": "bottom-center", + "origin": "human", + "italic": [], + "final": true + } + ] + }, + { + "at": 8000000, + "cues": [ + { + "principal": "captioner", + "text": "[waves crashing]", + "anchor": "top-center", + "origin": "human", + "italic": [ + [ + 0, + 16 + ] + ], + "final": true + } + ] + }, + { + "at": 12000000, + "cues": [ + { + "principal": "captioner", + "text": "The Moon pulls the sea,\nand the sea answers.", + "anchor": "bottom-center", + "origin": "human", + "italic": [ + [ + 4, + 4 + ] + ], + "final": true + } + ] + }, + { + "at": 17000000, + "cues": [] + } + ], + "resolve": { + "cues": [ + { + "start": 11000, + "end": 13500, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "Good morning, everyone.", + "italic": [] + }, + { + "start": 14000, + "end": 17000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "Today we look at\nhow the tides work.", + "italic": [] + }, + { + "start": 17500, + "end": 19500, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "top-center", + "text": "[waves crashing]", + "italic": [ + [ + 0, + 16 + ] + ] + }, + { + "start": 20000, + "end": 23500, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "The Moon pulls the sea,\nand the sea answers.", + "italic": [ + [ + 4, + 4 + ] + ] + }, + { + "start": 24000, + "end": 26000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-left", + "text": "Questions? Ask below.", + "italic": [] + } + ], + "published": [ + 11000, + 14000, + 17500, + 20000, + 24000 + ] + }, + "targets": { + "webvtt": { + "file": "lesson_human.vtt" + }, + "imsc": { + "file": "lesson_human.ttml" + }, + "segments": { + "bounds": [ + 10000, + 14000, + 18000, + 22000, + 26000 + ], + "mpegts0": 900000, + "files": [ + "lesson_human.seg0.vtt", + "lesson_human.seg1.vtt", + "lesson_human.seg2.vtt", + "lesson_human.seg3.vtt" + ] + }, + "timelines": { + "group_ms": 4000, + "first": 2, + "last": 6, + "webvtt": [ + { + "group": 2, + "objects": [ + "[]", + "[{\"m\":11000,\"data\":{\"start\":11000,\"end\":13500,\"text\":\"Good morning, everyone.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]" + ] + }, + { + "group": 3, + "objects": [ + "[{\"m\":11000,\"data\":{\"start\":11000,\"end\":13500,\"text\":\"Good morning, everyone.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]", + "[{\"m\":14000,\"data\":{\"start\":14000,\"end\":17000,\"text\":\"Today we look at\\nhow the tides work.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]" + ] + }, + { + "group": 4, + "objects": [ + "[{\"m\":14000,\"data\":{\"start\":14000,\"end\":17000,\"text\":\"Today we look at\\nhow the tides work.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]", + "[{\"m\":17500,\"data\":{\"start\":17500,\"end\":19500,\"text\":\"[waves crashing]\",\"settings\":{\"line\":\"10%,start\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]" + ] + }, + { + "group": 5, + "objects": [ + "[]", + "[{\"m\":20000,\"data\":{\"start\":20000,\"end\":23500,\"text\":\"The Moon pulls the sea,\\nand the sea answers.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]" + ] + }, + { + "group": 6, + "objects": [ + "[]", + "[{\"m\":24000,\"data\":{\"start\":24000,\"end\":26000,\"text\":\"Questions? Ask below.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"left\"}}}]" + ] + } + ], + "imsc": [ + { + "group": 2, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}}]", + "[{\"m\":11000,\"data\":{\"start\":11000,\"end\":13500,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"Good morning, everyone.\"}]}}]" + ] + }, + { + "group": 3, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}},{\"m\":11000,\"data\":{\"start\":11000,\"end\":13500,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"Good morning, everyone.\"}]}}]", + "[{\"m\":14000,\"data\":{\"start\":14000,\"end\":17000,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"Today we look at\"},{\"br\":true},{\"text\":\"how the tides work.\"}]}}]" + ] + }, + { + "group": 4, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}},{\"m\":14000,\"data\":{\"start\":14000,\"end\":17000,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"Today we look at\"},{\"br\":true},{\"text\":\"how the tides work.\"}]}}]", + "[{\"m\":17500,\"data\":{\"start\":17500,\"end\":19500,\"region\":\"top\",\"style\":\"center\",\"content\":[{\"text\":\"[waves crashing]\",\"fontStyle\":\"italic\"}]}}]" + ] + }, + { + "group": 5, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}}]", + "[{\"m\":20000,\"data\":{\"start\":20000,\"end\":23500,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"The \"},{\"text\":\"Moon\",\"fontStyle\":\"italic\"},{\"text\":\" pulls the sea,\"},{\"br\":true},{\"text\":\"and the sea answers.\"}]}}]" + ] + }, + { + "group": 6, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}}]", + "[{\"m\":24000,\"data\":{\"start\":24000,\"end\":26000,\"region\":\"bottom\",\"style\":\"left\",\"content\":[{\"text\":\"Questions? Ask below.\"}]}}]" + ] + } + ] + }, + "cc608": [ + { + "mode": "pop-on", + "rate": [ + 30000, + 1001 + ], + "file": "lesson_human.pop-on.608.hex", + "decoded": [ + { + "show": 330, + "rows": [ + { + "row": 15, + "col": 4, + "text": "Good morning, everyone.", + "italic": [] + } + ] + }, + { + "erase": 405 + }, + { + "show": 420, + "rows": [ + { + "row": 14, + "col": 8, + "text": "Today we look at", + "italic": [] + }, + { + "row": 15, + "col": 6, + "text": "how the tides work.", + "italic": [] + } + ] + }, + { + "erase": 510 + }, + { + "show": 525, + "rows": [ + { + "row": 1, + "col": 8, + "text": "[waves crashing]", + "italic": [ + [ + 0, + 16 + ] + ] + } + ] + }, + { + "erase": 585 + }, + { + "show": 600, + "rows": [ + { + "row": 14, + "col": 4, + "text": "The Moon pulls the sea,", + "italic": [ + [ + 4, + 4 + ] + ] + }, + { + "row": 15, + "col": 6, + "text": "and the sea answers.", + "italic": [] + } + ] + }, + { + "erase": 705 + }, + { + "show": 720, + "rows": [ + { + "row": 15, + "col": 0, + "text": "Questions? Ask below.", + "italic": [] + } + ] + }, + { + "erase": 780 + } + ] + } + ], + "disclosure": { + "hls_subtitles": "#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID=\"subs\",NAME=\"Captions\",LANGUAGE=\"en\",CHARACTERISTICS=\"public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound\",URI=\"lesson_human/captions.m3u8\"", + "hls_closed_captions": "#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID=\"cc\",NAME=\"Captions\",LANGUAGE=\"en\",INSTREAM-ID=\"CC1\",CHARACTERISTICS=\"public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound\"", + "session_data": "#EXT-X-SESSION-DATA:DATA-ID=\"science.transaction.wai.timed-text\",URI=\"lesson_human.disclosure.json\",LANGUAGE=\"en\"", + "sidecar": "{\"wai_timed_text\":1,\"lang\":\"en\",\"cues\":[{\"start\":11000,\"end\":13500,\"origin\":\"human\"},{\"start\":14000,\"end\":17000,\"origin\":\"human\"},{\"start\":17500,\"end\":19500,\"origin\":\"human\"},{\"start\":20000,\"end\":23500,\"origin\":\"human\"},{\"start\":24000,\"end\":26000,\"origin\":\"human\"}]}", + "c2pa": "{\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/digitalCreation\",\"assertions\":[]}", + "catalog_webvtt": "{\"name\":\"captions-en\",\"packaging\":\"eventtimeline\",\"eventType\":\"urn:msf:captions:webvtt\",\"mimeType\":\"application/json\",\"depends\":[\"video\"],\"role\":\"caption\",\"lang\":\"en\",\"wai_machine_generated\":false}", + "catalog_imsc": "{\"name\":\"captions-en-imsc\",\"packaging\":\"eventtimeline\",\"eventType\":\"urn:msf:captions:imsc1\",\"mimeType\":\"application/json\",\"depends\":[\"video\"],\"role\":\"caption\",\"lang\":\"en\",\"imsc1Mode\":\"cue\",\"wai_machine_generated\":false}" + } + } + }, + { + "name": "lesson_machine", + "about": "A machine-captioned lesson with stability-tagged partials revised to final (§4.3): cue A is revised twice, each revision naming the one it supersedes and keeping its stable prefix; cue B's partial has a stated duration and its final is machine-reviewed; cue C is a final machine caption with no annotation. What a sink shows at each instant (§4.4), the cues the stream resolves to (§4.5), and every target, 608 in roll-up as live captions are, with the disclosure label.", + "events": [ + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240000000000000000000000000000000000000000000000000000000000000000000000000000000080841e0000000000000a3200000000000228be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c02656e080074686520746964659c3e64f50196b7bafa931c42a0e5918b95055418863d87732a1a88c0ee113c12efadb53d3ed04b18f1b48e7a333b9ebd37ce272c4e2cd07e1ac57ce9602b9d0a", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240100000000000000f772dbf52afbee14f32324304443706882c406b0869ec822406cb0318d16012e80841e000000000000012a00575458310100000000000000000000000000000000000000000000000000000000000000000000000000bb7a5c8fba201be74176e79b4b6d6287c7ebb585b3dd1d55ee8b8cc319b627c9db37949ae1e51d2cba43bee763add4f04f82f0c82a38b9d80df55135cd618a04", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f24020000000000000031db21c71ef501f544ce4fad52b34afa4f22f538600f73bb77b879311947e5ae009f240000000000000a3b00000000000228be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c02656e1100546865207469646520636f6d657320696e355f6972f3f23e73e63c109a7c55d485033959c811039e838089dd7eee01cc896e97b6aed3721b4d14d41bc23cb9e42fd7ae785a2e0fafdcb71528017cf2bf03", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240300000000000000a7a17b541ffed3f6c84e810a2b5fef9147ee3508b9e1f46bd5fc6c8786cc749d009f24000000000000012a005754583101f772dbf52afbee14f32324304443706882c406b0869ec822406cb0318d16012e000900000057ceaa75ec3e392b71885ef7226506c5dd17b6d28abffee559b126269ac6add5b715ae164cfc3faa0339c28f80d6b8741620c1efb285da832303a75c747d8b03", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240400000000000000b51646d8142dc7cdeaf521a2f78e71e78f7cb85d41f303404b3a199f644b456820402c0000000000000a4800280a00000228be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c02656e1e00546865207469646520636f6d657320696e2074776963652061206461792e4acb64732aaf065395dad2231ffcc7f49fd19697070b54ebc8cc8657ea2bf89623e52421af66dc75d543e034d5b0478fd39387c85b9797f6588c7a1e6d157904", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f2405000000000000002fa25d6e624989420c6e5e7a45660138f3d37710a195ca4eb6bfe0ada6543f4520402c000000000000012a005754583101a7a17b541ffed3f6c84e810a2b5fef9147ee3508b9e1f46bd5fc6c8786cc749d011e000000efe9755bd91855ef71fcce8f3a0a10c1b975c84c876e89b9fc4c409d0a34999b6346e2619a348d21b11b7e6b11c1c2db51214ffb1905a677ed175b568d45e20e", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f2406000000000000005c1cb5cec848ca5c635950a46459650f7493c0620e85dc33fcf8dd1aded4f8e3808d5b0000000000000a3600dc0500000228be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c02656e0c00616e6420676f6573206f75748fb277f4de0cb4cbd927843d8fbfbf28f34a2f90128fa7e4984bee62bbcd8c3a9d0cef10e7004880d52864cec3c5889bebba10ab3e1e917907e9e686a3e9c20a", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240700000000000000f5383351c623b86dc4b6682e25fea4baf02c14d2a3e7036965ba01d7800d1639808d5b000000000000012a0057545831010000000000000000000000000000000000000000000000000000000000000000000c0000009aee900becb5d00898442a523f5bafca62587cfa32bd929e6775c8b15d63cb87665e6924681a700473db045c9252e71fac5899243a39130db8d5e4e5d1e36d02", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f24080000000000000019383c768d7a667245e9192faca5f5a8763998a3160baca7ce86d1631304f815a02e630000000000000a3d00c40900000328be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c02656e1300616e6420676f6573206f757420616761696e2ed20604a73289772f7e2d40b2b0f884b4405bc14f151415088aa0341c0e3c22f3c710829cb370c0e938c610b24262e2266804fd0acd5866dcc3209153639f6400", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f2409000000000000007f1f6175133f9398023f471a728123d91cfc6c4657e6fb2c4db453898f42231aa02e63000000000000012a005754583101f5383351c623b86dc4b6682e25fea4baf02c14d2a3e7036965ba01d7800d1639011300000076d4d95e2bfdeac6d1591b227c7c0a03370b886aa1e2caeacfd9497f8044e55a087e05a19683c812261e7be95c26c6f1dcfb631e53fec040180cd9084ebff30a", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240a0000000000000006033d8574ec692a25f830363e00245750f891e984ef8668b37cfc05cf966a758096980000000000000a3900d00700000228be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c02656e0f004e6578742c20746865204d6f6f6e2eda3078f267e911e1da2ab2813b0f564a96755faca5a8516f0b61df3b15544a5d7e7acc4854e3e6176d0b8397444715de1998dcf3d9bb6e8b2cdd982b00194d0c" + ], + "outcome": "accept", + "revisions": [ + { + "index": 0, + "annotation": 1, + "final": false, + "unknown": false, + "stable_cp": 0, + "anchor": "bottom-center", + "italic": [], + "supersedes": null + }, + { + "index": 2, + "annotation": 3, + "final": false, + "unknown": false, + "stable_cp": 9, + "anchor": "bottom-center", + "italic": [], + "supersedes": 0 + }, + { + "index": 4, + "annotation": 5, + "final": true, + "unknown": false, + "stable_cp": 30, + "anchor": "bottom-center", + "italic": [], + "supersedes": 2 + }, + { + "index": 6, + "annotation": 7, + "final": false, + "unknown": false, + "stable_cp": 12, + "anchor": "bottom-center", + "italic": [], + "supersedes": null + }, + { + "index": 8, + "annotation": 9, + "final": true, + "unknown": false, + "stable_cp": 19, + "anchor": "bottom-center", + "italic": [], + "supersedes": 6 + }, + { + "index": 10, + "annotation": null, + "final": true, + "unknown": false, + "stable_cp": 15, + "anchor": "bottom-center", + "italic": [], + "supersedes": null + } + ], + "shown": [ + { + "at": 2200000, + "cues": [ + { + "principal": "asr", + "text": "the tide", + "anchor": "bottom-center", + "origin": "machine", + "italic": [], + "final": false + } + ] + }, + { + "at": 2500000, + "cues": [ + { + "principal": "asr", + "text": "The tide comes in", + "anchor": "bottom-center", + "origin": "machine", + "italic": [], + "final": false + } + ] + }, + { + "at": 3000000, + "cues": [ + { + "principal": "asr", + "text": "The tide comes in twice a day.", + "anchor": "bottom-center", + "origin": "machine", + "italic": [], + "final": true + } + ] + }, + { + "at": 6200000, + "cues": [ + { + "principal": "asr", + "text": "and goes out", + "anchor": "bottom-center", + "origin": "machine", + "italic": [], + "final": false + } + ] + }, + { + "at": 6700000, + "cues": [ + { + "principal": "asr", + "text": "and goes out again.", + "anchor": "bottom-center", + "origin": "machine-reviewed", + "italic": [], + "final": true + } + ] + }, + { + "at": 10500000, + "cues": [ + { + "principal": "asr", + "text": "Next, the Moon.", + "anchor": "bottom-center", + "origin": "machine", + "italic": [], + "final": true + } + ] + } + ], + "resolve": { + "cues": [ + { + "start": 12000, + "end": 15500, + "lang": "en", + "origin": "machine", + "model": "28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c", + "anchor": "bottom-center", + "text": "The tide comes in twice a day.", + "italic": [] + }, + { + "start": 16000, + "end": 19000, + "lang": "en", + "origin": "machine-reviewed", + "model": "28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c", + "anchor": "bottom-center", + "text": "and goes out again.", + "italic": [] + }, + { + "start": 20000, + "end": 22000, + "lang": "en", + "origin": "machine", + "model": "28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c", + "anchor": "bottom-center", + "text": "Next, the Moon.", + "italic": [] + } + ], + "published": [ + 12900, + 16500, + 20000 + ] + }, + "targets": { + "webvtt": { + "file": "lesson_machine.vtt" + }, + "imsc": { + "file": "lesson_machine.ttml" + }, + "segments": { + "bounds": [ + 10000, + 14000, + 18000, + 22000 + ], + "mpegts0": 900000, + "files": [ + "lesson_machine.seg0.vtt", + "lesson_machine.seg1.vtt", + "lesson_machine.seg2.vtt" + ] + }, + "timelines": { + "group_ms": 2000, + "first": 6, + "last": 11, + "webvtt": [ + { + "group": 6, + "objects": [ + "[]", + "[{\"m\":12000,\"data\":{\"start\":12000,\"end\":15500,\"text\":\"The tide comes in twice a day.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]" + ] + }, + { + "group": 7, + "objects": [ + "[{\"m\":12000,\"data\":{\"start\":12000,\"end\":15500,\"text\":\"The tide comes in twice a day.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]" + ] + }, + { + "group": 8, + "objects": [ + "[]", + "[{\"m\":16000,\"data\":{\"start\":16000,\"end\":19000,\"text\":\"and goes out again.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]" + ] + }, + { + "group": 9, + "objects": [ + "[{\"m\":16000,\"data\":{\"start\":16000,\"end\":19000,\"text\":\"and goes out again.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]" + ] + }, + { + "group": 10, + "objects": [ + "[]", + "[{\"m\":20000,\"data\":{\"start\":20000,\"end\":22000,\"text\":\"Next, the Moon.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]" + ] + }, + { + "group": 11, + "objects": [ + "[]" + ] + } + ], + "imsc": [ + { + "group": 6, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}}]", + "[{\"m\":12000,\"data\":{\"start\":12000,\"end\":15500,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"The tide comes in twice a day.\"}],\"wai_origin\":\"machine\",\"wai_model\":\"28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\"}}]" + ] + }, + { + "group": 7, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}},{\"m\":12000,\"data\":{\"start\":12000,\"end\":15500,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"The tide comes in twice a day.\"}],\"wai_origin\":\"machine\",\"wai_model\":\"28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\"}}]" + ] + }, + { + "group": 8, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}}]", + "[{\"m\":16000,\"data\":{\"start\":16000,\"end\":19000,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"and goes out again.\"}],\"wai_origin\":\"machine-reviewed\",\"wai_model\":\"28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\"}}]" + ] + }, + { + "group": 9, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}},{\"m\":16000,\"data\":{\"start\":16000,\"end\":19000,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"and goes out again.\"}],\"wai_origin\":\"machine-reviewed\",\"wai_model\":\"28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\"}}]" + ] + }, + { + "group": 10, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}}]", + "[{\"m\":20000,\"data\":{\"start\":20000,\"end\":22000,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"Next, the Moon.\"}],\"wai_origin\":\"machine\",\"wai_model\":\"28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\"}}]" + ] + }, + { + "group": 11, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}}]" + ] + } + ] + }, + "cc608": [ + { + "mode": "roll-up-2", + "rate": [ + 30000, + 1001 + ], + "file": "lesson_machine.roll-up-2.608.hex", + "decoded": [ + { + "line": 362, + "row": { + "row": 15, + "col": 1, + "text": "The tide comes in twice a day.", + "italic": [] + } + }, + { + "erase": 465 + }, + { + "line": 480, + "row": { + "row": 15, + "col": 6, + "text": "and goes out again.", + "italic": [] + } + }, + { + "erase": 570 + }, + { + "line": 600, + "row": { + "row": 15, + "col": 8, + "text": "Next, the Moon.", + "italic": [] + } + }, + { + "erase": 660 + } + ] + }, + { + "mode": "pop-on", + "rate": [ + 30000, + 1001 + ], + "file": "lesson_machine.pop-on.608.hex", + "decoded": [ + { + "show": 360, + "rows": [ + { + "row": 15, + "col": 1, + "text": "The tide comes in twice a day.", + "italic": [] + } + ] + }, + { + "erase": 465 + }, + { + "show": 480, + "rows": [ + { + "row": 15, + "col": 6, + "text": "and goes out again.", + "italic": [] + } + ] + }, + { + "erase": 570 + }, + { + "show": 600, + "rows": [ + { + "row": 15, + "col": 8, + "text": "Next, the Moon.", + "italic": [] + } + ] + }, + { + "erase": 660 + } + ] + } + ], + "disclosure": { + "hls_subtitles": "#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID=\"subs\",NAME=\"Captions\",LANGUAGE=\"en\",CHARACTERISTICS=\"public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound,public.machine-generated\",URI=\"lesson_machine/captions.m3u8\"", + "hls_closed_captions": "#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID=\"cc\",NAME=\"Captions\",LANGUAGE=\"en\",INSTREAM-ID=\"CC1\",CHARACTERISTICS=\"public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound,public.machine-generated\"", + "session_data": "#EXT-X-SESSION-DATA:DATA-ID=\"science.transaction.wai.timed-text\",URI=\"lesson_machine.disclosure.json\",LANGUAGE=\"en\"", + "sidecar": "{\"wai_timed_text\":1,\"lang\":\"en\",\"cues\":[{\"start\":12000,\"end\":15500,\"origin\":\"machine\",\"model\":\"28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\"},{\"start\":16000,\"end\":19000,\"origin\":\"machine-reviewed\",\"model\":\"28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\"},{\"start\":20000,\"end\":22000,\"origin\":\"machine\",\"model\":\"28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\"}]}", + "c2pa": "{\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/compositeSynthetic\",\"assertions\":[{\"label\":\"c2pa.ai-disclosure\",\"data\":{\"modelType\":\"c2pa.types.model\",\"modelIdentifier\":\"tag:transaction.science,2026:wai/model/28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\",\"contentProfile\":{\"humanOversightLevel\":\"fully_autonomous\"}}}]}", + "catalog_webvtt": "{\"name\":\"captions-en\",\"packaging\":\"eventtimeline\",\"eventType\":\"urn:msf:captions:webvtt\",\"mimeType\":\"application/json\",\"depends\":[\"video\"],\"role\":\"caption\",\"lang\":\"en\",\"wai_machine_generated\":true}", + "catalog_imsc": "{\"name\":\"captions-en-imsc\",\"packaging\":\"eventtimeline\",\"eventType\":\"urn:msf:captions:imsc1\",\"mimeType\":\"application/json\",\"depends\":[\"video\"],\"role\":\"caption\",\"lang\":\"en\",\"imsc1Mode\":\"cue\",\"wai_machine_generated\":true}" + } + } + }, + { + "name": "mid_stream_join", + "about": "A subscriber joining mid-stream (§4.6, §7.3). On the events track it joins at group 1 (room clock 60 s): the join set holds the caption whose interval contains the instant, and the open partial with no stated duration with its annotation; the joiner verifies a gap, refuses nothing, and shows what a subscriber from the start shows. On both caption timelines (2 s groups), the first object of each group repeats every cue still showing, so a joiner at any group holds every cue that has not ended.", + "events": [ + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240000000000000000000000000000000000000000000000000000000000000000000000000000000040c0650300000000000a3f00a00f000002c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b002656e150074686973206c696e65207374696c6c2073686f77731362fcae64304c0842bccd92906df382bef9aeccf76761b8b99845fe34b81aff3862b48f89c5bddc3340e51eb1ae02f815e28f3b9ddddc60a8e9f5e00f208403", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240100000000000000413f3fb5d28d9c141f8fbfd39a346e17dcc3b6fa082429aa6a92f02ef9c0ae0ba0a37c0300000000000a36000000000002c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b002656e0c007765206e6f772063726f7373bf6c11799049934e3ae60636a8629a2e8dfbdd37310c4df38e95ef865de5ac8ea7c7d20fee2a6828d2b5c2b4da04fd7277416c79aadfb3660154d7b73d6ffe09", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240200000000000000782beba00063a77b16131d4e3bd07284cc836a776e69d0654a1a90562316c1b3a0a37c030000000000012a00575458310100000000000000000000000000000000000000000000000000000000000000000000000000e634fed653eb24076c3a9cf7c4ffeb180bc56ec4df58dd0ffcb097596215ab30101d832eb7e793fd370e8737ef3427a1d9586370d9191c49bb6db36891acc60f", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240300000000000000f874513720e8e26138795fb70986e343c2364658ab660f267c43eb69baeacbdf405f8a0300000000000a41000000000002c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b002656e17007765206e6f772063726f737320746865206d696e7574654d6e7d830a89ac9266af526d4ad51cce532fb4e8cf2981878c4577ca16b219c8c68defc8f2c648c308b362172953f57da991003312b90f80225e10934a73ed08", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f2404000000000000006632f4b2275c474b23214c1086acdcd4c454f8d46ab867b51c480ab61c4e8f7f405f8a030000000000012a005754583101782beba00063a77b16131d4e3bd07284cc836a776e69d0654a1a90562316c1b30007000000b0f77fb30680f4931a153e62a722916d17defba7835a209be63e017bbb34d17b83aacca886d68bcab0b7b2112fb6577cc77314b6a127c46f073bfc46936de009", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f24050000000000000091cd93f38e8adf1ab3986228394ed227f9cc1b8926b7b0edfabcc7217726085ee01a980300000000000a4200d007000002c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b002656e18007765206e6f772063726f737320746865206d696e7574652e92688e0c7fa78567ae142b1f0893a6b843b4b759eadc6f6b08bc78358348a3219404883b7c70c1f2782358ce6ca5723455c4c492bacb9548714dcd2668b53909", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f2406000000000000002967be4ef25864bf6b5c1e7a56ddde8c99e5557c4ba454633fa25905da79e1e8e01a98030000000000012a0057545831016632f4b2275c474b23214c1086acdcd4c454f8d46ab867b51c480ab61c4e8f7f0118000000e955164b3ae3395b1b46a64c95a1ecbad1edbc5406938a73d183b89331709a376140a89ab463f575d8a11bd1a5165d2cf59b9021e0d960ea9bc53d9550250603", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240700000000000000505dc8d9d958f0de00077119e186c9d51aa2eb1f5d6b43a3b2e542a54958141840c9a20300000000000a3800dc05000002c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b002656e0e00616674657220746865206a6f696e8293132febfba6d0d599f18ea530c4568532471d1459ea9794e51368ab1ecb759daf5038216ec2b6f5fd06733b65693ea6dae37fc9edc7e3eb6d0bdbfc27e70d" + ], + "outcome": "accept", + "revisions": [ + { + "index": 0, + "annotation": null, + "final": true, + "unknown": false, + "stable_cp": 21, + "anchor": "bottom-center", + "italic": [], + "supersedes": null + }, + { + "index": 1, + "annotation": 2, + "final": false, + "unknown": false, + "stable_cp": 0, + "anchor": "bottom-center", + "italic": [], + "supersedes": null + }, + { + "index": 3, + "annotation": 4, + "final": false, + "unknown": false, + "stable_cp": 7, + "anchor": "bottom-center", + "italic": [], + "supersedes": 1 + }, + { + "index": 5, + "annotation": 6, + "final": true, + "unknown": false, + "stable_cp": 24, + "anchor": "bottom-center", + "italic": [], + "supersedes": 3 + }, + { + "index": 7, + "annotation": null, + "final": true, + "unknown": false, + "stable_cp": 14, + "anchor": "bottom-center", + "italic": [], + "supersedes": null + } + ], + "shown": [ + { + "at": 60000000, + "cues": [ + { + "principal": "asr", + "text": "this line still shows", + "anchor": "bottom-center", + "origin": "machine", + "italic": [], + "final": true + }, + { + "principal": "asr", + "text": "we now cross the minute", + "anchor": "bottom-center", + "origin": "machine", + "italic": [], + "final": false + } + ] + }, + { + "at": 60500000, + "cues": [ + { + "principal": "asr", + "text": "this line still shows", + "anchor": "bottom-center", + "origin": "machine", + "italic": [], + "final": true + }, + { + "principal": "asr", + "text": "we now cross the minute.", + "anchor": "bottom-center", + "origin": "machine", + "italic": [], + "final": true + } + ] + }, + { + "at": 61200000, + "cues": [ + { + "principal": "asr", + "text": "we now cross the minute.", + "anchor": "bottom-center", + "origin": "machine", + "italic": [], + "final": true + }, + { + "principal": "asr", + "text": "after the join", + "anchor": "bottom-center", + "origin": "machine", + "italic": [], + "final": true + } + ] + }, + { + "at": 62400000, + "cues": [ + { + "principal": "asr", + "text": "after the join", + "anchor": "bottom-center", + "origin": "machine", + "italic": [], + "final": true + } + ] + } + ], + "resolve": { + "cues": [ + { + "start": 67000, + "end": 71000, + "lang": "en", + "origin": "machine", + "model": "c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0", + "anchor": "bottom-center", + "text": "this line still shows", + "italic": [] + }, + { + "start": 68500, + "end": 72300, + "lang": "en", + "origin": "machine", + "model": "c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0", + "anchor": "bottom-center", + "text": "we now cross the minute.", + "italic": [] + }, + { + "start": 71000, + "end": 72500, + "lang": "en", + "origin": "machine", + "model": "c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0", + "anchor": "bottom-center", + "text": "after the join", + "italic": [] + } + ], + "published": [ + 67000, + 70300, + 71000 + ] + }, + "targets": { + "webvtt": { + "file": "mid_stream_join.vtt" + }, + "imsc": { + "file": "mid_stream_join.ttml" + }, + "timelines": { + "group_ms": 2000, + "first": 33, + "last": 36, + "webvtt": [ + { + "group": 33, + "objects": [ + "[]", + "[{\"m\":67000,\"data\":{\"start\":67000,\"end\":71000,\"text\":\"this line still shows\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]" + ] + }, + { + "group": 34, + "objects": [ + "[{\"m\":67000,\"data\":{\"start\":67000,\"end\":71000,\"text\":\"this line still shows\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]" + ] + }, + { + "group": 35, + "objects": [ + "[{\"m\":67000,\"data\":{\"start\":67000,\"end\":71000,\"text\":\"this line still shows\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]", + "[{\"m\":68500,\"data\":{\"start\":68500,\"end\":72300,\"text\":\"we now cross the minute.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]", + "[{\"m\":71000,\"data\":{\"start\":71000,\"end\":72500,\"text\":\"after the join\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]" + ] + }, + { + "group": 36, + "objects": [ + "[{\"m\":68500,\"data\":{\"start\":68500,\"end\":72300,\"text\":\"we now cross the minute.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}},{\"m\":71000,\"data\":{\"start\":71000,\"end\":72500,\"text\":\"after the join\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]" + ] + } + ], + "imsc": [ + { + "group": 33, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}}]", + "[{\"m\":67000,\"data\":{\"start\":67000,\"end\":71000,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"this line still shows\"}],\"wai_origin\":\"machine\",\"wai_model\":\"c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\"}}]" + ] + }, + { + "group": 34, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}},{\"m\":67000,\"data\":{\"start\":67000,\"end\":71000,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"this line still shows\"}],\"wai_origin\":\"machine\",\"wai_model\":\"c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\"}}]" + ] + }, + { + "group": 35, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}},{\"m\":67000,\"data\":{\"start\":67000,\"end\":71000,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"this line still shows\"}],\"wai_origin\":\"machine\",\"wai_model\":\"c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\"}}]", + "[{\"m\":68500,\"data\":{\"start\":68500,\"end\":72300,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"we now cross the minute.\"}],\"wai_origin\":\"machine\",\"wai_model\":\"c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\"}}]", + "[{\"m\":71000,\"data\":{\"start\":71000,\"end\":72500,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"after the join\"}],\"wai_origin\":\"machine\",\"wai_model\":\"c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\"}}]" + ] + }, + { + "group": 36, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}},{\"m\":68500,\"data\":{\"start\":68500,\"end\":72300,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"we now cross the minute.\"}],\"wai_origin\":\"machine\",\"wai_model\":\"c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\"}},{\"m\":71000,\"data\":{\"start\":71000,\"end\":72500,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"after the join\"}],\"wai_origin\":\"machine\",\"wai_model\":\"c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\"}}]" + ] + } + ] + }, + "disclosure": { + "hls_subtitles": "#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID=\"subs\",NAME=\"Captions\",LANGUAGE=\"en\",CHARACTERISTICS=\"public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound,public.machine-generated\",URI=\"mid_stream_join/captions.m3u8\"", + "hls_closed_captions": "#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID=\"cc\",NAME=\"Captions\",LANGUAGE=\"en\",INSTREAM-ID=\"CC1\",CHARACTERISTICS=\"public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound,public.machine-generated\"", + "session_data": "#EXT-X-SESSION-DATA:DATA-ID=\"science.transaction.wai.timed-text\",URI=\"mid_stream_join.disclosure.json\",LANGUAGE=\"en\"", + "sidecar": "{\"wai_timed_text\":1,\"lang\":\"en\",\"cues\":[{\"start\":67000,\"end\":71000,\"origin\":\"machine\",\"model\":\"c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\"},{\"start\":68500,\"end\":72300,\"origin\":\"machine\",\"model\":\"c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\"},{\"start\":71000,\"end\":72500,\"origin\":\"machine\",\"model\":\"c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\"}]}", + "c2pa": "{\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia\",\"assertions\":[{\"label\":\"c2pa.ai-disclosure\",\"data\":{\"modelType\":\"c2pa.types.model\",\"modelIdentifier\":\"tag:transaction.science,2026:wai/model/c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\",\"contentProfile\":{\"humanOversightLevel\":\"fully_autonomous\"}}}]}", + "catalog_webvtt": "{\"name\":\"captions-en\",\"packaging\":\"eventtimeline\",\"eventType\":\"urn:msf:captions:webvtt\",\"mimeType\":\"application/json\",\"depends\":[\"video\"],\"role\":\"caption\",\"lang\":\"en\",\"wai_machine_generated\":true}", + "catalog_imsc": "{\"name\":\"captions-en-imsc\",\"packaging\":\"eventtimeline\",\"eventType\":\"urn:msf:captions:imsc1\",\"mimeType\":\"application/json\",\"depends\":[\"video\"],\"role\":\"caption\",\"lang\":\"en\",\"imsc1Mode\":\"cue\",\"wai_machine_generated\":true}" + } + }, + "join": { + "group": 1, + "stream": [ + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240000000000000000000000000000000000000000000000000000000000000000000000000000000040c0650300000000000a3f00a00f000002c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b002656e150074686973206c696e65207374696c6c2073686f77731362fcae64304c0842bccd92906df382bef9aeccf76761b8b99845fe34b81aff3862b48f89c5bddc3340e51eb1ae02f815e28f3b9ddddc60a8e9f5e00f208403", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240300000000000000f874513720e8e26138795fb70986e343c2364658ab660f267c43eb69baeacbdf405f8a0300000000000a41000000000002c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b002656e17007765206e6f772063726f737320746865206d696e7574654d6e7d830a89ac9266af526d4ad51cce532fb4e8cf2981878c4577ca16b219c8c68defc8f2c648c308b362172953f57da991003312b90f80225e10934a73ed08", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f2404000000000000006632f4b2275c474b23214c1086acdcd4c454f8d46ab867b51c480ab61c4e8f7f405f8a030000000000012a005754583101782beba00063a77b16131d4e3bd07284cc836a776e69d0654a1a90562316c1b30007000000b0f77fb30680f4931a153e62a722916d17defba7835a209be63e017bbb34d17b83aacca886d68bcab0b7b2112fb6577cc77314b6a127c46f073bfc46936de009", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f24050000000000000091cd93f38e8adf1ab3986228394ed227f9cc1b8926b7b0edfabcc7217726085ee01a980300000000000a4200d007000002c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b002656e18007765206e6f772063726f737320746865206d696e7574652e92688e0c7fa78567ae142b1f0893a6b843b4b759eadc6f6b08bc78358348a3219404883b7c70c1f2782358ce6ca5723455c4c492bacb9548714dcd2668b53909", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f2406000000000000002967be4ef25864bf6b5c1e7a56ddde8c99e5557c4ba454633fa25905da79e1e8e01a98030000000000012a0057545831016632f4b2275c474b23214c1086acdcd4c454f8d46ab867b51c480ab61c4e8f7f0118000000e955164b3ae3395b1b46a64c95a1ecbad1edbc5406938a73d183b89331709a376140a89ab463f575d8a11bd1a5165d2cf59b9021e0d960ea9bc53d9550250603", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240700000000000000505dc8d9d958f0de00077119e186c9d51aa2eb1f5d6b43a3b2e542a54958141840c9a20300000000000a3800dc05000002c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b002656e0e00616674657220746865206a6f696e8293132febfba6d0d599f18ea530c4568532471d1459ea9794e51368ab1ecb759daf5038216ec2b6f5fd06733b65693ea6dae37fc9edc7e3eb6d0bdbfc27e70d" + ], + "join_set": [ + 0, + 3, + 4 + ], + "outcome": "gap", + "gaps": [ + [ + "asr", + 1, + 2 + ] + ], + "shown": [ + { + "at": 60000000, + "cues": [ + { + "principal": "asr", + "text": "this line still shows", + "anchor": "bottom-center", + "origin": "machine", + "italic": [], + "final": true + }, + { + "principal": "asr", + "text": "we now cross the minute", + "anchor": "bottom-center", + "origin": "machine", + "italic": [], + "final": false + } + ] + }, + { + "at": 60500000, + "cues": [ + { + "principal": "asr", + "text": "this line still shows", + "anchor": "bottom-center", + "origin": "machine", + "italic": [], + "final": true + }, + { + "principal": "asr", + "text": "we now cross the minute.", + "anchor": "bottom-center", + "origin": "machine", + "italic": [], + "final": true + } + ] + }, + { + "at": 61200000, + "cues": [ + { + "principal": "asr", + "text": "we now cross the minute.", + "anchor": "bottom-center", + "origin": "machine", + "italic": [], + "final": true + }, + { + "principal": "asr", + "text": "after the join", + "anchor": "bottom-center", + "origin": "machine", + "italic": [], + "final": true + } + ] + }, + { + "at": 62400000, + "cues": [ + { + "principal": "asr", + "text": "after the join", + "anchor": "bottom-center", + "origin": "machine", + "italic": [], + "final": true + } + ] + } + ] + } + }, + { + "name": "annotation_malformed", + "about": "An annotation whose anchor is 9 (§4.2): annotation_malformed.", + "events": [ + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240000000000000000000000000000000000000000000000000000000000000000000000000000000040420f0000000000000a2f00e80300000228be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c02656e050068656c6c6f1acdb421e94cbd1b29bc082c020b252fe8aa507eba4a7495741083df9e38101de97acfb446fa615f2388a6301510d4df7b17c6180b9e29819e3be96293c1910f", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f2401000000000000001d9a048817a5ed35b4e88119319ada7f43fa237f16f54a8af78466469772733440420f000000000000012a005754583101000000000000000000000000000000000000000000000000000000000000000001050009008bbc937e5aa7a7257d2d7da0527b3d5147e0d5d19f25c1a8bc3e0e883620a36a756900137079435653613b501a885a097706641bfc03b434bf5b5f074af55a09" + ], + "outcome": "refuse", + "reason": "annotation_malformed", + "index": 1 + }, + { + "name": "annotation_misplaced", + "about": "An annotation after a chat event, not after a caption (§4.3): annotation_misplaced.", + "events": [ + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240000000000000000000000000000000000000000000000000000000000000000000000000000000040420f00000000000003040002006869832836b1993a4df9183237e3556fe3be5d57ce513239b64ea21232147b6ed22381bff34ccfb4150a0e3623ab608f81e75526d3db2a86481eba9e644b6c052c0e", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240100000000000000ce126de76bc7ae6502bd42d90f98ef1700ee12557c0121f284b13cbe887e87c440420f000000000000012a005754583101000000000000000000000000000000000000000000000000000000000000000001020000005aa2a17cbb65ae9a7e4580cb48e2815d083f332ad8a97e0754331232f1fa266ac740368e6c06cd5c8134061c3fd0bfdc74c61b7c5d2aed61ca994eef554d1703" + ], + "outcome": "refuse", + "reason": "annotation_misplaced", + "index": 1 + }, + { + "name": "supersede_unknown", + "about": "A revision superseding a caption the principal never sent, its chain whole (§4.3): supersede_unknown.", + "events": [ + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240000000000000000000000000000000000000000000000000000000000000000000000000000000040420f0000000000000a2f00000000000228be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c02656e050068656c6c6f3bf11e2de219007424c8af148ada31f8904e8e104654bb8c8ea8f63a3b6120bfd43322d3a4eb64dde723b1527b386d58da8968161d792eda7584ee3c80065f0a", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f24010000000000000020f1a1bd1d656405bc2ee3545b6ea024bacf7338c9b3406061deb0329684ac1840420f000000000000012a005754583101bbb0b11e7ef4adc13c0eaa1fd4bbac74e455a2b08f053ee38e9c48acd822994900000000004c1e0cf255d39adfd658b4a24f52ef930550341763280f0951fb351fa8a4f0248b6bcf3976208c39ffb1ae68c882f8b22ad17fcea55310745b610a4acab67503" + ], + "outcome": "refuse", + "reason": "supersede_unknown", + "index": 1 + }, + { + "name": "supersede_final", + "about": "A revision superseding a final caption (§4.3): supersede_final.", + "events": [ + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240000000000000000000000000000000000000000000000000000000000000000000000000000000040420f0000000000000a2f00e80300000228be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c02656e050068656c6c6f1acdb421e94cbd1b29bc082c020b252fe8aa507eba4a7495741083df9e38101de97acfb446fa615f2388a6301510d4df7b17c6180b9e29819e3be96293c1910f", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f2401000000000000001d9a048817a5ed35b4e88119319ada7f43fa237f16f54a8af78466469772733480841e0000000000000a3500e80300000228be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c02656e0b0068656c6c6f207468657265eed763e9f86111d0b65a261c71b08abcfd94c9af937304d65f68f21f5362b65b75156707d7d6454b9cc9aca67e15ac68ca65b50aa116bf13adc4d5b40fc9e304", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240200000000000000997c7aef699d9432817df8d28a5c7dc758531d8538e7d0359d6fc59206f25a3d80841e000000000000012a0057545831011d9a048817a5ed35b4e88119319ada7f43fa237f16f54a8af784664697727334010b000000f5d0c2436f4fd2d4f47f04bd6f1ff5481fc99822864b6263ddf31847546d322017a7288edd6ab990d027d8abb7fe19e344fb46cd971d78ed75e7c371772b3b01" + ], + "outcome": "refuse", + "reason": "supersede_final", + "index": 2 + }, + { + "name": "supersede_forked", + "about": "Two revisions superseding one partial (§4.3): supersede_forked.", + "events": [ + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240000000000000000000000000000000000000000000000000000000000000000000000000000000040420f0000000000000a2d00000000000228be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c02656e030068656c35895af79ebe1fab7ff5c41bea911bb93f2bf3e6df64dbaae645dff12837e1f97c3911384a22dad526975ccf0be680c2bff9a2195d8fa6ef7e2096f440d46a0c", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f2401000000000000004e318d3b4e1d3c6953746069d92591c0045f97ba24be5890ee0babbe56dd1f2140420f000000000000012a00575458310100000000000000000000000000000000000000000000000000000000000000000000000000af04d56da946905ec79b21cae50b7aa37d01f09250438f635e11088abc36287790ef6540cc62341963a34dab02048094299baa4873b4f6bd7a8a4e6c3817620b", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f24020000000000000067ccc977291d85ab0ef6a0d9a12f2f489b47880820eb707d535c8d67bf0c2ceb804f120000000000000a2f00000000000228be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c02656e050068656c6c6ff47a789ba86ca5b09fe726c0d6c8cfeea5ba43244b7970da9f42e23f2411bf2924c7d3e06cdb788137b7b002bb375d8a28d2d9073f3350b37776485abf1ccc03", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f2403000000000000003e2cb3de1a60b2ed79ff1c7dff0d23705887476fa7711966f88788b96f3ebc98804f12000000000000012a0057545831014e318d3b4e1d3c6953746069d92591c0045f97ba24be5890ee0babbe56dd1f2100000000004d1c8606a2c995e5433c1bb14c6f38076e7b262388b33790cc8c1091ad166a37baf333f464e5e48227354e5ffb2ee258b8b892b187a878fee18c8b7db5a72e05", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240400000000000000a16424abea69dc62ba88da33da126ec766a430c2a3a9ac72facace89117c740ec05c150000000000000a2e00000000000228be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c02656e040068656c7078a1178b4f67083bc32c1176d156849ec9ac33d59b111adaf9209cd596c91b29ac7df6b8aaffb6cc6f043be010cb140a071ee1a6684db68c3ea2ef7bb6a6c900", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f2405000000000000001f97fa0e42af8bf2d8a84945487c4591e3e6522bd766c217b44f9f63511b4ef3c05c15000000000000012a0057545831014e318d3b4e1d3c6953746069d92591c0045f97ba24be5890ee0babbe56dd1f210000000000133e14582a22655304056814cf0715a72797ea67b58652e61a7f991c73618a7707f5f8f101208bd7d9fb71cde06d5c778ecb54f266ada02538d6147958237704" + ], + "outcome": "refuse", + "reason": "supersede_forked", + "index": 5 + }, + { + "name": "supersede_mismatch", + "about": "A revision in another language than the partial it supersedes (§4.3): supersede_mismatch.", + "events": [ + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240000000000000000000000000000000000000000000000000000000000000000000000000000000040420f0000000000000a2e00000000000228be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c02656e0400686f6c615a60e6dd76fbb2918ecd5a78a186381508ff6d9dd0f3719a55971276c2808b0b2b0fca57f0a11f0dcc3b1bd4e3a47722f0358fe7308fe1119f74b366fcb0a50c", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240100000000000000494db5513e05fd0f2ab8e3bf5b787c3138dfe9c3e6e2a2b8c71628211ca3ea4a40420f000000000000012a0057545831010000000000000000000000000000000000000000000000000000000000000000000000000036881045c8b31ba570398ebb3d16e8b187552f1badb20eecba8b78aa40201f9fb8cbed3e593ed248d55c2271c83004a8915ef33945a797271d4c86b6f936e60d", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f2402000000000000003c0aac4a7dd573629d644f09880230da590918c5788504f2396b37dbc4d72408804f120000000000000a3600e80300000228be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c0265730c00686f6c61206120746f646f735807a0f3a766904ea7fa3ad8ef88e8a43b664ac081249107f5a39386d4941300181ced46280c350b1d8da324143f85af5fac4a8eefd4e93a8a006fa7784d3205", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f24030000000000000071daf2871f64cf4b592d30fb3406cf01ab65e6207c70f0f35452b1db54b06f7b804f12000000000000012a005754583101494db5513e05fd0f2ab8e3bf5b787c3138dfe9c3e6e2a2b8c71628211ca3ea4a010c00000064588b606fff97121728a38fb1822cac16d4b59d6bff99a00ec03cf20c020f950a5b152dcd6711cfeca89ba578ed9f249d4fe7007edc335a9053554a2e3a4206" + ], + "outcome": "refuse", + "reason": "supersede_mismatch", + "index": 3 + }, + { + "name": "stability_broken", + "about": "A revision that changes the stable prefix of the partial it supersedes (§4.3): stability_broken.", + "events": [ + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240000000000000000000000000000000000000000000000000000000000000000000000000000000040420f0000000000000a3500000000000228be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c02656e0b0068656c6c6f20746865726542bad26e96753709450f15d186319becf1de0b8691b1958604045cdf77b8ef3d046de53a90fe9e2d2a12052a53bf640f7a0146ba60ff23dbcad10bb2ce3ca706", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240100000000000000f189f4ca019fa54ac0edc2a7c510641339fb90cc99c1c1cef6bae8825cd046b440420f000000000000012a00575458310100000000000000000000000000000000000000000000000000000000000000000005000000f286c3202cc5f44dbdb63a970639f78b1a793c94bf17ec47ca30ad8a546d4f3ffc0290f83b0729402b79d7dbb5b13263ce933557834b06a14d01a00573a2c604", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f24020000000000000071aff89015dc53d7e4a88a9899735e4b924623a87153be0d86daaf84e4e8047b20d6130000000000000a3400e80300000228be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c02656e0a0068656c70207468657265715b7500c335ca5d6f24a0cebebb04023339369a357fc9c2f03955217fe2d47a72fb0ab755811bb251af1e9c52d211d0052adc38d10e602c6282138a707f8f0b", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240300000000000000b051ac6f0f5b0fee846f9db57003983151dae9bc797b1353b180baa160baba9f20d613000000000000012a005754583101f189f4ca019fa54ac0edc2a7c510641339fb90cc99c1c1cef6bae8825cd046b4010a00000087b960d57147c42ef54cbca9e44e6ced0b6587652ad3631a799d7789494aeffffe21008a4cbb85ff5a67b64e3f722ffd1aa47e3fe154e1b1ee186c67fa684709" + ], + "outcome": "refuse", + "reason": "stability_broken", + "index": 3 + }, + { + "name": "text_not_in_subset", + "about": "A caption with two spaces in a row, which IMSC1's white-space handling would collapse (§3.2): text_not_in_subset.", + "events": [ + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240000000000000000000000000000000000000000000000000000000000000000000000000000000040420f0000000000000a1500e80300000102656e0b0074776f20207370616365734b4ec37e80a8c37ba105414d7f1da6104004d51abd3fafffba4a87cf6b6859f7fde2fb46b92f50afb2089d33bf7b3a26274477023e52bef4c398f67c17b0da0e" + ], + "outcome": "refuse", + "reason": "text_not_in_subset", + "index": 0 + }, + { + "name": "machine_without_model", + "about": "A machine caption with no model digest: live-events §4.10 reads 32 bytes of model after origin 2, so the record is refused there, malformed_payload, before this extension reads it (§10.1).", + "events": [ + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240000000000000000000000000000000000000000000000000000000000000000000000000000000040420f0000000000000a0f00e80300000202656e050068656c6c6fffe73cdca5e9e5cce02dccc4ad175c8382e798f1563dd5d774d083ee0ecb4f33e22776fb42cc3dd54c273d3bc227bedeb67120b9da48a4185fa9a084efab4d0d" + ], + "outcome": "refuse", + "reason": "malformed_payload", + "index": 0 + }, + { + "name": "not_final", + "about": "A stream that ends on a partial: it verifies, and resolving it to cues is refused, not_final (§4.5).", + "events": [ + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240000000000000000000000000000000000000000000000000000000000000000000000000000000040420f0000000000000a3200000000000228be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c02656e0800616e64207468656ef665a246633396df8803d4e1ff3df9d608064c1444964413b37911a68acb73b4f82ccd9bebdd7f26d79715bdedb4e55b86779f05a0f9cc228592f6153e5df609", + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240100000000000000d6482ad8109839b0e9b62ed708405e3216824e0d9368d4dfab3100ccc0b3d3ce40420f000000000000012a005754583101000000000000000000000000000000000000000000000000000000000000000000040000007c4579a452166a42f81a84652ae52c97b43935b8b4c393c45f27a75bfcd291d9644374ff56139c77a20d7a0f97a33e8e2786160e2f7acebc730c823307fc2e06" + ], + "outcome": "accept", + "revisions": [ + { + "index": 0, + "annotation": 1, + "final": false, + "unknown": false, + "stable_cp": 4, + "anchor": "bottom-center", + "italic": [], + "supersedes": null + } + ], + "shown": [], + "resolve": { + "reason": "not_final", + "index": 0 + } + }, + { + "name": "duration_unknown", + "about": "A final caption with no stated duration: it verifies, and resolving it is refused, duration_unknown (§4.5).", + "events": [ + "5745563101afc0aa61cebd920c31a87500fbb64f15a7b7709e67af660decad03569e0a84e87b0ade651da108db0a8ffdb5b1b81bc50dd28c73abdf438a1fffe5dbbc839f240000000000000000000000000000000000000000000000000000000000000000000000000000000040420f0000000000000a1000000000000102656e060048656c6c6f2e74de7086bd13fd7b3694874bc46f7c672eb2d3ce391ffb5f0162f36e16a6ebd19f31ac6cbb45c144f220472dedfe9b23da5c278df881ac8adf266e3609142201" + ], + "outcome": "accept", + "revisions": [ + { + "index": 0, + "annotation": null, + "final": true, + "unknown": false, + "stable_cp": 6, + "anchor": "bottom-center", + "italic": [], + "supersedes": null + } + ], + "shown": [], + "resolve": { + "reason": "duration_unknown", + "index": 0 + } + } + ], + "cue_vectors": [ + { + "name": "styles_and_anchors", + "about": "Every anchor (§3.3), italic runs at a line's start, end and middle and across a line break's neighbours, the characters WebVTT and XML escape, and two cues back to back. WebVTT, segments, IMSC1, both timelines and 608 pop-on, whose positioning uses each indent, every tab offset, the italic preamble address code and both mid-row codes.", + "lang": "en", + "cues": [ + { + "start": 11000, + "end": 13000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "Every anchor, in turn.", + "italic": [] + }, + { + "start": 13500, + "end": 15500, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-left", + "text": "Left, with a big idea\nover two lines.", + "italic": [ + [ + 13, + 8 + ] + ] + }, + { + "start": 16000, + "end": 18000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-right", + "text": "Right: 5 > 3 & 2 < 4 --> true", + "italic": [] + }, + { + "start": 18500, + "end": 20500, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "top-center", + "text": "Top centre, italic whole", + "italic": [ + [ + 0, + 24 + ] + ] + }, + { + "start": 21000, + "end": 23000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "top-left", + "text": "top left, three\nlines of\ntext", + "italic": [ + [ + 16, + 5 + ] + ] + }, + { + "start": 23500, + "end": 25500, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "top-right", + "text": "To the right, ok", + "italic": [ + [ + 14, + 2 + ] + ] + }, + { + "start": 26000, + "end": 28000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "One.", + "italic": [] + }, + { + "start": 28000, + "end": 30000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "Two, straight after.", + "italic": [ + [ + 5, + 8 + ] + ] + } + ], + "targets": { + "webvtt": { + "file": "styles_and_anchors.vtt" + }, + "imsc": { + "file": "styles_and_anchors.ttml" + }, + "segments": { + "bounds": [ + 10000, + 16000, + 22000, + 28000, + 34000 + ], + "mpegts0": 900000, + "files": [ + "styles_and_anchors.seg0.vtt", + "styles_and_anchors.seg1.vtt", + "styles_and_anchors.seg2.vtt", + "styles_and_anchors.seg3.vtt" + ] + }, + "timelines": { + "group_ms": 5000, + "first": 2, + "last": 6, + "webvtt": [ + { + "group": 2, + "objects": [ + "[]", + "[{\"m\":11000,\"data\":{\"start\":11000,\"end\":13000,\"text\":\"Every anchor, in turn.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]", + "[{\"m\":13500,\"data\":{\"start\":13500,\"end\":15500,\"text\":\"Left, with a big idea\\nover two lines.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"left\"}}}]" + ] + }, + { + "group": 3, + "objects": [ + "[{\"m\":13500,\"data\":{\"start\":13500,\"end\":15500,\"text\":\"Left, with a big idea\\nover two lines.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"left\"}}}]", + "[{\"m\":16000,\"data\":{\"start\":16000,\"end\":18000,\"text\":\"Right: 5 > 3 & 2 < 4 --> true\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"right\"}}}]", + "[{\"m\":18500,\"data\":{\"start\":18500,\"end\":20500,\"text\":\"Top centre, italic whole\",\"settings\":{\"line\":\"10%,start\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]" + ] + }, + { + "group": 4, + "objects": [ + "[{\"m\":18500,\"data\":{\"start\":18500,\"end\":20500,\"text\":\"Top centre, italic whole\",\"settings\":{\"line\":\"10%,start\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]", + "[{\"m\":21000,\"data\":{\"start\":21000,\"end\":23000,\"text\":\"top left, three\\nlines of\\ntext\",\"settings\":{\"line\":\"10%,start\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"left\"}}}]", + "[{\"m\":23500,\"data\":{\"start\":23500,\"end\":25500,\"text\":\"To the right, ok\",\"settings\":{\"line\":\"10%,start\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"right\"}}}]" + ] + }, + { + "group": 5, + "objects": [ + "[{\"m\":23500,\"data\":{\"start\":23500,\"end\":25500,\"text\":\"To the right, ok\",\"settings\":{\"line\":\"10%,start\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"right\"}}}]", + "[{\"m\":26000,\"data\":{\"start\":26000,\"end\":28000,\"text\":\"One.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]", + "[{\"m\":28000,\"data\":{\"start\":28000,\"end\":30000,\"text\":\"Two, straight after.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]" + ] + }, + { + "group": 6, + "objects": [ + "[]" + ] + } + ], + "imsc": [ + { + "group": 2, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}}]", + "[{\"m\":11000,\"data\":{\"start\":11000,\"end\":13000,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"Every anchor, in turn.\"}]}}]", + "[{\"m\":13500,\"data\":{\"start\":13500,\"end\":15500,\"region\":\"bottom\",\"style\":\"left\",\"content\":[{\"text\":\"Left, with a \"},{\"text\":\"big idea\",\"fontStyle\":\"italic\"},{\"br\":true},{\"text\":\"over two lines.\"}]}}]" + ] + }, + { + "group": 3, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}},{\"m\":13500,\"data\":{\"start\":13500,\"end\":15500,\"region\":\"bottom\",\"style\":\"left\",\"content\":[{\"text\":\"Left, with a \"},{\"text\":\"big idea\",\"fontStyle\":\"italic\"},{\"br\":true},{\"text\":\"over two lines.\"}]}}]", + "[{\"m\":16000,\"data\":{\"start\":16000,\"end\":18000,\"region\":\"bottom\",\"style\":\"right\",\"content\":[{\"text\":\"Right: 5 > 3 & 2 < 4 --> true\"}]}}]", + "[{\"m\":18500,\"data\":{\"start\":18500,\"end\":20500,\"region\":\"top\",\"style\":\"center\",\"content\":[{\"text\":\"Top centre, italic whole\",\"fontStyle\":\"italic\"}]}}]" + ] + }, + { + "group": 4, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}},{\"m\":18500,\"data\":{\"start\":18500,\"end\":20500,\"region\":\"top\",\"style\":\"center\",\"content\":[{\"text\":\"Top centre, italic whole\",\"fontStyle\":\"italic\"}]}}]", + "[{\"m\":21000,\"data\":{\"start\":21000,\"end\":23000,\"region\":\"top\",\"style\":\"left\",\"content\":[{\"text\":\"top left, three\"},{\"br\":true},{\"text\":\"lines\",\"fontStyle\":\"italic\"},{\"text\":\" of\"},{\"br\":true},{\"text\":\"text\"}]}}]", + "[{\"m\":23500,\"data\":{\"start\":23500,\"end\":25500,\"region\":\"top\",\"style\":\"right\",\"content\":[{\"text\":\"To the right, \"},{\"text\":\"ok\",\"fontStyle\":\"italic\"}]}}]" + ] + }, + { + "group": 5, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}},{\"m\":23500,\"data\":{\"start\":23500,\"end\":25500,\"region\":\"top\",\"style\":\"right\",\"content\":[{\"text\":\"To the right, \"},{\"text\":\"ok\",\"fontStyle\":\"italic\"}]}}]", + "[{\"m\":26000,\"data\":{\"start\":26000,\"end\":28000,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"One.\"}]}}]", + "[{\"m\":28000,\"data\":{\"start\":28000,\"end\":30000,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"Two, \"},{\"text\":\"straight\",\"fontStyle\":\"italic\"},{\"text\":\" after.\"}]}}]" + ] + }, + { + "group": 6, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}}]" + ] + } + ] + }, + "cc608": [ + { + "mode": "pop-on", + "rate": [ + 30000, + 1001 + ], + "file": "styles_and_anchors.pop-on.608.hex", + "decoded": [ + { + "show": 330, + "rows": [ + { + "row": 15, + "col": 5, + "text": "Every anchor, in turn.", + "italic": [] + } + ] + }, + { + "erase": 390 + }, + { + "show": 405, + "rows": [ + { + "row": 14, + "col": 0, + "text": "Left, with a big idea", + "italic": [ + [ + 13, + 8 + ] + ] + }, + { + "row": 15, + "col": 0, + "text": "over two lines.", + "italic": [] + } + ] + }, + { + "erase": 465 + }, + { + "show": 480, + "rows": [ + { + "row": 15, + "col": 3, + "text": "Right: 5 > 3 & 2 < 4 --> true", + "italic": [] + } + ] + }, + { + "erase": 540 + }, + { + "show": 555, + "rows": [ + { + "row": 1, + "col": 4, + "text": "Top centre, italic whole", + "italic": [ + [ + 0, + 24 + ] + ] + } + ] + }, + { + "erase": 615 + }, + { + "show": 630, + "rows": [ + { + "row": 1, + "col": 0, + "text": "top left, three", + "italic": [] + }, + { + "row": 2, + "col": 0, + "text": "lines of", + "italic": [ + [ + 0, + 5 + ] + ] + }, + { + "row": 3, + "col": 0, + "text": "text", + "italic": [] + } + ] + }, + { + "erase": 690 + }, + { + "show": 705, + "rows": [ + { + "row": 1, + "col": 16, + "text": "To the right, ok", + "italic": [ + [ + 14, + 2 + ] + ] + } + ] + }, + { + "erase": 765 + }, + { + "show": 780, + "rows": [ + { + "row": 15, + "col": 14, + "text": "One.", + "italic": [] + } + ] + }, + { + "show": 840, + "rows": [ + { + "row": 15, + "col": 6, + "text": "Two, straight after.", + "italic": [ + [ + 5, + 8 + ] + ] + } + ] + }, + { + "erase": 900 + } + ] + } + ], + "disclosure": { + "hls_subtitles": "#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID=\"subs\",NAME=\"Captions\",LANGUAGE=\"en\",CHARACTERISTICS=\"public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound\",URI=\"styles_and_anchors/captions.m3u8\"", + "hls_closed_captions": "#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID=\"cc\",NAME=\"Captions\",LANGUAGE=\"en\",INSTREAM-ID=\"CC1\",CHARACTERISTICS=\"public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound\"", + "session_data": "#EXT-X-SESSION-DATA:DATA-ID=\"science.transaction.wai.timed-text\",URI=\"styles_and_anchors.disclosure.json\",LANGUAGE=\"en\"", + "sidecar": "{\"wai_timed_text\":1,\"lang\":\"en\",\"cues\":[{\"start\":11000,\"end\":13000,\"origin\":\"human\"},{\"start\":13500,\"end\":15500,\"origin\":\"human\"},{\"start\":16000,\"end\":18000,\"origin\":\"human\"},{\"start\":18500,\"end\":20500,\"origin\":\"human\"},{\"start\":21000,\"end\":23000,\"origin\":\"human\"},{\"start\":23500,\"end\":25500,\"origin\":\"human\"},{\"start\":26000,\"end\":28000,\"origin\":\"human\"},{\"start\":28000,\"end\":30000,\"origin\":\"human\"}]}", + "c2pa": "{\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/digitalCreation\",\"assertions\":[]}", + "catalog_webvtt": "{\"name\":\"captions-en\",\"packaging\":\"eventtimeline\",\"eventType\":\"urn:msf:captions:webvtt\",\"mimeType\":\"application/json\",\"depends\":[\"video\"],\"role\":\"caption\",\"lang\":\"en\",\"wai_machine_generated\":false}", + "catalog_imsc": "{\"name\":\"captions-en-imsc\",\"packaging\":\"eventtimeline\",\"eventType\":\"urn:msf:captions:imsc1\",\"mimeType\":\"application/json\",\"depends\":[\"video\"],\"role\":\"caption\",\"lang\":\"en\",\"imsc1Mode\":\"cue\",\"wai_machine_generated\":false}" + } + } + }, + { + "name": "disclosure_mix", + "about": "The disclosure label through every target (§10): human, machine and machine-reviewed cues from two models. WebVTT carries it in a class span, IMSC1 in attributes of its namespace, the timelines in the cue text and in members of the cue entry, HLS in the public.machine-generated characteristic, C2PA in one c2pa.ai-disclosure assertion per model and the digital source type, the catalogs in a field of their own; 608, which cannot carry it, leaves it to the sidecar.", + "lang": "en", + "cues": [ + { + "start": 11000, + "end": 13000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "A person wrote this.", + "italic": [] + }, + { + "start": 13500, + "end": 15500, + "lang": "en", + "origin": "machine", + "model": "28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c", + "anchor": "bottom-center", + "text": "A model wrote this.", + "italic": [] + }, + { + "start": 16000, + "end": 18000, + "lang": "en", + "origin": "machine-reviewed", + "model": "28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c", + "anchor": "bottom-center", + "text": "A model wrote this,\nand a person checked it.", + "italic": [] + }, + { + "start": 18500, + "end": 20500, + "lang": "en", + "origin": "machine", + "model": "c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0", + "anchor": "top-center", + "text": "Another model wrote this.", + "italic": [ + [ + 8, + 5 + ] + ] + } + ], + "targets": { + "webvtt": { + "file": "disclosure_mix.vtt" + }, + "imsc": { + "file": "disclosure_mix.ttml" + }, + "segments": { + "bounds": [ + 10000, + 15000, + 20000, + 25000 + ], + "mpegts0": 900000, + "files": [ + "disclosure_mix.seg0.vtt", + "disclosure_mix.seg1.vtt", + "disclosure_mix.seg2.vtt" + ] + }, + "timelines": { + "group_ms": 5000, + "first": 2, + "last": 4, + "webvtt": [ + { + "group": 2, + "objects": [ + "[]", + "[{\"m\":11000,\"data\":{\"start\":11000,\"end\":13000,\"text\":\"A person wrote this.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]", + "[{\"m\":13500,\"data\":{\"start\":13500,\"end\":15500,\"text\":\"A model wrote this.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]" + ] + }, + { + "group": 3, + "objects": [ + "[{\"m\":13500,\"data\":{\"start\":13500,\"end\":15500,\"text\":\"A model wrote this.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]", + "[{\"m\":16000,\"data\":{\"start\":16000,\"end\":18000,\"text\":\"A model wrote this,\\nand a person checked it.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]", + "[{\"m\":18500,\"data\":{\"start\":18500,\"end\":20500,\"text\":\"Another model wrote this.\",\"settings\":{\"line\":\"10%,start\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]" + ] + }, + { + "group": 4, + "objects": [ + "[{\"m\":18500,\"data\":{\"start\":18500,\"end\":20500,\"text\":\"Another model wrote this.\",\"settings\":{\"line\":\"10%,start\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]" + ] + } + ], + "imsc": [ + { + "group": 2, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}}]", + "[{\"m\":11000,\"data\":{\"start\":11000,\"end\":13000,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"A person wrote this.\"}]}}]", + "[{\"m\":13500,\"data\":{\"start\":13500,\"end\":15500,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"A model wrote this.\"}],\"wai_origin\":\"machine\",\"wai_model\":\"28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\"}}]" + ] + }, + { + "group": 3, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}},{\"m\":13500,\"data\":{\"start\":13500,\"end\":15500,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"A model wrote this.\"}],\"wai_origin\":\"machine\",\"wai_model\":\"28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\"}}]", + "[{\"m\":16000,\"data\":{\"start\":16000,\"end\":18000,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"A model wrote this,\"},{\"br\":true},{\"text\":\"and a person checked it.\"}],\"wai_origin\":\"machine-reviewed\",\"wai_model\":\"28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\"}}]", + "[{\"m\":18500,\"data\":{\"start\":18500,\"end\":20500,\"region\":\"top\",\"style\":\"center\",\"content\":[{\"text\":\"Another \"},{\"text\":\"model\",\"fontStyle\":\"italic\"},{\"text\":\" wrote this.\"}],\"wai_origin\":\"machine\",\"wai_model\":\"c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\"}}]" + ] + }, + { + "group": 4, + "objects": [ + "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}},{\"m\":18500,\"data\":{\"start\":18500,\"end\":20500,\"region\":\"top\",\"style\":\"center\",\"content\":[{\"text\":\"Another \"},{\"text\":\"model\",\"fontStyle\":\"italic\"},{\"text\":\" wrote this.\"}],\"wai_origin\":\"machine\",\"wai_model\":\"c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\"}}]" + ] + } + ] + }, + "cc608": [ + { + "mode": "pop-on", + "rate": [ + 30000, + 1001 + ], + "file": "disclosure_mix.pop-on.608.hex", + "decoded": [ + { + "show": 330, + "rows": [ + { + "row": 15, + "col": 6, + "text": "A person wrote this.", + "italic": [] + } + ] + }, + { + "erase": 390 + }, + { + "show": 405, + "rows": [ + { + "row": 15, + "col": 6, + "text": "A model wrote this.", + "italic": [] + } + ] + }, + { + "erase": 465 + }, + { + "show": 480, + "rows": [ + { + "row": 14, + "col": 6, + "text": "A model wrote this,", + "italic": [] + }, + { + "row": 15, + "col": 4, + "text": "and a person checked it.", + "italic": [] + } + ] + }, + { + "erase": 540 + }, + { + "show": 555, + "rows": [ + { + "row": 1, + "col": 3, + "text": "Another model wrote this.", + "italic": [ + [ + 8, + 5 + ] + ] + } + ] + }, + { + "erase": 615 + } + ] + } + ], + "disclosure": { + "hls_subtitles": "#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID=\"subs\",NAME=\"Captions\",LANGUAGE=\"en\",CHARACTERISTICS=\"public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound,public.machine-generated\",URI=\"disclosure_mix/captions.m3u8\"", + "hls_closed_captions": "#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID=\"cc\",NAME=\"Captions\",LANGUAGE=\"en\",INSTREAM-ID=\"CC1\",CHARACTERISTICS=\"public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound,public.machine-generated\"", + "session_data": "#EXT-X-SESSION-DATA:DATA-ID=\"science.transaction.wai.timed-text\",URI=\"disclosure_mix.disclosure.json\",LANGUAGE=\"en\"", + "sidecar": "{\"wai_timed_text\":1,\"lang\":\"en\",\"cues\":[{\"start\":11000,\"end\":13000,\"origin\":\"human\"},{\"start\":13500,\"end\":15500,\"origin\":\"machine\",\"model\":\"28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\"},{\"start\":16000,\"end\":18000,\"origin\":\"machine-reviewed\",\"model\":\"28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\"},{\"start\":18500,\"end\":20500,\"origin\":\"machine\",\"model\":\"c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\"}]}", + "c2pa": "{\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/compositeSynthetic\",\"assertions\":[{\"label\":\"c2pa.ai-disclosure\",\"data\":{\"modelType\":\"c2pa.types.model\",\"modelIdentifier\":\"tag:transaction.science,2026:wai/model/28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\",\"contentProfile\":{\"humanOversightLevel\":\"fully_autonomous\"}}},{\"label\":\"c2pa.ai-disclosure__1\",\"data\":{\"modelType\":\"c2pa.types.model\",\"modelIdentifier\":\"tag:transaction.science,2026:wai/model/c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\",\"contentProfile\":{\"humanOversightLevel\":\"fully_autonomous\"}}}]}", + "catalog_webvtt": "{\"name\":\"captions-en\",\"packaging\":\"eventtimeline\",\"eventType\":\"urn:msf:captions:webvtt\",\"mimeType\":\"application/json\",\"depends\":[\"video\"],\"role\":\"caption\",\"lang\":\"en\",\"wai_machine_generated\":true}", + "catalog_imsc": "{\"name\":\"captions-en-imsc\",\"packaging\":\"eventtimeline\",\"eventType\":\"urn:msf:captions:imsc1\",\"mimeType\":\"application/json\",\"depends\":[\"video\"],\"role\":\"caption\",\"lang\":\"en\",\"imsc1Mode\":\"cue\",\"wai_machine_generated\":true}" + } + } + }, + { + "name": "cc_characters", + "about": "608's special and extended characters (§8.4): every special character, the transparent space as U+00A0, extended characters of both tables each after its standard fallback, two notes in a row (four pairs, since a repeat in the next slot is redundant), the basic set's own accented letters, and the substitutions of ’ and –. WebVTT and IMSC1 keep the same text in UTF-8.", + "lang": "en", + "cues": [ + { + "start": 11000, + "end": 13000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "♪♪ ® ° ½ ¿ ™ ¢ £ à è â ê î ô û", + "italic": [] + }, + { + "start": 13500, + "end": 15500, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "Él dijo «sí» ¡Ñandú!\nç ÷ á é í ó ú ñ", + "italic": [] + }, + { + "start": 16000, + "end": 18000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "Ä ö ß Ø å {x} \\ ^ _ | ~\n* — © ℠ “q”", + "italic": [] + }, + { + "start": 18500, + "end": 20500, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "It’s 9–5 ┌┐└┘ ¥ ¤ ¦\n‘ • Ã õ Ì ì Ò", + "italic": [] + } + ], + "targets": { + "webvtt": { + "file": "cc_characters.vtt" + }, + "imsc": { + "file": "cc_characters.ttml" + }, + "cc608": [ + { + "mode": "pop-on", + "rate": [ + 30000, + 1001 + ], + "file": "cc_characters.pop-on.608.hex", + "decoded": [ + { + "show": 330, + "rows": [ + { + "row": 15, + "col": 1, + "text": "♪♪ ® ° ½ ¿ ™ ¢ £ à è â ê î ô û", + "italic": [] + } + ] + }, + { + "erase": 390 + }, + { + "show": 405, + "rows": [ + { + "row": 14, + "col": 6, + "text": "Él dijo «sí» ¡Ñandú!", + "italic": [] + }, + { + "row": 15, + "col": 8, + "text": "ç ÷ á é í ó ú ñ", + "italic": [] + } + ] + }, + { + "erase": 465 + }, + { + "show": 480, + "rows": [ + { + "row": 14, + "col": 4, + "text": "Ä ö ß Ø å {x} \\ ^ _ | ~", + "italic": [] + }, + { + "row": 15, + "col": 10, + "text": "* — © ℠ “q”", + "italic": [] + } + ] + }, + { + "erase": 540 + }, + { + "show": 555, + "rows": [ + { + "row": 14, + "col": 6, + "text": "It's 9-5 ┌┐└┘ ¥ ¤ ¦", + "italic": [] + }, + { + "row": 15, + "col": 9, + "text": "‘ • Ã õ Ì ì Ò", + "italic": [] + } + ] + }, + { + "erase": 615 + } + ] + } + ] + } + }, + { + "name": "cc_rollup", + "about": "608 roll-up with windows of 2, 3 and 4 rows (§8.7): one roll-up command at the start, a carriage return before every line but the first after an erase, an erase at a gap between cues and at the end, italics by preamble address code and by mid-row code. The same cues on a 25 Hz slot clock show the frame-rate dependence (§8.2): other slots, the same bytes.", + "lang": "en", + "cues": [ + { + "start": 11000, + "end": 14000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-left", + "text": "Roll-up keeps the lines\nabove it on screen.", + "italic": [ + [ + 0, + 7 + ] + ] + }, + { + "start": 14000, + "end": 16000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "Then a new line rolls in.", + "italic": [ + [ + 7, + 3 + ] + ] + }, + { + "start": 17000, + "end": 19000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-right", + "text": "After a gap, it starts clean.", + "italic": [] + } + ], + "targets": { + "cc608": [ + { + "mode": "roll-up-2", + "rate": [ + 30000, + 1001 + ], + "file": "cc_rollup.roll-up-2.608.hex", + "decoded": [ + { + "line": 332, + "row": { + "row": 15, + "col": 0, + "text": "Roll-up keeps the lines", + "italic": [ + [ + 0, + 7 + ] + ] + } + }, + { + "line": 350, + "row": { + "row": 15, + "col": 0, + "text": "above it on screen.", + "italic": [] + } + }, + { + "line": 422, + "row": { + "row": 15, + "col": 3, + "text": "Then a new line rolls in.", + "italic": [ + [ + 7, + 3 + ] + ] + } + }, + { + "erase": 480 + }, + { + "line": 510, + "row": { + "row": 15, + "col": 3, + "text": "After a gap, it starts clean.", + "italic": [] + } + }, + { + "erase": 570 + } + ] + }, + { + "mode": "roll-up-3", + "rate": [ + 30000, + 1001 + ], + "file": "cc_rollup.roll-up-3.608.hex", + "decoded": [ + { + "line": 332, + "row": { + "row": 15, + "col": 0, + "text": "Roll-up keeps the lines", + "italic": [ + [ + 0, + 7 + ] + ] + } + }, + { + "line": 350, + "row": { + "row": 15, + "col": 0, + "text": "above it on screen.", + "italic": [] + } + }, + { + "line": 422, + "row": { + "row": 15, + "col": 3, + "text": "Then a new line rolls in.", + "italic": [ + [ + 7, + 3 + ] + ] + } + }, + { + "erase": 480 + }, + { + "line": 510, + "row": { + "row": 15, + "col": 3, + "text": "After a gap, it starts clean.", + "italic": [] + } + }, + { + "erase": 570 + } + ] + }, + { + "mode": "roll-up-4", + "rate": [ + 30000, + 1001 + ], + "file": "cc_rollup.roll-up-4.608.hex", + "decoded": [ + { + "line": 332, + "row": { + "row": 15, + "col": 0, + "text": "Roll-up keeps the lines", + "italic": [ + [ + 0, + 7 + ] + ] + } + }, + { + "line": 350, + "row": { + "row": 15, + "col": 0, + "text": "above it on screen.", + "italic": [] + } + }, + { + "line": 422, + "row": { + "row": 15, + "col": 3, + "text": "Then a new line rolls in.", + "italic": [ + [ + 7, + 3 + ] + ] + } + }, + { + "erase": 480 + }, + { + "line": 510, + "row": { + "row": 15, + "col": 3, + "text": "After a gap, it starts clean.", + "italic": [] + } + }, + { + "erase": 570 + } + ] + }, + { + "mode": "roll-up-2", + "rate": [ + 25, + 1 + ], + "file": "cc_rollup.roll-up-2.r25-1.608.hex", + "decoded": [ + { + "line": 277, + "row": { + "row": 15, + "col": 0, + "text": "Roll-up keeps the lines", + "italic": [ + [ + 0, + 7 + ] + ] + } + }, + { + "line": 295, + "row": { + "row": 15, + "col": 0, + "text": "above it on screen.", + "italic": [] + } + }, + { + "line": 352, + "row": { + "row": 15, + "col": 3, + "text": "Then a new line rolls in.", + "italic": [ + [ + 7, + 3 + ] + ] + } + }, + { + "erase": 400 + }, + { + "line": 425, + "row": { + "row": 15, + "col": 3, + "text": "After a gap, it starts clean.", + "italic": [] + } + }, + { + "erase": 475 + } + ] + }, + { + "mode": "pop-on", + "rate": [ + 25, + 1 + ], + "file": "cc_rollup.pop-on.r25-1.608.hex", + "decoded": [ + { + "show": 275, + "rows": [ + { + "row": 14, + "col": 0, + "text": "Roll-up keeps the lines", + "italic": [ + [ + 0, + 7 + ] + ] + }, + { + "row": 15, + "col": 0, + "text": "above it on screen.", + "italic": [] + } + ] + }, + { + "show": 350, + "rows": [ + { + "row": 15, + "col": 3, + "text": "Then a new line rolls in.", + "italic": [ + [ + 7, + 3 + ] + ] + } + ] + }, + { + "erase": 400 + }, + { + "show": 425, + "rows": [ + { + "row": 15, + "col": 3, + "text": "After a gap, it starts clean.", + "italic": [] + } + ] + }, + { + "erase": 475 + } + ] + } + ] + } + }, + { + "name": "time_out_of_range", + "about": "A cue ending after 99:59:59.999 (§3.1).", + "lang": "en", + "cues": [ + { + "start": 1000, + "end": 360000000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "late", + "italic": [] + } + ], + "targets": { + "webvtt": { + "reason": "time_out_of_range" + } + } + }, + { + "name": "cue_malformed", + "about": "An italic range that begins at a space (§3.2 rule 4).", + "lang": "en", + "cues": [ + { + "start": 1000, + "end": 2000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "a big idea", + "italic": [ + [ + 1, + 4 + ] + ] + } + ], + "targets": { + "webvtt": { + "reason": "cue_malformed" + } + } + }, + { + "name": "model_missing", + "about": "A machine cue with no model digest (§3.4).", + "lang": "en", + "cues": [ + { + "start": 1000, + "end": 2000, + "lang": "en", + "origin": "machine", + "model": null, + "anchor": "bottom-center", + "text": "who wrote this", + "italic": [] + } + ], + "targets": { + "webvtt": { + "reason": "model_missing" + }, + "imsc": { + "reason": "model_missing" + } + } + }, + { + "name": "text_not_in_subset", + "about": "A tab in the text (§3.2 rule 2).", + "lang": "en", + "cues": [ + { + "start": 1000, + "end": 2000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "a\tb", + "italic": [] + } + ], + "targets": { + "imsc": { + "reason": "text_not_in_subset" + } + } + }, + { + "name": "language_mismatch", + "about": "A French cue in an English document (§3.4).", + "lang": "en", + "cues": [ + { + "start": 1000, + "end": 2000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "hello", + "italic": [] + }, + { + "start": 2000, + "end": 3000, + "lang": "fr", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "bonjour", + "italic": [] + } + ], + "targets": { + "webvtt": { + "reason": "language_mismatch" + }, + "imsc": { + "reason": "language_mismatch" + } + } + }, + { + "name": "cues_overlap", + "about": "Two cues at once, which pop-on and roll-up cannot show (§8.6).", + "lang": "en", + "cues": [ + { + "start": 1000, + "end": 3000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "one", + "italic": [] + }, + { + "start": 2000, + "end": 4000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "top-center", + "text": "two", + "italic": [] + } + ], + "targets": { + "webvtt": { + "file": "cues_overlap.vtt" + }, + "cc608": [ + { + "mode": "pop-on", + "rate": [ + 30000, + 1001 + ], + "reason": "cues_overlap" + } + ] + } + }, + { + "name": "too_many_rows", + "about": "Five lines in one pop-on caption (§8.5).", + "lang": "en", + "cues": [ + { + "start": 1000, + "end": 3000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "1\n2\n3\n4\n5", + "italic": [] + } + ], + "targets": { + "cc608": [ + { + "mode": "pop-on", + "rate": [ + 30000, + 1001 + ], + "reason": "too_many_rows" + } + ] + } + }, + { + "name": "row_too_long", + "about": "A line of 33 characters (§8.5).", + "lang": "en", + "cues": [ + { + "start": 1000, + "end": 3000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "italic": [] + } + ], + "targets": { + "cc608": [ + { + "mode": "pop-on", + "rate": [ + 30000, + 1001 + ], + "reason": "row_too_long" + } + ] + } + }, + { + "name": "char_not_in_608", + "about": "A character with no 608 code and no substitution (§8.4).", + "lang": "en", + "cues": [ + { + "start": 1000, + "end": 3000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "price: 5 €", + "italic": [] + } + ], + "targets": { + "cc608": [ + { + "mode": "pop-on", + "rate": [ + 30000, + 1001 + ], + "reason": "char_not_in_608" + } + ] + } + }, + { + "name": "style_not_expressible", + "about": "Italics that begin inside a word: a mid-row code would add a space (§8.5).", + "lang": "en", + "cues": [ + { + "start": 1000, + "end": 3000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "unbelievable", + "italic": [ + [ + 2, + 4 + ] + ] + } + ], + "targets": { + "webvtt": { + "file": "style_not_expressible.vtt" + }, + "cc608": [ + { + "mode": "pop-on", + "rate": [ + 30000, + 1001 + ], + "reason": "style_not_expressible" + } + ] + } + }, + { + "name": "too_dense", + "about": "A second caption whose bytes do not fit between the first one's display and its own start (§8.6).", + "lang": "en", + "cues": [ + { + "start": 1000, + "end": 1100, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "italic": [] + }, + { + "start": 1100, + "end": 1300, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy", + "italic": [] + } + ], + "targets": { + "cc608": [ + { + "mode": "pop-on", + "rate": [ + 30000, + 1001 + ], + "reason": "too_dense" + } + ] + } + }, + { + "name": "hrm_exceeded", + "about": "Cues of forty new characters a tenth of a second apart, more than the hypothetical render model paints (§6.2).", + "lang": "en", + "cues": [ + { + "start": 1000, + "end": 1100, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn", + "italic": [] + }, + { + "start": 1100, + "end": 1200, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "JKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw", + "italic": [] + }, + { + "start": 1200, + "end": 1300, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "STUVWXYZabcdefghijklmnopqrstuvwxyz012345", + "italic": [] + }, + { + "start": 1300, + "end": 1400, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "bcdefghijklmnopqrstuvwxyz0123456789ABCDE", + "italic": [] + }, + { + "start": 1400, + "end": 1500, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "klmnopqrstuvwxyz0123456789ABCDEFGHIJKLMN", + "italic": [] + }, + { + "start": 1500, + "end": 1600, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "tuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVW", + "italic": [] + }, + { + "start": 1600, + "end": 1700, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "23456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdef", + "italic": [] + }, + { + "start": 1700, + "end": 1800, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmno", + "italic": [] + }, + { + "start": 1800, + "end": 1900, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "KLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx", + "italic": [] + }, + { + "start": 1900, + "end": 2000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "TUVWXYZabcdefghijklmnopqrstuvwxyz0123456", + "italic": [] + } + ], + "targets": { + "webvtt": { + "file": "hrm_exceeded.vtt" + }, + "imsc": { + "reason": "hrm_exceeded" + } + } + }, + { + "name": "parameter_malformed", + "about": "Segment bounds that do not ascend (§5.2).", + "lang": "en", + "cues": [ + { + "start": 1000, + "end": 2000, + "lang": "en", + "origin": "human", + "model": null, + "anchor": "bottom-center", + "text": "x", + "italic": [] + } + ], + "targets": { + "segments": { + "bounds": [ + 0, + 4000, + 4000 + ], + "mpegts0": 900000, + "reason": "parameter_malformed" + } + } + } + ], + "read_cases": [ + { + "name": "settings_unknown", + "about": "a cue whose settings are not one anchor's (§5.3)", + "lang": "en", + "text": "WEBVTT\n\n00:00:01.000 --> 00:00:02.000 align:center\nhello\n", + "reason": "vtt_malformed" + }, + { + "name": "trailing_blank", + "about": "a blank line after the last cue (§5.3)", + "lang": "en", + "text": "WEBVTT\n\n00:00:01.000 --> 00:00:02.000 line:90%,end position:50%,center size:80% align:center\nhello\n\n", + "reason": "vtt_malformed" + }, + { + "name": "entity_unknown", + "about": "a character reference the writer never writes (§5.3)", + "lang": "en", + "text": "WEBVTT\n\n00:00:01.000 --> 00:00:02.000 line:90%,end position:50%,center size:80% align:center\nhello there\n", + "reason": "vtt_malformed" + }, + { + "name": "label_without_model", + "about": "a machine label with no model class (§10.4)", + "lang": "en", + "text": "WEBVTT\n\n00:00:01.000 --> 00:00:02.000 line:90%,end position:50%,center size:80% align:center\nhello\n", + "reason": "model_missing" + }, + { + "name": "italic_adjacent", + "about": "two italic spans with nothing between them (§5.3)", + "lang": "en", + "text": "WEBVTT\n\n00:00:01.000 --> 00:00:02.000 line:90%,end position:50%,center size:80% align:center\nab\n", + "reason": "vtt_malformed" + }, + { + "name": "starts_descend", + "about": "cue starts that go back (§5.3)", + "lang": "en", + "text": "WEBVTT\n\n00:00:02.000 --> 00:00:03.000 line:90%,end position:50%,center size:80% align:center\nb\n\n00:00:01.000 --> 00:00:02.000 line:90%,end position:50%,center size:80% align:center\na\n", + "reason": "vtt_malformed" + }, + { + "name": "italic_at_space", + "about": "an italic span that begins at a space (§3.2 rule 4)", + "lang": "en", + "text": "WEBVTT\n\n00:00:01.000 --> 00:00:02.000 line:90%,end position:50%,center size:80% align:center\na b\n", + "reason": "cue_malformed" + } + ], + "decode_cases": [ + { + "name": "parity", + "about": "a byte with even parity (§8.3)", + "hex": "311 9520\n", + "reason": "cc_malformed" + }, + { + "name": "backspace", + "about": "a backspace, which this encoder never sends (§8.8)", + "hex": "0 9420\n1 9420\n2 94a1\n3 94a1\n", + "reason": "cc_malformed" + }, + { + "name": "descending", + "about": "slots that do not ascend (§8.3)", + "hex": "5 9420\n4 9420\n", + "reason": "cc_malformed" + }, + { + "name": "unassigned", + "about": "0x12 0x29, which this revision leaves unassigned (§8.4)", + "hex": "0 9420\n1 9420\n2 9152\n3 9152\n4 c180\n5 9229\n6 9229\n", + "reason": "cc_malformed" + } + ] +} -- 2.54.0 (Apple Git-157) From 4b0f7902ab16170a35e51874fd9dbd107c8c29d6 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 11:11:07 -0400 Subject: [PATCH 18/26] wai: timed-text.md, the extension text (WIP) Co-Authored-By: Claude Opus 5.5 --- wai/extensions/timed-text.md | 933 +++++++++++++++++++++++++++++++++++ 1 file changed, 933 insertions(+) create mode 100644 wai/extensions/timed-text.md diff --git a/wai/extensions/timed-text.md b/wai/extensions/timed-text.md new file mode 100644 index 000000000..42da25beb --- /dev/null +++ b/wai/extensions/timed-text.md @@ -0,0 +1,933 @@ +# WAI Extension: Timed Text and Live Captions + +> Status: Draft. Registers the record `wai.text.timed`: timed text, and live captions as +> events. A **cue** is a span of media time and its text, in a small, closed set of +> styling (italic runs, line breaks, and one of six anchors) that WebVTT and the IMSC1 Text +> Profile both express. A cue therefore maps onto each of them exactly, and onto the two +> MoQ caption timelines, CTA-608 and HLS. Where a target cannot hold a cue, the mapping +> refuses it and names the reason; it never drops meaning silently. A **live caption** is +> a `caption` event of [live-events](live-events.md) (§4.10 there), unchanged. A machine +> caption is revised in place until it is final: each revision is a new `caption` event, +> followed by a `meta` event whose payload is this extension's **annotation**, `WTX1`. The +> annotation names the revision it supersedes, says whether the text is final and how much +> of it is stable, and carries the anchor and the italic runs. The event's `origin` (human, +> machine or machine-reviewed), with the digest of the model that wrote it, is the +> **disclosure label**, and every mapping carries it or hands it to a sidecar. No new +> transport: field semantics and rules over them only. The reference implementation is +> the `timed_text` module of `wai-rs` (feature `timed_text`); the corpus is +> [`live-conformance/captions/`](../live-conformance/captions/), and its second +> implementation is `live-conformance/timed_text_verify.py`. +> Keywords **MUST**, **MUST NOT**, **SHOULD**, **MAY** are RFC 2119/8174. +> +> Texts read for this revision, each pinned to the version named: +> WebVTT, W3C Candidate Recommendation Draft of 2026-05-20 (`CRD-webvtt1-20260520`); +> IMSC Text Profile 1.3, W3C Recommendation of 2026-05-21 (`REC-ttml-imsc1.3-20260521`); +> IMSC Hypothetical Render Model, W3C Recommendation of 2024-04-25 (`REC-imsc-hrm-20240425`); +> `draft-wilaw-moq-webvtt-msf-00`, `draft-law-moq-imsc1-msf-00` and `draft-ietf-moq-msf-01`; +> `draft-pantos-hls-rfc8216bis-22`; the C2PA Technical Specification, version 2.4; the IPTC +> Digital Source Type vocabulary as released on 2024-10-23; EN 301 549 V4.1.1 (2026-09); +> and 47 CFR 79.101 as in force on 2021-06-01 and 47 CFR 79.102, which reproduce the 608 +> and 708 decoder rules. A section number of one of those texts in this extension is that +> version's. CTA-608-E and CTA-708-E themselves could not be read for this revision: their +> publisher distributes them through an account-gated store. §8.1 and §9 say what that +> leaves unchecked. + +## 1. Scope + +In scope: the cue model and the text subset WebVTT and the IMSC1 Text Profile both hold +exactly (§3); live captions as `caption` events, the annotation, how revisions are ordered +and checked, what a sink shows, the cues a stream resolves to, and what a subscriber joining +mid-stream receives (§4); WebVTT documents and segments, and a reader of what this +extension writes (§5); IMSC1 Text Profile documents and a check of the hypothetical render +model (§6); the MoQ caption timelines and their catalog entries (§7); CTA-608 on field 1, +channel CC1, pop-on and roll-up (§8); a CTA-708 mapping, specified only (§9); the +disclosure label in every target (§10); and what a WAI player owes its viewers (§11). + +Out of scope: a transport; speech recognition and translation, which produce the text; the +fragmented MP4 packaging of an IMSC1 rendition (HLS `draft-pantos-hls-rfc8216bis-22` §3.1.5 +and ISO/IEC 14496-30 carry the document §6 writes); the paint-on style of 608, colours, +underline and flash; audio description; and a sink's own rendering of text, beyond §4.4 +and §11. + +Relationship to the core spec: `wai.text.timed` is a **record** ([SPEC](../SPEC.md) §5). +Its unit is the signed caption revision, and the documents this extension writes are +mappings of it, as [live-events](live-events.md) §8 maps an event onto a playlist tag. It +names no payload format and is not dispatchable. A timed-text component that the +[graphics-vector](graphics-vector.md) §5.7 package rule asks for is a WebVTT or IMSC1 +document written by §5 or §6. + +Relationship to [live-events](live-events.md): this extension changes nothing in it. Its +`caption` payload has no field for a revision, so the annotation rides in the `meta` kind, +which live-events leaves to applications (§4.2 there), and is bound to its caption by the +event chain (§4.3 here). A later revision of live-events MAY fold the annotation's fields +into `caption`; this extension would then read both forms. + +## 2. Terms + +- **Cue**: one entry of the cue model (§3.1). +- **Revision**: one `caption` event, with what its annotation says (§4.3). +- **Chain of a cue**: its revisions, the first superseding none and each later one + superseding the one before. +- **Partial**: a revision that is not final. **Final**: a revision that is. +- **Stable prefix**: the leading code points of a partial's text that no later revision of + its cue changes. +- **Document order**: cues by `start`, and in the order given among cues of equal `start`. +- **Media time**: milliseconds on the timeline of the media the cues accompany. The media + time of the room's `t0` is `pt0`, as [live-events](live-events.md) §8.4 has it. +- **Slot**: one position on the 608 field-1 pair clock (§8.2). + +## 3. The cue model + +### 3.1 Fields + +| field | type | meaning | +|---|---|---| +| `start`, `end` | u64 | media time in milliseconds; `start` < `end` ≤ 359 999 999 (99:59:59.999) | +| `lang` | string | a BCP 47 language tag, read as [live-events](live-events.md) §4.10 reads one | +| `origin` | u8 | 1 human, 2 machine, 3 machine-reviewed: the `caption` event's `origin` | +| `model` | 32 bytes | present exactly when `origin` is 2 or 3: the `caption` event's model digest | +| `anchor` | one of six | §3.3 | +| `text` | UTF-8 | the text; its lines are separated by U+000A | +| `italic` | list of ranges | each range a first code point and a count of code points, over `text` | + +`origin` 3, machine-reviewed, is text a model produced and a person reviewed, or reviewed +and corrected, before it was published. This is the reading C2PA 2.4 §18.28.3 gives the +human oversight level `human_validated` (§10.3). + +### 3.2 Text: the common subset + +A cue's text and italic ranges are in the subset when these rules hold. Each rule exists +because one of the targets would otherwise change what the viewer reads. + +1. The text has at least one code point. Every line has at least one code point: no + U+000A at the start or the end, and no two in a row. (An empty line ends a WebVTT cue, + WebVTT §4.1.) +2. Every code point other than U+000A is in U+0020–U+007E, U+00A0–U+D7FF, U+E000–U+FFFD or + U+10000–U+10FFFF, and is not U+2028, U+2029 or U+FEFF. (These are the characters + XML 1.0 holds that are neither controls nor line or paragraph separators; a tab is + refused, since IMSC1's white-space handling turns it into a space.) +3. No line begins or ends with U+0020, and no line holds two U+0020 in a row. (The default + white-space handling of TTML collapses runs of spaces and removes spaces at a line's + edges, so an IMSC1 rendering would differ from the WebVTT one.) +4. The italic ranges are canonical: each has at least one code point and lies within the + text; they ascend, and each ends before the next begins; no range holds a U+000A; no + range begins or ends with U+0020; and between two ranges there is at least one code + point other than U+0020. (So one rendering has one spelling: two italic words with a + space between them are one range.) + +### 3.3 Anchors + +The caption area is the inner 80% of the picture, 10% to 90% across and down, which is the +safe caption area of 47 CFR 79.101(n)(12). An anchor puts a cue at the bottom or the top of +it, with its lines centred, at its left edge or at its right edge. + +| code | anchor | WebVTT cue settings (§5.1) | IMSC1 region and `tts:textAlign` (§6.1) | 608 rows of a cue of *n* lines; column of a line of *L* cells (§8.5) | +|---|---|---|---|---| +| 0 | `bottom-center` | `line:90%,end position:50%,center size:80% align:center` | `bottom`, `center` | 16 − *n* to 15; ⌊(32 − *L*) / 2⌋ | +| 1 | `bottom-left` | `line:90%,end position:50%,center size:80% align:left` | `bottom`, `left` | 16 − *n* to 15; 0 | +| 2 | `bottom-right` | `line:90%,end position:50%,center size:80% align:right` | `bottom`, `right` | 16 − *n* to 15; 32 − *L* | +| 3 | `top-center` | `line:10%,start position:50%,center size:80% align:center` | `top`, `center` | 1 to *n*; ⌊(32 − *L*) / 2⌋ | +| 4 | `top-left` | `line:10%,start position:50%,center size:80% align:left` | `top`, `left` | 1 to *n*; 0 | +| 5 | `top-right` | `line:10%,start position:50%,center size:80% align:right` | `top`, `right` | 1 to *n*; 32 − *L* | + +In WebVTT the cue box spans 10% to 90% of the width, its end edge at 90% of the height for +the bottom and its start edge at 10% for the top; in IMSC1 the regions are the same bands +of the root container (§6.1). The two place a cue in the same band with the same alignment. +They are not the same pixels, and this extension does not claim that they are. + +### 3.4 Checking cues + +A cue is checked in this order, and the first failure names the refusal: + +1. `start` < `end` ≤ 359 999 999: otherwise `time_out_of_range`. +2. `lang` reads, and `origin` is 1, 2 or 3: otherwise `cue_malformed`. +3. A `model` when `origin` is 1: `cue_malformed`. No `model` when `origin` is 2 or 3: + `model_missing`. +4. §3.2 rules 1 to 3: otherwise `text_not_in_subset`. +5. §3.2 rule 4: otherwise `cue_malformed`. + +A **document** is written for one language, `lang`, a parameter of the mapping. A mapping +whose `lang` does not read is `parameter_malformed`. It checks each cue in the order given, +then that every cue's `lang` is the document's: otherwise `language_mismatch`. A document is +one language because an HLS rendition and an MSF track each state one (`LANGUAGE`, +`draft-pantos-hls-rfc8216bis-22` §4.4.6.1; `lang`, `draft-ietf-moq-msf-01` §5.2.32). + +### 3.5 What each target drops + +| target | what it does not carry, and where it goes instead | +|---|---| +| WebVTT document or segment | a language (WebVTT §4.1 has none for a file): the rendition's `LANGUAGE` and the sidecar (§10.5) carry it. Partials: only final cues are written (§4.5). | +| IMSC1 document | partials, as for WebVTT. | +| MoQ WebVTT timeline | as WebVTT; the language is the catalog entry's `lang` (§7.4). | +| MoQ IMSC1 timeline, cue mode | as IMSC1. The label rides in members the draft does not define (§7.2), which a consumer may ignore; the catalog field and the sidecar carry it too. | +| CTA-608 | the label (608 has no field for it): the sidecar and the HLS characteristic carry it (§10.6). The language: the `LANGUAGE` of the `CLOSED-CAPTIONS` rendition. Times: rounded up to slots (§8.2). Position: a whole column and row. Italics: only where they begin at a row's start or after a space and end at a row's end or before one; otherwise refused (§8.5). Characters outside its sets: refused unless §8.4 substitutes one. A cue's end in roll-up: honoured only when a gap follows the cue (§8.7). | +| HLS playlist | the label of each cue: the rendition-level characteristic says that some cue is machine-generated, the in-segment form and the sidecar say which (§10.2). | + +## 4. Live captions + +### 4.1 A caption event is a revision + +A live caption is a `caption` event ([live-events](live-events.md) §4.10): `duration_ms`, +`origin`, `model`, `lang` and `text`. Its `t` is the room-clock instant from which this +revision is shown, and `duration_ms` is how long it is shown from `t`, or 0 when not known +(§4.4). A cue revised in place is a chain of `caption` events, each followed by its +annotation. A `caption` event with no annotation is a final revision that supersedes +nothing, at anchor `bottom-center`, with no italic range. A human captioner whose captions +need neither an anchor nor italics sends `caption` events alone. + +Live-events verifies every event first (§6 there): signature, chain, rates and payload. A +machine caption with no model digest cannot be written as a `caption` payload, since +live-events reads 32 bytes of model after origin 2 or 3; such a record is refused there, +`malformed_payload`. + +### 4.2 The annotation + +An **annotation** is the payload of a `meta` event whose first four bytes are `WTX1`. +Integers are little-endian. + +| offset | size | field | meaning | +|---|---|---|---| +| 0 | 4 | `magic` | `WTX1` (ASCII) | +| 4 | 1 | `version` | 1 in this revision | +| 5 | 32 | `supersedes` | the digest ([live-events](live-events.md) §3.2) of the `caption` event this revision supersedes; 32 zero bytes when it supersedes none | +| 37 | 1 | `state` | 0 partial, 1 final | +| 38 | 2 | `stable_cp` | u16: the number of leading code points of this revision's text that no later revision of its cue changes | +| 40 | 1 | `anchor` | the anchor's code (§3.3), 0 to 5 | +| 41 | 1 | `n` | the number of italic ranges | +| 42 | 4 × `n` | `italic` | each range: `start` u16, then `len` u16, in code points of the caption's text | + +An annotation is 42 + 4 × `n` bytes. It is refused `annotation_malformed` when: it is +shorter than 42 bytes; its version is not 1; `state` is not 0 or 1; `anchor` is above 5; its +length is not 42 + 4 × `n`; `stable_cp` exceeds the code points of its caption's text; its +`state` is final and `stable_cp` is not that count; or its ranges are not canonical over its +caption's text (§3.2 rule 4). + +### 4.3 Revisions, their order and their checks + +A verifier of captions is offered the records of one room in stream order. It offers each +to a live-events verifier ([live-events](live-events.md) §6), which refuses it with that +extension's reason, ignores it as a duplicate, or accepts it. For each event accepted, in +stream order, of principal *P* at `seq` *s*: + +1. **The caption awaiting its annotation.** The verifier keeps, for each principal, the + last `caption` event it accepted whose annotation is not yet settled. If there is one, + at `seq` *c*, and this event is an annotation at *c* + 1, it is that caption's + annotation (step 4). Otherwise the caption has no annotation: it is final, its + `stable_cp` is its text's code points, its anchor `bottom-center`, with no italic range; + and if *s* is above *c* + 1, its annotation is **unknown**, since the verifier does not + hold the event that would carry it. +2. **A caption.** Its text MUST meet §3.2 rules 1 to 3, otherwise `text_not_in_subset`. It + becomes the caption awaiting its annotation. +3. **An annotation not at** *c* + 1 **of a caption awaiting it**: when the verifier holds + *P*'s event at *s* − 1, it is `annotation_misplaced`. When it does not, the annotation is + an orphan of a delivery gap, and is read no further. +4. **An annotation of the caption at** *s* − 1, in this order: + 1. it reads (§4.2, its layout): otherwise `annotation_malformed`; + 2. its `t` equals its caption's: otherwise `annotation_misplaced`; + 3. its `stable_cp`, its state and its ranges hold against its caption's text (§4.2): + otherwise `annotation_malformed`; + 4. when `supersedes` is not zero: + - it names a `caption` event of *P* the verifier holds: otherwise, when the verifier + holds every `seq` of *P* from 0 to *s*, `supersede_unknown`; when it does not, the + reference is **unresolved**, which is not a refusal; + - the revision it names is a partial: otherwise `supersede_final`; + - no other revision supersedes it: otherwise `supersede_forked`; + - it has the same `lang` and the same anchor as this one: otherwise + `supersede_mismatch`; + - this revision's text begins with the first `stable_cp` code points of its text: + otherwise `stability_broken`. +5. Any other event changes nothing here. + +At the end of the stream, a caption still awaiting its annotation has none. The outcome is +the one [live-events](live-events.md) §6.4 gives, with a refusal of this section in its +place: **refuse**, with the reason and the index of the record; **gap**; or **accept**. + +Revisions are ordered by their chain: a revision supersedes exactly one partial, which no +other revision supersedes, of the same principal, so a cue's revisions form one line from +its first to its last. Since live-events holds a principal's `t` non-decreasing, a later +revision is shown no earlier than the one it supersedes. A principal MAY interleave the +revisions of several cues. + +### 4.4 What a sink shows + +At room-clock instant *x*, a sink shows each revision *r* it holds for which all of these +hold: + +- `t`(*r*) ≤ *x*; +- no revision that supersedes *r* has `t` ≤ *x*; +- when *r*'s `duration_ms` is above 0, *x* < `t`(*r*) + `duration_ms` × 1000; when it is 0, + no later `caption` event of *r*'s principal has `t` ≤ *x*. + +A sink: + +- MUST replace a revision by the one that supersedes it in the same place, the anchor and + language being the same (§4.3 step 4.4); +- SHOULD NOT move or re-flow the stable prefix of a revision when its successor arrives, + and MAY set the rest of a partial's text apart, for example in a lighter weight; +- MUST show a revision whose annotation is unknown as a caption with no annotation is + shown; +- MUST show the label of every machine and machine-reviewed revision (§11). + +### 4.5 The cues a stream resolves to + +A stream that a verifier accepts with no gap **resolves** to cues, one per chain. For each +chain, from its first revision *r*₀ to its last revision *r*ₖ: + +- *r*ₖ MUST be final: otherwise `not_final`, at the index of *r*ₖ's `caption` event; +- *r*ₖ's `duration_ms` MUST be above 0: otherwise `duration_unknown`, at that index; +- the cue: `start` = `pt0` + ⌊`t`(*r*₀) / 1000⌋; `end` = `pt0` + ⌊`t`(*r*ₖ) / 1000⌋ + + `duration_ms`(*r*ₖ), which MUST NOT exceed 359 999 999 (otherwise `time_out_of_range`); + `lang`, `origin`, `model` and `text` are *r*ₖ's caption's; `anchor` and `italic` are + *r*ₖ's; +- the cue was **published** at `pt0` + ⌊`t`(*r*ₖ) / 1000⌋ (§7.3). + +The cues are in document order, cues of equal `start` in the order of their first +revisions in the stream. The first chain that fails, in that order, names the refusal. A cue +starts when its first revision was shown, so its final text is timed from when the viewer +first saw the cue. The partials are not in any document, timeline or 608 stream: none of +them can replace a cue already published (§3.5). + +### 4.6 Joining mid-stream + +A publisher of captions MUST add to each principal's join set ([live-events](live-events.md) +§8.2), at the start of group *g*: + +- the latest revision of each cue that is shown at the instant (§4.4) and has no stated + duration: a partial whose `duration_ms` is 0, which no revision before the instant + supersedes, and which is its principal's last `caption` event before the instant; +- right after each `caption` event of the join set, its annotation, when it has one. + +Live-events already requires every caption whose interval holds the instant. With these, a +subscriber that joins at group *g* verifies the join set and what follows, finds a gap +before it (§6.2 there) and refuses nothing (an annotation naming a revision it lacks is +unresolved, §4.3), and shows at every instant from the group's start what a subscriber +holding the whole stream shows. + +## 5. WebVTT + +### 5.1 Documents + +A WebVTT document of cues in `lang` is checked (§3.4), then written as UTF-8 with U+000A +line ends, no byte order mark, as: + +- `WEBVTT`, U+000A, U+000A; +- then each cue in document order, the cues separated by one U+000A, each cue: + - its timing line: `start`, ` --> `, `end`, a space, and the anchor's settings (§3.3), + each time written `HH:MM:SS.mmm` (hours always two digits, the milliseconds three); + - its payload: the lines of its text, separated by U+000A, then U+000A. In each line, + each run of italic code points (§3.2) is written between `` and ``, and in all + text `&`, `<` and `>` are written `&`, `<` and `>`. A machine or + machine-reviewed cue's payload begins with the label's start tag (§10.4) and ends, after + its last line, with ``. + +No cue identifier, region, style block or comment is written. The `>` escape also keeps +the substring `-->`, which WebVTT §4.1 forbids in a payload, out of every payload. + +### 5.2 Segments + +The segments of cues in `lang`, at bounds *b*₀ < *b*₁ < … < *b*ₙ in media milliseconds (at +least two bounds, the last at most 359 999 999), with `mpegts0` the 90 kHz MPEG-TS time of +media time 0 (below 2³³), are refused `parameter_malformed` when the bounds or `mpegts0` do +not hold. Segment *k*, for media time *b*ₖ to *b*ₖ₊₁, is: + +- `WEBVTT`, U+000A; +- `X-TIMESTAMP-MAP=LOCAL:`, *b*ₖ as `HH:MM:SS.mmm`, `,MPEGTS:`, (`mpegts0` + 90 × *b*ₖ) + mod 2³³ in decimal, U+000A, U+000A; +- every cue whose `start` < *b*ₖ₊₁ and whose `end` > *b*ₖ, in document order and with its + whole interval, written and separated as in §5.1. + +This follows `draft-pantos-hls-rfc8216bis-22` §3.1.4: a segment holds every cue shown during +its period, with each cue's total display time, and its `X-TIMESTAMP-MAP` maps the segment's +first cue time to the 90 kHz media time, re-anchored in every segment so that a wrap of the +33-bit time stays exact. A live publisher writes a segment from the cues final when it cuts +it; a cue that becomes final later is in the later segments it overlaps, and a publisher +SHOULD delay cutting a segment by the time its captions take to become final. + +### 5.3 Reading the subset + +A reader of WebVTT reads only what §5.1 and §5.2 write, given the document's `lang`. It +refuses as `vtt_malformed` anything else: another header; an `X-TIMESTAMP-MAP` not as §5.2 +writes it; a timing line whose times are not `HH:MM:SS.mmm` (minutes and seconds below 60) +or whose settings are not one anchor's; an empty payload line; a blank line other than one +between cues; a character reference other than `&`, `<` and `>`; a tag other +than the label (§10.4), `` and ``; an `` span that is empty, nested or holds a +line end; two runs of one style next to each other; and starts that go back. A label with no +model class is `model_missing`. Each cue it reads is then checked (§3.4). A WebVTT document +or segment this extension writes reads back to its cues in document order. + +## 6. IMSC1 Text Profile + +### 6.1 Documents + +An IMSC1 document of cues in `lang` is checked (§3.4) and checked against the hypothetical +render model (§6.2), then written as UTF-8 with U+000A line ends: + +``` + + + + + +http://www.w3.org/ns/ttml/profile/imsc1/text +http://www.w3.org/ns/ttml/profile/imsc1.3/text + + + + + + + + +
+P +
+ +
+``` + +with `LANG` the document's `lang`, and `P` one line per cue in document order (no line when +there is no cue): + +- `

`, the lines of the text separated by `
`, each italic run written between + `` and ``, `&`, `<` and `>` written `&`, `<` + and `>`, then `

`. + +The document uses features the Text Profile of every IMSC edition from 1.0.1 to 1.3 +permits: media timing in clock time, two regions given by `tts:origin` and `tts:extent` in +percent (IMSC 1.3 §8.1.19), `tts:displayAlign`, `tts:textAlign`, `tts:fontStyle`, `span` +and `br`. Its regions lie within the root container and do not overlap (IMSC 1.3 +§8.13.2), and at most two are presented at once (§8.13.3). It signals its profiles with +`ebuttm:conformsToStandard` (IMSC 1.3 §8.10.2 and §6.3.2) rather than `ttp:contentProfiles`, +which IMSC 1.3 §8.10.1 does not recommend in a document meant for TTML1-based profiles such +as the IMSC1 that `draft-pantos-hls-rfc8216bis-22` §3.1.5 names. Attributes in this +extension's namespace are foreign attributes, which IMSC 1.3 §8.6 permits and a processor +prunes. Default cell resolution (32 by 15) and font size (one cell) apply. + +### 6.2 The hypothetical render model + +IMSC 1.3 §8.2 says a document SHOULD conform to the IMSC-HRM. A writer of this extension +MUST check that it does, as follows, and refuses `hrm_exceeded` when the check fails. The +check is sound: a document that passes conforms to the model. It may refuse a document that +conforms, since it takes the least favourable factor of each of the model's tables. + +- The intermediate synchronic documents are the spans between consecutive distinct times + among every cue's `start` and `end`, each holding the cues with `start` ≤ its beginning < + `end`. One with no cue is empty. +- No region has a background, so painting a non-empty document clears the root container + and paints no region: 1 / `BDraw` = 1/12 s (IMSC-HRM §7, §8). +- Every glyph's normalised rendered area is (1/15)², the default font size of one cell of + fifteen (IMSC-HRM §9). A glyph is a code point with its italic flag; `br` is not one. + Rendering a glyph takes (1/15)² / 0.6 = 1/135 s and copying one (1/15)² / 3 = 1/675 s: + the slowest `Ren` and `GCpy` the model's tables give, whatever the script. +- For each non-empty document in order, the code points of the `top` region's cues, then of + the `bottom` region's, each region's cues in document order: a glyph in the glyph cache + is copied and flagged; any other is rendered, added to the cache and flagged. More than + 225 flagged glyphs at any point (a normalised size above 1) fails the check. +- The time it has is the time since the previous non-empty document's presentation, when + that is less than one second, and one second otherwise (the initial painting delay). The + check fails when 1/12 s plus the time of every glyph exceeds it. In units of 1/2700 s: + 225 + 20 per glyph rendered + 4 per glyph copied, against 2.7 per millisecond. +- At the document's presentation, glyphs not flagged leave the cache, and the rest lose + their flag. An empty document empties the cache, which can only lengthen a later + painting. + +### 6.3 The structure a verifier checks + +An IMSC1 document written here is well-formed XML 1.0 in UTF-8, and parsed it has: a `tt` +root in the TTML namespace with `xml:lang`; a `head` whose metadata names both designators of +§6.1; a `layout` with exactly the two regions of §6.1, each with an `xml:id`, `tts:origin` +and `tts:extent` in percent, no `tts:position`, within the root container and not +overlapping; a `body` with one `div` of `p` elements, each with `begin` < `end` in clock +time and a `region` that names one of them; in a `p`, only text, `span` with +`tts:fontStyle="italic"`, and `br`; no attribute in a TT namespace but those §6.1 writes; +and the `wai:` attributes of §10.4 exactly on the `p` of a machine or machine-reviewed cue. + +## 7. The MoQ caption timelines + +The two caption timelines are MSF event timelines (`draft-ietf-moq-msf-01` §8): each MOQT +object is a JSON array of records, and each record an index and a `data` object. This +extension writes JSON with no whitespace, its members in the order given, strings with `"` +and `\` escaped, U+000A as `\n`, any other code point below U+0020 as `\u00xx`, and every +other code point as itself. `draft-wilaw-moq-webvtt-msf-00` cites MSF section numbers that +are not those of `draft-ietf-moq-msf-01` (its event timeline is MSF §8, not §11); this +extension cites MSF -01's own. + +### 7.1 The WebVTT timeline + +A cue's record (`draft-wilaw-moq-webvtt-msf-00` §3, §3.1): + +``` +{"m":START,"data":{"start":START,"end":END,"text":TEXT,"settings":{"line":LINE,"position":"50%,center","size":"80%","align":ALIGN}}} +``` + +`START` and `END` are the cue's media times, `TEXT` its WebVTT payload (§5.1) without the +final U+000A, `LINE` `"90%,end"` for a bottom anchor and `"10%,start"` for a top one, and +`ALIGN` the anchor's alignment. No initialization record is written, since no region or +style is used (§4 there). + +### 7.2 The IMSC1 timeline, cue mode + +The initialization record (`draft-law-moq-imsc1-msf-00` §4.1): + +``` +{"m":0,"data":{"init":{"profile":"http://www.w3.org/ns/ttml/profile/imsc1/text","styles":{"center":{"textAlign":"center"},"left":{"textAlign":"left"},"right":{"textAlign":"right"}},"regions":{"bottom":{"origin":"10% 55%","extent":"80% 35%","displayAlign":"after"},"top":{"origin":"10% 10%","extent":"80% 35%","displayAlign":"before"}}}}} +``` + +A cue's record (§4.2 there): + +``` +{"m":START,"data":{"start":START,"end":END,"region":R,"style":A,"content":[...]}} +``` + +`R` is the anchor's region and `A` its alignment, as JSON strings. `content` holds, line by +line, each run as `{"text":T}` or, italic, `{"text":T,"fontStyle":"italic"}`, and +`{"br":true}` between lines. A machine or machine-reviewed cue's `data` ends with +`"wai_origin":O,"wai_model":M` (§10.4). The draft defines no such member; a consumer that +ignores members it does not know loses the label there, and §10.6 applies. + +### 7.3 Groups and the repeat at a group's start + +Each cue is placed by the media time it was published at: its `start` for cues given as a +list, and for a stream the time of §4.5. Group *g* of a timeline covers media time +*g* × `group_ms` to (*g* + 1) × `group_ms`, `group_ms` a parameter above 0. The mapping of +groups *g*₁ to *g*₂ (*g*₁ ≤ *g*₂; otherwise, or when a cue is published before its +`start`, `parameter_malformed`) writes, for each group: + +- object 0: the IMSC1 initialization record (IMSC1 timeline only), then the record of every + cue published before the group's start whose `end` is after it; +- then one object per cue published within the group, of its one record. + +Cues are taken in the order they were published, by media time, in the order given among +equal times. This is the first object of each group repeating "all accumulated cue +records up to that point" (`draft-wilaw-moq-webvtt-msf-00` §5) and the independence of +`draft-ietf-moq-msf-01` §8.3, read as [live-events](live-events.md) §8.1 reads it: the +records accessible at a group's start are those of cues still to be shown, and earlier ones +stay reachable by FETCH of earlier groups. A subscriber joining at any group holds the record +of every cue that has not ended. + +### 7.4 Catalog entries + +A caption timeline's MSF catalog track object: + +``` +{"name":NAME,"packaging":"eventtimeline","eventType":"urn:msf:captions:webvtt","mimeType":"application/json","depends":[...],"role":"caption","lang":LANG,"wai_machine_generated":B} +{"name":NAME,"packaging":"eventtimeline","eventType":"urn:msf:captions:imsc1","mimeType":"application/json","depends":[...],"role":"caption","lang":LANG,"imsc1Mode":"cue","wai_machine_generated":B} +``` + +`B` is `true` when any cue of the track is machine or machine-reviewed, and `false` +otherwise. `wai_machine_generated` is a custom field, which `draft-ietf-moq-msf-01` §5 lets +a producer add and requires a parser to ignore when it does not understand it. + +## 8. CTA-608 + +### 8.1 Sources + +The basic character set, the special characters, the mid-row codes, the miscellaneous +control codes, the preamble address codes, parity and the redundant sending of control +codes are as 47 CFR 79.101 reproduces CTA-608's decoder rules (paragraphs (e) to (j)), read +as in force on 2021-06-01. The extended characters (first byte 0x12 or 0x13) are not in that +regulation. This revision's table of them (§8.4) is the one the 608 standard's extended +character set is commonly given as, and it has not been checked against CTA-608-E: a reviewer +with the standard SHOULD check it. The one code whose character this revision could not +settle, 0x12 0x29, is left unassigned: the encoder never sends it, and the decoder refuses +it. + +### 8.2 The slot clock and the frame rate + +The encoder writes field 1, data channel 1 (CC1) only. It writes on a **slot clock**: one +byte pair per slot, at `num` / `den` slots a second, a parameter. Slot *k* is at media +time *k* × 1000 × `den` / `num` ms, and the slot of media time *t* ms is the first at or +after it, ⌈*t* × `num` / (1000 × `den`)⌉. The rate MUST be a positive `num` and `den` of at +most 1 000 000 each, otherwise `parameter_malformed`. + +The stream depends on the rate in its timing and its capacity: every slot carries one pair, +so a faster clock carries more bytes a second, and each cue's display starts at a slot of +that clock. On line 21, and in 608 data carried with video of 30000/1001 frames a second, +the rate is 30000/1001. A carrier that gives field-1 pairs at another rate states it, and +the same cues then give the same pairs in other slots, or are refused `too_dense` where the +pairs no longer fit. How a carrier places slots in video frames (`cc_data` of CTA-708, for +example) is the carrier's and is not specified here. + +### 8.3 Bytes + +- Every byte has odd parity: bit 7 is set exactly when the other seven bits have an even + number of ones. +- A **code** is either one byte of the basic set or a two-byte code whose first byte is + 0x10 to 0x1F. Standard bytes are packed two to a pair, in order. A lone standard byte + before a two-byte code, or at the end of a cue's codes, is paired with 0x00. +- Every two-byte code, control code or character alike, is sent twice, in consecutive + slots: a decoder ignores a pair that repeats, in the next slot, a two-byte pair it acted + on (47 CFR 79.101(i)(4)). So two equal two-byte characters in a row take four pairs. +- A slot that carries nothing carries 0x80 0x80. The **hexadecimal form** of a stream lists + only the slots that carry a pair, one per line in ascending order: the slot in decimal (no + leading zero), a space, the pair as four lowercase hexadecimal digits, then U+000A. + +### 8.4 Characters + +Each code point of a cue's text, after substitution, is sent as the first that applies: + +- **Substitution.** U+2019 is sent as U+0027; U+2013, U+2010 and U+2011 as U+002D. +- **The basic set**, one byte: 0x20 to 0x7A as the ASCII character of that value, except + 0x2A `á`, 0x5C `é`, 0x5E `í`, 0x5F `ó` and 0x60 `ú`; and 0x7B `ç`, 0x7C `÷`, 0x7D `Ñ`, + 0x7E `ñ`. So ASCII `*`, `\`, `^`, `_`, `` ` ``, `{`, `|`, `}` and `~` are not basic. 0x7F + (the solid block) is not sent. +- **A special character**, 0x11 then: + + | 0x30 | 0x31 | 0x32 | 0x33 | 0x34 | 0x35 | 0x36 | 0x37 | 0x38 | 0x39 | 0x3A | 0x3B | 0x3C | 0x3D | 0x3E | 0x3F | + |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| + | ® | ° | ½ | ¿ | ™ | ¢ | £ | ♪ | à | U+00A0 | è | â | ê | î | ô | û | + + 0x39 is the transparent space, written U+00A0 in a cue. +- **An extended character**, 0x12 or 0x13 then the code below, sent after a standard + **fallback** character, which the extended code backspaces over: + + | second byte | 0x20 | 0x21 | 0x22 | 0x23 | 0x24 | 0x25 | 0x26 | 0x27 | 0x28 | 0x29 | 0x2A | 0x2B | 0x2C | 0x2D | 0x2E | 0x2F | + |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| + | 0x12 | Á | É | Ó | Ú | Ü | ü | ‘ | ¡ | * | (unassigned) | — | © | ℠ | • | “ | ” | + | 0x13 | Ã | ã | Í | Ì | ì | Ò | ò | Õ | õ | { | } | \ | ^ | _ | \| | ~ | + + | second byte | 0x30 | 0x31 | 0x32 | 0x33 | 0x34 | 0x35 | 0x36 | 0x37 | 0x38 | 0x39 | 0x3A | 0x3B | 0x3C | 0x3D | 0x3E | 0x3F | + |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| + | 0x12 | À | Â | Ç | È | Ê | Ë | ë | Î | Ï | ï | Ô | Ù | ù | Û | « | » | + | 0x13 | Ä | ä | Ö | ö | ß | ¥ | ¤ | ¦ | Å | å | Ø | ø | ┌ | ┐ | └ | ┘ | + + The fallback of an accented capital is its unaccented capital (`Á` `À` `Â` `Ã` `Ä` `Å` + → `A`; `É` `È` `Ê` `Ë` → `E`; `Í` `Ì` `Î` `Ï` → `I`; `Ó` `Ò` `Ô` `Õ` `Ö` `Ø` → `O`; + `Ú` `Ù` `Û` `Ü` → `U`; `Ç` → `C`), of an accented small letter its unaccented small + letter (`ã` `ä` `å` → `a`; `ë` → `e`; `ì` `ï` → `i`; `ò` `õ` `ö` `ø` → `o`; `ù` `ü` → + `u`; `ß` → `s`); of `“` `”` `«` `»` it is `"`, of `‘` it is `'`, of `¡` it is `!`, and of + every other extended character a space. + +A code point none of these sends is `char_not_in_608`. A cue's text after substitution is +what a decoder shows. + +### 8.5 Rows, columns and italics + +A cue's lines are laid out, in this order of checks: + +1. A pop-on cue has at most 4 lines, a roll-up cue at most as many as its window has rows: + otherwise `too_many_rows`. +2. Every code point is sent (§8.4): otherwise `char_not_in_608`. +3. Each line is at most 32 cells, one cell per code point: otherwise `row_too_long`. +4. Every italic run of a line begins at the line's start or right after a U+0020, and ends + at the line's end or right before a U+0020: otherwise `style_not_expressible`. A mid-row + code is shown as a space (47 CFR 79.101(h)(1)(i)), so italics can change only where a + space already stands. + +The rows and columns are §3.3's; in roll-up every line is written on the base row (§8.7). +A row is written as: + +- **Position.** When the line begins italic at column 0: the italic preamble address code + of its row (second byte 0x4E or 0x6E). When it begins italic at column *c* ≥ 1: the + cursor is placed at *c* − 1, then the italics mid-row code (0x11 0x2E), which takes that + cell as a space. Otherwise the cursor is placed at *c*. The cursor is placed at a column + *x* by the preamble address code of the row with indent 4 × ⌊*x* / 4⌋ (second byte 0x50 + + 2 × ⌊*x* / 4⌋ above the row's base), then, when *x* mod 4 is not 0, tab offset *x* mod 4 + (0x17 0x21 to 0x23). +- **Characters**, in order. A U+0020 just before an italic run is sent as the italics + mid-row code; a U+0020 just after one, as the white mid-row code (0x11 0x20), which ends + italics. Every other code point is sent as §8.4 says. + +The first byte of a preamble address code for rows 1 to 15 is 0x11, 0x11, 0x12, 0x12, 0x15, +0x15, 0x16, 0x16, 0x17, 0x17, 0x10, 0x13, 0x13, 0x14, 0x14; the base of its second byte is +0x60 for rows 2, 4, 6, 8, 10, 13 and 15, and 0x40 for the others. + +### 8.6 Pop-on + +The cues are checked (§3.4, §8.5) in document order, then: two cues whose intervals overlap +(a cue starting before the one before it ends) are `cues_overlap`, since pop-on shows one +caption at a time. With *s*ᵢ and *e*ᵢ the slots of cue *i*'s `start` and `end`: + +- *e*ᵢ MUST be at least *s*ᵢ + 2: otherwise `too_dense`. +- **End of Caption** (0x14 0x2F), sent twice, takes slots *s*ᵢ and *s*ᵢ + 1: the cue is + shown from the first. +- **Erase Displayed Memory** (0x14 0x2C), sent twice, takes slots *e*ᵢ and *e*ᵢ + 1 when cue + *i* is the last or *s*ᵢ₊₁ ≥ *e*ᵢ + 2. Otherwise the next caption replaces this one at + *s*ᵢ₊₁. +- **The load** of cue *i*: Resume Caption Loading (0x14 0x20), Erase Non-displayed Memory + (0x14 0x2E), then its rows top to bottom (§8.5), packed (§8.3). Its units, a pair or a + doubled code (two consecutive slots), are placed last first, each in the latest free + slots before the unit after it (before *s*ᵢ for the last), and none before slot + *s*ᵢ₋₁ + 2 (slot 0 for the first cue). Slots taken by an erase are not free. A load that + does not fit is `too_dense`. + +### 8.7 Roll-up + +With a window of *D* rows (2, 3 or 4), the cues are checked as for pop-on, and cues whose +anchors are not all bottom or all top are `style_not_expressible`: the window would move +with the lines in it. The base row is 15 for the bottom and *D* for the top. Each cue's +codes are: the roll-up command of *D* (0x14 0x25 to 0x27), for the first cue only; then for +each line, a Carriage Return (0x14 0x2D) when the base row holds a line (any line after the +first since the start or since an erase), then the row (§8.5). The codes, packed, take +consecutive slots from *s*ᵢ, which MUST NOT be before the slot after the previous cue's last +(its last pair, or its erase); they MUST end before *e*ᵢ when the cue is erased, and before +*s*ᵢ₊₁ when it is not. Otherwise `too_dense`. The erase is sent as in pop-on, at *e*ᵢ, when +cue *i* is the last or *s*ᵢ₊₁ ≥ *e*ᵢ + 2. Text is shown as it arrives, and a cue followed +directly by the next stays on screen above it until it rolls off. + +### 8.8 Decoding + +The decoder reads the hexadecimal form (§8.3) and refuses as `cc_malformed`: a line not in +that form, slots that do not ascend, a byte with even parity, a two-byte code the encoder +does not send, a standard byte outside the basic set, an extended code left unassigned +(§8.4), and a character before any mode is set. It keeps the displayed and the non-displayed +memory of 15 rows of 32 cells, the cursor, the italic attribute and the base row, and acts +on each pair as 47 CFR 79.101(f) to (i) say, ignoring a two-byte pair that repeats in the +next slot the one it acted on. It reports: + +- at each End of Caption, `show` with its slot and the displayed rows; +- in roll-up, `line` with the slot of the line's preamble address code and the base row, + when a Carriage Return, an erase or the end of the stream commits it; +- at each Erase Displayed Memory, `erase` with its slot. + +A row is read from its first to its last cell holding a character that is not a mid-row +code; cells of mid-row codes within it read as spaces. A code point is italic when its cell +is, and a space is in an italic range when the cells on both sides are italic characters. +What the decoder reports of an encoded stream is, for pop-on, each cue shown at *s*ᵢ with +its rows and erased at *e*ᵢ as §8.6 says; and for roll-up, each line of each cue in order, +from a slot of its cue, with the erases of §8.7. + +## 9. CTA-708 (specified only) + +This revision specifies the mapping of cues onto CTA-708 caption service blocks and does not +implement it. CTA-708-E could not be read for it, so this section gives the semantics of +each step and no byte values; an implementation MUST take the command codes, the window and +pen attribute layouts and the caption channel packet rules from CTA-708-E itself, and its +corpus would be the check of this section. + +- **Service.** Captions in the document's language are caption service 1, the primary + service (47 CFR 79.102(c)); a second language is service 2. In HLS the rendition is a + `CLOSED-CAPTIONS` tag with `INSTREAM-ID="SERVICE1"` (`draft-pantos-hls-rfc8216bis-22` + §4.4.6.1), and in an MSF catalog an accessibility descriptor of scheme + `urn:scte:dash:cc:cea-708:2015` (`draft-ietf-moq-msf-01` §5.2.44). +- **Windows.** One window per anchor in use, its window id the anchor's code (§3.3), defined + with relative positioning: anchor point bottom-left, bottom-centre or bottom-right at 90% + of the height for a bottom anchor, top-left, top-centre or top-right at 10% for a top + one, at 10%, 50% or 90% of the width for left, centre and right; rows and columns locked; + at most 4 rows (47 CFR 79.102(f)(1)) and 32 columns, so that a 4:3 receiver shows it + (79.102(e)(3)). +- **Pop-on.** A cue's window is defined hidden and cleared, its lines written (a carriage + return between lines), and then displayed at the cue's start and hidden or deleted at its + end, the display and hide commands taking the place of 608's End of Caption and erase. +- **Roll-up.** One visible window of *D* rows at the base anchor, lines written with a + carriage return before each, as in §8.7. +- **Italics.** Set by the pen attributes before a run and cleared after it, at any + position: 708's pen attributes take no cell, so §8.5 rule 4 does not apply. +- **Characters.** The G0, G1 and G2 sets as 47 CFR 79.102(d) requires decoders to support + them, with its substitutions where a decoder lacks a G2 character; a code point in none of + them is refused, `char_not_in_608`'s counterpart. +- **The label.** 708 has no field for it: §10.6 applies, as for 608. + +## 10. The disclosure label + +### 10.1 Its source + +The label of a cue is its `origin` and, for origins 2 and 3, its model digest, as the +`caption` event carries them ([live-events](live-events.md) §4.10). A cue is +**machine-generated** when its origin is 2 or 3. Every mapping of §5 to §8 carries the +label, in band where the target can (§10.2 to §10.4) and in the sidecar where it cannot +(§10.5, §10.6). A machine caption with no model digest is refused wherever it is met: +`malformed_payload` in an event (§4.1), `model_missing` in a cue (§3.4) and in a WebVTT +label (§5.3). + +### 10.2 HLS + +`draft-pantos-hls-rfc8216bis-22` §4.4.6.1 defines, in `CHARACTERISTICS`: "Any Rendition MAY +include the "public.machine-generated" characteristic to indicate the Rendition was +authored or translated programmatically." This extension uses that characteristic as +the draft defines it; it is in the IETF draft itself, so no other document is needed for +it. The `EXT-X-MEDIA` tag of a caption rendition is written, attributes in this order: + +- a WebVTT or IMSC1 rendition: `#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="G",NAME="N",LANGUAGE="L",CHARACTERISTICS="C",URI="U"`; +- 608 on CC1: `#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID="G",NAME="N",LANGUAGE="L",INSTREAM-ID="CC1",CHARACTERISTICS="C"`. + +`C` is the accessibility characteristics the producer states (for captions, +`public.accessibility.transcribes-spoken-dialog` and +`public.accessibility.describes-music-and-sound`), in its order, then +`public.machine-generated` when any cue of the rendition is machine-generated, joined by +commas; `CHARACTERISTICS` is left out when `C` is empty. A rendition with a machine-generated +cue MUST carry the characteristic and one without MUST NOT. `G`, `N`, `U` and each stated +characteristic are one or more of the ASCII letters, digits, space, `.`, `_`, `-`, `/` and +`:`; a stated characteristic holds no comma and is not `public.machine-generated` itself; +otherwise `parameter_malformed`. A `CLOSED-CAPTIONS` tag names a channel within the video +renditions rather than a rendition of its own (§4.4.6.1 there), and this extension carries +the characteristic there too. + +### 10.3 C2PA and IPTC + +For a document or rendition, its cues give: + +- an IPTC digital source type (the vocabulary `http://cv.iptc.org/newscodes/digitalsourcetype/`): + `digitalCreation` when every cue is human (or there is none), `trainedAlgorithmicMedia` + when every cue is machine, `compositeWithTrainedAlgorithmicMedia` when every cue is + machine-reviewed, and `compositeSynthetic` when the cues have more than one origin. It is + the `digitalSourceType` of the `c2pa.created` action of the rendition's C2PA manifest + (C2PA 2.4 §18.15). +- one `c2pa.ai-disclosure` assertion (C2PA 2.4 §18.28) per model, in the order models first + appear in document order, labelled `c2pa.ai-disclosure`, `c2pa.ai-disclosure__1`, … (C2PA + 2.4 §6.4), each with `modelType` `c2pa.types.model` (the generic model type of Table 12 + there), `modelIdentifier` `tag:transaction.science,2026:wai/model/` and the digest in + lowercase hexadecimal, and `contentProfile.humanOversightLevel` `fully_autonomous` when any + cue of that model is machine, and `human_validated` otherwise. This pairing of digital + source type and oversight level is C2PA 2.4 §18.28.3's. + +The statement is written as the JSON +`{"digitalSourceType":DST,"assertions":[{"label":L,"data":{"modelType":"c2pa.types.model","modelIdentifier":ID,"contentProfile":{"humanOversightLevel":H}}},…]}`. +Embedding it in a manifest, and signing that, is C2PA's and [provenance](provenance.md)'s. + +### 10.4 In WebVTT and IMSC1 + +- **WebVTT.** A machine or machine-reviewed cue's payload is one cue class span (WebVTT + §4.2.2) whose classes are `wai-machine` or `wai-machine-reviewed`, then `wai-model-` and the + digest in 64 lowercase hexadecimal digits: `…`. A WebVTT + parser keeps the classes on the cue's nodes, where a style sheet (`::cue(.wai-machine)`) or + a script reads them, and `draft-wilaw-moq-webvtt-msf-00` §3 keeps the tags in its `text`. +- **IMSC1.** The cue's `p` has `wai:origin` (`machine` or `machine-reviewed`) and + `wai:model` (the digest in lowercase hexadecimal), in the namespace + `tag:transaction.science,2026:wai/timed-text`. +- **IMSC1 timeline, cue mode.** `wai_origin` and `wai_model` in the cue entry's `data` + (§7.2). + +A human cue carries none of these. + +### 10.5 The sidecar + +The **sidecar** of a document or rendition lists every cue, in document order, with its +label: + +``` +{"wai_timed_text":1,"lang":LANG,"cues":[{"start":S,"end":E,"origin":O},{"start":S,"end":E,"origin":O,"model":M},…]} +``` + +`O` is `human`, `machine` or `machine-reviewed`, and `model` is present for the last two. +In HLS the sidecar is published with the multivariant playlist by +`#EXT-X-SESSION-DATA:DATA-ID="science.transaction.wai.timed-text",URI="U",LANGUAGE="L"` +(`draft-pantos-hls-rfc8216bis-22` §4.4.6.4; JSON is the default format), one per caption +rendition; in a package it is a component beside the rendition it describes. + +### 10.6 A target that cannot carry it + +A target that cannot carry the label in band (608, 708, and an IMSC1 cue-mode consumer that +ignores unknown members) MUST be published with the sidecar, and with the rendition-level +marks it can carry: the HLS characteristic (§10.2), the catalog field (§7.4) and the C2PA +statement (§10.3). A mapping MUST NOT publish machine-generated captions in a target that +carries no label while publishing no sidecar for them. A converter that reads a WAI caption +target and writes another MUST carry the label into the new one. + +## 11. Obligations of a WAI player + +These are requirements on a WAI player that shows captions. Each cites the provision it +answers by identifier; they are written as engineering requirements, and meeting them is not +a statement about any law. + +1. **Captions can be shown.** A player of video with synchronised audio MUST have a mode + that shows the captions available, and MUST let the viewer choose to show closed captions + (EN 301 549 V4.1.1 clause 7.1.1; WCAG 2.2 Success Criteria 1.2.2 and 1.2.4, which ask + content to provide captions, prerecorded and live). +2. **In time.** A player MUST show a cue within 100 ms of its time (EN 301 549 V4.1.1 clause + 7.1.2), and SHOULD within 20 ms. +3. **Preserved.** A player or converter that transmits, converts or records captions MUST + keep their position and style (EN 301 549 V4.1.1 clause 7.1.3): this extension's mappings + keep the anchor and italics, or refuse (§3.5, §8.5). +4. **Under the viewer's control.** A player that controls how captions look MUST let the + viewer change their characteristics: at least size, colours and background (EN 301 549 + V4.1.1 clause 7.1.4). A viewer's settings override the anchors and italics of this + extension where they conflict, as [graphics-vector](graphics-vector.md) §5.7 has them + override drawn captions. +5. **Discoverable.** A player whose purpose is video MUST offer turning captions on and off as + a single operation, at the same level as the volume control (EN 301 549 V4.1.1 clause + 7.3). +6. **Persistent.** A player MUST keep the viewer's choice, captions on or off, their language + and their characteristics, from one item and one session to the next, until the viewer + changes it (EN 301 549 V4.1.1 clause 7.3, NOTE 3). +7. **Labelled.** A player MUST show, with every machine or machine-reviewed caption, that it + is machine-generated, in a way the viewer can perceive without turning on another + feature, and SHOULD let the viewer see the model that produced it. A player MUST NOT + remove the label when the viewer's style settings apply. + +## 12. Reasons + +| reason | raised at | +|---|---| +| `time_out_of_range` | §3.4, §4.5 | +| `cue_malformed` | §3.4, §5.3 | +| `model_missing` | §3.4, §5.3, §10.1 | +| `text_not_in_subset` | §3.4, §4.3 | +| `language_mismatch` | §3.4 | +| `annotation_malformed` | §4.2, §4.3 | +| `annotation_misplaced` | §4.3 | +| `supersede_unknown` | §4.3 | +| `supersede_final` | §4.3 | +| `supersede_forked` | §4.3 | +| `supersede_mismatch` | §4.3 | +| `stability_broken` | §4.3 | +| `not_final` | §4.5 | +| `duration_unknown` | §4.5 | +| `vtt_malformed` | §5.3 | +| `hrm_exceeded` | §6.2 | +| `parameter_malformed` | §3.4, §5.2, §7.3, §8.2, §10.2 | +| `cues_overlap` | §8.6, §8.7 | +| `too_many_rows` | §8.5 | +| `row_too_long` | §8.5 | +| `char_not_in_608` | §8.4, §8.5 | +| `style_not_expressible` | §8.5, §8.7 | +| `too_dense` | §8.6, §8.7 | +| `cc_malformed` | §8.8 | + +A record [live-events](live-events.md) refuses keeps that extension's reason (§9 there). + +## 13. Conformance + +[`live-conformance/captions/`](../live-conformance/captions/) holds the corpus, written from +fixed seeds by `wai_timed_text_vectors gen`: `vectors.json` and every expected output, each a +file of its own (`.vtt`, `.ttml`, `.608.hex`). It has: + +- **event vectors**: `WEV1` records in stream order, with the outcome §4.3 gives them, the + revisions, what a sink shows at stated instants (§4.4), the cues the stream resolves to or + the refusal (§4.5), and every target's output. They are a human-captioned lesson, a + machine-captioned lesson whose partials are revised to final, and a mid-stream join, both + on the events track (the joiner's records, its gap, and what it shows) and on the + timelines; and one vector for each refusal of §4. +- **cue vectors**: cues given as a list, with each target's output or refusal: every anchor + and italic placement, the disclosure label through every target, 608's special and + extended characters and substitutions, roll-up with windows of 2, 3 and 4 rows and on a + second slot clock, and one vector for each refusal of §3, §5, §6 and §8. +- **read cases**: WebVTT the reader refuses, each with its reason; and **decode cases**: 608 + streams the decoder refuses. + +Every 608 code path §8 uses is in a committed file: the preamble address codes of indent and +of italics, each tab offset, both mid-row codes, special and extended characters, Resume +Caption Loading, Erase Non-displayed Memory, End of Caption, Erase Displayed Memory, each +roll-up command and Carriage Return. Every reason of §12 refuses a case. + +A conforming implementation gives every vector and case the outcome, the reason, the index, +the revisions, what is shown, the cues and every byte of every output the corpus states. +`wai_timed_text_vectors verify` and the test `tests/timed_text.rs` check that every file +regenerates byte for byte, that no other file is there, and that `wai-rs` gives every case its +outcome. `live-conformance/timed_text_verify.py` is the second implementation, written from +this text: it shares no code with `wai-rs`, verifies events with +`live_events_verify.py`, writes WebVTT, IMSC1, the timelines, 608 and the disclosure from §5 +to §10, checks every IMSC1 document's structure (§6.3) with an XML parser and the +hypothetical render model (§6.2), and requires every mutated copy of the corpus to fail. + +## 14. Security and privacy considerations + +- Every revision is a signed event, and its annotation another: a relay can drop either and + cannot alter one. A dropped annotation makes its caption's annotation unknown, which a sink + shows as a plain caption (§4.4); a dropped revision is a delivery gap ([live-events](live-events.md) + §6.2). +- Only a revision's own principal can supersede it (§4.3), so one participant cannot rewrite + another's captions. +- A partial's stable prefix is a promise its producer's later revisions are checked against + (`stability_broken`); it is not a check that the speech was transcribed correctly. +- The label is the producer's statement. A model digest names a model; it does not prove that + model wrote the text. A producer that labels machine text human misleads its viewers, and + the signature on the event makes that statement attributable to it. +- Text is untrusted input. Writers escape it (§5.1, §6.1, §7) and the reader accepts only the + subset (§5.3), so cue text cannot inject markup, a cue setting or a timestamp into a target. +- The model digest can identify the vendor or version of a recognition service. A producer + that does not want to publish it can only use origin 1, which would mislabel machine text; + this extension does not offer an anonymous machine origin. -- 2.54.0 (Apple Git-157) From 28f5d04800acaf5fe760b8141bf65f871a9de5f9 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 11:18:17 -0400 Subject: [PATCH 19/26] =?UTF-8?q?wai:=20registry,=20SPEC=20=C2=A75,=20CHAN?= =?UTF-8?q?GELOG,=20CI=20step=20and=20timed=5Ftext=5Fverify.py=20for=20wai?= =?UTF-8?q?.text.timed=20(WIP)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- .github/workflows/wai-conformance.yml | 28 +- wai/CHANGELOG.md | 41 + wai/REGISTRY.md | 6 +- wai/SPEC.md | 16 +- wai/live-conformance/README.md | 9 +- wai/live-conformance/captions/README.md | 55 + wai/live-conformance/timed_text_verify.py | 1602 +++++++++++++++++++++ wai/wai-rs/src/codecs/registry.rs | 13 +- wai/wai-rs/src/timed_text/corpus.rs | 8 +- wai/wai-rs/tests/int_kernels_vectors.rs | 2 +- 10 files changed, 1766 insertions(+), 14 deletions(-) create mode 100644 wai/live-conformance/captions/README.md create mode 100644 wai/live-conformance/timed_text_verify.py diff --git a/.github/workflows/wai-conformance.yml b/.github/workflows/wai-conformance.yml index 2c7c9ef1e..202a73bdf 100644 --- a/.github/workflows/wai-conformance.yml +++ b/.github/workflows/wai-conformance.yml @@ -75,6 +75,9 @@ on: # tests/capture_take.rs requires this extension's §12 to list the codes the reference # reports, and the registry's wire identifiers test reads its sections. - 'wai/extensions/capture-binding.md' + # tests/timed_text.rs requires this extension's §12 to list the codes the reference + # reports, and the registry's wire identifiers test reads its sections. + - 'wai/extensions/timed-text.md' - 'wai/wai-web/**' # The audio provenance check below reads the corpora above with this tool. - 'wai/tools/wai_audio_provenance_check.py' @@ -121,6 +124,9 @@ on: # tests/capture_take.rs requires this extension's §12 to list the codes the reference # reports, and the registry's wire identifiers test reads its sections. - 'wai/extensions/capture-binding.md' + # tests/timed_text.rs requires this extension's §12 to list the codes the reference + # reports, and the registry's wire identifiers test reads its sections. + - 'wai/extensions/timed-text.md' - 'wai/wai-web/**' # The audio provenance check below reads the corpora above with this tool. - 'wai/tools/wai_audio_provenance_check.py' @@ -773,7 +779,8 @@ jobs: # staged_verify.py (the staged-delivery corpus), and http_verify.py (the HTTP delivery # corpus), and quantum-conformance/tools/referee.py (both quantum-sim capabilities), and # live_events_verify.py (the live-events corpus), and live_rooms_verify.py (the - # live-rooms corpus), and capture_take_verify.py (the capture-binding corpus). + # live-rooms corpus), and capture_take_verify.py (the capture-binding corpus), and + # timed_text_verify.py (the timed-text corpus). # Each exits non-zero on any failure or any difference, and the step fails with it. # One platform: what they check is the reading of the text, not the architecture. independent-verifiers: @@ -944,6 +951,25 @@ jobs: (cd wai-rs && cargo test --no-default-features --features capture_take --lib -- capture_take:: output_tree::) (cd wai-rs && cargo test --no-default-features --features capture_take --test capture_take) python3 -I live-conformance/capture_take_verify.py live-conformance/takes + # wai.text.timed (extensions/timed-text.md): the reference module's unit tests (cue model, + # annotation, WebVTT, IMSC1 and its render-model bound, timelines, disclosure, and the + # 608 encoder and decoder) and tests/timed_text.rs (every file of the committed corpus, + # vectors.json and each expected .vtt, .ttml and .608.hex, regenerates byte for byte + # from its fixed seeds and no other file is there, wai-rs gives every case its stated + # outcome, the corpus covers every 608 code path, and §12 lists exactly the reference's + # codes); then the corpus's second implementation, timed_text_verify.py, written from + # the extension's text and sharing no code with wai-rs, which verifies every event with + # live_events_verify.py, writes every output byte for byte from the text, parses each + # IMSC1 document with xml.etree, and requires every mutated copy of the corpus to fail; + # standard library only, run isolated (-I). + - name: timed text · wai-rs and timed_text_verify.py + working-directory: wai + shell: bash + run: | + set -euo pipefail + (cd wai-rs && cargo test --no-default-features --features timed_text --lib timed_text::) + (cd wai-rs && cargo test --no-default-features --features timed_text --test timed_text) + python3 -I live-conformance/timed_text_verify.py live-conformance/captions # The quantum corpus's second implementation (quantum-sim extension), integers only: # it derives the circuit/1 phase table by its recurrence and the circuit2 table by an # interval-certified procedure, and requires both literal tables and their digests, diff --git a/wai/CHANGELOG.md b/wai/CHANGELOG.md index 953adf182..ee2ac1374 100644 --- a/wai/CHANGELOG.md +++ b/wai/CHANGELOG.md @@ -6,6 +6,47 @@ wire format may change and such changes are recorded here. ## v0.4.0 — current +### `wai.text.timed`: timed text and live captions + +- **The extension** ([timed-text](extensions/timed-text.md)) registers the record + `wai.text.timed`. A cue is a span of media time and its text in a closed set of styling, + italic runs, line breaks and six anchors, which WebVTT and the IMSC1 Text Profile both + express; text outside the subset both hold exactly (a tab, two spaces in a row, a space at + a line's edge) is refused rather than changed. +- **Live captions.** A caption is a `caption` event of `wai.live.events`, unchanged. A + machine caption is revised in place: each revision is a new `caption` event, followed by + a `meta` event carrying the `WTX1` annotation, which supersedes the revision before it by + digest, says whether the text is final and how much is stable, and carries the anchor and + italics. A verifier checks that revisions form one line per cue, keep their language, + anchor and stable prefix, and supersede only a partial of their own principal; it states + what a sink shows at an instant and the cues a stream resolves to. A publisher repeats + the open partial and each caption's annotation at a group's start, so a subscriber that + joins mid-stream shows what one from the start shows. live-events needs no change. +- **Mappings.** WebVTT documents and segments with `X-TIMESTAMP-MAP`, and a reader of the + subset; IMSC1 documents, refused when a sound check of the hypothetical render model does + not pass; the WebVTT and IMSC1 (cue mode) MoQ caption timelines, whose first object of + each group repeats every cue still showing, and their catalog entries; CTA-608 on field 1, + CC1, pop-on and roll-up with windows of 2, 3 and 4 rows, odd parity, doubled codes, the + special and extended characters with their fallbacks, and the slot clock's rate as a + parameter; CTA-708 is specified only. +- **The disclosure label.** Origin and model digest travel through every target: the HLS + `public.machine-generated` characteristic (`draft-pantos-hls-rfc8216bis-22` §4.4.6.1), + C2PA 2.4 `c2pa.ai-disclosure` and the IPTC digital source type, a WebVTT class span, IMSC1 + attributes, timeline members, a catalog field, and a sidecar published by + `EXT-X-SESSION-DATA` for targets that cannot carry it, such as 608. +- **Player obligations** for captions under the viewer's control, persistent and + discoverable, each citing EN 301 549 V4.1.1 or WCAG 2.2. +- **Reference and corpus.** `wai-rs` feature `timed_text` (`src/timed_text.rs`, with + `cc608.rs`); `live-conformance/captions/`, written from fixed seeds by + `wai_timed_text_vectors` with every expected `.vtt`, `.ttml` and `.608.hex`, and checked + by `tests/timed_text.rs` and by `live-conformance/timed_text_verify.py`, a second + implementation that shares no code with `wai-rs`, parses every IMSC1 document with an XML + parser, and requires every mutated copy of the corpus to fail. The registry lists the + record, the magic `WTX1`, its catalog fields and its session data id. +- **Not checked against the standard.** CTA-608-E and CTA-708-E could not be read for this + revision. The 608 tables are as 47 CFR 79.101 reproduces them; the extended characters are + not there, and the extension marks its table of them for checking. + ### `wai.capture.take`: a device's master recording bound to a live room - **The extension** ([capture-binding](extensions/capture-binding.md)) registers the diff --git a/wai/REGISTRY.md b/wai/REGISTRY.md index 28d1b1f30..b2f4a4ad9 100644 --- a/wai/REGISTRY.md +++ b/wai/REGISTRY.md @@ -40,7 +40,7 @@ Every registered string has one kind. - **record** — a signed record a WAI tool emits and verifies (a receipt kind: `wai.asset.provenance`, the quantum-operations receipts, the delivery records `wai.video.manifest` and its siblings; the live records `wai.live.events`, - `wai.live.room` and `wai.capture.take`). + `wai.live.room` and `wai.capture.take`; timed text, `wai.text.timed`). It names no payload format. A derivation or record string is not a payload capability, so it is not @@ -62,8 +62,8 @@ bindings ([http-delivery](extensions/http-delivery.md), [moq-streaming-format](extensions/moq-streaming-format.md)), the key discovery they serve ([jwp-receipts](extensions/jwp-receipts.md) §7), [packaging](extensions/packaging.md), [live-events](extensions/live-events.md), -[live-rooms](extensions/live-rooms.md) and [capture-binding](extensions/capture-binding.md) -put on the wire outside a +[live-rooms](extensions/live-rooms.md), [capture-binding](extensions/capture-binding.md) +and [timed-text](extensions/timed-text.md) put on the wire outside a manifest — magic numbers, a media type, `codecs` prefixes, paths, playlist tags and attributes, document kinds and catalog fields — each with its kind, the section that defines it, and whether it is defined, provisional (test material only until diff --git a/wai/SPEC.md b/wai/SPEC.md index 52d76145d..4bb1c8a7c 100644 --- a/wai/SPEC.md +++ b/wai/SPEC.md @@ -592,7 +592,8 @@ kind: `wai.asset.provenance`, `wai.quantum.calibration`, `wai.quantum.job`, and the delivery records `wai.video.manifest`, `wai.video.ssai`, `wai.video.keys`, `wai.video.package` and `wai.video.channel`; and the live records `wai.live.events`, - `wai.live.room` and `wai.capture.take`), which names no payload format. + `wai.live.room` and `wai.capture.take`, and timed text, `wai.text.timed`), which names + no payload format. Only payload, companion and refinement capabilities have a media class, a fidelity tier, a replicate class and a role. A derivation or record string is not a payload @@ -894,6 +895,19 @@ at its index), `aligned` (capture began at the count-in's instant), `complete`, `publishable` for each purpose. The take maps onto C2PA live video output: [`extensions/capture-binding.md`](extensions/capture-binding.md). +And for the **captions** of a room — `wai.text.timed`: timed text, as cues in a closed set +of styling (italic runs, line breaks, six anchors) that WebVTT and the IMSC1 Text Profile +both express, so that a cue maps onto each exactly, and onto the two MoQ caption timelines, +CTA-608 (pop-on and roll-up on CC1) and HLS; where a target cannot hold a cue, the mapping +refuses it with a named reason. A live caption is a `caption` event of `wai.live.events`, +unchanged; a machine caption is revised in place, each revision a new `caption` event +followed by a `WTX1` annotation that supersedes the revision before it by digest, states +whether the text is final and how much of it is stable, and carries the anchor and italics. +The event's origin and model digest are the disclosure label, carried through every mapping +(an HLS media characteristic, C2PA's AI disclosure and digital source type, a WebVTT class, +IMSC1 attributes) or, where a target cannot hold it, in a sidecar: +[`extensions/timed-text.md`](extensions/timed-text.md). + ### Payloads of the WAI-native integer codecs This revision pins a payload format to each WAI-native integer codec whose row named diff --git a/wai/live-conformance/README.md b/wai/live-conformance/README.md index 491e1eb68..448b8d2f1 100644 --- a/wai/live-conformance/README.md +++ b/wai/live-conformance/README.md @@ -8,11 +8,13 @@ and the independent verifier of each, beside it. | [`events/`](events/) | [live-events](../extensions/live-events.md) (`wai.live.events`) | `live_events_verify.py` | | [`rooms/`](rooms/) | [live-rooms](../extensions/live-rooms.md) (`wai.live.room`) | `live_rooms_verify.py` | | [`takes/`](takes/) | [capture-binding](../extensions/capture-binding.md) (`wai.capture.take`) | `capture_take_verify.py` | +| [`captions/`](captions/) | [timed-text](../extensions/timed-text.md) (`wai.text.timed`) | `timed_text_verify.py` | **Provenance.** Generated here: `wai_live_events_vectors gen` writes `events/`, -`wai_live_room_vectors gen` writes `rooms/` and `wai_capture_take_vectors gen` writes -`takes/`, each from records authored in code, from fixed seeds (`events/README.md`, -`rooms/README.md`, `takes/README.md`). No recorded data. +`wai_live_room_vectors gen` writes `rooms/`, `wai_capture_take_vectors gen` writes +`takes/` and `wai_timed_text_vectors gen` writes `captions/`, each from records authored in +code, from fixed seeds (`events/README.md`, `rooms/README.md`, `takes/README.md`, +`captions/README.md`). No recorded data. Each verifier is written from its extension's text, shares no code with `wai-rs`, and is run by `.github/workflows/wai-conformance.yml` beside the reference's own check: @@ -21,4 +23,5 @@ run by `.github/workflows/wai-conformance.yml` beside the reference's own check: python3 live_events_verify.py events python3 live_rooms_verify.py rooms python3 capture_take_verify.py takes +python3 timed_text_verify.py captions ``` diff --git a/wai/live-conformance/captions/README.md b/wai/live-conformance/captions/README.md new file mode 100644 index 000000000..0ee560825 --- /dev/null +++ b/wai/live-conformance/captions/README.md @@ -0,0 +1,55 @@ +# live-conformance/captions — timed text and live captions + +The corpus of [`extensions/timed-text.md`](../../extensions/timed-text.md) §13: live +captions as `WEV1` events with their `WTX1` annotations, cues given as lists, and what each +maps onto: WebVTT documents and segments, IMSC1 documents, the two MoQ caption timelines, +CTA-608 byte pairs, and the disclosure label in HLS, C2PA, the catalogs and the sidecar. + +**Timed-text equivalence.** For each event vector, a conforming verifier of the corpus's +room, holding every principal to live-events' default policy and offered `events` one at a +time in the order given, reaches the outcome the vector states (§4.3): `refuse` with the +`reason` and `index`, `gap` with the `gaps`, or `accept`. A vector that does not refuse also +states its `revisions`, what a sink shows at each instant of `shown` (§4.4), and the cues the +stream resolves to or the refusal (`resolve`, §4.5); a vector with a `join` states the +records a subscriber joining the events track at that group receives, its outcome and what it +shows (§4.6). For each event vector that resolves and each cue vector, `targets` states, for +each target it names, the file written or the reason refused: `webvtt` (§5.1), `segments` +(§5.2), `imsc` (§6.1, §6.2), `timelines` (§7.1–§7.3; every object byte for byte), `cc608` +(§8; the mode, the slot clock's rate, the file and what the decoder reports of it, §8.8) and +`disclosure` (§7.4, §10: the HLS tags, the session data, the sidecar, the C2PA statement and +the catalog entries, each byte for byte). `read_cases` are WebVTT texts the reader refuses +(§5.3), and `decode_cases` 608 streams the decoder refuses (§8.8), each with its reason. A +verifier that reaches another outcome, reason, index, revision, cue, rendering or byte does +not conform. + +**Provenance.** Generated here: `wai_timed_text_vectors gen` writes `vectors.json` and every +expected output from events and cues authored in code, from fixed seeds. Each principal's key +and each model digest is SHA-256 of a fixed label and an index, the room id likewise, every +time is a constant, and Ed25519 signing is deterministic (RFC 8032), so every file is the +same bytes on every machine. The texts are written for the corpus, in English and Spanish. +The generator asserts, before it writes, that each vector reaches the outcome it was written +to have, that every WebVTT file reads back to its cues, that every 608 file decodes to the +rows its cues lay out, and that the corpus covers every reason of §12 and every 608 code path +of §8. No recorded data. + +## Layout + +- `vectors.json`: `pt0_ms` (the media time of the room's `t0`), `room`, `principals` + (`captioner`, `asr`, `host`), `models`, `event_vectors`, `cue_vectors`, `read_cases` and + `decode_cases`. A cue is written as `start`, `end`, `lang`, `origin`, `model` (lowercase + hexadecimal, or null), `anchor`, `text` and `italic` (pairs of first code point and count). +- `NAME.vtt`, `NAME.segK.vtt`: WebVTT documents and segments. +- `NAME.ttml`: IMSC1 Text Profile documents. +- `NAME.MODE[.rNUM-DEN].608.hex`: 608 byte pairs in the hexadecimal form of §8.3, on the + 30000/1001 slot clock unless the name gives another rate. + +## Checking + +``` +cargo run --no-default-features --features timed_text --bin wai_timed_text_vectors -- verify ../live-conformance/captions +python3 -I timed_text_verify.py captions +``` + +The first runs from `wai-rs/`, the second from `live-conformance/`. The second is the +corpus's second implementation, written from the extension's text; it shares no code with +`wai-rs`. diff --git a/wai/live-conformance/timed_text_verify.py b/wai/live-conformance/timed_text_verify.py new file mode 100644 index 000000000..e607ac489 --- /dev/null +++ b/wai/live-conformance/timed_text_verify.py @@ -0,0 +1,1602 @@ +#!/usr/bin/env python3 +"""Independent verifier of the timed-text corpus (extensions/timed-text.md). + +Written from the extension's text. It shares no code with wai-rs, which generates the +corpus, and never runs it. It reads and verifies every event record with +live_events_verify.py (this directory), the second implementation of live-events, and +writes everything else from the extension's sections: + +- the cue model and its subset (§3); +- revisions and their annotation (§4.2, §4.3), what a sink shows (§4.4), the cues a + stream resolves to (§4.5), and the join set of the events track (§4.6); +- WebVTT documents, segments and the reader of the subset (§5); +- IMSC1 documents (§6.1), the check of the hypothetical render model (§6.2), and the + structure of every document checked with xml.etree (§6.3); +- the MoQ caption timelines and their catalog entries (§7); +- CTA-608: the character tables, the layout, pop-on and roll-up, the byte pairs, and a + decoder (§8); +- the disclosure label: HLS tags, C2PA statement, sidecar (§10). + +For every vector it requires the outcome, reason, index, revisions, what is shown, the cues +and every byte of every output the corpus states; that every reason of §12 and every 608 +code path of §8 appears; and that every mutated copy of the corpus fails. + + python3 timed_text_verify.py + +Exit status 0 only if every case verifies. Python 3.8 or later; standard library only. +""" +import copy +import json +import os +import sys +import xml.etree.ElementTree as ET + +HERE = os.path.dirname(os.path.abspath(__file__)) +sys.path.insert(0, HERE) +import live_events_verify as LEV # noqa: E402 + +# §12, in its order. +REASONS = [ + "time_out_of_range", "cue_malformed", "model_missing", "text_not_in_subset", + "language_mismatch", "annotation_malformed", "annotation_misplaced", "supersede_unknown", + "supersede_final", "supersede_forked", "supersede_mismatch", "stability_broken", + "not_final", "duration_unknown", "vtt_malformed", "hrm_exceeded", "parameter_malformed", + "cues_overlap", "too_many_rows", "row_too_long", "char_not_in_608", + "style_not_expressible", "too_dense", "cc_malformed", +] + +LAST_MS = 359999999 +ORIGINS = {1: "human", 2: "machine", 3: "machine-reviewed"} +ANCHORS = ["bottom-center", "bottom-left", "bottom-right", "top-center", "top-left", "top-right"] +NS_WAI = "tag:transaction.science,2026:wai/timed-text" +NS_TT = "http://www.w3.org/ns/ttml" +NS_TTS = "http://www.w3.org/ns/ttml#styling" +NS_XML = "http://www.w3.org/XML/1998/namespace" +NS_EBUTTM = "urn:ebu:tt:metadata" +PROFILES = ["http://www.w3.org/ns/ttml/profile/imsc1/text", "http://www.w3.org/ns/ttml/profile/imsc1.3/text"] +DST = "http://cv.iptc.org/newscodes/digitalsourcetype/" +MODEL_URI = "tag:transaction.science,2026:wai/model/" +CAPTION, META = 0x0A, 0x01 +GROUP_US = 60000000 # live-events §8.1 + +# live-events §5's default policy: every kind of §4 but the lifecycle ones. +_kinds = bytearray(32) +for _k in range(0x01, 0x0D): + _kinds[_k // 8] |= 1 << (_k % 8) +DEFAULT_POLICY = {"kinds": bytes(_kinds), "max_payload": 1024, "max_text_cp": 500, "max_events": 50, + "window_us": 1000000, "max_reactions": 1, "reaction_window_us": 1000000} + + +class Refused(Exception): + def __init__(self, reason): + super().__init__(reason) + self.reason = reason + + +# ---------------------------------------------------------------- §3 the cue model + +def align(anchor): + return anchor.split("-")[1] + + +def is_top(anchor): + return anchor.startswith("top") + + +def text_ok(s): + """§3.2 rules 1 to 3.""" + if s == "": + return False + for line in s.split("\n"): + if line == "" or line[0] == " " or line[-1] == " " or " " in line: + return False + for ch in line: + v = ord(ch) + inside = 0x20 <= v <= 0x7E or 0xA0 <= v <= 0xD7FF or 0xE000 <= v <= 0xFFFD or 0x10000 <= v <= 0x10FFFF + if not inside or v in (0x2028, 0x2029, 0xFEFF): + return False + return True + + +def ranges_ok(s, ranges): + """§3.2 rule 4.""" + end_before = None + for start, n in ranges: + if n < 1 or start + n > len(s): + return False + if end_before is not None: + if start <= end_before or set(s[end_before:start]) <= {" "}: + return False + piece = s[start:start + n] + if "\n" in piece or piece[0] == " " or piece[-1] == " ": + return False + end_before = start + n + return True + + +def lang_ok(tag): + return isinstance(tag, str) and 2 <= len(tag) <= 35 and LEV.LANG.fullmatch(tag) is not None + + +def check_cue(c): + """§3.4, in its order.""" + if not (c["start"] < c["end"] <= LAST_MS): + raise Refused("time_out_of_range") + if not lang_ok(c["lang"]) or c["origin"] not in ORIGINS.values(): + raise Refused("cue_malformed") + if c["origin"] == "human" and c["model"] is not None: + raise Refused("cue_malformed") + if c["origin"] != "human" and c["model"] is None: + raise Refused("model_missing") + if not text_ok(c["text"]): + raise Refused("text_not_in_subset") + if not ranges_ok(c["text"], c["italic"]): + raise Refused("cue_malformed") + + +def check_doc(lang, cues): + if not lang_ok(lang): + raise Refused("parameter_malformed") + for c in cues: + check_cue(c) + if any(c["lang"] != lang for c in cues): + raise Refused("language_mismatch") + + +def in_order(cues): + return sorted(cues, key=lambda c: c["start"]) # stable: equal starts keep their order + + +def italic_flags(c): + flags = [False] * len(c["text"]) + for start, n in c["italic"]: + for i in range(start, start + n): + flags[i] = True + return flags + + +def runs_of(c): + """Each line of the cue, as [(italic, text)].""" + flags = italic_flags(c) + out, line = [], [] + for i, ch in enumerate(c["text"]): + if ch == "\n": + out.append(line) + line = [] + elif line and line[-1][0] == flags[i]: + line[-1] = (flags[i], line[-1][1] + ch) + else: + line.append((flags[i], ch)) + out.append(line) + return out + + +# ---------------------------------------------------------------- §5 WebVTT + +def hhmmss(ms): + return "%02d:%02d:%02d.%03d" % (ms // 3600000, ms // 60000 % 60, ms // 1000 % 60, ms % 1000) + + +def settings(anchor): + line = "line:10%,start" if is_top(anchor) else "line:90%,end" + return "%s position:50%%,center size:80%% align:%s" % (line, align(anchor)) + + +def esc(s): + return s.replace("&", "&").replace("<", "<").replace(">", ">") + + +def label_class(c): + return {"machine": "wai-machine", "machine-reviewed": "wai-machine-reviewed"}.get(c["origin"]) + + +def vtt_payload(c): + lines = ["".join("%s" % esc(t) if it else esc(t) for it, t in line) for line in runs_of(c)] + body = "\n".join(lines) + cls = label_class(c) + if cls: + body = "%s" % (cls, c["model"], body) + return body + + +def vtt_cue(c): + return "%s --> %s %s\n%s\n" % (hhmmss(c["start"]), hhmmss(c["end"]), settings(c["anchor"]), vtt_payload(c)) + + +def webvtt(lang, cues): + check_doc(lang, cues) + return "WEBVTT\n\n" + "\n".join(vtt_cue(c) for c in in_order(cues)) + + +def webvtt_segments(lang, cues, bounds, mpegts0): + check_doc(lang, cues) + if len(bounds) < 2 or any(a >= b for a, b in zip(bounds, bounds[1:])) or bounds[-1] > LAST_MS or mpegts0 >= 2 ** 33: + raise Refused("parameter_malformed") + out = [] + for b, e in zip(bounds, bounds[1:]): + body = "\n".join(vtt_cue(c) for c in in_order(cues) if c["start"] < e and c["end"] > b) + out.append("WEBVTT\nX-TIMESTAMP-MAP=LOCAL:%s,MPEGTS:%d\n\n%s" % (hhmmss(b), (mpegts0 + 90 * b) % 2 ** 33, body)) + return out + + +def read_hhmmss(s): + if len(s) != 12 or s[2] != ":" or s[5] != ":" or s[8] != "." or not (s[:2] + s[3:5] + s[6:8] + s[9:]).isdigit() or not s.isascii(): + raise Refused("vtt_malformed") + h, m, sec, ms = int(s[:2]), int(s[3:5]), int(s[6:8]), int(s[9:]) + if m > 59 or sec > 59: + raise Refused("vtt_malformed") + return ((h * 60 + m) * 60 + sec) * 1000 + ms + + +def unesc(s): + out, i = [], 0 + while i < len(s): + if s[i] == "&": + for ref, ch in (("&", "&"), ("<", "<"), (">", ">")): + if s.startswith(ref, i): + out.append(ch) + i += len(ref) + break + else: + raise Refused("vtt_malformed") + elif s[i] in "<>": + raise Refused("vtt_malformed") + else: + out.append(s[i]) + i += 1 + return "".join(out) + + +def read_webvtt(doc, lang): + """§5.3: (cues, (local, mpegts) or None).""" + bad = Refused("vtt_malformed") + if not doc.startswith("WEBVTT\n"): + raise bad + rest = doc[7:] + tsmap = None + if rest.startswith("X-TIMESTAMP-MAP=LOCAL:"): + line, nl, rest = rest[22:].partition("\n") + local, sep, mp = line.partition(",MPEGTS:") + if not nl or not sep or not mp.isdigit() or not mp.isascii() or (len(mp) > 1 and mp[0] == "0") or int(mp) >= 2 ** 33: + raise bad + tsmap = (read_hhmmss(local), int(mp)) + if not rest.startswith("\n"): + raise bad + rest = rest[1:] + cues = [] + blocks = rest.split("\n\n") if rest else [] + for k, block in enumerate(blocks): + if not block.endswith("\n") and k == len(blocks) - 1: + raise bad + lines = block.split("\n") + if k == len(blocks) - 1: + if lines[-1] != "": + raise bad + lines = lines[:-1] + if len(lines) < 2 or any(x == "" for x in lines): + raise bad + head = lines[0].split(" ", 3) + if len(head) != 4 or head[1] != "-->": + raise bad + start, end = read_hhmmss(head[0]), read_hhmmss(head[2]) + anchor = next((a for a in ANCHORS if settings(a) == head[3]), None) + if anchor is None: + raise bad + body = "\n".join(lines[1:]) + origin, model = "human", None + if body.startswith("") + if not gt or not inner.endswith(""): + raise bad + classes = tag.split(".") + origin = {"wai-machine": "machine", "wai-machine-reviewed": "machine-reviewed"}.get(classes[0]) + if origin is None: + raise bad + if len(classes) == 1: + raise Refused("model_missing") + mc = classes[1] + if len(classes) != 2 or not mc.startswith("wai-model-") or len(mc) != 74 or any(ch not in "0123456789abcdef" for ch in mc[10:]): + raise bad + model, body = mc[10:], inner[:-4] + text, italic, pos = [], [], 0 + for n, line in enumerate(body.split("\n")): + if n: + text.append("\n") + pos += 1 + runs, rest_line = [], line + while rest_line: + if rest_line.startswith(""): + inner, sep, after = rest_line[3:].partition("") + if not sep or inner == "" or "<" in inner: + raise bad + runs.append((True, unesc(inner))) + rest_line = after + else: + cut = rest_line.find("<") + cut = len(rest_line) if cut < 0 else cut + if cut == 0: + raise bad + runs.append((False, unesc(rest_line[:cut]))) + rest_line = rest_line[cut:] + if any(a[0] == b[0] for a, b in zip(runs, runs[1:])): + raise bad + for it, t in runs: + if it: + if italic and italic[-1][0] + italic[-1][1] == pos: + italic[-1][1] += len(t) + else: + italic.append([pos, len(t)]) + text.append(t) + pos += len(t) + cue = {"start": start, "end": end, "lang": lang, "origin": origin, "model": model, + "anchor": anchor, "text": "".join(text), "italic": italic} + if cues and cues[-1]["start"] > start: + raise bad + check_cue(cue) + cues.append(cue) + return cues, tsmap + + +# ---------------------------------------------------------------- §6 IMSC1 + +REGION_LINES = [ + '', + '', +] + + +def region(anchor): + return "top" if is_top(anchor) else "bottom" + + +def imsc_p(c): + attrs = 'begin="%s" end="%s" region="%s" tts:textAlign="%s"' % (hhmmss(c["start"]), hhmmss(c["end"]), region(c["anchor"]), align(c["anchor"])) + if c["origin"] != "human": + attrs += ' wai:origin="%s" wai:model="%s"' % (c["origin"], c["model"]) + lines = ["".join('%s' % esc(t) if it else esc(t) for it, t in line) for line in runs_of(c)] + return "

%s

" % (attrs, "
".join(lines)) + + +def imsc(lang, cues): + check_doc(lang, cues) + cues = in_order(cues) + hrm(cues) + out = ['', + '' % (NS_TT, NS_TTS, NS_EBUTTM, NS_WAI, lang), + "", "", ""] + out += ["%s" % p for p in PROFILES] + out += ["", "", ""] + REGION_LINES + ["", "", "", "
"] + out += [imsc_p(c) for c in cues] + out += ["
", "", "
"] + return "\n".join(out) + "\n" + + +def hrm(cues): + """§6.2, in units of 1/2700 s.""" + times = sorted(set([c["start"] for c in cues] + [c["end"] for c in cues])) + cache = {} # glyph -> flagged + last = None + for at, _ in zip(times, times[1:]): + live = [c for c in cues if c["start"] <= at < c["end"]] + if not live: + cache = {} + continue + budget_ms = at - last if last is not None and at - last < 1000 else 1000 + cost = 225 + for reg in ("top", "bottom"): + for c in live: + if region(c["anchor"]) != reg: + continue + flags = italic_flags(c) + for i, ch in enumerate(c["text"]): + if ch == "\n": + continue + g = (ch, flags[i]) + cost += 4 if g in cache else 20 + cache[g] = True + if sum(1 for f in cache.values() if f) > 225: + raise Refused("hrm_exceeded") + if 27 * budget_ms < 10 * cost: + raise Refused("hrm_exceeded") + cache = {g: False for g, f in cache.items() if f} + last = at + + +def percents(s): + """Two lengths in percent, as numbers; None otherwise.""" + parts = s.split(" ") + if len(parts) != 2 or not all(v.endswith("%") and v[:-1].replace(".", "", 1).isdigit() and v.isascii() for v in parts): + return None + return tuple(float(v[:-1]) for v in parts) + + +def clock(s): + return read_hhmmss(s) + + +def imsc_structure(doc, cues): + """§6.3, with xml.etree: the failures.""" + fails = [] + if not doc.startswith('\n'): + fails.append("no UTF-8 XML declaration") + try: + root = ET.fromstring(doc.encode("utf-8")) + except ET.ParseError as e: + return ["not well-formed: %s" % e] + tt = lambda n: "{%s}%s" % (NS_TT, n) # noqa: E731 + if root.tag != tt("tt") or not lang_ok(root.get("{%s}lang" % NS_XML)): + fails.append("the root is not tt with xml:lang") + named = [e.text for e in root.iter("{%s}conformsToStandard" % NS_EBUTTM)] + if named != PROFILES: + fails.append("the profiles named are %s" % named) + regions = {} + for r in root.iter(tt("region")): + rid = r.get("{%s}id" % NS_XML) + o, x = r.get("{%s}origin" % NS_TTS, ""), r.get("{%s}extent" % NS_TTS, "") + if r.get("{%s}position" % NS_TTS) is not None: + fails.append("region %s has tts:position" % rid) + po, px = percents(o), percents(x) + if po is None or px is None: + fails.append("region %s is not in percent" % rid) + continue + (ox, oy), (ex, ey) = po, px + if ox + ex > 100 or oy + ey > 100: + fails.append("region %s leaves the root container" % rid) + regions[rid] = (ox, oy, ox + ex, oy + ey) + if sorted(regions) != ["bottom", "top"]: + fails.append("the regions are %s" % sorted(regions)) + rs = list(regions.values()) + for i in range(len(rs)): + for j in range(i + 1, len(rs)): + a, b = rs[i], rs[j] + if a[0] < b[2] and b[0] < a[2] and a[1] < b[3] and b[1] < a[3]: + fails.append("two regions overlap") + allowed_tt = {"begin", "end", "region", "{%s}textAlign" % NS_TTS, "{%s}fontStyle" % NS_TTS} + body = root.find(tt("body")) + divs = [] if body is None else list(body) + if len(divs) != 1 or divs[0].tag != tt("div"): + fails.append("the body is not one div") + return fails + ps = list(divs[0]) + if len(ps) != len(cues): + fails.append("%d p for %d cues" % (len(ps), len(cues))) + for p, c in zip(ps, in_order(cues)): + if p.tag != tt("p"): + fails.append("a child of div is not p") + continue + try: + b, e = clock(p.get("begin", "")), clock(p.get("end", "")) + if not b < e: + fails.append("a p does not begin before it ends") + except Refused: + fails.append("a p's times are not clock times") + if p.get("region") not in regions: + fails.append("a p names no region") + for k in p.attrib: + if k.startswith("{%s}" % NS_WAI): + continue + if k not in allowed_tt: + fails.append("p has attribute %s" % k) + has_label = (p.get("{%s}origin" % NS_WAI), p.get("{%s}model" % NS_WAI)) + want = (c["origin"], c["model"]) if c["origin"] != "human" else (None, None) + if has_label != want: + fails.append("the label of a p is %s, its cue's %s" % (has_label, want)) + for child in p.iter(): + if child is p: + continue + if child.tag == tt("br"): + if child.attrib or (child.text or ""): + fails.append("a br has content") + elif child.tag == tt("span"): + if dict(child.attrib) != {"{%s}fontStyle" % NS_TTS: "italic"} or len(child): + fails.append("a span is not one italic run") + else: + fails.append("p holds %s" % child.tag) + if "".join(p.itertext()).replace("\n", "") != c["text"].replace("\n", ""): + fails.append("a p's text is not its cue's") + return fails + + +# ---------------------------------------------------------------- §7 timelines + +def jstr(s): + out = ['"'] + for ch in s: + if ch == '"': + out.append('\\"') + elif ch == "\\": + out.append("\\\\") + elif ch == "\n": + out.append("\\n") + elif ord(ch) < 0x20: + out.append("\\u%04x" % ord(ch)) + else: + out.append(ch) + out.append('"') + return "".join(out) + + +def vtt_record(c): + line = "10%,start" if is_top(c["anchor"]) else "90%,end" + return ('{"m":%d,"data":{"start":%d,"end":%d,"text":%s,"settings":{"line":"%s","position":"50%%,center","size":"80%%","align":"%s"}}}' + % (c["start"], c["start"], c["end"], jstr(vtt_payload(c)), line, align(c["anchor"]))) + + +IMSC_INIT = ('{"m":0,"data":{"init":{"profile":"http://www.w3.org/ns/ttml/profile/imsc1/text",' + '"styles":{"center":{"textAlign":"center"},"left":{"textAlign":"left"},"right":{"textAlign":"right"}},' + '"regions":{"bottom":{"origin":"10% 55%","extent":"80% 35%","displayAlign":"after"},' + '"top":{"origin":"10% 10%","extent":"80% 35%","displayAlign":"before"}}}}}') + + +def imsc_record(c): + content = [] + for n, line in enumerate(runs_of(c)): + if n: + content.append('{"br":true}') + content += ['{"text":%s,"fontStyle":"italic"}' % jstr(t) if it else '{"text":%s}' % jstr(t) for it, t in line] + data = '"start":%d,"end":%d,"region":"%s","style":"%s","content":[%s]' % (c["start"], c["end"], region(c["anchor"]), align(c["anchor"]), ",".join(content)) + if c["origin"] != "human": + data += ',"wai_origin":"%s","wai_model":"%s"' % (c["origin"], c["model"]) + return '{"m":%d,"data":{%s}}' % (c["start"], data) + + +def timeline(kind, lang, published, group_ms, first, last): + check_doc(lang, [c for c, _ in published]) + if group_ms < 1 or first > last or any(t < c["start"] for c, t in published): + raise Refused("parameter_malformed") + order = sorted(published, key=lambda ct: ct[1]) + rec = vtt_record if kind == "webvtt" else imsc_record + groups = [] + for g in range(first, last + 1): + lo, hi = g * group_ms, (g + 1) * group_ms + head = [IMSC_INIT] if kind == "imsc" else [] + head += [rec(c) for c, t in order if t < lo and c["end"] > lo] + objects = ["[" + ",".join(head) + "]"] + ["[" + rec(c) + "]" for c, t in order if lo <= t < hi] + groups.append({"group": g, "objects": objects}) + return groups + + +def catalog(kind, name, lang, depends, cues): + et, mode = ("urn:msf:captions:webvtt", "") if kind == "webvtt" else ("urn:msf:captions:imsc1", ',"imsc1Mode":"cue"') + mg = "true" if any(c["origin"] != "human" for c in cues) else "false" + return ('{"name":%s,"packaging":"eventtimeline","eventType":"%s","mimeType":"application/json","depends":[%s],"role":"caption","lang":%s%s,"wai_machine_generated":%s}' + % (jstr(name), et, ",".join(jstr(d) for d in depends), jstr(lang), mode, mg)) + + +# ---------------------------------------------------------------- §10 the label + +def attr_ok(s): + return s != "" and all(ch.isascii() and (ch.isalnum() or ch in " ._-/:") for ch in s) + + +def media_tag(kind, group, name, lang, chars, cues, uri=None): + check_doc(lang, cues) + if not attr_ok(group) or not attr_ok(name) or (uri is not None and not attr_ok(uri)) or any(not attr_ok(c) or "," in c or c == "public.machine-generated" for c in chars): + raise Refused("parameter_malformed") + cs = list(chars) + (["public.machine-generated"] if any(c["origin"] != "human" for c in cues) else []) + tag = '#EXT-X-MEDIA:TYPE=%s,GROUP-ID="%s",NAME="%s",LANGUAGE="%s"' % (kind, group, name, lang) + if kind == "CLOSED-CAPTIONS": + tag += ',INSTREAM-ID="CC1"' + if cs: + tag += ',CHARACTERISTICS="%s"' % ",".join(cs) + if uri is not None: + tag += ',URI="%s"' % uri + return tag + + +def source_type(cues): + kinds = sorted(set(c["origin"] for c in cues)) + if kinds in ([], ["human"]): + return DST + "digitalCreation" + if kinds == ["machine"]: + return DST + "trainedAlgorithmicMedia" + if kinds == ["machine-reviewed"]: + return DST + "compositeWithTrainedAlgorithmicMedia" + return DST + "compositeSynthetic" + + +def c2pa(cues): + models = [] # [model, any machine] + for c in in_order(cues): + if c["model"] is None: + continue + hit = next((m for m in models if m[0] == c["model"]), None) + if hit is None: + models.append([c["model"], c["origin"] == "machine"]) + else: + hit[1] = hit[1] or c["origin"] == "machine" + parts = [] + for i, (m, auto) in enumerate(models): + label = "c2pa.ai-disclosure" if i == 0 else "c2pa.ai-disclosure__%d" % i + parts.append('{"label":"%s","data":{"modelType":"c2pa.types.model","modelIdentifier":"%s%s","contentProfile":{"humanOversightLevel":"%s"}}}' + % (label, MODEL_URI, m, "fully_autonomous" if auto else "human_validated")) + return '{"digitalSourceType":"%s","assertions":[%s]}' % (source_type(cues), ",".join(parts)) + + +def sidecar(lang, cues): + check_doc(lang, cues) + rows = [] + for c in in_order(cues): + m = ',"model":"%s"' % c["model"] if c["model"] is not None else "" + rows.append('{"start":%d,"end":%d,"origin":"%s"%s}' % (c["start"], c["end"], c["origin"], m)) + return '{"wai_timed_text":1,"lang":%s,"cues":[%s]}' % (jstr(lang), ",".join(rows)) + + +# ---------------------------------------------------------------- §8 CTA-608 + +SPECIAL = "®°½¿™¢£♪à èâêîôû" +EXT = { + 0x12: "ÁÉÓÚÜü‘¡*\x00—©℠•“”ÀÂÇÈÊËëÎÏïÔÙùÛ«»", + 0x13: "ÃãÍÌìÒòÕõ{}\\^_|~ÄäÖöߥ¤¦Å娸┌┐└┘", +} +SUBST = {"’": "'", "–": "-", "‐": "-", "‑": "-"} +BASIC_SWAP = {0x2A: "á", 0x5C: "é", 0x5E: "í", 0x5F: "ó", 0x60: "ú", 0x7B: "ç", 0x7C: "÷", 0x7D: "Ñ", 0x7E: "ñ"} +PAC_FIRST = {1: 0x11, 2: 0x11, 3: 0x12, 4: 0x12, 5: 0x15, 6: 0x15, 7: 0x16, 8: 0x16, 9: 0x17, 10: 0x17, 11: 0x10, 12: 0x13, 13: 0x13, 14: 0x14, 15: 0x14} +FALLBACK = {} +for _letters, _base in (("ÁÀÂÃÄÅ", "A"), ("ÉÈÊË", "E"), ("ÍÌÎÏ", "I"), ("ÓÒÔÕÖØ", "O"), ("ÚÙÛÜ", "U"), ("Ç", "C"), + ("ãäå", "a"), ("ë", "e"), ("ìï", "i"), ("òõöø", "o"), ("ùü", "u"), ("ß", "s"), ("“”«»", '"'), ("‘", "'"), ("¡", "!")): + for _ch in _letters: + FALLBACK[_ch] = _base + + +def basic(b): + if b in BASIC_SWAP: + return BASIC_SWAP[b] + if 0x20 <= b <= 0x7A: + return chr(b) + return None + + +BASIC_OF = {basic(b): b for b in range(0x20, 0x7F) if basic(b) is not None} + + +def send(ch): + """§8.4: (shown as, how sent) or None.""" + ch = SUBST.get(ch, ch) + if ch in BASIC_OF: + return ch, ("b", BASIC_OF[ch]) + if ch in SPECIAL: + return ch, ("s", 0x30 + SPECIAL.index(ch)) + for first in (0x12, 0x13): + table = EXT[first] + if ch in table and ch != "\x00": + return ch, ("x", first, 0x20 + table.index(ch), ord(FALLBACK.get(ch, " "))) + return None + + +def row_base(row): + return 0x60 if row in (2, 4, 6, 8, 10, 13, 15) else 0x40 + + +def odd(b): + return b | 0x80 if bin(b & 0x7F).count("1") % 2 == 0 else b & 0x7F + + +def layout(mode, c): + """§8.5: [(row, col, text, italic ranges)], or Refused.""" + lines = runs_of(c) + rows_max = 4 if mode == "pop-on" else int(mode[-1]) + if len(lines) > rows_max: + raise Refused("too_many_rows") + shown = [] + for line in lines: + text, flags = "", [] + for it, t in line: + for ch in t: + s = send(ch) + if s is None: + raise Refused("char_not_in_608") + text += s[0] + flags.append(it) + shown.append((text, flags)) + out = [] + for k, (text, flags) in enumerate(shown): + width = len(text) + if width > 32: + raise Refused("row_too_long") + ranges = [] + for i, f in enumerate(flags): + if f: + if ranges and ranges[-1][0] + ranges[-1][1] == i: + ranges[-1][1] += 1 + else: + ranges.append([i, 1]) + for s, n in ranges: + if (s > 0 and text[s - 1] != " ") or (s + n < width and text[s + n] != " "): + raise Refused("style_not_expressible") + n = len(shown) + if mode == "pop-on": + row = k + 1 if is_top(c["anchor"]) else 16 - n + k + else: + row = int(mode[-1]) if is_top(c["anchor"]) else 15 + a = align(c["anchor"]) + col = 0 if a == "left" else (32 - width if a == "right" else (32 - width) // 2) + out.append((row, col, text, ranges)) + return out + + +def row_codes(row, col, text, ranges): + """§8.5: [("b", byte) | ("2", b1, b2)].""" + flags = [False] * len(text) + for s, n in ranges: + for i in range(s, s + n): + flags[i] = True + + def place(x): + out = [("2", PAC_FIRST[row], row_base(row) + 0x10 + 2 * (x // 4))] + if x % 4: + out.append(("2", 0x17, 0x20 + x % 4)) + return out + if flags and flags[0] and col == 0: + codes = [("2", PAC_FIRST[row], row_base(row) + 0x0E)] + elif flags and flags[0]: + codes = place(col - 1) + [("2", 0x11, 0x2E)] + else: + codes = place(col) + for i, ch in enumerate(text): + if ch == " " and not flags[i] and i + 1 < len(text) and flags[i + 1]: + codes.append(("2", 0x11, 0x2E)) + elif ch == " " and not flags[i] and i > 0 and flags[i - 1]: + codes.append(("2", 0x11, 0x20)) + else: + how = send(ch)[1] + if how[0] == "b": + codes.append(("b", how[1])) + elif how[0] == "s": + codes.append(("2", 0x11, how[1])) + else: + codes.append(("b", how[3])) + codes.append(("2", how[1], how[2])) + return codes + + +def units_of(codes): + """§8.3: [(pair, slots)] — one slot for a pair of standard bytes, two for a doubled code.""" + out, held = [], None + for c in codes: + if c[0] == "b": + if held is None: + held = c[1] + else: + out.append(((held, c[1]), 1)) + held = None + else: + if held is not None: + out.append(((held, 0), 1)) + held = None + out.append(((c[1], c[2]), 2)) + if held is not None: + out.append(((held, 0), 1)) + return out + + +def slot_of(ms, rate): + num, den = rate + return -((-ms * num) // (1000 * den)) + + +def encode608(mode, rate, lang, cues): + """§8.6, §8.7: {slot: (b1, b2)} with parity.""" + check_doc(lang, cues) + num, den = rate + if not (0 < num <= 1000000 and 0 < den <= 1000000) or mode not in ("pop-on", "roll-up-2", "roll-up-3", "roll-up-4"): + raise Refused("parameter_malformed") + cues = in_order(cues) + rows = [layout(mode, c) for c in cues] + for a, b in zip(cues, cues[1:]): + if b["start"] < a["end"]: + raise Refused("cues_overlap") + if mode != "pop-on" and len(set(is_top(c["anchor"]) for c in cues)) > 1: + raise Refused("style_not_expressible") + s = [slot_of(c["start"], rate) for c in cues] + e = [slot_of(c["end"], rate) for c in cues] + n = len(cues) + erase = [i == n - 1 or s[i + 1] >= e[i] + 2 for i in range(n)] + slots = {} + + def put(at, pair, count): + for k in range(count): + slots[at + k] = (odd(pair[0]), odd(pair[1])) + if mode == "pop-on": + for i in range(n): + if e[i] < s[i] + 2: + raise Refused("too_dense") + put(s[i], (0x14, 0x2F), 2) + if erase[i]: + put(e[i], (0x14, 0x2C), 2) + for i in range(n): + codes = [("2", 0x14, 0x20), ("2", 0x14, 0x2E)] + for r in rows[i]: + codes += row_codes(*r) + floor = 0 if i == 0 else s[i - 1] + 2 + ceiling = s[i] + for pair, count in reversed(units_of(codes)): + q = ceiling - count + while q >= floor and any(q + k in slots for k in range(count)): + q -= 1 + if q < floor: + raise Refused("too_dense") + put(q, pair, count) + ceiling = q + else: + depth = int(mode[-1]) + after, filled = 0, False + for i in range(n): + if s[i] < after: + raise Refused("too_dense") + codes = [("2", 0x14, 0x23 + depth)] if i == 0 else [] + for r in rows[i]: + if filled: + codes.append(("2", 0x14, 0x2D)) + codes += row_codes(*r) + filled = True + at = s[i] + for pair, count in units_of(codes): + put(at, pair, count) + at += count + if at > (e[i] if erase[i] else s[i + 1]): + raise Refused("too_dense") + if erase[i]: + put(e[i], (0x14, 0x2C), 2) + filled = False + after = e[i] + 2 + else: + after = at + return slots + + +def to_hex(slots): + return "".join("%d %02x%02x\n" % (k, slots[k][0], slots[k][1]) for k in sorted(slots)) + + +def from_hex(text): + bad = Refused("cc_malformed") + if not text.endswith("\n"): + raise bad + out = [] + for line in text[:-1].split("\n"): + slot, sp, pair = line.partition(" ") + if not sp or not slot.isdigit() or not slot.isascii() or (len(slot) > 1 and slot[0] == "0"): + raise bad + if len(pair) != 4 or any(ch not in "0123456789abcdef" for ch in pair): + raise bad + if out and out[-1][0] >= int(slot): + raise bad + out.append((int(slot), (int(pair[:2], 16), int(pair[2:], 16)))) + return out + + +def read_cells(row, cells): + real = [k for k in range(32) if cells[k] is not None and not cells[k][2]] + if not real: + return None + i, j = real[0], real[-1] + text, flags, space = "", [], [] + for k in range(i, j + 1): + cell = cells[k] + ch = cell[0] if cell is not None and not cell[2] else " " + text += ch + flags.append(cell is not None and not cell[2] and cell[1] and ch != " ") + space.append(ch == " ") + ranges = [] + for k in range(len(text)): + inside = flags[k] or (space[k] and 0 < k < len(text) - 1 and flags[k - 1] and flags[k + 1]) + if inside: + if ranges and ranges[-1][0] + ranges[-1][1] == k: + ranges[-1][1] += 1 + else: + ranges.append([k, 1]) + return {"row": row, "col": i, "text": text, "italic": ranges} + + +def decode608(pairs): + """§8.8: the events, as the corpus writes them.""" + bad = Refused("cc_malformed") + blank = lambda: [[None] * 32 for _ in range(15)] # noqa: E731 + shown, hidden = blank(), blank() + mode, row, col, it, base = None, 15, 0, False, 15 + line_at, acted, prev, events = None, None, None, [] + + def rows_of(mem): + return [r for r in (read_cells(k + 1, mem[k]) for k in range(15)) if r is not None] + + def commit(): + nonlocal line_at + r = read_cells(base, shown[base - 1]) + if r is not None and line_at is not None: + events.append({"line": line_at, "row": r}) + line_at = None + + def put(ch, mid_row=False): + nonlocal col + if mode is None: + raise bad + mem, r = (hidden, row) if mode == "pop" else (shown, base) + mem[r - 1][col] = (ch, it, mid_row) + col = min(col + 1, 31) + for slot, (x, y) in pairs: + if prev is not None and slot <= prev: + raise bad + prev = slot + if bin(x).count("1") % 2 == 0 or bin(y).count("1") % 2 == 0: + raise bad + a, b = x & 0x7F, y & 0x7F + if 0x10 <= a <= 0x1F: + if acted is not None and acted[0] == (a, b) and acted[1] + 1 == slot: + acted = None + continue + acted = ((a, b), slot) + if b >= 0x40: + r = next((k for k in range(1, 16) if PAC_FIRST[k] == a and row_base(k) == b & 0x60), None) + attr = b & 0x1F + if r is None: + raise bad + if attr == 0x00: + c0, i0 = 0, False + elif attr == 0x0E: + c0, i0 = 0, True + elif 0x10 <= attr <= 0x1E and attr % 2 == 0: + c0, i0 = (attr - 0x10) * 2, False + else: + raise bad + row, col, it = r, c0, i0 + if mode not in (None, "pop"): + base = r + if line_at is None: + line_at = slot + elif a == 0x14 and b == 0x20: + mode = "pop" + elif a == 0x14 and b in (0x25, 0x26, 0x27): + if mode == "pop": + shown, hidden = blank(), blank() + mode, base, col = b - 0x23, 15, 0 + elif a == 0x14 and b == 0x2C: + if mode not in (None, "pop"): + commit() + line_at = None + shown = blank() + events.append({"erase": slot}) + elif a == 0x14 and b == 0x2D: + if mode in (None, "pop"): + raise bad + commit() + for k in range(base - mode, base - 1): + shown[k] = shown[k + 1] + shown[base - 1] = [None] * 32 + col = 0 + elif a == 0x14 and b == 0x2E: + hidden = blank() + elif a == 0x14 and b == 0x2F: + shown, hidden = hidden, shown + mode = "pop" + events.append({"show": slot, "rows": rows_of(shown)}) + elif a == 0x17 and b in (0x21, 0x22, 0x23): + col = min(col + b - 0x20, 31) + elif a == 0x11 and b in (0x20, 0x2E): + it = b == 0x2E + put(" ", True) + elif a == 0x11 and 0x30 <= b <= 0x3F: + put(SPECIAL[b - 0x30]) + elif a in (0x12, 0x13) and 0x20 <= b <= 0x3F: + ch = EXT[a][b - 0x20] + if ch == "\x00": + raise bad + col = max(col - 1, 0) + put(ch) + else: + raise bad + else: + acted = None + for v in (a, b): + if v == 0: + continue + ch = basic(v) + if ch is None: + raise bad + put(ch) + if mode not in (None, "pop"): + commit() + return events + + +def round_trip(mode, rate, cues, events): + """§8.8's last paragraph: what a decoder reports is what the cues lay out.""" + cues = in_order(cues) + n = len(cues) + s = [slot_of(c["start"], rate) for c in cues] + e = [slot_of(c["end"], rate) for c in cues] + erased = [i == n - 1 or s[i + 1] >= e[i] + 2 for i in range(n)] + rows = [[{"row": r, "col": c, "text": t, "italic": rg} for r, c, t, rg in layout(mode, cue)] for cue in cues] + if mode == "pop-on": + want = [] + for i in range(n): + want.append({"show": s[i], "rows": rows[i]}) + if erased[i]: + want.append({"erase": e[i]}) + return events == want + k = 0 + for i in range(n): + end = e[i] if erased[i] else s[i + 1] + for r in rows[i]: + if k >= len(events) or events[k].get("row") != r or not (s[i] <= events[k]["line"] < end): + return False + k += 1 + if erased[i]: + if k >= len(events) or events[k] != {"erase": e[i]}: + return False + k += 1 + return k == len(events) + + +def paths608(text): + seen = set() + for _, (x, y) in from_hex(text): + a, b = x & 0x7F, y & 0x7F + names = {(0x14, 0x20): "RCL", (0x14, 0x25): "RU2", (0x14, 0x26): "RU3", (0x14, 0x27): "RU4", (0x14, 0x2C): "EDM", + (0x14, 0x2D): "CR", (0x14, 0x2E): "ENM", (0x14, 0x2F): "EOC", (0x17, 0x21): "TO1", (0x17, 0x22): "TO2", + (0x17, 0x23): "TO3", (0x11, 0x20): "MRC white", (0x11, 0x2E): "MRC italics"} + if (a, b) in names: + seen.add(names[(a, b)]) + elif a == 0x11 and 0x30 <= b <= 0x3F: + seen.add("special") + elif a in (0x12, 0x13) and 0x20 <= b <= 0x3F: + seen.add("extended 0x%x" % a) + elif 0x10 <= a <= 0x1F and b >= 0x40: + seen.add("PAC italics" if b & 0x1F == 0x0E else "PAC indent") + else: + seen.add("standard") + return seen + + +PATHS608 = {"RCL", "RU2", "RU3", "RU4", "EDM", "CR", "ENM", "EOC", "TO1", "TO2", "TO3", "MRC white", "MRC italics", + "special", "extended 0x12", "extended 0x13", "PAC italics", "PAC indent", "standard"} + + +# ---------------------------------------------------------------- §4 live captions + +def read_annotation(b): + """§4.2's layout.""" + if len(b) < 42 or b[:4] != b"WTX1" or b[4] != 1 or b[37] not in (0, 1) or b[40] > 5 or len(b) != 42 + 4 * b[41]: + raise Refused("annotation_malformed") + italic = [[int.from_bytes(b[42 + 4 * i:44 + 4 * i], "little"), int.from_bytes(b[44 + 4 * i:46 + 4 * i], "little")] for i in range(b[41])] + return {"supersedes": b[5:37], "final": b[37] == 1, "stable": int.from_bytes(b[38:40], "little"), + "anchor": ANCHORS[b[40]], "italic": italic} + + +def annotation_of(p): + return p["kind"] == META and p["bytes"][:4] == b"WTX1" + + +class Captions: + """§4.3 over a live-events verifier.""" + + def __init__(self, room): + self.ev = LEV.Verifier(room, DEFAULT_POLICY, {}) + self.revs = [] # dicts, in stream order + self.held = {} # principal -> {seq: revision position or None} + self.whole = {} # principal -> no gap so far + self.waiting = {} # principal -> revision position + self.n = 0 + + def settle(self, k, unknown): + r = self.revs[k] + r.update(final=True, stable=len(r["text"]), unknown=unknown) + + def offer(self, b): + index = self.n + self.n += 1 + before = len(self.ev.accepted) + self.ev.offer(b) # raises LEV.Refuse + if len(self.ev.accepted) == before: + return # a duplicate + _, ev, p = self.ev.accepted[-1] + who, seq = ev["principal"], ev["seq"] + held = self.held.setdefault(who, {}) + if who not in self.whole: + self.whole[who] = True + top = max(held) if held else None + if (top is None and seq > 0) or (top is not None and seq > top + 1): + self.whole[who] = False + mine = self.waiting.pop(who, None) + ann = annotation_of(p) + target = None + if mine is not None: + cseq = self.revs[mine]["event"]["seq"] + if seq == cseq + 1 and ann: + target = mine + else: + self.settle(mine, seq != cseq + 1) + if p["kind"] == CAPTION: + if not text_ok(p["text"]): + raise Refused("text_not_in_subset") + self.revs.append({"index": index, "event": ev, "text": p["text"], "lang": p["lang"], "duration": p["duration_ms"], + "origin": ORIGINS[p["origin"]], "model": None if p["model"] is None else p["model"].hex(), + "annotation": None, "unknown": False, "final": False, "stable": 0, + "anchor": "bottom-center", "italic": [], "sup": None, "sup_digest": None, "by": None}) + held[seq] = len(self.revs) - 1 + self.waiting[who] = len(self.revs) - 1 + elif ann: + held[seq] = None + if target is not None: + self.attach(index, target, ev, p["bytes"]) + elif seq > 0 and (seq - 1) in held: + raise Refused("annotation_misplaced") + else: + held[seq] = None + + def attach(self, index, k, ev, b): + a = read_annotation(b) + r = self.revs[k] + if ev["t"] != r["event"]["t"]: + raise Refused("annotation_misplaced") + if a["stable"] > len(r["text"]) or (a["final"] and a["stable"] != len(r["text"])) or not ranges_ok(r["text"], a["italic"]): + raise Refused("annotation_malformed") + sup = None + if a["supersedes"] != bytes(32): + who = ev["principal"] + sup = next((j for j, x in enumerate(self.revs) if x["event"]["principal"] == who and x["event"]["digest"] == a["supersedes"]), None) + if sup is None: + if self.whole[who]: + raise Refused("supersede_unknown") + else: + old = self.revs[sup] + if old["final"]: + raise Refused("supersede_final") + if old["by"] is not None: + raise Refused("supersede_forked") + if old["lang"] != r["lang"] or old["anchor"] != a["anchor"]: + raise Refused("supersede_mismatch") + if not r["text"].startswith(old["text"][:old["stable"]]): + raise Refused("stability_broken") + old["by"] = k + r.update(annotation=index, final=a["final"], stable=a["stable"], anchor=a["anchor"], italic=a["italic"], sup=sup, + sup_digest=None if a["supersedes"] == bytes(32) else a["supersedes"]) + + def finish(self): + for k in list(self.waiting.values()): + self.settle(k, False) + self.waiting = {} + + def shown(self, x, names): + out = [] + for k, r in enumerate(self.revs): + t = r["event"]["t"] + if t > x or (r["by"] is not None and self.revs[r["by"]]["event"]["t"] <= x): + continue + if r["duration"]: + live = x < t + r["duration"] * 1000 + else: + live = not any(n["event"]["principal"] == r["event"]["principal"] and n["event"]["seq"] > r["event"]["seq"] + and n["event"]["t"] <= x for n in self.revs[k + 1:]) + if live: + out.append({"principal": names[r["event"]["principal"].hex()], "text": r["text"], "anchor": r["anchor"], + "origin": r["origin"], "italic": r["italic"], "final": r["final"]}) + return {"at": x, "cues": out} + + def revisions(self): + return [{"index": r["index"], "annotation": r["annotation"], "final": r["final"], "unknown": r["unknown"], + "stable_cp": r["stable"], "anchor": r["anchor"], "italic": r["italic"], + "supersedes": None if r["sup"] is None else self.revs[r["sup"]]["index"]} for r in self.revs] + + def resolve(self, pt0): + """§4.5: (cues with their publication times) or Refused with an index.""" + out = [] + for head in self.revs: + if head["sup"] is not None or head["sup_digest"] is not None: + continue + last = head + while last["by"] is not None: + last = self.revs[last["by"]] + if not last["final"] or last["unknown"]: + raise Refused(("not_final", last["index"])) + if last["duration"] == 0: + raise Refused(("duration_unknown", last["index"])) + pub = pt0 + last["event"]["t"] // 1000 + cue = {"start": pt0 + head["event"]["t"] // 1000, "end": pub + last["duration"], "lang": last["lang"], + "origin": last["origin"], "model": last["model"], "anchor": last["anchor"], "text": last["text"], + "italic": last["italic"]} + if cue["end"] > LAST_MS: + raise Refused(("time_out_of_range", last["index"])) + out.append((cue["start"], head["index"], cue, pub)) + out.sort(key=lambda x: (x[0], x[1])) + return [(c, p) for _, _, c, p in out] + + +def verify_events(room, records): + """§4.3's outcome: (outcome dict, Captions).""" + cap = Captions(room) + for i, b in enumerate(records): + try: + cap.offer(b) + except (LEV.Refuse, Refused) as e: + return {"outcome": "refuse", "reason": e.reason, "index": i}, cap + cap.finish() + if cap.ev.gaps: + return {"outcome": "gap", "gaps": [[g[0], g[1], g[2]] for g in cap.ev.gaps]}, cap + bad = LEV.stated_tally_mismatch(cap.ev.accepted) + if bad is not None: + return {"outcome": "refuse", "reason": "tally_mismatch", "index": bad}, cap + return {"outcome": "accept"}, cap + + +def join_set(mine, group): + """§4.6 on one principal's (event, payload) list: the seqs of its join set.""" + start = group * GROUP_US + before = [(e, p) for e, p in mine if e["t"] < start] + by_seq = {e["seq"]: (e, p) for e, p in before} + keep = set() + # live-events §8.2. + closed = {p["poll"] for _, p in before if p["kind"] == 0x07} + open_polls = {e["digest"] for e, p in before if p["kind"] == 0x05 and e["digest"] not in closed} + last_vote, ins = {}, {} + for e, p in before: + if p["kind"] == 0x06 and p["poll"] in open_polls: + last_vote[p["poll"]] = e["seq"] + if p["kind"] == 0x02 and p["type"] == 2: + ins[p["cue_id"]] = e["seq"] + for e, p in before: + k = p["kind"] + if (k == 0x05 and e["digest"] in open_polls) or (k == 0x06 and last_vote.get(p["poll"]) == e["seq"]): + keep.add(e["seq"]) + elif k == CAPTION and p["duration_ms"] > 0 and e["t"] + p["duration_ms"] * 1000 > start: + keep.add(e["seq"]) + elif k == 0x02 and p["type"] in (1, 4) and not (p["cue_id"] in ins and ins[p["cue_id"]] > e["seq"]): + keep.add(e["seq"]) + # §4.6. + superseded = set() + for e, p in before: + if annotation_of(p) and (e["seq"] - 1) in by_seq and by_seq[e["seq"] - 1][1]["kind"] == CAPTION: + try: + superseded.add(read_annotation(p["bytes"])["supersedes"]) + except Refused: + pass + captions = [e["seq"] for e, p in before if p["kind"] == CAPTION] + for e, p in before: + if p["kind"] != CAPTION or p["duration_ms"] != 0 or e["seq"] != max(captions) or e["digest"] in superseded: + continue + nxt = by_seq.get(e["seq"] + 1) + if nxt and annotation_of(nxt[1]): + try: + if not read_annotation(nxt[1]["bytes"])["final"]: + keep.add(e["seq"]) + except Refused: + pass + for s in sorted(keep): + if s in by_seq and by_seq[s][1]["kind"] == CAPTION and (s + 1) in by_seq and annotation_of(by_seq[s + 1][1]): + keep.add(s + 1) + return sorted(keep) + + +def join_stream(records, group): + parsed = [] + for b in records: + e = LEV.read_record(b) + parsed.append((e, LEV.read_payload(e["kind"], e["payload"], 500))) + out, idx = [], [] + for who in sorted(set(e["principal"] for e, _ in parsed)): + mine = [(e, p) for e, p in parsed if e["principal"] == who] + for s in join_set(mine, group): + i = next(k for k, (e, _) in enumerate(parsed) if e["principal"] == who and e["seq"] == s) + idx.append(i) + out.append(records[i]) + out += [records[k] for k, (e, _) in enumerate(parsed) if e["t"] >= group * GROUP_US] + return out, idx + + +# ---------------------------------------------------------------- the corpus + +def attempt(f, *a): + try: + return f(*a), None + except Refused as e: + return None, e.reason + + +def targets_of(name, lang, published, stated, written): + """The targets object, from this text; `written` collects (file, contents).""" + cues = [c for c, _ in published] + out = {} + + def file_or_reason(path, f, *a): + value, why = attempt(f, *a) + if why: + return {"reason": why} + written[path] = value + return {"file": path} + if "webvtt" in stated: + out["webvtt"] = file_or_reason(name + ".vtt", webvtt, lang, cues) + if "imsc" in stated: + out["imsc"] = file_or_reason(name + ".ttml", imsc, lang, cues) + if "segments" in stated: + s = stated["segments"] + o = {"bounds": s["bounds"], "mpegts0": s["mpegts0"]} + segs, why = attempt(webvtt_segments, lang, cues, s["bounds"], s["mpegts0"]) + if why: + o["reason"] = why + else: + o["files"] = [] + for k, seg in enumerate(segs): + p = "%s.seg%d.vtt" % (name, k) + written[p] = seg + o["files"].append(p) + out["segments"] = o + if "timelines" in stated: + s = stated["timelines"] + o = {"group_ms": s["group_ms"], "first": s["first"], "last": s["last"]} + for kind in ("webvtt", "imsc"): + groups, why = attempt(timeline, kind, lang, published, s["group_ms"], s["first"], s["last"]) + if why: + o["reason"] = why + else: + o[kind] = groups + out["timelines"] = o + if "cc608" in stated: + lst = [] + for e in stated["cc608"]: + mode, rate = e["mode"], tuple(e["rate"]) + o = {"mode": mode, "rate": list(rate)} + slots, why = attempt(encode608, mode, rate, lang, cues) + if why: + o["reason"] = why + else: + suffix = "" if rate == (30000, 1001) else ".r%d-%d" % rate + p = "%s.%s%s.608.hex" % (name, mode, suffix) + written[p] = to_hex(slots) + o["file"] = p + o["decoded"] = decode608(sorted(slots.items())) + if not round_trip(mode, rate, cues, o["decoded"]): + o["decoded"] = "does not round-trip" + lst.append(o) + out["cc608"] = lst + if "disclosure" in stated: + chars = ["public.accessibility.transcribes-spoken-dialog", "public.accessibility.describes-music-and-sound"] + out["disclosure"] = { + "hls_subtitles": media_tag("SUBTITLES", "subs", "Captions", lang, chars, cues, name + "/captions.m3u8"), + "hls_closed_captions": media_tag("CLOSED-CAPTIONS", "cc", "Captions", lang, chars, cues), + "session_data": '#EXT-X-SESSION-DATA:DATA-ID="science.transaction.wai.timed-text",URI="%s.disclosure.json",LANGUAGE="%s"' % (name, lang), + "sidecar": sidecar(lang, cues), + "c2pa": c2pa(cues), + "catalog_webvtt": catalog("webvtt", "captions-" + lang, lang, ["video"], cues), + "catalog_imsc": catalog("imsc", "captions-%s-imsc" % lang, lang, ["video"], cues), + } + return out + + +def check_targets(name, lang, published, stated, files, fails, seen): + written = {} + try: + got = targets_of(name, lang, published, stated, written) + except Exception as e: # a mutated copy that this text cannot map is a failure, not a crash + fails.append("%s: the targets do not map: %s: %s" % (name, type(e).__name__, e)) + return + if got != stated: + keys = sorted(k for k in set(got) | set(stated) if got.get(k) != stated.get(k)) + fails.append("%s: targets %s differ from this text's" % (name, keys)) + for p, body in written.items(): + if files.get(p) != body: + fails.append("%s: %s differs from this text's rendering" % (name, p)) + cues = in_order([c for c, _ in published]) + w = stated.get("webvtt", {}) + if "file" in w: + back, why = attempt(read_webvtt, files.get(w["file"], ""), lang) + if why or back != (cues, None): + fails.append("%s: its WebVTT does not read back (%s)" % (name, why)) + s = stated.get("segments", {}) + for k, f in enumerate(s.get("files", [])): + lo, hi = s["bounds"][k], s["bounds"][k + 1] + back, why = attempt(read_webvtt, files.get(f, ""), lang) + want = [c for c in cues if c["start"] < hi and c["end"] > lo] + if why or back[0] != want or back[1][0] != lo: + fails.append("%s: segment %d does not read back (%s)" % (name, k, why)) + m = stated.get("imsc", {}) + if "file" in m: + for f in imsc_structure(files.get(m["file"], ""), cues): + fails.append("%s: IMSC1 structure: %s" % (name, f)) + for e in stated.get("cc608", []): + if "reason" in e: + seen.add(e["reason"]) + if "file" in e: + try: + dec = decode608(from_hex(files.get(e["file"], ""))) + except Refused as r: + dec = r.reason + if dec != e.get("decoded"): + fails.append("%s: %s decodes otherwise than stated" % (name, e["file"])) + for k in ("webvtt", "imsc", "segments", "timelines"): + if "reason" in stated.get(k, {}): + seen.add(stated[k]["reason"]) + + +def check(doc, files, quiet=False): + fails, seen = [], set() + pt0 = doc["pt0_ms"] + room = bytes.fromhex(doc["room"]) + names = {v: k for k, v in doc["principals"].items()} + for v in doc["event_vectors"]: + name = v["name"] + try: + records = [bytes.fromhex(h) for h in v["events"]] + out, cap = verify_events(room, records) + except Exception as e: + fails.append("%s: does not verify: %s: %s" % (name, type(e).__name__, e)) + continue + if "gaps" in out: + out["gaps"] = [[names[g[0].hex()], g[1], g[2]] for g in out["gaps"]] + for k in ("outcome", "reason", "index", "gaps"): + if out.get(k) != v.get(k): + fails.append("%s: %s is %s, the corpus states %s" % (name, k, out.get(k), v.get(k))) + if v.get("reason"): + seen.add(v["reason"]) + if not quiet: + print("%s event vector %s: %s" % ("PASS" if not fails or not fails[-1].startswith(name + ":") else "FAIL", name, out["outcome"] + (" " + out.get("reason", "") if out.get("reason") else ""))) + if out["outcome"] == "refuse": + continue + if cap.revisions() != v.get("revisions"): + fails.append("%s: the revisions differ" % name) + for s in v.get("shown", []): + if cap.shown(s["at"], names) != s: + fails.append("%s: what is shown at %d differs" % (name, s["at"])) + try: + published = cap.resolve(pt0) + except Refused as r: + why, at = r.reason + seen.add(why) + if v.get("resolve") != {"reason": why, "index": at}: + fails.append("%s: resolves to %s at %d, the corpus states %s" % (name, why, at, v.get("resolve"))) + published = None + if published is not None: + want = {"cues": [c for c, _ in published], "published": [p for _, p in published]} + if v.get("resolve") != want: + fails.append("%s: the resolved cues differ" % name) + check_targets(name, "en", published, v.get("targets", {}), files, fails, seen) + j = v.get("join") + if j is not None: + stream, idx = join_stream(records, j["group"]) + if [b.hex() for b in stream] != j["stream"] or idx != j["join_set"]: + fails.append("%s: the joiner's records differ" % name) + jo, jcap = verify_events(room, stream) + if jo.get("outcome") != j.get("outcome") or [[names[g[0].hex()], g[1], g[2]] for g in jo.get("gaps", [])] != j.get("gaps"): + fails.append("%s: the joiner's outcome differs" % name) + for s in j.get("shown", []): + if jcap.shown(s["at"], names) != s or cap.shown(s["at"], names) != s: + fails.append("%s: the joiner does not show what the whole stream shows at %d" % (name, s["at"])) + # On a timeline, a joiner at any group holds every cue not yet ended (§7.3). + tl = v.get("targets", {}).get("timelines", {}) + for g in tl.get("webvtt", []): + lo = g["group"] * tl["group_ms"] + held = set() + for later in tl["webvtt"]: + if later["group"] >= g["group"]: + for obj in later["objects"]: + held |= {r["data"]["start"] for r in json.loads(obj)} + need = {c["start"] for c, _ in (published or []) if c["end"] > lo} + if not need <= held: + fails.append("%s: a joiner at group %d lacks a cue" % (name, g["group"])) + for v in doc["cue_vectors"]: + published = [(c, c["start"]) for c in v["cues"]] + before = len(fails) + check_targets(v["name"], v["lang"], published, v["targets"], files, fails, seen) + if not quiet: + print("%s cue vector %s" % ("PASS" if len(fails) == before else "FAIL", v["name"])) + for c in doc["read_cases"]: + _, why = attempt(read_webvtt, c["text"], c["lang"]) + seen.add(why) + if why != c["reason"]: + fails.append("read case %s: %s, the corpus states %s" % (c["name"], why, c["reason"])) + for c in doc["decode_cases"]: + try: + decode608(from_hex(c["hex"])) + why = None + except Refused as r: + why = r.reason + seen.add(why) + if why != c["reason"]: + fails.append("decode case %s: %s, the corpus states %s" % (c["name"], why, c["reason"])) + missing = [r for r in REASONS if r not in seen] + if missing: + fails.append("nothing is refused %s" % ", ".join(missing)) + paths = set() + for p, body in files.items(): + if p.endswith(".608.hex"): + try: + paths |= paths608(body) + except Refused: + fails.append("%s does not read" % p) + if PATHS608 - paths: + fails.append("no 608 file sends %s" % ", ".join(sorted(PATHS608 - paths))) + return fails + + +def mutations(doc, files): + """Copies of the corpus, each with one defect a conforming verifier must catch.""" + out = [] + + def mutate(label, f): + d, fs = copy.deepcopy(doc), dict(files) + f(d, fs) + out.append((label, d, fs)) + + def vec(d, kind, name): + return next(v for v in d[kind] if v["name"] == name) + + def flip_hex(h, at): + b = bytearray(bytes.fromhex(h)) + b[at] ^= 0x01 + return b.hex() + + def swap_lines(text, i): + lines = text.split("\n") + lines[i], lines[i + 1] = lines[i + 1], lines[i] + return "\n".join(lines) + mutate("a letter of the machine lesson's WebVTT", lambda d, fs: fs.update({"lesson_machine.vtt": fs["lesson_machine.vtt"].replace("twice", "twise")})) + mutate("the machine label taken out of disclosure_mix.ttml", + lambda d, fs: fs.update({"disclosure_mix.ttml": fs["disclosure_mix.ttml"].replace(' wai:origin="machine-reviewed"', "", 1)})) + mutate("the machine label taken out of disclosure_mix.vtt", + lambda d, fs: fs.update({"disclosure_mix.vtt": fs["disclosure_mix.vtt"].replace("wai-machine-reviewed", "wai-machine", 1)})) + mutate("a byte pair of the human lesson's 608", lambda d, fs: fs.update( + {"lesson_human.pop-on.608.hex": fs["lesson_human.pop-on.608.hex"].replace(" 9420\n", " 9429\n", 1)})) + mutate("two lines of the roll-up 608 swapped", lambda d, fs: fs.update({"cc_rollup.roll-up-3.608.hex": swap_lines(fs["cc_rollup.roll-up-3.608.hex"], 3)})) + mutate("a byte of the machine lesson's third record", lambda d, fs: vec(d, "event_vectors", "lesson_machine")["events"].__setitem__( + 2, flip_hex(vec(d, "event_vectors", "lesson_machine")["events"][2], 150))) + mutate("the human lesson's stated end of its first cue", lambda d, fs: vec(d, "event_vectors", "lesson_human")["resolve"]["cues"][0].update(end=13600)) + mutate("an anchor of styles_and_anchors", lambda d, fs: vec(d, "cue_vectors", "styles_and_anchors")["cues"][1].update(anchor="bottom-center")) + mutate("an italic range of styles_and_anchors", lambda d, fs: vec(d, "cue_vectors", "styles_and_anchors")["cues"][7].update(italic=[[5, 7]])) + mutate("the stated reason of supersede_forked", lambda d, fs: vec(d, "event_vectors", "supersede_forked").update(reason="supersede_final")) + mutate("object 0 of the join vector's group 35", lambda d, fs: vec(d, "event_vectors", "mid_stream_join")["targets"]["timelines"]["webvtt"][2]["objects"].__setitem__(0, "[]")) + mutate("what the joiner shows at 60 s", lambda d, fs: vec(d, "event_vectors", "mid_stream_join")["join"]["shown"][0]["cues"].pop()) + mutate("the C2PA statement of disclosure_mix", lambda d, fs: vec(d, "cue_vectors", "disclosure_mix")["targets"]["disclosure"].update( + c2pa=vec(d, "cue_vectors", "disclosure_mix")["targets"]["disclosure"]["c2pa"].replace("human_validated", "fully_autonomous", 1))) + mutate("a sidecar origin of disclosure_mix", lambda d, fs: vec(d, "cue_vectors", "disclosure_mix")["targets"]["disclosure"].update( + sidecar=vec(d, "cue_vectors", "disclosure_mix")["targets"]["disclosure"]["sidecar"].replace('"origin":"machine"', '"origin":"human"', 1))) + mutate("the machine characteristic of the machine lesson's HLS tag", lambda d, fs: vec(d, "event_vectors", "lesson_machine")["targets"]["disclosure"].update( + hls_closed_captions=vec(d, "event_vectors", "lesson_machine")["targets"]["disclosure"]["hls_closed_captions"].replace(",public.machine-generated", ""))) + mutate("a stated show slot of the human lesson's 608", lambda d, fs: vec(d, "event_vectors", "lesson_human")["targets"]["cc608"][0]["decoded"][0].update( + show=vec(d, "event_vectors", "lesson_human")["targets"]["cc608"][0]["decoded"][0]["show"] + 1)) + mutate("the stated reason of a read case", lambda d, fs: d["read_cases"][0].update(reason="cue_malformed")) + mutate("a segment's X-TIMESTAMP-MAP", lambda d, fs: fs.update({"lesson_human.seg1.vtt": fs["lesson_human.seg1.vtt"].replace("MPEGTS:2160000", "MPEGTS:2160090")})) + mutate("a span of styles_and_anchors.ttml no longer italic", lambda d, fs: fs.update( + {"styles_and_anchors.ttml": fs["styles_and_anchors.ttml"].replace('tts:fontStyle="italic"', 'tts:fontStyle="normal"', 1)})) + return out + + +def main(corpus_dir): + with open(os.path.join(corpus_dir, "vectors.json"), encoding="utf-8") as f: + doc = json.load(f) + files = {} + for n in sorted(os.listdir(corpus_dir)): + if n not in ("vectors.json", "README.md"): + with open(os.path.join(corpus_dir, n), encoding="utf-8", newline="") as f: + files[n] = f.read() + fails = check(doc, files) + # Every file is one this text writes: none left over. + written = set() + for v in doc["event_vectors"] + doc["cue_vectors"]: + t = v.get("targets", {}) + for k in ("webvtt", "imsc"): + if "file" in t.get(k, {}): + written.add(t[k]["file"]) + written |= set(t.get("segments", {}).get("files", [])) + written |= {e["file"] for e in t.get("cc608", []) if "file" in e} + if set(files) != written: + fails.append("files not stated by a vector: %s; stated and absent: %s" % (sorted(set(files) - written), sorted(written - set(files)))) + print("%s every vector, case and file agrees with this text (%d event vectors, %d cue vectors, %d files)" + % ("PASS" if not fails else "FAIL", len(doc["event_vectors"]), len(doc["cue_vectors"]), len(files))) + for label, d, fs in mutations(doc, files): + try: + caught = check(d, fs, quiet=True) + except Exception as e: # a crash on a mutated copy is a failure to read it + caught = ["%s: %s" % (type(e).__name__, e)] + print(("PASS" if caught else "FAIL") + " mutated copy fails: %s%s" % (label, " (%s)" % caught[0][:110] if caught else "")) + if not caught: + fails.append("a mutated copy verifies: %s" % label) + for f in fails: + print("FAIL " + f) + print(("PASS" if not fails else "FAIL") + " timed-text corpus") + return 1 if fails else 0 + + +if __name__ == "__main__": + if len(sys.argv) != 2: + print("usage: timed_text_verify.py ", file=sys.stderr) + sys.exit(2) + sys.exit(main(sys.argv[1])) diff --git a/wai/wai-rs/src/codecs/registry.rs b/wai/wai-rs/src/codecs/registry.rs index e998ffe6e..b9a38991b 100644 --- a/wai/wai-rs/src/codecs/registry.rs +++ b/wai/wai-rs/src/codecs/registry.rs @@ -212,6 +212,7 @@ pub const CAP_VIDEO_CHANNEL: &str = "wai.video.channel"; pub const CAP_LIVE_EVENTS: &str = "wai.live.events"; pub const CAP_LIVE_ROOM: &str = "wai.live.room"; pub const CAP_CAPTURE_TAKE: &str = "wai.capture.take"; +pub const CAP_TEXT_TIMED: &str = "wai.text.timed"; /// One row per string SPEC §5 registers that is a payload, companion or record: /// `(string, SPEC section, edition, registered)`. @@ -292,6 +293,7 @@ const ROWS: &[(&str, &str, Option<&str>, &str)] = &[ (CAP_LIVE_EVENTS, S_INTERACTIVE, None, "2026-10-16"), (CAP_LIVE_ROOM, S_INTERACTIVE, None, "2026-10-16"), (CAP_CAPTURE_TAKE, S_INTERACTIVE, None, "2026-10-17"), + (CAP_TEXT_TIMED, S_INTERACTIVE, None, "2026-10-17"), (CAP_AUDIO_IAMF, S_IMMERSIVE, None, "2026-06-17"), (CAP_AUDIO_AC4, S_IMMERSIVE, None, "2026-06-17"), (CAP_AUDIO_IVAS, S_IMMERSIVE, None, "2026-06-17"), @@ -339,6 +341,7 @@ const RECORDS: &[&str] = &[ CAP_ASSET_PROVENANCE, CAP_QUANTUM_CALIBRATION, CAP_QUANTUM_JOB, CAP_VIDEO_MANIFEST, CAP_VIDEO_SSAI, CAP_VIDEO_KEYS, CAP_VIDEO_PACKAGE, CAP_VIDEO_CHANNEL, CAP_LIVE_EVENTS, CAP_LIVE_ROOM, CAP_CAPTURE_TAKE, + CAP_TEXT_TIMED, ]; /// A named identifier SPEC uses that has the shape of a capability string but is @@ -479,6 +482,7 @@ const PACKAGING: &str = "extensions/packaging.md"; const LIVE_EVENTS: &str = "extensions/live-events.md"; const LIVE_ROOMS: &str = "extensions/live-rooms.md"; const CAPTURE_BINDING: &str = "extensions/capture-binding.md"; +const TIMED_TEXT: &str = "extensions/timed-text.md"; const fn wire(name: &'static str, kind: WireKind, document: &'static str, section: &'static str, status: WireStatus) -> WireIdentifier { @@ -487,7 +491,7 @@ const fn wire(name: &'static str, kind: WireKind, document: &'static str, sectio /// The wire identifiers of the container, of its two delivery bindings /// (http-delivery, moq-streaming-format), of the key discovery those bindings serve -/// (jwp-receipts §7), of packaging, of live events, of live rooms and of capture binding, in document order. The +/// (jwp-receipts §7), of packaging, of live events, of live rooms, of capture binding and of timed text, in document order. The /// export lists them sorted by name and kind. pub const WIRE_IDENTIFIERS: &[WireIdentifier] = &[ wire("WAI1", WireKind::Magic, "SPEC.md", "§2", WireStatus::Defined), @@ -542,6 +546,13 @@ pub const WIRE_IDENTIFIERS: &[WireIdentifier] = &[ wire("WUR1", WireKind::Magic, CAPTURE_BINDING, "§6.2", WireStatus::Defined), wire("WTM1", WireKind::Magic, CAPTURE_BINDING, "§7.1", WireStatus::Defined), wire("WCN1", WireKind::Magic, CAPTURE_BINDING, "§8.1", WireStatus::Defined), + wire("WTX1", WireKind::Magic, TIMED_TEXT, "§4.2", WireStatus::Defined), + wire("wai_origin", WireKind::Catalog, TIMED_TEXT, "§7.2", WireStatus::Defined), + wire("wai_model", WireKind::Catalog, TIMED_TEXT, "§7.2", WireStatus::Defined), + wire("wai_machine_generated", WireKind::Catalog, TIMED_TEXT, "§7.4", WireStatus::Defined), + wire("tag:transaction.science,2026:wai/model/", WireKind::Scheme, TIMED_TEXT, "§10.3", WireStatus::Defined), + wire("tag:transaction.science,2026:wai/timed-text", WireKind::Scheme, TIMED_TEXT, "§10.4", WireStatus::Defined), + wire("science.transaction.wai.timed-text", WireKind::DataId, TIMED_TEXT, "§10.5", WireStatus::Defined), ]; /// A string with the shape of a capability that the reference implementation uses diff --git a/wai/wai-rs/src/timed_text/corpus.rs b/wai/wai-rs/src/timed_text/corpus.rs index 6f6808c06..cbb961fef 100644 --- a/wai/wai-rs/src/timed_text/corpus.rs +++ b/wai/wai-rs/src/timed_text/corpus.rs @@ -685,16 +685,16 @@ fn styles_and_anchors() -> CueVector { } fn disclosure_mix() -> CueVector { - let (m1, m2) = (Some(model(1)), Some(model(2))); + let (m1, m2, m3) = (Some(model(1)), Some(model(2)), Some(model(3))); let bc = Anchor::BottomCenter; CueVector { name: "disclosure_mix", - about: "The disclosure label through every target (§10): human, machine and machine-reviewed cues from two models. WebVTT carries it in a class span, IMSC1 in attributes of its namespace, the timelines in the cue text and in members of the cue entry, HLS in the public.machine-generated characteristic, C2PA in one c2pa.ai-disclosure assertion per model and the digital source type, the catalogs in a field of their own; 608, which cannot carry it, leaves it to the sidecar.", + about: "The disclosure label through every target (§10): human, machine and machine-reviewed cues from three models. WebVTT carries it in a class span, IMSC1 in attributes of its namespace, the timelines in the cue text and in members of the cue entry, HLS in the public.machine-generated characteristic, C2PA in one c2pa.ai-disclosure assertion per model and the digital source type, the catalogs in a field of their own; 608, which cannot carry it, leaves it to the sidecar.", lang: "en", cues: vec![ human(11_000, 13_000, bc, "A person wrote this.", &[]), cue(13_500, 15_500, origin::MACHINE, m1, bc, "A model wrote this.", &[]), - cue(16_000, 18_000, origin::REVIEWED, m1, bc, "A model wrote this,\nand a person checked it.", &[]), + cue(16_000, 18_000, origin::REVIEWED, m3, bc, "A model wrote this,\nand a person checked it.", &[]), cue(18_500, 20_500, origin::MACHINE, m2, Anchor::TopCenter, "Another model wrote this.", &[(8, 5)]), ], targets: Targets { @@ -914,7 +914,7 @@ pub fn generate() -> Vec<(String, String)> { "pt0_ms": PT0_MS, "room": hex(&room()), "principals": PRINCIPALS.iter().map(|(n, i)| (n.to_string(), json!(hex(&pk(*i))))).collect::>(), - "models": [hex(&model(1)), hex(&model(2))], + "models": [hex(&model(1)), hex(&model(2)), hex(&model(3))], "event_vectors": events, "cue_vectors": cues, "read_cases": read_cases(), diff --git a/wai/wai-rs/tests/int_kernels_vectors.rs b/wai/wai-rs/tests/int_kernels_vectors.rs index f6f09ea2a..111122b9c 100644 --- a/wai/wai-rs/tests/int_kernels_vectors.rs +++ b/wai/wai-rs/tests/int_kernels_vectors.rs @@ -223,7 +223,7 @@ fn every_decoded_output_states_a_sha256() { ("pin-conformance", "parameter-set pins: every digest there is a SHA-256 of a parameter set"), ("ops-conformance", "integer operators: every operator, stage and graph vector, the lower_* decodes of the sets under sets/ among them, states its output integers in full or its refusal code, never a digest of them; certificates/ states each lowered set's SHA-256 (a parameter-set identity) and holds the lowered graphs as bytes, compared byte for byte; the output digests a capability decoded through its lowering reproduces (integer-operators §14.4) are stated by that capability's own corpus"), ("signer-conformance", "key logs, grants and statuses: signed documents, no decoded output"), - ("live-conformance", "live events, rooms and takes: signed records, commitments and their verdicts, no decoded output"), + ("live-conformance", "live events, rooms and takes, and captions: signed records, commitments, cues and their renderings, and verdicts, no decoded output"), ("http-conformance", "objects and head proofs for transport: no case decodes a payload, and the component a fetch case picks is stated by its SHA-256"), ("cache-conformance", "cache rules: a driver, its controls and their reports, with no objects of its own"), ("byte-exact-conformance", "goldens over tests/vectors, whose sidecars state the SHA-256"), -- 2.54.0 (Apple Git-157) From 2afd087b92e6cf687e2bd587d7d34544ea807ccc Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 11:19:58 -0400 Subject: [PATCH 20/26] wai: registry export for wai.text.timed; disclosure_mix gains a reviewed-only model Co-Authored-By: Claude Opus 5.5 --- wai/REGISTRY.md | 8 +++ .../captions/disclosure_mix.seg1.vtt | 2 +- .../captions/disclosure_mix.ttml | 2 +- .../captions/disclosure_mix.vtt | 2 +- wai/live-conformance/captions/vectors.json | 15 ++--- wai/registry/capabilities.json | 63 +++++++++++++++++++ wai/vocab/v2.ttl | 7 +++ 7 files changed, 89 insertions(+), 10 deletions(-) diff --git a/wai/REGISTRY.md b/wai/REGISTRY.md index b2f4a4ad9..989ab57b5 100644 --- a/wai/REGISTRY.md +++ b/wai/REGISTRY.md @@ -233,6 +233,7 @@ and a role are fixed once registered. | `wai.splat.spz` | payload | registered | volumetric | standalone | royalty-free | standard-unclassified | — | §5 Interactive, temporal & computed content | | `wai.tensor.nnc` | payload | candidate | binary | standalone | patent-pool | standard-unclassified | — | §5 Prior artifacts, general tensors and derivation operations | | `wai.ternary.tt` | payload | registered | binary | standalone | royalty-free | standard-defined | — | §5 Interactive, temporal & computed content | +| `wai.text.timed` | record | registered | — | — | — | — | — | §5 Interactive, temporal & computed content | | `wai.text.xz` | payload | registered | text | standalone | royalty-free | standard-defined | recommended | §5 Recommended modern set | | `wai.text.zstd` | payload | registered | text | standalone | royalty-free | standard-defined | floor | §5 Mandatory floor | | `wai.video.av1` | payload | registered | video | standalone | royalty-free | standard-tolerance | recommended | §5 Recommended modern set | @@ -296,6 +297,7 @@ and a role are fixed once registered. | `WRG1` | magic | defined | live-rooms §4.1 | | `WSIX` | magic | defined | packaging §6 | | `WTM1` | magic | defined | capture-binding §7.1 | +| `WTX1` | magic | defined | timed-text §4.2 | | `WUR1` | magic | defined | capture-binding §6.2 | | `X-WAI-EVENT` | playlist-attribute | defined | live-events §8.3 | | `X-WAI-FLOOR` | playlist-attribute | defined | http-delivery §11.1 | @@ -306,10 +308,13 @@ and a role are fixed once registered. | `science.transaction.wai.event` | playlist-attribute | defined | live-events §8.3 | | `science.transaction.wai.multivariant` | data-id | defined | http-delivery §11.1 | | `science.transaction.wai.stages` | data-id | defined | packaging §8 | +| `science.transaction.wai.timed-text` | data-id | defined | timed-text §10.5 | | `tag:transaction.science,2026:wai/class` | scheme | defined | packaging §8 | | `tag:transaction.science,2026:wai/floor` | scheme | defined | http-delivery §11.1 | | `tag:transaction.science,2026:wai/http-delivery` | scheme | defined | http-delivery §11.1 | +| `tag:transaction.science,2026:wai/model/` | scheme | defined | timed-text §10.3 | | `tag:transaction.science,2026:wai/stages` | scheme | defined | packaging §8 | +| `tag:transaction.science,2026:wai/timed-text` | scheme | defined | timed-text §10.4 | | `urn:wai:event:1` | scheme | defined | live-events §8.4 | | `urn:wai:event:1` | catalog | defined | live-events §8.1 | | `wai` | catalog | defined | moq-streaming-format §3 | @@ -326,6 +331,9 @@ and a role are fixed once registered. | `wai_capabilities` | catalog | defined | moq-streaming-format §4 | | `wai_delivery_timeout_ms` | catalog | defined | packaging §8 | | `wai_determinism` | catalog | defined | moq-streaming-format §4 | +| `wai_machine_generated` | catalog | defined | timed-text §7.4 | +| `wai_model` | catalog | defined | timed-text §7.2 | +| `wai_origin` | catalog | defined | timed-text §7.2 | | `wai_receipt_alias` | catalog | defined | moq-streaming-format §4 | | `wai_receipts` | catalog | defined | moq-streaming-format §4 | | `wai_receipts_track` | catalog | defined | moq-streaming-format §4 | diff --git a/wai/live-conformance/captions/disclosure_mix.seg1.vtt b/wai/live-conformance/captions/disclosure_mix.seg1.vtt index c26d072fa..3e9f77b3a 100644 --- a/wai/live-conformance/captions/disclosure_mix.seg1.vtt +++ b/wai/live-conformance/captions/disclosure_mix.seg1.vtt @@ -5,7 +5,7 @@ X-TIMESTAMP-MAP=LOCAL:00:00:15.000,MPEGTS:2250000 A model wrote this. 00:00:16.000 --> 00:00:18.000 line:90%,end position:50%,center size:80% align:center -A model wrote this, +A model wrote this, and a person checked it. 00:00:18.500 --> 00:00:20.500 line:10%,start position:50%,center size:80% align:center diff --git a/wai/live-conformance/captions/disclosure_mix.ttml b/wai/live-conformance/captions/disclosure_mix.ttml index 5e48ab572..3c52c2709 100644 --- a/wai/live-conformance/captions/disclosure_mix.ttml +++ b/wai/live-conformance/captions/disclosure_mix.ttml @@ -16,7 +16,7 @@

A person wrote this.

A model wrote this.

-

A model wrote this,
and a person checked it.

+

A model wrote this,
and a person checked it.

Another model wrote this.

diff --git a/wai/live-conformance/captions/disclosure_mix.vtt b/wai/live-conformance/captions/disclosure_mix.vtt index 541cf9ba5..cb37e04e2 100644 --- a/wai/live-conformance/captions/disclosure_mix.vtt +++ b/wai/live-conformance/captions/disclosure_mix.vtt @@ -7,7 +7,7 @@ A person wrote this. A model wrote this. 00:00:16.000 --> 00:00:18.000 line:90%,end position:50%,center size:80% align:center -A model wrote this, +A model wrote this, and a person checked it. 00:00:18.500 --> 00:00:20.500 line:10%,start position:50%,center size:80% align:center diff --git a/wai/live-conformance/captions/vectors.json b/wai/live-conformance/captions/vectors.json index f63ea8db4..2395e4b89 100644 --- a/wai/live-conformance/captions/vectors.json +++ b/wai/live-conformance/captions/vectors.json @@ -10,7 +10,8 @@ }, "models": [ "28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c", - "c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0" + "c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0", + "ef0c13d7be23ebedb9e3dd853d5185f0a631d8d91b615ecb550c921fefa13181" ], "event_vectors": [ { @@ -1784,7 +1785,7 @@ }, { "name": "disclosure_mix", - "about": "The disclosure label through every target (§10): human, machine and machine-reviewed cues from two models. WebVTT carries it in a class span, IMSC1 in attributes of its namespace, the timelines in the cue text and in members of the cue entry, HLS in the public.machine-generated characteristic, C2PA in one c2pa.ai-disclosure assertion per model and the digital source type, the catalogs in a field of their own; 608, which cannot carry it, leaves it to the sidecar.", + "about": "The disclosure label through every target (§10): human, machine and machine-reviewed cues from three models. WebVTT carries it in a class span, IMSC1 in attributes of its namespace, the timelines in the cue text and in members of the cue entry, HLS in the public.machine-generated characteristic, C2PA in one c2pa.ai-disclosure assertion per model and the digital source type, the catalogs in a field of their own; 608, which cannot carry it, leaves it to the sidecar.", "lang": "en", "cues": [ { @@ -1812,7 +1813,7 @@ "end": 18000, "lang": "en", "origin": "machine-reviewed", - "model": "28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c", + "model": "ef0c13d7be23ebedb9e3dd853d5185f0a631d8d91b615ecb550c921fefa13181", "anchor": "bottom-center", "text": "A model wrote this,\nand a person checked it.", "italic": [] @@ -1871,7 +1872,7 @@ "group": 3, "objects": [ "[{\"m\":13500,\"data\":{\"start\":13500,\"end\":15500,\"text\":\"A model wrote this.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]", - "[{\"m\":16000,\"data\":{\"start\":16000,\"end\":18000,\"text\":\"A model wrote this,\\nand a person checked it.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]", + "[{\"m\":16000,\"data\":{\"start\":16000,\"end\":18000,\"text\":\"A model wrote this,\\nand a person checked it.\",\"settings\":{\"line\":\"90%,end\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]", "[{\"m\":18500,\"data\":{\"start\":18500,\"end\":20500,\"text\":\"Another model wrote this.\",\"settings\":{\"line\":\"10%,start\",\"position\":\"50%,center\",\"size\":\"80%\",\"align\":\"center\"}}}]" ] }, @@ -1895,7 +1896,7 @@ "group": 3, "objects": [ "[{\"m\":0,\"data\":{\"init\":{\"profile\":\"http://www.w3.org/ns/ttml/profile/imsc1/text\",\"styles\":{\"center\":{\"textAlign\":\"center\"},\"left\":{\"textAlign\":\"left\"},\"right\":{\"textAlign\":\"right\"}},\"regions\":{\"bottom\":{\"origin\":\"10% 55%\",\"extent\":\"80% 35%\",\"displayAlign\":\"after\"},\"top\":{\"origin\":\"10% 10%\",\"extent\":\"80% 35%\",\"displayAlign\":\"before\"}}}}},{\"m\":13500,\"data\":{\"start\":13500,\"end\":15500,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"A model wrote this.\"}],\"wai_origin\":\"machine\",\"wai_model\":\"28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\"}}]", - "[{\"m\":16000,\"data\":{\"start\":16000,\"end\":18000,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"A model wrote this,\"},{\"br\":true},{\"text\":\"and a person checked it.\"}],\"wai_origin\":\"machine-reviewed\",\"wai_model\":\"28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\"}}]", + "[{\"m\":16000,\"data\":{\"start\":16000,\"end\":18000,\"region\":\"bottom\",\"style\":\"center\",\"content\":[{\"text\":\"A model wrote this,\"},{\"br\":true},{\"text\":\"and a person checked it.\"}],\"wai_origin\":\"machine-reviewed\",\"wai_model\":\"ef0c13d7be23ebedb9e3dd853d5185f0a631d8d91b615ecb550c921fefa13181\"}}]", "[{\"m\":18500,\"data\":{\"start\":18500,\"end\":20500,\"region\":\"top\",\"style\":\"center\",\"content\":[{\"text\":\"Another \"},{\"text\":\"model\",\"fontStyle\":\"italic\"},{\"text\":\" wrote this.\"}],\"wai_origin\":\"machine\",\"wai_model\":\"c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\"}}]" ] }, @@ -1990,8 +1991,8 @@ "hls_subtitles": "#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID=\"subs\",NAME=\"Captions\",LANGUAGE=\"en\",CHARACTERISTICS=\"public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound,public.machine-generated\",URI=\"disclosure_mix/captions.m3u8\"", "hls_closed_captions": "#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID=\"cc\",NAME=\"Captions\",LANGUAGE=\"en\",INSTREAM-ID=\"CC1\",CHARACTERISTICS=\"public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound,public.machine-generated\"", "session_data": "#EXT-X-SESSION-DATA:DATA-ID=\"science.transaction.wai.timed-text\",URI=\"disclosure_mix.disclosure.json\",LANGUAGE=\"en\"", - "sidecar": "{\"wai_timed_text\":1,\"lang\":\"en\",\"cues\":[{\"start\":11000,\"end\":13000,\"origin\":\"human\"},{\"start\":13500,\"end\":15500,\"origin\":\"machine\",\"model\":\"28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\"},{\"start\":16000,\"end\":18000,\"origin\":\"machine-reviewed\",\"model\":\"28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\"},{\"start\":18500,\"end\":20500,\"origin\":\"machine\",\"model\":\"c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\"}]}", - "c2pa": "{\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/compositeSynthetic\",\"assertions\":[{\"label\":\"c2pa.ai-disclosure\",\"data\":{\"modelType\":\"c2pa.types.model\",\"modelIdentifier\":\"tag:transaction.science,2026:wai/model/28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\",\"contentProfile\":{\"humanOversightLevel\":\"fully_autonomous\"}}},{\"label\":\"c2pa.ai-disclosure__1\",\"data\":{\"modelType\":\"c2pa.types.model\",\"modelIdentifier\":\"tag:transaction.science,2026:wai/model/c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\",\"contentProfile\":{\"humanOversightLevel\":\"fully_autonomous\"}}}]}", + "sidecar": "{\"wai_timed_text\":1,\"lang\":\"en\",\"cues\":[{\"start\":11000,\"end\":13000,\"origin\":\"human\"},{\"start\":13500,\"end\":15500,\"origin\":\"machine\",\"model\":\"28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\"},{\"start\":16000,\"end\":18000,\"origin\":\"machine-reviewed\",\"model\":\"ef0c13d7be23ebedb9e3dd853d5185f0a631d8d91b615ecb550c921fefa13181\"},{\"start\":18500,\"end\":20500,\"origin\":\"machine\",\"model\":\"c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\"}]}", + "c2pa": "{\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/compositeSynthetic\",\"assertions\":[{\"label\":\"c2pa.ai-disclosure\",\"data\":{\"modelType\":\"c2pa.types.model\",\"modelIdentifier\":\"tag:transaction.science,2026:wai/model/28be58c8cc7105cac6b0412115293f5b487b4de6403b0019ea1c9b7dc7f89b6c\",\"contentProfile\":{\"humanOversightLevel\":\"fully_autonomous\"}}},{\"label\":\"c2pa.ai-disclosure__1\",\"data\":{\"modelType\":\"c2pa.types.model\",\"modelIdentifier\":\"tag:transaction.science,2026:wai/model/ef0c13d7be23ebedb9e3dd853d5185f0a631d8d91b615ecb550c921fefa13181\",\"contentProfile\":{\"humanOversightLevel\":\"human_validated\"}}},{\"label\":\"c2pa.ai-disclosure__2\",\"data\":{\"modelType\":\"c2pa.types.model\",\"modelIdentifier\":\"tag:transaction.science,2026:wai/model/c57ea8ebe4d2e130d9f5dbf5061b2955fb5b96e34ccccb0b1d8e359d6bba22b0\",\"contentProfile\":{\"humanOversightLevel\":\"fully_autonomous\"}}}]}", "catalog_webvtt": "{\"name\":\"captions-en\",\"packaging\":\"eventtimeline\",\"eventType\":\"urn:msf:captions:webvtt\",\"mimeType\":\"application/json\",\"depends\":[\"video\"],\"role\":\"caption\",\"lang\":\"en\",\"wai_machine_generated\":true}", "catalog_imsc": "{\"name\":\"captions-en-imsc\",\"packaging\":\"eventtimeline\",\"eventType\":\"urn:msf:captions:imsc1\",\"mimeType\":\"application/json\",\"depends\":[\"video\"],\"role\":\"caption\",\"lang\":\"en\",\"imsc1Mode\":\"cue\",\"wai_machine_generated\":true}" } diff --git a/wai/registry/capabilities.json b/wai/registry/capabilities.json index 2de06862d..eda40b94c 100644 --- a/wai/registry/capabilities.json +++ b/wai/registry/capabilities.json @@ -1179,6 +1179,20 @@ "edition": null, "registered": "2026-07-30" }, + { + "capability": "wai.text.timed", + "kind": "record", + "status": "registered", + "media": null, + "role": null, + "tier": null, + "licence": null, + "replicate": null, + "sets": [], + "spec_section": "§5 Interactive, temporal & computed content", + "edition": null, + "registered": "2026-10-17" + }, { "capability": "wai.text.xz", "kind": "payload", @@ -1741,6 +1755,13 @@ "section": "§7.1", "status": "defined" }, + { + "name": "WTX1", + "kind": "magic", + "document": "extensions/timed-text.md", + "section": "§4.2", + "status": "defined" + }, { "name": "WUR1", "kind": "magic", @@ -1811,6 +1832,13 @@ "section": "§8", "status": "defined" }, + { + "name": "science.transaction.wai.timed-text", + "kind": "data-id", + "document": "extensions/timed-text.md", + "section": "§10.5", + "status": "defined" + }, { "name": "tag:transaction.science,2026:wai/class", "kind": "scheme", @@ -1832,6 +1860,13 @@ "section": "§11.1", "status": "defined" }, + { + "name": "tag:transaction.science,2026:wai/model/", + "kind": "scheme", + "document": "extensions/timed-text.md", + "section": "§10.3", + "status": "defined" + }, { "name": "tag:transaction.science,2026:wai/stages", "kind": "scheme", @@ -1839,6 +1874,13 @@ "section": "§8", "status": "defined" }, + { + "name": "tag:transaction.science,2026:wai/timed-text", + "kind": "scheme", + "document": "extensions/timed-text.md", + "section": "§10.4", + "status": "defined" + }, { "name": "urn:wai:event:1", "kind": "scheme", @@ -1951,6 +1993,27 @@ "section": "§4", "status": "defined" }, + { + "name": "wai_machine_generated", + "kind": "catalog", + "document": "extensions/timed-text.md", + "section": "§7.4", + "status": "defined" + }, + { + "name": "wai_model", + "kind": "catalog", + "document": "extensions/timed-text.md", + "section": "§7.2", + "status": "defined" + }, + { + "name": "wai_origin", + "kind": "catalog", + "document": "extensions/timed-text.md", + "section": "§7.2", + "status": "defined" + }, { "name": "wai_receipt_alias", "kind": "catalog", diff --git a/wai/vocab/v2.ttl b/wai/vocab/v2.ttl index 07a326e90..d6a817856 100644 --- a/wai/vocab/v2.ttl +++ b/wai/vocab/v2.ttl @@ -995,6 +995,13 @@ wai:wai.ternary.tt a wai:Capability ; wai:specSection "§5 Interactive, temporal & computed content" ; wai:registeredOn "2026-07-30"^^xsd:date . +wai:wai.text.timed a wai:Capability ; + rdfs:label "wai.text.timed" ; + wai:kind wai:kind-record ; + wai:status wai:status-registered ; + wai:specSection "§5 Interactive, temporal & computed content" ; + wai:registeredOn "2026-10-17"^^xsd:date . + wai:wai.text.xz a wai:Capability ; rdfs:label "wai.text.xz" ; wai:kind wai:kind-payload ; -- 2.54.0 (Apple Git-157) From 5322493a4319e91d605a16c704ca0571905211f9 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 11:22:11 -0400 Subject: [PATCH 21/26] wai: timed_text, clippy's collapsible-if, multiple-of and type lints Co-Authored-By: Claude Opus 5.5 --- wai/wai-rs/src/timed_text.rs | 43 +++++++++++++++-------------- wai/wai-rs/src/timed_text/cc608.rs | 4 +-- wai/wai-rs/src/timed_text/corpus.rs | 7 ++--- 3 files changed, 28 insertions(+), 26 deletions(-) diff --git a/wai/wai-rs/src/timed_text.rs b/wai/wai-rs/src/timed_text.rs index 57a428d07..5438219bb 100644 --- a/wai/wai-rs/src/timed_text.rs +++ b/wai/wai-rs/src/timed_text.rs @@ -737,10 +737,10 @@ impl CaptionVerifier { if r.event.t > x { continue; } - if let Some(by) = r.superseded_by { - if self.revisions[by].event.t <= x { - continue; - } + if let Some(by) = r.superseded_by + && self.revisions[by].event.t <= x + { + continue; } let d = r.caption.duration_ms as u64 * 1000; let live = if d > 0 { @@ -847,14 +847,13 @@ pub fn join_set(events: &[(Event, Payload)], group: u64) -> Vec { // Which caption each annotation supersedes, by digest. let mut superseded = std::collections::BTreeSet::new(); for (e, p) in &before { - if let Payload::Meta(b) = p { - if is_annotation(p) { - if let Ok(a) = Annotation::parse(b) { - if e.seq > 0 && matches!(by_seq.get(&(e.seq - 1)), Some((_, Payload::Caption(_)))) { - superseded.insert(a.supersedes); - } - } - } + if let Payload::Meta(b) = p + && is_annotation(p) + && let Ok(a) = Annotation::parse(b) + && e.seq > 0 + && matches!(by_seq.get(&(e.seq - 1)), Some((_, Payload::Caption(_)))) + { + superseded.insert(a.supersedes); } } let last_caption = before.iter().filter(|(_, p)| matches!(p, Payload::Caption(_))).map(|(e, _)| e.seq).max(); @@ -873,10 +872,10 @@ pub fn join_set(events: &[(Event, Payload)], group: u64) -> Vec { } let captions: Vec = seqs.iter().filter(|(_, e)| e.kind == kind::CAPTION).map(|(s, _)| *s).collect(); for s in captions { - if let Some((e, p)) = by_seq.get(&(s + 1)) { - if is_annotation(p) { - seqs.insert(e.seq, e.clone()); - } + if let Some((e, p)) = by_seq.get(&(s + 1)) + && is_annotation(p) + { + seqs.insert(e.seq, e.clone()); } } seqs.into_values().collect() @@ -999,9 +998,13 @@ fn unescape_vtt(s: &str) -> Option { Some(out) } -/// Read a WebVTT document or segment this extension writes (§5.3), its cues in `lang`; -/// with the `X-TIMESTAMP-MAP` of a segment, as (local ms, MPEG-TS time). -pub fn from_webvtt(doc: &str, lang: &str) -> Result<(Vec, Option<(u64, u64)>), Reason> { +/// The `X-TIMESTAMP-MAP` of a segment (§5.2): its local cue time in milliseconds and the +/// 90 kHz MPEG-TS time it maps to. +pub type TimestampMap = (u64, u64); + +/// Read a WebVTT document or segment this extension writes (§5.3), its cues in `lang`, +/// with the segment's `X-TIMESTAMP-MAP` when it has one. +pub fn from_webvtt(doc: &str, lang: &str) -> Result<(Vec, Option), Reason> { let m = Reason::VttMalformed; let mut rest = doc.strip_prefix("WEBVTT\n").ok_or(m)?; let mut map = None; @@ -1585,7 +1588,7 @@ mod tests { r.origin = origin::REVIEWED; r.start = 2; r.end = 3; - assert!(digital_source_type(&[h.clone()]).ends_with("/digitalCreation")); + assert!(digital_source_type(std::slice::from_ref(&h)).ends_with("/digitalCreation")); assert!(digital_source_type(&[m.clone()]).ends_with("/trainedAlgorithmicMedia")); assert!(digital_source_type(&[r.clone()]).ends_with("/compositeWithTrainedAlgorithmicMedia")); assert!(digital_source_type(&[h.clone(), m.clone()]).ends_with("/compositeSynthetic")); diff --git a/wai/wai-rs/src/timed_text/cc608.rs b/wai/wai-rs/src/timed_text/cc608.rs index 95bde3ab7..4f8ec7ab2 100644 --- a/wai/wai-rs/src/timed_text/cc608.rs +++ b/wai/wai-rs/src/timed_text/cc608.rs @@ -202,7 +202,7 @@ pub fn to(k: u8) -> [u8; 2] { /// A byte with odd parity in bit 7 (§8.3). pub fn parity(b: u8) -> u8 { let b = b & 0x7F; - if b.count_ones() % 2 == 0 { b | 0x80 } else { b } + if b.count_ones().is_multiple_of(2) { b | 0x80 } else { b } } /// One row a cue occupies (§8.5), and one row a decoder displays. @@ -285,7 +285,7 @@ enum Code { fn position(out: &mut Vec, row: u8, col: u8) { out.push(Code::Two(pac_indent(row, col / 4))); - if col % 4 != 0 { + if !col.is_multiple_of(4) { out.push(Code::Two(to(col % 4))); } } diff --git a/wai/wai-rs/src/timed_text/corpus.rs b/wai/wai-rs/src/timed_text/corpus.rs index cbb961fef..a122f2960 100644 --- a/wai/wai-rs/src/timed_text/corpus.rs +++ b/wai/wai-rs/src/timed_text/corpus.rs @@ -92,6 +92,7 @@ impl Author { } /// A revision: a caption, and its annotation when `ann` is given; the caption's digest. + #[allow(clippy::too_many_arguments)] fn revision(&mut self, out: &mut Vec>, t: u64, d: u32, o: u8, m: Option<[u8; 32]>, text: &str, ann: Option) -> [u8; 32] { out.push(self.caption(t, d, o, m, "en", text)); let digest = self.prev; @@ -369,10 +370,8 @@ pub fn check_round_trip(mode: Mode, rate: Rate, cues: &[Cue], decoded: &[cc608:: other => return Err(format!("cue {i}: expected line {:?}, decoded {other:?}", r.text)), } } - if i + 1 == n || s[i + 1] >= e[i] + 2 { - if it.next() != Some(&cc608::Event::Erase { slot: e[i] }) { - return Err(format!("cue {i}: no erase at its end slot")); - } + if (i + 1 == n || s[i + 1] >= e[i] + 2) && it.next() != Some(&cc608::Event::Erase { slot: e[i] }) { + return Err(format!("cue {i}: no erase at its end slot")); } } if it.next().is_some() { -- 2.54.0 (Apple Git-157) From 053bb285d6ce4119443285f8edc2b3bf08c2136c Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 11:23:47 -0400 Subject: [PATCH 22/26] wai: timed-text.md, the model digest's carriage, 708's characters and the source-type section said exactly Co-Authored-By: Claude Opus 5.5 --- wai/extensions/timed-text.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/wai/extensions/timed-text.md b/wai/extensions/timed-text.md index 42da25beb..e9aa6056b 100644 --- a/wai/extensions/timed-text.md +++ b/wai/extensions/timed-text.md @@ -176,9 +176,9 @@ nothing, at anchor `bottom-center`, with no italic range. A human captioner whos need neither an anchor nor italics sends `caption` events alone. Live-events verifies every event first (§6 there): signature, chain, rates and payload. A -machine caption with no model digest cannot be written as a `caption` payload, since -live-events reads 32 bytes of model after origin 2 or 3; such a record is refused there, -`malformed_payload`. +`caption` payload cannot express a machine caption without a model digest: live-events +reads the 32 bytes after origin 2 or 3 as the digest, and refuses a payload too short for +them, `malformed_payload`. ### 4.2 The annotation @@ -718,7 +718,7 @@ corpus would be the check of this section. position: 708's pen attributes take no cell, so §8.5 rule 4 does not apply. - **Characters.** The G0, G1 and G2 sets as 47 CFR 79.102(d) requires decoders to support them, with its substitutions where a decoder lacks a G2 character; a code point in none of - them is refused, `char_not_in_608`'s counterpart. + them is refused, as §8.4 refuses one that 608 cannot send. - **The label.** 708 has no field for it: §10.6 applies, as for 608. ## 10. The disclosure label @@ -765,7 +765,7 @@ For a document or rendition, its cues give: when every cue is machine, `compositeWithTrainedAlgorithmicMedia` when every cue is machine-reviewed, and `compositeSynthetic` when the cues have more than one origin. It is the `digitalSourceType` of the `c2pa.created` action of the rendition's C2PA manifest - (C2PA 2.4 §18.15). + (C2PA 2.4 §18.15.4.5). - one `c2pa.ai-disclosure` assertion (C2PA 2.4 §18.28) per model, in the order models first appear in document order, labelled `c2pa.ai-disclosure`, `c2pa.ai-disclosure__1`, … (C2PA 2.4 §6.4), each with `modelType` `c2pa.types.model` (the generic model type of Table 12 -- 2.54.0 (Apple Git-157) From 7954b98e772c9a9d7b850b1f4fda88bbe86b4483 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 11:32:11 -0400 Subject: [PATCH 23/26] =?UTF-8?q?wai:=20IMSC1=20documents=20carry=20ttp:pr?= =?UTF-8?q?ofile=20on=20tt=20(IMSC=201.0.1=20=C2=A76.9)=20beside=20conform?= =?UTF-8?q?sToStandard?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- wai/extensions/timed-text.md | 27 +++++++++++++++++------ wai/live-conformance/timed_text_verify.py | 14 +++++++++++- wai/wai-rs/src/timed_text.rs | 9 ++++++-- 3 files changed, 40 insertions(+), 10 deletions(-) diff --git a/wai/extensions/timed-text.md b/wai/extensions/timed-text.md index e9aa6056b..d5d3829ac 100644 --- a/wai/extensions/timed-text.md +++ b/wai/extensions/timed-text.md @@ -22,6 +22,8 @@ > Texts read for this revision, each pinned to the version named: > WebVTT, W3C Candidate Recommendation Draft of 2026-05-20 (`CRD-webvtt1-20260520`); > IMSC Text Profile 1.3, W3C Recommendation of 2026-05-21 (`REC-ttml-imsc1.3-20260521`); +> TTML Profiles for Internet Media Subtitles and Captions 1.0.1, W3C Recommendation of +> 2018-04-24 (`REC-ttml-imsc1.0.1-20180424`), for its profile signalling; > IMSC Hypothetical Render Model, W3C Recommendation of 2024-04-25 (`REC-imsc-hrm-20240425`); > `draft-wilaw-moq-webvtt-msf-00`, `draft-law-moq-imsc1-msf-00` and `draft-ietf-moq-msf-01`; > `draft-pantos-hls-rfc8216bis-22`; the C2PA Technical Specification, version 2.4; the IPTC @@ -364,7 +366,7 @@ render model (§6.2), then written as UTF-8 with U+000A line ends: ``` - + @@ -399,10 +401,19 @@ The document uses features the Text Profile of every IMSC edition from 1.0.1 to permits: media timing in clock time, two regions given by `tts:origin` and `tts:extent` in percent (IMSC 1.3 §8.1.19), `tts:displayAlign`, `tts:textAlign`, `tts:fontStyle`, `span` and `br`. Its regions lie within the root container and do not overlap (IMSC 1.3 -§8.13.2), and at most two are presented at once (§8.13.3). It signals its profiles with -`ebuttm:conformsToStandard` (IMSC 1.3 §8.10.2 and §6.3.2) rather than `ttp:contentProfiles`, -which IMSC 1.3 §8.10.1 does not recommend in a document meant for TTML1-based profiles such -as the IMSC1 that `draft-pantos-hls-rfc8216bis-22` §3.1.5 names. Attributes in this +§8.13.2), and at most two are presented at once (§8.13.3). + +It signals its profile in two ways. The `ttp:profile` attribute on `tt`, equal to the IMSC +1.0 Text Profile designator, is what IMSC 1.0.1 §6.9 says SHOULD be present in a document +that is not also an EBU-TT-D or SDP-US document; that edition is the IMSC1 that +`draft-pantos-hls-rfc8216bis-22` §3.1.5 names, and IMSC 1.3's feature table permits +`#profile`. The two `ebuttm:conformsToStandard` elements, the IMSC 1.0 and the IMSC 1.3 +Text Profile designators, are the form IMSC 1.3 §8.10.2 specifies, which its profile +resolution reads to set the override content profile (§6.3.2). Neither names an Image +Profile, since IMSC 1.0.1 §6.9 forbids signalling both the Image and the Text Profile in one +document; no `ttp:profile` element is written. `ttp:contentProfiles` is not written: IMSC +1.3 §8.10.1 does not recommend it in a document meant for profiles based on TTML1, such as +IMSC 1.0.1. Attributes in this extension's namespace are foreign attributes, which IMSC 1.3 §8.6 permits and a processor prunes. Default cell resolution (32 by 15) and font size (one cell) apply. @@ -437,8 +448,10 @@ conforms, since it takes the least favourable factor of each of the model's tabl ### 6.3 The structure a verifier checks An IMSC1 document written here is well-formed XML 1.0 in UTF-8, and parsed it has: a `tt` -root in the TTML namespace with `xml:lang`; a `head` whose metadata names both designators of -§6.1; a `layout` with exactly the two regions of §6.1, each with an `xml:id`, `tts:origin` +root in the TTML namespace with `xml:lang` and `ttp:profile` equal to the IMSC 1.0 Text +Profile designator, no `ttp:profile` element, and no Image Profile designator anywhere; a +`head` whose metadata names both designators of §6.1; a `layout` with exactly the two +regions of §6.1, each with an `xml:id`, `tts:origin` and `tts:extent` in percent, no `tts:position`, within the root container and not overlapping; a `body` with one `div` of `p` elements, each with `begin` < `end` in clock time and a `region` that names one of them; in a `p`, only text, `span` with diff --git a/wai/live-conformance/timed_text_verify.py b/wai/live-conformance/timed_text_verify.py index e607ac489..35b1cfe28 100644 --- a/wai/live-conformance/timed_text_verify.py +++ b/wai/live-conformance/timed_text_verify.py @@ -51,6 +51,7 @@ ANCHORS = ["bottom-center", "bottom-left", "bottom-right", "top-center", "top-le NS_WAI = "tag:transaction.science,2026:wai/timed-text" NS_TT = "http://www.w3.org/ns/ttml" NS_TTS = "http://www.w3.org/ns/ttml#styling" +NS_TTP = "http://www.w3.org/ns/ttml#parameter" NS_XML = "http://www.w3.org/XML/1998/namespace" NS_EBUTTM = "urn:ebu:tt:metadata" PROFILES = ["http://www.w3.org/ns/ttml/profile/imsc1/text", "http://www.w3.org/ns/ttml/profile/imsc1.3/text"] @@ -362,7 +363,8 @@ def imsc(lang, cues): cues = in_order(cues) hrm(cues) out = ['', - '' % (NS_TT, NS_TTS, NS_EBUTTM, NS_WAI, lang), + '' + % (NS_TT, NS_TTP, NS_TTS, NS_EBUTTM, NS_WAI, lang, PROFILES[0]), "", "", ""] out += ["%s" % p for p in PROFILES] out += ["", "", ""] + REGION_LINES + ["", "", "", "
"] @@ -429,6 +431,14 @@ def imsc_structure(doc, cues): named = [e.text for e in root.iter("{%s}conformsToStandard" % NS_EBUTTM)] if named != PROFILES: fails.append("the profiles named are %s" % named) + # IMSC 1.0.1 §6.9: ttp:profile on tt, the IMSC 1.0 Text Profile's designator; no + # ttp:profile element; never an Image Profile designator beside a Text Profile one. + if root.get("{%s}profile" % NS_TTP) != PROFILES[0]: + fails.append("tt's ttp:profile is %s" % root.get("{%s}profile" % NS_TTP)) + if root.find(".//{%s}profile" % NS_TTP) is not None: + fails.append("a ttp:profile element is present") + if any("/image" in (d or "") for d in named + [root.get("{%s}profile" % NS_TTP)]): + fails.append("an Image Profile designator is signalled") regions = {} for r in root.iter(tt("region")): rid = r.get("{%s}id" % NS_XML) @@ -1554,6 +1564,8 @@ def mutations(doc, files): show=vec(d, "event_vectors", "lesson_human")["targets"]["cc608"][0]["decoded"][0]["show"] + 1)) mutate("the stated reason of a read case", lambda d, fs: d["read_cases"][0].update(reason="cue_malformed")) mutate("a segment's X-TIMESTAMP-MAP", lambda d, fs: fs.update({"lesson_human.seg1.vtt": fs["lesson_human.seg1.vtt"].replace("MPEGTS:2160000", "MPEGTS:2160090")})) + mutate("ttp:profile taken off lesson_human.ttml's tt", lambda d, fs: fs.update( + {"lesson_human.ttml": fs["lesson_human.ttml"].replace(' ttp:profile="http://www.w3.org/ns/ttml/profile/imsc1/text"', "")})) mutate("a span of styles_and_anchors.ttml no longer italic", lambda d, fs: fs.update( {"styles_and_anchors.ttml": fs["styles_and_anchors.ttml"].replace('tts:fontStyle="italic"', 'tts:fontStyle="normal"', 1)})) return out diff --git a/wai/wai-rs/src/timed_text.rs b/wai/wai-rs/src/timed_text.rs index 5438219bb..9081a7831 100644 --- a/wai/wai-rs/src/timed_text.rs +++ b/wai/wai-rs/src/timed_text.rs @@ -59,7 +59,10 @@ pub const HLS_MACHINE: &str = "public.machine-generated"; pub const SESSION_DATA_ID: &str = "science.transaction.wai.timed-text"; /// The catalog field that marks a caption track machine-generated (§7.4). pub const CATALOG_FIELD: &str = "wai_machine_generated"; -/// The IMSC1 Text Profile designators a document names (§6.1). +/// The IMSC1 Text Profile designators a document names (§6.1): the IMSC 1.0 one in +/// `ttp:profile` (IMSC 1.0.1 §6.9) and in `ebuttm:conformsToStandard`, the IMSC 1.3 one in +/// `ebuttm:conformsToStandard` (IMSC 1.3 §8.10.2). A document never names an Image Profile +/// designator: IMSC 1.0.1 §6.9 forbids signalling both. pub const IMSC1_TEXT: &str = "http://www.w3.org/ns/ttml/profile/imsc1/text"; pub const IMSC13_TEXT: &str = "http://www.w3.org/ns/ttml/profile/imsc1.3/text"; /// The IPTC digital source types this extension writes (§10.3). @@ -1159,7 +1162,7 @@ pub fn to_imsc(lang: &str, cues: &[Cue]) -> Result { hrm_check(&cues)?; let mut d = String::from("\n"); d.push_str(&format!( - "\n" + "\n" )); d.push_str("\n\n\n"); for p in [IMSC1_TEXT, IMSC13_TEXT] { @@ -1566,6 +1569,8 @@ mod tests { c.origin = origin::MACHINE; c.model = Some([2; 32]); let d = to_imsc("en", &[c]).unwrap(); + assert!(d.contains(" ttp:profile=\"http://www.w3.org/ns/ttml/profile/imsc1/text\">\n"), "IMSC 1.0.1 §6.9's attribute on tt"); + assert!(!d.contains("/image"), "no Image Profile designator beside the Text Profile's"); assert!(d.contains("

a <b>

")); let alphabet: Vec = ('A'..='Z').chain('a'..='z').chain('0'..='9').collect(); -- 2.54.0 (Apple Git-157) From 06f006bff9b06e7b709ceb29ff79b79ce36dfed0 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 11:32:42 -0400 Subject: [PATCH 24/26] wai: live-conformance/captions regenerated: every IMSC1 document carries ttp:profile Co-Authored-By: Claude Opus 5.5 --- wai/live-conformance/captions/cc_characters.ttml | 2 +- wai/live-conformance/captions/disclosure_mix.ttml | 2 +- wai/live-conformance/captions/lesson_human.ttml | 2 +- wai/live-conformance/captions/lesson_machine.ttml | 2 +- wai/live-conformance/captions/mid_stream_join.ttml | 2 +- wai/live-conformance/captions/styles_and_anchors.ttml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/wai/live-conformance/captions/cc_characters.ttml b/wai/live-conformance/captions/cc_characters.ttml index 0635cde8a..4b3c24921 100644 --- a/wai/live-conformance/captions/cc_characters.ttml +++ b/wai/live-conformance/captions/cc_characters.ttml @@ -1,5 +1,5 @@ - + diff --git a/wai/live-conformance/captions/disclosure_mix.ttml b/wai/live-conformance/captions/disclosure_mix.ttml index 3c52c2709..e687a1258 100644 --- a/wai/live-conformance/captions/disclosure_mix.ttml +++ b/wai/live-conformance/captions/disclosure_mix.ttml @@ -1,5 +1,5 @@ - + diff --git a/wai/live-conformance/captions/lesson_human.ttml b/wai/live-conformance/captions/lesson_human.ttml index a49954ae0..bf1733fdf 100644 --- a/wai/live-conformance/captions/lesson_human.ttml +++ b/wai/live-conformance/captions/lesson_human.ttml @@ -1,5 +1,5 @@ - + diff --git a/wai/live-conformance/captions/lesson_machine.ttml b/wai/live-conformance/captions/lesson_machine.ttml index 74df4e674..0b31e7454 100644 --- a/wai/live-conformance/captions/lesson_machine.ttml +++ b/wai/live-conformance/captions/lesson_machine.ttml @@ -1,5 +1,5 @@ - + diff --git a/wai/live-conformance/captions/mid_stream_join.ttml b/wai/live-conformance/captions/mid_stream_join.ttml index b6b7334fa..da18af6f4 100644 --- a/wai/live-conformance/captions/mid_stream_join.ttml +++ b/wai/live-conformance/captions/mid_stream_join.ttml @@ -1,5 +1,5 @@ - + diff --git a/wai/live-conformance/captions/styles_and_anchors.ttml b/wai/live-conformance/captions/styles_and_anchors.ttml index 538b6c337..9b4eccbd6 100644 --- a/wai/live-conformance/captions/styles_and_anchors.ttml +++ b/wai/live-conformance/captions/styles_and_anchors.ttml @@ -1,5 +1,5 @@ - + -- 2.54.0 (Apple Git-157) From 01cb76a4e4f418399a1932cd14b027b68f704493 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 16:12:48 -0400 Subject: [PATCH 25/26] wai-rs: the live-record binary and test keep their own [[bin]] and [[test]] tables Co-Authored-By: Claude Opus 5.5 --- wai/wai-rs/Cargo.toml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/wai/wai-rs/Cargo.toml b/wai/wai-rs/Cargo.toml index 6048d2287..2930f0c43 100644 --- a/wai/wai-rs/Cargo.toml +++ b/wai/wai-rs/Cargo.toml @@ -652,6 +652,8 @@ required-features = ["capture_take"] name = "wai_live_compose_vectors" path = "src/bin/wai_live_compose_vectors.rs" required-features = ["live_compose"] + +[[bin]] name = "wai_live_record_vectors" path = "src/bin/wai_live_record_vectors.rs" required-features = ["live_record"] @@ -1285,6 +1287,8 @@ required-features = ["capture_take"] name = "live_compose" path = "tests/live_compose.rs" required-features = ["live_compose"] + +[[test]] name = "live_record" path = "tests/live_record.rs" required-features = ["live_record"] -- 2.54.0 (Apple Git-157) From 4ece5962221443dc9b90dbe38e3a94a73a92978b Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Sat, 17 Oct 2026 16:13:18 -0400 Subject: [PATCH 26/26] wai registry export: wai.live.compose and wai.live.recording both listed Co-Authored-By: Claude Opus 5.5 --- wai/registry/capabilities.json | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/wai/registry/capabilities.json b/wai/registry/capabilities.json index b5adf41c7..a87b2a438 100644 --- a/wai/registry/capabilities.json +++ b/wai/registry/capabilities.json @@ -586,6 +586,20 @@ "edition": null, "registered": "2026-10-16" }, + { + "capability": "wai.live.recording", + "kind": "record", + "status": "registered", + "media": null, + "role": null, + "tier": null, + "licence": null, + "replicate": null, + "sets": [], + "spec_section": "§5 Interactive, temporal & computed content", + "edition": null, + "registered": "2026-10-17" + }, { "capability": "wai.live.room", "kind": "record", @@ -1706,6 +1720,13 @@ "section": "§3.1", "status": "defined" }, + { + "name": "WCL1", + "kind": "magic", + "document": "extensions/live-recording.md", + "section": "§5.1", + "status": "defined" + }, { "name": "WCN1", "kind": "magic", @@ -1755,6 +1776,13 @@ "section": "§4.1", "status": "defined" }, + { + "name": "WRM1", + "kind": "magic", + "document": "extensions/live-recording.md", + "section": "§4.1", + "status": "defined" + }, { "name": "WSIX", "kind": "magic", -- 2.54.0 (Apple Git-157)