From 9079276ec8b35f118a1aa69bda254504aee9083e Mon Sep 17 00:00:00 2001 From: iris <2+iris@noreply.localhost> Date: Sun, 6 Sep 2026 19:46:21 -0400 Subject: [PATCH 1/3] A tool call can say it failed, and what it is for, without a renderer P1b's pure half (docs/RUST.md). Three pieces, all testable with no widget in sight: - `event_model::Event::ToolEnd` gains `is_error`, read from the CLI's own `tool_result` field by both the live translator and the import replay (`import::tool_result_is_error`, one reader so the two cannot disagree about the same conversation). Without it a result is all a card has, and a broken call draws exactly as confidently as one that worked -- the missing state, not a wrong one. `#[serde(default)]`, so an older transcript reads back as "not reported to have failed". - `client_core::transcript_fold::ToolState`: Running, Deciding, Succeeded, Failed, NoResult. The pair it exists for is the last two against Succeeded-with-empty-output -- a call that printed nothing and a call whose result never arrived leave the same empty string, and only the session's status separates "still going" from "nobody found out". - `client_core::tool_summary::parse_tool_input` and `client_core::durations`: `ToolInput.kt`'s subject/description/timeout split and `Durations.kt`'s span formatting, ported with their tests. The echo driver's three-call run now has a failing middle call, so the failed appearance is reachable from `ui-sandbox.sh` at all. Co-Authored-By: Claude Fable 5.1 --- client-core/src/durations.rs | 100 ++++++++++ client-core/src/lib.rs | 2 + client-core/src/tool_summary.rs | 244 +++++++++++++++++++++++++ client-core/src/transcript_fold.rs | 243 +++++++++++++++++++++++- event-model/src/lib.rs | 13 ++ server/src/session/claude/translate.rs | 41 ++++- server/src/session/echo.rs | 22 ++- server/src/session/import.rs | 17 ++ server/src/session/transcript.rs | 1 + 9 files changed, 679 insertions(+), 4 deletions(-) create mode 100644 client-core/src/durations.rs create mode 100644 client-core/src/tool_summary.rs diff --git a/client-core/src/durations.rs b/client-core/src/durations.rs new file mode 100644 index 0000000..9adb933 --- /dev/null +++ b/client-core/src/durations.rs @@ -0,0 +1,100 @@ +//! A span of milliseconds, written the way somebody reads it -- the port +//! of `Durations.kt`'s `formatMillis`/`formatMillisText`, with its tests. +//! +//! Only the tool-timeout half is here. `formatSpan` (the usage +//! countdown's rounding-up rule) belongs with whatever draws the usage +//! bar, and nothing in this crate needs it yet. + +/// A span of milliseconds, written the way somebody reads it. +/// +/// A tool's timeout arrives as `480000`, which nobody reads as eight +/// minutes. The rule has two halves, because a short span and a long one +/// are read for different things. Under a minute the question is "roughly +/// how long", so only the largest unit is shown and a fraction carries the +/// rest -- `2.5s`. At a minute or more the question is "how long exactly", +/// so every unit with something in it is written out -- `5d 12h 4m`. Empty +/// units are left out rather than written as zero. +/// +/// Sub-second precision is dropped past a minute: nothing that takes days +/// is measured in milliseconds. +pub fn format_millis(ms: i64) -> String { + if ms < 0 { + return format!("-{}", format_millis(-ms)); + } + if ms < 1000 { + return format!("{ms}ms"); + } + if ms < 60_000 { + let tenths = (ms + 50) / 100; + let (whole, rest) = (tenths / 10, tenths % 10); + return if rest == 0 { + format!("{whole}s") + } else { + format!("{whole}.{rest}s") + }; + } + let seconds = ms / 1000; + [ + ("d", seconds / 86_400), + ("h", seconds / 3600 % 24), + ("m", seconds / 60 % 60), + ("s", seconds % 60), + ] + .iter() + .filter(|(_, n)| *n > 0) + .map(|(unit, n)| format!("{n}{unit}")) + .collect::>() + .join(" ") +} + +/// `text` as a span when it is a whole number of milliseconds, and +/// unchanged when it is not. +pub fn format_millis_text(text: &str) -> String { + match text.trim().parse::() { + Ok(ms) => format_millis(ms), + Err(_) => text.to_string(), + } +} + +#[cfg(test)] +mod tests { + use super::*; + + /// The two ways a span of time is written here, and the rule each of + /// them follows -- ported from `DurationsTest.kt`, whose doc says why: + /// both are read off a screen to make a decision, so what matters is + /// that the shortest form that answers the question is what appears. + #[test] + fn under_a_minute_is_the_largest_unit_alone() { + assert_eq!(format_millis(30), "30ms"); + assert_eq!(format_millis(999), "999ms"); + assert_eq!(format_millis(1000), "1s"); + assert_eq!(format_millis(2500), "2.5s"); + // One decimal, rounded rather than cut: 2.46s is nearer two and a + // half than two and four. + assert_eq!(format_millis(2460), "2.5s"); + assert_eq!(format_millis(59_900), "59.9s"); + } + + #[test] + fn a_minute_or_more_is_every_unit_that_has_something_in_it() { + // The figure this rule was written for: a tool timeout, which + // arrives as milliseconds and is unreadable as 480000. + assert_eq!(format_millis(480_000), "8m"); + assert_eq!(format_millis(60_000), "1m"); + assert_eq!(format_millis(90_000), "1m 30s"); + assert_eq!(format_millis(475_440_000), "5d 12h 4m"); + // Empty units are left out rather than written as zero: the labels + // say which is which, and "5d 0h 4m" is only longer. + assert_eq!(format_millis(432_240_000), "5d 4m"); + } + + #[test] + fn only_a_whole_number_of_milliseconds_is_rewritten() { + assert_eq!(format_millis_text(" 480000 "), "8m"); + // A timeout a tool expressed some other way is its own words, + // passed through rather than guessed at. + assert_eq!(format_millis_text("2 minutes"), "2 minutes"); + assert_eq!(format_millis_text(""), ""); + } +} diff --git a/client-core/src/lib.rs b/client-core/src/lib.rs index d94e4f5..c7a91d8 100644 --- a/client-core/src/lib.rs +++ b/client-core/src/lib.rs @@ -5,11 +5,13 @@ pub mod ansi; pub mod api; pub mod config; +pub mod durations; pub mod event_stream; pub mod highlight; pub mod markdown_blocks; pub mod notifications; pub mod sse; +pub mod tool_summary; pub mod transcript_cache; pub mod transcript_fold; pub mod transcript_source; diff --git a/client-core/src/tool_summary.rs b/client-core/src/tool_summary.rs new file mode 100644 index 0000000..6bcb91a --- /dev/null +++ b/client-core/src/tool_summary.rs @@ -0,0 +1,244 @@ +//! A tool call's input, read rather than dumped -- the port of +//! `ToolInput.kt`'s `parseToolInput`, which is what both the collapsed +//! card's one-line summary and the expanded card's key/value list are +//! derived from. +//! +//! Every tool's input arrives as JSON, and showing it raw makes the reader +//! parse `{"command":"…","timeout":120000}` themselves to find the one +//! line they care about. So the fields that carry the meaning are pulled +//! out, and anything left over is still shown, because dropping a field +//! would be claiming the tool has no other input when it might. +//! +//! Pure, and here rather than in the widget crate, for the reason the rest +//! of this crate exists: the derivation is the same on a phone and on a +//! desktop, and it is testable without a renderer. + +use crate::durations::format_millis_text; +use crate::highlight::Language; +use serde_json::{Map, Value}; + +/// A tool call's input, split into the parts a card draws separately. +#[derive(Debug, Clone, PartialEq, Eq, Default)] +pub struct ToolInput { + /// The thing that will actually be run or read, if this tool has one. + pub subject: Option, + /// The language [`ToolInput::subject`] is written in, for + /// highlighting. + pub language: Option, + /// The tool's own one-line summary, when it wrote one. + pub description: Option, + /// How long the call may take, in the largest units it fits. Shown + /// apart because it is a limit on the call rather than part of what + /// the call does. + pub timeout: Option, + /// Everything else, as `name: value` lines. Never dropped. + pub rest: Vec, +} + +impl ToolInput { + /// The one line to show when there is only room for one: what this + /// call is for. + pub fn title(&self) -> Option<&str> { + self.description + .as_deref() + .or(self.subject.as_deref()) + // A subject that is only whitespace would draw as an empty + // summary line, which reads as a tool with nothing to say + // rather than as one whose subject was blank. + .filter(|t| !t.trim().is_empty()) + } +} + +/// Which field of which tool is the subject. +/// +/// A table rather than a chain of `if`s: adding a tool is a row, and the +/// shape stops any of them from being the special case that gets its own +/// code path. Unknown tools fall through to "no subject, everything is +/// rest". +const SUBJECTS: &[(&str, &str, Option)] = &[ + ("Bash", "command", Some(Language::Shell)), + ("Read", "file_path", None), + ("Write", "file_path", None), + ("Edit", "file_path", None), + ("Glob", "pattern", None), + ("Grep", "pattern", None), + ("WebFetch", "url", None), +]; + +/// Fields that are the tool's own prose about itself rather than input to +/// it. +const DESCRIPTIONS: &[&str] = &["description", "prompt"]; + +/// One JSON value as the Kotlin's `JSONObject.optString`/`get` wrote it: a +/// string is its own characters, anything else is its JSON form. +/// +/// One function rather than two, because the same coercion decides both +/// what a subject reads as and what a leftover field's value reads as, and +/// two copies would eventually disagree about a number. +fn as_text(value: &Value) -> String { + match value { + Value::String(s) => s.clone(), + other => other.to_string(), + } +} + +fn non_blank(value: Option<&Value>) -> Option { + let text = as_text(value?); + (!text.trim().is_empty()).then_some(text) +} + +/// Split `input` (a tool call's JSON) into the parts a card draws. +/// +/// Input that is not a JSON object -- older transcripts and some tools +/// send a bare string -- is still the input, so it is still shown, as the +/// whole of `rest`. +pub fn parse_tool_input(tool: &str, input: &str) -> ToolInput { + let Ok(Value::Object(json)) = serde_json::from_str::(input) else { + return ToolInput { + rest: match input.trim().is_empty() { + true => Vec::new(), + false => vec![input.to_string()], + }, + ..ToolInput::default() + }; + }; + parse_object(tool, &json) +} + +fn parse_object(tool: &str, json: &Map) -> ToolInput { + let (subject_key, language) = SUBJECTS + .iter() + .find(|(name, ..)| *name == tool) + .map(|(_, key, language)| (Some(*key), *language)) + .unwrap_or((None, None)); + let subject = subject_key.and_then(|key| non_blank(json.get(key))); + let description = DESCRIPTIONS + .iter() + .find_map(|key| non_blank(json.get(*key))); + let timeout = non_blank(json.get("timeout")).map(|t| format_millis_text(&t)); + + // Sorted, so the leftovers are in the same order every time this call + // is drawn rather than in whatever order the JSON happened to arrive + // in. A field is left out only when it is already drawn somewhere + // else on the card. + let mut keys: Vec<&String> = json + .keys() + .filter(|k| Some(k.as_str()) != subject_key || subject.is_none()) + .filter(|k| !DESCRIPTIONS.contains(&k.as_str()) || description.is_none()) + .filter(|k| k.as_str() != "timeout" || timeout.is_none()) + .collect(); + keys.sort(); + let rest = keys + .into_iter() + .map(|key| format!("{key}: {}", as_text(&json[key]))) + .collect(); + + ToolInput { + subject, + language, + description, + timeout, + rest, + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn each_tool_in_the_table_has_its_own_subject() { + // One assertion per row of `SUBJECTS`, because the table is the + // whole of the rule and a row lost in an edit would otherwise + // only show up as a card with no summary line. + let cases = [ + ("Bash", r#"{"command":"ls -la"}"#, "ls -la"), + ("Read", r#"{"file_path":"/tmp/x.rs"}"#, "/tmp/x.rs"), + ("Write", r#"{"file_path":"/tmp/y.rs"}"#, "/tmp/y.rs"), + ("Edit", r#"{"file_path":"/tmp/z.rs"}"#, "/tmp/z.rs"), + ("Glob", r#"{"pattern":"**/*.rs"}"#, "**/*.rs"), + ("Grep", r#"{"pattern":"fn main"}"#, "fn main"), + ("WebFetch", r#"{"url":"https://x/y"}"#, "https://x/y"), + ]; + for (tool, input, expected) in cases { + let parsed = parse_tool_input(tool, input); + assert_eq!(parsed.subject.as_deref(), Some(expected), "{tool}"); + assert_eq!(parsed.title(), Some(expected), "{tool}"); + assert!(parsed.rest.is_empty(), "{tool}: {:?}", parsed.rest); + } + assert_eq!( + parse_tool_input("Bash", r#"{"command":"ls"}"#).language, + Some(Language::Shell), + "a Bash command is shell, and is the one row that names a language" + ); + } + + #[test] + fn a_tools_own_description_is_what_the_one_line_says() { + // The description wins over the subject: it is the tool's own + // prose about what this call is for, which is what a reader + // scanning a collapsed run is looking for. + let parsed = parse_tool_input( + "Bash", + r#"{"command":"cargo test -p iris","description":"Run the iris tests"}"#, + ); + assert_eq!(parsed.title(), Some("Run the iris tests")); + assert_eq!(parsed.subject.as_deref(), Some("cargo test -p iris")); + assert!(parsed.rest.is_empty(), "{:?}", parsed.rest); + } + + #[test] + fn a_timeout_is_read_as_a_span_and_kept_apart_from_the_rest() { + let parsed = parse_tool_input("Bash", r#"{"command":"sleep 500","timeout":480000}"#); + assert_eq!(parsed.timeout.as_deref(), Some("8m")); + assert!(parsed.rest.is_empty(), "{:?}", parsed.rest); + } + + #[test] + fn every_field_not_drawn_elsewhere_is_still_shown() { + // The half the "never dropped" promise is about: a tool this + // build has never heard of has no subject, so *everything* is + // rest -- and a known tool's extra fields are too. + let parsed = parse_tool_input( + "Edit", + r#"{"file_path":"/a.rs","old_string":"x","new_string":"y","replace_all":true}"#, + ); + assert_eq!( + parsed.rest, + vec![ + "new_string: y".to_string(), + "old_string: x".to_string(), + "replace_all: true".to_string(), + ], + "sorted, and a non-string value written as JSON" + ); + let unknown = parse_tool_input("SomeNewTool", r#"{"b":2,"a":"one"}"#); + assert_eq!(unknown.subject, None); + assert_eq!(unknown.rest, vec!["a: one".to_string(), "b: 2".to_string()]); + } + + #[test] + fn input_that_is_not_an_object_is_still_the_input() { + // Older transcripts and some tools send a bare string; a card + // that dropped it would claim the call had no input at all. + assert_eq!( + parse_tool_input("Bash", "just a string").rest, + vec!["just a string".to_string()] + ); + assert_eq!(parse_tool_input("Bash", " ").rest, Vec::::new()); + assert_eq!(parse_tool_input("Bash", "").title(), None); + } + + #[test] + fn a_blank_subject_is_no_subject_rather_than_an_empty_summary_line() { + let parsed = parse_tool_input("Bash", r#"{"command":" ","other":1}"#); + assert_eq!(parsed.subject, None); + assert_eq!(parsed.title(), None); + // Not dropped just because it was blank -- it is still a field + // the call carried. + assert_eq!( + parsed.rest, + vec!["command: ".to_string(), "other: 1".to_string()] + ); + } +} diff --git a/client-core/src/transcript_fold.rs b/client-core/src/transcript_fold.rs index a4cf03c..42030a4 100644 --- a/client-core/src/transcript_fold.rs +++ b/client-core/src/transcript_fold.rs @@ -78,6 +78,11 @@ pub enum TranscriptItem { input: String, output: String, done: bool, + /// Whether the result that arrived said the call failed + /// ([`Event::ToolEnd`]'s `is_error`). Meaningless while `done` is + /// false, and [`ToolState::of`] is the only thing that reads the + /// pair, so the two cannot be combined wrongly at a call site. + failed: bool, asks: Vec, images: Vec, }, @@ -352,6 +357,7 @@ pub fn join_pages(earlier: &[TranscriptItem], later: &[TranscriptItem]) -> Vec Vec Vec Vec { + Event::ToolEnd { + id, + output, + is_error, + } => { if items.iter().any(|i| i.as_tool_run() == Some(id.as_str())) { update_tool(items, id, |item| { if let TranscriptItem::ToolRun { - output: out, done, .. + output: out, + done, + failed, + .. } = item { *out = output.clone(); *done = true; + *failed = *is_error; } }) } else { @@ -594,6 +610,7 @@ pub fn fold_event(items: &[TranscriptItem], entry: &SeqEvent) -> Vec Vec { for ask in asks.iter_mut() { @@ -665,6 +683,7 @@ pub fn fold_event(items: &[TranscriptItem], entry: &SeqEvent) -> Vec Vec Option { + let TranscriptItem::ToolRun { + done, failed, asks, .. + } = item + else { + return None; + }; + debug_assert!( + !failed || *done, + "a call cannot have failed before its result arrived" + ); + Some(if asks.iter().any(|ask| ask.answers.is_empty()) { + // Ahead of `done`: a call waiting on permission has not + // finished either, and which of the two the reader is being + // told about is the one they can act on. + Self::Deciding + } else if !*done { + match session_working { + true => Self::Running, + false => Self::NoResult, + } + } else if *failed { + Self::Failed + } else { + Self::Succeeded + }) + } +} + /// One row as the transcript draws it: a run of consecutive tool calls, or /// anything else. Ported from `ToolRows.kt`'s `TranscriptRow` and /// `groupToolRuns` -- the Compose card rendering in that file is not part @@ -989,6 +1076,7 @@ mod tests { Event::ToolEnd { id: "x".to_string(), output: "done".to_string(), + is_error: false, }, )]); assert_eq!( @@ -1001,6 +1089,7 @@ mod tests { input: String::new(), output: "done".to_string(), done: true, + failed: false, asks: Vec::new(), images: Vec::new(), }] @@ -1166,6 +1255,7 @@ mod tests { Event::ToolEnd { id: id.to_string(), output: output.to_string(), + is_error: false, }, ) } @@ -1211,6 +1301,7 @@ mod tests { input: "{}".to_string(), output: "the result".to_string(), done: true, + failed: false, asks: Vec::new(), images: Vec::new(), }], @@ -1269,6 +1360,7 @@ mod tests { input: "{}".to_string(), output: String::new(), done: false, + failed: false, asks: Vec::new(), images: Vec::new(), }]; @@ -1279,3 +1371,150 @@ mod tests { } } } + +/// [`ToolState`] is what a card colours itself by, so each of its five +/// states is asserted from the events that actually produce it rather than +/// from a hand-built item -- a mapping that agreed with a fixture and +/// disagreed with the fold would be invisible until it was on screen. +#[cfg(test)] +mod tool_state_tests { + use super::*; + + fn event(seq: u64, e: Event) -> SeqEvent { + SeqEvent { + seq, + ts: 0.0, + event: e, + } + } + + fn fold_all(events: &[SeqEvent]) -> Vec { + events + .iter() + .fold(Vec::new(), |items, e| fold_event(&items, e)) + } + + fn start(id: &str) -> SeqEvent { + event( + 1, + Event::ToolStart { + id: id.to_string(), + tool: "Bash".to_string(), + input: serde_json::json!({"command": "ls"}), + }, + ) + } + + fn end(id: &str, output: &str, is_error: bool) -> SeqEvent { + event( + 2, + Event::ToolEnd { + id: id.to_string(), + output: output.to_string(), + is_error, + }, + ) + } + + fn state_of(events: &[SeqEvent], session_working: bool) -> ToolState { + let items = fold_all(events); + ToolState::of(&items[0], session_working).expect("the fixture's first item is a tool call") + } + + #[test] + fn a_result_that_arrived_is_read_from_is_error() { + assert_eq!( + state_of(&[start("a"), end("a", "ok", false)], false), + ToolState::Succeeded + ); + assert_eq!( + state_of(&[start("a"), end("a", "No such file", true)], false), + ToolState::Failed + ); + } + + /// The pair this enum exists for. Both calls have an empty `output` + /// and nothing else distinguishes them, so a card that only looked at + /// the text would draw the interrupted one as a call that ran fine and + /// printed nothing. + #[test] + fn a_call_that_printed_nothing_is_not_a_call_that_never_answered() { + assert_eq!( + state_of(&[start("a"), end("a", "", false)], false), + ToolState::Succeeded, + "a result arrived; it was empty" + ); + assert_eq!( + state_of(&[start("a")], false), + ToolState::NoResult, + "no result, and the session is not working any more" + ); + } + + /// The same call, mid-turn: still running rather than abandoned. The + /// only thing separating the two is the session's own status, which is + /// why `of` takes it. + #[test] + fn no_result_while_the_session_works_is_still_running() { + assert_eq!(state_of(&[start("a")], true), ToolState::Running); + } + + #[test] + fn an_unanswered_ask_is_the_readers_move_whatever_else_is_true() { + let asking = event( + 3, + Event::Question { + id: "q1".to_string(), + prompt: "Allow?".to_string(), + header: None, + options: vec![QuestionOption { + label: "Allow".to_string(), + description: None, + preview: None, + }], + multi_select: false, + about: Some("a".to_string()), + }, + ); + let answered = event( + 4, + Event::Answered { + id: "q1".to_string(), + answers: vec!["Allow".to_string()], + }, + ); + // Ahead of both "still running" and "no result": the reader can + // act on this one, and cannot act on either of those. + assert_eq!( + state_of(&[start("a"), asking.clone()], true), + ToolState::Deciding + ); + assert_eq!( + state_of(&[start("a"), asking.clone()], false), + ToolState::Deciding + ); + assert_eq!( + state_of( + &[start("a"), asking, answered, end("a", "ok", false)], + false + ), + ToolState::Succeeded, + "once it is answered the call is an ordinary one again" + ); + } + + #[test] + fn nothing_but_a_tool_call_has_a_tool_state() { + assert_eq!( + ToolState::of( + &TranscriptItem::UserMsg { + seq: 1, + text: "hi".to_string(), + attachments: Vec::new(), + }, + true + ), + None + ); + } +} diff --git a/event-model/src/lib.rs b/event-model/src/lib.rs index 4c40c11..f81f28e 100644 --- a/event-model/src/lib.rs +++ b/event-model/src/lib.rs @@ -150,6 +150,19 @@ pub enum Event { ToolEnd { id: String, output: String, + /// Whether the tool reported that the call *failed*, from the + /// CLI's own `is_error` on the `tool_result`. + /// + /// Added 2026-09-06 with the tool-call cards (RUST.md's P1b), + /// because without it a result is the only thing a card has and a + /// failed call is drawn as confidently as a successful one -- the + /// missing state, not a wrong one. `#[serde(default)]` so a + /// transcript written before this field, or a peer on an older + /// build, reads back as "not reported to have failed" rather than + /// failing to parse; that is the same claim the field's absence + /// used to make implicitly. + #[serde(default)] + is_error: bool, }, /// An image the session produced or was sent, saved under the session /// dir and referenced by id; the phone fetches it by URL. diff --git a/server/src/session/claude/translate.rs b/server/src/session/claude/translate.rs index 72964e4..d37bd2b 100644 --- a/server/src/session/claude/translate.rs +++ b/server/src/session/claude/translate.rs @@ -700,6 +700,7 @@ impl Translator { events.push(Event::ToolEnd { id: about.clone(), output: texts.join("\n"), + is_error: crate::session::import::tool_result_is_error(block), }); // Deliberately does *not* finish a subagent `about` might name: // the Task tool runs in the background by default, so this @@ -1015,7 +1016,44 @@ mod tests { }, Event::ToolEnd { id: "toolu_01".to_string(), - output: "probe-ok".to_string() + output: "probe-ok".to_string(), + is_error: false, + }, + ] + ); + } + + /// The other half of the test above, and the one it cannot stand in + /// for: a call the tool itself reported as failed. Both lines are + /// `tool_result`s and both carry output, so nothing but `is_error` + /// tells them apart -- which is why dropping the field made a broken + /// call draw exactly like one that worked. + #[test] + fn a_failed_tool_result_says_so() { + let dir = tempfile::tempdir().expect("tempdir"); + let mut translator = Translator::new(dir.path().to_path_buf(), test_subagents(&dir)); + let events = translate_lines( + &mut translator, + &[ + r#"{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_02","type":"tool_result","content":"No such file or directory","is_error":true}]},"parent_tool_use_id":null}"#, + // No `is_error` at all: every transcript written before + // the field was read looks like this, and it means the + // call was not reported to have failed. + r#"{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_03","type":"tool_result","content":"fine"}]},"parent_tool_use_id":null}"#, + ], + ); + assert_eq!( + events, + vec![ + Event::ToolEnd { + id: "toolu_02".to_string(), + output: "No such file or directory".to_string(), + is_error: true, + }, + Event::ToolEnd { + id: "toolu_03".to_string(), + output: "fine".to_string(), + is_error: false, }, ] ); @@ -1459,6 +1497,7 @@ mod tests { Event::ToolEnd { id: "toolu_05".to_string(), output: "took a screenshot".to_string(), + is_error: false, } ); } diff --git a/server/src/session/echo.rs b/server/src/session/echo.rs index c899524..3e055c8 100644 --- a/server/src/session/echo.rs +++ b/server/src/session/echo.rs @@ -134,6 +134,7 @@ impl EchoDriver { self.emit(Event::ToolEnd { id, output: format!("{label} step {index} finished"), + is_error: false, }); } } @@ -645,6 +646,7 @@ impl EchoDriver { send(Event::ToolEnd { id, output: format!("call {i} finished"), + is_error: false, }); } finish(); @@ -698,6 +700,7 @@ impl EchoDriver { send(Event::ToolEnd { id, output: format!("ran: {command}"), + is_error: false, }); } @@ -717,6 +720,7 @@ impl EchoDriver { send(Event::ToolEnd { id, output: format!("echoed: {input}"), + is_error: false, }); } @@ -817,6 +821,7 @@ async fn write_beat(sink: &EventSink, session_dir: &Path, beat: usize) { send(Event::ToolEnd { id, output: format!("beat {beat}: forty-two lines of nothing in particular"), + is_error: false, }); } // A run of three, which the app folds into one collapsed group -- the @@ -829,9 +834,20 @@ async fn write_beat(sink: &EventSink, session_dir: &Path, beat: usize) { tool: if i % 2 == 0 { "Bash" } else { "Grep" }.to_string(), input: serde_json::json!({ "command": format!("grep -rn 'beat {beat}' /tmp") }), }); + // The middle one fails, so this fixture carries a run in + // which the three calls are not all in the same state -- + // the case a card drawing every finished call the same way + // looks correct on. `is_error` is the CLI's own field + // (`import::tool_result_is_error`), and a driver that + // never sets it makes the failed appearance unreachable + // from the sandbox. send(Event::ToolEnd { id, - output: format!("beat {beat}, call {i} of 3"), + output: match i == 2 { + true => format!("beat {beat}, call {i} of 3: No such file or directory"), + false => format!("beat {beat}, call {i} of 3"), + }, + is_error: i == 2, }); } } @@ -856,6 +872,7 @@ async fn write_beat(sink: &EventSink, session_dir: &Path, beat: usize) { send(Event::ToolEnd { id, output: format!("beat {beat}: captured"), + is_error: false, }); } // Somebody else's voice, which is its own row shape. @@ -904,6 +921,7 @@ async fn run_helper(id: String, sink: EventSink, subagents: Arc) { Event::ToolEnd { id: tool_id, output: "helper done".to_string(), + is_error: false, }, ); let target = Duration::from_secs(3); @@ -915,6 +933,7 @@ async fn run_helper(id: String, sink: EventSink, subagents: Arc) { let _ = sink.send(Event::ToolEnd { id, output: "subagent finished".to_string(), + is_error: false, }); } @@ -1069,6 +1088,7 @@ impl Driver for EchoDriver { self.emit(Event::ToolEnd { id: call, output: format!("answered: {answer}"), + is_error: false, }); // The work carries on where it left off, which is what makes the // asked-here row a boundary with a group on each side rather than diff --git a/server/src/session/import.rs b/server/src/session/import.rs index b9bfc74..d5289da 100644 --- a/server/src/session/import.rs +++ b/server/src/session/import.rs @@ -363,6 +363,22 @@ fn is_hidden(record: &Value) -> bool { || record.get("isMeta").and_then(Value::as_bool) == Some(true) } +/// Whether a `tool_result` block says the call itself failed. +/// +/// One reader for the field rather than one per caller: the live +/// translator (`translate.rs`) and this replay of the CLI's own file look +/// at the same block shape, and a call drawn as failed in one and as +/// succeeded in the other would be the same conversation disagreeing with +/// itself. Absent means "not reported to have failed" -- which is what the +/// CLI writes for a call that went fine, and also what every transcript +/// written before this field was read says. +pub(crate) fn tool_result_is_error(block: &Value) -> bool { + block + .get("is_error") + .and_then(Value::as_bool) + .unwrap_or(false) +} + fn text_of(content: &Value) -> String { match content { Value::String(text) => text.clone(), @@ -549,6 +565,7 @@ fn push_user(events: &mut Vec, content: &Value, session_dir: &std::path:: events.push(Event::ToolEnd { id: id.to_string(), output: text_of(block.get("content").unwrap_or(&Value::Null)), + is_error: tool_result_is_error(block), }); } } diff --git a/server/src/session/transcript.rs b/server/src/session/transcript.rs index 2ac74fd..68f4469 100644 --- a/server/src/session/transcript.rs +++ b/server/src/session/transcript.rs @@ -744,6 +744,7 @@ mod tests { Event::ToolEnd { id: "t1".into(), output: "done".into(), + is_error: false, }, Event::Image { image: "img1".into(), From a4809b3026d1b90e01c4e0628c7a7bd121b672c6 Mon Sep 17 00:00:00 2001 From: iris <2+iris@noreply.localhost> Date: Sun, 6 Sep 2026 21:33:24 -0400 Subject: [PATCH 2/3] WIP: tool-call cards and grouping (P1b) `transcript-ui::tool` draws a card per call and a group per run, with the states, the collapsed-lays-out-nothing discipline and the one-card-per-result update. Screenshots in docs/bench/p1b-2026-09-06/. Includes a local fix to `List::place`'s reposition-vs-mov clash, which is about to be dropped for rustify's own. Co-Authored-By: Claude Fable 5.1 --- .../p1b-2026-09-06/iris-tools-collapsed.png | Bin 0 -> 100602 bytes .../p1b-2026-09-06/iris-tools-expanded.png | Bin 0 -> 117167 bytes iris/core/src/ui/render_state.rs | 11 + iris/src/widget/list.rs | 24 +- iris/transcript-ui/examples/transcript.rs | 165 +++- iris/transcript-ui/src/lib.rs | 393 +++++++- iris/transcript-ui/src/markdown.rs | 2 +- iris/transcript-ui/src/row.rs | 160 +--- iris/transcript-ui/src/tool.rs | 876 ++++++++++++++++++ 9 files changed, 1443 insertions(+), 188 deletions(-) create mode 100644 docs/bench/p1b-2026-09-06/iris-tools-collapsed.png create mode 100644 docs/bench/p1b-2026-09-06/iris-tools-expanded.png create mode 100644 iris/transcript-ui/src/tool.rs diff --git a/docs/bench/p1b-2026-09-06/iris-tools-collapsed.png b/docs/bench/p1b-2026-09-06/iris-tools-collapsed.png new file mode 100644 index 0000000000000000000000000000000000000000..d46ff6be435bd79cd40a7730d978b6a5e0097e60 GIT binary patch literal 100602 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 literal 0 HcmV?d00001 diff --git a/docs/bench/p1b-2026-09-06/iris-tools-expanded.png b/docs/bench/p1b-2026-09-06/iris-tools-expanded.png new file mode 100644 index 0000000000000000000000000000000000000000..bd9ea853fb547f6b50b4cca1fcc551899dba0f97 GIT binary patch literal 117167 zcmdSBRa}%?{5PuGt)NIq3J7dOx}>B*hmvlPmTpFB$N^Lk1OcTxrH1YfLAtvcI);v+ z<6Z8p|8vg8xjFB9bLN8K!_2du^{n+~A ze-~l?1^yDL(v*7Z)<3tT#b2qpCTz``>k^KSH|@)QvxBAt7>!TVGK@`lgwnNVLiHT_?lJ@sC^9EURcP)5%$G5f;zJE7qwUd#N$&iVR zsOPaBlarMtfGn@9AP^0tN{Whwx~g}7Uv(KDk#kEgATrVve3#c|BCino+kIQDv)jZL0nvIvL!QI+-hJ#&)| z{RXG03foe=#rYow+7*{JonfZc)v^#VS`m@Cl|HBj2}>vnN=LW?+qRSjPAjf(Xwui6z7s6-qRo;_P%MR(ip7o$-;>jTA(3JQJg z3OJ{`ojpBYJ_l>q7&Ms0hR1WcH5Y~9Zj9D8;x+GY5VRJ=#kqTWCWzzfMh$Ce3*I}u zU`;qdBVSj0-eWZIaDf(=!`F{4EhlmLJuM22jE@tbNFuK7++w|2wCC#S^6u(MziPcZ zHU-5jhQ{i`LaKZmHx;+Z=?|nrZ^DZO)wTZu>v~Cs{bj#FmC0#9aY3Jg7zX;3>X~mS zwZXDCig0f#Ahn*5JiSeBYpi~4w;d+tY!fv!N-gs}T*bh^JcV|Vq#hYvx_ zk2cUL8qeDh%LBbSH4Tc&7t#K2kZu)5HvHWl zV;{aec`(Y{$X?+x@byvUj_~n8(1U2RQ;c?ldc%y%(jEVbJ{Q(4oF@VsDuZ!&3fW)eh!M^$C438UN^TI3^Mq-?rdpV ztYF;CS8Z121<5;11|}y7UPwPx6{8u}cl$&sPm1APJtvrG3Ph`pxo$N@R1OSoX&p>$I0W4C_IV3~sQD z#{#}m^CDA=R7j}@iju7t6Gyh;-G%}T1}io+ZIl(LanI^4IR9H*>SqU7b_H`qRzqce zPq#Yu9e3sy#6E>MI33&%jnb>Pr1iBJt(m33s+})derMS>Ofol$7(I?-LW%N86&WNktuxA^vOnpugbp zqsBr&AhNuOt-lDBURnnC6R?G$$HnNG)v}*^FBn-Sc&?zZApxYNtAYY&zOr0Ga2gU8 z?em|5OFdNMzIf;_Wa5&N3>fr_FhfTj-Xa zlQX(4_y$5oe}er*S--qGQcUTM3Yf(7@cu7ahkkguV>W?-y;I(MzE3mNH(?^T2Vsh{ zNS=<`h`rc{V9sW}w@~uAFQp;BCf@)1{CNJB;@DuPRCR=7YT;#dP^Ce`1Ko17@Ld0A zLfWfTPYjMF(rD65y9{}uvpVZvq6@Vs1?}hP{}BM6E)Xa)yj|N7E1(Q}XDO*Q34)Rw88}&M;0eE%I!i{F1`PIPPZp2Qs)<3?DV#$Mos$ab~RYN zuUz(LYvbwY>9?mE?6*!CH(%H(%Dt{~{UMhWIhw0@Llu?R)!8>!xh5QyYzIQ6QZx_q z!Ja5=*(apJE~sC7ZFQB&LlCw__UI98zrVD)x|&8ZBwldWW4ax8d)o#i2V4q%y=n(_ zti$QSp^l1e!4Ps$Elth-{_%^$_hLF_Hrv}P1?jotMatoMd3kK!L_Pv88%go;9#^PV zBQ8=NcTXjyrVUjo>#;l@qva}F!DDL+i#IXIkf2~vPMZ-D)y!#8H_t0nG9*BDoW=cU z%huR-Wpl}LsPyE^m|u5QmfH4QzS10A{9Jxm`;DC}H& zOu?M3`PICehlhKr%(Bq~x!_eVz*GaW4!_}$CKJTO+&mXE(jEPUm`xi2_5kB=$xob| z&=oe*nza=TcuxiCYZZ~VceOudY`JWNV)53(xQgK>+Z!7ijb1J9KYmIQa_lVgu$C}s z4UDYV7MkB&a=w~sRgwCCXHwT;hJBd1ky;+9oZ8)S6rq{S+ZbceYBiG017EF^!rk@vla_NoqI~|gqaqPQqwus~ zxy%m_=`9E*=v5GLew$*9N?E0CZAffv$#i8wMpgz66+i6!OSJ;~6R3XUGv8Bmr78iP z*T%v%s;xYz9F6@6ha5gX|9L^oJ<`3c)1Ysn$kJR!=Af56Iz2rdH4bHnZY;ngfBcwI zz#-FNr3(yetGH~f)8;<9Y;sC_3dxp0?aOBibDmEz+}SBmw6T4NdK^M=Bk{wqJFK6* z@p`VQYH+aSLRKFCzp7zrXmB*>OK072NNlTw+qtCHq>!eKXqj_JVDGsDilw#S+c*1n zt_Q8ms}i9O=&uY0-DBS^v82UO8P>#*038=9KgmpIUN=>N{k_kw=gm5G{SVhSxYj@d zCV#QbGDY-{^d3l&3X}RrR}U-`F58nUFsVT>rp#zm85`1nmb*Ikj~wEwHd6&m7rH3w?c#C2{pC2OSt|cZ~0U8 zcPBWN9w_~-BALLG5u${a+!WWKx368hPCpwwpk~RZ0Go97L|$r3J0>+kvyhZQ8q|Er z^+&c7+0vjgNYuRp>ciwlx*B57`wLxEyiBY9Oi6uZq>e3VLqYKSsYW4=IWCq>DTa?Y zN(r@5Wh|oQigdOylQj1T+52+0(&$B!~I-x*84PXf&&z+RL{!k$2$MT^T2cm{fo-^Jo~FHDLcE(0Sr|53T!a-YvpMVXa*(anU-eAt z4g^yNgSRn-ueAcIlvg?(Pt?@ghg7=WRgUt+q2MPc4R_o6>8HZ=_rGCzdLd)*K@3y* zRXrq!1MI_+k|2k4PE84PwJk?1JDL^VWQ%fh^YPGTsAP0Wgu<_T8Vu9vGV3ouEe0=r zsj7Oov%LukIL9XYd4i!nfHif4vtq+YiOx@kolCqJ-TiX30yO^zEHv(%(T6Lbgr+XMiCiQ#7xRI z;{~=U6U2~*RQv_@;btKr$6bmZ3JNeIqh_vlu*19bb@x}6Ri#@%=PpYV5)#PA+3r){ z!=d~Z6H{a~nHC0xyt17t>+kI3H;1WwL-@yAs~D+V-NW|7E7VO?NaUNTYc)q+7d`!_ z3EFw$*d=14-0DRq_Tdf|d=?~PMv?W-sQIz{aV)K$?d_QvnW&8o_@0u?{rmfYXMKs5mJavQ`5#&oepM;cDJ3u-sm7~|4G(0@zeTlV^0-4{GKNcx<8k6Uy>9J~;b#-)1 zlrPC&&7Q3s%0x23IZSITcdsLv)sK(84s%2O+nHBjIcGfy_3wHnK5MciCv#aJ_|IVe z8@E0uYF+qGNH;7wwIoNaM(2q3z>;lD5@{b8crB}=BY{aR{<0}PI(b4q2N?+14@)OUFt?m?aa6keO>bbJdeqfXH z5JR}F=Z3n6ubQc{NLX|^P1YIU@H-R~6j>y@o*dfl=kbm!YinyJ<`)-kB=vtw7+UX# zjRr;6xf#DH&Sizp7JKh~eZ*rmHk6&RUl7jJ!KrT`>vXhvp`~1yhL>hFiU^!NJsl5c zCb*s&80Tf+4yXtT!F$Ti-amyxC#;N&M7Sgtv$#kr$3@7{L`q3W_?erUqKLB}H+b%w zWg?R7B&fwrOsYy~UsOcUewKATrxh|X4XTX~au76FHaGbm^w)(q{Ecr#MaBD9iEDk( ztK*bhovIyv!^P;hxHvDbIY_|g@P?t0k)uPnuxdFJc^kpR)J4who2@P@%ESr594t~^ z@;&8S!8$>a@&tVT91{3|1TvCqPB_0Ctvv6j&ZH+S?Ck6;=&yN~JUpC$h+MG3Hs*5W zAsqe@Am0dh&j(N!5MR~gAhH8+-Ai`EqN6pxf7iLZdALg}eAS!oeMRLL7GS=4NC2Q~)|O4Ms8zzkBlH4CEeU0M zvlNm2EiGb=I((%gNB zgz^VHb!Af{)E^3TJ8_B2$duqUZ*6`4a2Vtmlvh#b zbT$P_fxD*{Od8*!%*}63chC=_@!jfdK{~AvOL05Nu6N&+v;6${E&bx8@E9NM#7=tVP_{NtO~V!4LwXS1|VD*=dRt- zwb8tyu@P~KZ+(&vba4NTh&@py_uJ?1BhS*H(X2WR6&AN^ppEYZ1O(_6FOLt~sQmE2 zPKks!KD~mk8Z%7_mFX5)YA*W*^@zW4VjY;&yC1$jG=F&Iodt4>7-CT{m@ zMOj(dT=fh2YOB#Wd6bnEZSqqZVcV4h33MFES+)#V4uH?jQ*JdGfJ zx}$s8sq^6eY)?gRa@i&QKHbBj&Q!RNR7WRbA-FBx3RxbEldvaH@VQoj>>+wHIZO`; z01ah}kMUY=l80*ks)9 zL!1KVB6^r}cGoFz^}FW}jA7c~W!p z@IX~OAo*kNB?+zR_mUU{!| zdTCce^)7b&BLQ`*%?F*jpd=?Ho%?QiXyiS8_|AoggX3yHi?xf^NWf_;EH3U~?Q9ql z@csMG%-*@W#S+K09n=1`kuoKX!>#D7@^!27?B`pLZk)okrTFx-Az5Q3w)xM-ZK zmNS*DJSd-x0~YmyEk@rc7P1NAUt`I&pB1=u{ly`j!Pya#K$)&xQq@Q8pN+ z`{D(*$rVF2A3ZWGx7w)O9pD#|Q?U|>f00Kf;CVDYyf!k%8}J1aicEF9z)7SODso*x z9d(UbwyY*n2srQWy9>APjpZ{h(JNR^WOshN*ww3LK@|s&f)(6Y_Ax4 z?PjKJo{x%V$tN3|jLa_>(^HEB!uG(g%5BME@YV6|G>2Q)5lHAK+q}>DShQ4Cxw1Oy zY%;Lc6e8WDllVp4E+=ZhhUBf^u(q(E{U0{Ji-EBNXpsqyLS2E%_1cwsj}uYnW0{ve zP{4KyI=PoV?p|g$-FV-CEh~4m;r~i*r+Or4wni#Zr}_Ea#^f3cV_Q%oB2n3>ltxy$pa`q1q^^870GpxQ|SOA7{Up&fadg*PvB)MQ17QCrR zEM%;v=Bi=@;UyS$Ca=iN$t^UfwLvE3-@(AusWWk&uAunq&K3HIiHw{VX7ANtKHd*N zO2=zOgIf2`pmJ?`)$$34s{HNX5E5sHQJ^E0#=JfF#%S$0xXS>CaBh=JOQ}<_;wzoJ zPMPg^s@<$R!U_?Ys}?J4uKYHoF}QrCb}@3QVsj+TG#5mWMz+!`#lpo)KUv6!J5-_- z8hM68IkG3Ky`t8GCFOW&`t|1qaN+6pcGc>G&f3!pH)O4c<5A3g-rb2)R}VT``Z12@ zHlsDRNc{|wfkM4A$KD!Nf1KnBueXoL$!*^%RXVIN4QGWAK(>&z@bx0)(nc+%O1pXs zOOtUs;kXyJUMmM~t?ywKF97>gZ)|tbGuYsD$2go4sz0o4CBnP&Mzc`aae1JDYL6e| z-?erc0NWP6Y^ME(Pl%uCg)IKJ^8@wyiG5XHJdb0F{o`mr!+G8@_7b#$O>LnF+Q*^o z?iQO{TgPLvsF}KEmb^KwfwRK{VL)Z>UROpHof>sH0aPU|ZdJv-w33@b$!}>3r4i;^U6+Wy4_s@S)Z-9AZmgQw}ca@%Z54F^2J!DkYcwpypHpLao*10HJu!De+< z%68gWW$w0R!c0d;)!TReA$mKrmALm6??;>Q37mZ)J&_PEvjH0)B*0b>_w~{;mpMDj zV}s^l5?YbPG;`3IxJ2(#&V%IW-MfAbTK+D8wW695!0@MKW?LR4AX)Ka0AL7E`@L*+ z1sC4@&QbB2Z(PfI#(r$0eKdFc#J>Y!fr|gSJ;@-%{Zt&2x~C6`87!Bpe}%4LFz?sH z4U*B^VLHT(HmmaRFVwA1T~~c`wj|m5d8WQ4QcADZben{bjDqfqB@9Y0m?ua~yc(zVh=_!6cxihTMj#g+A(wuHO#OIdkEfsPD zm?4*anD~*-rhBcMpRoHPVj_g$y2%j|V9M;pGzIi5#l+)ayyn5q_QB39rPaHQ`8pL> zi_2t>i6a5szjqux$Kk!{?~l)-*Kj;3i!91M3V0mr{ca{X8hQC)v|OiOkQnwp%ohj` z{)#`@8ym`-x^qf32^9x=nQiumsKlC8VLKvfQJ$1j0v_j*jFim(E{dib_CRf&+_7yD z=clKdH4aw|@tPA^eTz4D!HmbdP{C0w|7}!z>`IwL+BX=0-W7D&*x6WEUD!F#as1I3 zrhIiTL=jw1d;A1; zbi>2E4j|N$1xWt8)BkUO`rP<9uCY-Fxi0U1DSEeX5=uE4tts;RaeTZ9(ItP&CyQ9G z4=kLYpMx@rQ!6v5yW6z;@tFfqZvXQFc%4qf{u!X_Q6Sc_zuBABG?0hyFP{DQcyV>< zDSG3XQsW-mHTI|Bn|>K~S|DUkwX`f`1pjiR6vnw6MH8o){_UNE`Gs}IS^K(R=FCixDOs+K6tP`H~U>N*$WbI zpMXxiP~RAhBEpvr5Xa|qS`PrvSBG@|ufw-)T^q_UzLb)Z!lEX7VRL#}y;N(|_J#DO zl|A%pGnYnv(RBP}tIeFFuz|~++=XY4H;uL!J>=a)3 zA6Itk)?TOzU>!6xq8J%FGc(~b0kQm!Ff+4NFc9)`0-|0v=@vbGeH!X;F4vW=NI$&d z;z2MUy>aCX6AZop3-@(*$Mf0eeU>&S2=Ak#OU#su-AmQ{)B33tL&hyuU)Q~PuZv>} z*v`y!x_=H{8hGH37`UvDQ&Ll7V`A{0JmIz)nRsD4#Y6^&!`0N)HS@L8GctG_S9ycU zd5Iyw=s-_T&#qOH2l#*Z#qsV~ulOU+{Y5`t-&6VciVExTSC||o9ea?hKVx;d8By}L zKc3OWF{?v$9k`va`;nTmGLW!qyphe#i%FbK&5JvG3p9m#wTWNxpwOG|AoL*tS&G~F zc`O*%pmIFTo|uSP>rW;pBLkD2%x8a;TbP+B>ir8o|G1NzD(264Z?e{9d~4DXmr@9f zxr*vAAU==2u|59Ni~sNMH!@77UoOmcDvjF}?FLc|feHhL#gtRa#-^+?y1l-Zm)(H- zBAf9~IA53k;z1wL0D3v-8Y@UH?O9Ah92lhhK^{syLIyO>p!O}pr_KRClWD4%; z?akM(uL%hO^kB7$7nvT|GP)D%*pTw}3$dPz??}Dd4MtC`SmSP8=Vfh=`PM9s2fd zm0b(W6wOadOUuH-O+%ws46vRP(7#q<{)|A%Or*Y#ej}_}96xWyb|7T|Fab#odqA-W zJdlB~MN^$SD|Tnz(-VBLJ<#?Bv)E=u5o8>VBLM-Cjk#(GP`gUuY?9;Sf48{wZ2Ed2 zAozRy=ZzWaZ&6TD)f!Dc_4Y=72nG_Wmu~G@Kl4c!?frQF6JDsUUQq_zUm-Afrfvpp ztqBOs2h>6{db=|XnHGim^`9L0E&oiWsM5w=3+kW7Elq6IqtFMV7Mc^X5 zg5FEJ^k6L+r$&+SSTVjBQ5$8U;$uJ>R;^E)cEv~r$6a5k{&`%HFixTrA`KRui43t} z(H@0o&wetKd!RRv6?$1=xOpl1smng6RTB_akRviy({pomtRDV(B2{JY!u2mlWu`%E z$$Zz-om|m?nz|3LEceAR`CixPMm}F;<+0OTqe?<7BS9L7Qb9pM7C99gIZsc|;_ctf z_;`O9!WtOO9am%dk+;0Pvhx<2%K$7*OcoZH)SRZAranpftsnNCQI8v-+JMJBKX>-U zV?rQ;Rux^m&Mx6nzuUP53|Q z&%QJaR*_ch1z)=T@e^YO@cXFcsAQbTcQ1U-Hxkp6w?)1;uD`%hf^Dp$u8K_1xUw3J zOG^JU?vM?xlyYY$0q32u9LGwaOe@HJ0c3R!n4TSjRtwxv%@<=)f!hNEU%@zI{=)UR zR9sk*e_LB`jz9>`qr zU4VFcc_POwA_8kI@dI0rQ6_D<>ldo%Hd~(h<2`u0nHga0vWnOlkui z{UpFQc6N3~O1gnB-2svkeJ~YRJE>nhHHGJU*Vg#dxpP^$GdDN)$mpma z9%rl^Q*c=++;#P+cs|AFpyrQR?9Y7upM2kAH-}wIn%HQhwoN(`1A#5Ra)%Y^c-NmE zczo0wjFW1X+*>u$CiKg%zE{ht`0pe~yN{g1No=khyLrP)5{hAZOE)XhHGEKFB3$(3Eq#klVddREd5o>2b;f+3LRu;XFG9%`NSrjP!Su5#*K z{D}J>?z`3X4V9%Z&l=0AWo6aXPAM)WJ{ld*$sqTjykR{qFh9s1^yeHrWRulakDVIm zTR8w%{&fc#5C-GgCPI;=dKHWGxXA$lk0&!(JqWh}Byw`yAtH+<#!oV`+@2`cQIzm- zcXwA&Ny9T*&b|*W`UnYc&LEw;9wK+4Bo>$jo;SN$k1gPz0>}Y3q|v=aMoP1Axs=$qUl21<#a23uyz@{yIKZY7(bS-Lg{_sh< zPH|YicR{}QPN<+F^At}xy5dQL*P29LaOlho|2_$qb-E-g7B-(%mnYYuCRkQ?q!fzL z{q+}|`h!Wy$)azUm%A&dU(9I{7fAch^_ll*2K8y3z47SEn;8z#^PWSbTMnv8DI}S1 zCIg^4&=S3sFKpUXE>%HU?RH{X7wj??ob?TPRc1g6U5Kmm?B1_8-$A;_mhbn~SP<~p zO`UYjy-4(+s=gdKP!9|az06E^>MbbUttp;%xjLVjWM|-J!{C6ZvtNMGi;cbT)Kn2zKKhbsufeX%&B@Bg zGTGK=3ShjS5ip(YE>aq)HNFa`>jfG%(3Giv_UoL~A3VhV*UJ{0*qHjz%VN`Wym<$p zV|_2>g+b0_pLKxbNd%Ta?ykQ~dzxnYKI|ueZGp!-boD*?PXL;3P8*^~^fc>nSKUbB zKHH=Zp#;vduz(1`)e73^7-kKG$>uyUaU|R4*YLN8Y5tZ-qn4WZqZ)HdDh6o)?cGkr zp9p!@yxj#$Vmqlu_NfYJa27z>Nk-O%6D2GXCPumKh-<5dd%`a(W z>9fArR;aYMt4FB}C~t~M^+%@mXGf==N0&s? zDq;9`x_pTI^l|9AFO|!s$jYHvtN!>R8iUhxBU)isQCbEMvL)=;2p<>e-`>GE^MI{S zdCX{Hsi=l2Y#S6}?(jO*aYGz77k9O%1nMz@V@pjOExztz2?n9cAC7PH>l8bv*JAK4 zrKQJJ?(n@EA+*)2FUM*l7B*gL>orQt7{g^ba5!xH5?=<`$+aGZw)S==cg^dn!K=t_ zV9V41#MaM_V%eztde?2xt?OM*={ro&w5NP;Ky}c`_mBU~% z-Yd^}yizRQECtGp0O(+e^PMHhC}NkzC1a11GtcGheXs!mtxoAEF0pa0zBVT@Ke)D5 zc6;hxpjAmo!Q6W>`dsx~*xFb*aMV(ZN#*NR^8C}(zfjk zaDDg%Hp}q_!xz$v*6!&3JeJ)tE`+GX-d=s&xM?poq$7$wFfFCOEX=u z%V&3KqNi6+Y7j~S`9j8J4;blAY3XRTBw0n-t2}ib5|XSB{{28KUa0KW)l0}!AZ7I( z0Cv`~!5rOcnfqG5x8)mavo$E7o?5R}>wJr9r3(WrCP(9;`jqQC6m};gdYJnIV_IbN z1`Ss5AGZtV${ql7h3MM=BNt%&1B@MDKp(XIErUO|Y3rNRpsewtKWLlj6u%k5m12A4 zIKJam`rwc%YA%}cF3}f4$d-WR^#HTuRGPDdl*qfjwi*87x3ZNDEw-M^9tv7aI#G54 zHk-*hM|+a2Q`6^b#JYF1?b|+-e!*Hj42mr;kIu8+9dF&ICC3FHD#VrN4HN~E4v^$s zMY7rooK)<8yD>7$x2fLe?&@h)Ew){V^Sn5V|F9cVNGyEZeRejWPW=;i6L;!-&8yTY zx8$T!_83=)D^Ovb&7{A9=9d>JuGHw>(VcjbuDM||O&ViP?1vBi@Bmi{(hzXRGS+~N z7?5QVE402REZbKfjDog-LDuu=r+V@B7V*{=ao$#qu^su7DBXH@pwWrxtO5TIdsd%{ z6DcVv2H5}Wj0$?5J=KN*?=9pbbfQj{j2>C!7HtHGa1KCrwk9mXF+zZc8+h6>AHrZ* zYzwr$#2Si`to|Vh>RxvrH2A)o?z;nqJyg`z&G9}lEUaS$FxHsVK-&OR*<9_e4`hj1 zAHrwVBMuC}Kv21R!Pyit0y*k5(l<2(g=;}e}fv@r*d zN{xsgK7v&73oF~j<2=sD%v`-5dS(B1yQXa@;44}ACexj?W@Lm#;f?)s9@@^7q++}@ z<-@Vb$%7>iFSX+acf+jI)Jc%k@DF&OKaY@b#DBG3 zEUa)L=OT5dNns$JhcFqwTVccx$LB6Dlfkhbtx0^9SkoYq)D@bMoE%zFas1V=(EKHR z*0W?T!PE&HY-|O2X>cN;#K@(oDHW8s$BL9hWTo=)$Nc>KAe}MYJ9_6RFC&LQrlf)n zrqfMMPR8>VXxziN7ojG7vcIophpeol@wJ%E+#9x;EGZY#X>dM_SMR1sp0c#E2q6>J z#~f^`GJF%WTrAJgI1IcxHghHPw6vykys9AKMQj65Ao08C_6g0(lYRGOrm=M1?nlkL zNG5eZyrAej{kmm&G^?PXPVu*I-;^yFY;A4td=%(Ugk!xxHPnANJmt7kxh?ek-N0V2 z&PiWF{rt%1miEwV?dS9H)krU4ct~pMx2TGWMPZ-Yv||@@t;p_`UWEoFWw*_Y51{@b zhN$IelzvIySl1wg{FIPl(pfZaUOC7s$y3b7o4-QkdtSSDre;$GJvk#44T=>cOiWx;Z~Z^r8Gd-$ zQ&XIiI(ITNGb6t0|IlYwbfNYQQCKigDl04JGKC6%n232yEk23>s6$(Os<@R^^QrIp zOoj&#?ttYYNU!$y8J^Q*M(f)(e*@wSf>~Nh|16Bx(bCb;VU8#{HkR?5Z%pD<{afRd zMrdl$D072O{bH>IvM`3n;|Gc-K3UY`ybF!SucQ!wY1NxKy1P&Pa%nzo8Rp_N>($>g z>?A=H6Msh_U`x%ZX36EdT&{Wkhn3?!UU1FtDl!hhHUp!eF_ld`m*?RwHzD2d=Av@T zWZ|UU7)x%)dLi@S0kSM@NF~e{kM~B1l1O8IW4Xa?+#r>y!mhRJ^ZjB7rj~nL)R+$K zAc_b3r@{D}fl0@4K!@(BV$=fDQ+ODDJh!cgS98RN+h=ZWtp*Xg`WAEU#iQobKaUeJ zP-FQgO#n3FH|q zEhcqINr@A3A4}Xu?kLsZ#Ac$-ar*e`&UvKsvG9LMQE8_u_10BWm*;BU*)Mgw!Nf~z z5%|1x$}QLSmcJc#FKXJdttphw%Y z)}0Caa2blr$lP!>GWFaFuhh;9)BT@)W^G$%biy7tB`!KYV2ZevJ9L?6XKwyDTWn6R zU%z`B%{Cids9R~>zB#J>h5QB60%5OCog4cKkYRoCcI?>vj6h8S49rtSmTRA!nF(2E zYvQ|B4lbfjeDQ$b3#d8ZJFuIhF{c%};%q8Py)i8o7*o(wUqpY}^^VED<@y`Vb{8eUaoyoZR?q=4cRLuFh`Je2=qZ)U0 zc8?eBJ23<%kuF|V!}Ysgg|k?$>U7oA)Xwkrz_&VcT zZ@l+ds0Id2A>XvqPK#7h9e%Ibp z_sa%h9Sj`G3fE3lg{|P<_s%yr)VW{SZ7p7U_7@~8CJS-8b_76Iy{whmpVRW^IBF8C zXj8RX%~VZBZk`xaH{@AcaGR`m04MD)11e#uWeXy;Mao+ku3!uQ*b%UIOd$Yl9UDLH zU`fGUach7&@Y(CYFlHqk@&lAyR+5TYt>w0{-OFuvn6FC zYMU5Qz)}?)&&?cd&4`MdECgU~i`VJ$WD{o#d6Zakbpj^`z{qO6wJcoPyF1={h7f{T zY;;_NeZdafnyXBgzR8n|4Xqu1&)P~74NVXfFj~x$=4wz>2xKq6WeZTFj?_tzRuIOQ z1l?C+T+FI;!Cy_fy2?u0he$t;?bZ&YdL-k_o`XY~8PDj2iW~B`oINZHQ&agJhHRYC z4+fPDv%F@vE|1=)S%Zbtpi^2Y)wmF+J!Q!#{bE(~h3AdL;J(W?IA3vCFlbDVKxBXN z{X754zVrP@`mV4ED8|W1o|g5DFC&+EfB)-#R|{L^9EV6iUJ{a2yBsI@ahdgnn|II7 z>V`gE4Y1*C%vO2> z5h^~n6z{2s$Z>qE>KJrtFl)ETkfyC;tXML|cH#&je#kLiJK8A&YP2ZGsL;ACy zrqXZ3wdnE&j`O|2sb~ z$+PREvIDKUqY`s93-fbw(E1qvBLb})l$LNVEv47j=`XLXMefIxjD6Foe8IuZeLc|g z=dL%878ZW&?BJMwR%4b`I@$SXJ&HIyQTfxzC5akBt=z1)W?|uWhGdk!j~%kXC7A4d zsERLC|bg+nL*V4|_MK=_o?&!WWb|zHxB~u=b;(#{4Nn-1lb$ zu!BR{wBq9v(`{@fYd80_hS|3-cz(8S!ZGqvGB|9mznrti32F(KHF{pOl>8n{AMfY` z#+Tz<&-2uZ!>W5Juync|NcW&!ucKKF>R5D=u5P!#K#gQ-wTGN2Br(2$6GL2uy~YYc zH&P0-o;Yh=G#KN=U8xTrZzmzW=eJK6@BEo1AMf-7tvlLMI+~c@;*zx4(j$Y8${wC! z5Tyv>?j(nOoxdJvu!uhVC^c#|ZZ}$aaS>wqcIF?U=X--xngq??slNVqfalh&OY*B( z(t&Bst%2eE?3^50-xxm6gP#lGet7J&`cKZ6zDi&0a5cu1ZtjhJrlBK8jd%BUW8+{6 zcr93{SUGeW_r(b31BD(Ktt2JU2Gup0^7YAKf4l&hnMdoEabLd{d9)W)O}JA3^!ah+ z5f=vzEr1gdTs%Cj`y0R@SilgH$YU<4IIJJI9TO81DXYok&$BUUJC?vNSZN#2eTF60 z;tme!{do1NJ@kpJoM(7wWiLr8aZ8^RJdci2p(&MkPw7M?2Xhf=oZhHP{cB2CKP5TY;^ltUcuZ{rlsE`lMWTp2%xB+l`w#W@<(bDKVK9^h7+0 z(R!w8zv+hY2<@XE?bkw?6Lw04hF3M%U7R++$-WVuMb7;kHBg*h8XkT&dr^OWl&_!uDedIA z*CP-c99l5P=_h~8YjdW>EOA?apOKcIQ37)?%K!-uE09oV;p2NARW1eE8XGU2W1~p6 zMxk$kL`1c`wO{aa@#$0YigP(tO+n@>;klCR%*>?dc%5U{-vfP$%K%KSQBCX}n$?L3 zaW+c13R)puulqY*N7K@0VN$21rTOCVPfo^>#RbkqCG(IA+u6+4e43h?0vQv6>87DY zQniO>{i^6t;+0r=Fj$Zs%^GcP-i3?>>OWqZ!#3GX`y9MoN(4!@n@S0b$zVej28V)3X}yj<_gaH@A~`s#`_-ro`V#Rs;#^0 zQ#Em-P`ON)NX9t$_X>33(wM0lx!@P-XZX~))gv-fMXezX%Kpau%3vCbz>2 zgRQ9=!~ZJpT;-2Vgm3CZlB4fY`_`w631-z^MVbr4J@Jp*e?n)c=LrAYO9$M`!nii5 zkCo$!2eQ2W4cKOP8!zmvx_0S#*xyv`{dK@Wrn50>IdY7XPZXUvqw9x<#6`QEn zKj+1Y{cd+sHEVP%QoWq(t-@vOwn3iS=qMVCeC8GZ?}YYpd;tAmz%s`&I5-$r_+TKy zGTiP>$zG1PNdEYZn@K4sl~5FT{8ql<;oOX zSGUyzhp>99iwFPt2CLV^{vAQlizQS)1{WMk`fe)h#g2NkTxOg#;qa>;cQDS6wwG3S z>~`QQ<r0_n)P0G<0Kx5+(YqRIYlz9)-t48)zu2{#+T0l~jc)XAZn#78 zts>&jKH+06M^3dH&%0Z}9Ns=^yeeGzB|+dUh~B^=JFj>nuwgT^V?#B5+iG^ZPDKYH@}4?aOZ|F7Q_-i}Y+ zclr=-SIyx*mZvUy{f>cdXDA)}3HSV2w0_x)-E4{5)l_ga<#AeYg1}ysKS}NH>|Fw==kKTT{tA5eeP;{ zm}(aOic7{+#Y4(Ns#LPu1$0JNPtPM2S0RRvac*IGu!>+T*s6T>bTAxvtzI?;b+^BL4pek2`O zg2InGJI=TiY?0otxPC`|)jho+K>!;_l;JR#y@S1T{gcke58bJKC5Jt4yZ6kj*B}sF z7q*I6%DLQRks6q(Dpn&*)8_KF@`!?QRC#YiK95yC;uWC45YE_WruezbPs6Y#sI+gD3?qqSZV=5oOn5Y9^-wQhFhLQ8g9Hg$Hy*L z9t#tbv9Stbmw9J=*WEF%IS34q1g1aU$t+Y)!sB9Aqy__roS%)U(}>d((ZVO;SJ-gD z#GiJx&S8i|>_W%tPK*+TTy3VRe*S!N7`aw4`>|CBHm^BEht)6PS2{dQRj)dm%L%Z_W>swg5*{vJpyrPZAjHSu&6( zWb9)d&Ka5g^hvI!RC7kiwmyGkla1z@wCfGe%uT$N5D{bSoUpMz&u`a{7RO=lYuzVj zGc-_XxEj#fDrNk6u%%^1=?9^Nin^*+XOG(&(9i&D1+U=)$V)@R)HBS7Wb!rzkOcX{ zs`(%As-cO`qRh`li#i_jO?RiR2jTi(C~boLG&C%m=T) z#)jAMKGuEqXBh)#EbO^O7SHc>yka;NDm(8p43}HQcMOXbtScz)pzbx{6hdaK2~|kT zsn)GbnsLiKjjF|G4h)paPRK(?zaG5nk=2_I$>DIyNK40!s``Rn6IsL5{l5)jWqY>8 z>m_&YRk*GktJaYa3@ep0{0UtH?Re9te?@e5B{0U0jm&fu>{0Rkd&?!i6Sj7Ts#QgW-DtQLH7UCkMwMbHwg+ zPhSGlmMTfVsR`odUM99JmI%4nfi?)4Xd4X`95QZ5_}!xQtq{}PO5@D7)$5}+M0O;Q z?`-chwjvI<#*~?AypzP+*B6wsOXsajh6(_#m_zQ>wIzNmO)a^0xBJtbM`-zZFRE=O zzmpI!$c=6~F$7Z~k8^Fm-~l_5P!}sLw~RmN#)UwuYdj> zXb+@(!P~7vxj-hXj%CkL6?3!a6;md?iL_B&5i%>SdVKe&>19cwSD$e;TfdX>c>&Nb z;RkIvlouLP($dOR%ZlcL_nkSSBu|%% z_a3He4s_kMYmuSK4AA{$EbIuLgoJ=1$5QAK>;xvyV0*S(A?I#evouPruW#G1A6X(k zQhLoxe{ljcY}-_W)PTV!F(|cBJH>z0WxM(H>-tobs|$?;Cdbn83Vj%(NzYdkcd*EC z4i06DUK9VGZ{o>d^B5%jP3lk9%uW29N%GM;QDE3Gyi;(E12%`ct46W zCJ*{?JYD*RwCIFO@eZskS(aq7^kJXFlzk=te1cA)d^73Meo6Tf{RF_)<(Ojc&CBZ> zzc}gFzq4MFk`l7egnZ@G@$BWzcYQ+2W+_MoYZE>>^rk(aBopwOB~Kj=Pl6o(_#+jk zz4IT$Hl<$^L5xD(GUcm4HC#a8Mh4O?Hw^`{XE3JmY}E5*oS>T{9^Jte)lmTcXdmOtLTQkpfEIrKGCfDD_+pU>Ra zy>B1Q>3U^I7wVcb$kXoz{O?A+-ybJ-m64Grp`2NJbVFVAwn;_5-~TPI_ATzU)k0f0 z5nQG9xqc$r_)oMO;9kk{?8Qy1um$km@23yj=v=<(({;^BmM0a8-fG#Tf^0XTofjtq zCby~rZ##*LtF_VHe0g2;znAv*$PJkdQ~U`U{S@jq8?LG{&kr_7()vgT!+A*qDZ+1J z7(ctXNCUw?Z5*TXdLG{WET8=B;AEFMtW4yFh}~be;RI+sF1aJl)06a?rvEjuk9Bw+SqIsb{&^K?|y0}|07O@Ya$@pI?i``Lp780bG-(b`PJK7 zkW)W<$5obc7_8xM|C z(<7Gnq==Y^P%n6=(M`B^$UyVu_PfJa0b)bpX=!KoLYLBs8Z)`xW z!|*2_m??W#_`^f3S)%yQV_3ad3}L?Q}rB6#e{}{{!8EYxFH=zt~2hL0Rdg{ZjP(n zabb8#cKpX+JGO6QUeSLkCi;Htg9EQI3Xyz9r6yC(h`wMQDO44l1WV$LD{HQv&dYL-Vob+9tkQw53 z5-Z~BA};=W;;7qXsXI}qD>rIvv_}g8K^?7c91?dUje7*CePrq5grM@O#v||q_xSh( zdWD!_h^TlSIshQyVF`vawy%CvD3{Ynx6Gf60;$3(idG7EOg@bod=< zj0CptOV%@~ym(_|o4)!6k_ZXH?X<;p^+8yVK|VHXWOGnyFdtp2@0+~BTd{=jZ8#iG zH7||0F6C z+sOf(NWfzGhcRECUPW<4o;$=XJ6z`Nc=e=UnaoJnl+dAed0dUVrbVo=k%orb+$Ab6 z3B)=$kcJtuahy-MpCV)}lnhD+%&d&ruFK~g=tA^!%VGCa3Z2j%VZkOtOzAu)8YGvyypqXK&+I8ALThtgr?Hcw0$SV=QWyP z-*Og|U$`mH@sD!T5CHiZ*+}qtCF#Q^obDiSSlF4x0B8~SQZ#-Qp$#8a3OP8CNgY^U zg{vv*nxC0If9!)-R#w)_#wIWCaQNCbN!NOfHOzm`Rq-mK!^oV4nbi@rxT7P_-0}Lt z!t%0_=i7>QW`gS*7NVySAiU^336hY17;?DaVtARxvojSikI4WJ%yd-y|et6ZhyWIfmHfF zSQm4i4DamhJSe#zr!Ny>@nRh-!goIcT0HEi&s*PT+FeT1xW6+wzf{jPA(5IG6c0CPtRF2Ym17DIcPMA?~?(BZcdX7t?~ubaHBg^*Fbq%h9570G-4$8N!>h(bpT-!b!ZcEx+QvE9H{o-zkGMxhN)Ll6Get-*1~JKK3dh_mF8$%lXT+lG z+cyzAw3&DA!SmPS3vK@IcYn~Q_9LaR=g$9H$XcJuDkZ25O_<+YT}_stM$5{~yz#Hq zP)P5X1u3FEorq4@0GuHbkX`f zqq};+KNqtrYisj*dvAb7KgIHjF zR`rn@nhJEycQ9}rTz3cF{Of|0l*2jbN$852$&Bmy(LH}jQoMd?rU)LlKPY6C^Nw$r=akgZ27yBiZ*-_mYs zx{i~R!(48yW2yZ05&){%i{!07?aR?P6n*O^`6&6r&nl ztl@$b>7ZhLF8rR8j& zfeQP<{q=3h0`r$&ae~N+?46~qt6&!at05P+eP3N!J4l9l9ao;vDPxrb%f zCDLgzp18&8^PHD7LM8$)rJ!JTXvnc~*?;x89)*;A6}USvq|6i=&Lrb%HJ7cF)AlNm zTWJ!0|b{WDtKsqH3T+HbCW2r!YD=TggCOJNUJFm|#oL8UU3rmF@ttTtxe7heo zEi!Frh=WD_H^vdwBhldj#R4lcem9y~2=aJ%BTPgXBH0(OkDr0CQ*O3Bij=NRY}`%T^g(0HOi3jGG19S~sTaYB)yYUm=x%Ci0&9DMn)`vI zM|O(U;_@>pDk^^!B`xI|(=pMoj;B7D6p!(FS-J;)E9R@&PL&ugXJKxg5IiP)7A4e5 zAt-1eo2J6FGchzY)ATaiir;IwxoF{~mL_m+n!pn;Y!RBNK+ZT?)KOEz+E{5$arVb}sY9ZH%Oy;6{Zf|XFTInMHes$OvFW(`Q z#P0K$7wAUo>H_>=?WH)P%0oaejo4gCA0zt_CckEs)Ns^tJ@<7~{=wfi1@&H{0NG}& zc4e}HaQ!`;du(h>oO7FH)j-7M@7mi!LNybICem``Ns&K9U8cupYFwfs!`+Za4&g$Y zVxlw#%?sm|o!`E-bA&2q$aVDgns5BV$W{?_+f0LPm<}loB_t&9kOtzVWEJsWHZ!IU z@Vn1;fBO7#NNMm3UNSlceWHwT(e6(?1CV%JCR1m7;^pdkLc*1)uA+iT4LRQCuuw7D z{{7N8-S}nWU4>Xq^TXC25GOp8#K0xjtoE?)zWf|Pq$=S@{SpI-M1r>0p@{&vIJYDv zM@5krBviA;mFJ9D=!wmN1+%5=kw$Ap3iS0AfR^isuNwo(w9?Y#fkKzaw?kw&RKmiB ztKap;Y@Sz)Pfg&G6IOe6;pD504RV6eI5F(%1L%B7$&bzL57&AV9qsKWDlhq{pU#Tb zb&ss+&gwo4edud|!$@chT6Gmtj6mLdaQ}j4pnnB1=LldemGT26|bG*V_6#7mu~JI0LKHZHKkk%MjoK8}7%W zg){R@TU>6NMz7vv%Q(N0F1$8gI_hB63=!&R3!nK^85(zyK zu?y}nnk;v#sj91dA8N;0oR^nU`CjqeyZ#|qX5Htykk=|Q&T?|rt5w_K%iLT1jHXJQ zea1j4ta&>CptAaUQP!Tvc=~8xQWjG=7yH5D?%7QZ=kc zs{ojkr13y`DF09flMvi;fJ*fMn3o9f!_+BD9~v1;?Zfz_zaibt{p4O}Z?9r54^w(| zWfnhhL32kQlVX2vx;rr?^h`#kM|I}-Sv&K)Tpr-Q(W3GS3vDf5($TQ;%xHVsn8y$i z5v70Qq?WX?Nel>h3%GmWH$Y8c9a+y9QJ(3j^T>!u&?!Kv^89YxiD7C=Nl9((pb=++ zysV3}Gf>4AZP|$O1}u1bV^Ff)V3fnPCF)f z8b}{}oe%L!l?pxpfOdZVNkj**`iFhQX-|_hN=_?_7AgY_doZN{ zFN?=||6X#(n~v2~>SYJ%t%%85Dza*^K`zjH5YP=UXWL!TPfHBni6z1bqvH7=+0M|J zyAi=wB~SLYL8P<7UGHeyOdrA9tfx0H+B0RP8?_>B#z~rv?{5ajUEAI?ILtL$3FOiF zsherZ=;%L^lLuAgjB#3xUl(hAy-hKBDs*kkX5Is124a$6Q{#t1=J41^g=ww0ZPv3w zLW%H*$f&5OIkyvvWb~JWbm@l$aZ#?KyUYGzGU*ma(TZ?NN(n!7Bn~h{q#`E6(`SyH zTwJcZr-u*B66EK4AC!>>rlw9;(>XZ#BqYoP0{*}mD{?kn5}N<*f_bEnVx3BcyT3a7}h2SEiJ2(4M=HR1g~E|z2Af}L=r{;Lzb^* zIdL`B`Pszb3;?vLsR<$eXJp}{=vY8q{{X5N1k5d-1XDz;D^!cp%A&8pGtx4yf;zUA zChnHpkku-#y58=tZH;?fI^U?%r(>LBXv~1w4;d)Cuol#FV3oMcaI5$0qi?7GH7LJ$ z((9z{R8-a4CAnG%xts2kGLiE5IBH8M>AF=%b{$mP!2S)GAtA4YMMP5QrLu=NYY*>$rNl^SqiC%E!|pDMLf6 z?&Q+pBjA$S*1DO4G#6dCTii^Z2}4j~^m74=jRQK1vg+DAZThf#)HzJK3N1;b#5|+F ze<#=1U+(?pk8_OY;_UqzjEPJ2u-K*t*gJBvOjf2x@Z~*Il#~pzb9Ghc zeHPqG0dvFU-I5WG;HEJ+-Fw)So12S;bzke=)Th|Xg(FB^Pa&{!rAMu?Z2hZc3`wE{ zJoXm=Q87hy)*i0S%*@2C+Hu2APwyELvuiz-mB?4yopXOt$fq5%at(#m$vO_%J^B}J z@cF7GaCkKo?fH2N(%w`1L{o}5_lNxE%r4E!dM3mrWHsI&jpBf<^>U6KfP|+Ya?u}g zVGKTY_V)F=zuloaHT79V$FozNc5ZrR^+_v64Moic=y!h`o=R0dgakD@`heuy2T-Ic4-0WF9`+D9c*MC1o za}pan$GO=g`DIMQ6Z73V_{JHWmxz{?%GS)^{Fmb#sG0xc5%HSqzg(t_N`5`ak(unj zed!>|z|cpJjMP=tom}XzpXCit&8bc)dZNYTGhXg&ZOU-t(yfbj8=J=b<9AH<zlq9i;RdU->69H9^-s#scAuj z{6icjW@X%{Ob67WkZ~sr1WuLB?}Nm|x_`N-Yihoi@l+2de&uX zM>;4zp3hdCA>&UQ;iu)h7V0(d3VWR9X*hOQ1Q5@CJa-xlqR?W88vJQ|n~@xzIp|dw z-eR&ZrGKCZDTx3Gi0#(lf_#RR<__0+`BgzKf%U0f3&XBD^!jbZc!u3`YDScvBPk~7X z<#xH_a1*L>qIR(k8ZWbKYy1*G<+iNoFL|)v26&$)J+aDKT8ERCg_zW%`AFm8EDl;J zN$q3V8#i7@X6hdrk)GFCRc`K9@=FY&Z-70RnQ7|jS(jc>TRRQJK{k}}{nJuQZra63 zV29}i&_CKhe2tCOJhax)NvNr*NgtbyzhZ{`*v&(7HOybhx|mhcG_?oopyoPeeZF}p5ERJtmJ)@{Jy0|OH`^QHQGd7rn< z=C4nl%<5k5P1tYwtfF(3vOyGf&I{>G-JF?p$-rW@9;P5VGk$91<)ten1(E)9c+>xd zL1gzT|NN|C(ZRZ{wYxJ{vqs;vt##Y3So()Tyr65c!i?L==Wq9CatrImiaYX7A!R8N zW0(7LSEsot5+~CEh0aztagctm!Cv{FT~lSd-@(l5(E43^CB3`?5k!vp~Ud$u#*eTbxjI%qEx(tVxJo$3o5s3H&c|HWuyRQHm?-! zxzmIDL#dZIGRG0i@}w>Yu6mnm<7&>z(n6 zs`bo6Ar|43japsZSV7o%cGbWWR2P_NF2`5KlR|=TPDvV$7B8XP< z*>8p&8&yq!*WjGkI*f=}L|E7rKCYDWjFQ7)c+j{41gQXjmy^1g%+}Ls7loUd7Jq5I zB*@2iB5+u6b%K$kt`ZL5*awQ`L?or#@<3)7{*rA2pvyJ~us47>d94XTCQyn((5@&T z*K){h&ixAZB_I;SD8(R8NBhL~BB$U$d){r$af)k0!IC$SOpKb>M9;#)VXpo+Y_0nW z?pqd?+V}+zSNQ0(DOgxTNvZarhMj_(BGt5aXJJD_QFoO4Rsf8|e9jX!L7-5FM^c`y10e@bR3n{&C~A=1(u+_cD;%2|{cc9a)1;o)h8cv}_qPr%XLbGY z3F>8+6(ad-j)FW_Mg|!x#}UxF+^qf>*B2F{8+ig_L=oB0GiP7pU+z>M1zG(fi0-!% zeiZIOgyGLp>18=wno@Z0?a1WEsDFdkgMu5qx$VdQ*~Gq3^rZm6wd z_nT1EA(Gzs(DbgD*8b=8lf7cXE(aDWYHgT}mbm|5JUGg&%T|pzB1bwnu*Co3iqfs5 zQg#S(a6R$tG;}T=lI!a)2-d;#$Mi}|$%P>81HbJDu)A6Vla_au;u2k22g{rf&wu<_ zyp;^4jA99WtqVQ;3>1fa;SD-M?d26&BXI*?*5((oG`< zuW@LI`N{LwG?F?x`Obwh=}ry~< z*O;r${u|aLT3ivJ#RS6$LzxloZ**F+HctoBrHjt4GVXGAm+x zhDGh+i30lTJgOuc+4R(4&r0*8y0S87gsIEgO=BaVPh??v`{G!LN(AqNS12I-#d)C6lA)<8$4T!oZNGmW&IF4QTxIsgAYoH+8aubX8S<-q40s zB<@t=CCuy8DbgfRIv9S@ibsKpUb~5)7mF{!8#EV`U`>3xcL?&G<@8bM)zw*u) zd+{uFz2{adSwT|qUiF4AZcBGO&u*$hJ-)>DM49yqvBH2}s_QDT&9o5z1cnMY33{G8 zB5%7+vpNJ5Y)%Sxpp~pHp!qmMg3{aCvO}^3|M;&9lOJbH9*I~CKA zwPPK7>ELDv@>HrX-cr<(Mr22JE3E!ta0p!jLj=`#MJ8lpAS0vnADgZn6&HtsPZi#$ z=C#%)zC4K2^F$uPb+mT2w^K}ec^;FphIy4QwxxI3c51A`yf88CyAbu-DhTqHicOFFKFTE?smikui7f;Q zh2fz(ksnt*l0;DzR>3{p`7BJTYmY`-DHJ^CliT9tHfpFw6S}gWF)3#n5!RibH^2^a zE-P%@!F=#U?8KHj(!Da?1hqradaszQRk^k{(s=hS zsp_y`Y{SXXRKC5hZ)bb>`mSg|X+RpYkO`bS0HT;!WTb4a;aiC6i;G(JhSTUjPUg+k z|9^Y`MFmpskQU2qQhnkEaNDt3)`ZvEEnqV; zG6suX`kfsE2djt#k6d^jF*bJ}6Vu7gE-NqZeevSq&Q!%T^y;PStXp5&8^az$(ew2o zpqCqGqgi4#aWG}u02Y_suV26V_=H71ftmEU?fv#eq0o;YGy6+ziJr&VIGRtcOZU_9 zwbpJT(5(f5FhhgmGEN}ay44*s1YEc7or<}X0kcTE|jve-0ak1}u=+2&< z9Trjva2_;{-rTsdvsBTWjg^&1;x7ygATXPk&JjS&UURmp1+t#V$+zk7&CRn@HXi#+ z()jG{?+;m&y?K+_9k{YWw2CDr1_i_>gO;(#g|)sl-F2CpL8%_W8#F%-Gga5o*;(!w z(j);TJ2B^uT}y(RH2QF0;8H&4+eARJkNW085MRRY;6MqG|HVIleb0BFy0a5N?4^U1 zxAd})x%3;O?-5ANLAC;kYi@j@U#iK0w@dL1c4ud3rKRdmW_<}5fLM%d9IqjK`fL;( zNKJxJmV=|?BUVjLk5f#?r3n~`Qua~Rnr=8a^JCia%KH|&4_=MSPF8-t=Rrp%@_2{O z6LNIAPtg4tdS)!As=8uXSV#2mA)`+;pY5lf8}5=fTV^0FzYpGS?O}#|W*o0|YqNjY zQ+$7^)ESWI(wi{FiVoC;%Rl^X#3m~Tt6ggg1tphB9^T^m01)1A>51Wj{{H*b%8D_A zd^}KH2G|;PJjH%>TptwNR z2opEW{QuxR)^TkHmx;+~6^bizA!(X9^gUOs2`4mO?St+Tu%ZbG*EBhA%fCwza7Tfa z)tnXexl5}VQPWuj9hA@-AWG(~f;ii{E~UP@twdizQDbT!yrotJ;32O~Vhe%A!YL-> zrexaR028;WYGO5@zyJ5>&fzL+_=UX)i-(W%SX#$WH!%X?%-oK0HvnD7{=QPA5uPF8!hHa~xBR0kacn?vvYx3NceKVL4ESXpdW z-lHJu)Wk6PSjG_}n~-qrT6wzGkEpxrv|NR zklANjUqo2QdIUj%qm>7_h`@4n_{G^bI9>QS*wni9Vk_{(bw?-?QqJFymRu!F@bI~zWP#7Da&PlaI~iD zvGd+TN>@=wF-DL!*J!NfeQj1X-o)(he3rF75H2OO3Fc^H>vG zg;maDayyh zz`%XRs!A^6@C+Fo%^7305m=#l*WwL|4y2sjpf0h|=|`S%l_kk?NGqNa@~ z9T!hS)0+S4qHPPN@(-M$0-m_6g8}Sp&Z&#Sbr#|M`SWKyiQJ*YH}c=a-13TwUKEZM zUR-uz^*k37J2~3;iy9m+?k3Ubztk2C)MMjnT7!}*&GsGQyg@9Em-InLhd+Y?xiS-3 zcOVMsD-2L25*3Jo9>ci`{L`?}PG4fzoiORVOM7pY@?rN5R-|&@?3P9!%zYGgqKhY# z;&+E=!_V(%)?LE(Q^<>XRMBI@*AjmT@4`JV#l);kOidHF;otQ+V<-e27Sqg||DKeS zle4!U059-|2;{K?A&>2)(uu~QcR*IY}T2aj+SP%xg-B*YR&w zwd8~0Gswobid{1F&6deAvnBWFRmMm3GVQq2I)Qy(PkC-jQU3IJ`@ME^nou6}Sf$?a zx)aRM$`1oF2T>FKV>Y5s@!56vjaH^%SL`(QKndhkI(N{$E_PjCJjOTXEvUv?xf?FP z>Z3@>#Y=PszvkgQC7P9kGWQ)U?NTEmOB&u@Z>c}El)yxZ2qxY_ohF-dh229ta5zxT z?BnI;1ly7r-UlUvXwZiEZCNxt0s_Y*0gUlS-X=+D-3N@EwJ9mqghD)Y{^L*l!^RKe z1?|^=*G=U`b-cNkXYK6Vv-{ChFFN}8DevIW4_ob;UoyB@_tv$26e#CJT%5$VRwCY- z`kA+*Jz-^SQhXAjS>e8BVt_m!am?EQ#Nff^ub+}17Aq<%*KGv{HkW6%m0i?o2c;Zg zPdacu{w{(H7WFtdUkDppeN^W!dB^PzMw>X=&$-kcd=+)|;`_CbGb@l)i98ATS9eN? z1)2E@;1d`G1l&J5f}nXH{-n+@d1PQzF)ekaym*%N|Nt=PXiu09(2K$0i21phxM)4H zt4qF#Xn4eAs@f`OXgL-Z85!0JjNR?8mo(*>=QxJxx<>I*`@pvMS}*y~NH{M%*<*G1 zq4?Z=TxA41Wpo`jXQ>zUsa)#(8~t6T9yz%LW<0d_3iK-P-We%G zMT9N2cWBnrvaq~<`KlJx;GW2LO8AVu@Ru0=pAv$yZtC8~elb_?mR?-^5G@>NY^$i; z`k7Vqgo8SAJT5WvKH5|JAK4mHXh)gB3kjI7U14FfA-4llz8wD?=dlO-MH8jJ!`t6hT&=WN&$bB>`q#;!?{hPJrmGUo{ zSy@NOATj@)1=_ab(~?E5w^9(MVtwlw+kqv%9MV<#G)j_T>w*mPCy+YAnJ63Xm5RVeOo zAw{7E#>UJnEG+c&E_?0Sdc-W&2G2n&IXfft>W=o0D(OG^tQe=~?YxxkW6>>_5*Hsh z>UxPIwAQiYp4ui0GN$i%8#9mMxR7*OnZ(8-mOma)qfH}f&8J+^{3U-xMv6KgZvqHn zk(2v0J#Be~$jRww7KyAwxZgrksD%fUiX=X>YstZ8D`?Wv((37Ek(89291Hs2^Y{hV z&s$G`=|LGc`{Iork1(&9l@>BntgWo7sDwMy5YDYByx$^>i;foH7d%(!t<%F)IUut>IALaA{_Ip75AKU&3YAS`2aVlajyQGp|Vo(P<6*j%%i? z?W=&93pI0g#+C+qF9EaMq^$I@U4M_=h9C|mx`_MytnE4MnVGew>QS#=wRAFf3OI;D z=Iv3NZi028?Gw3C>8V3c$l|=der;V`T+Fj#_pH-vIM63Dvz{4i%}5FkOys|v;!TPkwqi5W&`1DcpQfg!Ss*uO6+a_Kkb1{I0Zhj$s{MTqo-&>uS$f5f zA3wHt5i2w>H(p%C2W~~Zl7@l|Y{T;B*@)rF%5{Wg6i}xsPR01^0A{ox8$31kjL?BA z>`mqn7uV3q_GIJFp(z(wK24qJSR_yGqc6U908M6q32vP(YWw}ayF82Q zuY_BHUU*=}vo`F8{)p69m@Zo@s{Na$Sm*uwJ+8%no5$n={PT%h7Y$q1<|wu&CH0A# z??Uu+bS4_D6ctsuczKB)J-UlV8pvxnIUf8_`w_MHzbzQFa@Pxw>il6^x-sOqbpExK zg+;aV5`K^N&;knyDtYB1@6kygbvwyxS>|Jpy^CFcU$G#y zX`R4x3?d}oRsp@^{x^p7_~cB}epbcgD*~OXr+b3st7*Pa*OsO^?78u_-)?^|8`8rPk+wAV;be)HlB7BhvTLAgk&HP|sX0DH*Jdw-V>f zG>Pnv7il2)Q~GDgA;peQF2uNFl3J`c^NzL;k|i1 z>e5yZQNd9KIoqDo<5`qZR&E;~Kl*RM_%Tj)?bdA*ljim%hg;sNGe3LgQV^dsvUn-* zmjF803YjT#>6jzv6Pvht6LzN2`aR*v(<8&&cWP>=4Z6L5%6MgzpMSO9R|negKO^f1 zn!a?)3%);*^ zQ@mm47cFt&4z2A2Oa4&-Q3W_S!F{YbtSrfN8IN@8U7{?}AdtHXo^xx2ql6(_=zphv z@t#XEATIn!pGFu&$;Cm#R957(ir8jFe}DCq?8EPrh=tIOvzFoMMoqCROd;ea z4}%XUqWtGATOk4J@HFEnqKN**Ff1SnUToEJuD}uVCH!mm^f&2QukEuFD*lI2;d-yl z+uIpWDv{w4q7FwNlcL0%C+SH9h;$X^WZrb))qt-)BuPkA*N)PY4Sd@v=Dt85s;e#4 zu(8m>q`$g-1{whzzxb)`%U$oO#94EV^e=R!KH-gGxQWY!g2nxnhk)^YA!>Fg7Km&cOI>A6plLGIpS>U(}eb2osz2Hs7yLORVIA z5PD8Q5upabhUjwvHcN17q9nvuyf?0ad-`uAAr zJ~s~Fr>7a)Kt86ML=r{}ayoR@CD!wB@R$}BphTL2ECb!IgdfF4YrU7~V$5@+A{Vhg za5{eZQKuQ;1gr-Ep^=d>oX&TFm5Ef9SzepOudtbW%a)oX=pNWUG&Ly51ADss@^+yF zruK=0^*}<+UmlPy5#-gkpgwwdQr5UE^Oje0HowQw_LnZo7`KQo;dcS9-xl+r-;5P8 z)qnTi3Y5Aq3$F7EB%-LJ@k1^escLZ0e)%g$JzM$Cw=3qLO?>Py*&rVDs4epoL4Ab+ zI;9ADk|_2^CsM77T`(uq@@Kj`UEqt>G6Ja;={!!!T9ysx&4*FH$@q3(%L2TdzJoe^ zZ0}r~SieF*CZwA{W@kyOor_+tljJ=))^Zi^x^ButQm}K!%P35rfsWO2YDkEUQLG_4 zR{0$P9{x*@BDZ6j=M_bfBcITJfpNsR@?cR$08EJu;>dqCBqZL-vKrV*hYoBcKlI;L zHChgLN1lr9?^AKvl;q`+7eAkjaparCFfK;* ztsD$Xw-)E-77?#a2Z+l=?b+K@1FnF#WPqbqXEGDnXRmQ*`5bIT6a~M@GoQ~LwF&wz z&;Df0bXi4sf8W&k(y&!7Bb+OeMGMI`uk6Kvm~PP`SM;>)>s#Z+t6f_g**RqNi6YAN z!ou`_)5pf1#{D!s6dWJbIN5S#c=t--_V&jzzhg};Ed}?xwf==zuaoDXNdm^Rnxh4x zC=9)WZyyQt){_V_v^1l&aCM-R8l)i-Cn%M2B zBe4JJA5&HAPjdCn*mwnpQUK&gZKIaOy>tu0OS?B5$0EYRJvgyS1B^b3R9hNZ30gIq1-tjHc3Y8E^$!eS zVc%=->MAbZSliw{AKS-bj_lpAHm`%stZsLI2Z-?P8=1J15+lx-3k6cFwl7|%%Vk5q ze&4#Z9a0J-$G}N!FmrR38yR@%K90MfOi|cWVKpT(;(6>2Z8)to<56{H-l}h|vtM72 zsYh*lB#MI6*Wn?q=N0P|WQQ@d5*67n7r20ms>a!TBF1NVs%1_P@yiFU977Pr6HeJ! z;ry(uz2Ba=^kD)(7dyRc^e#pnh#Y)~2uY0Ov}%6rh}9Lo{1>A+$xB)S!35D?v;N~# zP;d0Gj-zA9FT{lt+-8BmQCvLnlm3)h%izkEk&%&>rlwa6%x)K+kM_aJK#HFD)hn-g z%%<`2yi%XVE4VWj%=m!tMAeel4WeC`^=yf1xw&J=byrA9SqHWE$yB7QK;1SsIy&o( z4P2&^sY&YlzWa`rq9X6O@wkt_GSC9Wp)wFGWH&roc`^t~TzmOGfZW9lwBqm(%;gc2i2CC;;>FN0D==oNT zf}`D9w&JlCGr37bckWz9(ht2;;Nj$zlliXjR!&KIj9hHM`Y=+*t1uCH{&8YLfK8*^ zWGkcm(enH}n5~{i{geRtI}+P=b}`p`A!>b;to{#eZyiTPm4ppbEFm+R- zoF^S&Dxk#MM9avyH5cz#1cJn$JVH(y9ZH4VO~$=w8NXm z#b--XXO0J#pRXeN!z0VmLqh(hTtFU7A|id6-%wtAe=7ybh~eq(J-GZRNcXF;sh>Vhc$?LrU5B+T? z&uT~a-c=rzm_U=W_(u)Em5#e9cD;6AdII4Ro6_mE9iXKNzJ)1o2Tz40?)T4nT02+SpnqyAk$mjTkEcU_3uc#1Sph( z)TY|)7a?v^vZf&+(#9j5{5*8w*4S^gZN z?b7nZIS!4#$qQDqH_y(?LxrSr{!MjeD)-)6+B$im?&&iF*tHp32!x?2b%}2F2y#<} z26-)r;e)S!j&&QKgFsn93|l^dnpYHRK z891MBx|IP!DFNkRv69|Efa~&%6Dv)QOEsI56o;?9dpQ))$u~JMl@b8#6k^C0@I-%; zp)I(N@-p0T2+vXgzRA%QDdT(jl83US`P;mB_rm(GjAW(5)Tw! zG#gSefQQA@wRf2)3Cje;S4CU8RYo#WaRfs}JMw%<&o=Rh%d+hA29p&lKjk_~U8wq_B1WN$xroTG#KZ=|@l6O4!3||JRZO_#N z^y7~G1kUqZfJCf{l z9y$?v@~_9s~8x`Q8B?I-a^R3^gNWOQYv9$~NQF4GlmEY^k#|O{H7tnP*vs+|w zPZU&w+-D`D6Wb>SXkF~yFnGV{XfXLc(Z)Bg?pe(|p)ns6M7h5D<7a1(&sN&G87gSxK|vB`r^ zozc;;Dnv>ba(tuo6jD&&#iHwbau*sD^o+K+4f5$|SzA#U5e-REMTyGiIVg)|M5p%@ zUk)$Odl@{uBBGo8%gM>yaTv^yf+BOL zH%4gio&NqUnULYJ)a2w{&vfhd{o#?3!s62S*hDJbrUq0TbZqcu2FCm+(9fWLHs1!X zPVL1Ve91O9i>9oiWZFLO?cMTw-M}!`HeqxBn6&EHJk-AOBS)Few)vvvMbl7H(vFUH zS)y9_LzzrRZT-Hrc`2~`jk_LtEu8T6TzPtgtwCBw&cwRiV+S6R;BDn*x)ln=e_bJf zUZDX0lN&n{q)4uK{@bGU)4I-VBO2rWT|LE)Yg07yYEXSBltkAVeJd>=TD$Q8^dY7 zO6~*p|73Z)h=K6_Me!ErIALlk+}qs&U*Z6r;DG^JP|k$-#npUGP8JszpVO0=!;XA` zf?7~il=|L$ckV( z)~3!}ZR^n>AXA{03jI4x$6Qq+s{8M~iUh^}S=O+;2c>UAE1#TFHs8gA_-QbvY;IC6 z1w$umQNY)Dtii5DQH@i(Pur06y$AomJFxIcv8Ul79S!*^j!F}Oohfrr6*aB<-4kbn z=A3u=ZDp$B@@<{<9iK;>t<252e0HnC2Py!HC*Wy%^pyE`ukDdEP1`@asLCH&Rv0Tm z!0X`A_1hkXN}yL^)*WGqQ>M*5q5qj20}-;jYZ00V#7NqI#=$OQ%Ub-ORDRS|9mkex z&bX<+x|x77@tEV{e*8H0?U?ft8E`vGtS_I0PThh&C!C7Z_KU5YAaFrg&p(?^0z{Q ztJw*O`TDZ8f=E%)_yolnrCke4F)>jq80y=$)Pj7)_VoD#Y{)B{s~7n#Ed(NDhLHDr z=FzEfc1OcQShO5piC8|0h$u-*)9hky#o*|TDC8ev^E2r+I+^Spd6tyGPzm`pMU-GC z*`6pD%4*ORV5dO*X{+ngd!j!Z%sK;Wi!Au_4`DCE4$9xQzoj4_=x?C&ntkZ~T@pVX zD$qzBSKcm86^pcUE`AyBa_xkAU^zKHjs66XYV;MX%nA|{)jlbpuajb2*LQ*EGLp)t zCn9pTfpo}n@w9jB2ahXa!({?x9^cA5kso1gB&?iIeMZ3q^n4(aQqCrjXthL&Prjs| zGM;(yVC#D09UrpJJ*T4^bT4-Lp|$2fgoo#LfI-dFF`45y#t0>8@O(M1p(u zC?=o6pCU>s=5u#jikzg~a26$}<-63nam5!YAFz-g`OFW_B~lookilU4c+b|S_9_W$WfOIywSG%6z9s{E!gue!fX_#S%)-`2e-= zpTvb^mi#zv?I!(;QL}s#aEX`ty7>Sn$7MjKd`_G4!^tp>@6f-hG&MtJkDIQ zvMI!1E$}^8vHhlE_|_2&!XIQ8m6XtVMFrh@aJQapN84^{R76SC)YaJW0VSMhw){{~ zNFHkAU}S`@U8-CnYvA&l4!g*^s8T|{1S7QjJ_hmek#DzJFTsI#D=yFH_q+|!)>dB{ zt*{$=sT%b4JPzS3PfBWFf6m)%_gv#SYMN8k9s*=^uK&Tb6r7+LbD^F?>D47-(6$O5I3bc=b zIMT)Lf`qK>S9#kO=QZYXcplgK<0vjh#(W91PW!cmH%_+^#lVCZSYa&i8f{BrDpi96 z?NTA3{a}aBYNh~fg~Yxx12EELWj*E7*k!)G1ww$V^}XRIT!vFqDv-?5(gA5ER%Vct zPC}t)++Tbn3aO<^A*V0H_CrAmN8nq7^!_6`r>`A%dCL%a5pbEa2T5>AA z8MZq$&tkriLv{Qgw+5bP?7gF-^V-{t=T~K4>uILftlHf*9uCy|SMz1mw+9W^k200d zSyWZk<)Ddvn%$d+z;C#3xTdD&aCYJsXpm4v9Sx_|zkz`IU#D=uOf>>R%lsuw7o0{y z3?dij$m{DH*04EmHD#&L6V%Az(o*^@`Ns>L=bM{GC~uZ4%m;?EgXj7G;J?AEJUUqD z<>qDm@Qp%;yAiTyoAU52CZ@^f;O>F19o{cJ{bzD*%HCe#zB|a* zwb)C?Io|I>m)ht9r#sr>gxVkOu<5<8E~oqh2f)CydKBtfR5rH|YE*bcGLPpeD4G)L zcwe5IE~1f<{SxRk22E*#t^PsT>Uv^MkVY{*SCZE3`Sq)+pdxc+{%Tn7L*^r(?wJlf z)RvV+a@Hf-Gp$iJ)YiN|J3DKTFJ6y&T=*rh8MmHOxkh!dKTAtX8*r_}MN7LdIjF6r zMa8-84Qm1$0UHaeNsd6grNwO{(oYB*dtKwQ(%!+v*moP#m(e?eLA&OcdFH@L`&7DcAK@cc+w3FDop>dVMYb?FnuFfL8mRkAFu#g?uWn z_v*SiG5?o8?VhliJ|tk0mdfQ#02RJg8`I5aghTSQbq8(Y(=Z35I>%ET4^1y?GVpN# z76uF#lKckwFXLrTyYis+NP#<8ZRD+F#~3s9u=Pj!5F*rd$PEuDzJe6lcRbbf*It1|#+$Q9sNIeXJ3{NqL2?xH2tlDW4u zq_@YPpGUvJ$K2RvHM?3QYj&+GRkJx-9{luv@w)XXgeJZy@4@*duyp<^%qIzJe$Wa$ zvNb$$dwX;UAi~rywSd)BhTQpDpe?V0+lbZ+0n$v;0d z`Mlu)gnx&Lg+<6`vI+{WkWcf(Fjm$YU0wk+J^8tO7lmHqn@~Q1a+?fGl9rhnRKMwI zJrh~-Hb^>)Z6zSK?Lq%0a)-^DUlPjTq!feXv!8TaldBNC467E*g?C! z#J{@BkGh0tf|!`@IXStY!SeKGfc-ryJ0CrTfPjQ{Dyze!n+4y+&>jvUku%^GbV`g! zOG#z$`QBgmg=1h~fGou^r?-@Le-^Np41Z+bqE!H6&X=JfAaO89ck@SH>8gY$6OYho z*H4L$w^jwG&DWC8pY3IxjDjsk7FvAlC$~>PdNMsZURYXqXuI{B-^uf$zj4B}T(|Y) zZO2l1P27*19E0hJ)#INF`$$eM;b5QBYc)RTbmXHE3*+JKPED~*v9X%UU#TmlpY0n*9#=Xz3p8#cJ?xjMn69MasVHFR?o5EMY7LpCd0y* zm6ROi=+oXTr6k(7kw=Y>nrJH|ajW6#}vwwJjLrX#xkkC4Z*t)T#KtKrnE>qjp;qJ-bbm>**}AtM;D$aJO7FU$AEta zfGFg6mlasroxq4;JqmV~`po7Lte&vXMHahh1!>u!Z`5L7*jxPH$e`xoL6hOgklEhe zr+!&^=;ZnN(2N8dP~3>G7S*@TrTCo z{83l`KENZ{G9);aFO%BsZoX=qts3yFL6v#9QNaAy>e>&u<-)5@M9lodIZrpgwCtv! z>1`&=@$r~?Tdn61N=g%ynji_ip6PkmKM`e%VKJTAxhGo0Q+=rdBP{&om%zX%0v;U9 zGbss)5%R(EI$#COj;RUbjiJJ@|72sO}qg_l8u&5BOSV zI3DZ<=8x!B?;8T9U21x|!`9`602CKi14nNu(^*KD=h8w{pwyL9!48O_aiatEM|a%t4^7(gyF5W(FG z8}Xn9tPyrL4mlUc3=ZGWif`}ZH6`xsug9UVwyjcdESG9lM{BBWJq{~KOZU%oAwzzH zY%G-3#veaa^amTOkx>re%+h5AtTWifcD~JZCWL9#V70qDPy+2}zAbi1umv_b23QQJ zPQYx$#ay2mVAwldn8W(N8e8En&z?6US6A*(k-mm&ipB& zl~r5y<8CuT24^H=x!|yLDg0oby+pnCr*{tlI(l>rM*l2J?^6OaW8ev4Y-|kM8E_b} zz1RKl&PYzK6y(H5^e?%aw61&awmVYHO) zEkV^Nhl7m)`U?+hS191=W0FfML|HmGoI3jI@LFDafw8*X-J;`)$aco01O5j<_JvQ= zNqyctZdNlhGs08vi2Dhnr6&O93TR3Va!HjSC!vf@N=b2E`6KmMU;dQt4BSSwuSSK@ z&0JA`*xwK|g)yRc`u_cUZa~*%YPLAo6`N+iPbk-Zyp30IQGF)yuOKAyuOQ^GcDqqp z`W^&4Kx3(|sfmlTyOHB#)Qvivo#mm|sLRXErJ!eXzbc~_ZK{Xf0~Cx3aI49|Cg`fk zqY0jwFQ@g?nl4Y|!yU;7$TIMH@BS`7OB}k}fKDfX0#;25lz~C7@xjybsDFM1>u+B^ zWx2F!Plp)Vbe-z>^L|J!kM;neDZ4LKz|(6iCjJbE&XAP}W7Uu`ou~4!zFa1ZV^Rqm zoZ8yKH~d#70v0N&*&N6_9K;xg({dQPt78xc*Fag4_y7)|kDh zgDLGsV=*dD&-iF)3+L`{-Rq!rbH1N#x2~`#+8TgYDcknZuVFa92PJI)m_q@FS|PR_sXw zjJ5sy-2C{hgxZ%TQf_|OYUPVQmf6V|A!xV&Ipyx=TKFSBd7AUu(n1&ek0TyO;1ng?1apXkNfW%|JN)?>AM4*AzQ-{$+m@7}Jsp|&32_41 zNi!qS|9X*E!jFW6sBc~0LrOC<|9FEjlmGSGw@2G{kj4NwGj#N^LnL6$_CNnO>MIcp z{~Pe@{x`q!m2g@B{OJF=NS_x3|7U1{E$QyoxFGb0kP{ZrS!9lsyXWTmN4zX&_rikVoU9FKk zA4pgGXd`tnVlaLf7yzJu5amF~tuC*7I2*gQfN#wK%ryBNSF98bR+C~)XE8@~c@yKl z+ue3)@b|g|R)Di>}|#*SjA5+4{|5G5F#tiDhD90`-umOFB+TNz=*hYU}E=P`bjy;y11#t@ozi z!Uv`!w185dM(7#N5I(2b=ut{tLR{Q^rpFcWTz+Y3XZq^dGwJq z*ax)y(S{chxfJ#6g#-NR6MK7svc=ya1)y;S$e~HqzI}besK{=5+M*^Snfc|GN6T++ zPRLLNUCHe2D+!xj-_g+cgx!5lNf|I=E~Y8wJOxGbuS7fv!?AmAM%*}k=Nvw6V-`JkwJ?fkP`oH7rr6P5V*pF*G8Ms#0dSc6|FJUj$s z`BI2^A$4i#64MhtmtWgL0XlJU@hNYsKVKpx(s4N)XTkt7lqGHCz$#0uy4{rfhMo1}xO_x=72RP)gE_0bObNKdsJ?J3?bw`NZW zQpVm~uXLVZQh`Jrq2;Rm=;qt+_frc)i$6c=>ZZ^B0vw`q&kLGk?-!oRN(&3O=aoQ^ z!^Fg+?kyEBIj7TIP9OaKGb7{mSJcm*1-UmiiWWeCZ92Q>A!Cqu54rtGSeQdb{>U$3 z{tDD1Yjgg-AvrCHzhz|U((us8Hs^(a?3cL4fmx1uDRb&nUwr){>9iWV=6VvY6^(|P z>cqH6$pmyc9ix4DL4=tYAIHWbG8TEAc z00V>BnM-3m8l8_)`a`$1H}38nWs9%he`niMOS;@|wAi6h?N357tzu@8C*nbYOtaS^ zo}3UE-tQwLUp$|g_4MScb6r0jc;>-Z`j)SAw5s0kr<0_HmgU&bg_Eq6&*@Pqc)0$= z-{X_?$M!7WM8Y44iHeev@nbOF)G$Iot1OAlG^jQrqNPPxNl8h=yb!Dp+?}OCV{pUv z=}cqO&UVI9=D|Pj8ZH-i&N@jc8HUZ)QwRS$^OE(LQ-&%i;BzA=sxB%f<=p>$=QHtQ zzHu%@&|GYOIRwPfQ?BAz77P*oXFF!Q$S!ZVd#x9fwDNBflM=P;M$Q-@Gnci5pGn&1g*KD`2;JT+~Bwsgri#{cx|TEF z5)$epl89{H0pY7q7Rd4XiJ`sy_$M43GQ+h!wQ`IbmT{JuY(?lq@mrqOL7Ctu6w5DbdxzK78C7W72)>OBc7$s$1mkf#=8>l*?>03{<<{Ia)+s*?WnUML8pM5(} z1f;O=FvqGhNCyB37frxp$GNL^dVJd8eH$(%CORe|uVdB4r>*|+@!tI54N)rRH&KsT zkKec77-Fu0=L8-YWo#ehgD^EZIT0CVY{Bo};9#3?^9D8N)>a~gbml4Nf`M$9Zp36z z_?{2(HoyMz7kkxV_y8hLQ*oCOJTfF~#+dkc_mwpumskAb2Wk1+k-6?IA8Z^Pt!DkS z@84$zw)j~!vt!Q$WmMQSMc_UAR#*Q55oYG`1&sWJx**{19w@xn=o(y>?qews!8y%5E!c%=caR0@A zdNCh0@>ECT9VK_3-XmPyeMxq<0bIwQUq70fxVZ|gpRqn()><6&^G~aeef$X47AfhE zP3+Cr4v3yB(`3)MB8kb!=?L}@&TayI|Jf&CHu)bUETTi`7b*Sq8N@L=9r8i*<0(_R zqtHmpkJN!HM$CCWCzOj?PbYN~9m0#XUs1;*zIbQ4({|j>#Iu=MO!(257z_|Hqlw8NpH|nUke{s`e-;5t2J+!sV!Qs? zCQ!L=b9=bmyXhNhbb5GMY5nO_hvo{&rXw%dseAL|bJD31m#>xMSXNi(^G!`RpR6;# zL5_qo^B_xmXAzTv-&z@+t)9~6JxEXIAMnIhyA=Tf_aGF;^BRC&V-!gWV0YB&WjSA8 z9$B_{LCX;wX;)jZO+iUHH#u37U5o^pwY<6CWZ;(Xn=>yzE;RXQeU!>7s!ARy-29f1 z%skT_PcHO>WBh<{ADsFk?Ij${?)~HlV%-Bc45D8oo(M{Qn9-w(lKakjGI=rqd2jMZ z9ds``pQBa^phkAP4897k%+^d!dblF)ZbdQA_+0$;oX(F9R|6LUc*hhBuaF+yK>Nr> zw|zD{INf@w4SeL~x-Gctt3@T_bs<7XvAAAPp7E=pZ?hAWrRs{Dq!UYLA2sB&mZ`#M zDJXJF1_u+{%DKjGmPR@yP?QuEO=`t-^D+^>dEf0*8#;%*+DPk@=Hh z$Gq@p>87}-5KP5d&Gv8b)E$sBb2fA0;^Ai8?STl5fw8J7sV|NV*-lPz8Gx`t$lK5q zUfwM)v-jAX|K=Z-|EZ9k7bxNCrYw5hJL|YLH#7GNe)N_PxvF|jHFs;Nt;U%ZrmiI+ z=F?(#i4mP~(TM=r*0)|+JCTkC^ zO{OSj{NvT_Wxkq9YGl+Tv)xZ3zJ4`l#e)fVgoYwkRaH^uiQl1tGAbB(@7iX8Oe*2` z4?NY>nd{Gs%E>X3JvX(tXIjvQTbVISy}0-N=itOuF0LvJjxi((AFYBNyV-i{J_Liynd~yrHcqrtYY?u z(vs7WOJf+`V`6L)%-L9*qxjzaI;zVriCHbs+j^mBA|qpI<5CwL%>;Rqf=Bc2T~|*J zM)P%jIlpScFJa-284bQutf$b~B27&=v{nFq5jk)FWR=yp3R4ZEK_vSJIOTC^=@}C< zk{9W1pZ+&dc(l_=gImZ-)~sXdJ<@PY!ar~E(QnVFe| zA)c22jH1w8@g)xCPu7)8afurPwH1ZnG(SQ%2OxKnlVM9q%}m5(9S z^VhTOwsevsFRt8^h%@FcKHT(9Oin)48-5cZ4)3Q5xom9tMM~-tD?ZnNjDbnzeeQ{Q zJDR^oqSI!V+t6TE5x$patyRs!LM-4Bmk3^(cM%?#Ekv~jSs z6!PkZDW;Z|nRGX?@yyA|ncp`oiOI7Gw7y4_h=I_>-!OrVjSXru`HFifGeHI^W=;Uy z!6Hq$xMgv9+)hQO2ev!jwhy?@uzcsaB7Sf2rKnC-+)DenGye&gnfm_TdCtigE7#{9 z#x}l#u5XPbcxJ1|TvY|>xb+DP*lNoT$Wy@MHq>li5#evWi1M63(Mxs8ZN=nv_1WB? z`%#d0dE@;l&epZe?SGJ=ZwWC!WMP~zV0hmQg|*K%9}!ceX-b8VcmCU=Bn}RasR9Yn zJ7`uDHw~o4Yb7N%tutL$eY8$e*r;nOsk#_8j}j6Z$?~4{B`R>!!7Ht7Y~ie3$X)~G&`HY3O z%bQyiHp@BV^Bd$86cqHzjg(2mCq>&>8CaN4$!JP*gHQSmMcSgersnDPPm#+(IlZ7Y zusO+d-F#|4q$Xc1cSxbc5)CU+4$d^xadL3{*)n!f7FJtbCr0Cml+b&Lh{QGW-DqQ< zoSghMF&@$F@BE}iYdxB4e$O4){>JDE1F+uGtF~FlL&3-2HNQJDeHJi0#vqCDgbnjS zQ%mSY+l@!yxiOoa0~0PJE)Gafk`slQ8CXz~kW_ju>0TN}W$@n|KeVbbE>GBwsL-4?}^$DkjTS}qo^q>$%RL{du%GA1P&;B=n4n?`jaPHTTT4Q z$SO54r4x?=oCzUEJs^P$5$ojoKwG4z+kkuCG4DRtmBo@bABB5yqa%p(+^%_ivDv|A zalw10+E-6YEm2xJ^ewH%e=A|zONYT|g09Wy=QUu}pt(4szBEgDHq%^B5idO?IkM{e zNnhx5L}}@oVDs^46yz-hePLGC?D4_GR6|&JsBO*!m`x&DxLS>;qTp&&J6a3~20H{3 z=@`wdxU%AdmwxTf>7WYRhN5|MW)~(;p1_u6T z%Rd1k{CvbC&>o|$?QnP=xRxJLTkFi}f{2JnO+yXT-M!U5XJqrwgITu<{12e^l6-o> z0ppsTMU9kqZ@kfl&Srji7ZfDkPa}=BkvbxLmrO-=HI_B8EA9b4@tFuBl4S@h6HQT0 zPFM7>01>~DN_+fS>p6+qc-n($YeBzs~^#fL9ozQ%Jo7KsfyVzJ^Tj z{Opyjwe?W{;1h@~BO{kPmnzp9m23_Ndz<@OV*2UO6I2>*O~{9v10~pXF@0eH{R;ou zjLrEAY2C$aLsK{7+Z z#IyYnD>Olc@`g+H7;f9f_DF|IVD=*-_!3WO^;AFaf;0Q40J8n~v)vYQdp|FT10|U- z9adISD}KjVUsVSbSv*!?sWUP$Z_O==Xp7&0Llnf!Ij(a?dTM$aI+ORwi>()~xXea9 zB^p3v188T+4-dBxne}`Yw?sbn<#0GRv$qHSAOHrdsK`wXmTZ0Yey-sz91sA+d4o}i zKYmM;;0-~8qziaAS#9*EdAg93cO@pq_tCz4gO48^7=#f;`&!gQylJB2bMbW9?KO$8 ztZYeH-KC-EYfD>%q#r+Wrykz9BXG&dp@;zc-qF#?ZF3uGN+pXTOATD$>%C7v;H$&Q z!9u1aFV8^1MM1^G$h=y;H~RW2sTvs>1qkzlar(T3gw&S1Ko%UHua1lUT;v$kv@Egm zrf+cZ!F7m=Ih2|3_>S>br*8r!SV{T2ND9Uuq}h9g%0Pc1CN^efqO~>sva)LN6gI68 zO-yYR_T{ORf?j)3)$U0r736sMXeex|7$m+JM0koCD!D~JXlSWC_nIVNr!rNi#Kc^* zlw<5{y6WnZS`soMN;;B~lB)7$^||gJ^_gHS?_*JTtw85fuhK8Q-HOXm+nRgdq0RWdvkvl#<9vLZrfpU?wGdntV zf7f%g@Cizyl;2ECL!(%z{G5vFH9iLc1m#_k-v$Hv;*@=yrT9XFtq$iz*h8m`W42T z9^9BpeMcoFd07mnU@e{pD+?p1+vCZ&IFQtXQL@qH52~b(m+|QdNlEE8rnZcvq^SwX zlpwRsFMnhrB_)YGBOJ3R@KHOgI8^^j8ycIMQ2p@XDTD{+^IBR;Ux+F80Nrvu%9a)n4BVUC_^;>GjE^g_vDH3SxPa+{}H;5>bgF9GFnkl zvcK_O~~iqX7{A2@`uA%9*WS($27Kx;Q+2iM`E9IrmYN_M0&j@D=zf=i^eUQ zenv*T`{h=&ZiBwTlKnqo;X{;4wzgAMZz zjOMd+9!DGojPP!g>c;%$=BC|K2)HMpKnR7FHJdNoqFAB!Wr|#Aj)%XBcL6+V19&*_Z_&!lZ2=mOOJ9GC9rK7Z~EMg?J)N2cC8$+mtT zhh8@|IUVFiMKrXFUib7PJXAj_uCF8W@=iPim)=wtQ@xZg(XGxaEmg_A8}{KTJ1WOX z_g#6QzoN*`8BXVcT2vM(7h(2F=%ny+{xbDFD>-}qJc{pu6a8SO&3fLq%!-Wv@Cx>3 zEBL4QlmEzYF2jBfVJx#*9;T;q=3z(m5?Zs>bgoomxxl^Jv81QQtFdng6;Q13 zF)yFTpN;Ot^5RcvQ+V>Y3BJDrazXuzi`0Gm3P|BL3zLhZA^T^n4%ZWmP=VWJG@plw zwHqEJ{`r-*e>5{?wIl^G(SepP%plaLi*!rA7Mj17v3Vx;t7H2Gd8X|rV&Cf>4%hHi&hKBSH6yo)URZUBA4!h#-qU_E0&1daa`IO|y0 zSlE9wo!&2LsddMT$Wxf&h|Eu~xxpQ{SVP1PuXWq`B_@MClElM9Pp0#Bxwf`Rb7YS= zvjMi)Ty1L1^2kMSIUFgEb8*yobm*7qciR+H`PBW)8qncPl@rt=b20z9P^g8ajCNcV z6@4Tkv!(oWLU8>Hv0p1x@yy>0+wOs0mzDc-jq*J8ycQQTnc6NQiK!@EYc- z0)c=#inT%-r;f6leHV`<9i@R!-umqc8uEKQWC>Kli;A`>18WO2O43Gc_QRiUFgFVF z;eyh_JvGao)-x#+Ry;cF;su+GUBUlc(kCz3BNdaEz5>L08NksBU1n`{ZEClzZ1_+r za+kZ;q`J$XPg%k~FvX1^QtGQQ!OTJA9yv_baM(H0^D>F@lTY66?TSN#$-vXLF*U6E zjEtjeCnv)9+bGy)7Y@(=v!FU=om~Q*4DPX{3%-9Yvt|+lwbThIxg$#Y}*!PM74+(6;%~uzQ-BW&x5L4 z5}#+CIvou)1DEgRlL=lnK7fNXC}TBBr>7I9vxB2FOW8@oA|o{048$Jl4uB!I+BNmQ zi>I2}){2Nk#Ix+gdawH)6yYqtZUfA*&M3Y?r;AH`+j%Q?oa~fD7Akx3aZlTJj`izJ z9-E_`9WJlq7vbH>i7XtHl;ZC&a3gy1dV*pR@{`!Uo*-7rB+wh~X3)JmR=V!)>8@5U z*)1vpR_XO8$2WH=>}5zVUR2Cl5gr^!pb<9*oo~b#ha0S|MiFoWik*U}6*~`=tFDo9 z+=q9}cql4Z@mnKU+_b@g!GpX?(R@V~%w~g)umv91k&&dMgEhlS z^<+H!NJ45mPJ*R`GAEbQ#rdP;A+<|RpX2D~3fQl|1O)~L1v+pNIA`1%{R|zpZO1#g zIMZk_%gPX5sh9^PN!H}g+uyep1a1dswMns-9QNqbbkbn$T+1upY#R?uY>A0cgIU}R zq6oPZRorh(D(4Boy+(cwGpgqDrkM)$$K+dR9X3nDfBTw%NA=@F+R`i0UU5Ls>f3O@ zPO*N!y=P$ww409DiJ)g9q8ioAm>8Jd2BDoc#G@9BSXfiaQFq-ju~bmtA|gQxF4sWb# z`PE6$5uV5p78$y7;wD;inddzC6BN|8#;uwc(z#gpDA-iqVOTt`3B+OGq?*2nSQfUE z933o4;&0;@&KfmhuCK2p67cY!ot(e0b^w8B(%T}o?+s2y$J)v5)b2#Sd~KbV>5)~d zu7H8bQg1I06^BID2RnD(*uKeyg<9JYAB7)Sp<+ll^e<3RS56z|;D955hLk-ny7f%W z;!4HQ;1XX$m0(BvQScR^fXg2v=7>w7-99NDy%DkpPy2bGp6ulvDw(|_;IaLCHCHBw zIjP&==5AsnDYnU{U0ZvkOu$!sjXOPVGAH%VAHw;wG`*9uR%(UAjczZy4TgTimoFJ; z==#&s=wthaOq9HJ7DCtZc~k$R_}}nT_9*z(CPTlqttI{mmyY=kb(X$9h%mS@TMi`L zl#02^)5=f~3}td+CTnWI%uejsdY!(7N5B7{KR(XBpj9g3-P*bGfja))Le8Q8>z_a* zPY;hUMl9O+{(|lA*IycT`)N{!@CV_dYGD*mlt_CY)qR#PEI*JHKht#(nEQ;Qc`em4*(^L zvSyCCIJ?q#dieVXP$-5*)hn#roav;cwSqroH7 zqmrW|X3Egz$w{NKQ?z>`uEwke+~?2O#kuQ>_G+eTZbqVRqM{m7xagJYB@rp?Arz}J zIN^BscuxZSNwZ0TRiU|5Qgx#`o%DbtN6Mf|{FF`a@TeK9oLs~cI6b;(f|>S=q?yZ0 z`Qq;WF0y!OF74sm@I>X-*66X1S^8NUxf`|JOu z&sHr4S+kXu892E-THBhNd#!oPwy3x%nO#?YfZvLdNd!%b(1Pk}nLP&Ey;~0#pl5f} zB3HjicXdibOI=u4cyf9vEhT4dVZquU!wB3t4-XH)05KyY<8vRbdxs-tZ zqnaA@&*WeZU2Kf0WRBvapWpcEYF=JXX6EutL&I$oHzm^1s<@pTWh_{B(^J4oY0~T# zwzh`Z;=MlD)zl^jfXUORPmdAqWN;Yk>T406Ay9xN1f5EH?p>U-Lu{uT7Er2@NEIy& zst90Cbkd@>)5g}?zWRtAy>fP6uHNeWg_cEn6_5a zUvor13%<|9eSwM?rXcx_*H`H6tFItJT;`OOZ;d^)Ztw5!@9b0tP+_NiEyd zRJ@8d5hFjzm=WvyB?q1Pd(?kp2Pg{^jU=^)HZ$9RlmbIaW#hLNuS9Rxxs$7T`@OHB z!fS%&78Qn+p|Wzz1`xvngM%-MB_sopfkxFdG=DCsJ^W^(F@~0&EW5t`DrLblNx-wo zb9%9cfu8T;*A3}rh~|Q8Wx@A>wHxZ!IKyd2JBM;3zriyxd0=d<&24NcVdkb3&-#$c z>BDRj}KmO-M!z}U#d!+ju)r{mJem5|RXH6&#B2|WChJNS^_ z7PU-`0bGuo>U1Wix}EgK3XJGCFj#G^3!O$&T<1znt@E*)HbWGEw^F%(14DnszJ5RQo1q4ktQ>W$N&|!Ybi~9<)_OiuP*;kj1NL;E+FOuA%htd2ee~;i zi)QHZEg)nS)4D*i{k|<3KAkx)H_;wJ`KCD9aYk35MvUs6Vb;?xT;H3_l60Z zkv-tispE?-@S*uRl<^7LZOEF*TJmX}a-wWg&ZL!`U|3^$Myh$irh4|f><5sag`CV- z)h+O}ndpXht)72HE>!+8wHp(IY3y(VJerfHW`UEm>!SBoh196m=}NEonu=A(*z}yd z=-Aj8YOr@#sB!fyPyLaB>dSD7)tvR$(du1aHFNissA1m`E<~=c-5eYL1l`{57HN`_ z7G1pu=knU#mV{{F7SjJ??XAPA+P-&jOb`_br9(nMy1RreAgM@qZyKZM8+H0>h=3H}*@s9T$Betb!&VJXAYV62p ztgm}pDoeh|W3R5&&yXxTC#xO=y2VAspnvlE#rG?d$2QSv>FI~}E=j5ET)ILjU%Z&G zDBqhX^@q0)nv~`!=AUY#WtNLgOr<_Wy$czh8tSUq^9DR}4PJYDds~d~0VCByYXe6| zWfc$KErQ0t0IwJ8s z#801wRa@zpN_Ne|+{GY%Slpdmor%R`BNHzpJ1Y1XFkU{rP9!2SjEH@?xv|TR{~6W8 zx7Z1~7O9YvNR$W`o##TYh}SnN54|0B8jvtLmgUF}pX`@UnDtH+PZ7=VlV7rF=5vnk zELFx^Dk){yz)(x8U;#BX%NA-Ur__<1vnn=*jLKYEWFI^n95a*a8ui)o=1NFy40(#p z+a2+CE`Sd-YGOyibyCU}tn;3@q!5&cr)&L8N{+qm5wsJ_SD=wTUF%oa!>I2{zhSHyg2` z-W6W$3#^{|dt%LBuxTg>*;FR?iXk4&bKjEoVU)|ao8p|kB zr6WyF28~_KST<~(DRaM#Xu@yVdDQy__)!JbV?{zss%TA*3GI=$Xznj6SLt%cH?JNz zd55C2#)i8FAEI?V-nZ3A}adY+{v+PKBaL^Bt}}POrIGq7(#*mfIqO6t?9x5 z8|%r@h}RH=@4~X8QRzps1r=Eoa>SMum%Z5(Gjukg;{4p_CtmR5#~Ct7#4Zgq26G`h zaL^LABZ;4uoxe7_=x`eE3?bp7Te9WPI4_wtNNRb!UwxkKXx$a+*R^7DpG`^Fj_bab zu^zJ{7O5c>x*?|eG)nJGgIKZdinXusI|T*cdg`&o=`QJ#r;;HnS$&9Sif`ajp)({t z<8@d!3L)a2&5%p`o(=%a!s67W?hRIpB?>YD81#CV{Bi7YxiXz@S;)cr^LuyimzA)! zwY0ST6z$S4Y9ulE*Gw30uFJH!a<8lf3(+O$KIJI7Kl23Lzd3IR?YhB%OP1@y8Smd4 zwK^=_^fnLk%kZuxg|ESvHrws(nPsPC7-#6X(q`(PC(OWJ+*L{Uwdd5x0Ei07$dav$ zu;nsFFt{OP1M}Xu1++2@LWCYk0~ul*TG}+-#Q3cjzcDk>;%1!@i#Z4>C~dw zO$`^yU7pAEQ2IC5IrPnv{)MP028|dNmzJ<8MJb^%uso6we(WydOGfIHz({QVoH8QZ z$twX1w)alJ;&YypZm!}~hu3>(UqV+xY*JhlLqvzY*&O$&8?ypvLZ6>lh|HS%arp~uZS5Is`@Wy@v8)G2M$>9;Bb0vp*its zYQODI3wpiQtM2}MbAOJfqC(n_j%@Yl+&M90PBQXoH2C+TJD@Kq64ZU1lohztZ;$3| zj+HVLxZ$1i32Y%F8{B%#lRIn1fw;JEc5;Go+qJf}QFUd_EdSyHP*W?@VL#ENbL}bb zFamq%jpidAhesMWyBAm1F8rYfT0RR0Ohjlh+z;z``|@PDUj6r=QgWo1my6|&K4L_D z{4lCxB||n5Uvv3(Xd7#MckhiJEd1;If~+?(o2qvsIw3yGa>az%hSC{831HlAyHgFq zKQZ5cqKX9qc`~M^)h)VF9p8O-IiiSydkmKz@~M_@u`w~tudL8VyCfQOn{%kKKn+2+ zz158Ap5UHSbr*G4b(g6XSPoUU`16#g)u_OrHV{l!+{E93JjK9^jg6g{9PHeFH9a^O zm+*z=DQbdRK3cl`X{W(q)avNM>(BFHVTVOsd)ii31ueQ82lE)N4Ad@>2M+=PIMVBQ zc_}(RBtnKk@JOllp?{Ad*ys3&`^=MeO;qSdkDw1h`0MS(HxoI9bq9ZE!CMSOV4$rF zpQYX7F!*QC|w zP#93|x?%^dxE>P*wV*zJOeELVVony>q0jQN7@prWCrg1nHm0G0G!n@!{84-N5~!PfR?OIuq@+wiFREE*XZS(6bHQ|RdMMoD91BS(C0X&OBfH4`NVSTtC82R{cb z{AYYCRxYmM0=6dDy$8f0nzNdqDLq)c_JLpj$S;Q%Q985t_gl-fBh_`c1VV#`f>L9( zI~|Y~$ckylqmkMsJFaJIXaD-O*xGXM*5@%WE|B@j#HnL^K zx|*l@vuLUm!;=S(KM3e`(x(-1k}@*`pa}|%7N^)W+I#yFq0R}WkQhXCV&`-;${zRz z9Pw9AKgDI6{59K4+1VciK0xzNElw3#$QPG+V{C5xVbxEcC2Lx;SGUmjwvNy@510f$ z1&Qmuo@!z>%}jlT=h6Q5i*P!F|n~%-6#rCKW(pFzP@!0S>D+pLSN6{7{d*w zB$E*T9P}x~#MFF<;E{DD9~YN$n!FS4=OB1&y*5K=+t&7Wk!mjRk1zvE@>Xe*B<;ae zU4W;wXRZTRe{6I(6EVyuAe+2DW?TwTCujHB1@*Z@%s^$zh>LSLdU$j+9~Z^jA;E7$ z8-bZ6-|6W1TxTxWpRGLOBW7ghpK)fN!?P`MP|Y3f?v~<+H!oFo093WKVYF2c z)5BU^6k}-urRdpr9Xn*6{r8(-Yc26*#v-4ZL`Q=(z6bT;LrbHIs5D~P<-!&A8{xrxj89agw)gqpI%Ds*bDr7i@lA7{M>I0!gdF(?fP0q4gb ztUB(dB!CDGTDn53h#uZyI zwzxbU92@3o=w1^zs_eDuf&5JCasHf|O&pq=?6lgr`MYpuD)Z>!CSZD+bp zZ`R8R-0tm<4Z4LU7YN=-F~^h*g%2OP#M(r2l`98TSOrMKD;e$0`t~-r0l|;g{&>9m z$B%?*^@t96O+|cc>{YnaV`q`ZLOndtl&>$g&#;)6hi97dTgOW9{A3}y*xFjRR#?1g zscL*Y{+8)h5ws6qU8iKqC*W&st%imM&@8MToL`yPHC|tJn;4D#Cm$j!+c$pz=g3jW zRV3lD>W?6~3!Z<5w_dZt=#_*jerVg!M#)-lQl+wT_g7%7{eXa^JPWeT?e!vMy4$y4 z@T{N86(AtIJoD-?yxDI=PH<7BQ!7je*fcSHLd3Ogw!V0Uf3`JY&L^6>0eSUm^v5>* zq4f`JQ=mprGgY%S>mFbGr#G$zp9Qf&mV9ko;43cHaZf_lowdse%^+vF|fx-H&FnLVk6aM?#`(4lYBsl@!}DC8@id^k?)q zA8{G$Pw3I*w{9cX`AE7%9P>~TNc<~YoAr~zdkpz6QvI8osO(}~KYDg8p+cIrD2RXE zC{m2-kmW-(?+(ZGb3zQ?b7T#Xqkyn|ClzieW1{hn3CUi+Xk;RX8uil^l4)jR=;we( zFiyd>?O4`a`UuYMA*w#buS%ym>|<~EeqWNQG<^$=O;bXJa>$If|?FsDR2G0$Y1H`$2*?d~{69IH6Y(WM4q4h|C$0zsK^77}3*g7}T;OBscWM zV#d`)T%5X4Igw}wK2?U3R4)z@5YW7FJb<~>PaJKC!C2WX>z77Lw=A4j*Xq|dcHOoQ z#DJUk;O=d*i;jqBf2Y&!SS3y8k&_K&Gi-m(V`r;zB95RD^URy8wHvf2PoSDwTpqh~ zHy47?@F~ZlB36#+nwMN$J}tVXY@8nZvxwlwJ&@xz!7C8y@G}U!qKt5>HHDg}I?Dr! zr^3iwnLr=g=g+A1TeH=m>)c(}I?a4bGqdwHEiGKaXQ6Fwt7CnqIU_gMV_g>hzwL~) zv@0qpl=0&GWxWgRZB``jsoRQG|KYSk=-gQZwEVhh*NTwGX;Hxy~0~Ni1Dp0T$I8XsH7g zTMhQB6;u;zU>&4#zZj|$7zx>#0vSP>-KLwf^QD`MHbDtV8g)*-iW}{BI`7n7r$0sJ z9G07Jt*<{%$&)#2R(EVmzsH$NWZl1DWmb#8C^y%FpLKnF^$~RG%yZeR%yt}Pk-MJ5 zlFgLw1dA)-vT~vI$dVxZpjgnO)xrUNV7t=BVPy^46Ibg#)bsenPArsAvrgAQSXbRn zfgZ!$>6|oHs>-DeEm$=5Ep<&ztzSZ1k73YjvK-{%Uwj25B&-EsFiUl(pb6dUtsFIl zI02B4x4fQc?pvnsL|m*V#ijG4@MJ+GAkya2IJ68-v$@`cdsl0T?fvaPhPRu(9L*6< zRXgs=36l73DN+^(PUJZcZK_GHcBv`37=e^1q~ye-oF!hBklS_}?s4rl<9A|#)eqoG zh@D*Q*MPV<{2+#>E{?5>&G(4x9*dyy5TeOW+Lt)kl{jDw5IM})DIA#9I7LjDU3bCC zv%i{cx| zKSc02?xQ0FEXqZV{$eX-Pxw*Ur9@f2RmgRWti)aSB}t$xlIRJ+PZ% zXwrrA+HU8kO$-DHZojnAK?$1wPm`KocWHNp^U0NR-ctW`rC- zJuaA8Q|1+*uWS6xquCA)OAv+oX}N?jBZ=C>ZU9f zdOm*E6XUlLCr!2J)#eYrE=B3wyhmJ z78Oy0=1An)jw%^n2=v@ojV!X4=go8*+HA&|w8nVulJvWl9WB{)aZFe3B7=l}Nl`_1 z9vLgUi&f&2a*yZOZw%A**LqdVIO3h)*TtuHk8{GS}VxChcg^~as{+=OUHJfzGA(7-^* zaZggdAmaSt*uhiHisL;Tt?2^erR)(vA)3=>Dk&|aiKHoqvf)1Bs5XaxiWClS*X3}q zvvWJRAc#H-yjGMldj!@I#gIMie+Vmr{$YZv%ERiz>~%I_h2`X|j@T+091KKE<=p7sB}1`-o# znCJc9KYBj+c=z~gM@QmWFY?~bw6C;lJlYPA>JF}J5rD<;2dI!Vl z8N`nR1KoF^^`$C5y2JfRT&SUqUX6AVl9Jcg(H>kk2_eljhRtix#UD=F*A>SlobGVs zR8h_v+pf_$g5xULYs4NF(eHa`DA})7yG4Y7Ct&Fw;^C>Aedj=a`^WLm?d_#0P--R5 z9X^4>c(tX4INN!Vq9+zwb2%uvSATRpuQ+58GiLS^9?OM1hxpuLxWez)7m$W5aLvcU z%xt<-^ad2>{O6dzIIEQu5)*wbV}~NbrH<3rtCsgJO9Cws*R>!&zkdI+1t>kqOpJ`U zJjx0(svWF+w=83@4F0;dp?6``x~{rt)wr5KO-W@%QBI}7>X+9MSU|$@_t9Wyp=!~% zu(fv85QVI}gmv!f4wJCkUJuuRYq7rea9PL)&{XBkMCWB}817ll-1TY~qrhCPUY}m5 z;1_OI$>-?k1F}i3pR%m}@xFHO=3LKu%(bqlxL>?rU`SH_(Ry)FKIaJ73;qG4Kh#R$ zA-p$bcBW1$&)&l)=J=NONcI7(5$m1IZcQoY%=djItMP=7w|d|-0CQOejXh=Xk>8uve9La zlY&U&pSZQ z4KWwQ7=EH+vuj;WfzMG1g0xzYWlm3n zil@otD!Od`4D1ttH%;uH@>*zwRlfzVU}P=K{qg{iw#q;!?HS%vE?V_*7o*k1*D5*D zPhHFO&Yf}?o-$N9>Ah9ghnf$Ckr9U?y7OT>N;x-I`O*HIzvoWHfmHonw!fTHrM^!6 zLvnw#?5~~2pS#s8t2LgZU#=aQ=MfN3dlY0AP%{Wvv~(%}*W1q47X6(PG}?bn!)54V za&r^h-MDPBa+NDQ6n3#;=>b<8lZKEjTnS$4n3{I2!CZAqCqZWM0x=@8IbGr|BI0%h z*uGB*aH1pPUH0yrUC&A8b4e~48dz0Kryoi@@wVmdF8TcR=IkdHO(cuQ6bCZ5;t%zc zb6NMx?LHWwU_sbicBeJqaFt@i{5e}25x1EEa{uUjWiSPmG!(YBwSa2+r!IE1G(;ai-`jJ8R=*S>}Oh4PciW?!0Yo`cp$9T1%ImK>WY+kfV|hE$5%4Q za^fi~tGVOte>~k57TrHQRf4`_Nuhk@T0SNwP=-~L7a%wRXuE=k)q>ad2Vc_uPp?#K z#0fF7iIa3gbu?*GYB646d^-KZ28yb|78roKb_9Rz>+6q3NR%t%;D8hHiQjeK2%@iV zE7d(e_$?E~zxkb(GLOU-Mg{RIfOlehR_iaFawM`SQ=-yWVf;tkadx02$)#UF6>oLf z71Upd`q9IOU2|o%=~WhBFVI;?_QvYJIiC_dcTJixByrzN^$&?wr%`x`@WWwe=cqaL zuw=?lO-)VY^{EID%NeSpflqv=005-UnU$4oZfXi@VlGAb6Tdx21S@BhEKBexq-{S7sxNj`rif7O zHVpbOEf)p+Xgj;o|M<~MM@}OO0IK95JGACep2?>q^VZyZo=u&@f+x*UtwC|oi>VFn zhv^$Z?hOVYw#zFhthmn1%`rX=oM}zn-8yB;b>rsE;Hk{ecR3Dfh?e7v~2?l%Ifk{t(x-#WD@Q( z0mI|0Jbkkr`|4tP@8*>W^RfecFL8?HBRHVF=GUHFfQTT!>pk?hGvDn*gmz&eK9;V< z?>LMWg?x}HFQFyaQUkXE5$b~P5hy+sEE%w1#U(A>(;JuCBP-%Iq;-8cZ60r_R_)$A zxI!zF$am1;4`Y5Um-Y4av6jaLj8qzA^kWvb?3~vc8>ieJ85XNf5cV2*mriV(?PjL^ z+TxJrNQM}1nfDVwQugSu3=bnW>)dq@(`;YpY;LWwYOXyCdeJ*}>*Mub%7Ylz!EfJL zF#?f&p)7H;ZdTZtw1t0H@T9D{4KBOuhXjnRGgCarhdk>hD zMny*g?xWfMhti9w#4LY)C99gxTvB5P$H&Kz*J4!NF$1%s_F3zT*){ASJ+fo(VrLLs zoE`-1W#O^__qgYOch-7}o>nP$)w+_T27!TrcYMEk=DM>>gyhcn;B@D^1F_;#AX<%%o`Zs>gFc4rA7U8-*I}OS_%RY<~GOPgc)B*H&Z^f-t zj9*}M=npo0`}XnU$42wV_m`j~9vGOI_*gD>2%krp7hLLjmX2ZBX-C=kAspSKql&)u zik0{DtFNCQvl#Hluo*PzA|*lyc?7-}HEM6~DYdn>@rF{opb8$(mETR<8vCqF z5f3dsl-ub`TJor+tHn zosR*BcC$UR9Y|hCdqCvZgWZ)~!^h#T#}Rw)c4M6-+M~SvBPa|T)z{;Ehs2K$DoYa~ zc(vUZgvv<$^jb2C(bCkk)+#R`093vLrPOERO4S*n1FUUuCby$GeU-~}Kdg4g0 zJKX`2lJmWrEeFsKtCpW%b9NSV5T`;#RTq^0aDI7tJy!4VNR6S^tmO*;}DB#2UmJo2-GRrAZ$d0-B0tUv6hDK6%-<8_#GnBh_rKO-@8VAE@*A(J%!bWOf zVhAUSA^*HF(cyL5Pf)}j#8~rT=#|l9w2ZY9kPMlGZnf%DXdj;)=*~h-?bti*)U3CP z>L_sQx`j$6m@8#mWy6f4It{Spf$Os#3cEBmm3(+K{^r++coNKlSvh4^2DC{h*Yr;S zaZTzudgjO`5qt_La{9iyUmQRIg@m=Z7yu7*LqkWiynB4-?akitIbSzr1um@YG-u7r zL5$30SIRDe*+2R5R(#K9!IPf6B%XKQ_Rr>A+Y$jdo}7HWGd8Cia+bpmb2~h!I@z+E zy1Y|7p{^H{&e(#8ikyF>~I)DdvZbT1tR-xql=vV_>HaZvC!r_UeBMx+kO_3n;y zo}U9l^{EtiI@MZ_Y)0lNMn^?mUNPQS@pd;ojK02F3?kq#S1;uW?OP*wy%%$guJpItlFCwgQ@kz~tre z=_!L|5u3}X8Aw8om;kB7!A2X5TM{;RaRwA&wB)QduXcswXYzKpXlZI1p1PfO;HVQj z?AE|LUS5XHFF^|*mG1i;D3-C zDN~Ci#=m2=HoM&(hdDYf_sf~`JO(#D21T<E|E(D^4`^+7V6JMPT2L;{)PIjy*5TcEtf3EHA&0IjJ5v`1F!bw ze$RysqrRljzcnu#AuE(hg6~2+%4WWeFw{F74JTYzadsR<#6 #B#gLxx|o+o~fQ# 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 aJuOQKk;gnz$;n%73+5(gjz2~@NB FoldedRow { }) } +/// One tool call. `result` is `None` for a call with no result yet and +/// `Some((output, failed))` for one that answered. +fn tool_call(id: &str, tool: &str, input: &str, result: Option<(&str, bool)>) -> TranscriptItem { + TranscriptItem::ToolRun { + seq: 3, + id: id.into(), + run_id: "run1".into(), + tool: tool.into(), + input: input.into(), + output: result.map(|(out, _)| out.to_string()).unwrap_or_default(), + done: result.is_some(), + failed: result.is_some_and(|(_, failed)| failed), + asks: Vec::new(), + images: Vec::new(), + } +} + +/// A call stopped on the reader: one unanswered permission question. +fn asking(id: &str, tool: &str, input: &str) -> TranscriptItem { + let mut call = tool_call(id, tool, input, None); + if let TranscriptItem::ToolRun { asks, .. } = &mut call { + asks.push(QuestionCard { + seq: 9, + id: format!("{id}-q"), + prompt: "Allow this command?".into(), + header: None, + options: vec![ + QuestionOption { + label: "Allow".into(), + description: None, + preview: None, + }, + QuestionOption { + label: "Deny".into(), + description: None, + preview: None, + }, + ], + multi_select: false, + answers: Vec::new(), + }); + } + call +} + +/// Longer than the card's own cap, so the "Show all N lines" control is on +/// screen in the expanded shot. +fn long_output() -> String { + (0..200) + .map(|i| format!("test transcript_ui::case_{i} ... ok")) + .collect::>() + .join("\n") +} + fn synthetic_rows() -> Vec { vec![ msg( @@ -55,41 +110,39 @@ fn synthetic_rows() -> Vec { false, "# Sure\n\nHere's a [link to the repo](https://example.com/ai-app-2) and a fenced block:\n\n```rust\nfn main() {\n println!(\"hi\");\n}\n```", ), + // Every state a tool card has to draw, in one run (P1b): a call + // that worked, one the tool reported as failed, one whose result + // never arrived, and one still running. The last two look the same + // in the events -- an empty output and `done: false` -- and are + // told apart only by whether the session is still working, which + // is what `TranscriptScreen::set_session_working` says. FoldedRow::Tools(vec![ - TranscriptItem::ToolRun { - seq: 3, - id: "t1".into(), - run_id: "run1".into(), - tool: "Read".into(), - input: "{\"file\": \"src/main.rs\"}".into(), - output: "fn main() {}\n".into(), - done: true, - asks: Vec::new(), - images: Vec::new(), - }, - TranscriptItem::ToolRun { - seq: 4, - id: "t2".into(), - run_id: "run1".into(), - tool: "Edit".into(), - input: "{\"file\": \"src/main.rs\"}".into(), - output: "ok".into(), - done: true, - asks: Vec::new(), - images: Vec::new(), - }, - TranscriptItem::ToolRun { - seq: 5, - id: "t3".into(), - run_id: "run1".into(), - tool: "Bash".into(), - input: "cargo build".into(), - output: "Compiling...\nFinished.".into(), - done: true, - asks: Vec::new(), - images: Vec::new(), - }, + tool_call( + "t1", + "Read", + r#"{"file_path": "src/main.rs"}"#, + Some(("fn main() {}\n", false)), + ), + tool_call( + "t2", + "Bash", + r#"{"command": "cargo build --release", "timeout": 480000, "description": "Build it"}"#, + Some(( + "error: could not compile `iris`\nCaused by: linker not found", + true, + )), + ), + tool_call("t3", "Grep", r#"{"pattern": "fn fold_event"}"#, None), ]), + // A lone call is a card too rather than a group of one -- and this + // one carries the kilobyte output a collapsed card must not lay + // out. + FoldedRow::Single(tool_call( + "t5", + "Bash", + r#"{"command": "cargo test -p transcript-ui -- --nocapture"}"#, + Some((&long_output(), false)), + )), msg(6, true, "Looks good, thanks!"), // Every block kind `client_core::markdown_blocks` names, in one // row, so P1a's appearance can be looked at against the Compose @@ -151,6 +204,50 @@ impl DefaultAppState for Client { text: "clear".into(), }), ); + // A second run at the live end, so the *running* state is on + // screen too. It cannot share a row with "no result": the two are + // the same events and are told apart only by whether the session + // is working, which is a property of the row rather than of the + // call (`TranscriptScreen::set_session_working`). + screen.push_row( + rsc, + &FoldedRow::Tools(vec![ + tool_call( + "t6", + "Read", + r#"{"file_path": "docs/RUST.md"}"#, + Some(("# Moving the app to Rust\n", false)), + ), + tool_call( + "t7", + "Bash", + r#"{"command": "cargo clippy --workspace --all-targets"}"#, + Some(("error: unused variable `x`", true)), + ), + tool_call("t8", "Glob", r#"{"pattern": "**/*.rs"}"#, None), + // Waiting on a permission, so this card is drawn *open* + // whatever the reader last chose -- the command is the + // thing being decided, and a row saying only "Bash" + // cannot be decided on. It is also how the expanded card + // (input block, output block, timeout) gets into the + // screenshot without a finger. + asking( + "t9", + "Bash", + r#"{"command": "rm -rf target", "timeout": 120000, "description": "Clear the build"}"#, + ), + ]), + ); + screen.set_session_working(rsc, true); + // The expanded picture has no other way to be looked at on a + // machine with no display and no finger -- see `run-headless.sh` + // and docs/RUST.md's P1b box. + if std::env::var_os("IRIS_TOOLS_EXPANDED").is_some() { + assert!( + screen.expand_tail_tools(rsc, true), + "the newest row must be the tool run this flag is about" + ); + } Self { ui_state, screen } } } diff --git a/iris/transcript-ui/src/lib.rs b/iris/transcript-ui/src/lib.rs index 7ca5fa9..df82adf 100644 --- a/iris/transcript-ui/src/lib.rs +++ b/iris/transcript-ui/src/lib.rs @@ -47,6 +47,7 @@ pub mod composer; pub mod markdown; pub mod row; pub mod selection; +pub mod tool; use client_core::transcript_fold::TranscriptRow as FoldedRow; use iris::prelude::*; @@ -66,14 +67,17 @@ pub struct TranscriptScreen { /// interior mutability, per `push_row`'s existing `&self`). Drained by /// [`Self::take_rebuilds`]. rebuilds: std::cell::Cell, - /// The per-block widgets of the row at the live end of the list -- - /// the only row a streamed delta ever lands in -- so - /// [`Self::apply`]'s `ReplaceLast` can replace one markdown block - /// instead of rebuilding the message - /// (`row::RowBlocks::apply_delta`). `None` for a tail that has no - /// delta path (a tool run) or before anything has been pushed. Its - /// removal is every path that replaces or drops the tail row, below. - tail: RefCell>, + /// What the row at the live end of the list kept so the next event + /// can change part of it rather than all of it -- one markdown block + /// of a streaming message (`row::RowBlocks::apply_delta`), or one card + /// of a tool run whose result just arrived (`tool::ToolRow:: + /// apply_calls`). `None` before anything has been pushed. Its removal + /// is every path that replaces or drops the tail row, below. + tail: RefCell>, + /// Whether the session is still working -- see + /// [`Self::set_session_working`], which is the only thing that writes + /// it. `Cell`, like `rebuilds`, so every method here stays `&self`. + session_working: std::cell::Cell, } impl TranscriptScreen { @@ -85,39 +89,114 @@ impl TranscriptScreen { where Rsc::State: FocusHost + OpenUrl, { - let (key, widget, blocks) = row::build_row(rsc, self.list, self.selection.clone(), row); + let (key, widget, tail) = row::build_row( + rsc, + self.list, + self.selection.clone(), + row, + self.session_working.get(), + ); (self.list)(rsc).push_back(ListRow::new(key, widget)); - *self.tail.borrow_mut() = blocks.map(|b| (key, b)); + *self.tail.borrow_mut() = tail.map(|t| (key, t)); } - /// The `ReplaceLast` fast path: update the tail row's blocks in place - /// if this really is a delta into the same message, and say whether - /// that worked. `false` for anything the caller must rebuild instead - /// -- a tail with no block state (a tool run), a row that is not a - /// `Single`, or a change `RowBlocks::apply_delta` will not take. + /// Whether the session this transcript belongs to is still doing + /// something (`client_core::transcript_fold::session_working`). + /// + /// The one thing a tool card cannot read off its own call: a call with + /// no result is *running* while the session works and *never came + /// back* once it stops, and those are different things to tell a + /// reader. Only the newest row is affected -- every row behind it + /// belongs to a turn that has already ended -- so changing it re-draws + /// that row and nothing else. + pub fn set_session_working(&self, rsc: &mut Rsc, working: bool) + where + Rsc::State: FocusHost + OpenUrl, + { + if self.session_working.replace(working) == working { + return; + } + let mut tail = self.tail.borrow_mut(); + if let Some((_, row::TailRow::Tools(tools))) = tail.as_mut() { + let calls = tools.calls(); + tools.apply_calls(rsc, &calls, working); + } + } + + /// How many tool cards the newest row is drawing, `0` when it is not a + /// tool row or its group is closed. Only the tests read it; nothing on + /// screen is decided by it. + #[cfg(test)] + fn tail_card_count(&self) -> usize { + match self.tail.borrow().as_ref() { + Some((_, row::TailRow::Tools(tools))) => tools.card_count(), + _ => 0, + } + } + + /// Open or close the newest row's tool run, when it is one -- what a + /// caller with no finger needs (`run-headless.sh`'s screenshot on this + /// displayless machine, and the tests below). Answers whether there + /// was such a row to act on, so a caller that expected one can say so + /// rather than silently producing the collapsed picture. + pub fn expand_tail_tools(&self, rsc: &mut Rsc, expanded: bool) -> bool + where + Rsc::State: FocusHost + OpenUrl, + { + let tail = self.tail.borrow(); + let Some((_, row::TailRow::Tools(tools))) = tail.as_ref() else { + return false; + }; + tools.set_group_expanded(rsc, expanded); + true + } + + /// The `ReplaceLast` fast path: update the tail row in place if this + /// really is a change to the same row, and say whether that worked. + /// `false` for anything the caller must rebuild instead. + /// + /// Two kinds of row have such a path and they are asked the same + /// question: a message's blocks take a delta into the last block, and + /// a tool row's cards take an arriving result on one card. Which one + /// this is comes from what the row kept, not from a second decision + /// here. fn apply_tail_delta(&self, rsc: &mut Rsc, key: RowKey, row: &FoldedRow) -> bool where Rsc::State: FocusHost + OpenUrl, { - let FoldedRow::Single(item) = row else { - return false; - }; let mut tail = self.tail.borrow_mut(); - let Some((tail_key, blocks)) = tail.as_mut() else { + let Some((tail_key, kept)) = tail.as_mut() else { return false; }; if *tail_key != key { return false; } - let (sender, markdown_src) = row::item_content(item); - blocks.apply_delta( - rsc, - self.list, - self.selection.clone(), - key, - sender, - &markdown_src, - ) + match (kept, row) { + (row::TailRow::Blocks(blocks), FoldedRow::Single(item)) => { + let (sender, markdown_src) = row::item_content(item); + // A tool call is drawn as a card, never as markdown, so a + // row that kept blocks and now holds one is a different + // row -- rebuild it. + if matches!(item, client_core::transcript_fold::TranscriptItem::ToolRun { .. }) { + return false; + } + blocks.apply_delta( + rsc, + self.list, + self.selection.clone(), + key, + sender, + &markdown_src, + ) + } + (row::TailRow::Tools(tools), FoldedRow::Tools(calls)) => { + tools.apply_calls(rsc, calls, self.session_working.get()) + } + (row::TailRow::Tools(tools), FoldedRow::Single(item)) => { + tools.apply_calls(rsc, std::slice::from_ref(item), self.session_working.get()) + } + (row::TailRow::Blocks(_), FoldedRow::Tools(_)) => false, + } } /// Apply the effect of one more folded event without rebuilding the @@ -196,11 +275,16 @@ impl TranscriptScreen { // pointing at widgets the `drop` below frees (the shape // docs/REVIEW-2026-09-06.md's finding 1 called out). self.selection.borrow_mut().unregister(old_key); - let (new_key, widget, blocks) = - row::build_row(rsc, self.list, self.selection.clone(), &new_rows[common]); + let (new_key, widget, kept) = row::build_row( + rsc, + self.list, + self.selection.clone(), + &new_rows[common], + self.session_working.get(), + ); let evicted = (self.list)(rsc).replace_back(ListRow::new(new_key, widget)); drop(evicted); // frees the old row's widget, same as a pop would - *self.tail.borrow_mut() = blocks.map(|b| (new_key, b)); + *self.tail.borrow_mut() = kept.map(|t| (new_key, t)); for row in &new_rows[common + 1..] { self.push_row(rsc, row); } @@ -279,9 +363,13 @@ where // say so. let mut tail = None; for row in &rows { - let (key, widget, blocks) = row::build_row(rsc, list, selection.clone(), row); + // `false`: a row built here is history until the caller says the + // session is working (`TranscriptScreen::set_session_working`), + // and claiming a call is running because the screen happens to be + // opening is exactly the inferred-as-measured mistake. + let (key, widget, kept) = row::build_row(rsc, list, selection.clone(), row, false); list(rsc).push_back(ListRow::new(key, widget)); - tail = blocks.map(|b| (key, b)); + tail = kept.map(|t| (key, t)); } // Wheel/trackpad scrolling -- the same idiom `trait_fns.rs`'s @@ -339,6 +427,7 @@ where ( TranscriptScreen { tail: RefCell::new(tail), + session_working: std::cell::Cell::new(false), list, composer, selection, @@ -421,6 +510,7 @@ mod diff_tests { input: "x".to_string(), output: String::new(), done: false, + failed: false, asks: Vec::new(), images: Vec::new(), } @@ -577,6 +667,7 @@ mod apply_tests { input: "x".to_string(), output: String::new(), done: false, + failed: false, asks: Vec::new(), images: Vec::new(), } @@ -765,4 +856,240 @@ mod apply_tests { Vec2::new(10.0, 10.0), ); } + + /// A tool call with `output` bytes of output, `done` or not. + fn call(id: &str, output: &str, done: bool) -> TranscriptItem { + TranscriptItem::ToolRun { + seq: 1, + id: id.to_string(), + run_id: "run".to_string(), + tool: "Bash".to_string(), + input: format!(r#"{{"command":"grep -rn {id} ."}}"#), + output: output.to_string(), + done, + failed: false, + asks: Vec::new(), + images: Vec::new(), + } + } + + fn run_of(count: usize, output: &str, done: bool) -> Vec { + (0..count) + .map(|i| call(&format!("t{i}"), output, done)) + .collect() + } + + /// A screen holding one tool run, with the group opened the way a tap + /// opens it, plus the counters drained -- so what a caller measures + /// next is only what it asked for. + fn open_run( + rsc: &mut TestRsc, + items: &[TranscriptItem], + ) -> (TranscriptScreen, StrongWidget, UiRenderState) { + let (screen, tree) = build_tree( + rsc, + client_core::transcript_fold::group_tool_runs(items), + ); + let mut render = UiRenderState::new(); + render.resize((1080.0, 20000.0)); + render.update(&tree, rsc); + assert!( + screen.expand_tail_tools(rsc, true), + "the fixture's only row must be the tool run" + ); + render.update(&tree, rsc); + render.take_counters(); + (screen, tree, render) + } + + /// The text shapes it costs to *open* a group of three cards whose + /// calls carry `output` -- the cards themselves, since the collapsed + /// group before the expansion drew none. + fn shapes_to_open(output: &str) -> u64 { + let mut rsc = TestRsc { + ui: UiData::default(), + events: EventManager::default(), + }; + let items = run_of(3, output, true); + let (screen, tree) = build_tree( + &mut rsc, + client_core::transcript_fold::group_tool_runs(&items), + ); + let mut render = UiRenderState::new(); + render.resize((1080.0, 20000.0)); + render.update(&tree, &mut rsc); + render.take_counters(); + + assert!( + screen.expand_tail_tools(&mut rsc, true), + "the fixture's only row must be the tool run" + ); + render.update(&tree, &mut rsc); + let (_, _, _, shapes) = render.take_counters(); + shapes + } + + /// **The O(last block) discipline, for tool cards** (RUST.md's P1b). + /// A collapsed card draws its summary line and nothing else, so the + /// kilobyte outputs the bench fixture carries cost nothing until + /// somebody opens one. Counted in *text shapes*, the number a draw + /// counter cannot stand in for: the widgets are the same either way, + /// and it is parley's work that would grow with the output. + /// + /// The group is *opened* here, so all three cards are really drawn -- + /// the cheap version of this test (a closed group, which draws no + /// cards at all) would pass without saying anything about a card. + #[test] + fn collapsed_cards_shape_only_their_summary_lines() { + let long: String = std::iter::repeat_n("a line of tool output\n", 4_000).collect(); + assert!(long.len() > 80_000, "the long case must actually be long"); + + let short_shapes = shapes_to_open("ok\n"); + let long_shapes = shapes_to_open(&long); + assert!( + short_shapes > 0, + "opening a group must shape something, or this compares two zeroes" + ); + assert_eq!( + short_shapes, long_shapes, + "three collapsed cards shaped {long_shapes} text layouts over 80 kB of output \ + against {short_shapes} over three bytes -- a collapsed card is laying out \ + something it does not draw" + ); + } + + /// What one arriving result costs, in `Widget::draw` calls, in a run of + /// `count` calls -- with the group open, so every card is really on + /// screen and a rebuild of the wrong scope would show. + fn cost_of_one_result(count: usize) -> u64 { + let mut rsc = TestRsc { + ui: UiData::default(), + events: EventManager::default(), + }; + let before = run_of(count, "", false); + let mut after = before.clone(); + after[0] = call("t0", "the result", true); + + let (screen, tree, mut render) = open_run(&mut rsc, &before); + screen.apply(&mut rsc, &before, &after); + render.update(&tree, &mut rsc); + assert_eq!( + screen.take_rebuilds(), + 0, + "a result arriving must not rebuild the whole screen" + ); + let (draws, _, _, _) = render.take_counters(); + draws + } + + /// **A result changes one card**, whatever else is in the run -- + /// `RowBlocks::apply_delta`'s discipline applied to a group, which is + /// a column of cards (`tool::ToolRow::apply_calls`). Stated as a + /// comparison rather than a number, because the number is whatever a + /// card happens to be made of and would have to be edited every time + /// the card gains a widget; what must not change is that it does not + /// grow with the run. + #[test] + fn a_result_arriving_redraws_one_card_whatever_the_run_holds() { + let small = cost_of_one_result(3); + let large = cost_of_one_result(12); + assert!( + small > 0, + "a result must redraw *something*, or this compares two zeroes" + ); + assert_eq!( + small, large, + "one result redrew {large} widgets in a twelve-call run against {small} in a \ + three-call one -- the other cards are being rebuilt with it" + ); + } + + /// The group's own state: opening it draws the cards, closing it takes + /// them away again, and the reader's choice survives a result arriving + /// in the middle of it. + #[test] + fn a_group_opens_and_closes_and_keeps_its_state_across_a_result() { + let mut rsc = TestRsc { + ui: UiData::default(), + events: EventManager::default(), + }; + let before = run_of(3, "", false); + let mut after = before.clone(); + after[1] = call("t1", "done", true); + + let (screen, tree) = build_tree( + &mut rsc, + client_core::transcript_fold::group_tool_runs(&before), + ); + let mut render = UiRenderState::new(); + render.resize((1080.0, 20000.0)); + render.update(&tree, &mut rsc); + + // Closed, a group is one line: no card is registered at all, which + // is what makes the kilobyte outputs free. + assert_eq!(screen.tail_card_count(), 0); + assert!(screen.expand_tail_tools(&mut rsc, true)); + assert_eq!(screen.tail_card_count(), 3); + + // A result arriving must not close what the reader opened -- the + // card is rebuilt, and being open is the reader's state rather + // than the event's. + screen.apply(&mut rsc, &before, &after); + render.update(&tree, &mut rsc); + assert_eq!(screen.take_rebuilds(), 0); + assert_eq!(screen.tail_card_count(), 3, "the group closed under a result"); + + assert!(screen.expand_tail_tools(&mut rsc, false)); + assert_eq!(screen.tail_card_count(), 0); + } + + /// A call that joins a run while it is the live row appends one card + /// rather than rebuilding the row -- the other half of `apply_calls`, + /// and the case a page join does *not* produce (that one goes through + /// `Rebuild`). + #[test] + fn a_call_joining_an_open_run_appends_one_card() { + let mut rsc = TestRsc { + ui: UiData::default(), + events: EventManager::default(), + }; + let before = run_of(2, "ok", true); + let mut after = before.clone(); + after.push(call("t2", "", false)); + + let (screen, tree, mut render) = open_run(&mut rsc, &before); + assert_eq!(screen.tail_card_count(), 2); + screen.apply(&mut rsc, &before, &after); + render.update(&tree, &mut rsc); + assert_eq!(screen.take_rebuilds(), 0, "an appended call is not a rebuild"); + assert_eq!(screen.tail_card_count(), 3); + } + + /// A tool row that becomes something else is a different row, not a + /// changed one. Without the guard in `apply_calls` a `UserMsg` would + /// reach the card builder, whose `debug_assert` is the last line of + /// defence rather than the first. + #[test] + fn a_tail_that_stops_being_tool_calls_falls_back_to_a_rebuild() { + let mut rsc = TestRsc { + ui: UiData::default(), + events: EventManager::default(), + }; + let before = vec![user(1, "stable"), call("t0", "", false)]; + let after = vec![user(1, "stable"), user(2, "not a tool call at all")]; + let (screen, _tree) = build_tree( + &mut rsc, + client_core::transcript_fold::group_tool_runs(&before), + ); + screen.apply(&mut rsc, &before, &after); + assert_eq!( + screen.take_rebuilds(), + 0, + "this is a ReplaceLast, not a whole-screen rebuild" + ); + // The row that replaced it is a message, so it keeps blocks rather + // than cards -- and nothing panicked on the way. + assert_eq!(screen.tail_card_count(), 0); + } + } diff --git a/iris/transcript-ui/src/markdown.rs b/iris/transcript-ui/src/markdown.rs index 3cc9c94..e704345 100644 --- a/iris/transcript-ui/src/markdown.rs +++ b/iris/transcript-ui/src/markdown.rs @@ -399,7 +399,7 @@ fn options() -> Options { /// (`highlight`'s module doc), so the offsets are walked once rather than /// converted per span -- a fence is scanned on every delta that lands in /// it, and it is the only block a delta re-renders. -fn highlight_into(spans: &mut Vec, text: &str, range: Range, language: Language) { +pub(crate) fn highlight_into(spans: &mut Vec, text: &str, range: Range, language: Language) { let code = &text[range.clone()]; // char index -> byte offset within `code`, plus the end, so a span's // `end` is always in range. diff --git a/iris/transcript-ui/src/row.rs b/iris/transcript-ui/src/row.rs index 9256a1b..39ee8c2 100644 --- a/iris/transcript-ui/src/row.rs +++ b/iris/transcript-ui/src/row.rs @@ -25,6 +25,7 @@ use crate::markdown::{BlockFrame, Link, frame_of, render_block}; use crate::selection::{SelKey, Selection}; +use crate::tool::ToolRow; use client_core::markdown_blocks::{Block, BlockKind, common_prefix, split_blocks}; use client_core::transcript_fold::{QuestionCard, TranscriptItem, TranscriptRow as FoldedRow}; use iris::prelude::*; @@ -461,105 +462,20 @@ where build_text_row(rsc, list, selection, key, sender, &markdown_src) } -/// A run of adjacent tool calls: collapsed to a one-line summary by -/// default, expanding in place to every call's own tool/input/output on -/// tap -- see the module doc for the hold-the-edge contract this wires -/// against `list`. -fn build_tools( - rsc: &mut Rsc, - list: WeakWidget, - selection: Rc>, - key: RowKey, - calls: Vec, -) -> StrongWidget -where - Rsc::State: FocusHost + OpenUrl, -{ - let expanded = Rc::new(RefCell::new(false)); - // `.add_strong` (not `.add`) because nothing else in the tree holds a - // strong reference to this `WidgetPtr` the way a container's own - // `add_strong`-on-its-children does for an ordinary child -- this row - // *is* the top of its own subtree, so it has to own itself. - let ptr_strong = WidgetPtr::new().add_strong(rsc); - let ptr = ptr_strong.weak(); - - let summary_text = format!("\u{25b8} {} tool calls", calls.len()); - let full_text = calls - .iter() - .map(|c| match c { - TranscriptItem::ToolRun { - tool, - input, - output, - .. - } => tool_call_markdown(tool, input, output), - other => item_content(other).1, - }) - .collect::>() - .join("\n\n"); - - fn build_content( - rsc: &mut Rsc, - list: WeakWidget, - selection: Rc>, - key: RowKey, - expanded: bool, - summary: &str, - full: &str, - ) -> StrongWidget - where - Rsc::State: FocusHost + OpenUrl, - { - // Every block of the previous content goes first: collapsing a - // five-block expansion back to a one-line summary registers only - // `(key, 0)`, and blocks 1..5 would be left in `Selection` - // pointing at widgets `ptr.replace` is about to free -- the same - // class of bug docs/REVIEW-2026-09-06.md's finding 1 found in the - // `Rebuild` arm, reached the other way. - selection.borrow_mut().unregister(key); - let text = if expanded { full } else { summary }; - build_text_row(rsc, list, selection, key, Some("Tools"), text).0 - } - - let content = build_content( - rsc, - list, - selection.clone(), - key, - false, - &summary_text, - &full_text, - ); - ptr(rsc).set(content); - - ptr.on(CursorSense::click(), move |ctx, rsc| { - // `List::note_tap` wants a viewport-relative position, but the - // click event only knows where inside *this row* it landed - // (`ctx.data.pos`) -- `List::extent` (last frame's on-screen box - // for this row's key) is what turns the two into the position - // `list.rs`'s hold-the-edge layout pass resolves against, per the - // module doc's contract. - let (top, _bottom) = list(rsc).extent(key).unwrap_or((0.0, 0.0)); - list(rsc).note_tap(top + ctx.data.pos.y); - - let was_expanded = *expanded.borrow(); - *expanded.borrow_mut() = !was_expanded; - let content = build_content( - rsc, - list, - selection.clone(), - key, - !was_expanded, - &summary_text, - &full_text, - ); - // The old content's `StrongWidget` is freed when this drops -- - // the removal half of the row this click just replaced. - let _old = ptr(rsc).replace(content); - }) - .add(rsc); - - ptr_strong.any() +/// What a row keeps so the next event can change part of it instead of +/// all of it -- one variant per kind of row that has such a path. +/// +/// Two mechanisms would have been two answers to the same question ("what +/// can this row do cheaply?"), so the caller holds one of these for its +/// tail row and asks it, rather than holding a `RowBlocks` and a +/// `ToolRow` and choosing between them at each call site. +pub enum TailRow { + /// A message: a column of one text widget per markdown block, so a + /// streamed delta costs the last block. + Blocks(RowBlocks), + /// A tool call or a run of them: a column of cards, so an arriving + /// result costs one card. + Tools(ToolRow), } pub fn build_row( @@ -567,26 +483,38 @@ pub fn build_row( list: WeakWidget, selection: Rc>, row: &FoldedRow, -) -> (RowKey, StrongWidget, Option) + working: bool, +) -> (RowKey, StrongWidget, Option) where Rsc::State: FocusHost + OpenUrl, { - match row { - FoldedRow::Single(item) => { - let key = row_key(&item.key()); - let (widget, blocks) = build_single(rsc, list, selection, key, item); - (key, widget, Some(blocks)) - } - FoldedRow::Tools(calls) => { - let key = row_key(&calls[0].key()); - // `None`: a run of tool calls is never what a reply streams - // into, and its own expand/collapse replaces the whole - // content anyway, so there is no delta path to keep state for. - ( - key, - build_tools(rsc, list, selection, key, calls.clone()), - None, - ) + // A lone tool call is a card too, not a message with markdown in it: + // `group_tool_runs` leaves one call as a `Single` because "Called 1 + // tool" hides a card to say the same thing in more words, and the + // *card* is what both cases draw (`ToolRows.kt`). + let calls = match row { + FoldedRow::Single(item @ TranscriptItem::ToolRun { .. }) => { + Some(std::slice::from_ref(item)) } + FoldedRow::Tools(calls) => Some(calls.as_slice()), + FoldedRow::Single(_) => None, + }; + if let Some(calls) = calls { + let key = row_key(&calls[0].key()); + let (widget, tools) = crate::tool::build_tool_row( + rsc, + list, + selection, + key, + calls.to_vec(), + working, + ); + return (key, widget, Some(TailRow::Tools(tools))); } + let FoldedRow::Single(item) = row else { + unreachable!("every Tools row took the branch above"); + }; + let key = row_key(&item.key()); + let (widget, blocks) = build_single(rsc, list, selection, key, item); + (key, widget, Some(TailRow::Blocks(blocks))) } diff --git a/iris/transcript-ui/src/tool.rs b/iris/transcript-ui/src/tool.rs new file mode 100644 index 0000000..6840ce8 --- /dev/null +++ b/iris/transcript-ui/src/tool.rs @@ -0,0 +1,876 @@ +//! Tool-call cards and the runs they are grouped into -- the port of +//! `ToolRows.kt`/`ToolInput.kt` (RUST.md's P1b). +//! +//! One card per call. Closed, it is a single line: the tool's name and +//! what the call is for ([`client_core::tool_summary::parse_tool_input`]'s +//! `title`). The command itself is not on it, because a wrapped command +//! turns one row into four and a run of them into a wall. Open, it shows +//! the description, the input and the output. +//! +//! **A collapsed card lays out its summary line and nothing else.** Not an +//! optimisation -- the discipline this crate is built to. The bench +//! fixture carries tool outputs of tens of kilobytes, and a collapsed card +//! that built a text widget for one would pay parley for text nobody can +//! see. `collapsed_cards_shape_only_their_summary_lines` in `lib.rs` holds +//! it, counting `UiRenderState`'s text-shape counter the same way +//! `a_delta_into_a_long_reply_...` counts it for a streamed delta. +//! +//! **Two or more adjacent calls are one group** -- decided in +//! `client_core::transcript_fold::group_tool_runs`/`adopt_run` and never +//! re-derived here. A group is a header, a column of cards on its own +//! surface, and a bar at its foot: it closes from either end, because a +//! long group's header scrolls off while its last call is still on screen, +//! and the reader who wants it shut is looking at the bottom. +//! +//! **A result arriving replaces one card.** [`ToolRow::apply_calls`] is +//! the group's half of `RowBlocks::apply_delta`'s discipline: a group is a +//! column of cards, and a `ToolEnd` changes exactly one of them. +//! +//! **Every tap here is a tap** -- `GestureOutcome::Tapped` out of the one +//! `DragArbiter` `Selection` already owns, never a second detector. A +//! finger that panned the list past a card must not also open it; that +//! rule is written once, in the gesture machine, and this file only reads +//! its answer. + +use crate::markdown::{TEXT_COLOR, VERBATIM_BACKGROUND, highlight_into}; +use crate::selection::Selection; +use client_core::tool_summary::{ToolInput, parse_tool_input}; +use client_core::transcript_fold::{ToolState, TranscriptItem}; +use iris::prelude::*; +use std::{cell::Cell, cell::RefCell, collections::HashMap, rc::Rc, time::Instant}; + +/// A card's own fill: Surface 0, what Material's filled `Card` resolves to +/// under `Theme.kt`'s scheme. One step *above* the page, so a card reads +/// as an object on it. +const CARD_FILL: UiColor = UiColor::new(0x31, 0x32, 0x44, 255); +/// The surface a group's cards sit on: Mantle, one step *below* the page. +/// That surface is the single cue saying these calls belong together, and +/// it goes below rather than above because the cards are already above -- +/// two steps in the same direction render as one flat block. +const GROUP_FILL: UiColor = UiColor::new(0x18, 0x18, 0x25, 255); +/// A tool's name, and any of the call's own words. +const NAME_COLOR: UiColor = TEXT_COLOR; +/// The summary line and the leftover input fields: Subtext 0, the Compose +/// app's `onSurfaceVariant` -- structure about the call rather than the +/// call's own words. +const MUTED_COLOR: UiColor = UiColor::new(0xA6, 0xAD, 0xC8, 255); + +/// Waiting on a person -- Peach, `Theme.kt`'s `awaitingColor`. The same +/// colour a question card takes, because it is the same fact. +const AWAITING_COLOR: UiColor = UiColor::new(0xFA, 0xB3, 0x87, 255); +/// The call itself failed -- Red, the scheme's `error`/`failedColor`. +const FAILED_COLOR: UiColor = UiColor::new(0xF3, 0x8B, 0xA8, 255); +/// **Nobody found out** -- Yellow, `Theme.kt`'s `warningColor`. Its own +/// colour *and* its own word: the expensive confusion is between this and +/// a call that finished having printed nothing, those two share an empty +/// output, and a difference in kind cannot be carried by colour alone. +const UNKNOWN_COLOR: UiColor = UiColor::new(0xF9, 0xE2, 0xAF, 255); + +/// A tool's name (Material `titleSmall`). +const NAME_SIZE: f32 = 14.0; +/// The summary line, and the input and output text (`bodySmall`). +const BODY_SIZE: f32 = 12.0; +/// The state word, the "Output" heading and the group's own count +/// (`labelSmall`). +const LABEL_SIZE: f32 = 11.0; + +/// The room inside a card, and so the height a bar of one line of text +/// comes to (`ToolRows.kt`'s `GROUP_INSET_LARGE`). +const CARD_PAD_DP: f32 = 12.0; +/// How far the stack of calls is held off the edge of the surface it sits +/// on -- the container's own padding, not an indent. +const GROUP_INSET_DP: f32 = 4.0; +/// Enough to read the join as a join rather than as one tall card. +const GROUP_GAP_DP: f32 = 2.0; +/// A card's corner: `shapes.medium`, the same as every other card in the +/// app. +const CARD_RADIUS_DP: f32 = 12.0; +/// The gap between the parts of a card's header line, and between the +/// stacked parts of an open card. +const GAP_DP: f32 = 8.0; +/// Smaller than a card's radius, and deliberately: a verbatim block sits +/// *inside* one, and a rounded rectangle drawn at the same radius as the +/// one behind it reads as a misprint (`RawBlock.kt`). +const RAW_RADIUS_DP: f32 = 4.0; +/// The room inside a verbatim block. +const RAW_PAD_DP: f32 = 8.0; + +/// How much of a tool's output an open card draws before it offers the +/// rest behind a tap. +/// +/// **A divergence from Compose, on purpose.** `ToolCard` draws the whole +/// output however long, and gets away with it because a Compose `Text` +/// inside a `LazyColumn` is laid out lazily; here the output is one text +/// widget, and shaping a hundred kilobytes of it through parley is the +/// cost `docs/EXPLORER.md`'s `EDIT_LIMIT` was measured against. Lines +/// *and* bytes because the two run out at different times -- a diff is +/// many short lines, a minified file is one enormous one. +const OUTPUT_LINES: usize = 80; +const OUTPUT_BYTES: usize = 4096; + +/// The mark that says a card opens, always drawn from the **monospace** +/// face. +/// +/// Not a style choice: `NotoSans-Regular.ttf`, which every other string +/// here is set in, has no glyph at U+25B8/U+25BE/U+25B4 at all, while +/// `NotoSansMono-Regular.ttf` does -- read out of both bundled `cmap`s on +/// 2026-09-06. A missing glyph is the failure nobody who wrote the code +/// ever sees, so the face that has the glyph is named at the one place the +/// character is written. IRIS_TODO's "a drawn chevron" has the real fix, +/// which needs a line primitive iris does not have. +const CLOSED_MARK: &str = "\u{25b8}"; +const OPEN_MARK: &str = "\u{25be}"; +const UP_MARK: &str = "\u{25b4}"; + +/// Which cards the reader has opened, and which have had their whole +/// output asked for. +/// +/// Outside the widget tree on purpose: a card is rebuilt when its result +/// arrives, and being open is the reader's state rather than the event's +/// -- held in the widget, it would silently close the moment the tool +/// answered. Keyed by the call's own id, which survives a regroup. Its +/// path out is [`ToolRow::apply_calls`], which drops the entry for any +/// call no longer in the row. +#[derive(Default)] +struct ToolRowState { + group_expanded: bool, + open: HashMap, + whole_output: HashMap, +} + +/// Everything a handler needs to redraw part of this row, in one `Rc` so +/// that a handler registered once keeps working against calls that arrive +/// later. The rebuild functions read `calls` fresh rather than capturing a +/// call, which is what lets [`ToolRow::apply_calls`] replace a card's +/// content without re-registering its gesture. +struct Shared { + calls: RefCell>, + state: RefCell, + /// One `WidgetPtr` per call, in order -- what makes a result cost one + /// card. Empty while the group is collapsed, because a collapsed group + /// draws no cards at all. Its path out is [`build_content`], which + /// clears it before building whatever replaces them. + cards: RefCell>>, + /// The column those cards sit in, so a call appended to a run can be + /// pushed into it. `None` unless the group is open. + column: RefCell>>, + /// The whole row's content, swapped when the group opens or closes. + /// Filled in immediately after construction -- the `WidgetPtr` cannot + /// exist before the `Rc` every handler inside it captures. + content: RefCell>>, + list: WeakWidget, + selection: Rc>, + key: RowKey, + /// Whether a call in this row could still be running -- the caller's + /// `session_working`, and `false` for every row behind the newest, + /// whose turn has already ended. The one input to [`ToolState`] that + /// is not a property of the call itself, and what separates "still + /// going" from "nobody found out". + working: Cell, +} + +/// One transcript row's worth of tool calls, kept by the caller for the +/// row a result can still land in -- the tool-call counterpart of +/// [`crate::row::RowBlocks`], and the reason a `ToolEnd` costs one card +/// rather than a row. +pub struct ToolRow { + shared: Rc, +} + +/// Register `f` as this widget's **tap**, panning the list instead when +/// the finger moves. +/// +/// The one gesture entry point in this file. `Selection::drag` with no row +/// is the same call `row.rs` makes with one: it drives the shared +/// `DragArbiter`, so a drag starting on a card scrolls (and flings) the +/// transcript exactly as one starting on a paragraph does, and only a +/// press that committed to nothing comes back as `Tapped`. A bare +/// `CursorSense::click()` here would be a second, disagreeing detector -- +/// it fires at the end of a pan too, so every scroll that began on a card +/// would also toggle it. +fn on_tap( + rsc: &mut Rsc, + ptr: WeakWidget, + shared: &Rc, + f: impl Fn(&mut Rsc) + 'static, +) where + Rsc::State: FocusHost + OpenUrl, +{ + let (list, selection) = (shared.list, shared.selection.clone()); + ptr.on( + CursorSense::click_or_drag() | CursorSense::unclick(), + move |ctx, rsc| { + let outcome = selection.borrow_mut().drag( + rsc, + list, + None, + ctx.data.cursor.pos, + ctx.data.sense, + Instant::now(), + ctx.data.render, + ); + if outcome == GestureOutcome::Tapped { + f(rsc); + } + }, + ) + .add(rsc); +} + +/// Hold the edge the reader is looking at while this row changes height. +/// +/// `List::note_tap` wants a viewport-relative position and this row only +/// knows its own box, so `List::extent` (last frame's on-screen box for +/// this key) turns the two into the position `list.rs`'s hold-the-edge +/// pass resolves against -- the two-step contract that module's doc +/// describes for `AGENTS.md`'s `holdTopEdge`. +fn note_tap(rsc: &mut impl UiRsc, shared: &Shared) { + let (top, _bottom) = (shared.list)(rsc).extent(shared.key).unwrap_or((0.0, 0.0)); + (shared.list)(rsc).note_tap(top); +} + +fn text(content: impl Into, size: f32, color: UiColor) -> TextBuilder { + wtext(content).size(size).color(color).text_align(Align::LEFT) +} + +/// A verbatim block: monospace on the surface everything verbatim in this +/// app sits on, not wrapped, panning sideways on a finger. +/// +/// Not wrapped for `ToolInput.kt`'s reason -- a wrapped command hides +/// where its arguments end, and the long one is the one being read +/// closely. The same `scrollable_on(Axis::X).masked()` a markdown fence +/// gets in `row.rs`, so a command and a fence behave the same way under a +/// finger. +fn raw_block(rsc: &mut Rsc, body: TextBuilder) -> StrongWidget +where + Rsc::State: FocusHost, +{ + let field = body + .family(Family::Monospace) + .size(BODY_SIZE) + .wrap(false) + .add(rsc); + field + .scrollable_on(Axis::X) + .masked() + .pad(dp(RAW_PAD_DP)) + .background(rect(VERBATIM_BACKGROUND).radius(dp(RAW_RADIUS_DP))) + .width(rest(1)) + .add_strong(rsc) + .any() +} + +/// The word a card shows for what became of the call, and the colour it is +/// in. `None` for a call that simply worked -- the ordinary outcome says +/// nothing, the way it says nothing in Compose. +/// +/// Colour by consequence: the same red wherever something failed, the same +/// peach wherever the turn is stopped on a person, yellow where the answer +/// is that nobody knows. +fn state_mark(state: ToolState) -> Option<(&'static str, UiColor)> { + match state { + // A spinner would say the machine is working; while this call + // waits on an answer the machine is doing nothing at all, so the + // card says whose move it is instead (`ToolRows.kt`). + ToolState::Deciding => Some(("your turn", AWAITING_COLOR)), + ToolState::Running => Some(("running", MUTED_COLOR)), + ToolState::Failed => Some(("failed", FAILED_COLOR)), + ToolState::NoResult => Some(("no result", UNKNOWN_COLOR)), + ToolState::Succeeded => None, + } +} + +/// What a screen reader is given for one card, and what a `ui-trace` +/// script taps by: the tool, what the call is for, and how it went when +/// that is anything but "fine" -- the same three things the Compose card's +/// own text says, in the order it says them. +fn card_label(tool: &str, parsed: &ToolInput, state: ToolState) -> String { + let mut name = tool.to_string(); + if let Some(title) = parsed.title() { + name.push_str(": "); + name.push_str(title); + } + if let Some((word, _)) = state_mark(state) { + name.push_str(" ("); + name.push_str(word); + name.push(')'); + } + name +} + +/// The heading a group carries, closed or open. Compose's exact wording, +/// because it is also the name every `ui-trace` script taps it by. +fn group_label(count: usize) -> String { + format!("Called {count} tools") +} + +/// `output` cut to what an open card draws, with the line count it was cut +/// from; `None` when the whole of it fits. +/// +/// Cut at the **head**, keeping the beginning: a tool's output is read +/// from the top, and the line saying what went wrong is nearly always the +/// first. (A path is identified by its other end; this is not a path.) +fn capped(output: &str) -> Option<(&str, usize)> { + debug_assert!(OUTPUT_LINES > 0 && OUTPUT_BYTES > 0, "an empty cap shows nothing at all"); + let by_lines = output + .char_indices() + .filter(|(_, c)| *c == '\n') + .nth(OUTPUT_LINES - 1) + .map(|(i, _)| i); + let by_bytes = (output.len() > OUTPUT_BYTES).then(|| { + let mut end = OUTPUT_BYTES; + while !output.is_char_boundary(end) { + end -= 1; + } + end + }); + let cut = match (by_lines, by_bytes) { + (Some(a), Some(b)) => a.min(b), + (a, b) => a.or(b)?, + }; + Some((&output[..cut], output.lines().count())) +} + +/// The tool's output, or the reason there is none to show. +/// +/// The empty cases are drawn rather than left blank: "it printed nothing" +/// and "nothing ever came back" are the pair [`ToolState`] exists to keep +/// apart, and a card that drew neither would show the same thing for both. +fn output_block( + rsc: &mut Rsc, + shared: &Rc, + index: usize, + id: &str, + output: &str, + call_state: ToolState, +) -> StrongWidget +where + Rsc::State: FocusHost + OpenUrl, +{ + if output.is_empty() { + let (words, colour) = match call_state { + ToolState::Succeeded => ("No output", MUTED_COLOR), + ToolState::Failed => ("Failed, with no output", FAILED_COLOR), + ToolState::NoResult => ("No result ever arrived", UNKNOWN_COLOR), + ToolState::Running | ToolState::Deciding => ("No output yet", MUTED_COLOR), + }; + return text(words, LABEL_SIZE, colour).add_strong(rsc).any(); + } + + let whole = shared + .state + .borrow() + .whole_output + .get(id) + .copied() + .unwrap_or(false); + let shown = if whole { None } else { capped(output) }; + let mut column = Span::empty(Dir::DOWN).gap(dp(2)); + column.push(text("Output", LABEL_SIZE, NAME_COLOR).add_strong(rsc).any()); + // What the tool printed, in the face it was written for: this is + // column-aligned far more often than it is prose, and a proportional + // font destroys the alignment that carried the meaning. + let body = text( + shown.map_or(output, |(head, _)| head).to_string(), + BODY_SIZE, + NAME_COLOR, + ); + column.push(raw_block(rsc, body)); + if let Some((_, lines)) = shown { + let label = format!("Show all {lines} lines"); + let more_strong = WidgetPtr::new().add_strong(rsc); + let more = more_strong.weak(); + let words = text(label.clone(), LABEL_SIZE, MUTED_COLOR) + .label(label) + .add_strong(rsc); + more(rsc).set(words); + let shared_for_tap = shared.clone(); + let id = id.to_string(); + on_tap(rsc, more, shared, move |rsc| { + note_tap(rsc, &shared_for_tap); + shared_for_tap + .state + .borrow_mut() + .whole_output + .insert(id.clone(), true); + redraw_card(rsc, &shared_for_tap, index); + }); + column.push(more_strong.any()); + } + column.width(rest(1)).add_strong(rsc).any() +} + +/// One tool call's card content. +/// +/// Collapsed, this is one `Span` of at most four short strings -- no +/// input, no output, nothing whose size is the call's size. +fn build_card(rsc: &mut Rsc, shared: &Rc, index: usize) -> StrongWidget +where + Rsc::State: FocusHost + OpenUrl, +{ + let call = shared.calls.borrow()[index].clone(); + let TranscriptItem::ToolRun { + id, + tool, + input, + output, + .. + } = &call + else { + debug_assert!(false, "a tool row holds only tool calls, not {call:?}"); + return Span::empty(Dir::DOWN).add_strong(rsc).any(); + }; + let parsed = parse_tool_input(tool, input); + let call_state = ToolState::of(&call, shared.working.get()).expect("matched ToolRun above"); + // A call waiting on permission is shown open whatever the reader last + // chose: the command is the thing being decided, and a row saying only + // "Bash" cannot be decided on (`ToolRows.kt`). + let open = + shared.state.borrow().open.get(id).copied().unwrap_or(false) || call_state == ToolState::Deciding; + + let mut header = Span::empty(Dir::RIGHT).gap(dp(GAP_DP)); + header.push( + text(if open { OPEN_MARK } else { CLOSED_MARK }, BODY_SIZE, MUTED_COLOR) + .family(Family::Monospace) + .add_strong(rsc) + .any(), + ); + header.push(text(tool.clone(), NAME_SIZE, NAME_COLOR).add_strong(rsc).any()); + match (open, parsed.title()) { + // Open, the summary is redundant -- the input below is the same + // thing in full -- and the space goes to the timeout instead, at + // the far end, since it is a limit on the call rather than part of + // what the call does. + (true, _) | (false, None) => { + header.push(Span::empty(Dir::RIGHT).width(rest(1)).add_strong(rsc).any()) + } + // One line, clipped rather than shrunk or wrapped: a wrapped + // command turns one row into four and a run of them into a wall. + (false, Some(title)) => header.push( + text(title.to_string(), BODY_SIZE, MUTED_COLOR) + .wrap(false) + .masked() + .width(rest(1)) + .add_strong(rsc) + .any(), + ), + } + if open && let Some(timeout) = &parsed.timeout { + header.push( + text(format!("timeout {timeout}"), LABEL_SIZE, MUTED_COLOR) + .add_strong(rsc) + .any(), + ); + } + if let Some((word, colour)) = state_mark(call_state) { + header.push(text(word, LABEL_SIZE, colour).add_strong(rsc).any()); + } + + let mut column = Span::empty(Dir::DOWN).gap(dp(GAP_DP / 2.0)); + column.push(header.width(rest(1)).add_strong(rsc).any()); + if open { + if let Some(description) = &parsed.description { + // The tool's own prose about what it is doing, so it belongs + // with the reader's text rather than inside the machine's -- + // above the input block rather than in it (`ToolInput.kt`). + column.push( + text(description.clone(), BODY_SIZE, MUTED_COLOR) + .width(rest(1)) + .add_strong(rsc) + .any(), + ); + } + if let Some(subject) = &parsed.subject { + let spans = match parsed.language { + Some(language) => { + let mut spans = Vec::new(); + highlight_into(&mut spans, subject, 0..subject.len(), language); + spans + } + // An unknown language is drawn plain rather than coloured + // by the nearest one -- P1a's rule for a fence, and the + // same reason: a wrong highlight is read as a fact. + None => Vec::new(), + }; + let body = text(subject.clone(), BODY_SIZE, NAME_COLOR).spans(spans); + column.push(raw_block(rsc, body)); + } + if !parsed.rest.is_empty() { + // Never dropped: a field left out would be claiming the tool + // had no other input when it might (`ToolInput.kt`). + let body = text(parsed.rest.join("\n"), BODY_SIZE, MUTED_COLOR); + column.push(raw_block(rsc, body)); + } + column.push(output_block(rsc, shared, index, id, output, call_state)); + } + + column + .width(rest(1)) + .pad(dp(CARD_PAD_DP)) + .background(rect(CARD_FILL).radius(dp(CARD_RADIUS_DP))) + .width(rest(1)) + .label(card_label(tool, &parsed, call_state)) + .add_strong(rsc) + .any() +} + +/// Rebuild card `index` in place. The removal half is the returned +/// `StrongWidget` being dropped, which frees the content this replaced. +fn redraw_card(rsc: &mut Rsc, shared: &Rc, index: usize) +where + Rsc::State: FocusHost + OpenUrl, +{ + let Some(ptr) = shared.card_ptr(index) else { + // Reached only if a handler outlives the card it was registered + // on, which `apply_calls` is written to prevent. + debug_assert!(false, "card {index} has no widget to redraw"); + return; + }; + let content = build_card(rsc, shared, index); + let _old = ptr(rsc).replace(content); +} + +/// A card and the tap that opens it. The gesture is registered **once**, +/// on a `WidgetPtr` whose content is replaced as often as needed -- which +/// is why every rebuild reads the call out of [`Shared`] rather than +/// capturing one. +fn build_card_ptr( + rsc: &mut Rsc, + shared: &Rc, + index: usize, +) -> (StrongWidget, WeakWidget) +where + Rsc::State: FocusHost + OpenUrl, +{ + // The strong handle is the card's one real registration and goes to + // whatever container holds it; the weak one is what the gesture and + // every later redraw address it by. + let strong = WidgetPtr::new().add_strong(rsc); + let ptr = strong.weak(); + shared.cards.borrow_mut().push(ptr); + debug_assert_eq!( + shared.cards.borrow().len(), + index + 1, + "a card's index is its position, and both are the call's" + ); + let content = build_card(rsc, shared, index); + ptr(rsc).set(content); + let for_tap = shared.clone(); + on_tap(rsc, ptr, shared, move |rsc| { + note_tap(rsc, &for_tap); + let Some(id) = for_tap.call_id(index) else { + debug_assert!(false, "tapped card {index} is no longer in the row"); + return; + }; + let was = for_tap.state.borrow().open.get(&id).copied().unwrap_or(false); + for_tap.state.borrow_mut().open.insert(id, !was); + redraw_card(rsc, &for_tap, index); + }); + (strong.any(), ptr) +} + +/// A bar the height of one line of `LABEL_SIZE` text, carrying `mark` +/// centred -- the group's collapse control at its foot. +/// +/// Given the same content as the heading above rather than a height that +/// looks close, so the surface the calls sit on is the same thickness at +/// both ends (`ToolRows.kt`'s `groupBarHeight`, which derives the number +/// from the type for the same reason). +fn collapse_bar(rsc: &mut Rsc, shared: &Rc) -> StrongWidget +where + Rsc::State: FocusHost + OpenUrl, +{ + let strong = WidgetPtr::new().add_strong(rsc); + let ptr = strong.weak(); + let mark = text(UP_MARK, BODY_SIZE, MUTED_COLOR) + .family(Family::Monospace) + .center() + .width(rest(1)) + .pad(dp(CARD_PAD_DP)) + // Anything shown only as a mark still needs a name: this is what + // a screen reader reads and what a `ui-trace` script taps. + .label("Collapse these tool calls") + .add_strong(rsc); + ptr(rsc).set(mark); + let for_tap = shared.clone(); + on_tap(rsc, ptr, shared, move |rsc| toggle_group(rsc, &for_tap)); + strong.any() +} + +/// The row's whole content: a lone card, a closed group's one line, or an +/// open group's header, cards and foot. +/// +/// Rebuilt whole when the group opens or closes, because that is a change +/// of what the row *is* rather than of one card in it. Everything a single +/// card's tap does goes through [`redraw_card`] instead. +fn build_content(rsc: &mut Rsc, shared: &Rc) -> StrongWidget +where + Rsc::State: FocusHost + OpenUrl, +{ + shared.cards.borrow_mut().clear(); + *shared.column.borrow_mut() = None; + let count = shared.calls.borrow().len(); + debug_assert!(count > 0, "a tool row with no calls has nothing to draw"); + + // One call is left alone: "Called 1 tool" hides a card to say the same + // thing in more words, and the run this grouping exists for is the + // burst of five greps nobody wants to scroll past (`ToolRows.kt`). + if count == 1 { + return build_card_ptr(rsc, shared, 0).0; + } + + if !shared.state.borrow().group_expanded { + let heading = group_label(count); + return text(heading.clone(), NAME_SIZE, NAME_COLOR) + .pad(dp(CARD_PAD_DP)) + .width(rest(1)) + .background(rect(CARD_FILL).radius(dp(CARD_RADIUS_DP))) + .width(rest(1)) + .label(heading) + .add_strong(rsc) + .any(); + } + + let heading = group_label(count); + let mut group = Span::empty(Dir::DOWN); + group.push( + text(heading.clone(), NAME_SIZE, NAME_COLOR) + .pad(dp(CARD_PAD_DP)) + .width(rest(1)) + .label(heading) + .add_strong(rsc) + .any(), + ); + let mut column = Span::empty(Dir::DOWN).gap(dp(GROUP_GAP_DP)); + for index in 0..count { + column.push(build_card_ptr(rsc, shared, index).0); + } + let column = column.add(rsc); + *shared.column.borrow_mut() = Some(column); + group.push( + column + .width(rest(1)) + .pad(Padding { + left: dp(GROUP_INSET_DP), + right: dp(GROUP_INSET_DP), + ..Padding::ZERO + }) + .add_strong(rsc) + .any(), + ); + // Shutting it from here anchors the other end: the reader is at the + // bottom of a long group, and what they are looking at is what follows + // it (`ToolRows.kt`'s `CollapseBar`). + group.push(collapse_bar(rsc, shared)); + group + .width(rest(1)) + .background(rect(GROUP_FILL).radius(dp(CARD_RADIUS_DP))) + .width(rest(1)) + .add_strong(rsc) + .any() +} + +fn toggle_group(rsc: &mut Rsc, shared: &Rc) +where + Rsc::State: FocusHost + OpenUrl, +{ + note_tap(rsc, shared); + let was = shared.state.borrow().group_expanded; + shared.state.borrow_mut().group_expanded = !was; + let content = build_content(rsc, shared); + shared.set_content(rsc, content); +} + +impl Shared { + /// Swap the row's whole content. The old `StrongWidget` is freed as it + /// drops here, which is the removal half of what replaced it. + fn set_content(&self, rsc: &mut impl UiRsc, content: StrongWidget) { + let Some(ptr) = *self.content.borrow() else { + debug_assert!( + false, + "the row's content pointer is set before anything can tap it" + ); + return; + }; + let _old = ptr(rsc).replace(content); + } + + fn call_id(&self, index: usize) -> Option { + match self.calls.borrow().get(index) { + Some(TranscriptItem::ToolRun { id, .. }) => Some(id.clone()), + _ => None, + } + } + + fn card_ptr(&self, index: usize) -> Option> { + self.cards.borrow().get(index).copied() + } +} + +/// Build a tool row: one card, or a run of them under one heading. +/// +/// `working` is the caller's `session_working` **for this row** -- true +/// only for the newest row of a session that is still doing something. +/// Every row behind it belongs to a turn that has ended, so a call in one +/// with no result never came back rather than still running. +pub fn build_tool_row( + rsc: &mut Rsc, + list: WeakWidget, + selection: Rc>, + key: RowKey, + calls: Vec, + working: bool, +) -> (StrongWidget, ToolRow) +where + Rsc::State: FocusHost + OpenUrl, +{ + let shared = Rc::new(Shared { + calls: RefCell::new(calls), + state: RefCell::new(ToolRowState::default()), + cards: RefCell::new(Vec::new()), + column: RefCell::new(None), + content: RefCell::new(None), + list, + selection, + key, + working: Cell::new(working), + }); + // `.add_strong`, not `.add`: this row *is* the top of its own subtree, + // so nothing else holds it and it has to own itself (`row.rs`). + let content_strong = WidgetPtr::new().add_strong(rsc); + let content = content_strong.weak(); + *shared.content.borrow_mut() = Some(content); + let inner = build_content(rsc, &shared); + content(rsc).set(inner); + (content_strong.any(), ToolRow { shared }) +} + +impl ToolRow { + /// The calls this row is currently drawing -- what a caller passes + /// back to [`Self::apply_calls`] when something other than the calls + /// themselves changed (the session's status). + pub fn calls(&self) -> Vec { + self.shared.calls.borrow().clone() + } + + /// How many cards this row currently draws -- zero for a closed + /// group, which is the whole reason its calls' outputs cost nothing. + /// Only the tests ask; nothing on screen is decided by it. + #[cfg(test)] + pub(crate) fn card_count(&self) -> usize { + self.shared.cards.borrow().len() + } + + /// Open or close this row's group without a tap. + /// + /// Exists because the expanded appearance is otherwise unreachable + /// from anything that cannot press the screen -- a headless + /// screenshot on this displayless machine, and a test. Same path a tap + /// takes, including `List::note_tap`, so what it produces is what a + /// reader would have got. + pub fn set_group_expanded(&self, rsc: &mut Rsc, expanded: bool) + where + Rsc::State: FocusHost + OpenUrl, + { + if self.shared.state.borrow().group_expanded != expanded { + toggle_group(rsc, &self.shared); + } + } + + /// Bring this row up to date with `calls` **without** rebuilding the + /// cards that did not change, and say whether that was possible. + /// `false` means the caller must rebuild the row the ordinary way. + /// + /// This is what the per-card `WidgetPtr` exists for: a `ToolEnd` + /// changes one call, so it costs one card, whatever else is in the + /// run. The same rule `RowBlocks::apply_delta` follows for the blocks + /// of a message. + /// + /// Refused when a call *left* the row or the calls were reordered: a + /// card's index is its call's position, and every registered handler + /// closed over that index. A run only ever grows at its end while it + /// is the live row, so the refused cases are the ones a page join + /// produces -- and those go through `Rebuild` already. + pub fn apply_calls( + &mut self, + rsc: &mut Rsc, + calls: &[TranscriptItem], + working: bool, + ) -> bool + where + Rsc::State: FocusHost + OpenUrl, + { + // A row that was tool calls and now holds something else is a + // different row, not a changed one -- and nothing here could draw + // a message anyway. + if calls.is_empty() + || !calls + .iter() + .all(|c| matches!(c, TranscriptItem::ToolRun { .. })) + { + return false; + } + let old = self.shared.calls.borrow().clone(); + if calls.len() < old.len() { + return false; + } + // Whether the group is drawn as one card or as a stack changes at + // exactly one call, and that is a different row, not a changed + // one. + if (old.len() == 1) != (calls.len() == 1) { + return false; + } + let changed: Vec = (0..old.len()).filter(|&i| old[i] != calls[i]).collect(); + self.shared.working.set(working); + *self.shared.calls.borrow_mut() = calls.to_vec(); + // The path out for the reader's own state: a call that is no + // longer in this row keeps no entry in `open`/`whole_output`. + let ids: std::collections::HashSet = calls + .iter() + .filter_map(|c| match c { + TranscriptItem::ToolRun { id, .. } => Some(id.clone()), + _ => None, + }) + .collect(); + { + let mut state = self.shared.state.borrow_mut(); + state.open.retain(|id, _| ids.contains(id)); + state.whole_output.retain(|id, _| ids.contains(id)); + } + + // A collapsed group draws no cards, so a changed call is worth + // nothing on screen -- unless the *count* changed, which is the + // whole of what its one line says. + if self.shared.cards.borrow().is_empty() { + if calls.len() != old.len() { + let content = build_content(rsc, &self.shared); + self.shared.set_content(rsc, content); + } + return true; + } + debug_assert_eq!( + self.shared.cards.borrow().len(), + old.len(), + "an open row draws exactly one card per call" + ); + + for index in changed { + redraw_card(rsc, &self.shared, index); + } + for index in old.len()..calls.len() { + let Some(column) = *self.shared.column.borrow() else { + // Only a group has a column to append to, and a lone card + // that gained a neighbour is a different row. + return false; + }; + let (widget, _card) = build_card_ptr(rsc, &self.shared, index); + // `get_mut` marks the column dirty, which is what gets the new + // card drawn; its removal half is the row's own, since the + // column owns the child strongly (`RowBlocks::apply_delta`). + if let Some(column) = rsc.ui_mut().widgets.get_mut(&column) { + column.push(widget); + } + } + true + } +} From 7e7cbb540268b340431bd5e968efcb639cce1af8 Mon Sep 17 00:00:00 2001 From: iris <2+iris@noreply.localhost> Date: Sun, 6 Sep 2026 22:49:51 -0400 Subject: [PATCH 3/3] Tool-call cards and grouping, with the state a result never arrived in P1b (docs/RUST.md). `transcript-ui/src/tool.rs` draws a card per tool call and a group per run: collapsed, a card is its name and the one-line summary `parse_tool_input` derives; open, it is the description, the input (highlighted, on the verbatim surface) and the output, capped with a "Show all N lines". A run is one surface with a heading and a chevron bar at its foot, so it closes from either end. Three things worth knowing. **A collapsed card lays out its summary line and nothing else.** The fixture's tool outputs are tens of kilobytes and a collapsed card never builds a widget for one -- `collapsed_cards_shape_only_their_summary_ lines` opens a three-card group over 88 kB of output each and asserts the text-shape count equals the same group's over three bytes (17 either way; 17 against 20 when the discipline is deliberately broken, so the test is real). **A result arriving replaces one card.** `ToolRow::apply_calls` is the group's half of `RowBlocks::apply_delta`'s rule, and `build_row` now hands back one `TailRow` -- blocks for a message, cards for a run -- rather than two mechanisms chosen at each call site. **Every tap is a tap**: `GestureOutcome::Tapped` out of the `DragArbiter` `Selection` already owns, so a drag that started on a card scrolls the transcript instead of opening it. Three defects found by looking at the render, all recorded with their repro in docs/IRIS_TODO.md: a `Span` of padded children inside another `Span` places them a slot out of step (worked around by building the group as one span, which costs the 4dp inset); `scrollable_on(Axis::X)` on a non-editable text draws nothing, so a card's command is clipped rather than pannable; and `NotoSans-Regular` has no U+25B8/25BE/25B4 at all, so the expander mark is set in the monospace face. Screenshots: docs/bench/p1b-2026-09-06/. Co-Authored-By: Claude Fable 5.1 --- docs/DECISIONS.md | 39 ++++++ docs/IRIS.md | 45 +++++++ docs/IRIS_TODO.md | 43 ++++++ docs/RUST.md | 113 +++++++++++++++- .../p1b-2026-09-06/iris-tools-collapsed.png | Bin 100602 -> 100587 bytes .../p1b-2026-09-06/iris-tools-expanded.png | Bin 117167 -> 116914 bytes iris/core/src/ui/render_state.rs | 11 -- iris/src/widget/list.rs | 24 +--- iris/transcript-ui/examples/transcript.rs | 27 +++- iris/transcript-ui/src/lib.rs | 23 ++-- iris/transcript-ui/src/markdown.rs | 7 +- iris/transcript-ui/src/row.rs | 10 +- iris/transcript-ui/src/tool.rs | 125 ++++++++++-------- 13 files changed, 356 insertions(+), 111 deletions(-) diff --git a/docs/DECISIONS.md b/docs/DECISIONS.md index 505e16f..6eb087a 100644 --- a/docs/DECISIONS.md +++ b/docs/DECISIONS.md @@ -5,6 +5,45 @@ they can be judged and reversed later. Detail lives in RUST.md (and IRIS.md for iris API changes); this file is only the summary. Newest first. Items marked **DEFERRED** are ones the agent chose not to decide alone. +## 2026-09-06 (how a tool call looks, P1b) + +- **A card that never got a result says "no result", in yellow, and it is + a state Compose cannot say.** A call that finished having printed + nothing and a call whose turn was interrupted before anything came back + both leave an empty output. Compose draws both as an ordinary finished + call, which reads as a fact somebody established. There are five states + now, each with a word and a colour: nothing at all for a call that + worked, "running" (grey), "your turn" (peach, Compose's own wording and + colour), "failed" (red), "no result" (yellow). + +- **A failed call is drawn as failed, which needed a field on the wire.** + `is_error` is on the CLI's `tool_result` and was being dropped; the + server now carries it to the phone. Reversible, but the alternative is a + card that says a call succeeded because it cannot tell. + +- **A group's cards do not each carry their own surface.** Compose gives + each card a fill and squares the corners where it faces a neighbour, so + a run reads as one object broken into parts. iris has no per-corner + radius, and -- more to the point -- a group built the way Compose builds + it hit a framework layout defect that drew every card's text a card + below its own box. So a group is one surface with its cards on it, + separated by a small gap, and the 4dp inset Compose holds them off the + edge by is gone. Worth revisiting once the layout defect is fixed + (docs/IRIS_TODO.md). + +- **A long tool output is capped at 80 lines or 4 kB with a "Show all N + lines".** Compose draws the whole thing, and gets away with it because + its `Text` inside a `LazyColumn` lays out lazily; here the output is one + text widget and shaping a hundred kilobytes of it costs what the file + editor's 32 kB limit was measured against. If iris's text gets cheaper, + this is the number to move. + +- **A card's command is clipped, not pannable, and its summary line is + clipped rather than ellipsised.** Both are framework gaps rather than + choices (`scrollable_on` on a non-editable text draws nothing; there is + no overflow ellipsis), and both are worse than Compose today. Named here + because they are visible. + ## 2026-09-06 (how a markdown block looks, P1a) - **A table is drawn as padded monospace columns, not as a grid.** Your diff --git a/docs/IRIS.md b/docs/IRIS.md index 8f1cbe7..9a5f02b 100644 --- a/docs/IRIS.md +++ b/docs/IRIS.md @@ -8,6 +8,51 @@ capability that moved. Small and trivial changes do not go here. An entry gives the date, what changed, why, and a short before/after where it helps judge the change without the session that made it. Newest first. +## 2026-09-06: tool cards, `ToolState`, and a screen that knows whether its session is working + +`transcript_ui::tool` is new: a card per tool call, a group per run +(P1b). Three things in the public surface follow from it. + +**`client_core::transcript_fold::ToolState`** is what a card colours +itself by -- `Running`, `Deciding`, `Succeeded`, `Failed`, `NoResult` -- +built by `ToolState::of(&item, session_working)`. The pair it exists for +is `Succeeded` against `NoResult`: a call that finished having printed +nothing and a call whose result never arrived both leave an empty +`output`, and drawing them the same way states a verdict nobody reached. +Only the session's own status separates them, which is why `of` takes it. + +**`event_model::Event::ToolEnd` gained `is_error`** (`#[serde(default)]`, +so an older transcript still parses), and +`client_core::transcript_fold::TranscriptItem::ToolRun` gained `failed`. +Without them a result was everything a card knew and a broken call drew +exactly as confidently as one that worked -- the missing state, not a +wrong one. Every construction site of both had to gain a field; the value +comes from the CLI's own `tool_result`, read in one place +(`import::tool_result_is_error`) by both the live translator and the +import replay. + +**`TranscriptScreen::set_session_working(rsc, bool)`** is new, and is the +only thing that writes it. Before: a card with no result was drawn the +same whether its turn was still going or had been interrupted. After: +only the *newest* row can say "running", because every row behind it +belongs to a turn that has ended, and changing the flag redraws that one +row rather than the screen. `TranscriptScreen::expand_tail_tools(rsc, +bool)` joins it, answering whether there was a tool run to act on -- a +group's expanded appearance is otherwise unreachable from anything that +cannot press the screen. + +**`transcript_ui::row::build_row` now returns a `TailRow`** rather than an +`Option`: `Blocks` for a message (a delta costs the last +markdown block) or `Tools` for a run (an arriving result costs one card). +One mechanism for "what can this row change cheaply", asked of the row +rather than decided again at each call site. It also takes the row's own +`working` flag. + +Two smaller ones. `client_core::tool_summary::parse_tool_input` is +`ToolInput.kt`'s subject/description/timeout/rest split, and +`client_core::durations::format_millis` is `Durations.kt`'s -- both pure, +both with the Kotlin's own tests ported. + ## 2026-09-06: a tap is its own gesture outcome, and opening a URL is a backend capability Three related additions, all for following a markdown link. diff --git a/docs/IRIS_TODO.md b/docs/IRIS_TODO.md index d3fc0f9..3ae6cf1 100644 --- a/docs/IRIS_TODO.md +++ b/docs/IRIS_TODO.md @@ -639,6 +639,49 @@ agent ticks it here with the evidence. it is its own item, most likely the report pane not masking or not claiming its region. +## Found by P1b (2026-09-06), all with a headless repro + +Each was found by looking at `iris/run-headless.sh transcript -- -p +transcript-ui` rather than at a diff, and each is worked around in +`transcript-ui/src/tool.rs` rather than fixed here. docs/RUST.md's P1b box +has the fuller account. + +- [ ] **A `Span` of `Pad`ded children inside another `Span` places those + children a slot out of step.** Each child drew its content one sibling's + height below its own box. Repro: `IRIS_TOOLS_EXPANDED=1 + iris/run-headless.sh transcript --shot /tmp/x.png -- -p transcript-ui` + with `tool.rs`'s group built as `Span(DOWN)[header, Pad(Span(DOWN) + [cards]), bar]` instead of the single `Span` it uses now. Bisected: + removing the inner `Span` fixes it, and so does removing the children's + own `Pad`; the background `Stack`, the `Sized` wrappers and the + `WidgetPtr` per child make no difference. **Not** the `mov`-vs- + `reposition` fault f5b8893 fixed -- it survives that commit. The + workaround costs the group the 4dp inset its Compose counterpart holds + its cards off the edge by, so this is worth fixing. +- [ ] **`scrollable_on(Axis::X)` on a non-editable `Text` draws nothing.** + The panel is drawn and the text inside it is not. A markdown fence does + the same to a `TextEdit` and is fine, so it is the widget kind rather + than the chain. `tool.rs`'s `raw_block` is `masked()` only until this is + fixed, which means a long command is clipped rather than pannable. +- [ ] **No overflow ellipsis.** `TextAttrs` can wrap or not wrap; there is + no "one line, ellipsised" the way `maxLines = 1` + `TextOverflow. + Ellipsis` gives Compose. A tool card's summary is clipped instead, so + nothing on screen says it was cut. Whichever end is cut has to be a + choice when this lands: a path is identified by its tail, a command by + its head. +- [ ] **A drawn chevron.** `Chevron.kt` draws its own strokes precisely + because a chevron from a font is a glyph a system font may not have -- + and the bundled `NotoSans-Regular.ttf` indeed has no U+25B8/25BE/25B4, + while `NotoSansMono-Regular.ttf` does. `tool.rs` sets the mark in the + monospace face as a result. A real fix needs a line/path primitive; + iris has rects, text and textures only. +- [ ] **A tool card's text is not selectable.** `Selection` is keyed + `(RowKey, block index)` and a card has no markdown blocks, so nothing in + a card registers. Compose's `SelectionContainer` covers tool output, + which is the text people most want to copy. Needs a key for "the nth + text of this row" that a card can mint without colliding with a + message's blocks. + ## Build (for the port) Widgets `RUST.md`'s "The port, in order (decided 2026-09-05)" needs and diff --git a/docs/RUST.md b/docs/RUST.md index 8e215eb..1bd626d 100644 --- a/docs/RUST.md +++ b/docs/RUST.md @@ -5687,12 +5687,113 @@ device. correctly, and an emulator bench run with assertions live and no abort (`2438 frames over 147.7s, p50 27.2ms`). - - [ ] **P1b — tool-call cards and grouping.** `ToolRows.kt`/ - `ToolInput.kt`'s cards: a collapsed row per call with name - and a one-line summary, expand to input and output, runs of - calls grouped (`adopt_run` already groups in `client-core`), - the busy/failed states, and the kilobyte outputs the fixture - carries without laying them out while collapsed. + - [x] **P1b — tool-call cards and grouping.** Done 2026-09-06. + `ToolRows.kt`/`ToolInput.kt` ported to + `iris/transcript-ui/src/tool.rs` plus two new pure modules in + `client-core`. **Screenshots: + `docs/bench/p1b-2026-09-06/iris-tools-collapsed.png` and + `iris-tools-expanded.png`**, both from + `iris/run-headless.sh transcript -- -p transcript-ui` on the + desktop/winit backend (the emulator was not touched this pass + -- another agent held this checkout's AVD). The expanded one + is taken with `IRIS_TOOLS_EXPANDED=1`, which the example reads + to call `TranscriptScreen::expand_tail_tools` -- the expanded + appearance is otherwise unreachable on a machine with no + display and no finger. + **What the cards look like, against `ToolRows.kt`:** + - *A collapsed card* -- a mark, the tool's name (14pt), the + one-line summary `parse_tool_input` derives (12pt, Subtext + 0, one line, clipped), and the state word at the far right. + Same as Compose, except that Compose ellipsises the summary + and iris clips it: there is no overflow-ellipsis in + `TextAttrs` yet (IRIS_TODO). + - *An open card* -- the timeout at the top right, the tool's + own description, the subject in a `Verbatim` panel with + `client_core::highlight`'s spans, the leftover input fields + under it, then the output. Same order as Compose. + - *A group* -- "Called N tools" (Compose's exact wording, and + so the name a `ui-trace` script taps), the cards on a Mantle + surface, and a chevron bar at the foot that closes it from + the end the reader is looking at. + - *States* -- `client_core::transcript_fold::ToolState`, five + of them, each with its own word and colour: nothing for + `Succeeded`, "running" (Subtext 0), "your turn" (Peach, the + Compose card's own wording and colour), "failed" (Red) and + **"no result" (Yellow)**. The last two are new -- Compose + can say neither. + **Two things the port had to add to be able to say "it + broke".** `event_model::Event::ToolEnd` gained `is_error` + (`#[serde(default)]`), read from the CLI's own `tool_result` + by one function used by both the live translator and the + import replay (`import::tool_result_is_error`); without it a + result was all a card had and a failed call drew exactly as + confidently as one that worked. And `ToolState` separates + `Succeeded`-with-empty-output from `NoResult`: both leave the + same empty string, and only the session's own status tells + them apart, which is why `TranscriptScreen:: + set_session_working` exists and why only the *newest* row can + be "running" (every row behind it belongs to a turn that has + ended). + **Pass condition, met**: + `collapsed_cards_shape_only_their_summary_lines` + (`transcript-ui/src/lib.rs`) opens a group of three cards + whose calls carry 88 kB of output each and asserts the + text-shape count equals the same group's over three bytes. + **17 either way.** Confirmed to be a real test, not a + tautology, by pushing the output block into the collapsed + branch: **17 against 20**. + `a_result_arriving_redraws_one_card_whatever_the_run_holds` is + the second: one `ToolEnd` costs the same number of + `Widget::draw` calls in a twelve-call run as in a three-call + one. + **Three defects found on the way, all by looking at the + render rather than at the diff:** + 1. **A `Span` of `Pad`ded children inside another `Span` + places those children a slot out of step.** Every card drew + its content one card's height below its own box, so the + group read as empty bars with somebody else's summary in + them. Bisected against + `IRIS_TOOLS_EXPANDED=1 iris/run-headless.sh transcript`: + removing the inner `Span` fixes it, and so does removing + the cards' own `Pad`; the card background, the `Sized` + wrappers and the per-card `WidgetPtr` all make no + difference. Worked around by building the group as **one** + `Span` (header, cards, collapse bar), which costs the 4dp + inset Compose holds its cards off the group's edge by. The + framework defect is still open -- IRIS_TODO has it, and it + is not the `mov`/`reposition` one f5b8893 fixed (it + survives that commit). + 2. **`scrollable_on(Axis::X)` on a non-editable `Text` draws + nothing at all** -- an empty panel where the command should + be. A markdown fence does the same thing to a `TextEdit` + and is fine. So a card's verbatim block is `masked()` and + clips rather than panning; when this is fixed the pan + belongs there too, because the long command is the one + being read closely. + 3. **`NotoSans-Regular.ttf` has no U+25B8/25BE/25B4** (read + out of the bundled `cmap`s) while `NotoSansMono-Regular` + does, so the expander mark is set in the monospace face at + the one place the character is written. The old + `build_tools` summary drew that codepoint in the sans face, + which was a missing glyph nobody had looked closely enough + to see. + **Checks**: `cargo fmt --all --check` clean in both + workspaces; `cargo clippy -p iris -p iris-core -p + transcript-ui -p desktop-app -p tabs-ui --all-targets` and + `cargo clippy --all-targets` in `client-core`/`server`/ + `event-model` warning-free; tests 86 (iris) + 13 (iris-core) + + 36 (transcript-ui, +5) + 137 (client-core, +11) + 160 + (server, +1). + **Not done**: nothing on the emulator or the phone (the AVD + was another agent's this pass, so no frame times were taken); + a card's text is not selectable, unlike Compose's, since + `Selection` is keyed per markdown block and a card has none + (IRIS_TODO); no per-corner radius, so the "connected stack" + shape `connectedShape` draws is a 2dp gap instead; + `AskUserQuestionBody`/`PermissionAsk`'s answer buttons are not + ported -- an unanswered ask forces its card open and says + "your turn", but there is nothing to press yet, which is P1d's + modal/controls work. - [ ] **P1c — history paging and jump-to-latest.** Wire `client-core::transcript_source` into `transcript-ui`: the opening page, paging back on scroll with the cushion diff --git a/docs/bench/p1b-2026-09-06/iris-tools-collapsed.png b/docs/bench/p1b-2026-09-06/iris-tools-collapsed.png index d46ff6be435bd79cd40a7730d978b6a5e0097e60..599fcba2234d26305cfdebb5ee476637b93bd3ac 100644 GIT binary patch delta 70863 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%0DV}?#+wcUN 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

