From 23521b4bcf29cccce77e16b5a0e6e834a1308b0b Mon Sep 17 00:00:00 2001 From: Levi Neuwirth Date: Thu, 9 Jul 2026 17:29:05 -0400 Subject: [PATCH] P13-S3: the engraved spelling set is a shared undo key, not the transpose's My design note was half right, and the audit caught the other half. Keeping engraved_spelling_chain physically separate from respell_chain was correct -- respell_chain is RespellPitch's LWW working state, read by its concurrent-differing conflict detection, and folding transposes into it would make a concurrent respell conflict with a transpose and move the canonical bytes of every existing history. What that did NOT license was letting one operation own the key. RespellPitch mutates the same graph attachments and recorded nowhere on the attachment chain, so a chain with a single writer was wrong both ways. Both reproduced: respell -> [tx: transpose] -> StrictInverse undo Applied; pitch restored to C4; the UserChosen(C) attachment ERASED. The respell was an operation, not part of the base, so the transpose's chain had never seen it and its predecessor was absence. [tx: transpose] -> respell -> StrictInverse undo Applied; the newer UserChosen(D) authoring WIPED. The respell was invisible to the chain, so it never registered as a superseding writer, contradicting the catalog's rule that a later canonical writer supersedes a strict undo. And BestEffort could restore the pre-transpose pitch while leaving a spelling authored against the transposed one attached to it. Fix: every writer of the attachments records on the attachment chain (record_engraved_spellings), and a pitch's value and its engraved spelling set undo as one unit -- if either half is superseded, neither is restored. StrictInverse already refuses on any supersession, so the coupling only bites for BestEffort. Two physical chains, two responsibilities: respell_chain owns the ledger spelling and the LWW verdict, engraved_spelling_chain owns the graph attachments. Recording is gated on graph presence, so base-free reduction is byte-unchanged and the seeded corpus's canonical-base digest does not move. Four tests, two mutations verified: removing the respell's record fails all three undo tests; removing the coupling fails the best-effort one with the pitch back at C4 and its spelling still at C-sharp. The fourth test locks convergence -- both permutations of a concurrent respell/transpose reduce to identical canonical bytes. Spec: new req:opcat:spelling-set-chain. Batch 3 of the Pass-13 ledger reopens (P13-S1, S2 open; S3 resolved here). Also: PitchSpelling::transposed's doc said B-sharp 3 becomes F-double-sharp 3. The code, spec, and tests all correctly produce F-double-sharp 4 -- B to F carries the octave. Doc only. Gate: fmt clean, clippy 0, 30 targets / 998 passed / 0 failed, docs 0 under -D warnings, conformance 8/8, zero golden churn, canonical-base digest unmoved. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/epiphany-core/src/pitch.rs | 3 +- crates/epiphany-ops/DECISIONS.md | 43 ++++ crates/epiphany-ops/src/reduce.rs | 351 ++++++++++++++++++++++++++---- spec/PASS13_CANDIDATES.md | 11 +- spec/operation_catalog.pdf | Bin 140956 -> 144305 bytes spec/operation_catalog.tex | 40 +++- 6 files changed, 399 insertions(+), 49 deletions(-) diff --git a/crates/epiphany-core/src/pitch.rs b/crates/epiphany-core/src/pitch.rs index 1923d27..3cd3e01 100644 --- a/crates/epiphany-core/src/pitch.rs +++ b/crates/epiphany-core/src/pitch.rs @@ -770,7 +770,8 @@ impl PitchSpelling { /// [`Pitch::twelve_tet_semitone`]. /// /// So B♯3 (sounding C4) transposed by a perfect fifth `(4, 7)` becomes - /// F×3 (sounding G4): the letter moved four diatonic steps, and the + /// F×4 (sounding G4): the letter moved four diatonic steps — B→F carries + /// the octave — and the /// double-sharp is what F needs to sound a G. The chromatic component never /// touches the spelling directly; it reaches it only through the pitch. /// diff --git a/crates/epiphany-ops/DECISIONS.md b/crates/epiphany-ops/DECISIONS.md index 036aa51..8e240a9 100644 --- a/crates/epiphany-ops/DECISIONS.md +++ b/crates/epiphany-ops/DECISIONS.md @@ -1393,3 +1393,46 @@ every existing history. - My own mutation harness restored the file between two tests, so the second ran unmutated and "passed". A mutation that no-ops looks exactly like a test that passes — the trap recorded after Push 4a, hit again in a new form. + +## P13-S3 — a shared undo key with one writer (2026-07-09) + +The `engraved_spelling_chain` added to make `TransposeInterval` undoable was +written only by the transpose. But `RespellPitch` mutates the same graph +attachments, and a chain with one writer is wrong in **both** directions: + +- **Prior respell erased.** `respell → [tx: transpose] → StrictInverse undo` + returned `Applied`, restored the pitch to C4, and removed *every* attachment. + The respell was an operation, not part of the base, so it existed only as a + chain write — and the transpose's chain had never seen it, so its predecessor + was absence. +- **Later respell wiped.** `[tx: transpose] → respell → StrictInverse undo` + returned `Applied` and erased the newer authoring, because the respell was + invisible to the chain and so did not register as a superseding writer. The + catalog's general rule is that a later canonical writer supersedes a strict + undo. +- **Best-effort split the unit.** With the spelling set superseded but the pitch + value not, `BestEffort` restored the pre-transpose pitch and left a spelling + authored against the transposed one attached to it. + +**Fix.** Both operations record on the shared key (`record_engraved_spellings`), +and the pitch value and its spelling set undo as one unit: if either half is +superseded, neither is restored. `StrictInverse` already refuses on any +supersession, so the coupling only bites for `BestEffort`. + +**The physical separation stands, and my earlier note was only half right.** I +kept `engraved_spelling_chain` distinct from `respell_chain` because the latter +is `RespellPitch`'s LWW working state, read by its concurrent-differing conflict +detection — folding transposes in would make a concurrent respell *conflict* with +a transpose and would move the canonical bytes of every existing history. That +reasoning holds. What it did **not** license was letting one operation own the +key. Two physical chains, two responsibilities (`respell_chain`: the ledger +spelling and the LWW verdict; `engraved_spelling_chain`: the graph attachments), +but *every* writer of the attachments records on the attachment chain. + +Recording is gated on `self.graph.is_some()`, so base-free reduction is +byte-unchanged and the seeded fuzz corpus's canonical-base digest does not move. + +Spec: `req:opcat:spelling-set-chain`. Mutation-verified: removing the respell's +record fails all three new tests; removing the coupling fails the best-effort +one with the pitch back at C4 and the spelling still at C-sharp. Also covered: +both permutations of a concurrent respell/transpose reduce to identical bytes. diff --git a/crates/epiphany-ops/src/reduce.rs b/crates/epiphany-ops/src/reduce.rs index c9fd21a..fdf7993 100644 --- a/crates/epiphany-ops/src/reduce.rs +++ b/crates/epiphany-ops/src/reduce.rs @@ -773,7 +773,7 @@ enum ValueRestoration { /// The engraved-layer explicit spelling attachments a `TransposeInterval` /// rewrote, restored as a set. `None` predecessor means the pitch carried /// none before, so they are removed. - TransposedSpellings { + EngravedSpellings { pitch: PitchId, predecessor: Option>>, }, @@ -874,18 +874,25 @@ struct Reducer<'a> { // what value-restoring undo walks. Advisory families (metadata, breaks, // staff layout) keep chains for undo but record no conflicts. respell_chain: BTreeMap>, - /// The engraved-layer, pitch-scoped, explicit spelling attachments a - /// `TransposeInterval` rewrites (`req:opcat:transpose-interval-spelling`): - /// the moved authored ones and the propagated one, as a single per-pitch - /// value so undo restores them together. + /// A pitch's engraved-layer, pitch-scoped, explicit spelling attachment + /// **set**, as one value. Written by *every* operation that changes it: + /// `RespellPitch` and `TransposeInterval` alike (P13-S3). /// - /// Deliberately NOT `respell_chain`. `RespellPitch` owns that chain, and - /// its last write is the LWW working state its concurrent-differing - /// conflict detection reads; folding transposes into it would make a - /// concurrent respell conflict with a transpose and would move the - /// canonical bytes of every existing history. A transpose that also moves a - /// `UserChosen` spelling is restored from here. - transposed_spelling_chain: BTreeMap>>, + /// Both must record here or undo is wrong in both directions. If only the + /// transpose recorded, a prior respell would not be its chain-predecessor + /// and undoing the transpose would erase the respell; and a *later* respell + /// would be invisible, so a strict undo would report `Applied` and wipe it + /// instead of refusing as superseded. + /// + /// This is a *second* physical chain, not a replacement for `respell_chain`: + /// that one is `RespellPitch`'s LWW working state, read by its + /// concurrent-differing conflict detection, and folding transposes into it + /// would make a concurrent respell conflict with a transpose and move the + /// canonical bytes of every existing history. This chain owns the *graph + /// attachments*; `respell_chain` owns the *ledger spelling* and the LWW + /// verdict. Only ever written when a graph is present, so base-free + /// reduction is byte-unchanged. + engraved_spelling_chain: BTreeMap>>, event_modify_chain: BTreeMap>, pitch_modify_chain: BTreeMap>, cross_cutting_modify_chain: BTreeMap>, @@ -964,18 +971,25 @@ struct WorkingSnapshot { event_pitches: BTreeMap>, voice_occupancy: BTreeMap>, respell_chain: BTreeMap>, - /// The engraved-layer, pitch-scoped, explicit spelling attachments a - /// `TransposeInterval` rewrites (`req:opcat:transpose-interval-spelling`): - /// the moved authored ones and the propagated one, as a single per-pitch - /// value so undo restores them together. + /// A pitch's engraved-layer, pitch-scoped, explicit spelling attachment + /// **set**, as one value. Written by *every* operation that changes it: + /// `RespellPitch` and `TransposeInterval` alike (P13-S3). /// - /// Deliberately NOT `respell_chain`. `RespellPitch` owns that chain, and - /// its last write is the LWW working state its concurrent-differing - /// conflict detection reads; folding transposes into it would make a - /// concurrent respell conflict with a transpose and would move the - /// canonical bytes of every existing history. A transpose that also moves a - /// `UserChosen` spelling is restored from here. - transposed_spelling_chain: BTreeMap>>, + /// Both must record here or undo is wrong in both directions. If only the + /// transpose recorded, a prior respell would not be its chain-predecessor + /// and undoing the transpose would erase the respell; and a *later* respell + /// would be invisible, so a strict undo would report `Applied` and wipe it + /// instead of refusing as superseded. + /// + /// This is a *second* physical chain, not a replacement for `respell_chain`: + /// that one is `RespellPitch`'s LWW working state, read by its + /// concurrent-differing conflict detection, and folding transposes into it + /// would make a concurrent respell conflict with a transpose and move the + /// canonical bytes of every existing history. This chain owns the *graph + /// attachments*; `respell_chain` owns the *ledger spelling* and the LWW + /// verdict. Only ever written when a graph is present, so base-free + /// reduction is byte-unchanged. + engraved_spelling_chain: BTreeMap>>, event_modify_chain: BTreeMap>, pitch_modify_chain: BTreeMap>, cross_cutting_modify_chain: BTreeMap>, @@ -1254,7 +1268,7 @@ impl<'a> Reducer<'a> { event_pitches: BTreeMap::new(), voice_occupancy: BTreeMap::new(), respell_chain: BTreeMap::new(), - transposed_spelling_chain: BTreeMap::new(), + engraved_spelling_chain: BTreeMap::new(), event_modify_chain: BTreeMap::new(), pitch_modify_chain: BTreeMap::new(), cross_cutting_modify_chain: BTreeMap::new(), @@ -1668,7 +1682,7 @@ impl<'a> Reducer<'a> { } } for (pitch, set) in by_pitch { - self.transposed_spelling_chain + self.engraved_spelling_chain .entry(pitch) .or_insert_with(WriteChain::new) .seed(set); @@ -3185,6 +3199,27 @@ impl<'a> Reducer<'a> { .or_insert_with(WriteChain::new) .record(env.id, env.transaction, op.spelling.clone()); self.graph_respell_pitch(op.pitch, &op.spelling); + // A respell changes the graph attachment set, so it is a writer on + // `engraved_spelling_chain` too (P13-S3). Without this, a transpose + // undone after a respell would erase it, and a respell landing after a + // transposed transaction would be silently wiped by that undo instead + // of superseding it. + self.record_engraved_spellings(env, op.pitch); + } + + /// Records `pitch`'s current graph attachment set as a write on + /// [`Self::engraved_spelling_chain`]. A no-op under base-free reduction, + /// which has no graph attachments to own — so base-free canonical bytes do + /// not move. + fn record_engraved_spellings(&mut self, env: &OperationEnvelope, pitch: PitchId) { + if self.graph.is_none() { + return; + } + let set = self.graph_spelling_set(pitch); + self.engraved_spelling_chain + .entry(pitch) + .or_insert_with(WriteChain::new) + .record(env.id, env.transaction, set); } fn graph_respell_pitch(&mut self, pitch: PitchId, spelling: &PitchSpelling) { @@ -4894,6 +4929,14 @@ impl<'a> Reducer<'a> { ) -> (Vec, Vec) { let mut restorations = Vec::new(); let mut superseded: Vec = Vec::new(); + // A `TransposeInterval` writes a pitch's value and its engraved spelling + // set as one act, so they undo as one unit (P13-S3). If either half was + // superseded, neither is restored: `BestEffort` must not put the pitch + // back while leaving a spelling written for the pitch it used to be. + // (`StrictInverse` refuses outright on any supersession, so this only + // bites for `BestEffort`.) + let mut superseded_pitches: std::collections::BTreeSet = + std::collections::BTreeSet::new(); let slot_live = |obj: TypedObjectId| { matches!(self.objects.get(&obj), Some(ObjectState::Live)) && !targets.contains(&obj) }; @@ -4919,7 +4962,10 @@ impl<'a> Reducer<'a> { } match chain.undo_verdict(tx) { ChainUndoVerdict::NotWritten => {} - ChainUndoVerdict::Superseded { by } => superseded.push(by), + ChainUndoVerdict::Superseded { by } => { + superseded.push(by); + superseded_pitches.insert(*pitch); + } ChainUndoVerdict::Restore(predecessor) => { restorations.push(ValueRestoration::Pitch { pitch: *pitch, @@ -4943,15 +4989,18 @@ impl<'a> Reducer<'a> { } } } - for (pitch, chain) in &self.transposed_spelling_chain { + for (pitch, chain) in &self.engraved_spelling_chain { if !slot_live(TypedObjectId::Pitch(*pitch)) { continue; } match chain.undo_verdict(tx) { ChainUndoVerdict::NotWritten => {} - ChainUndoVerdict::Superseded { by } => superseded.push(by), + ChainUndoVerdict::Superseded { by } => { + superseded.push(by); + superseded_pitches.insert(*pitch); + } ChainUndoVerdict::Restore(predecessor) => { - restorations.push(ValueRestoration::TransposedSpellings { + restorations.push(ValueRestoration::EngravedSpellings { pitch: *pitch, predecessor, }) @@ -5090,6 +5139,20 @@ impl<'a> Reducer<'a> { } } } + // Couple the two halves a transpose writes together. Dropping a `Pitch` + // restoration whose spelling set was superseded (and vice versa) is what + // makes them one undo unit. It cannot mis-fire on an unrelated operation: + // a chain reports `Superseded` only when the transaction actually wrote + // it, and `ModifyIdentifiedPitch` never writes the spelling set. + if !superseded_pitches.is_empty() { + restorations.retain(|r| match r { + ValueRestoration::Pitch { pitch, .. } + | ValueRestoration::EngravedSpellings { pitch, .. } => { + !superseded_pitches.contains(pitch) + } + _ => true, + }); + } superseded.sort(); superseded.dedup(); (restorations, superseded) @@ -5148,12 +5211,12 @@ impl<'a> Reducer<'a> { self.graph_remove_respell(pitch); } }, - ValueRestoration::TransposedSpellings { pitch, predecessor } => { + ValueRestoration::EngravedSpellings { pitch, predecessor } => { let set: Vec = match predecessor { Some(Predecessor::Write(set)) | Some(Predecessor::Base(set)) => set, None => Vec::new(), }; - self.transposed_spelling_chain + self.engraved_spelling_chain .entry(pitch) .or_insert_with(WriteChain::new) .record(env.id, env.transaction, set.clone()); @@ -5798,11 +5861,7 @@ impl<'a> Reducer<'a> { .entry(r.pitch) .or_insert_with(WriteChain::new) .record(env.id, env.transaction, r.value.clone()); - let set = self.graph_spelling_set(r.pitch); - self.transposed_spelling_chain - .entry(r.pitch) - .or_insert_with(WriteChain::new) - .record(env.id, env.transaction, set); + self.record_engraved_spellings(env, r.pitch); } OperationEffect::Applied } @@ -7137,7 +7196,7 @@ impl<'a> Reducer<'a> { event_pitches: self.event_pitches.clone(), voice_occupancy: self.voice_occupancy.clone(), respell_chain: self.respell_chain.clone(), - transposed_spelling_chain: self.transposed_spelling_chain.clone(), + engraved_spelling_chain: self.engraved_spelling_chain.clone(), event_modify_chain: self.event_modify_chain.clone(), pitch_modify_chain: self.pitch_modify_chain.clone(), cross_cutting_modify_chain: self.cross_cutting_modify_chain.clone(), @@ -7173,7 +7232,7 @@ impl<'a> Reducer<'a> { self.event_pitches = s.event_pitches; self.voice_occupancy = s.voice_occupancy; self.respell_chain = s.respell_chain; - self.transposed_spelling_chain = s.transposed_spelling_chain; + self.engraved_spelling_chain = s.engraved_spelling_chain; self.event_modify_chain = s.event_modify_chain; self.pitch_modify_chain = s.pitch_modify_chain; self.cross_cutting_modify_chain = s.cross_cutting_modify_chain; @@ -9662,6 +9721,222 @@ mod tests { ); } + // --- P13-S3: RespellPitch and TransposeInterval share the engraved + // spelling set, so undo must see both. --------------------------------- + + fn respell_env( + replica: u64, + counter: u64, + physical: i64, + ctx: CausalContext, + pitch: PitchId, + nominal: CmnNominal, + ) -> OperationEnvelope { + prim_env( + replica, + counter, + physical, + ctx, + OperationKind::RespellPitch(RespellPitchOp { + pitch, + spelling: PitchSpelling::cmn(nominal, 4), + }), + ) + } + + fn transpose_member( + replica: u64, + counter: u64, + physical: i64, + ctx: CausalContext, + tx: TransactionId, + pitch: PitchId, + iv: TranspositionInterval, + ) -> OperationEnvelope { + tx_member( + replica, + counter, + physical, + ctx, + tx, + OperationKind::TransposeInterval(TransposeIntervalOp { + targets: [pitch].into_iter().collect(), + interval: iv, + }), + ) + } + + /// `(source, nominal, accidental count)` of every engraved-layer explicit + /// attachment on `pitch`. + fn attachments_of(score: &Score, pitch: PitchId) -> Vec<(SpellingSource, CmnNominal, usize)> { + score + .spelling_attachments + .iter() + .filter(|a| a.layer.is_none()) + .filter(|a| matches!(&a.scope, SpellingScope::Pitch(p) if *p == pitch)) + .filter_map(|a| match (&a.directive, &a.source) { + (SpellingDirective::Explicit(sp), src) => match sp.nominal { + epiphany_core::SpellingNominal::Cmn(n) => { + Some((src.clone(), n, sp.accidentals.len())) + } + _ => None, + }, + _ => None, + }) + .collect() + } + + fn undo_effect(state: &MaterializedState, id: OperationId) -> OperationEffect { + state + .effects + .iter() + .find(|(e, _)| *e == id) + .map(|(_, eff)| eff.clone()) + .expect("effect recorded") + } + + #[test] + fn undoing_a_transpose_restores_a_prior_respell() { + // P13-S3, direction one. The respell is an OPERATION, not part of the + // base, so it exists only as a write on the shared chain. Before the + // fix, the transpose's chain had no predecessor for it and the undo + // wiped every attachment on the pitch. + let (base, pid) = base_with_pitch(cmn_pitch(CmnNominal::C, 0, 4)); + let tx = TransactionId::new(ReplicaId(1), 900); + let undo = undo_env(1, 3, 13, seen_r1(2), tx, UndoPolicy::StrictInverse); + let undo_id = undo.id; + + let mut set = OperationSet::new(); + set.accept_all(vec![ + respell_env(1, 0, 10, CausalContext::new(), pid, CmnNominal::C), + declare_transaction(1, 1, 11, seen_r1(0), tx), + transpose_member(1, 2, 12, seen_r1(1), tx, pid, interval(0, 1)), + undo, + ]); + let out = set.reduce_onto(&base); + + assert_eq!(undo_effect(&out.state, undo_id), OperationEffect::Applied); + assert_eq!(cmn_of(&pitch_of(&out.score, pid)), (CmnNominal::C, 0, 4)); + assert_eq!( + attachments_of(&out.score, pid), + vec![(SpellingSource::UserChosen, CmnNominal::C, 0)], + "the prior respell survives the undo, and the propagated one is gone" + ); + } + + #[test] + fn a_respell_after_a_transposed_transaction_supersedes_its_strict_undo() { + // P13-S3, direction two. The respell lands canonically AFTER the + // transaction, so it is a later writer on the pitch's spelling set: + // strict undo must refuse rather than erase it. Before the fix the + // respell was invisible to the transpose's chain, so the undo reported + // Applied and wiped the newer authoring. + let (base, pid) = base_with_pitch(cmn_pitch(CmnNominal::C, 0, 4)); + let tx = TransactionId::new(ReplicaId(1), 900); + let undo = undo_env(1, 3, 13, seen_r1(2), tx, UndoPolicy::StrictInverse); + let undo_id = undo.id; + + let mut set = OperationSet::new(); + set.accept_all(vec![ + declare_transaction(1, 0, 10, CausalContext::new(), tx), + transpose_member(1, 1, 11, seen_r1(0), tx, pid, interval(0, 1)), + respell_env(1, 2, 12, seen_r1(1), pid, CmnNominal::D), + undo, + ]); + let out = set.reduce_onto(&base); + + assert!( + matches!( + undo_effect(&out.state, undo_id), + OperationEffect::Conflicted { .. } + ), + "a later canonical writer supersedes a strict undo" + ); + // Nothing was rolled back: the pitch stays transposed and the newer + // authored spelling stands. + assert_eq!(cmn_of(&pitch_of(&out.score, pid)), (CmnNominal::C, 1, 4)); + let atts = attachments_of(&out.score, pid); + assert!( + atts.contains(&(SpellingSource::UserChosen, CmnNominal::D, 0)), + "the later respell was not erased: {atts:?}" + ); + } + + #[test] + fn best_effort_undo_will_not_restore_a_pitch_whose_spelling_was_superseded() { + // The pitch value and its engraved spelling set are one undo unit. + // Restoring the pitch alone would leave a spelling authored against the + // transposed pitch attached to the pitch it used to be. + let (base, pid) = base_with_pitch(cmn_pitch(CmnNominal::C, 0, 4)); + let tx = TransactionId::new(ReplicaId(1), 900); + let undo = undo_env(1, 3, 13, seen_r1(2), tx, UndoPolicy::BestEffort); + let undo_id = undo.id; + + let mut set = OperationSet::new(); + set.accept_all(vec![ + declare_transaction(1, 0, 10, CausalContext::new(), tx), + transpose_member(1, 1, 11, seen_r1(0), tx, pid, interval(0, 1)), + respell_env(1, 2, 12, seen_r1(1), pid, CmnNominal::D), + undo, + ]); + let out = set.reduce_onto(&base); + + assert_eq!(undo_effect(&out.state, undo_id), OperationEffect::Applied); + assert_eq!( + cmn_of(&pitch_of(&out.score, pid)), + (CmnNominal::C, 1, 4), + "best-effort skipped the pitch because its spelling set was superseded" + ); + assert!(attachments_of(&out.score, pid).contains(&( + SpellingSource::UserChosen, + CmnNominal::D, + 0 + ))); + } + + #[test] + fn a_concurrent_respell_and_transpose_converge_in_canonical_order() { + // Neither sees the other. Both write the pitch's engraved spelling set, + // so the canonically-last writer owns it — and both permutations of the + // input reduce to the same score, which is the only property that + // matters. + let (base, pid) = base_with_pitch(cmn_pitch(CmnNominal::C, 0, 4)); + let tx = TransactionId::new(ReplicaId(1), 900); + + let build = || { + vec![ + declare_transaction(1, 0, 10, CausalContext::new(), tx), + // Concurrent: replica 2's respell has not seen replica 1's + // transpose, and vice versa. + transpose_member(1, 1, 11, seen_r1(0), tx, pid, interval(0, 1)), + respell_env(2, 0, 12, CausalContext::new(), pid, CmnNominal::D), + ] + }; + let mut forward = OperationSet::new(); + forward.accept_all(build()); + let a = forward.reduce_onto(&base); + + let mut reversed = OperationSet::new(); + let mut envs = build(); + envs.reverse(); + reversed.accept_all(envs); + let b = reversed.reduce_onto(&base); + + assert_eq!(a.score, b.score, "reduction is permutation-invariant"); + assert_eq!(a.state.canonical_bytes(), b.state.canonical_bytes()); + // The pitch moved; exactly one authored spelling stands, plus the + // propagated record. + assert_eq!(cmn_of(&pitch_of(&a.score, pid)), (CmnNominal::C, 1, 4)); + let atts = attachments_of(&a.score, pid); + assert_eq!( + atts.iter() + .filter(|(s, _, _)| matches!(s, SpellingSource::UserChosen)) + .count(), + 1, + "one authored spelling: {atts:?}" + ); + } + #[test] fn transpose_interval_skips_a_tombstoned_target_but_refuses_a_missing_one() { // The skip/refuse distinction: a deleted pitch is not an untransposable diff --git a/spec/PASS13_CANDIDATES.md b/spec/PASS13_CANDIDATES.md index 46b206b..e48b903 100644 --- a/spec/PASS13_CANDIDATES.md +++ b/spec/PASS13_CANDIDATES.md @@ -41,13 +41,16 @@ batch reopens the pass. | P13-I2 | `Staff::default_clef` is never consulted: `to_constrained` takes the active clef from the staff instance's `clef_sequence` and falls back to `Clef::default()` (treble), so a bass-clef staff that declares its clef only on the `Staff` engraves as treble. The field is decorative in the projection — is it the fallback, or should it not exist? | `crates/epiphany-layout-ir/DECISIONS.md` ("`Staff::default_clef` is never consulted") | **resolved** (Pass 13: it IS the fallback. `StaffContent` carries it, `active_clef_or` resolves against it, and `editor-core`'s hit-test reads the same function — else a click on a bass staff would resolve its pitch as treble. Removal was rejected: the field is named for its purpose, is encoded on the wire, and dropping it is schema-major) | | P13-I3 | `BRAVURA_METRICS`' `NOTEHEAD_ANCHORS` are hand-written, unconsumed, and doubly suspect: they name `stemUpNW`/`stemDownSE` — the corners a normal notehead's stems do *not* attach to, and a pair Bravura's `noteheadBlack` does not define — and their x of `1180` reads like 1.18 staff spaces written in thousandths rather than the table's `1/1024` units (1.18 sp = 1208). They enter only `metrics_hash`, so any correction moves the `GlyphCatalogIdentity` every conformance claim declares. The font is not vendored, so the values cannot be verified in-tree | `crates/epiphany-layout-ir/DECISIONS.md` ("the notehead stem anchors are unusable as written") | **resolved** (Pass 13: deleted. Unverifiable in-tree, unconsumed, and hand-derived where every neighbouring number is machine-extracted. `extract_bravura_outlines.py --anchors` now emits them from the pinned `bravura_metadata.json`, so the table regains them generated rather than remembered; the metadata's SHA-256 is deliberately unpinned and the script refuses until an operator with the font pins it. `GlyphCatalogIdentity` moves once, now, while no conformance claim declares the old one; user "delete them + teach the extractor") | -## Open candidates (Batch 3 not yet open) +## Batch 3 — OPEN (2026-07-09) -Filed as found; the pass reopens at three (the house rule). Neither is a live -incorrectness — each is a place where the spec cannot yet support a claim it -makes about itself. +Three candidates, so the pass reopens per the house rule. P13-S3 arrived as a +**live incorrectness** — a Push-4a follow-up audit found that the spelling-set +chain introduced to make `TransposeInterval` undoable had only one writer, so +undo erased an ordinary `RespellPitch` on either side of it. It is resolved. +S1 and S2 remain open. | Id | One-line statement | Filed in | Status | |---|---|---|---| | P13-S1 | **169 of core_spec's 207 `requirement` blocks carry no `\label`**, so no conformance claim can cite them. Chapter 4 (`Tuning Systems and Pitch Spaces`) is 9/9 unlabeled and Chapter 11 (`Determinism Contract`) is 15/15, but the gap is universal, not local: `Semantic Operations` 24/27, `The Score Graph` 22/28, `Pitch` 10/13. The requirements *are* normative and *are* implemented; they simply cannot be named. Every `req:*` label the repo cites was added ad hoc by the pass that needed it | this file | **open** (found while auditing Push 4a; the audit that surfaced it scoped it to Chapter 4, which is where it was noticed, not where it lives) | | P13-S2 | `cmn-24` is declared in the built-in pitch-space table (`core_spec.tex` §"Built-in Catalog") as "CMN extended with 24-EDO quarter-tone accidentals", but **cannot be represented**: `PitchSpacePosition::Cmn.alteration` is an `i8` documented as *whole semitones*, and a quarter-tone is half of one. Either the space is not `Cmn`-representable (and needs `Integer`/`Registered`), or `alteration` needs a finer unit — a data-model major | `crates/epiphany-core/DECISIONS.md` (Push 4b blockers) | **open** (blocks Push 4b) | +| P13-S3 | The `engraved_spelling_chain` introduced with `TransposeInterval`'s undo had a **single writer**. `RespellPitch` mutates the same graph attachments but recorded only on `respell_chain`, so (a) undoing a transposed transaction after a prior respell restored the pitch and **erased the respell**, and (b) a respell landing canonically *after* the transaction was invisible to the chain, so a `StrictInverse` undo reported `Applied` and **wiped the newer authoring** instead of refusing as superseded. A `BestEffort` undo could also restore the pre-transpose pitch while leaving a spelling authored against the transposed one | `crates/epiphany-ops/DECISIONS.md` (P13-S3) | **resolved** (both operations now record on the shared key; pitch value + spelling set undo as one unit; new `req:opcat:spelling-set-chain`. The chain stays *physically* separate from `respell_chain`, which is `RespellPitch`'s LWW conflict state — folding transposes in would make a concurrent respell conflict with a transpose and move the canonical bytes of every existing history) | diff --git a/spec/operation_catalog.pdf b/spec/operation_catalog.pdf index 79abe7c9ed820f4ac82c67feac680282a89ff806..bcd8bca41897bd4ee9791551b8cbba506d3d3c21 100644 GIT binary patch delta 78299 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 hJpabsRS9DhSsE;7dZ@!!`eHGt_B_lU$3+ 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 a2PZcNV-pxg7UqBN7>1M-TtrqB=Dz@b$@=pE delta 75051 zcmZtMLv)x8lm_6&YSh@aZQC{)8;zZ>v2EM7ZQE*W+w(7GF^k#V{XOU6Ja64GbmkOv zZ6PSY%)!qO>*VZcYG@1VzJ8g>m$1Q(6#V`HTPy?H_rvv;&8dKx#ldWztBpQEn4FBm zVVCvwUCTS}ha?Y08pZYy?z{7^nEby>0~j3<5bX+CC!C)sS#b|JZl5F3EJQ`XK{|fh z(w2P>E$+uVSXa!~tWWC^-ordWqV$V|?R*+ACB%JSGIBMgGv{Zp?0A9Cko9lU6^c<7 z+mr9(wzo}m8toXD;UObCH#?h#_v`h=`uUzjPlZY(2Kwu*e|W|wdQQUkEY)$?^}8^p zzSsG=4h42Z190hayRJSNV$lv>KWRltFb(|W%!DilRxE&zt8GszCGKZIS=8ka4OIqk zenNDP;eKZNx6RMZl^z#}dRBq+rOegtP8!^dwJKchc5X@1L2_BYD(b#tX9#-OTBgnl zt}Kt9xUs`Feg29f3B2tBac{VsNTsfrIR zQ352v^z+!Lvl;#LwGy5~yQ3Lex;O|ZmlHnX#Gh?@h~&Tgexuc4v|Qfg&lZ2PjKivK z`J~>&J~u7fbtUX?Rf~Ga;|l*%0y%!t{rodKq63}gPSj*B2QL(dIH<^ATRv?z6U+Pz zVe@6n2St}3WeipqZtitWN*^LXPW6l^ZK*M&v8@2JhFAD=!@|fN&b= z)W3pX4&LCYyJUU*@}L>vb#02Pr0F127_o|yY7EhmN@;Xndewpf0s zH2jZ+2YjKP(d3XsxM;X^|%iJiE^}Mp;Op5BdC10U3-x8gN?_NjZBV0&7Qe~1XF}< zd)IgkhEPK(aA&Ov)8(TKpV+jGVDt@nox1W3GpU?SOv-GTmMOoMi?UII z6I2(aoFW9DU?uu|s+F5A@Y`Xzh32gePrbYhWIA26)@R&DT;_;+F>g!>zOwMewCwuY znXp!Z4Bdrhykm_Y?6YpbI-%(yy8&3s&rFLxgsaThD4vpW-Ag3kBbPnekmyVk?W){| zXR`+43cF(JU$Q?}W}nY3e$Gw4kNmFWUC->`M@qxFsWW+WvXjstvno^@@p zK{zXp>QhUGex^&d zFs`z17~ye=nv~Px5Ee%eEP?qu-!g5 z2gDg z!`;zi|6U;83;6KXZmKQ#uZMdT<4%8mOK#UL?G)kKq&b>m_7fj=TSH&6wo+Q=jN9ep z-&fExjkR@_gYi5w46M02)xTZBrc!Yb^SqrvadKqV+fYVN}V2v+#~sC1GTnH$#wj<+{DlWpEgHq8B1&z0L$oC2-`dwKbSnr=_+m{9tnU^j zrV{%SyWCED+Yu`+=Fd6@G(ye3N?uV4J$iBR`I2%nE#S=VS*}$hOc59`4|&>^F#GN5 zU4XWbzWRB28&5dHN)0(hp=rfV^-oc$p+K!dT)xBhOszqqG}F739#!&R+51j5eoWJh z>Qg&qJDKO{#dK|u6Ooy1L?W3+gKNo5)W_u^2S%vpEEBxV(_A*RP850JHO^Khw2Ep9 zv?6+C$_lfZxq1t)eAC{{L*dBkblk{kwg4e{TEZ}`&}Pg6i$c)qw_b6ge%%#+W>2Ta z+=M^RwWlhU>CTfyv_1S(@{83_<)X|Bf_{KVu?PXtUni-G%U7iv)MrbVEaTgH_ayGs zvgZDltYt6HExmy0KPklXK}}ENb5!Uhd^8Br8@ZMHwvR_u^gB?QL{Mi0U56pp01#=u zr~z5rH^_2V^kx*1qso*;`jL23)BJ*EzPbSF-BS^-IAkVW(Yl$Rgt5QU%1Vxv4x3rS z+KN83ch+(tb9|ST#MzBA+7o_h=i6(8jYuX(~j(Jf$ z1xC%k9?fju;PdOW6}=xL!BlJS4uDxc;`^JXSu)87LiN4N{xw|D;(n|+JW|7ZWo_^+WiWI%aJNFRd+tc4zaHv= z0o`TM!dm@?ryIf4X~{RWwPG<^k}KHlHmW$@HZWu`{;6@=`j`Ub$^x&|=7@O>PLa zz*-`ykG9n`d@$c+zI9UR%CVFAHKZdgsR*(Oak#_Va*fEZCn{TnB7T+l~p zIzio+qUfLx^-R_NmA3>br2G5kr&)@m3lgv5$U#%XybfP zoVqIIU@BPOJuU%<*|{17+E=jJT(&sRc}bXriNrr)6Id1zh^EoJW2}d~i*U_2pg=MR zx*actpiQ?|xidMp`vR1-nI9 z0D0V#kK6PGT6!uv<83^mjgPSKY=98mF|(1#mwxu=^pBG5w`~l~GB-}-kP71>h#qX4}uN~(%lqU zPV}cl2e#S4Np?IQA~cy(?Z8Sec+~` zFFmlG$2r;}KdEPmIQw#0Gzvg1$UU2zclZV-{HIjWqjb42&V~KC-taz|7f{TK0A>iL>M%IB*SMY8v!Vq zKsL#yR5t&dG0@vA30-qI+jv`o-NTb|66NC4iQFfK&s7yOg71#-P|6wTB(rlasbiUZc#D0f%r(9d z(n&e5uDFIHI4M-RIgqT7p&ntAM1_rC(QUB$B}-zLdj;)+4k!${&y_!7#;V~L7=e;3 zG!HtQT4B>RpP9{8!aYKDakGKHl@QSz@K10XWwvFQ2*nRIz!7tx5ShLotYeU0wCM20CCei&{PrPMT|EZHX7Gx%MLaZtIYX9r4)~2>!fGpHr}zi&I~zj z3tzObUXSUDaK;k^!OKUDcq#v`=-$&`v%uE$$W6)cv~Wnh;-Oi@V(c1Wz^K`%$$Ouq z#HDX4bcf#)%zfoR0(N!l$hNkh5M{Fu8*44ued(Ln1}x}iYN_3970Xj03LA`|OZ;@R zaZnU(5VKO*oL~}vgW?<>9i6Y_OwUczJGM4}lgW0qEvP%V1t~NGAMpK$u+Yp@jHfn5 zP0mGTwoysuh}n1Gh1nMN78%Fc=u)hJeqo3>EX&XIh8grT=L55U2x+m41aKYZpOhFj~lLalo zdbfiWX&(D~OQD0H!{0QhluoKfU3dl(71|*q#hVlknmg>ZjIq%$nWN4o34>6oG9WLe zjEdkwx1vX>jn%QJ^|auW)Z|U|9a!<_;8&y#H_*&S|6o%7R7r}xHY*U%U9(5>?8!ey zz2i~clPhB>yAX~-34U@2NGw$6|K2j`w z9-zYQ_HMQ8HTx_4d3=L&3C&&2=^c#x5Fw2Fgk~(6x9(WJ;>ai zrNssHG<~MaV`j896lo^cNa?9sZ1F=yd7{Fu2zj%#{0(--POEqgS)M|v=H`>N|6l+L)uRhUwvUpdli&f4B*-X zglimp2rZrH!F(NA_92|$qEr}J)?mHl z_p>NgN_?MO3VEP}cO&mb@@}vjJj-gUUT*;?b+x1jb;yPLM{=*SlT+UiyrVl*5UCW8{nHUuzJ6)r zB(|Q<6B`pZ+_)(bOb|1s%7EZjp@gO5Pn4(lLuu=1wW@itf zg)tA!3r9wLYOi)}W-e<#6naQEz}k?ms^gDNuuVuq z!*)3EGyEPM^t5^t+HfJj8~`owaMmsF3$GHdt8ml0+nXO@vE3H5N`Qx{v0>LFcem)8 z!Sf8B1#2*&{v650IG%D!dO6szNtNR$l4#4g?TTb;TN>w&DGy9j;z7iSJdge}ds0?? zGwGja*?jg-{gbbv@RN6JfT2j$H6D9-f!D679B;=~xxcKra8j7f78rOevCBx3=AWZ?PZ>uZraY81ilx0gNHY09y+*d1$$yIa)Lwv#F zKy5UU!lw>&wL{}A9f)fR5~W29TO9E;n)a!i za}VDgO|vcqkCme;cAgUF}~awEaS>xkOn!he9D^NG$EM^T7qw z3ObMMtL14bTBUvO-kO~66}ceM|6)gjzz-lju2Hr|ueWb~;EES5B6g+)39@K~q=}nhd>BP|X%u zO&lvp=N~j&u|5sXK=NE3rv%|g1b<&@fwurGfSy$jnVPLYj9eJ&1v=f67~=u31Yj@s z%FAlNGfP9D-;IJJ=#(CM}-EgT)ecUciD?-(|7+CgJ_(chpo2Y-ypmngN!lE$g2Z)cYSUI zmQy$&51%2DqD64vZc^27O0@ruV8in{_o4mnB6ptsmdUJfU@GHY{kfX>C&8?Vt+lQ! zi+1NhDR^o9(RV(8!F~faNb6V#lXFi_D@ag@*Ic$nFBMzXXts?+CVZG*&Z2 z|NO5sd)o?0Cg&kqAP}|K0mD!T_Q8HB&M>E|eCzCzZI>Tp3C16)K#+w~AQ2{iUibvhn(&9-Pr7RL4SAC^xw%An(Vz@_F-O{;sm7ggt%llbK!t|k zRj)Cz28TSmLdUn zmiCQUZ=OX*)HF1ug?u|CN@QX&fq1BDwIGhgf zji$?5Wr&#_bkniYZSP}c4-4jYfhRV)FhRW*8~Rrwi-$=>npdB;2<5MERs0LXC@KGY z11Eua1@FK9UaN5wH~dFgU0i3#kB)!%v$UX1Fp5%U^{XXT&6PSow*ZhE42WPkSW`Qb z|0S9KDtjXcH5bz{jVz>JP@$cz8air^M2>0r1}uj@!Q7h z*86siSJo-(l`P`(;VxTb^VLw!<0fDW=A3AInHqh8C!Gp-NjuI)R=9l+GAO)lmfz>{ zJ&+<-pw6)b^WmxBMaQu4`g(5>Ao#kueB8it<*5>~7(DfVg;oxEQ5dh-LV*E zWD(jTKHz$Kc_k!tcY48?(~giV98iE_l|OmACkW}m_YIZlbUCd-fC=pbb;73=RD*5@ zQ3EZy6r7lWeQ0ws+baWS7|q4D$47%jF-HZ~#X!pf-6JXcLWvXjN&4kJqLKA(MT|&s za>E;BiOu`HvR&yWh}BTY6EJJLcwtlMHJ|&Kx%!egKyTXCNv;u`iTQF!$Hh%>3hsy| zUsHPwBo{V_ZYyt8(Tl-C7Tl{Ix@=t7|No5>Pu~@Ay&`i0RLzlpc{Xzwt zZMTD5Mfm&wMS2x?nee&cESU;KN6QvYWG#?t{QXonrA^MJB=g z8Xjk&cTwNiP6Ep}HO_&kLzBY32;-9qQ4{S5o^R&K`|E34{mb$*PP9EYKdbmEIE!L6 zN_{f{73>9N%FVWVd#7XTfLYL<;^`8=xFXLR2#*?D%iy^iBx}~ zMu9i*859c=$5mlk;kGK6Q%UNmb~ZPGwNP|LR^rBHhM$sl@vTe0iXM!C5Rn8htu$9v z><~m1+o?D{J(hO|SL?Khu`vB>3g1kIwe;g)zQ(kI3mFPBNFjX&CP=nk=4QKQYkqFv zEfk+0l7BhQ`!^OUb>_?KKg9y1Khb^}uz@~R9)^`cYTYgdzAZ1I?pWraZi|XowP)3d zc?Q!_Q*dAx>E&*Q)n;FBo=O0e)aE)7z1eB*YJz*&EAUI0Y**uk!)O>D)xEVeh4gzK zPlp#Q&sCNZlvx%dxDaEdi9zJ7)%<33t6Xjx{*kfEuJu^14L9|{FyVIENo2=akr-@L z0+sKH1?-qOtSJM%1rZAK*ySyS2mk0EeV~zUDC87^tvJ`ctF``J?@QIjv_etl~}nqoZr?1i@YidV@}5i!Yozq>6DOcu6u`=d={kb zCgC9qql4Pn;{La0y+YUH~DinDWb38(ys4cp0D}3kLs$}j)|FoweYCFJUKKV=|BRaV5q1oYDbHz z$MuUkTG(`GyvP(kg0;QHFocR`J$^hX1-6~KVmP6>x`zOSbsoP7feR^{ILWHA9;-oD zuAo9+2DeSGc~0{7IJk8vMqhc(E;{39ruWXBv+>XIqZvk4q0+^k`2M!VcUddnJ~{4R zxJhT5-~kz>VsV9{hEU(VF9nEB_jZ24w%R`7ZvguHe#<<1Umf#-Q zY(ms57{QU$-td^>E-Q#ri=&s1gvUz%l2uNL-E!(pUnVsH$u$skpaxoR8Na_>VfcJ( zds#|ji2SSE*h;7Z^&z{Yo=?ZcxMqtPyLcGc;3)T|_I}%{zTvRh%2!MU@EuM-Ompvw zI9B?joP@If8gzy5r9(~7WThyh6M8X#;XZrkNj6VB5tOeCBL72H4Z=j+`@!#pkoSnn*I=0*Y|jId+nNy1C8Pd$BC zLMU4(q3u3+s~rx*?=wqN_AN+4$48gL!4yhZ9*=P}Vg_WUi(!UHn_8tDR>%rU!K#!D z{TdW*xOZXvOD+QK`15S6Jw~;}k1DhBw;l~pt#eC)Bdz=xi~3H>?Mqv!TBr3T3NZ>Z z7f-AJewrfBSmjSm8Al>^#30Usp6q>|jvL}3DCi&=v$X_i@WY*?t^*Bc2#*bg;)Gnb z-9?>9TNllgWvvOdY3r~Ip=_PShuJp<$!aCI5R@?;n`z;x^wcVTgWG+nEirv{-+zW{ zKI7;SD2|B(Xkb+4FG+Rp3u?OK{Y)@hy>Yq#1|^T*m$#y$HVmjN*0Rj=^{EZ1ew!?j z&)n6c>eXhizFE`qVE1Jc4)1c8zQf@!qM$gOKD|Y$VQK%e^2Np<$IOsuWPoX^$--ty zVBJ(Un}@odsh0`YnCD-0gF0)($?ZB9A49727&q`C1V1`+m@9R2N-Yh)d{*oT;C>UB z)P!%o)JiP=_Xk$}&ZcF4CwR}$LO*g>tx|pxH#X@^&_y4+Wu0qm+bALB<4MB|JAwKE z+LDoak=Fs+7|j(m_Kv@*AK}(+`~@5GU>XVr|2xBcJDcoHnSEG!-|~s2VpXfVUIf2@ zi_V6Atji5FLyQ6RFABM51gcCq_4ptFgHfNUc4&3?x3YYVKAVVeYI$$j3`0d|px#Qa z&fgMGk(tpg!kYq+QE{w|-l8;g$3h9vk{VoC&FomL_HAJ6D;-}ykUZK+;?JHf<2tuKrM9#+yron&LOL{9cA&ff51FE#;?#sPWBqEinwmhfcZ0C4~n}$oJ zG7;I=m93a3nQ<7Ykv`Su3D<#Em{erK$A9QO@igw>*I|>rGB@1^&DR+H&W-SKVMp4S z_2C^RR2$sBwu$?PaBB%S&v0GR*naL5dZ9D8xh6&FlWq@S^ckD^mxa=FKQQr>kaH@YR$<`+6I1yOVp~|xb6Z=XB{}OL-d_m z2-D9sZIwqu9RE07RBpqqhST>?XNxr$yi>Bf`!5U%f0XFEuc@i0pE^H0vt$1WyFvv( zVpcx5F=-QOU#_Z7WBEMrKTRXTzrN02ryGA=n&FT*TwBS;E#SBNbkqrBPCM-mjvJfu zCpc%Dxeuk@crELZJ<9Othc)i+k?-Iu3J<}-Rm@O1Qt~)+dfrI z2>arA0`0<^8a{S&7#gIGNqCy9+{y?QO<9T7FHHz8BE`jhWaq&Atrb1r+7avF(_Ptx z9Ra}vbblt8mDdJZH%iNotE0#-utRZhB>u-<0~3fcgK?HtYx#fPZ4aT4feQ=tWp|o; zppgam80t*FooAUd8j(&Lwx?;#i~X*Q)rSTiMxwPnTA(gnTvEbx8)^v>gT!F)ufpu= zIKP*grID5|P>%tbCZ~~R4zT=?^2nnt_5f4XN6YDAd+2x$FPNH$C=3I?Z&=^Qer(Skel&rWF0?x%>P6Q?N-FPPQA@>>wE#`TDmAfI3-|*o6|`C9Y%+~ zX{6N-MEMInse?rb{l^Kd{KS!_72PSabg^NOzwb(WWYM3O^!9~hJVWLcPx;2YwDe;2 zSCN7%>52a6lm*+;b(`1)py^L{HFU!2ymugL9HuNX?O&-r$Oy)6|WuMY8LeUNK1;XL7pqZAc2oOW2lJ9h)lExHNL zW4Bbt@i~^S*y-yLroW!%GGnH!tJb^ChV<#RGh!(bxVGiMq@>N9oIt!&T82_*Bkur`UzuglY||e`#s+qf$yU| z`vK@vaKb?^Hy8&ySAsV=CXiZ>zX)f+>i?q|WQTn%V^_qh-Q1}*V3q6OI;5~vqO795 z!fR!_DPSw@Ou0fbys%WE(5m=1IUm(WNr}NtPr5#ky@)GZxU;@*pHkcdcx^qMLwUn) zlprcRK#BC+j6mjiF=*Fb?`$jl_AxGDrLg~a__Ce1icYv?8D#AGkMaSsL-czJ2bkmIJ~EA7#tWQ*squS5%~~wE#c_(mkH{8%)Fyi0+)uG=rfNU! zF|uYUh%3&a_+!X^_*8OAu)yO@`X<;TM@)>sJXObpvP6|8tvZwIO_FX8H|OJ6f6F>2 zLw$Od!GLWR!dHJeE0~UoSo%v4jjKJsAI}$36+<62cde4x1>j+(0CMe)KQOhESfv(n z_t7pZm88mFLaA6^n4D3dB;Z3PrSjr*N#FXHOy@^u;++q@-VnB5wDOLcM&(uUnmqH% zqJu3%ND}AbF48;q)0I4a>aWGs3EdMatc}&%m7>gnd$CdhI*s#DfvtrD$}!V$1H&hY zO;aesR1RyKfJC;6N8vwiA%!Zv{R0q#D@v>gxG=3)I(^Z1hV^NL@G2?!78QAv%2BEI zSyb`)C-&)(;b>9PFh!zbl5^oAUR(3PceSnp^*eVF1(JqX$Ciw zWtOaMKPto{H5)Ow$(-a_zP_EkvY$oYvnSTDn8!><&1u4XwjisnP2vvnR^FA8Ic0O~;7x(4w{ z&F(JOBigimd0w)Jy=BvK8~Uu0tUEsIqUh#yRwqg$h_sqnuBeC6>Lfmbp}=Vlmi<3$ zpxIy*JXXs))qgF!w+j=hWaj(Y`LCjRGbtZ=hh3=4FV*Pp2foxfRaTt(hh8aasa}3&szu zfeA2Iq?bkR59o?_ z4DVFT=t3w^^wHJwdgiF8Q@0rrW!HQKn~&NugJQDf1~thM2@k>|cn^yoKArE5Jk=xh zE*9(&-x~D%*kCbCM19e1oY?ttY@NhDM-`J3&MrDc5y0!T66|H}db5gs`M z`FcpS=gF&~mt`q%P%r3z@lY2>aXlyu{@loyIAmAl&v0LdD^K%nH9Lo1cnT79iP~8w zPyRi^Hj`|D+6u0yUuOfhbWt}e+gHUie8XGGs~AG&b&;`I!kEpw2xn69^;p(AsB5V@ z;jE}7Ep640AcUMHJNy!xA$EEI*s6&^LDn)g(#ZP*w7BSHH#dt2#(p~ram-G;u%*}r zDX$j2Hgkv3b?gbuyKG%u6z-J5-rt}`TT&PQbS(Le*gPpO)_q(KpgPh+e4?6a2~~f9 z2=se}LA{{)nM&LQyTn#HuG5_&Au2BM5Wku8`?pgD{?(~+rQ>Mi}0S^K=tK=UenDn=mzG=6jWu1PdK zW%{vh4$NV~$~o&)+tcbl*#16UX@z984F4aSuvQTt_OJJp8$SA8;ufUpq0A|B`Oc)1 za#>PME+^8WC?B?>qUcLfzpJuz?2 z+IC-t*@_Shj0JWMvGQ_qml$oAzpcSKHb0&Io`n!?_NMI4-jQ(CEpV@lPWp9$JLK^P z-Xb3hVl#g;&$vS%^!!w{|4cHS&MH5Hd}T^t5r_CSynJSs&LlDlHSQG(1eI#*z7TrLy6svWe;)fM zTDx+F)2EDWnc_#W)C@;0kvEJM4?9>ajpg&r(;UfpLNo% zu%;OlT_x)PHL?^_=lFfid4Um&c5s$uvo2ImzF_GR1)iH1%|+|fljU?7dg&;&W^d!V z`iX`OKXa|GYMkU<$`xGiq&L?~Ya4M9?aQ(}ZG5XsY>UK6GCRiO&c~nb3{FPps23Y< z-KeqOx09!UKfNl?a17YoN#yrrDhJxcDaVXfDw_y!2JV&3@0ZGRtNvBrB(!I{Z)4lSP( zCn0Jb-HUNFi=HI^@-r}AUxrd;a%2@gz~V&jnIB`Htu??Du_L+v&NSaFiX*908Dklm zTXrA>g6}v-&V3eiIELC4ZCAh&^~ARv5V+YyEzcj=)66eSiMARvg30+)n&jg0f@yb# zlHlEYT+xS?;ScRXk|aoF=*mwP%3M&>&G;icG1Oj zD5L%T+!0wt?HTG@5vW0-SGf(^Tv>U|qwp~KGe6!~eE(a>1ytt% zleI3yX?Z?Jrr6HM)e7Q67VaGx@vDF@-SgdPmiK);L@eCB&vUQCp4_cKcy)SrM)x-e zgE{FZ-B)A4WfWP?vAQd>WppVtzv_2p_qN(u(#8nQzpM`wxo;}?AI{zHF@;|=G#{3c zAeNA+-sx4J^-)R}AVhaGIM|KykJ7||_v1C9J>bJ<$vPGCZGvLRD8D^;dhC5p>?r@B zEYvO6aEp3N*>u1}Y9KP}Ve;Cxe#0&I!wxdapuOoUQ71v8n~j*t(+T9cKFN25^cQ2- zyk_fXqs=6<8YHPhg5Q;X$s6U?UFn^O$AwkvjNWY-AitoqV8I-C=dndBjEn}@te}?1 z{dK6;u(CWu)yWwDHJZ37KL?&#k33Bd7?w!vo8D6_hsbq*H zBLKJI_h9}6j;fk5HZ#Zl6!->|=do9&;o25-`f{P(GjoA>+9m*yiRow4-4hG=UbC68<4y1sqotm1RE|I1HrY@7WU6Xg(aJ=`;e<2+y}TRZivS%L9xKJ*uvr=>4=kI z8wFkkGJCPFXRdQ%StF_Tvh+)>+n|9=a);gT^6VjAW?4zzR&*Y8T3!e&X4$ zf>*{aJ1lMa{MS})Y;86bUEH>p(S3DmBbo=R&LDe z&Q9Yq5g@abIzM^#uov+CyQbOd>DDqCCRW5oKb@UOy6cMVab01lpz3qpc9&6;l|*e; zLBRXPoOxxY#Ao#A`pEr#T`&LBdSN@X3n1H4xQ*a}zVsJ*DOf=e&H;`CW<8e;kwRx^ zA8Q88Lv(qJ?cXween*;PsEW{)b!Sqk1t>UUt{43c_=AWaJPlkQ?eP8V3XOx|xY^dH z+i(ef6HZ23>gv%|=i|fmv^st}9s44)%HC?rRPSDMUqV~7(u@mXm#%o-xYK6+88Z7) z7Rg(A?pz9VQj2@>fPJ<_Uq!lWDNn?EoJYPay4wF;5fC|UMBeB_&hllrG$m4nb!f2wv2*|-9PZFfi1*Pff3 zFlt3Vb1-e2TVO4YIoG{LV7_gh{cV~L&KlolL+z}!j5lxTeHzbs%MN%SDoyws>{FaQ zS>MahRJItwSPowdp60#JrJbBn-8LAuZ1#M53Ndgp6ZQD6-?q&aWxk)JW>@Oj-&RQ4 z?x_O@ro`Mj-KUO)7u~Y1f+2H0tum zkcIz0;K|G!hfE5v{s*4_*E_p($D&Evkh|V#9>Bz$e*X}H0{idv9lpxg4QMBu8gjz? z{qatYg=`W#HYxq+j?J<}ZOS}GXzW#IqUYOH8Zr4@CNujAc)UJMh=n5=y=uIE)X1dt ze7ksE3J4sR+&xar>@aPg-6?!A^$nctN(1=sB@8J7Uqia_lKSrxDJx=9$PDXnI0J_h z`#Bm^O)2A?WzK^$gh`$UJ4veQTl|f39;(o<92EEV;(MG40_Uq4O)DSoc*m408&2!n zcM^C9XM``ba3{xdOV+O-m-gRpcP$e+J)J!~Bd#S)$m{Et0ZHIxDqnMHzDa=Y7SO^9 zdCIy=RphE2}Jah1Fwqet=>3TDKlF|)IP6+x<^@TNgRJXV>TrC zOC2@ruGjl5rAVABOSDvp7II9KbK%5aWYOt0R_#r}lS)xmC$%$}H-rt%UXR8X-B;S~ zczSeduyI{N;-=@JkL?J`5#$B}(!4c_y%Tc`>tqvrc7?G^ymuSL90TYUfZz;zb5#l6 zKlBQ2rqm?$nukttuO5$dJ7Eqvnav_0Dq5ufJCYCT$M`*|C_F}GCpI(FHI+DzrziF zQfdxb6BkK~bm_o2h*~9GOR~(e*cN9&(4Mk0fvpC108GVvY3M5*z~uoiWg=}!GJ1zl zG{Kyb>D03mUa$+Bzj4+Br7G3mxptIwv6XB?jx!8RB)4nXvp3BgTl_yAD2w?hN3i6Y z=`^+7!>Y#-q_d}g+We4v(x7AW_&(zj_Dm9U)3@={#I!v0G}@R8uAW)RrSrm5id<}V zYQ6WsYnHHOG#ZNn0ZynHRV_^|`Jzl{eYb_MCzwcHUwa=)ojZgK4Ym=f z%~^BZfn}@PrM}laE>9>jX_FT2QJU$-1J9t2be$GIzv~H)_j+Kx<`VkO(gq{r(W2zh zdsJ6lN8nGFN<>|MX4rKP)%kUpij$9byn-Y%n&1EtopO*tzxRj zSRzB37U?klDK8-cmnaHCrGfuQWv3%Q5eYPU|3R`tW@OBk=5c$Gs~3*aFU0H1X6vKE z97dgzAS$}yX*03Ht7C6!Ls(u-;iJ8#aLq+dkeZ}F>pMD}U4OFs!dD0I|3;l#tXu`9 zOdT$&09u|6zVX=^n&dN6mK+K>IrT_kY6_JJzZ~{M;;JmMTwd2o;>m23#5|HQa|yGcQxuQ!`0-84E|{K3V$B z1ojB-qJ-F3prA-nGwWs5YCpbeFKF}{&CFeb3aYUJD|m*kt$TCAUVR68WrvFReUTr^pu(}o8U%SPR2 zV9KZ#%-xUR)6QK+SRZMJZP=iyCUC_@;V?Jo@al^)oW@zf9uG4Fvc#WoTX?Zf!k=W5 zN!+i744PTE690M3G8T5}C^BD|2|NlY|I@UyoV-(?J7)r85eP-Ea2XiDkHSGz0+`ae zX`*t&GyvGOYIVZ`-^M;C_`^lDhWicLL{aU6?WZO7|EJc%a62Zonu^+OaSbXw56McK7V)Zp-pirAdP3B3l8BiBB&ljq_ah;RqFFDZJqiQ@)+p`<>r8%knkkd;{QX-iJiXKl<6>LSyeo;C=)DoAc7nE-IqOFQ{cPn4uvS$h5cvr3g6Tq+ z^o;v;#(ke)?_tq$3A*t74_oKdoC&n8>vWQiZL?$Bwr%H&Z6{xB+v?c1(MiX)ZJVdp z-gQo`i*qrn<`0-vv&QpcXx=nW_;WYH%!J}RRzfyQPEe=JR4#Xx2MZx@IbB{yyVN`g ztR>#)nSj^TGbkbia1!}n$;W7#-#8`OO`#KYlQ^fsHfKjCv8 za0_ABZ0f#B2J+iCpTVm=NwBF-dXAO_M|FGKHF1saY(QChKA%wwr3Vy^Dzlr@%e%1} zRqXmms7MB`ZnD73)eV`K^N&K=I1xNN%#qv4uM|-yIFI@`49Huo3thWVpJzjGQS~hk z;wy9it$@`sQ(f4gu1nta@6ANOL)xi@#7H1{`n%wN58T1nxDNY%-xS`d&rGm6$)dnf z`5^v_W7;)C9t3ZlBRN)0wDL`?^E(^$)m$3_H{@i2rf6psabOSu*C=MgULb=fJBYEM z6_yz@ynhJ1*?WCRxTPAI|523mIofWSgv9>20B&|3d@S?!IDHyo9C+|aN^ED%Oule$*^SLP=|&aCFX;%14ie^4sD zw%}zwp8;XOYgsI}&D(63R)I0Qt{S<}^m|oT8{edYxuct!LCB=KtMXEtMetp2<0|4J z`-`}FA4bCi{m*F4zc{L7sjo)aZmX0zq?TEK;Lh=P{2J48?rDB!^<#|}!lwqZIJGOi zT>>w=;-1fYFf;AHv05TG5xNgwG`E_x#zNi0$u3PplYQHm$JuF@?k5$Qy29AekF8w+ z$TQQvoL!0r^F0v$uBY7v$78x~t7|3E_;_~JSdDK!s5kGb*9%qljSGL6&cPrg11NOB zy>r=yDhwF~=FZ7Am1x|NhLHSicK-&QA_5_!n}xR%$I|I3?YYEd+-3Md{nkNce3Wcy z0XH^sT-ifx8<2ewk&Gv%3p4n&0~HPV8%-$*-O2cj&V)U8VL1x6;6O}E zK2vBY?xvn4OtT^u*gczpu)0nOk;@s4)PPg|Ej@Ll(STRR=A7%*@_)R)#8rnU2_Bv% z1(U1Uf|63jqMYVrH6{$0NW7LXAAeye;CIa2EKQR7GI=^d*bL=U_$82BE{8_^$1!E= z5pRKCVhLRYh6HlAEZqXp&vmyW4%jzflBm3q%!IsvjgB>EaYEh9vu@UYBQ@Wkl#rEg zOSAE{aH}bL+K=A^X=ctob~C}8k^c@8+gqc9gBO#tfVuotqdTyAHSj9O4i4?~mscMs zCm@<3&7z*-lxE}~-K&B@tVJv{<)isC5z0MTjGWq9HGbY5*vc$q$u`$u!XyH!KhzSW+ zKVA3h+G^X}Y}Qqsw#?}tphL--P7=mj9X764oQ}`xI^{D@(}--J(Kt24{Y6OJyZ)l- z*s|cs7oYv@u&suWjB?fb$v)3;4O7sax)R-*?UrfrVLJAScL-cyPb|Z={eJH%CKlYs zSrpoIcki%a@{KZL#N3waAFY{0Ky7ZU!J^6I%tXsPPYZ3&TTlZokgqLI0`KkBh`DaV zFE5r!ZlqS&X9yJb*wa+@H|kEr>|n^#HjRw}eaD)$vE5Vx9U=w@{*6<^NNL032{^~d zxEEyWC6oIR!k`KD6@Y``eD8B~=(Qb;#<=p*x36F}3?HzUA)#P1$0bQ~iAA_pRqz#S!KJZrYiua_6vJ$`fwpX! zmk$wZ^xIzup0}%$V|J&;1wOb<>FzOg9^wps-~1R5#OW20cxiB&FUhp#8+OfL?Kytn z11e0y0Tt-hk#&-Zk_EbEjq?*FXm){JEj4e)mi@)Urt^L`fs-~O$J9}jU16YeD+U;^wA*?iG` z8{0r2&*y`L_m~a>d3MjHg0}6c$-t2^ukZWIdX_RdrET{d`RsLB)0h9Wwq+@U`9AYR zBr?C}&%CNaPYl21cFg0go%+LU}x53tB zh2!DV==v;2J8r|xKxS+|xC?{9xY}d&r8$0}Z5LJXRa&D$%Y<)O!nKdFqnpgNDbRL?}B3o$u!&D44$f7%GjT;&c$Ciu!q>?4xO$GyBBZeLZm@D;JHdDSe}QNG`GCz zE_U|b5U7de>31KOeP5E;j44QYR>J^#(=cp6P3aAQ5HoPXM?~z9Aya!u?AU97npw7k zQX(5hydY|q;YY_Qn=JuuX5nmmY&+~Gnp5ONLNV;2=WezZs!6`0%lNH3J(oSLg|$u5 z)96PXY!Po>e)Dywy>k9e1eb_0nPBto8ZcqkjrKaH2tYRyCi{t8lejSB*QE(Oj$cjO zj+Tm9H-tW4l1aXl_)?E6xmyPVT`cvF{?lb@-!fO}1kXEXWoT1atj&U1<90qVWa7|M zeUuK~mbRYKkABr6&p0G$vQ(a>KAehGJKmdrU6GgxnWjDF)u@&3fdJhE5cEm>^xq~t zEUmp))3f-!>N2)Zof0BQpU?$_h9g{escVaA3b_WAg~K@o`BUXr`vJNhZQ?g}Z&-<} zdo#W&-tEcqcY^fm>Z~P}{Wn$7eo#0vL(7ykxuet!!g)`g64zgN#&j-HDF-Bg?Niq@ z^{}hE8dFc-AGyWmefXU|6s=IT#Vtt3o2$O9J(x>P-z9m@HQ_kNyTle?y+>V11X+24L}a5ltVV z#?B4>D0W{f%chLb!T<&khw0tV)17lKIK%L~Hr{aswvL;1jmVEQ2wSePT9n3*vnO!H zMn)~jqx|EPEpv)mV>yayx{`EY;kAzmXj&$tF5G70&fn1*y#5q8JN9%Qm#LTU)~6N8 z6Y8M@FQZ{Zs>F~N0NSG&sD$htK=mgTt*BEq24SjbTk^3wxxoSG7Fm`A;ha<|H&(F2 za-&TcRN?uzrH6U`9VMyF_^6M5Z^$zGl9H0ARSPpZoGNg=X>0Wimolk{_52Q=Qlv*y(nEKp#l>z^JN-6S4u*Iaf_B#*;WcKxHQE{!u}Ze` zzhKyMT>|gy4nj*R&UHd9wQYIJ%?b?F`@5g$7Hm&GY!5h-&3VNewOQ0e-=k12O@Rt!955lrG9|MVJO9PzL; zb~F65=HLt1=bj${>RCmrqo{UNwTc2_NA-a9ryG{l(FWPe3%p0HSzgYhJUl$b(P?r& zq}c#}5fggFeb`5B|^i4c+FLUF9N2(OrOD zCLgd72q|JOyVVqtbe?eW-7jk1{gddc4V;pHhMK>j_aX~L<8oczclXAm%%REi@n!O+ zR4{|1yh2kwQ|9!blTO1uMYngRji2{ipCL{q$1F#%fb%Z1dqTg9diz9B;LuLtwbgXN zb~Ot)ck&lRoXN0V8O4A9mk7Uv#|g!zIhE9ohIXgQ@|<&-@ttXHAQZF?7?x?sXx`dA zbjhm)OV8E#jg@6NH}lD0%?8Xq>XzG-zTmaYfeHWGfons@9cmj|zR<_00$obaZ@3`d z8>3rGDGX!j+T_dzGl9Y9F3}`JIP+%eLiIV|EcYtdQd-Hn7*t%x8f=TiJNn`>8S{K< zuKHlAT(|aGc31gEKy?z)FScodv12+I5w{^_^dLlzV<8dusF~C>EzX0~pQy;4P2dKm zm;#Dlfa@{3BDR!{OvzOIB1^yaCUtr@YCEopka&`Q{$oPg{%|d#VG${aXc-2>Y8h+b z171M=b91{oT7s4~0fQ;taJjtM5cj-5(kl2V*wT5IeJVO~EE{4Z?prlQvPZj-Hk+iQ z3u%4e2s#qkoV7xBN<;J)wJ_s|Lirj?eKFMsaf6?AkLK=ZDBWBC^jexj%9mJz0F}vg zOZNWg7#oG5lY(_Zuzo$>wscQ7j=LMM2je5Hoc~v`^NQ>-4Ay$5hI}jqp?XxYY8?QjzGiE++I62lMw~P*b@Ma<);-@Bv+r9F?aJXa!K4H z7xQwAkR2{004_ryZD8TuRPlmf4ZEc*%;ihsUj1JftjalIyLj;v%PhQ7|hn@ zD8-WAR?J;ifQPd&+-do7>dIB&U*kSG5-nW=}udFvECH_i+&T3|$;F_Sv8a^TgX_fZ~*&*4Jmtl0xXDT=*p(UHIri!O} zrR$-=-JDke8AMK6whg|NylSlM-SnxYSFLg&QB$jcj3Q<$f$vz@pK$YC9OWj9VMx$m z7J}P@zIiByNg)nE89Mf-e`5%dn(IKogk!P({Js;!DwuYkNv#&K4KP!a@=a~Im%vUY7*3{N8(w(^G z99oyC$a+j#bw(%L`VT8}UXBd;iyLMjbHC)Xt&Na_k2I;*IDug_nn#n)MCZbzTrx%j zV~XrCZXdh2+XHsvLf9XmvbAX?PutSG;eK^5XZzA~f^PHWqz zQu(M~3~yc)qGJv^D`@6FTj?9O4zPqc+E+|O)x(sGqh1`{{5}HY`G}j(!v;1_wPn$> zyOOV##~>PCOi%NgoosGP>SwbZGij%DX57jf1o;+jCTKNHNQn%vTmZX1SiS@44;2I&mRtlD6 zuq-FSftq*TY&I|^v4Zs`I@d7MhmZKZ-j!E<%EbngPAOda)c@cxT-%njTIJm1rqmNj!w z5wA11r{)@wPY1x{(h{{3Zua^V5I}l_DrfXnMkVVMdpDA!D+@-kH;E6e&6uRuJ;-<} zyCg+elvVuXN>VKM>5^@^ag6tq?(}bc`3N-ARi`w|P{|jNLzV#X=lK2y14JdVw+|7Gs`7}!of z!hUMZ&~Oth$H9;%B3q0hl3jqo(or`!PaMN!=vv@AD4zk}c6wBA3u$gQbXI03c5!n( zdADo#k>oOP=R_#9C)6N>Z!{v)`Oa&+F#VzOzMHBV$&Au$*0G4+Df>d}Cc-kutV#0_W|gpl`ch04D(2ppiq~&kZ5PRNlzU`ys<@s*-+Ojr*!RrS!mbJb)7T zLr`~a%GJ~lv1XlslmEJ?KySvWw}_!kT~8XH0(@xQ`8aZF2Q(phUko(EY4?7vJpJ0gNG*hTuK*oAY+!kN8rMk%%HCu-n`w*x+I&!L!B!S5f41RPs&8yL zjm|9Qwwk9nF=$I~nGnq1zryDfbw)W?v_5om79-CL8GURSr}|dkwgFAw^wDwRWMO-b zT8~tJO(VH>YmR2ntlGkhB&9>oHI2+H1~R2JTN2FGuwJGZFcAq zE^1tA*hc9^p;Ws$oMx!=)G@czPa^ib=q6_G4Ce8@-1TP?y4>GYd^@k}qVd>d?G^?lq56D1- zc@JQeLYofKAPUYMWQ;m?;z}PL2yo-NKE@%qruf5#GA?7Bs}61^;uLQ)+Z01RG_;&R z9ThSfsc|y9*4%mFuwb$->^Hn15&lCG|}fGixGZ2t`oFclL)16+xAVS=C>j>MOijZ-1 zkm#cdHvL^}u#vexc)Yjg^YY=?K5sh*vyLpuRxn_7A2Ipx&1UaHX{&^`+^y zCfTdE>&4`JrSWiFMdsgXnD`s`2 zEx^zsy|T!lhkvC7WSqtJBRIFeE!@P$1W{(h3Ae_B9q&Qqi`p*N!G>0E!1FAg27jwO zqH?ovNl>L$pIC?OV{zEE5E-3IDM19KHpB0_ZuHz72pe}Ir2Q2Sj7Td~$$%=|W8YyZ zkknfhXHB*ZWv=!pgX#F{I{1aIc8gYRmg(16aow=i(YZWYPf{H9(^Z>NPsRN?QreA7 zRyD_K)9pwq2?MV)948tC{G>Q>qCE>-b2f$ojFe&cl-*jko~zSygq@=j{X~z67aVsQ zOZ+S})3ijU;HT_1Fv3#*RJzHo4E+2N@QzO#9>HB;O>(9Q(WAqIQoAI74<`VCF+>gM z4coSxh%B1bNCL!l7fyG0Bcmu1UiX*_|7~1;mGCO0Um*jY__`xq#)1Wp zwndKvfInMYw$QuOa1?eA0Q(^o0$>rn;bt~=5M0j#8e`6t?8iba%Qe zCE-IRaAHS=nF}z&Yd{Hx?ktEz8hhYP%=1_2YUCS>U+=!_iJD*_XT8g?8KNT*pJB!T zZ;X!FbriQGtx}Y-8j5qf@CY_&>-I*ydvZEJEg7R(xAU8P#lwJLH>r3o)mxe=oa&~I zH=t_;y88;dU923C)8Mn;CJwiHoQUqu@PYW0uhp8rho~2OPC=JGDY9T@A9N4(; z%=%h`(z%zytCy#vRaJaH+FiSO-qGGnEC2+{10l(rVNd}la*QVn!`l{Bj)lUVU^1o0 zQptjnQJX4&+$4JYEOvx|!uTx#{b>fcqZdNA#aYB>(P9DO{9Ojyf6}&gj5Hzidwj1v zBtKHkw&UqD>$c+ypCnM=eh|jk&$#FrJwZ6~nS#d={DrtxP#tYa?e39hnt#YuK@9GhPjvk+#SBNc#C9~0Ig1%@ zt?DQ-dtfRB^eLvvekRhzB0LH8lM@|;PK?cmvRzImfD0Qug8B;0E?lVp8mBj^eqR}c zyt@Dj^hY^*rBlLK`+&Sw=TXS0z%A#yxELOr<+#k+mWrAud{(gFZau!uqAqsjG!bl>cF~s1lDGZ-2k43@K4BD&##qGQ-B*4UX)?U{F z$eq`e<~BFu9jFqDpP&q$28h}RcCx|`o>@u%s&2^CnhM!pNz=zYEI-Se4d6 zdKb987VJ7?6%D0M##5W6WLdOm8ifiSFFEOaQ+_X)?q^gxSP;cl>=$vQbUZ{G;lTew z7NhnTFJFcy+2;TO?Tk|2VQ!X4K~l4duzFEmcyE_~KJ5yPvKR!F$;mQ01(&25+d`pi zbM5An2WTqxJN!&^peezJy5dg5X_qYr}U%K^=5X_!)b&)0>4+$RW*j3F(OIAI zOVY|ne%4OwnS5sEDGY20;eCUC<}~@=2X7hWi#Ja|?rv-Z^AI3^gQcn>B1I)F6>$}W zhVZO?R-Er0p_K~k%Wp6+c6SKeEdztMz+&|Zn++qzFbLrk_F#r)Ob9xQfRYo^3?ns1 zaSfa`x-aB<-W6i=IR;f;D%>KnP(PK()q)pCg)wr-{{5z_OpB{+aWqV==f(c)h%MX0s8tApKKtwr^OsYw z^b#g_5{+h!`5tjE_9WwL%T6j26) zpH4yZp0DFkG#HDaKAC-L{QQRxQuK3O9yiM>$LYIs5xstswP(7p zf(c!`8BGrS*@MV`DUC+Gc-Hfc#gHsqu*I-)DUWYMzuG&};5x?Te?!*LAG+w&j(^P< za1_(klUa(}Q(|BvOY=pjzt-KN)af7J^D^_>B`wR}V&uWs!9d^iJ-M3;P_|$+tSLg*Asw~F$n zi1d9@%ln(au*nw^-u09)p`_xJHOt>|_v>6Iq5aX&)jf3-lOb1eMLb634&-n@pwXSj}!!(35Kz(MSU7XE$W6dp7aXK5YAHhI4IXvJqK?sYvyTR9FuA z{bf&6v)+Fo|GP`ofgZ*)7(nzAm~xHrccrltCYtm(NeTD(0?p%-3z}NP{o9-2#=D0g1T6gJW*jbbns=-G48!8BPF2`Ic38w&9X=qly zlhhKMQ=@bh8)!I$18%omeK-y+dPiko|2xck(?BB_P&lk}^hMhQQ&|(ssm=gB>903+ ze=ahD^~b@OZKzSz$=HoBxbc>`M5^JJo>;P?y=#Xr=eU-5A2RlYP7}#+hg*pH0fpZv z7l@u0y27JbBcb#jG3nvQYxDx}<$Gs=sPuJ#h;SP>KP!J}0+S$^ft7SCuXH)NMXQn! z^ZY~jgm{Y}Y#p_`9!H-mg&~8TqeO#AqP5o3%NM?_w?wM7-iQwM6r?x>#m40Gi#6}l zIZBk~pI<9`xcan*27&WsJs<$=`u(UfB4L{b?RsrD@KbJM7}l9@i%=4{QDva+d0i{^ zcxtI;!oKr1W*>g_$dsThmFK+@gt+t#qLptE&T`rAy%TrlY)RK=j;rM>X*@Z; zy5l=esNb|b;v5=SD2Ll6sUkBE-TW8ZvSSdQw7kT90nOLAA8(-pz;8j>5BPZ0_7cGC zb$`tW{f=@~ft*Vw%`yb?DrPf?!{Yt8&-UR0JncQHZ^j>`v^B&YGw!`4a_RlR9HANw z?()P><+4cgVEeF!s}4FGjgo5prniHiw*9AabWH*AO=h2OWT_&&@E8((u6yqd!+^)c z_8mRp$b~^uN%AP?(1ovCK+fG#fe%CjLtWGVQt1D4{hxX_mj9LLnOT|sdm0|rmH9Uf z!}lC(ydb(%Zz1;G5DT&k+GS19jTV$%PLXl_E1Y{T5LGTzrC#6U3o>+HyQJo$j3g1@ zUnt#Hcq`fw@QsA{(kN{O<}F|Vs0Cd8^Z4_=-i|*TzdumD`tRoj1ZKA~?!dlQvFaXg zz=3ODx9g{A2A5R!T&!t&J{=zi5#&wno)V=LbQj0e#-bPZhTL zd$<|Y&7(J?o##PmpvO#J%>Dh~zkT#tfeooAO}8cgI}6LKb9mh4XwWX%mFHpf{%008 z-H57n&WL(6&pbxw2UrgBT6XWov@1mwm}0w5#~%;vKhK*v-<5vP>1V;SpFUhC-8-^; zJQ|et=J*BCQw`nCA25fza~^#lLH?8J*~_-FVSE)o#)9}IC?d$C)6|yafb0fM>%2{U z-OhDJ2%7r=bOgLv_EWc5$=OO!{?YbC#Qb(8>=KwV#VEQ|%3x2l&se_4|2S>0zjja5Q61 zUa(Dy({+_9grJqrF)wGJ0$VL)C~FsPD|n~faP#!z(+IY=3}w}{H9z#d;Va8n=Q?sw zn>H&JdTh8kSET;w@NRR2w2%n+*;`H)%A3p5(mCp+uPJEUiu`(2d(Rk{MtW%Lip3#+ zagM0zXl^506m1k!N@aPgMVQKeJZE-H*$j`2PE83)xv1Jzot#=0wZ#y*>s z@_4q#84)cl&J_kTE1NJ29?c1U-Pt8C-44v@XSh}Gr}16roOnVGQ)h_P;00;A(;{nK zrch|fy=@>?N9g07cWBi~R}X>OLFz1&tif{dFR?ldfN65qW3~3nsiDc<-^H^eq!3@{ zXas&N_fWAut4M>K0^5OoxVAj5;tZ-smN*3jh!E0Bn|y3}Jz%ct{~FlmZefZRT9#-V zFMmkcZ^l~D5YnUSP?3x!=r1(IY7n&J5m|Ne3J$JY7nfVIJZhuM?v66_T3K5A3qd#p zJHr2ZU<03bbxvTjo@}>1bED3|@~#6g*%3gfvo@iRtnkjE0XfmH)pIuF0V_n|bwA~a z#wDNN$Fo-d^5L<9u+`wiG52h+W|u-O>t&5Mga>DylcDRc2Y-ieKRj9N>Uq}9UE_d3 zRbd2sa7r^lcc{>Mab-(@EeuK4eB!qzXeVJ|kdENt9pLIzH)-+FzHlc-*AI;P@q=*@ z(3s+cR9pB`11B(^5Gmg&4WI?-Nj6T{Q&doENGgAbBQUDBsU1Xa+rP*f-1cGWYM~kR z=RERESoRENhb~zBdG1dfsG>9?+uT93p+6JvZz_@ESe|rQv*$msnehB04~c%_Cs(hnLsOELKx*%>ao(A z3%lY`hoiM*JCTlH84onW)3vVzmuYu!77+S?y8U6rcOX+Dd0%GZ$v^?lo^9Cn5q&P^ z%km65`#^9QEf=b5;?nwKdvpIYYz(sKr{(R0s4g4%wLRchP2Vv4hX;fu8DY{`|E&(1 zwtijy=dh`YG6rn9BqSJRRy;>qHB-s<{TL?89kF$&wC!_$>|2Rv*D1wbB;?|Qe|8bE z<`JnBuCTw_R}M5^xkKvqblrmQ1XU%aDmWi4F$wY~n#6QVa3%T|?yv(~DiZwLe^ZFO zg@Usx1vr-n8Lf}GmJB}agdsZk)gkCJr?K!!@~?d}R~UC`Z;K<`3q%xo1ZLD3gmc48 z`NDq?wj{*CZ?0%?m3u`uS!Fr%#;bG2rFQbw(|FdAJ*!_}fE}UL!$C>vnErNB2XeUa zg-A$39uB2V0OC?@!~{w){up(_59B&pzVU5odWha78-U5Z8HDMoSpCvk$~(;-1Cl3- z4?Ji3c%o-we>PUWl45z12&WpcD;fb&8=ycU^$`>V zTb^EGJm?aop)!uT41yUfc!q`WgYiG`^IK)F3LosaIesw`g)*WigIRUc{S2$*yzQ>fcgm;sADY#&#M1ZPmrvlifjwtzy}~VsrR?U12Z~t= zLyLh{nj;GqW1HOz#i?jmRyC|eQVcRtL09e{HQ@4cl;fyx#e9B^HhMaa*{n_UEKWmi zIE*PLh!e7_Br?1MYI_k{e}gI^&eKM>P<*A%CoEmSA8fEw%pu8aD~?vQV8}aLsvz=0 z1x&LQpfWJ@jX47i-q|JELxtNyfZEMO9@e9eJ&xyR`APfw2R%*n&f&M@XOHVbaqMR3 zRP9^Oc8*uotGdwZeLcaeuQQZlyzI5>zKOk0OCDLNMiA%h%S@M8uoBy%<_w?IauRcO zal|?hKX_aR6qjj*@~^Y+_zoN{E5ZAE@@H4%xQu>}&m4W|QtALSeM-%!fwqtdQxRKu z=LHrIFl5RCY@r@7h?-+aakL`82zaOXF|5UOr*oyTOAe~yRQd$5Y(Z6`;BWx!4blo` zGabX6WBIclh$PcxW2^5x3(rQ-{HJ&fAZ0aM6Q2`fdX>wRJWhXwPt^3}9p8WR(l=i!UF`Afj8h)2e792iBPO9*MOt zQXk*4Q}{N8wN150v(eivmB)ody(uORABN_W0cIv& zU{8K=8N97yP!lgzAz}H$#C|S@hEljl<|^AXd3HoyzyxF?XtC5ZabmU=OrJNaWQ0s# zEOdd~;oq3y7o}K_>AYgnVM^o28rLIWz&2GMzr@VbCV{S$T8WkUCsR z;IL;8n;LGx@mB=#X$)#NJ{@T&QIdc>%0PC5_u`e`bmNYncS?6IXhc1@Crjj=v7!=P zu;C))Tkc1ghEm_W+5}DgQ+MrR)Xe*qQKV(kKpihOO$SIi@I970WJ>Q`-YrQ7O`g5d ziby^nP-k9(W#?xo6sG+pw{L(6isbTOeka&LA1OwOl_hx^8i@LHH=r`q36x*Qq1#ut z?>H39Uf52SgOvTH-70^ul(l9ml#$FTGr;S(5c;Zj*$9ddxDgxpVYl_5dUDLW9JHf` z)OW)uq&+tMZx`NvN>2D2m8C;GepqVPGM#3n5$a&WhZ$!5jdG`-WU6tjjFy+Uc3YER zFrPDTJO(wOje+jIp)V!b5XVj03e<>y5J>sF>Nd(`z?k_4QhQ(|zH`~7-6E$^l=Zs<0 zBa^gyz}v~#3#BX9aKeAHc;rlYFFrSu46%Ub3 z(ang5h`PfH5UuKJeM0Tj=gKz4mn$_9l>-JlO3x1nk1 zn&#`Z%`{?HW-)oG5T#5jW<$~|+`yaZT%2G%(E- zyE!!ctw5)J$;HfBDv-xzr(xANJz#BGZjjp$DjyNk_GkG!t4)_LA3W~dk@V{oqs;tF zL7;{fejhTU<+X(Yp>`*R46nn=AEJyzAhz#(%2~W{`2df*IiO zT@y>vB*?T#&)QQrzG=uU&^hv=BEgp@9_L~bGcz_mKV1SEaY&(fxM!Ap->^9^dZuE% zpw~F-TdEb2MjFL&%{Zx=<8+NX<1SDV7-5C+ow358zEFVwKT( z3cN{;wrpP8wB+L~PGYV}B%+;+4!ws!+6h7?)`2NG2ub~yLW+q|Jv)y9-Vg0e8zTRa zhBay)m9})C=)s^YguT23z;FLq-KJ=99wU?Dkxp*z1SvElh5LoIs$caKgp~MpO>Dwf z@+S-;97tLCgYx~NuMF%xg*kP*On7!0yxEiSm%yO@XkPs`4YIYZQ`km`+ocud7m^XWk(2+;o z=G(ay&@Yw9C09K|^kAKHV8!oQeJ@gTyE(VRt#iTlhmX|>txKfJ_a(>WyE3E$9TZ9ur)+o@IIIt)Kc=>CO*gg5B$xUlX!U&0P3ris&ttzXzhkmf>jIf5M!M_3cf=kQPW3}L`gR5_9Ic8efj(WVcr*~iy z>va-iVmNOxiH!^gdeI?HH;4T#vdoR>cvOxtr*~|%N;tHgub(sNQMp_s!AiS=*bl9) z1Zp4t#r3PS9@Gb3uGMW1RU6?_8GJ6%^wOCxcRAYod2NiP-)Us^Il_>2pKU61)WRCK zk)@SbGM?F_xx04zebvynZe>|~4#}z2radbS6GGR|e=1X`+Ls`lAQ2TUwEY7cR3D(1DP@E*g1?c#B{4>A6Wf1sEx4%JBV-X} z;oZFzP%0PNws%yRo4Hf;%eGdUXcbES!y9vapRB8YcLaFo{J$q3?wy{=+8WM)ENpu{@yxh4m4uP`0mjNnBbl zFD}@uCT4WV(DJaRcmMQ~roDo~4$G4^#s?alpHt{NSC{g3()0Ao>jWVA=?U)zRliIn zU;a^>-2eQqGA=*J?Za{$Fx&6@_IB}SGdBoF&~w&L6le(MFOWI=TZ);E7@)IksZPzG z^yPUK$(je>{#1nq<7T&!X|2cAWty&3M}>f+z$Dmd-f8SwnNw0;OND*>Hm5kXY38$B z;^*=ah4~AofBR1~ml%J?m-H&|)3S^%6P5}n5Z)x9rQP8=VgGvJK5D5)uyPJ%FU#qU z@SS;6gXoTvN6DqzH%+pgp9E5zAN%uFTqp{*Fm92`z%`8h2H|5~Bc11iL2EYyg_*_Z zd1Kj@{WU(&TlirWIy}v_vnTp5s*EP1ZGkYCRF~Z)t0fM*yR@*uaAO0VlEBIYY4Y2e zrJx5FNH)ye!y6tX#zQi@dj|kc*+3#Rvdmmb{36Odf0<349%Q=A&H>sZh7_sqSnk@_ z=evYY?Ct10%b3a-DV^&4`a#7vkIEWfKK>L-K(pSxL6R`nz5GWY!$0f}Iz)O?3G9QV z(cq{&3#=7&0$J_sZwHshEcUg0EIH?X{@ zTg;G`oaQ5*PR%)R2`~95n!LU;wo>#jwMCx{o13HszMOq{GXcFtd8ZR(rHdkl(^aMs zy%VCS2zipTMqt8m8;<_c=XQJlP!STpJnWv zi?537;akDcFZuh<=p8lXZvR=|augnGYdusDS&Az{XaHn`hGxxg8gmh-!KG2M4Hb5x zDD?5pSo?iQLs!YKs$tK*ZLQ&RWc5r}xJN$0ReaF%;|ZpCLSIYjb*)_qa?Qzn@W_5uI(_U*5%Syhjew`{`XEVk3Q=>M z3)II5@Csyq%sa;V5O6%skqAiu3>;zKaQ=EvLd_h^{%A|69$3r#BAK@f{R(0G0o}}4 z@YlhFnVZ`*fK#Q~)_BNny=+G&L%0Tv7wU*iq%@D1I7VPCbmE7f_wG`Y2q{nq{M?w@pnnOQH%q@IwZaWB<4=%ANmqhesB4<9&IOr9Q+%L;m0eqVPQ%zXey z%}y8qWcD39t|68%H#eIidUx!GG$;f=t0rG>0phXKyF3_mLGw+I=HO%_TnU?xK`|ac z8VgKd+`dK8$MkEM#wWGLYh#3SGkbveE%UJ6lAiZKFGwP~dkd3g0{vs!5#uI_2`3yz z*zU!&9XT{z<#O9dx)|hVt5Xx!a)=rsC(dySIcZlUWhfsWc`_;%{*q=|uX@`Vd(jdG zpi@**hi>{L1QYh$*l>#Nm5HdPXaEq2g93DLC)3J^i4SMQMk>9Ikeq7;^8FwVj&t+s2Hf>MnS6X` zryb;lNIkWWtIXjx$Vg%$99t;pRiYDfHC|zg&(PypWO8YcJ^kQ*k?x!Zg)l=}S^-j> zHfeBQLd`#9<&-)qGbfI$K{Grzp{<(C`zS1{#W#Wx~xhonr^{C6bB1cDkyO_S; zTIQCcp)ENss^J<~`ZO&~Lvkz>hz-pA^VTQFwsvrIrAQuntTO!$-U)iSKDV`%i__LS zDDtsar*%(s{aAVR?0!vHUqosS)$$Pw8`oy(Q)f;owYJ(hXQ6W0W~qX0;&SW*ez;SN zB3Il&#o1^;mZ6)pq>=BfpwM^!>j+*gR63*Pc^EH7j0ItuhTj%%OF0-T=a8tuF(*7>Vi|HURrn~~_iE>k32 z)S2YiaQ9f<_tsoyLh%-LW~6d;(yCzo4^`*boQc+T>)5t!cWm3XZCiJ2bZpxl+v?c1 zZTszg>U??r!m669CdRl1_xRWsbPk5&=mY~g;X7GR?uH_Yxt({@qvxio_GSCV>q93Go`Bz({aG45Jk$!VA_u(ET-E>i2|Ja3wWG~18~nL%-<;&_4e;0S@bB6_0c zatgVG7z7|#zFi|~QoemY7HT|o_Ho&<-k9K<99Td=o zE^3DjUAXNff;4YqF>)@7*{n8SiktCZguhl!gCv~&E5ElJaLw&=gL!9dz{Nt9Z(Znj z-`2X{fd0+UV5@I;4(IF^SKY-B~+49;>`0g7uN!d$4TM-%Y%!eq)bgw2)~|q z944FUZ`c$p;Ti8k0r7gCv(q%gk8W9Db0eV9D14;~M`5*4%RkGWjFm-W}uEb z=GJt>VBH0Xskx!9&?MDK2nL&76qg$x^U~_JqXW2*u?3G5T(x11?KSv{KCER&bpki_ zgWEXb1P_QwcpOKFwA|lKZhyPK+X~Au>|^J{-51ywSxwikWNW`ITTpf)HS1 zt;XXvKW+sZE3ms>%DKhq#MRWTJXyuxYSvU8B}SRLOIn*XO0D^=IrdKc=vVuT#o3m5 z(ZCDAZ1YEf8iWU7A6vSb_g2iGRKJj=2(gDP>snk~^=pNz6ZUkw9Yfg`O~TBB1#!a~ zxSu#qS15iCG8xM4=NrU1=7zZ7mIS~k7LvYD<5V0CM?JJs299{68hhP-*Y~UK($Plj z@zdePV8K!p3#^~Lk;ky)a=}ZMCC6hu`O54*OW@f`SJSx2Gf$SQ#Uho0sG=ZXmN$v4 z01qD0VXcj8<5~cS^86i^klFMXy(5=WBtWX8bCJSl!*8E;$2fa< z3Cbj|b&ny`o1EuiG;?9)3+?)4o=K_{B=h(@?{s=gt`FzZ=u!Eni1!a`vCoOv@~Qu! z*ob2tCic^ZD(`-ggB-Lb2nV3tmo=n3-ff`p)x}9kvD7F_)!70h__A;d+^=yHI96GU zgt4+c&21Rk2%K>VAu@X7kDjw$xEcl12Ej44&ut1bZ(df$eRPgpn3DPU&u0epW7-ND zwqpCmHOewOrhNTd|9f@d#_{O`vnoI2p~Ghei)uS14%snHo{Vd!94}zjrWbBu)-SFZ z4C;V`&m)62a#WT5JWvZVgKAsX3{;6XT_S^_Ag*O8+P`O#Bock}NI&H{GuFq${hZj` zze6shb6b8gpFA_xAP{bvi$CqFzn!&m7o8` zlm13za`urwBE3I`?i%19qrzJGLLD5!^F1<=UbUYGUmAT9I>mERri~Gmd&Z!<6z4V$ zT{+P)@rFr~gb<5?(7oSLEQerr&8Lq7ipDq8X$R!>2PeGMK~F}U*@D`ZImxWm+lbd#v3%X+XAt#B3IFrDB+$rk= zU;7BmEfeD0ykLa8e0V1{;H(`mwmW>7!GmW9edl7oo`jMJpHEEF8es@05je3&o`A}x z0bJb5K(iD)b|wHlrLz*1o^|(hW+FPxzs#It3&V>hUUW&nB87N@mYSjcflw4i34q7| z4#(*AL>m32tiUUcs9207$5CRs9R0Y!3u-%X?PA59=)W=vUVTyOP4Yv@$IVr60^2xX_1Cb*ijbKBtD?G-Ylg>c;J$xD+ zVt-eII=g-cP5SXsbh@8{JA6w zNS=rs5q|+Ob@Vj*7X6DU&O5R{JCepO)EG7vYK#K()(N+H+CgDIN6ueP2_zxuKWYTu zZdPv#ge`UgfH0-m9$$Y6K-Gi5twqr2wg~Lw7hr4jsPkqjQS^SDk?sSComTOM_>%Sk*2AdW?ZK@MF;V9LFvJk`hxRK?Xj>?xcw4#Ieg}p-(c}gmalak znCS}W$x*Wk242tmdB2OFxDnv*=by-RJ1Wq9rwf0_rhGkt|DZ> zd3B*!ublqCe_D4r$z$|^lPlEBXqp5G5y}xH#n)FFr|lTBn~N+m^MJ*?^F3i*&0Mlf zV3PY_pT${(Xysw`j^M+&#Sr0Jc)}NMo9^dtoi5wF;+4rVR7KiD5oTin?&Z@ELIrwy zQ4s-p^YdOD*!njL5y4%ISxBo5qh_`ADp#D#P^ zE;&w0nITpAse?7sfd<($4sN|rzuzzwgn3(nG>qz=&_jhnj~CcHni4W=Y&9TbGAWo7 zh5QT3XU`qlcB|USAQY8Zpas|X(*Z-}36L;vdM#ahwt6f{*4WAbswOs6m5jo4TTxdg zmUHJ!_q51B?Et<@E6uU$VGw&)NX+MITSQ5b?`Wm(kf??yMxI<_^}JIJ&Bp9FAyH12 z5o7iE)ba)W4G#x%2}8F87~b^O(Ez4Vp2b8)j4&KRi4OYJR`?HEAT_kUY{*@aS`dOf zCtwuw&;^pnYUCSGTQpe>`Vzv6 zF-D5)nx3V+AN>xEVTdVasq3RWLDO~gan_n37wG9)z95#0&en@SCQJo?VNFcGo?!pZ zaC~)rf`l6|fr?r?T$+r++A1BmLV_CJ3`2-g3(Fva>p==xvTEcbEei?%op{l-3PIUZ zNu2ZdZ$p~2LCQLLhFU1x;_6ICt7rF|Z3ZPqkD%D*LZeZ?#|;)*3sI55FU#vp2tI_S z6OGC4LdqgB*&ObI1qM(ME4PqBO*FNJF8L!uU$+i`d}*Ho>+l7wZoqG*yH|f^QCO+( zprD|{6(tR{gqtT~Aw?hg&;SlnMTbbxe+STg6$yH};6G3Nl}sQ}Z`BXvzq2$4m`!zn z4N9NrJTAS@1CB>zm`K(+6L#CH{$V>}f_F2m#38>WEl0h{VKZHc*WWBZPAtUcSrqu1 zkPDFk6{J0Qa)Ps~zrhNA6|Gg9tKf@=1(V!oR2QMF^6O+-{oBb#5v&!F#xm{NY?9L_ z&KX$Causlku0h(<_4g;9Mg{m78yrLMTsCkdY{mffg+`K`{V6P~lZ00GO+4vS8r69A)wLW74P{<{P1jju{3KshqHBnwo(5iKdWye<8 zac1=)YUL~$i1ZmX-~I`7v?d8b_havg@gO_5)By%gx?Bz-1}5<-k<@Jjjhg+{G8$on z#$iYdTY$331Jl9~=LFqu`znr2YbuRvvpL86=5u%NVFJ#=4XZx1s*BswUs+1*0>&{3 zSk_y+v^$!IU^RoS(4&cB7<`Sr6~A1S?~|LHKxaTdsMRoZW5aDDg?(WoD<7D#veC$= zCJt=W_%;e1h%d{1o2PAT$cSN6$ZF-Sj3PMKswjD!EsGm;kZYZfGCwD1SaAER#nd%v zBrlTBpr*{sB&JvsiKQu{xgqsK8`@(J=pG8c@raQNV@mmkarG+mH=0T(r~-ccDnaMA zPxlFO_BekzXl;sqtz#dL+X)q+zh`L>tW&WK`bctiHGsbTe(WZF58xUh2%MD1fN>O84z4QRb3+H2HNKbuyzhe zU5l3OMj@xO|(~=RuZA-wlDiqfhJ; zgbQc;HOtKR<%R{}8sAVB7vZO3tq1q^LYU?b9ixFOE>_^%1M_V)hAE(Jh6W2HaID~H z=hlw8?)Us~^7$`M{+{erfVXt#@d}jBtN-b&sQP0s(r1wGwAWI*{nP0UFk!HFfNuT` z`q>P7*<#$@nqoc&t!opXc5)-K63*?TcNP8e6ZlQa`@>kcbF8!J0QHu|@@l{ZgBk)M zu`aQf{Kb|BP8gmzY=KF{szRr+zMaPNeAEf>?fH53R&r#{`-!9^b0HHQJ(Bo5>!Z>@ z*vun5^*~wnvAeh9i%?Gj;3m$muLL&lbvu& z?FU;ZmcE)LP(mik`%6Np*^sBaX0;GiQTGa{t? zQNzKf!& zipaj|=sGjsdu5=MM3K?*Pm>yw zIJg42D-yF*l0a(yi40esD896V`(5i7jN31mAT^izU&AXHM^TTR&+)(bQr3(6_NkBY zN5z#fT}F#hx3_62^2OIAc5J$G8Ce)b{wl9blCTWbOa?Lme$VRW_pnY>UjiiT8|xK!kU4k}-I*Dqat8_i@VX z6-q%~#^-OT1D9SCdBL9-jO70y!Q;&eb6}f&?@@qiT;4RhrWr@C-LmlR_q#w4hMai+ChH_H0ZH9N5HRCF!}*x;nzE3wMw*Q zXVr)q(u(pRUa8@9N+Xg-9V-e{8RU2I3TTg@wBEn0{-U1Cz#9`tco@5Sn)oF}&K&)K>rl(%(YOwmj=nLU{bFIOO^4cTb z*3n_aR%ZE3ui12*bSi!uO}tpNL+ZeolmzX`LadXEXx|9kG^zVjw5C8WDW|7VfFW07 z-`A*SmmZjmSQ69oDKZ@0Og9QxHe@!gZB0qAmAW-&FP;tfMTJ~2ymt6#X3l$P9c;O| z%HgO1{B8ymbLd4~T&tGIVi@{|m94FCxpa;1=_+KRt*~d~9yLoHa5le;C>Ed3x zV_=LkF&UMcil`H5Wj8hIn2;$l)chj-QH_ZDleuFxg0jiB7QbY{sH`Ame5RvW_Sp>! zA(wm*#l|Gm0=d9i_^)zYJsxW2StX1+apB_t`WE*yz_=gt;O$w!tG zU(o19we*W8KCO$tNMrwu*C~hVcY`ErcL5tlihu(drfjBAye`j-x^N3jvb*d<2g~aGiqm8BV8}MMJ0U@HuanHE@Qilm zBCIE@h$2)UK-YW^X2@|zV=h;|K&=1)Ans_6yfGxb>v2Buy5+gOgs+c6wR@)MzUuHP z|Ea-fkLkFRWo}a5MbyEiW`!&EfXU^s;&Lxf7CoBg1Ba-ypH?ItY$X?5)Grgxm059k zYdb!k7ZX>GamKLJq{C^T9Ze6z$bM_E9rumFrJ%Q@YP{tb;z*J)9&%$RYz1ipb_Qc& zGMph}c`o(z#SP2amsq#1jqmcO*1Vs`Y}o>5T+fc0(PB@_m%2lXN+V)<(3+nxOfXG~ z(7o?RGswiI_X7@~$%^-ms)7DMGNo&Sv>80=v{4tQyeXIyu?Ovu9Oy{kpwG^quTf?YsEFmB z&qKxfl={!FHlJSoGT#h5eBLO1a%+l#(M!KItkmzr1++0ZNXGZBpuLjftyE&Rh?C6V z@W`*%Ega0RXoFf?tDkff*4SPNifxd+cKL`>Uv68$m8ddA?ao`OH!WlV&=t6eM}>P#W=W)C|*Xs?!}84d|ohVH9L@AFbJ;d&^%ub@w?O-(?6X= z&~uoWTC24&&Fhn~(n&^y=v{w(R&yQ@jadhhNVUn}_tGyWDF6MwzQqnEp?dmTTEliI zKEf}BE##$+H|p8s%KH2SFpS7#rcm;0yaJ&cglQfcUvz{mdX6B7x6d2V_^ya;X^cke9~)q(%EmT4A1 zX?*G!){Pc;7UR!qkfv&N%lge+xoz}IeE>+!4ONR|C+5b_AG-rNv#N-S$7QEG{{xJ=32 zwHtYT2ffEC>n{U(T2swq9IflPh2;nP+K!Krk9-rIokEX z^z$te^rzT3P+a!|B!gMOBI;KKZsb-FlNLJ%wNW_fp7z>=yh4845f#8BrMJygC=?xT$vL_Qzg2>b|#)e|p;{>RiiRbPO=YZ{%k zkVl+u75dG9OLwmu)h<1Q*1c0HL(!{ta<{0K&3yAec?!O5?muq0P;dI}_N`Av1wgbf zGWPw4j4$s7>dsk7ng@<5+@nO@rnFF)>Rv)N604nYe=kyA&7O|aKW24i^hbUdJ5u=W z(SEq=kM7B8C*{xd{E0x@i-!KBnPIDXnFsjPqOFc{G@LerzrLz5wsgW-qIJ|mxgk~h zc&)4KIc#(b75n5(`{++vhha7zFUqubz5cFhCbj5_say8Fmn$Rme{hKGG22UHVglv{ zaB%*wID>a0j;uA|0He3kTfBbZ*iY5bQ<+%JFZ+LZ$opP?dcgZ&&sAETm#V!% zkG}}OVqD;@E*99^13=$?1Mt)Lf9=+r&kTZ|IC&APa?_F3+`>qkc@Z#3W)`x#NMXnI z7cY6@1FT5%`1$=}IMV-h?4W<-pl&3PC1A5t<&yUK6~-jZ6VGy;DPT=$z|(J$(buKt zW;X#U+xC6*K$y1U=kM>PUpYRBrD&nVD_%f zzp%CX7NAEr>)@3QdqCzLclUL_bEmay1Nyz}-&j)lMNtWI^3pjj=bq>kU%nlsK033QOTi-W9pQp_Vz17}Cz4D+fC)hbva&PNo8S->|zg;sz`1S3GT}sQH z5xjj6zwicckH+xxJ7FIcU+x$8H67Y-Qa>nc=??;Q0Iy%EUWjpOOjR=c4ruqAHrFLU zb%sWrTexxO7Y+fVW>TCe-!Mc^lVg8ugs z&%BZhcjeKrX}_T^stwZ)#HLEQks66L7!h$z8dK#e_jv_M?O+pu5Qlt_zSinpizh)Z zdV%r~;4eOvIc+ok4cNYujgI8(P#Xu5n2y$yTy@t0(ZQf~qB%x`v(HJvT#fXUk7PFm{MzvHaP^8suLPH5u; zL|g5>0!DV#^y%~G0cF!|nm)m)oWRgmN!c1cfH@c*2n-R-l}z0tjCL_V+tpv`Pj zP5*LD%ktF3{&GFmG>OV!T$C9K7s=n#4#MvIfrKpn)duK~WjT(yTC2uCXZjJdmH0t< zfGAN*ceyxWn>MI|Bc+@+C;dMtwxaX`F%M*y*BUw8>&dybA`FrQrwF;*_a0mBBe=za zg8q#}9UcQ0IT_v!J6h7F%a(%BX0b6|MJ%%kRDI^48J67V{r7|zD*5DwFsUwNp;9j( z$c3Bxqml7h_97JV*lgf=TW}6Cm?WcY069-I9^c8~^1JQmruwEMDZY*)COMSR9R&_v z3=x?K?XB`FUrKiijG-0^n+>j({J75=qCalV5ea2#4u4|97YuHE&laq5JVs5<>is7d3l&b{1x#nmi z7+Q^Q7%!ziRaOUDx7NHcVQX!g0Mg2TPt{i${@<#GEMRVWyM$8qm8fMSmLeq5AHF~; z@%JnqmH8lTCMtLqqagv<=LOxrJ6w)b`suQrN&0*9?%|mz(00$*b*U6Y?*tF^QLG_J z^5ybHb>sZ4DQyc5Rc|RpkztNBKuaGciRXcX;x5Oh>6(% zDTc*>u2AucWv}#)qA{5i5b=0z-V{rwZ%nA7FjUyx6I@-|^3B!b9xoy6-v+&^2dh6_ zx-3yj2F)(}RGA^2-PdxNq2EZ$TPk9!Mx>epo4+1aGECWAVf1yZhDGMlFN0!EAtqhZGmph$8i@7K$;x+81|XIP|H0fCX7*DF+hufVsvqUn#b$lrI! z&%H3!+TU%TZ;WpTxx_!jKX&cW>?ZJQv^tv$XzYKpd~w_Pf4SyfY1I9oehYE`&?fHG z9CL_$ZV`M|*@nj2EK5YQn?JFCvp7Ipg{yO?)N7@ef{cX#ez%t!-VXlw`~A$U=&+xp z)%`%~B(rJ4nCtil+DK$*r%WTSsi7b99u#TcbJNOxsG^nbZ2pF- zp*F<~!euE>%!bjICE9?BhDpq{8X)`-7mPlk(&S(ruUiQXPt9{PV}hc}58Ih#i+{gp z=;G+0P`Qi+RNlkp)7wu^|E**RxQvvVS5}eOUY0~-s%p%_M4RevwQKB!MnSEWG}e|e zBPoSym=!DtTHoZ> z()EC=sJd!5~4Y#8Ucyv!hdE;<*MHHwV1 z+&KveP(hZ!`{x;%v|PACA;BujlOGgA!B@}7!ZqU zk3@n3U#fTv5(Z#l>#+R9oM}K&ST)OVrSz#|;wFL%$rtC^H-7b7BA{Kn?orb;OX5|^ zCuw4e2Oxt#Nm@phZiaOMPpbw=SWl`#Y+()p97%x25Y|YQTtNQ#P7pgutHL8sTTS*b z_;$iIlaES0XpO|Qr5wz(+D!E=$7tQ&|8>eWFfe@w{`H(}hk!@l71?B;u2Cw~h^hq| z7mHec$GHpUqIg0#oA%oeOQ%{bdtp%9i?pq%YmhoDxXYRh>j*u!(P?FRNE3F6C!W7a(9OR&}uhn$6h0At%Tim{_bd#|uXTYcx5l;8op+jpb#S5VIV0aT252qbAX5`PS%stcnpxt{etGKq~4y ze@wx_I3xWqU0szLOhzBaZ}M%Z{RZ+w_`ftrJfdR^*krz_WVpj^~K*ibX3 zteXvP{Q`>-O|ag9yRg5ks)@a(*7PVbjY=>wpd*ZgL>Lbz@AAwKK5JvXoa21)2rtyLRSw$s^2 zq*BBBT&u5&Nv#PpR4D7oqt7Qkeg*xCph#JzK*c~siC*oZE)cQIQRm#lBbk}OI&q6v z0i!iT>)#ozzXtgzvXj9Zurf^1DPD^@tI7s}PWDE1p;f6D?r6ysT?kwYfZo`w6!Wue zGpWGTQ;>2TXKP7w{&U~0n)sr2$YkY(K{}2J+H038RlqGqG2hDUuI_Dqy?GFsF)*m?a+86Qm7p0DSTGOAXpu{yvpe!nrvtIEfrk%We$e-al5VS;!+q))*F)u zVqu9*NW$lHIWn685c1b;_GA4a=}#XE-tvWOPt*~&FFQ;u^R;&RntyrwW7!LIXW^jw z%Dd5CK_Q6*!u)ik?y%(*0$ z2ba#;rkCngM*T`tReIXLf;|!WkXswPR~QKQ6B@7=c1OVhct6UWn_t6~V-~(4#eVR= zyXdIdj?0LT1}CtsxaNV-s7v5oY>n4cebluK(R!X2JB(#lYCtW`eFb3WQg==TUD$_6 zi!sfMA-clRyC^bS@T6X11Ns*V-U*2l)iJ=I)$+GJHy?QF3_N%o9#j32ltKVS=m+YI zwdTB$hAQv?31k?Fv_zPPiQPI$B(-)Ast5fpgPPVNC+6mm2Dttv1aYxJ-NLbnsHCBx zZGGrz*8w|?QGKetbY5=E;974~yfq|sA@om?Ht28-jkw$i zU#P^ZQ*qsnNkJ5p&TfxO*c?fn?0YUN9s2b2<*9H$@P#`1a0DGs*!OD$E=*m2f6k_K z5l@L#R|P3q%*})Rmz=K?a1NFDTe>JF#CheX#F=3SuEpqNEk=L$hhnLL#2+!*d7`J{ zgkB_3R%PwKbi{dmj;VOo#IY0zUTs3GS!}YWtEoz0jk1eF(OEWbfAGtMN}HD_9e!?8 zO4+#p69B6x+8`(26U}`loMVSpX8i}^qbitGEfz^E^Dboe-a6yA=?IU`;dP<6F6J*u z^x*~F+_W)4?913(1ljBjjX3~Xd@Ua*5F@(739r$kF|NJtEZmGF6|%|9piRj4Q&dCB z{a}Z-DN_lzW5x)a!eeugoVLV?enP~40o*l!fkLcTBp228japZ4G?na(jbr%Adbm@E zQ$*dOqQj;ZSJ>Jph9p}9{qr|f)YSP|AtJ|H9J;WA@%dNuOyh)(#)auzxy5UU=lU6ruBebQ0g4(L@2xe3T zQks;@2^bdQUzpE7VhFac-u5+02M1ZQS-l=EB#+R0S?NR@$@qZtS2`V9v5-hs!6Y~| zo=wW~=~H>}7*8zDlV)Z&CvheAadR`k)AdP@mEdN`qUn|b&jUG?h6|2!4{c96>I~P| z_k|#lMqgPJGD0EJ*Fxm8ix*=!TiApsz}=B`RY{;PA@<86HK#t^D|2RM?AosI8n#>T{y2&X)Y&6OUC%ib& zZ`2D1Uz5;(XvB?|Y3Wek-}Bc1Gl@?a8YjdzOZ;E(4&O!0P-H5EBaj&mgOzSrvh7m( zNU+*3bwG{g%@nRiT@ozC$1)%Kl?^y|r44#1xaxO-ZKR~MGMgPi&0hOrC2OHRHR6On zuCEeZZKEdkP8v$}@i!?NCt^Z34zQPIC7QxMMZuKGAp(uzgY0$v-2TlL^NyQ(K28I4 zL`&FnZVg*!$?2|HsIPHfv>?SC0->&9PbMT_J|0T)%q(c7VhcwxG3iCwmMQ*1HHYri z7&nEywN=}nsjYMC*LF=-OVm7|#2rhvxJxUWHcE#aJ=;$UfKPb%z!;PNmR)FR9zww6 z0A^11|G|#dX!9if1FihSj-p*d?B9J+DNsA6%&1LIZ%>{G@+30cfu9Tkc8GuyiLx?t zayr+S%9rGVh;j-0_`lqlDdB%6skL6~6zY0&o202%dMO5W6y<+jH}19pfIuzBpT`Nv z5g(nOzR?oNqB0()XGVa5yujzFyjY6m!P&%tY123*ZpzHr z|NHCcrmWZh?RyKnp2sGqVVerOA3HbLsWuiE?kUip&V*^js{eWm~S@=y!^je~8*t z)%&?Mfl#5~aaT`45xgOTco^@3-0mcWbPpIAR7r3ig3a+7(XqAFZT#g}>Nq5e$#Mf%>R3>X7Q1>23?3Pe&RZiA7K?D{w7YkG^-o@tGdv^ag=*6!cEVW zvEV^mZnD!wa5P`PnfQ=t4W}(~-oFhYD(QgPn;5s?%-^9yb|69TMygkWb`GS82K6B>m#&^xMszEBJ z6X$jZL#MHf$~9g=be^yC5Qw*iYZjhYn7A=R;PTjptrV*qQ+@_B_Vql!*5SWN{4hnL$X&EzMvU+-)vo&p#~7$K2bwwe8=Sr7UN;qt2|a|=mEY>Khs}5 zAo?0tAoGGygU)90p083i_x0E!CLpC|1-eb;C+v@1&$<;Zez-LcGL$2KM6a~s+purX zp(;V5gX>$6ZY9hHQq2uemhJ#%A9O(Db#@|r!^V8$5~GbUSY#Se!BUFKnqP#AGCDi} z(Y+{v=h8gN;7^v=;T?v%&0?-$>k3D`4%|32npwLbX=b$joPVeTaw{7tfs!{RGvdbGR&;)IVH9> zA_RFNm1V(qVh?`;VxRJ-f#ue80WZDEX3EvznC#nBw>)z{2yyW4^$hjxvWV9*6kCS~^le&G%nh9HtVVhEtRS~^vJIk}hpcVy^9 zYM9%tPd}=%h^)YpHp#@cMPCSQ&7UKhg>=@+vQPaLK99w`HQma!(k}7g)CZ}Usoyzm zJui|iOHzht8&n80iG4Pq(cPoB1@do;jgRkgaxMyd{36!K3gg=b`kj|; z8(3e_A-B=EX8&xDfelJ_$l#=Vq59mdqJeH>r_SfiAI&Qb>md)vK8UJq5znya>r{gn zf}9`|?nnss5V;3nz}P(-%k=4YcOds1a+W@8fJXw!`<41_4nml{LViLgS~))=fy z)HzSj*Yix;TX-{hon%D;i;uienk(k5!Xi+G{r&(w5+}<~Ip`-RTa;O^rA2w1 zNALRXo#A88xb@*tDoP)e$<=j>)1%x}zeic{tjKT2{khmv+c7L1WxKwtYJixq>77Ot zbZ`*H)@P;u1Bo{r9nRx;rs*vib>Pago2jl|U51FmgzIR1L25@jA3=;Nb6rJ)+;mZu_p z+4?%3+O#lAOf(OEv)>YVa2gq||EdHC(?e^7FESQ{lBOv9-UE^t>+MQs60)oiDhFOwaJ-~V{!hM)8;$p=LJQB5JhLk@Eqdx@?U`12|?8rXI&!a;@5L(xT=nk?r7OR zDTIMaK;lgDJ>1;KmeYV|a9^DsE6z_b;h2Je<{0tzy%BEbW-4OwJk5DrNSX)zyQH(} z3&CK-!(T2HZ9gO-+-XD0M`0M)IdTZWrm@%9FcxV44aXk2spH0b_FDSxWuxh5KOgc& z>SzF^75kKe0N`DgbRVr7&9*%j$lo(&&RJ2Npbrwh#PO^;o@A8r6JgM`N9w2%3%X051l5 zJz*$a95)Mdv)+~2(%(*Dq03~kbVGi(ff7I^&(O8On`sI?-lBd0r*oKPZ$o6cOWv_8 z6Mt>i#f64oNNP5FC7JhHigCE}${n|Gr<#E0ng$3Az@$(z?X>XQDt!6%XDOsyxYbF5 z7i$OKtT1IR{V%o>E!*zafUK(xDSL@8K&5Fn&?_f40 z^wHfHss^;kk<4U~j9e(bZC1l)Bn-O0&J=zik7Y+L|6hNdR1ZU*hNT0HW~S4Q{105% zwV4=fc?~;@6a$r>-hHD3hv6X8yJz`NSQ6d?8%1`*{N@%J+MB1OU*5g8*p>I>4;BCqOd@ zJq!L8eqQqode6OGKUVJ>ACT#+>jS-MyE?$afZpycomdA%AJp47uwJ&7K}x}!0Ea8= zT!h=P54|f4JU8e-{Y7G7trxBH2QY0=^zS;YzuL1(>HKmOo@=*G@1u{O0roe|>MrOt zQ4C>ryNMDOW0mQ%UBf|}Yly*pDx!A7G%ZCOK6N^{HovfZ?M=EZO1RW_1HB>R`6{37 z03|EAw|h7W1SL@^2xR0=Mcui|ry-bWAGC0?X ztYFV%28V(~Q}$!Ur0~@w5NP>wV%J`E5lbv7t;lp2s;5Tz4STq_ko&U~q-Ib-_;NM@ zK7Z^g`55GcPeCwT!M_GWiHTw>giX!W046p|rt2CEl@we48fuQYPN>>H@2(XJtQ4*^ zxm=?BVZ0Oi>hth}Y3||=O^0FgcjhF7VZzpkGsbR(9dz)vj)myD{fQOqN;dV+`xEn;d~{4=5eqU}16awUl6 zjO`}m4`3JHeJzv^{f9yZMO5$0Af7bh@y>?Z5RBY`*jrH{1kKY6g$Ydyw%YZ+i?)o0 zTF-9mX3qe^=y<-+9VqZb9#wcE01J4hXFGva03o||Eh@~{GUcgRP`)yCj<|14RRpJ< z`!kF9nC;b=)XHI-ne!9^r~AbljdnU<%q2b2-w$zBcLEm|tAu8Y^AOg<*1{6eB|8>i zb#Sxsca@B_2ND)77Ag?~rC!PG*^D?O4|=XlW8yuBNdgG!NFRHwN6mP9_Z4V-t9& zv+!>ug?O!+{_yqieunul5YZ6?Mh^f?IE-$m~h9sj;h#e-Jk=R|vR7z_>jFa6T2hYKj#Kk+tjd zs%T(6%~*A?`V|(WMzPGI$Das$)kx7OHYMa^*d`7tW~z~&T=uw;v$JbO%E9>JWg5O{ zTACM3-f*Fu8kH*S*ap?_zsrlUN!|zk)+Ca7UH@3Hd+xRU_|dC4iTwz)_X!+BBG+|o zJ9bfDHUwI?JorNdSb3{sJ`1|7yM)j(Gbt;NsRM&Nb*Qd+jx)6zamI`-l$|ZL+=|2*+o zt&M>!>oZnla6b7voJCFV#}tX>>|TrNt}n0;vS)$ zw(>RWL+q^2@!aDP+X+WcSH?7_sgniH{rTJUP+miCI}4tYjkMur>d~H<6IBos2M+}c z`nTpaN`Qq4F#o#)6qFKv=~2h_QrA&B3mm9KM&g8)N>vE6azoYE)nPnIaMO5D7F@lx z!Kccz&1b8mKbF3KIM6?OZT0C9I% z^uAsU$+`_58cl@Eci(Q!WkbpMT`Or61=%-ZUZjL?fOwIHKHUna zF(hJ*zqYC}Ly@LZzZc6Ws1NcWELx(TIcyY1pE!YH7efp$0$UevX&C(7#%nMgh+TPx zT=5Lpfr%bT+7V85?TrCq2~XMJ5(#2YtV_ra^7wS~d}|xL+^P-($VtwNuBcZPXb3jT z=B^nsU>$x~(6(v;q!mfaQX;@v8n9VL# zr*k@FC_0KX#h5ia0)K;PGMKyihOXw&g1BB|M7!Qa-SD(|>zq?c6bkO8-8Q^{H#*P^ zTUY;hSo%zncNq>}anawbFv|?bP9OWzai1v~z%VVuPS4=J*?iMMVjVzVoUYUWqqiqh zI<`2LAGxFH`mi;W=2P6-IN*TGf5BGu;Vdlplx()9wJ0lEps`$RI>i>}Em!7wB|RXu z?C#CFxl7`XfLB7Rhb|;31v(tJFdr^fP>y~vopn?i$#tRNc*ZoGgD_MH&_5PdG0y^^_B_Uu6Oy-L*cKyNq_R zfmDE4?tf01vdU(jScc6j4fk6Aq9M?R@*?%wJjR?!(;+vQ*LCqiG=oOrewdi8MIFfV z_1Q)u1v5(_MJEIQZF4;X?toxJd{c4U}*z8pn{J>)sSZ9mXOp{e(@ z^wIOtU0T8VX$*YJLeG>`ym;w1N9NBX2FU)lyB(XkXJ2>?pW*?f@hWHRk_9fyLYT*{=uI7a`2^p*or_}I{_KL2cwJ2o)oB#gw=SI%eCN?|_ zmHAo|KEwyTnR>e$Kbulfm=-y}!Pk5vhE%PL|3ji?qK4wzSuI)G^`Ix_kyt(Qf~`9L zR8!obj%E2?zuy0`^-j^5MN8XuY&+@Lwr#s(+qR$Bwr$%+C+XO>ZR_hj{*!l)e;=>0 zj%rqoIjicv?k4}0zY!0R)u44l3${OG&!ZhSAqkqM;CrT@OcF+L4b+dGgH^3qa8eN$ z7QHmrYQi0+VDgk1FV?VFJe+gNGv(Pf?iL|8R4r3usntfXT!sl1FEW4($OH_GA2Cf= zM^)th1^$RGPtc-(r350)9%LZSH?153iOD{QDn~8N zo7)bT;F*ZR6uxEiZ99OH>$HB0e&5*7?2lRcKRS${1w_~%W^a(0+Qd$ktEip0@0G|H zD#8FTCXC-MaKR2)o{4$*ya4rTCe7X?4b+WWR%Rb8O{g|vMtfZN`#=*Px}&(iQJ`OZ zRDjX=Rk68%&aQ1vkmzPR7E@RuaO*>SNx!T>C%+Kj;D$zX8DxN}YAZ6Dqk=+|=wT5Jv!BB=9lc%Y(UBbm?ImZ2KaWnq6vDOjJc&rZF z?LW6~s4(_zOv^=KNu-F4{!OGXd4|1sLJ&y5JSV!=9q$}j1!fp9<}<$;?GCrJDy<$> zHSE_WYMxj7#k&}0?vwdm+rS%*r8tIGUqE-D>TI2!Z~y1+I;M}0JgfH{sB@pMqCVh8 zbt&z~5f~dF(A4k@cC)-{@WO*hJ^2@VyD)&m-Xk}RVtOmg0rCbibng9w8}s?LUkaIG zuE}wZFe8}Nt8qRL>&!IBxp_PDvf z9fEf4W+{n%%5#h86DI7YWqh(%k?`cY)I-a=)Yed9qSJ?43vfh$K`jq-dCih*z8Yi_ zgrXJ9>@QbM?SBWf9dA}M*R^*&Ti9=4p=IbjH#-&E3dY$kgg z9PLNNt#K$P9qjcS?AvO*?AX7vU#^?PN2xx5l{`BmHtJN;#3}(oCUcc&Y<2L;sZR0hZ94|Sm>dt=`d=gR{U1#pK76ra(9f9e0?j=3}YbJ%A2-u;#|d zKP;4k#g@)fpt4I_XuLci1C5ublJ$2!(oNiByDvi~+{v!L8+31PijCMAnAjOI(#W*n zEgQ07(44(!&wdhb;$-mH&G0u&&`oRSmci%7C}#DfT}=YFZeijgX`ji zF4ZK|>KCFlFkRZNaor|@grO?5fE7l>V@qcvqOOVZAkD{A;;w53###x;eGWbqO0}Pg zW)%8m)>MBuq-cl$21MmEc?{i02qP7W(OGci4%Jgd!n6z}BIZ7KM@EF5fcgv21NUo* z{jH^)m`=R18eM1k`-|~bWNr0*bv&%THM;2fm+ivZ(HX_X22n4UN%cVo2v_i#2Vxv@ zP$}uLSy4=@Lc=s}4?(qta4N9-CsOZ+; zenRLkJD0tdCVP9_(acJ|=dUh$f5d`0j5+p&LP_1igqdleYnrp8amDbaxRJswjigTP ztnr@cbg)`Az{l!pQ%AV`Qqs{XI30tRbTp&kSPy$cv~5nYS~y2^2D4HC%eRp%7n_!n z5Ix(*z)(gJRa3*U3$F9v4D%5smMBxYiH;bGml%u2!@Qo=&9RDPZaE{IH6<81d<U})T3ZtWr(EDONHP+wt&b`KkT zahFiQe!IOd3hk=Bs9$k_KDU6w>#W0@1eLsmT@6IJ6vu!*p{i(ZkN zE?-{I>$f=J+Bt!G|rMT^t zMeQW1B2>YaN7YEs??p07Lcz0?D?J7t=!#wu5l_N7Es3SHR`Nu#sBo_)s|6K}rz+*N zfthoy=zz2#i1I^}PqtJoARzPINwu>~&5e&>pRynZ$NkcUmgIc_&}W#^Nxgz%Hb@Sr z*-Rc9cEB|KAmaxB`n8Ycc9qbVB##vD8%$l(Kj=Aw@95wZprdiyXEXzeizbc$o#pC) zks}tneykSJzC4O=cqS!q7fRFrQ~w%8ze`-mo;nz=XVKa6Z|Aj>w=NkrdwL1}v%|x3#BT+_e9p{Xa3e69@PKKzN}D3T zpIsEyElwhMc4Qd8cTKwTxl78)A;Qu81ss(IJhgboBSX^LxpZfao_8l-nY9DqV|ez- zPva&?=~){Z8sm+wReXcy{WLPyXO?RDIsGCSY z+MQkHFPW`-yf1#Ws|y~DU?`t;fS`?FKfgIMAc^S;kg^ufB`_}rl^4G~zd0~bSVgAj zD0lMXa;lgJw9+EAFS%W_sL@GCrrphs#0y!x2%+6@{@0|TyO?v{bC5n$9+(UOr9aaG zKV~!~KrAX=a9#&m!avzTrA4<;B2Qaa)9Pr8+n&$W`L zDqT3$3$qb%7NQ)601BUy%M@-Vw+a7AzhHO`Enr@4O#g<(Rq#RZWx@Uc3t+D0+5q}q zP;?x=T0&Z2icSl5AAKO^JuTqI;ptg1pL1Ctm@(P$fE!vMmF3vHVXGWqRS162N|0g* z74#p$OivnJ((qs!q2x_6f5u%oVI@J3SJHr9G$4>iviw>-KxcB->3|CeWy314>EdM< zZWmU+xwtpl8MBf66i8u&mXHLMUeqDSmOfg6ZIwA@I*+1+9>^nw2xXWZ*SGArHT6)}EnhuHo3<2UF5CnNx zY%ggco(gmx3nn^>kvcjIgi%3`qrsC|jf%a%f+nQIKrdnyBoxYHFh{J{*jfcap_P1q zXRm7$kPWnhjuoM-t7gct9_mMj+mF@^IUpTcWPn?Krz@CemNOT=vbx?aYEuc^Bn>VW z%UHr}M5aeg;)(E8iiA^^TuNVAt9UpctX#pVLEAjc15;Na#6nfl8F<2TfTt_%tRUB% zVg;WpWh!8NbBq-eDtsZ^v-@VNB0a{j0#V5esEAZ7_G)FUoviQS|6 zN|#c~dXQ|WD9s|(F^`HW4Gca-Q8rI$U`;hFRLR&mD?OHiCh48#DdBv7T9l9Mo}9@J zD%)LT`1Y5_%R5%OffHx|;x%9FD89lH zAk4HH$6jWi?95_3WS}Guv_@?!VtII&xJ@`JdDX;*vE9IyFd>Kw?VCJAOYxWM9uI2( z@6JpfGQq=nAFpAqh>{Faf0SpR@>L;fRCj@_ulz7kgvXhGmVJ`ibi`1noaKm+0eJrF zvgv7PL%q#iVMk}jhH=v8Vj??AdpJ`Jmb*)1;2@7kI$hqcud0G zB$sHAnbn>g7jj@B@`dGPu-E6o&aYXT^Zrv#?;-y+w-;zRYgy5Bu!Ov=h+7>Qv?;WZ z?yS?AVOmYWjNzQ1CmYG4;kbCpC~bbMIy1KF%_tG3hUdcug`6gmj&~o$I>VFpgewnroV@*x97N>>qk#3lAI&Cs8B4c2H{z^G9T^Cqnvu}mjuctth~ z*vCe!;QC`UMx&FtB?I~}=15fKIPc^c53XsfC)~>+u%B=;4}v+K-zPV$#gr+NNpLgf z=*Yi62nC|(A+6}|IUe=~&~1t4#T3@T^p#=BW`>*2?VgGAJnTfe@50HzFluKCab}wo zkQf_tB?@u)lUzmoNi!*~L;28Uh5bhV$33Jy`*9v6z~!(z{=O?1Em3cR zC1xgi@YsEo`(7`QD+1Onl8})3TRM8^IM(ipvlD%!|7r4(Nq1okB-<<(+njd*nuU4T zbF5!idkl4&*!$=^)Z|x%giqeuvmr5(Y;6a#Td2S>j=n#EIKEXl&wk*2a(Ft4GxmmO z?W+N|pe!^qBl24hfam*SW`iNmuCDDDJ%X|WrkD@Inz!c7GRtyY!l@NNJz)!grQ8sJdqyO3?4X~*v2hI<9aw9V?kyJOY{TMY$@4&Elg0U?{g{u=a)hpY> zw;wG%6Z3}2LP9XI;Cw=+;*-v>lZPnKhJk`Km}UP9HkK!Vh}iU)<*Rxoin`BB{R59Q zjnz?m4c)E>;23asaBnjNE?(1h<*#Dkqf;V54Jz&Is)wOt05?fu#kDJztRkWXcZbx} zDjQ1Uoj&5P`SI_CWztD{3>8fl>^-@OZxA!c9F8~;NPK_zts_OJv1cG{3&}}hFiDVR ziZ}u<=A0KNPqr{zaGLF`?KufsO?DDc7-if7)s{;PkP$*lCbUonQ+P4ln?%snPs2?`q<7TJH{N9Czz|6!Qkrln0J1<}fKxiKk4Q+JqHMb~~)u7(W% z*n$!QyH>%VYfvLvYd9`fL3n#aI}@Voz1$4}27M zJefZ)BZaTDmi(DN{i%zTfASuHr+yku1DpDgGD$nzA-bv2Tj0|7@2Gj*@(UE055k^qC7kCmkh z@lb_tuHk+M1axA!j!w_d`mAQUi#-A@S~Ql z9)MDw;L+Byw*Gvc=A1cpPpu#-ydJUv3l#!dhH#ie#*q2cpplvG>&820&I>i5>}fd2 zAX8h0^>U-})Gh%ZHVCQ`RX`sk1w)>KsI#!{>W*Q|zi9p#&6)1XZnXSp+n={#*%ql( zDudx?b@#QNzx|$L0P!I>yl>c;Q&d z;q{p9`*}Z#V`#IloueP%O~3-(R)8hCAn+SWv%lx+ zJQN>qC!al#E3XIs{I1_EI0nXbP@LG!cw8B9*15Ad!t%0QkkBdmv?iUA_k)-M{iN1Z! ziJ_)y59wzRoUJHrg^?JH+zP&aXc}^>FmvrYpQ}CW{nV(-V7yG1zz{*mZlq&>%s||F zkbue`F|pzvcF)I7O9d16Exrpe+he?FFJW?(GSKY;F1&h#kW((ebeK6;-1PSrD8ch? zhgBeM?(kv9`5uq$*ZDZlBdi~YfWj9Z0X;TyKRvG`FWBTc20jkIC*%i=+j}Bkndofb z>Om7C362&)ZaRN}+~2=vG8)q5WekQ4#}qE!fqiW#Tbg34no_HLS+WmFYNK}xTz&=( z>?nlM^xPf54{uoe5$Yf{a}&F>Rb`%@p`%hBvmDo<2a{VByTnDmMnA6 zc}Xkl6ZF|%nZNd`zEZ&=9F*8Qo9MMjTzoCI?b~*8DX_mdua+E38A@daS1-6ceIGhK zJg%^Rwa6uzxi)g0yEtdt2USF(j~b=r}c^rpCU2lFa_mS@ZK7d%!Yg7^<98=E z`E^9Blce-ntn2V51wE~qjz)Rj&mCVq+kT`Jrna=Dgr{w&XU*u@=yl)n8~mM}x<2oT zdrc$$wz~~;UvsE=71;^)qTFLwFxBLf*F_%n8ODbo_KQ=_&43`8wmTbZpn}w53)B|crPMvkc5hTHU?7?12Tm&y+I=oc|X&w z3vbK{F7{P~%G`VmdPE`h8w=|q1T7#KKw&l03{dpM@;Bguv-cK!;Ug5lH8~s-5}G{!Tg{|#fclq=R_iiS>vw}?Ufela~MakH(E z^v_*;^D#6VC*NwGA~YjtrD3?a{nfdlZNy ziCEL_o!$ZPpFDnijLb_YE$k_Fe-^&`P+m@$=Z*suRhlIv{m!JyBRI~Uop4UuEnjjp z==q4uj5VBbF2#69RNIQ|r=RU;8s)U3%4SR^Qm;C05M7Ghka{u2vgHd$8>>ziG0D~n zYsR(T56~k_+4T}6Y@ZzH;RoG5?yKrAzqvany3*5b`(1wn>W;7ff7bdt~nb+JGa#_hi zC2>@95yCq-pxEQ$HHJF3G=lmNxxgma=z|$q<@>JXA|X$;urJ?7f8XLe-&n zbynX!f^l4r*%Aw|pfxvJTQe7GH=UkGYwM2S9s-^noA|7By6WvWUYH{<1QIHscmE^I zEG$XLIAj2J*8iKZx`|5mfs9C_J8x*dn~hk~VvED^l=7oP>@1Ah&uSBAlFh8(1fS2= zH|b{VR8u!ITTeUBgS7g`o!1)e4KdXD#vfYh80*J2==FHGR(PU;sx9YUgLT|esKIMh ztoHX{w6rT1H#2EvD80*=u)jS04**IC_wxAGY^$kNl!oY+R7Krb28Aa+nmX$U@*Ue8 zHteuiumYP9w&o0%hI(u~9*^r?HT}!){rIh#0n(1_$50frcn3n6Mjhd_m8F5plHh9R zpkOT5;(z~zW**4J^#vfT+12x&fKgONpXtmbm2fQjyBK*coiZXmaad0I4`7fgP=YTe z!l?M&4Y;!Cy~Tf^{;nL7j6pp_86KiHJKRz*V1wva4wU{lLJ(YHXD(|X6PdBVcXQVNkms>HYz-NPtx9{4&p|8ilHTKRuTapHpr`~ z>SBC|B+n^!@WoWX;k{`QL#Jk|ImMQ@Q`Y+Og}*z4wn*xNlogi0jpDq5(@iw7Bv!J5 z6F4>KXC1eQqz*WPnrT@AwZ1=OmSaoN1vYI{qLoq;lCME2K0>gcWaISANBcugNHsZQ z5zS}9Qlje3vraj@?Ddwz$2(|_jtvYPh6rj|dwE;`yw~1-1O0S)qW-T#%%0X056lMm zuVyq`0>I*zDc0ysCToYQCC5m8Y{wylkve;$4XQ*5Wr^})i^x@fjV{H?W2VX5Qt3*u zR2Qj?P12^b)Z~mAJ=0mJHd9dnJYMoL^_b`){ExDb${)c`5uu+u`W}^@L-NrN-<^|f z$lko0hr)1`$b8E6e@iQuS$uVRyvsa{9(Tp9-(?%`GjBNpRUDaI=z|qX2=@E2lI@_% zOGO;TKh&8BBv9*bD!O@F>MLI#;9|L$qW3Ec;kaVjh`j%huZCjw6wr~)Nl6RA8TA{s z@?A>y`8Z__O3p>IRtnb5>%V(iq1B82#GP~BCF$y##~ze5uLJ12M}^m8xCbKpHz~hz z4GQlY3CFZQt<$0|fZ+2R{35whBa&bVq)Z@@q+pIE9$`0uql(41cY(OVkAg9Wf*c?Ynmgee;Fr&ILrkj5WkB5U zIVI5h8e+Sx5iLd%??3FrI@z6dpe;bOc0Egs=L(8(8>kMyr}Fb|4L;GhmkYg-lhQG) z@fJEGM5G2@qh|U%y`Q$cHRz=sR+So{O{J~f ze!I;2*a7&x-9DEQ9PY!RMu=jSOQ7;|qeM1`VP|GUJcLo>^&xy;(acV&_8;>RM*nI0 z8eAr;e%8Rf4SO2a36I0*xYN#V@NYa0LusA7qAs|fTcOSL$cq>uj5P(>{q5@i46+q; z$Kr$qnsgocugP6@2F{HY?AeYH#`;CrUNHkF<_j2f3FMFF1-vX*DuB_7f-xStT@%^b)%RSJCoR@tF}E?drBe022hfyw@A*Qp?RZ3 zVu&}i%`2~IcN8c>Ri*eoP69@yr_cUZivMT91;EDgUn#DetR1z%h!nE(Mf2ERLfd=R z7-ArKSz27YHE*(ZRb)(4VQBno&2Ox)uEu#x7(U|7B<47KPSUWK#?6)`@;2?FG6-*^ z!_wM3%+4tVoxrbw( zt?q)}@Q{q(ElF6#&CblXfV2m3Dgz?IVrkgtjaw#^Dc3^Z z!0;99ZN=AT!Pvp46i~pWB$UJP8J0&6cjlu&xGI$g?|Bjq1P%25x+XZcWWOBqR?qx2 z{wF{jmAsB)o4Ii!=}+4@^W#!Ya(-ajt7H79j&v7WSpT3~asNU&0{j4>veN3L)kXkw zrHP~glLEqHMOG?ihhmAC;4FhF`vU-dKK1x+lAksLJkK)m>SAPJ;DHK!cQ}}*5LB$w z3zb~LQD1~oSOHkCjo#PCB)>_=7-W6xk%>6F~rdYEvdj|I8Wa;?VR#jmag8-L%4l~x673w8^4x$}EWSYn8A%3L% z(Anq*C!?tZ znE062IX%X&D*ytr)}rAA^ZA@JXSaXY3K7v>E8AsfWuCpu*r4H2`*Nu@YIi?iftU~- zn6%OuVEnZ1Twp3NCMHhSwEA>le82{s_HcR22qTy&4BNhnXn<^vNR1*@5Xf?)GA(G? zQ3L9^V!)kMg==q4DoEVmmXDGUEY>K>1Y{7Mqj(H~}}N%&!NzX)dmvhw<^W zQc{%2Qp>*f;P#gB4UF@B)RxRMaSv)oes@_v;-eGgPis~Ig<)qSzgQD|GJq^7cu6jp z>_v~}!h0%VVqFj=v>b~k_z}*Oa*H@>>BM+T2FrX5hN{ImND4bMvrz)IY*B>DNIKkc zw2E&lwVpi_j;vRdqDe)flQIh&Mi#Y8$ehu5j8@~YRZHblsqZ;2s9J6wQ>F8J!&P>%uK64a9uw!yucp(*ZOH`-ege4>&<$Q!)B>X;m?_?e#`E==tl->I{I@2~; zn1+L}m=GxRaK7v&Tss!yvrO~|5Zq@s1a<#7E|n{HJ7|8)hA5hL1fV=ToCu__Dq@F2 zlv@zwx~>YO^uGQf{2pMx$&l_|loY}_%uMON_6^q~n+n1N zq}dTxP2MCqJ1VA#U>bekU`eJ9UL>F=HX??$l#g}I{GAjtk$IbqIn!mScaHuL)!;vZ zpjiXEdF?}~l8A7b3|I=BunPGUj&(_t_cY|!sG%=cEmRzbA=A%|3wUl8kU1-Qv&0WpcbZ@g5{{-?l#309KEIS%A zbKPGDCq*G*gJWaW5QB->Ptp#vvim;ghdJHtS`E&<*Exl*1xNv-F$Ap+Y~O#1_Ejph zgk&6awK(Zo_YP(_+D0?JIkaiTrl!^Td@qTImQCHH^U$?2Ej>RxGZoXKXOVH6e*@~? zhIE*JnR=G(Xszy);j(r9MM3^;g?OITpMy9>2ZN8^wg$*8fanPD^S}vYzGA$im`^7& zl=9uR;nZ|41uQLF9U{mB-WCpmzI4_7Jw4c|m7yovY9wPR#t(;f_l*oYhcYYz1?TGg>clEsCUq`?IrZ#-+Aj{Ts8x?9|PJ z8Oxjca?GmL`&#SYa0e-VOJ(ynVxA#C;LWc7qpZMM+Xa`j)K-C!8K39Fc_l=~A;%NVO_N1{T6`*? z#z^7?60jtudz=a)erMzC=7AE-T=&!C22x^7^5f)C`I=q8(`N}-@?v1opD_}2(e|r@ zW)B^%UPr;M{qPG8qQP6aev*eo7wIm4p5KwD$51$TNU!lunX7PIn~+_mdSklB|6uNM zJ6bf(_)^vSdf@G@1#YUM;bU&>65qadHZDC$N3XkqZ>u9XA&GGKnC|~*`T^Db%U7AE z6Za1)%JyHDF}jL!_Q8ZmJr6X;?Q#p@wQEUCYn@C?F<(wEjU2&qi7JHQkUze_Q}|x~ zo-Exj%-zLS^f8GDi3(MoVF(Zv!6TXssU(k_(qi*)!H0G?`%@HVlFBWU-A&L$Z&n*0 zZ&w{w8{{PnZPq!tg1hxfwN(J2vFF|nmy1gWtHt~RN+`kmD?D>^bpQAR{%S#* zC8#j%r4gw%tcNI6YRKed(`K2roOTS(Uw`J9*@&qq=?cm(67x}hw(sTU5I@5-m2vg? zlIE+ar5w4%FQZ1^LLdA&Vi^YP)geye2S`AAH7?wvghuqkz)J=tQpKUO@*__WA1GX` z)5_z4CDV>_fsp~eHmI&xkhfheWA;U>!rGhJoJ!nHJGZ!|6x|`Z!Ku=7l*? z5#JBKdf)H7h_Mw*Sg{A|U*ZP|?>*XZ;>N}?exASGwK@Q|qmK`@s`p;9e&}f&Xyd`s zeqwUGYenBOzng)F7)`gFzFXb6093luk;3Jf`h$y{vD0sYb$}wRx*fax9Q?GasYeL${vZ)ath1^jT|%gfZlQq}SwR4PVoFC9`bN4v1(js^JcNtT))(Hgs(p z+f)~7f7=7>Yl*km|48HKuT!pY{T040#e;k69hXm_c|K1u%D1biY0>kHATv!2Yq`iJ?SESGWg%?uFe50b+=jctq zRZwN7N=x+|K=kWd8Eq3mwEBghhfnZpoDM(BR&kl;=&$%uOXi1bpUf|SPil0-7cDYK zu6fr5H99Vce`a=+40n6No9pqz_{{x-XL^7FH$;vkO<7Q3w`wx~JK7AN+IYpuO)@m& ztk5eUzp^Ul2BC@QR4{;3M=Si%1tq&n^Xzew`;WX}hjMi?HTvHR?T471GiC>h&d1ln zGp!2{ogf=G3u<4!CnREvd|1vx)WM$YKHoU=9VtQiYb$X`l7w#yoGUz9SWo|#mNs1O zvl3w6)0vsG-Rb0Jc5mvUs!41j5ZV zk19UM@b)vU+UEV?LJzPvYQvQTJraSY6FHjbd#9bq#LhkRwHqRS8lYF3gm?=KRp`t0 zplby3Cv<5e(e8cZ56L7I6Xun;8ti>ot& z<5F8)A+QWEXq!8Ann^k^McVB!FlC!;F)%412rJirdSq#7!@%OeOlbrcz}#(EBf#lo zAZ#oN$fRk@=fDymY;6Dezyo0B`mZY1;svddq`nN8_jt0xZXR}7#};c|SFLfix4p2d zp{XSdvplB{ur7PH z=9zin+YxvnQt)`#_6EFU?{J;CZ&TPTmn+e-XMH^a++`824F0*+^V3l_QC{C%gFWtURYuAq zkA{l_NZx1im`@LCI-hj6uF}X7J{I0~>%4ZqR!Due4@(N^6sk*Ru0*csT?C30ffo*+ zj%DawnAvAvwMY>bs-FTrN$Ymg*Yp@*_Pd2&kq4Lz^#bb?T-|K6dt9?tc(gfgZnvN3 zZR&CoK8xFTHT;NoXjq9guy8YnG0D9mUR|01yFK1--nt*v@Uai;_yc8t0Y~H}z?@o~ zzRBE*#xm#fjmCBLUA1NPiN=EFOp~5L&zM)l6SFnBHHJ0&h3YcyvURm*^;r!*UaQJ$oa21A9}qrnZK*=7z?GCXWV>CO@ryDgg~3 zoy;Uc17PYqJ-%z=)X2G(jT@UjWYpybh{ zH+Hdkq$v_0Nb*0~hc({8^|sDF8y{ClZGY>8|D+$tx#+d;-gq5=wx;m8TZBiXS_#r- zbzByOSGa%dF01L&|N4l_gZ4W9ZW00j96m%Q2vn1f6}I^`dDr&W&RhCvwl0b)qRQ}d zxOwG(zNRC-F2DVpit`qJnw>jYTs_`TzxUX9Peh$eJod5N$>U@>hlo%mu@KYW+A_F? zlkOI=pF$JTw#$v%gD>RFKs$& zJsBBrJ;7UHZOk*szcyrjIL(eVbE(=|kaRztXTs=K>WdxZvsrP-X3*^rpGv#|3MdNo zw#7NdBoVyI2&NQRzX&@6v!el~1aGO%!vj$?a#b7ZJ2rKws!&DyMQ^#+Eq}d?ES%+0 z8h)qncD3pnhp}7yZtI-#_aeZPUNO<^2Qf1?^o0G+tR}T8H~vfzFH8u;Wo9M=K}S#t z1ah_FVa*W?>l|WZ6AJr;m#(S)H3RSmG4Qy&%~Kj~U5u8b!Wc((jQ;}g-Xokfv*e8V z7R=+T$?#i{Og*oPBc5D$RoyteEK_@KPK(pKvfPu$#9UiyjJ-^6b=>S5ie+<}k(ybjV&(bK8H#Fi_ztW$@u zjwy>y7~g#w!Yh}Wo`3^R4DUyow~3ryjRkieA!qUiYchI`-e7Zy!xu!)OfqrhLLmq! z+&z7Z5gbpJg=z{AZewC^O&3z_4aj93<79aDKUa|5UUW~kx#c+;9@2Amm}ncf9-LqE z&li4k_R*~bo7vt;0btWR>TjJ1t^K2|Iso^J1KTW1D+W*qrg#9@(Wvu3Sg~1%Xiwc+ z^)&`0-3WEC>K`n|JDZcypk^4QW=>!$i7W`pCk`3o%4w=oTN~wvc=PznxF9~z^#43% z@Q^HDx~68^h=PVL8Qu3i##WEQ94#iT~UQ<9x6yKzq_VAM{8WO{gg+I z*-@Wa_b=XnvuSzMHLaAvqG5{Ytm$OG8-jlIMDs_Y1m)o*exiiD*j@| z^K11%K!w!{@bC#ryXg+ikCI{SFxqG2Td2&n#7K#CL*My`*Md1sLyK8r=>pMhZkpNSe-U(Zt^+>7N2w zCqW;kz0l4jkycj3NgryMSOMZN%NO=6bE z2vPr>l-H}hy!BVV*+b)SJdp8A#o#Ugwvbj|(Wv{!CSZ#1MV2ZoIqQhTT~mHzUquj} z`Xj-$$1oi_>K|Mwyi`zs()Wwm8Eh;tFPLLak%fQh^+s7ZtaHj#yca?2VxCSB?hUXm zEP_prn(aL3j?zyiAWa>&%;eYCzC&K?~@Z;1ag- zm`t6?rKsW+2t~9t=ZP3ysyYNGbY{|g*yNbhB2UvCs5XDhb%*CARB(@Pz@*2$#H;Rv z>zPe!QgBJ#>4rnp3 zh8!9`zprK(o-r;JK^S+WV%#ctJ=5pCEuWv1f(0r^j}c(ym2RbB*#Tl&wSJ47tS+*n z*ZxAa8e@XROf`g`+D zvths`BwHuM=#&*@uQ2dt`+|*C3FeYvjghuv9D4Mk)X@mvV2rHq;rcjzKkA>d?>rCm zUjDJ@Zg!0RF0bf06$A*f2>>`~!%UfY+#n#!EyoP=b=6uN zcy2&_g!Rw>Y##AeKKr=UQ8J3m>>uua{`uYH73Ww^YY%uu-f*~-Qk0@`3oDNG3UBd& zz&++N>=6cNaWL#q69{f zW~Ju2reK&^>IU3PRs}_17D05~%j-V%ir>qC?6#qLcKQ)(%^`J2Bx$$bt5mV18rfWb zhMym**gQPmThCHZjNDQfWC?I%@a0wdFZ=i+aa+)(aCpVKT6gesGd}5g>1ahLvV6AI z-*p!W31&?aY=Edbm?Fy*<|{+?BDN|e+i9iY1JxmIq?KNm=Pd8zA&}KIF;mTqKUOw_ z?m5tuYUpLL;M}YYXg*g#8BdooXf81@u2lCAaE7nf0KPd$dH0i-^3ow2yV*Tvy2T<3 z)n;y-Kq668VX+39r)C=4j(8ZO5Kf8Uj9SAxYIAsHRzM2&1>5RgCJJ-mFTZqQRO+q2 zwD*J;?;Yp_^LP^~<-hHw=j=zOhG^pVbg%4U5U&Yz7qwdZs^ODJ%Q&#vc%jihG`?Us z_CyRS#g-9%>+boS7OaovocZZ^l5<|a?vnwQ*G;|iLM>b))tP>Pfq393{kxHS99I%64K~LKGTm8Z( z`^M(-4#3eR)_H0A^$hL#4Q@C&9neRabc!W^m;CM{*KCZmyt}OKd*h$367*zl(W(uP zok=zkrXQPH4Dgz@bZI7xnQ0L%Dd-ugc=yO069e48UcxiYH3;|hcQ8#R)q^2k9Sme> z4O;f7`WALp$I)B;#vPM=mVS!3-|Dp(Dy19))+Aa~0?s7kKlM2VyQ_5wUwxJlN<>3pVn&?341l?%$o^9zXsTtcrYy!4YGdWG2m#`i*leUy;Xd{>(EJyUv8(deG zbw5w~VY}iukM|m6!p8o{WY6<-yN=Ak=eim&*jDhYx7h!@)j7=Lk|HEaEbONnjZ=px zm(yES3~)d=+XgUE(r}O{2wNvjf`}O`YemDSdvFSTiCIf7p}68>Fg7VwlWh|Q{~N(u zoA!UE(-mgaLm{Hi1|H6d96z>T9&cE1EP=x}`krx){wkSz$ZDJ8A*NR4xSJk(+8+$AP&rex1>u#(eKnDm;aCc8|cXt{mSa4~a;0^&MGgGs8Q~y_QbL%ed?%Uk@&N;tR zB(hZhvH{PFz@m)eQO=t zlFh8D`sm6mf3OP^mZ1xym0{7Lk1$%i}2G_(|k?A`|DaC|DgZkZS5Qb07dCtH5=8Vdyk{+T^$+IKJl? zu_&K!c*Pp*tD1ys*qS6yKTJ^K`AOcnQZ6;e;yszBon#A}0Jno7XyrW+#nlVV2+0YR z4JaV|EryqOpdMekQqd@}PMaiw^nK6=l#(yBggGo*QeX5P-He^(te^8NdAjLuJ`7IX(|BE4gERH>ICq3pPZ>Iu&r9yF<&~&=ylW#*vn0m~r z0J@u`ZlgbfO6*l17TJC^z6b2LODkN z6nH_e5$&7l54krZTp?7*--(L0pRxCeAQT764fnH#MViVV>1CSj4sclsf0kctVnp&e zq?eMxmdf~)wZtq@G~%@6Q&*lg7H^HA!`Q@`Rl0mh?Y`c5r6f0f&(V!#L}-x@WW#)S zy!V3*o;)PEvKDY?ed8zoz>Z;{O@RT`Sj+72Vg$RjpuagVqF=)P9cSnd@&qiNTdFv5 z;TvUclA!Iv1do%v$1$>OhFf2IqO`B<9doNN4h~|Hmt8N1pJ-)RZRsFD-R%3su-Zaz zR+b7ZZ+S)g{o)(IsJCFk16`Y? zt12iXCdr+Hp_`IdiI+K?pPUy&oWF~uJc+~Ro`YMFjgjW6CQhFpAJVjb%EfDo+$C+o z&=Yq)5P#x5X5T+_jr?u33<)7LyPt&PxbdIMDDcI4}TknQH&)Ya)27R-c zkoC~r@}=l+4=F_UM)t@)Yx1sYAYna&G5i7;SF+_rChi*W(cs?MX9NoV2@g9n3?heH z6>=>QX%RNA1Y)y>AjdbMp~**R&X4y!4%aD|O2ai@2`WmxFMK6weXq7~nN1z@L_Oh% zUqF^F%yuofrQzN9*xP*^qvkP_5ryxgmCh?i_T4WPogPE0nSRqXXOR0>NzR9QSd8=3 z!VGgIK5@j)VuQZhwTYOwvJd6m$5u$cQta)Au!w#Is$fE0FEC3ZN&@Y@IPGjxOc*al zGc|b=gc`maaZDnSlplL$`cy?mg;Z_S84nT5yuJHz8t!j7n!OhQ9!i<3FU)(g@-_XO z*DwN99i8eFuSPcsPa|vQ<6xj=f`zc254$wWH*x=ngpIC>!N57dj|`Pv(7^+jR$a7XS(J&h<*m$W2an6U7vHX+-MB&jIrwEA zQ<<5_4QtgCTHwHn8EOGs;6sVk#pn5i!KJ^9nbuKC@=`_MV&SDnMkSPkO?bd2yjT6D zW9*Wf60hN6k^=FtA3>;KMdYC6YpAo2KLs#PpF#~>`d{BJ`SN3UlOQdjv)Y>N{ zpaak+64Id(zy7Km3Q_XLH$1d?W3rh!p{%M&53J&q3@$(a=+4DeA~=jah>|Kl<3k+Z zbCOj!3h`%%4xk3hs{yDJNKVKPh-(a+gC@>E0`iqi;yZZoi`Q*1v;oSAg^yzC4)mvS zD0`Nr&3fz%?KiXU?b)uR0E>CiGL%G~`=JFqIHM7uSW@T4;$+QLP+{5So8vuBPw6iP ziehUf0`lvnRdrNLjs&R%-DrXX$2ZDh#8|WxjRJBxqk})(-rky|)YDT+Z?1mL)wzlU zmgSPIzmJZ49HHxnAyp2&)c^ARH6Y>H@fVP(wnq(ZGAEx2*_JMe9chXCY9E|@;rL@T z!V1%n2PZ?Ehgpz8N7^w)*_rs0bI%;(1s$i@HD2}2hfX@pfzbHLazE?OHO(a9kS#Y0 zNOi0?IZ82o*vxk2esL)TcLotkg({7iVRAs~#eZv+ZRy z>%0}-muk-pP&mqBE1da!XnbAZ%QmJ!7-PmaJ%{Nrz`wr6h)FC~#Q08y=7}D2_!WBZiah!c@+byM|1YnYY=HB|w1dlxbx||AV z(Tiqs5BUOVtE2r)o3v&8Jg+V5=UTtd{`E*HUOJ7~)aL#8Wh6K=3wizI|NL#91&IEa&J-c9lSX)c<3xn^OTVE%4kh@M{patN zGOxq76U?s*ELhwlg)s#{w&YfC(P2 zBOK_Bx^wrrJnSO!>>5j@ct?4;jHQ3Tis_f2{j$Bm{sf!ykLj$WCQ;0;&hhm5^)T!Q z>AG-Uh0U^w?t>_4%81#X#%8kWzT+6Kci*1=;R%OR^gA2}93mt;qeFtEEa!osN`EhU z&6y=6PPHz@1__LhsxDNjoX5mZ->cn&s0v?fc5GL=!eLT>Q}B%GOf8pJCHpp6`#U%| z`HuMI4Rprh-$55?dK{93wDuf)`0REgxQ5FMX&%YBa4ZzPt&o*Q)lzJ<(%DoJYYC$} z31K<(p|NYl;0Ar7T4}w}qz{0JRd$6~Mmz3co`sD=ridy5_aN*X zfNQ@H25V+kCf)elVPn>n{VwFT1O$CU4lGMq)B7b+#{Z>j`|C=Yz=w|61Dr~iks!wx zyeC5ai=4dY2d9(ZoGZ&P$CzaLPqS55me)eC4)Rf8fBU&))}`dh1}co+>hWbnb z@i%9AkEd5+P&b%ex2XFi#pr4M?LXXHr7TC^%L~qP?h!G@gcFgFu%2Lbl@Vh_3QRhnqX!F;darm+}{&QpYec}ezVU?bm9kmsFWv-qB*EvFM%g*p14=TF4@#3 zih_x?e~t0}*fY`9j>|znYf&_;5GE0yNrGaMs{EQ6=xu#(e{rpkcd+x8^K=fRaWEM!YVJ8$s`mda->#F@eGa#nf6hx>Rx#Sx#nEeIJ^D`XNMesXkO-CV2V9`)`ppG&KEhfTiW4Ttum zfQ0>EvRT#a@Y;kMA5%ZkscAGBkToJsgwum=HR+qzWP`Pyc7fjw#F3b&pVGV`TO4B0C{VCzx5fruh#Lv@9B@b;V zPkLkWMq7T=tb{BDn;ClyCfmHT!YWV>w|W+%h(dLQ7LJH`9-jeyP)Wsu66RDJjm#1N zC!lA)S1LA|_mB8#cOKm>2U?9%>hgBN60%l5wGPx9W`s$ns2~~BKGHVkHmp;+Z}$Zc zKoRn+rjx!}v{GoT=}JDYOv}!_zmwMW95LA$cWI|@{4H3%Owec7o=0AojB$YqClOFP zZG?|xu^7}g{lt~$!{HuuqZs;#_|jCv*aQwj9FEId24pO6Bv9_i7nryTwmzM_AcZS3 z&-@4PWkNM3Q%Vy$G8rQ-b_6za_t$`>Pn}4wW@FL(|HEqmk^d`^@?ap_5vG7*kQh_C zD3OJkcxkw4{7h<>J*?R zkDi|gmf`(MDpQVRRq#gGmZXeEcuIgwOEH>?tQtwWKpaWx>Q(D@KKFaFS0>QnN}8>D zW}0R&s&PQ^dBjy8w@~w@*)(r1J#93@JbjXeBGUvh_v)X~^#r)R z4epbmJpT~PmMcZZ049hUBF>I0AHEo(~*sS zQG%wg=CN8||1pZ+A(8JUHB^se3JQ)g0;L8st|&+tHS~}Ji9^#yke6QT@k`PwvD>LI zVTeHZaGKu4o(Tb?`xTgpGVP_~MIgAb+Q?MW6f6*KGZYX8yG%!Jdf>ie2umR?)H^oJ zi~$B`U@>CLz4)W=U9)DYH_2HxsyvwM#>i@9ZrW^3)@coLO^)jMNP?XjPP9anEiS>{ zNSgFe_d928n#3(_Pz&a5kZs=SwKF9_$JeoW1 zOsAoQlYrph{+&t~5@S5XV zmQfD(1Fz9DXN5lt?hR9KD%kE8T)@%{Cwd#AE6ZqC@V}3~M=Uu$&|2_6j8t7U%W@_R z*L=WFn_nPbui(XMcFOwpfRS=We6X4?C*>dJ=j1HseRq9s%%MN5I=lOsfggdt3m-iH zfWLHrFK8}hZJq}&F34QcP&3XJQwnowmB`~5h#vGoH-(9gRFLl_ z@2!k{Sb6xM@uz8XKE{m=;==UCA0FMGupVMLF{qy`GU|goDyG~~DX^A$S@*He^L41M zK2gyZx}%`Mv3uc1?_@U{H#@W_-Ud_yO8` z>D_w?L5_SXWU9kwA{|!Gdv`)zjx?lCHR&TU>0?4^YCo&bRdw8VHL82=J%+=)FbY_d zPgK9(8633qb7Y*YK`RyG$>#9O=IF?#Va=goZMY;PJn{=3Erip~cjfLQ(&qQl<^e!} zV47}|3xHikXpoET5C+wi_z8qG;5Fc24WjYpj3-sJdGu}UPJdG^MnkGvD~Y{V3!d;~ z&5!=27X0>uAyF2Mr0!RG((sfeFU8ljBTM(^S#69WcZn&e4T5yGOix}``+wZ;Y8>Qj zTM@>ql|#Ze`tA?;e@9WrDaMTa!<4WH9qX_%?6mrlEA>Z9>b8wP zdFmfyQpsEl?6qNDRh9bSKj_j%x2+<)g%Gr>V?6$YeScAe&MgoF1IpY9($&z-bGj|L z!N`ad1vyz(I?Z=+5n)ZM%o&ggVMHZA73AbtSv57{A|m>9NF+|_3jdNww@1ce z)=iAoEiaGz6L(&Rr>7kVM+&~)ZpctDS*E%d+gT{^Y9PM7zFYM{p=6W*7AO(a@Vq1c zcR;>QTDcG54E&_Z@yO0eqlJz$x3_+7!gEd5H-PA>(A$!K$&NO4FYm3Dkx@m!eylag zBuvW}{c8Ghu3?+VODkW~C{C+g0BH1XF{|3?;#MiQVw}lkq;212hNATE zXoGJ2S?{x@-0to8jkaWP(%;#_3gSymKruBAUjx%rqySexqWq|`*nEq8&8jJ{m<`*s zF>l1IG1ea508XLxi0pi*=I~cgYtADOpyTnUhfPGmXN;lwIN{{+o1@~7F@qoTiH6=v zl}6b5Ld1~6*?iY^|9B+E#eCEPz&EZ-@>wmLJ(h;c#N`%}2vwun5`(v}j(z&y>ZltK z>{runpE%`4-C60OrSwo%hGq&YgBrNoRoeR)G!ddtMx{ecR1=!2+J;)JUHCsV?z9QP z0(N5#W2wP^Fv@%e*=KV@W`W}$9#{cHi?1=$0Y$ls_05S^iXNK0fxt%`m8!vFp{E0D zT|vA#m~Z_nUxhL~Bur5lJn>`vL7{zxVW;N1VJ)IzEz)62%CIt}h1L_meyWuQ;{a2_ zR)Xr4Q@$-h2VqUi|GA-oYYLjLN-M!6rK|8yUZ^%0aCNTvrfW#bz-$}Z6=ZW<%Le@G{4RXJ z8c!8>)*UZE-+r-WXOH{(I*{(Qr@tRA{o@3ae{ecS;SVP`g;*olptJ4eY|^2n%JwCP zrMP3yXT4(0vGO+mi+hxP%9FWc0c>NNnan=g=aI=-Kjfx#^&?3FqUSz0in{J2$K=T^ zwb1gL=x3ran7|iR{)7Bg-s086)6&Tt86p_Fd&)TT~5@ebV3ctkvG+M zb(ti7JcQpH1UJ zbo+R8&EcCyX38a@y&xL(`21`mWN99=|Mx0!K?pQ|@i>5!pB}c^S{~Z;C`U+=UX5=t za5>-)?r4cP`izM)^Bi-FVn>kv4138ldl-WWCAfF9Q6mOEoTc5E z=KY<8v9ZZu*bLt>ZOI;=_0-9@3M6b)7MhIxq>k1L z2jfXcRKCKoM%f~z?BGn4A=i5qk8nU1NAn@`2Dp9P!UR_b&M;r`YnICQkS)d9fF)xL zUQOOzHRNWJ{zC50v#g&ll{a%lcL<0RjB2Dq-adfxW`T-l7F5Osa!3)q+o&oi9O&<0 zvvQ?VKN%8OF|GY*9fpCxcA$O-g zyj_35D!gb`77|5q?-->sCJtrbQgQe@= z@mpu}7$DjC@#Sd!`77jMXU|yf2vOh&ws^t z>M#86{G_}Neo<;mHTG)XXfxCiPAi*vc`Z z>H_8$>Z66h5kyQ^mt^eZeO!e7?Y_YdmK|bk9j%p^x}D7?Mj9S;)$(Z9lRyPAnK($> zqRu3VrAHcDUoY*m)(=H#Ru9}w1wWJWDz*n}xuqNATB2mD5xlTH3yVTUqgSl zww3bSL|(_psfzbzmIR%!jU1&s$wG+&4d7#T8c8(QCdQlr3@rB&^I&VubPijHR^aM>*6TuM6fMvMC=nv z8Ywua%|+0dyvxs9dF18;5z zmZVkW(cH1i%U^^AmRDf`>Si+EqSE=3mt)KQQ;_FB5&(exz&Il`K3THJ7 z@ru%_RHfp4UL06c2(2%8t8a2|KQvT#(#;xPzkvCVn8&m;{&3^3XEF`xT+)5%G&M?z zJodaCO(uzGD#KeiKj`zUDX%OWbtfjvX}tL*wF#zr{IPIq+Vxx_7_@i0ylV5vP|#5( zuG_p(6QX(n9MUCA6?BywrZ8@4>LykgD!M)lETbBfV-#wu@cS zO;q2wZ*|wtb^E9{D?)dnSRYSpsrM=>k19I%Dp=k0`V3i2I{ogCQ5FwkWF}Z) z!F3kqDT^pntq!W-RUvr007fZgf!vfP*-@>U)KF`u&*#UTo|j%@_mMWoyHi-{aq-HE z?#^?HDy+p2#`-$a`fP7Z#tqKYM@PGkc=k?*uyXW^fyiPJO5T2@F3gX1-2lh6Qaq90et2XLC*;N4+|7Q!T)bl z0@Sp&;Zl?}6yxQwwlEj46cps;;}hgJ=e6Orw&Lcq4tt@Y?-ZuqpdU|~vwlAl{W7vu}YhSER zue)ETNYdbmBd9mFGH-7s0458255A{$lc&$&VSgX@-r*#a2%{8;)AiIw8GWs*A;AJm zOz6a^zuT2-*#5@#JKSdwgW}dI)5Rv7%#~-)y`U|Xd+o)#7 zB=d%z$=vl%kY7!X(z!;)>7*|{X94Ng*E;jK4QW!DH$6nGJNNT=#Rp}O!zKY4JJk44 zi`tPa2T{tw1G5WIQVO5~kmq&z0Yo3&t4&dHF()Y*a=*FFPZ4<_tX4E{nSe-B(YW_m zO~)p?{hO8=OaRIsS+^BT8;5O^T+okc;FMI)z%z?W<8*=U6QoyfW{uOrqT8v{^rDwhU_fLoVtNht8I@c6J9B|OXYgXVSMt1XElKKF?vWD4hfImhCnCbjhsnSo2aw17U*IJer2qf` diff --git a/spec/operation_catalog.tex b/spec/operation_catalog.tex index ad605ef..e2db626 100644 --- a/spec/operation_catalog.tex +++ b/spec/operation_catalog.tex @@ -786,12 +786,40 @@ is transposed by \texttt{interval}. \textbf{Undo semantics.} Nothing is minted. \texttt{TransposeInterval} \MUST{} record each transposed pitch's new value into that pitch's value chain, -and each spelling attachment it rewrote into the corresponding spelling chain, so -that value-restoring undo recovers the pre-transpose pitch \emph{and} its -pre-transpose spelling. Restoring the pitch alone would leave a notehead spelled -for a pitch that no longer exists. This is where \texttt{TransposeInterval} -departs from the frozen \texttt{Transpose}, which records nothing and is -therefore not undoable. +and that pitch's resulting \emph{engraved spelling set} into the spelling-set +chain, so that value-restoring undo recovers the pre-transpose pitch \emph{and} +its pre-transpose spelling. Restoring the pitch alone would leave a notehead +spelled for a pitch that no longer exists. This is where +\texttt{TransposeInterval} departs from the frozen \texttt{Transpose}, which +records nothing and is therefore not undoable. + +\begin{requirement} + \label{req:opcat:spelling-set-chain} + The pitch's engraved spelling set is a single undo key with \emph{more than + one writer}. Every operation that changes it --- \texttt{RespellPitch} and + \texttt{TransposeInterval} alike --- \MUST{} record a write on that key. + Consequently a \texttt{RespellPitch} causally prior to a transposed + transaction is that transaction's chain-predecessor and is restored by its + undo; and a \texttt{RespellPitch} canonically \emph{later} supersedes the + transaction's write, so a \texttt{StrictInverse} undo conflicts rather than + erasing it, per the general superseded-writer rule. + + A pitch's value and its engraved spelling set \MUST{} undo as one unit: if + either is superseded, neither is restored. A \texttt{BestEffort} undo + \MUSTNOT{} restore the pre-transpose pitch while leaving a spelling authored + against the transposed one. +\end{requirement} + +\begin{rationale} + Ratified as P13-S3. An implementation may keep the spelling-set chain + physically separate from whatever chain drives \texttt{RespellPitch}'s + last-writer-wins conflict detection --- the reference implementation does, + because folding transposes into that chain would make a concurrent respell + \emph{conflict} with a transpose and would move the canonical bytes of every + existing history. What it may not do is let one writer own the key. A chain + with a single writer cannot see the other's prior value (so undo erases it) and + cannot see the other's later value (so undo overwrites it). +\end{rationale} An inverse interval usually exists ($(-d, -c)$), because the reduction never saturates --- but not always: $\texttt{i32::MIN}$ has no negation. Undo does not