fd8|c%n0#bxZ=ul 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 delta 70879 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�sPVMJ5e)1Ywg>lITu(%VaM${b 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 #B#gLxx|o+o~fQ# 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 aJuOQKk;gnz$;n%73+5(gjz2~@NB FoldedRow { /// One tool call. `result` is `None` for a call with no result yet and /// `Some((output, failed))` for one that answered. fn tool_call(id: &str, tool: &str, input: &str, result: Option<(&str, bool)>) -> TranscriptItem { + tool_call_in("run1", id, tool, input, result) +} + +/// The same, in a named run. Two runs in one transcript must not share a +/// `run_id`: it is the row's identity in the list (`row::row_key`), and +/// two rows under one key is the duplicate-key fault AGENTS.md's +/// "Importing" section describes. Here it made two rows swap cached +/// heights and draw at each other's boxes. +fn tool_call_in( + run: &str, + id: &str, + tool: &str, + input: &str, + result: Option<(&str, bool)>, +) -> TranscriptItem { TranscriptItem::ToolRun { seq: 3, id: id.into(), - run_id: "run1".into(), + run_id: run.into(), tool: tool.into(), input: input.into(), output: result.map(|(out, _)| out.to_string()).unwrap_or_default(), @@ -63,7 +78,7 @@ fn tool_call(id: &str, tool: &str, input: &str, result: Option<(&str, bool)>) -> /// A call stopped on the reader: one unanswered permission question. fn asking(id: &str, tool: &str, input: &str) -> TranscriptItem { - let mut call = tool_call(id, tool, input, None); + let mut call = tool_call_in("run2", id, tool, input, None); if let TranscriptItem::ToolRun { asks, .. } = &mut call { asks.push(QuestionCard { seq: 9, @@ -212,19 +227,21 @@ impl DefaultAppState for Client { screen.push_row( rsc, &FoldedRow::Tools(vec![ - tool_call( + tool_call_in( + "run2", "t6", "Read", r#"{"file_path": "docs/RUST.md"}"#, Some(("# Moving the app to Rust\n", false)), ), - tool_call( + tool_call_in( + "run2", "t7", "Bash", r#"{"command": "cargo clippy --workspace --all-targets"}"#, Some(("error: unused variable `x`", true)), ), - tool_call("t8", "Glob", r#"{"pattern": "**/*.rs"}"#, None), + tool_call_in("run2", "t8", "Glob", r#"{"pattern": "**/*.rs"}"#, None), // Waiting on a permission, so this card is drawn *open* // whatever the reader last chose -- the command is the // thing being decided, and a row saying only "Bash" diff --git a/iris/transcript-ui/src/lib.rs b/iris/transcript-ui/src/lib.rs index df82adf..ece235e 100644 --- a/iris/transcript-ui/src/lib.rs +++ b/iris/transcript-ui/src/lib.rs @@ -177,7 +177,10 @@ impl TranscriptScreen { // A tool call is drawn as a card, never as markdown, so a // row that kept blocks and now holds one is a different // row -- rebuild it. - if matches!(item, client_core::transcript_fold::TranscriptItem::ToolRun { .. }) { + if matches!( + item, + client_core::transcript_fold::TranscriptItem::ToolRun { .. } + ) { return false; } blocks.apply_delta( @@ -886,10 +889,7 @@ mod apply_tests { rsc: &mut TestRsc, items: &[TranscriptItem], ) -> (TranscriptScreen, StrongWidget, UiRenderState) { - let (screen, tree) = build_tree( - rsc, - client_core::transcript_fold::group_tool_runs(items), - ); + let (screen, tree) = build_tree(rsc, client_core::transcript_fold::group_tool_runs(items)); let mut render = UiRenderState::new(); render.resize((1080.0, 20000.0)); render.update(&tree, rsc); @@ -1037,7 +1037,11 @@ mod apply_tests { screen.apply(&mut rsc, &before, &after); render.update(&tree, &mut rsc); assert_eq!(screen.take_rebuilds(), 0); - assert_eq!(screen.tail_card_count(), 3, "the group closed under a result"); + assert_eq!( + screen.tail_card_count(), + 3, + "the group closed under a result" + ); assert!(screen.expand_tail_tools(&mut rsc, false)); assert_eq!(screen.tail_card_count(), 0); @@ -1061,7 +1065,11 @@ mod apply_tests { assert_eq!(screen.tail_card_count(), 2); screen.apply(&mut rsc, &before, &after); render.update(&tree, &mut rsc); - assert_eq!(screen.take_rebuilds(), 0, "an appended call is not a rebuild"); + assert_eq!( + screen.take_rebuilds(), + 0, + "an appended call is not a rebuild" + ); assert_eq!(screen.tail_card_count(), 3); } @@ -1091,5 +1099,4 @@ mod apply_tests { // than cards -- and nothing panicked on the way. assert_eq!(screen.tail_card_count(), 0); } - } diff --git a/iris/transcript-ui/src/markdown.rs b/iris/transcript-ui/src/markdown.rs index e704345..883c741 100644 --- a/iris/transcript-ui/src/markdown.rs +++ b/iris/transcript-ui/src/markdown.rs @@ -399,7 +399,12 @@ fn options() -> Options { /// (`highlight`'s module doc), so the offsets are walked once rather than /// converted per span -- a fence is scanned on every delta that lands in /// it, and it is the only block a delta re-renders. -pub(crate) fn highlight_into(spans: &mut Vec, text: &str, range: Range, language: Language) { +pub(crate) fn highlight_into( + spans: &mut Vec, + text: &str, + range: Range, + language: Language, +) { let code = &text[range.clone()]; // char index -> byte offset within `code`, plus the end, so a span's // `end` is always in range. diff --git a/iris/transcript-ui/src/row.rs b/iris/transcript-ui/src/row.rs index 39ee8c2..b546222 100644 --- a/iris/transcript-ui/src/row.rs +++ b/iris/transcript-ui/src/row.rs @@ -501,14 +501,8 @@ where }; if let Some(calls) = calls { let key = row_key(&calls[0].key()); - let (widget, tools) = crate::tool::build_tool_row( - rsc, - list, - selection, - key, - calls.to_vec(), - working, - ); + let (widget, tools) = + crate::tool::build_tool_row(rsc, list, selection, key, calls.to_vec(), working); return (key, widget, Some(TailRow::Tools(tools))); } let FoldedRow::Single(item) = row else { diff --git a/iris/transcript-ui/src/tool.rs b/iris/transcript-ui/src/tool.rs index 6840ce8..4bb4630 100644 --- a/iris/transcript-ui/src/tool.rs +++ b/iris/transcript-ui/src/tool.rs @@ -77,11 +77,6 @@ const LABEL_SIZE: f32 = 11.0; /// The room inside a card, and so the height a bar of one line of text /// comes to (`ToolRows.kt`'s `GROUP_INSET_LARGE`). const CARD_PAD_DP: f32 = 12.0; -/// How far the stack of calls is held off the edge of the surface it sits -/// on -- the container's own padding, not an indent. -const GROUP_INSET_DP: f32 = 4.0; -/// Enough to read the join as a join rather than as one tall card. -const GROUP_GAP_DP: f32 = 2.0; /// A card's corner: `shapes.medium`, the same as every other card in the /// app. const CARD_RADIUS_DP: f32 = 12.0; @@ -107,6 +102,10 @@ const RAW_PAD_DP: f32 = 8.0; /// many short lines, a minified file is one enormous one. const OUTPUT_LINES: usize = 80; const OUTPUT_BYTES: usize = 4096; +/// A cap of nothing would draw an empty panel and a "Show all" for every +/// output there is, which reads as a rendering fault rather than as a cap. +/// Checked at compile time, since both are constants. +const _: () = assert!(OUTPUT_LINES > 0 && OUTPUT_BYTES > 0); /// The mark that says a card opens, always drawn from the **monospace** /// face. @@ -151,9 +150,6 @@ struct Shared { /// draws no cards at all. Its path out is [`build_content`], which /// clears it before building whatever replaces them. cards: RefCell>>, - /// The column those cards sit in, so a call appended to a run can be - /// pushed into it. `None` unless the group is open. - column: RefCell>>, /// The whole row's content, swapped when the group opens or closes. /// Filled in immediately after construction -- the `WidgetPtr` cannot /// exist before the `Rc` every handler inside it captures. @@ -225,12 +221,26 @@ fn on_tap( /// pass resolves against -- the two-step contract that module's doc /// describes for `AGENTS.md`'s `holdTopEdge`. fn note_tap(rsc: &mut impl UiRsc, shared: &Shared) { - let (top, _bottom) = (shared.list)(rsc).extent(shared.key).unwrap_or((0.0, 0.0)); - (shared.list)(rsc).note_tap(top); + // Only when the list actually has an extent for this row. `None` + // means the row has not been drawn yet -- which happens the moment + // something opens a group before the first frame + // (`TranscriptScreen::expand_tail_tools`, the headless screenshot) -- + // and standing in `0.0` for it tells the layout pass to hold an edge + // at the top of the viewport that nothing was ever at. The whole list + // then places itself against that invented anchor: rows drawn at each + // other's cached heights, tool cards as empty bars with their text a + // group's height below them (`docs/bench/p1b-2026-09-06/`'s first + // attempt). Nothing to hold is not the same as an edge at zero. + if let Some((top, _bottom)) = (shared.list)(rsc).extent(shared.key) { + (shared.list)(rsc).note_tap(top); + } } fn text(content: impl Into, size: f32, color: UiColor) -> TextBuilder { - wtext(content).size(size).color(color).text_align(Align::LEFT) + wtext(content) + .size(size) + .color(color) + .text_align(Align::LEFT) } /// A verbatim block: monospace on the surface everything verbatim in this @@ -238,9 +248,14 @@ fn text(content: impl Into, size: f32, color: UiColor) -> TextBuild /// /// Not wrapped for `ToolInput.kt`'s reason -- a wrapped command hides /// where its arguments end, and the long one is the one being read -/// closely. The same `scrollable_on(Axis::X).masked()` a markdown fence -/// gets in `row.rs`, so a command and a fence behave the same way under a -/// finger. +/// closely. A long line is **clipped** here rather than pannable, which a +/// markdown fence (`row.rs`'s `BlockFrame::Verbatim`) is not: adding +/// `.scrollable_on(Axis::X)` to this non-editable `Text` made it draw +/// nothing at all -- an empty panel where the command should be, seen on +/// 2026-09-06 in `docs/bench/p1b-2026-09-06/` and bisected to that one +/// call (the fence, which does the same thing to a `TextEdit`, is fine). +/// Recorded in docs/IRIS_TODO.md; when it is fixed, the pan belongs here +/// too, because the long command is the one being read closely. fn raw_block(rsc: &mut Rsc, body: TextBuilder) -> StrongWidget where Rsc::State: FocusHost, @@ -251,7 +266,6 @@ where .wrap(false) .add(rsc); field - .scrollable_on(Axis::X) .masked() .pad(dp(RAW_PAD_DP)) .background(rect(VERBATIM_BACKGROUND).radius(dp(RAW_RADIUS_DP))) @@ -311,7 +325,6 @@ fn group_label(count: usize) -> String { /// from the top, and the line saying what went wrong is nearly always the /// first. (A path is identified by its other end; this is not a path.) fn capped(output: &str) -> Option<(&str, usize)> { - debug_assert!(OUTPUT_LINES > 0 && OUTPUT_BYTES > 0, "an empty cap shows nothing at all"); let by_lines = output .char_indices() .filter(|(_, c)| *c == '\n') @@ -425,17 +438,25 @@ where // A call waiting on permission is shown open whatever the reader last // chose: the command is the thing being decided, and a row saying only // "Bash" cannot be decided on (`ToolRows.kt`). - let open = - shared.state.borrow().open.get(id).copied().unwrap_or(false) || call_state == ToolState::Deciding; + let open = shared.state.borrow().open.get(id).copied().unwrap_or(false) + || call_state == ToolState::Deciding; let mut header = Span::empty(Dir::RIGHT).gap(dp(GAP_DP)); header.push( - text(if open { OPEN_MARK } else { CLOSED_MARK }, BODY_SIZE, MUTED_COLOR) - .family(Family::Monospace) + text( + if open { OPEN_MARK } else { CLOSED_MARK }, + BODY_SIZE, + MUTED_COLOR, + ) + .family(Family::Monospace) + .add_strong(rsc) + .any(), + ); + header.push( + text(tool.clone(), NAME_SIZE, NAME_COLOR) .add_strong(rsc) .any(), ); - header.push(text(tool.clone(), NAME_SIZE, NAME_COLOR).add_strong(rsc).any()); match (open, parsed.title()) { // Open, the summary is redundant -- the input below is the same // thing in full -- and the space goes to the timeout instead, at @@ -562,7 +583,13 @@ where debug_assert!(false, "tapped card {index} is no longer in the row"); return; }; - let was = for_tap.state.borrow().open.get(&id).copied().unwrap_or(false); + let was = for_tap + .state + .borrow() + .open + .get(&id) + .copied() + .unwrap_or(false); for_tap.state.borrow_mut().open.insert(id, !was); redraw_card(rsc, &for_tap, index); }); @@ -608,7 +635,6 @@ where Rsc::State: FocusHost + OpenUrl, { shared.cards.borrow_mut().clear(); - *shared.column.borrow_mut() = None; let count = shared.calls.borrow().len(); debug_assert!(count > 0, "a tool row with no calls has nothing to draw"); @@ -641,23 +667,23 @@ where .add_strong(rsc) .any(), ); - let mut column = Span::empty(Dir::DOWN).gap(dp(GROUP_GAP_DP)); + // The cards go straight into the group's own `Span`, not into a + // second one inside it. **A `Span` of `Pad`ded children inside another + // `Span` places those children a slot out of step** -- each card's + // content drew one card's height below its own box, so the cards read + // as empty bars with somebody else's summary in them. Bisected on + // 2026-09-06 against `iris/run-headless.sh transcript` with + // `IRIS_TOOLS_EXPANDED=1`: removing the inner `Span` fixes it and + // removing the cards' own `Pad` fixes it, while the card background, + // the `Sized` wrappers and the per-card `WidgetPtr` all make no + // difference. It is a framework defect rather than this file's -- + // docs/RUST.md's P1b box and docs/IRIS_TODO.md carry the repro -- and + // one `Span` is the shape that works today. What it costs is the 4dp + // inset the Compose group holds its cards off its edge by; the cards' + // own padding stands in for it. for index in 0..count { - column.push(build_card_ptr(rsc, shared, index).0); + group.push(build_card_ptr(rsc, shared, index).0); } - let column = column.add(rsc); - *shared.column.borrow_mut() = Some(column); - group.push( - column - .width(rest(1)) - .pad(Padding { - left: dp(GROUP_INSET_DP), - right: dp(GROUP_INSET_DP), - ..Padding::ZERO - }) - .add_strong(rsc) - .any(), - ); // Shutting it from here anchors the other end: the reader is at the // bottom of a long group, and what they are looking at is what follows // it (`ToolRows.kt`'s `CollapseBar`). @@ -728,7 +754,6 @@ where calls: RefCell::new(calls), state: RefCell::new(ToolRowState::default()), cards: RefCell::new(Vec::new()), - column: RefCell::new(None), content: RefCell::new(None), list, selection, @@ -857,19 +882,15 @@ impl ToolRow { for index in changed { redraw_card(rsc, &self.shared, index); } - for index in old.len()..calls.len() { - let Some(column) = *self.shared.column.borrow() else { - // Only a group has a column to append to, and a lone card - // that gained a neighbour is a different row. - return false; - }; - let (widget, _card) = build_card_ptr(rsc, &self.shared, index); - // `get_mut` marks the column dirty, which is what gets the new - // card drawn; its removal half is the row's own, since the - // column owns the child strongly (`RowBlocks::apply_delta`). - if let Some(column) = rsc.ui_mut().widgets.get_mut(&column) { - column.push(widget); - } + // A call *joining* the run rebuilds the row's content rather than + // appending one card: the group's `Span` holds its collapse bar + // after the cards, and `Span::push` would put the new card behind + // it. That is still O(this row) -- every other row is untouched -- + // and it is much rarer than a result arriving, which is the case + // the per-card `WidgetPtr` above exists for. + if calls.len() > old.len() { + let content = build_content(rsc, &self.shared); + self.shared.set_content(rsc, content); } true }

TyIErJM}(CQXzBSoG$Nwzk&G3kq`-Pa5CQtiW7ywGIvF zP2%t~N^5+kke-!w`-z36gtr0oJt*O@gKT^ zs?)*lx7xJOP<&+7ZN4)c*8SPYn?JXs7Pw~6`%9OvPU*uCD=W;!#XaU4NK12b-WW3r zv+UelS`JY$lpkYp@!g%Axpb^iH+t?kN0~CtnE7i70W+ZXMXa{vOw=yENPD7^q9a3d z=FBq)L`0lz3^R+Phc|b$c-BTE3f+qt#i*EKZDnPB-VQ;YsF~E%mu;n`B~H%HdmAI) zbaW`Gr8nU6n?0t_xm8oXrK#gOJEd;i024SX4FQPr!K>NZcaHQm@r^(v!C}qJ@Gi}{ zK5od^eANZY#Js$ts9n;9d7zQgC4~J-gw`NSjA1bqmYo0@ax276(?%FI!oIbZgq?Hq{Ppk9S^41 zIQ#$*jB~sg^6@O^jk>7F3q}r+U*dH5{Sp#J_0R1)?Cvy_zOE0o83gV-W9|;4;@sRh zkJ|=)NGy`Wy0O_{aPP)ot>vcN$rQ;^(0^WL+n4${x2T(u!*7>13&gp-gIy0Rjz_y! z@^fw;Qxzwuyqnc0k`oeo%k2U|Xzc82TkR=@q%{(wZ9NDd51EV$N`Xn&WTzfr?dGx_ zM@Dpc+QXZzXJ@(AN8QIOaH2r^x6q}zT(X9%usLY%$sO_@L#hu=P2IO!UpaNE!_d%Z zZH!bQ+tX*+IR@W~^KbC|byZ@FMdfSFNht*rUc^I>wrBP@jFe~Vxq1tM6d8>1N>FjJ z8uE5aEfG(Jwb@_R9Oz&f(sCLUp77eUpQtuWENAs&R7ns`7PI_@Kva+`=bT(t#%oo^ z_Mp%(IpPv0`0O^Vyfd_PFk-*3G@m-nYf&@5_Ya&|lZgsJJ*M1c_I;fb9T|0|eDoVQ zSvPXJe~6p|cw-Q4Uq5&cQ}-Q3tv*k9(F&oBd3&^yv5CQX&JBsgK-jo%{#;%W&(SR% z93P4D1Fi|z*T*x)3Y)rQVID%*zu`+oYSz{(OhQTL6%4S@={8MchU=nud{yp`A3$V; z2ltUu^nctE^M*`cBiJaO(=(TW1ye^`*Dn68h-?XbKpUr(In5v~j?B(}o+N7bqi){c z-~aXNA6PcYS8ulOYmru`k66U*s4k;pFMk~BMNU^u#=}3W|o8IDH$0V zc^f1p=W7NRg(p|jaO4TFV<#W#SiQ|sHB6?;Y>dqG$Ohlk($?;p?99x2(3K=7?mS3t zXw%BP$y3|&Cw{b0BL4^)MRrTy9{$`26uGMyJx5BO?xEeLe2F^PA`FMJ)l7E>K^q_d zBK(G;edOMCj)#h^oZ4{I1DenA@jc|(>dTp;uD#hlr=NoeF6+@81R%oP+|4Y@z3BM1 zLPgkMe}9s&-QE{u=@-o};Py7E_2$T}_9E%6kGg`gxTGuby1Ds0Frr56*~&YTi}Kt$ zS{tO{_g;y5928Bb)zvAeCf}=`2`QYE{k@_O?i5UVfEauDt@Idyy`x@kWtVyn4~O+d zB&Uq{Eb$*d@n8R<#12bAYu=tYSZqR-xH@jr98m|3B@-t!8sRI7H0-)ktaoMi|NS8+ zXts^@-VK5Q*EODP49Wi{HW=8Q{*byQbGYc+R5(#WLk|fL?Qq&XOLd!dYk23pAOUb} z+Dv*1MhzU*-$K;+<~KsvrCUmFR%WBLvF}jE4hhn5WSDPmOw3+-OCN~JlpotA&4;ww z_b^+*K`rM(p25wQ@k)iT9aRhomIY9~OOogv(U$)9n(XYNJefrS9gEGm%WP5SuO-f} zF<06jEx02TBms)t++aNqVE#E384%(bP5Q4!#T_I?S;Dl>?QR9Tcx)J2|4v8AEHzDk zE$y*FLzzYL$#G}65rc)et(}ZrkO^H>;Mc7#ae#B`4r~sw(_a(sJ@oG@PCK2NdSgMr zfLs6YXkknsDy!4Q-TiRBdvaAh8vzhTV;F1p_Nu=lKTb78il4YHcA5=LPFk#3COcuc;=<%#!laVqz#k zV;T4!-Vv!$ZQViqmBqx~{sNXKI}^X2;OC#$C1mH8UP*f_1?@69Oklk@Wn{{fhuC(C zx)ubG#@P2!X@icL!B{WZhXiak~-WsrJwy~DV*-MAs{ z+4H)G%O4u-sr zt2Xc8!(JnQ04>VRsNmB54N5tcN2RatC1#{3E3dhzdulE3`3Ql}l856_EmTS&=yO^l z*l}t+HnIyH{w9Tlo*Nn%xTqil^$?Pf*k3!e0hxkzU-?7HH&>a~4UhwVPx7^(Qx(4Io7XWI|e9O$#GHHdghCmD+2m_XI_hXcmyY{4)i&?dtIB_978%w zaQrN}Y_l?$PZ~SCIR7(N?O&_eg{p?Yym{{V2L0Yi}n3kq~zrdf1+s8f)aN4Uo;AQe9N`Z0#nmuqQ7 zTy9%W(L2MjW|to;Xe>qolb-^@pF<$PcdiKl&)AE{Fy{nSMPxCr$eVc%&pWw>uPrh8 zP#0A=L0%1-0|{@`%>~wbW}v6lN|awp6}mu1ojvX3MpstidR_sfE#WHd(vHNEnw16C z+^<`61rt!r_WBAR}uS9sPwxqNl5+< z4G(Acf0;A#A;Pid6(4g}7Q$>GajcRq2S0=RV)F&q8=90?`jJC9u4C-*;hpxLy}>X( zRsadebN)>c8#y^S^w*?HzJ4w0e;%I5wla!p`eCdp19Jg4jpe7FA^;_lq@BrznJ-jx z!R{w$SWFB??Uq`)0W3wwyd-XwEq&D2qY#vy{tpMp{)Q}c0I9xDsnx&ScnqDtQwyBR z8QS6!;=K+ZD>f)`nh48!-`J;+K@-9HP@;j1LVa2vh#{Ewkzj9YnZ=G24b<}p^Qx{a zvvBdngM=(PUm0u|E;XXJWJVe%H8HE6U|$69kv5z0{+klmt&D4&3j0~R6@uP~ER0G) z{S+-9DU}#k1=-?GVPgkSLsimYtYQvHJa{ z{&s`NxU52lErtl2)urt^t|@l5-@8lBM{DyBZWQ3io-PT}%IMAgTvyz+tK!t7UWYet zZht;M?Hd{}Kfj2142$4T{_y8XE&k-)D|Www1^bHz+U_xT)0-t2ozCEJ@lvV)ukKU^U$u%TFMkO+Ck^Q={$yX5cKHppr(A)7xcahZpCJP$A-Uu3Zacc3S|5#{dcpo80fcu;s0G4LiCO0MbobRJ@x zRG%hNm)e)VZV(m_`l$l+*Qbb^h9_$4Xe5c=;$Ns3u2s%BH?VSR$f;lj0&el5Lc4Kg-L^mE*H_UXaw=#2+G3jE`$wv}a$tpKS}Z(% z>>uqpb-aGIHZ`{Ct+bgG!Gpu^#f8+$8MY(u+OA|tIfoy@fV1iKFV)r6Eo=hx*leI| zAoMPN^CR22vOPDTY`qrt8{E`GyNIY)SGBH#2tu=gF_G_Fw4eXJccMq-!2X7C(LCv>7N!j(g!W!g_qlD8Br*fAUf}{e&hy*sV>> zRdBi82e_nN2={r2P5Lz(E6@65se7>MsQVJXQoFQ?9`Qqo?P>f)Ag=kvdz#ERySTE1 zJX?DQ7}<4sGj24imFRP@oYt6cGQiB1Z;qh_805Ari}G^2vqeX^t(YQS9QOM$y0Z@l zJjoo$&*e-+-Ms5CLG0KW1yJdRiAdl%k(h~%!{s3G-ye~C(z#EX1onG3 zpG9^=Fdi$T52(2_ocAW9a~HAJ3Bi!>Zp2(s!B>A)6h6qP7%?enVw%R_*U>**wLCqpX^FtJ|uaruCg>! z{``{+=z~y2YVk=aF){Pajr<)jxmm!(G!@vdnf(AuLm}v&nG~~_^@VHKDD6F3SKjRR z3kwRC_eT8Q3n;FKMxF7qLx)DZlcL3S)5!mABSS@O(-P@8PD!hF~mD$;NC$&8M{$(>DTe@)fufxBh zyNb+n%Z*at*Lh#&YT0o-dTFBY^zA3cx}G0{tt-VQMHA||FaOVQWY)o}K-cFOhHgor+~+lPB+ z-ZQ3pbxl@7!(K*4@!9HJ;Y@oCu-qrZip_3a-ss6{PcD$!-w4jfeVv~6_2TVQ0?92Y z9F!3442)`Tsa?K!aiH3D4BX;qbnO?e@vjf+EAO@F^Zd5jVIPzhxQ~$9FEXZ1TdJ~- zqkITxd@1!){QK9XC*auhbiWvZv85F;w^}cC(9g*doe(*m3!!dStZAufPSiNs&6B(r ztfcM9>Fd(_gmq~EAibLJ%%%$OJ=1>j;KBRtCC8=#p+}GWTvx{P?Z);1_9`tE{wE$a zs5T*7v{|(5S}Q3nWftwW>we)*%t}*UU-TRK{4fxbbkApGbVtp*CS5fdny*)J1TrLm zs~sjPd#6dsO%Njw@=`%g&I-8EL60*|>hkJ4jdRBCeVZhzHYD0yF33r_*mx{T2*KBS0LLTo@o8OMb5Dx!3mH5Q`lu)?+q9HuUgUukW@@SMMn8ER(AF6&2lYUNs~#yKI^(c!b=|beqvz|H z#cafE24~hU950sRL;1h?MH!G=mObdz^peOYR>OQ71H%mfDF}T_wN|J}S00)KB@#aVTRIgMo$^t? ziG?XD^6Ztbv$LtH*T*c)J$ddmD{7gTvyA5}V)qfla4i^&5~%v`ec(*%*vCddEC}RaY&Ki^U zR7s{ZUD+hy>;SO$!R*+0lF#=!NB*n<*(>nR?P#whn-1pV)&OGw3SzG1T_Htu_|V|Ya9;x8U`|Ujn_v)Kh#A6yPaGlVW@t**aiz&i7z*$?}%=b{S$Yb zK%o(Wy9JIs*@*bKK?%?zj0*S-k*W9orcceR&1_=;qVc4Ssa^hknWk!UUY*9T;_(SL ze>TOimwIgqO;p33NDBjTakqd>P~2_|U4;SWEfLJvH@gL(ROM{hE{ZB^REhJRVk(`K z9i`y_lJ#SXP<$}-IJ>k6X;DV6O#|V z$tdqUKy?6(p&`ZvQ&jYJtrE=lEGYA_o_}RIfqA%?Kei9RzY*GrLqIkkg81W!Z(wZH zt^`XtnDU--4_0X}n_N80U7(BJ-f3`-_WT=VGmwIP6(2p%sbt$;bUuwI?)mZ%?$(VP zYw08BYoCNEM%)E1q-m)6H2KsJ&_-T=MkVG`Qh284R%=sPYAy};Ei{l>#Tx+x6 zC%ZfXg<0DMpd9Ux)&imWWLUuMMz4cMQs`4H4o#tnmsoj@)@STIm0oz1z@L8bzPP=} zhy7K+9WGO+DF*v0i1d96>~lXr!8e0)1@Yg(i(KY^!i%i9T~1{lA*|I1ivQp{;sY*VjuW3{yXS{?E*YN4bzX2RT^Zr-nOr< zg23NDs=!7Dj2oyY9S}WQl{Y3aS6Ep3Y91>$$ki+Of=%9hs4yuRbp5X^({Ln+*?dMI zus*95JIzyH-#Iz$sa?G#F0QAmTcupVHV;wnT<9u8=;_bR&p-B~qQa9RBlD0*MC@tfqX`4pM6qe?hYx@5?q-?&Fk-Vu z-bSj(i+hIz|IQ%2UXF0yrKg*IFNV55JuAJ;DI(n4)*{Kpr3({~7S+|vzz3$~dGRmvYrFv(3Nh*E2QE#TIUR*Ki?v*ZB|?Q(g{ku;etf$y+_Wj~=`K>3EQT zS=HLOpOj^(1hsACf~*U{1X9^B^47L0eT-)x%@>(3$5F zr|-!lf5xh+Dm^_o$?l=N@umrf^}4rA19$TbsY9zn_<98q}S7 z+d@Jb5Fw+&V%Giq=hZ(MzfkQ0{K3FrTc3)X;eUgRI$K*iI!4fzfhMn?IYs_IzW(-~ z`1@%+i50A!t?fF8hxo0c$UsT_zW|ahi1PZzWAe`IZV_gK1O?0! zRHQ%BNX^Olj~glb!(U7Gvc%0%9|ORZjYjvKJQa5Jj+I~D_(aFZkBuIrGXsgh4qNE| zVK}DES6&UBb+orvefsp12Jd=b7M8KDgOI^E^WWkfp*Y0hH`7><)k4Wj_F5Jer3(Up zz&EZnp)|y<@*^-M6{UlNy=;=!25xSHXG%GvwbGdaVW1VL(BU^I&_>t{pY)nqzT zci7}>Dqhd-ferb}$BGQ_-kw%g64#%FJFqRD4`u=u zc|BR9vf8237b>kg0xGQZ4>kS;6W{Tw0p_SNja$?{uP`-L%BHg}XT3_;jr?}1mC&^5 z8sv9S2_E}HSl_6KmY;7n3#t1nI|HZD``0Pmy5x|W2nJ!*3yDcdm)M1nqxLu&p<{ox z=yW~QL>R05ZCP0XIn~}$%gtZ!3m}iiCj`|fFwRzZ?Z_1fnCbxd#$YKpzGNbuytvgB z<_lywsV;a|AwkxYojpA{f4=!!jON%Pi)Z2Qx2E3JtT|czFi`Npdy2h%AwH4$oG`PI z)^J>Lls(RCW#t;BS75Fpq(a-fSQSS0M~?VwZ+!dsL%Tq}+YiBG(UPa>{K1C>U;S78Vi=j?XIX`2R39d;bWSM9(6 zq;p!tkz|z4DCuoaRLJKHwJj4|DHJ6b6AsfQHH3^y^0AwxYe3wxeR_ zUIQFqC{qW*v{?m-A^Gio_*#DzTISVCS(p7pG2kJXWe0!uNsLZc73S4cR(jyCUZmv% zTpLYR>>rClMLmI6(fb3nK1!iz`X0nvibMICb;@g z_ZLm1jTOZS9~zw>5~7%0YO_VqkJ%}-@4^@Zng=j*HJ~4zuPzOK_^mrNV9=U+G1ePoW)X?&!4 zuJu5HogHEL$D{?>55n_2$=cMg_3&heei_B0elS8qzS^0j_v8sQg00rFL-$1s$DqTo zxapubh|s4Q>}_ncC75Nr+XiJ@l$1J!t``_k>;~8TmzUpEI2fK+@Tf#*+gNRk`V?uc zk4CUfbUcNy2={vsMmH56`XZ!903*ARNYK~N(43b9aT9+bi!K^6q)+SsNhl7Bak- z_=%B;iRZRu3D;=Bfyu6sXFB@&dRsMJ?7Isi@>@8uJ4KN83?+#QeetLSV4BSCE%CLB@Qc zOMabE;p$cKh>#Fhcdy&*H*PiK$Q9~9Bk2USSR~Krs;Y*A<)qV|j9sgW^6}7l8WNKa zVoeFya?C?4&vJwYgaXx{sh)M~W^AX8l~uSXTZQQmrH7M*p_qLPX|QyTy?0M0EI4?j z`L{f zmcHBT24{5e0TF5Ixw~~9z!Me!MTyg_g5E6+)KgZ+50#UQ?}1YBJy)XT%Qt(DeZD25 zD4gw}P5;4K{H**@r6$dG@8MzB>2MW<;O@E%}%3L7{KFUE0GdX%`SUa7l zTJ<;fRjb+T^*7~=H#j(8KnY32vrdugzUl89$wK!$4}0G<^h%aIW%1fS&)F1Hdg5q` z((zAn5v(7;Rp0c}K{e**wZvGFir>FhQ=2X}X5bY(+vXqW-=oa9Fby@Mi=y67|duitXgfk^Qu%y1FgBJJb8Pqv9+Q2wOnrq6PLPV8Wb6Y~xH^ zg4@0teh$mc%-q;qtn_YK8$tw!5lkE4ti`T)QH_I<=dP}V2{Z-^BYa?-*;ih)pFl15 zSLNoldi49n|!T}KqCL4;| z=LvN^_~&2K`6PQZDU8cCnU5P%bDd)e*4ukWRT1HB-v+f2*?gwTU(Q*-7hMD9E1D#+j$)Bc!JXQ z6Xpn?<+b$G94W9{a6AHcczxXmkaE%`q8Jt0lWJcWKCGWO(&XYX+3$Y_Oa7HfW^keH ziN&vzZi?T#cYn_tcubz*7%g9YVa-FoC%$7NFYf@(zgim4m!KXb?v8-KV-*#{;;qhn zoB6D)f^W#7Y$b~)fCdk!xx>k6SPo89P;hvAdwcg_0S9`0G(RgcGIEzz(X%Kv*6Z-$ zmluPpw-%iRjCI*xA0oBxB~fiW-PVQ)VHU@QaE%fAB}s$;P%N$vpb@r-S?ype?Lx>J z-FT^@BFm$gqZ1kbS+F%TJ^d!yYWM|2Ny&^Xdrv>XFzrd$OBQQuYh+H&B*rpLCoUyM z3rZh>bnj|iH>8M*^@}l!S{*C}N0}4>B>^(o?>2e& zJ`|e3n5vaOst^RqTE#1eyg@e7F|`z%&h#I)4aW6jg=`DqX< znr?ig5^2n7mo6yf)x6y6<}J({QtMpQ!<5L??WpI!tt>0+zu=jZovjgf%xHhjZoTpq z=&UZXu=r3X1w56glqYth<%OEL;oe*t+!7L5KgBh}umaLos8xgerw>!jUVSxoEY8+V zi!sTM$<)$4-SaGC1SH3b44dlw&s9`z%LdBBeK*1`#cuccm-x@}VG|Vrk4p=F_;9<4 zs)IW%K5abvW96%rwhak?oD8(Z5lYEZ{=dYUiDs6T(Q&A7RUeK=P`w<+8@$4)!IY-@ zfQZ(%w%S)PDNatG=@}s+K|^Yh!VLqXDa zL^WuR5!lGO$#aH7+-`EWBY+*HgD=>G(oEM(135LDAe|!J4b8lv4?YZO^)t6 zHenZyi$@Wg;~3~GoT}$*EsMt3T#RlRzO5EraqE<#U!dFasA&V!>Kt}u5N~?Y(+&zH zDza;?%D)O)vzh`)q=Z#ApFR`qS$s&;PawM0Vv_;k=I9h1E32(}#bbYepiuo>Gl=U# zdqo(5wU-596Zri0(IcJM0@)ZiCEEKBRZ60lX5Ak07ZL=5k_x-sp=bxLu^agrhK3p@ zB^f*0dthH22ekq`o>}`|Qf!ufL`v-t?C1#MRo?Qf+I2G;fv_~SBF3ND}8Uzb<{ z5|olvfXo-?=43qH>eKX87Gp|xOU3w@T5_I5+(ou`9}yXPySpo2!Swd3R>Z7JthSkY z*YeJ?oaGodG*(I8)7@vQ1uDH8e79GJ8MjAI>tdYbhAPxyIS#T0NTF&6dCt>btL|OL zjaneTC_N!NIoAh(*#)$2M>uQ3(MalKEh&};^9nX<)!eLG$|P#l4Yn$jO+^Y}WgvD4 z<2`-PWG;@tQogq|qOY!Q^Zh%==`2khD}99jKEm?DDzYbTS2DczH#+ix2;d-OBeWU zyYGY7*8=63E4V0;iX6M`+sh$~^e0czOTu_r6@*r%Pf6!^8O zgn0SEZfB+T`ZXZV0lv|R*AjN$G|(@ydW?`eNl$iqS$+dotRBz98GG<|+h$c#7iwo& zQ*NMwZG*sMXKgW=wfS{-v7Og@`Cqxhfw8)nyuvV$4}Y4v?_Lqh)mkevagHu=f9bFy zT8rHw0s$LO`10kRJ$Y_fWbyXx+p^AN8@rADw#7o@TAf;Ghom!8#5IY#H*YRgMb*~q zb-$m;f*k3UYUN)OSp?azAwA>L`PM6p~-+{ChaCg_Oivusb6GqqP!>xu8njE+am zN0B57jB~Qo;Xmpwr!~fTK&xY_(~V+Oa6a?1vm=Gnui)TCZ3dm12IBKIh(=;!A!tOG9iky<7weRrS-oq@sxuqqLz!~RhYIW?^0LKvrrnYS@Du*IX z-HHeZ%0{*dBBD}5Xo?7^NC}t?kuEhVkc1L~6e*(UMhG1gY0{+E5S4=nq4$=A4go@! z5+U4al=F0-?sp#VQ($GSl{LpKYs@kJ{~yyAPh54GRuTOQV5oY)q{XKA1^fchS|~78t?B-3vaFJ=#twlMxjuw!D>c6WXFF!tZeRYBC<1y22sH;0LG~`U{WG`ZtBdO_`eOdQQ zopg1>GBR`)sYDy=%U<>2vUIvD2hWN38KyEo{1K1fGlRpqPuDVL=MGCm04Wk18=Ip? zkA8p^sJTzQ`G9-yyAl3Ph8Kz6Gwq|Ev)w??*_Yr%u0qCNaV)ZF=p87|3<(L5fv!?c5~;>`NUr)0w#aEWcuR|muU$Ik3fGUJc+(D7&2f6?)Btt*$yfavAJP#ZQG|5pz6k2D8 zhc`tC6$cAQ+&FP3{z`rCI&E_~?G&Vnnr~5k-dk<&!OM+5@Am+G7%Tup+6rK$Zsgw1 zm9X^m>o;$j23O-xK2;8+I`B@3coDX<~IXCt~k zC^&d$eQ2Phx20CEew?t1+3dsKTGJmJOTuSF~UN;qSsu4z+9mZp#f@-T0r=pBg8iK_YD^ozI=joDnH#LA85BZyIn zi4!9asA)QFPXfeLD~4*ZKdkC*ycAZ@IP)5KIDb-;_UbF_8Sek^`DQMZrUbx-+sKtS zabn66zi;sgs`LHDyQ`%oWWpDq=$ff7Vs5q6B8(5*zY`tMB4U^jsqOLAkqXtC;dK6d$^CKlx6!v0E3Eey)AjGY>}~* z4!;Wkf!Zz^39!u=y3d7y9)O##@Cw$^Ez&x34@oYTbLrKzEOni(1t3oiD_z5XT#&o5 zX$`Hr(f;s{^LHKjQ@#QCV-{$h``LoBQ}gE*E>Q{be{aDY(-FdB6QE zJ(+EX)X@d9)l$8!fS|esSjS5<5i^RkEV;9igS~kB-At0=m-wQEcA+Xdult^UW4Smz!XzV=e`B-vjieY3u+ND3 zsm_ekg^q}rNv6%tbPH-W$10(}Hdm^YA%_dGX}QCF4aM3M6tVKgGkWyQ)YQ~lD|<7> zxU%V@`rJ%66uZ)QBpBfJHA6wztCp7Kn0-z&)EOq5Z^jsyD+TGk-Yi4+ojydelHK_r z5Lzq)J{E{2Dv0i}aF*CioY)v&T}c2Ml7bsFe>XhVL0DTW0lcO>7a+U&k<|Daut&wu z$t@>%rjYgn6o~6!_eVn;uz3Z$7eE65o+z1YNvXu{kW8qt`iX;J8w6O2PWQu;-Npe* zMu>OjJfL3YUkr*>@~O?YOk;c(<`Y&sFAKf%co?9nd-LFTI6JEE;6SuRhkv1F)qQVj z`f`GyD~Kb)P3dnXGF7o@@5bK)bOnVeSG~bJbD;nZ)A=VBHYWR*syXG+G(U%B6}!$? z`|G+z*aMOP{m_)NKCd!+R6rO2bGSmuxNq~l5Mf~-h0{R*Y~0_+sPXEXB^d0%K=*$1 zzx}z5@Y!G(Phv;dw!K<44nI9`LqlSWT`uhGa(+iB>_ez>TV8*b}L>y4}FcRt2m`? zX)KXS-vUt+mFC6&r2*>qxf>EN_I2x$dND1ra_+O;%?0MH#pTnkUN(iofnF@@?L%zm z&W_8$B08jrOJmeG7tK!|vN;^W0!oOB@?`u=cy^BB^&?Z_EAgJXEMi&zdOb5D;vDtC zFO{QC4IGa8IgqI6GgUnLdUGiU;QAK+q6$8*Zy4lcJrhFe_;cubf0WSjxxV}!{ukSC z-7Kr!KyE8KN{|(&@%OmFR>)!{itYEcZkcI&9 zP09x1@#?ST5qG@MY}<#5ljICAL!p3%$*Ao#Yo3T>|2QVo+gotJx{c-Am{`HS9<-4X)zqpmM&rmM#{#%^}bC(akOv>k7g zO^%7~q4xDrD9pwNorDCp>w<2oa|*fS&H1l^L^VwILQ`lqwvFzXg**XafpR`6xV&Tc za62=tLd9kS?aipj$g+}>iOFf1i!zl%y{8;2+>wfO?m83T<@NEiaD;{ENL9dGN# z)ubgXYuy{({d0X8Q&U;FRd+y)T#d#(bh3QhQ6>ssb!fhc@=Q`hS=Sr|de>+=1;`&f z-Mn!!0aVT1PwH^zIaw-p@pB-B z%g=(?K9w6s z^j?I4ngK&3z|4njP0b-OMZ}L3yQnZs@F`DCeb8(d*L7L%mLSf1t-nRspd3lg zR<^wQqeH1OEK!{E6r$?S3m4|vpYp@qsFlngZ8>*LBfY+WZVND;{WhAWArNFEGc$YZ zUmEQ|KD;M-es0cZez{ZIlJb48 zLDYw;vck8I!9e2|JNC>>?A~k_9L&CKmiq)@cgf@SiDw$G@OX5=DkxCqcR8*GM|6HT znFlY|LE@}wHirade8)>uA_Z+qbnIL8QJ%bFLjxTHN%}y@Jd4;Fn{e~*nn#Z@c6y{F z_UFgdY80Yxi7NTplFDS#^^PMH(W4&p0ib`(rN%1e;Qt_i-NT`Q@bu}^xMKT%;dPj` zR3lQ#u<^Q!foIE$Hlzo7!+3!Vp`5llaZuyY$PNOHq6nXIAr8r{jg8*-O2s``ThD|^ z-}&(*X3OcP66%_>zYDn|cg)pBh^8|M6tkkc1 z^1@C6nPs3i9iL8$sr^2sLLj(}{xsOW*etGN?SX-TKx0`CF9R_*fm~XOMq$8QONvox zfaY-ri1XArb`^b9nP^Sw1+5v@Ug-JiERmtCtegR&?RExp3kzHUsi}{8XXqhNWmVU~ zlF{%&k{^@`8A`Ett~G=|IiW)^C&_8(aa>~XmTGq zwCIU?>Gu$cMD{F40c}E`tp-{A#dDRI(N0VXYas#)i3f*=z(FE};b?C^^_;qeY8(p= z({>x34>)!qg|BXjN%-Nl<+U3AoSWOhWFZfX!>n<* zmMZRXH5*0;IguG-tVVBLT-d~Z0 zzE1d-P3-LNpcMKb>(kt)n`OL9tlRR-ddr?Max?_MCLAn`9zCmJZ;N+y#t>d!c4c4x%XsJyL*84#~e~oWO{9z?_I;osOu5hd?KaaAv zw+AyG7$*_p&a^f09G(9%y#ZCYbm>v{Lgyq2Pn>$C#i2G_WurF`Qv{Md90UTue+!>n z1bXeegpG1M(uY