From c6a49eb631f1c561c216a9afe958e8bad43fbaef Mon Sep 17 00:00:00 2001 From: "PD User (shared)" Date: Tue, 14 Jul 2026 19:43:14 +0000 Subject: [PATCH 1/7] feat(targets): ingest Qwen/Qwen3-8B-Base as a decomposition target MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Qwen3-8B-Base is structurally Llama-3.1-8B plus one delta — per-head RMSNorm on q/k after projection, before RoPE (HF Qwen3Attention q_norm/k_norm) — so it rides the existing llama8b target rather than a fork: - `LlamaConfig.qk_norm` (vendored_jax) + optional `FrozenAttn.q_norm/k_norm` (+ static `eps`), applied in `core` after the head reshape, exactly as HF does. Llama paths are untouched (fields default None; SPEC unchanged — q/k sites still decompose before RoPE/SDPA, the masked site output now feeds the norm first). - `qwen3_8b_config()` (36L, d 4096, 32h/8kv, inter 12288, vocab 151936, theta 1e6, eps 1e-6, plain RoPE, untied embed) + `hf_model_config()` model-name allowlist; HF loader reads the q/k_norm keys. - lab dispatch: `_resolve_target` accepts transformers.Qwen3ForCausalLM, d_resid/build_target/run_metadata resolve arch by model name; "Llama"/ "Qwen3" path schemas registered (raw-HF `layers.{i}.self_attn.*` grammar). - attn-patterns eval recipe takes the q-site name and applies the layer's QK-norm (per-layer weights — one shared closure was Llama-only). - tests: qwen-tiny parametrizations of the target suite + a QK-norm load-bearing test; NEW direct JAX-vs-HF parity suite (`tests/qwen3_hf_parity/`): tiny-random Qwen3ForCausalLM golden at fp32 tolerance (passes at rtol 2e-4) and a slow real-weights check (bf16; final-logits KL < 5e-3 + tie-aware argmax; passes against the cluster snapshot). Goldens regenerate via the torch-env `gen_hf_fixtures.py` (torch 2.13.0+cpu, transformers 5.13.1). - launchable config `qwen3_8b_full36L_HSDP_b32_dp32.yaml` mirroring the llama flagship (252 sites, 63 sites/chunk -> 4 chunks). Needs a Qwen3-tokenized prestaged dataset (fineweb_qwen3_tok_512) before launch. Crew-Address: task/ingest-qwen-3-8b Co-Authored-By: Claude Fable 5 --- param_decomp/CLAUDE.md | 2 +- param_decomp/attn_patterns_eval.py | 68 +- .../qwen3_8b_full36L_HSDP_b32_dp32.yaml | 656 ++++++++++++++++++ param_decomp/targets/llama8b.py | 70 +- .../tests/qwen3_hf_parity/__init__.py | 0 .../tests/qwen3_hf_parity/gen_hf_fixtures.py | 106 +++ .../qwen3_hf_parity/qwen3_8b_real_logits.npz | Bin 0 -> 913338 bytes .../qwen3_tiny_hf_fixtures.npz | Bin 0 -> 173786 bytes .../qwen3_hf_parity/test_qwen3_hf_parity.py | 126 ++++ param_decomp/tests/test_attn_patterns_eval.py | 6 +- param_decomp/tests/test_config.py | 13 +- param_decomp/tests/test_llama8b.py | 87 ++- param_decomp_lab/experiments/CLAUDE.md | 12 + param_decomp_lab/experiments/lm/config.py | 13 +- param_decomp_lab/experiments/lm/load_run.py | 18 +- param_decomp_lab/topology/path_schemas.py | 13 + pyproject.toml | 1 + vendored_jax/llama.py | 3 + 18 files changed, 1143 insertions(+), 51 deletions(-) create mode 100644 param_decomp/configs/qwen3_8b_full36L_HSDP_b32_dp32.yaml create mode 100644 param_decomp/tests/qwen3_hf_parity/__init__.py create mode 100644 param_decomp/tests/qwen3_hf_parity/gen_hf_fixtures.py create mode 100644 param_decomp/tests/qwen3_hf_parity/qwen3_8b_real_logits.npz create mode 100644 param_decomp/tests/qwen3_hf_parity/qwen3_tiny_hf_fixtures.npz create mode 100644 param_decomp/tests/qwen3_hf_parity/test_qwen3_hf_parity.py diff --git a/param_decomp/CLAUDE.md b/param_decomp/CLAUDE.md index 0914b2a4d..a8ea1f86b 100644 --- a/param_decomp/CLAUDE.md +++ b/param_decomp/CLAUDE.md @@ -58,7 +58,7 @@ single `make_plan` constructor, built from the shared configs by `recon.build_lo see LOSS_PARITY_DESIGN.md), consuming `losses.py` (pure loss terms + schedules) and `adversary.py` (persistent vs fresh source machinery — semantically distinct adversaries sharing only -`source_masks`); `ci_fn.py` the shared CI transformer; `targets/llama8b.py` + `targets/llama8b_sharding.py` the first target. There is ONE +`source_masks`); `ci_fn.py` the shared CI transformer; `targets/llama8b.py` + `targets/llama8b_sharding.py` the first target. `targets/llama8b.py` implements BOTH vendored HF GLU-transformer targets — Llama-3.1-8B and Qwen3-8B-Base (`qwen3_8b_config`; the one structural delta is `LlamaConfig.qk_norm`, per-head RMSNorm on q/k before RoPE, optional `FrozenAttn.q_norm`/`k_norm` fields) — dispatched by HF model name via `hf_model_config`. Qwen3 JAX↔HF parity is pinned DIRECTLY by `tests/qwen3_hf_parity/` (a tiny-random `Qwen3ForCausalLM` golden at fp32 tolerance + a slow real-weights logits check; goldens regenerate via its torch-env `gen_hf_fixtures.py`). There is ONE recon semantics: masks thread through the full token-input forward, loss is KL on final logits (SPEC §2.3–2.5). Site-local recon is a conceptual no-no, not a "simplification". `targets/llama_simple_mlp.py` is the second target (the pile-pretrained `LlamaSimpleMLP`, diff --git a/param_decomp/attn_patterns_eval.py b/param_decomp/attn_patterns_eval.py index 146fd7f6d..8b0d2c88a 100644 --- a/param_decomp/attn_patterns_eval.py +++ b/param_decomp/attn_patterns_eval.py @@ -39,29 +39,49 @@ from param_decomp.components import DecompVU from param_decomp.jit_util import filter_jit from param_decomp.lm import DecomposedModel, all_false_routes -from param_decomp.targets.llama8b import FrozenAttn, LlamaDecomposedModel +from param_decomp.targets.llama8b import FrozenAttn, LlamaDecomposedModel, parse_site_name from param_decomp.targets.llama_simple_mlp import SimpleMLPDecomposedModel from param_decomp.train import COMPUTE_DT, cast_floating -from vendored_jax.llama import apply_rope, repeat_kv, rope_cos_sin +from vendored_jax.llama import apply_rope, repeat_kv, rms_norm, rope_cos_sin -AttnPatternFn = Callable[[Float[Array, "B T qd"], Float[Array, "B T kvd"]], Float[Array, "B H T T"]] -"""`(q_flat, k_flat) -> (B, n_heads, T_query, T_key)` post-softmax causal attention map -from a layer's flat Q/K projections — the per-target attention recipe.""" +AttnPatternFn = Callable[ + [str, Float[Array, "B T qd"], Float[Array, "B T kvd"]], Float[Array, "B H T T"] +] +"""`(q_proj_site, q_flat, k_flat) -> (B, n_heads, T_query, T_key)` post-softmax causal +attention map from a layer's flat Q/K projections — the per-target attention recipe. The +site name identifies the layer (Qwen3's QK-norm weights are per-layer).""" + +QKNormFor = Callable[[str], tuple[Array, Array]] +"""`q_proj_site -> (q_norm, k_norm)` — that layer's QK-norm weights.""" def _attn_pattern_from_config( - n_head: int, n_kv_head: int, head_dim: int, n_rep: int, inv_freq: Array + n_head: int, + n_kv_head: int, + head_dim: int, + n_rep: int, + inv_freq: Array, + qk_norm_for: QKNormFor | None, + eps: float, ) -> AttnPatternFn: """The shared RoPE + GQA + causal-softmax pattern recipe, parameterised by a target's - attention config. Reuses the vendored `rope_cos_sin`/`apply_rope`/`repeat_kv` — never - a reimplemented RoPE. Scores in fp32, scaled by `1/√head_dim`, causal-masked, softmaxed.""" + attention config. Reuses the vendored `rms_norm`/`rope_cos_sin`/`apply_rope`/`repeat_kv` + — never a reimplemented RoPE. `qk_norm_for` (Qwen3 targets) applies the layer's per-head + QK-norm exactly as `FrozenAttn.core` does, before RoPE. Scores in fp32, scaled by + `1/√head_dim`, causal-masked, softmaxed.""" - def attn_pattern(q_flat: Array, k_flat: Array) -> Array: + def attn_pattern(q_site: str, q_flat: Array, k_flat: Array) -> Array: b, t, _ = q_flat.shape assert q_flat.shape[-1] == n_head * head_dim, q_flat.shape assert k_flat.shape[-1] == n_kv_head * head_dim, k_flat.shape - q = q_flat.reshape(b, t, n_head, head_dim).transpose(0, 2, 1, 3) - k = k_flat.reshape(b, t, n_kv_head, head_dim).transpose(0, 2, 1, 3) + q = q_flat.reshape(b, t, n_head, head_dim) + k = k_flat.reshape(b, t, n_kv_head, head_dim) + if qk_norm_for is not None: + q_norm, k_norm = qk_norm_for(q_site) + q = rms_norm(q, q_norm, eps) + k = rms_norm(k, k_norm, eps) + q = q.transpose(0, 2, 1, 3) + k = k.transpose(0, 2, 1, 3) cos, sin = rope_cos_sin(inv_freq, t, q_flat.dtype) q, k = apply_rope(q, k, cos, sin) k = repeat_kv(k, n_rep) @@ -74,6 +94,19 @@ def attn_pattern(q_flat: Array, k_flat: Array) -> Array: return attn_pattern +def _stacked_qk_norm_for(stacked: FrozenAttn) -> QKNormFor: + """Per-layer QK-norm lookup over the layer-STACKED attention weights (Qwen3): the + site name's layer indexes the `[n_layer, head_dim]` norm stacks.""" + q_norms, k_norms = stacked.q_norm, stacked.k_norm + assert q_norms is not None and k_norms is not None + + def qk_norm_for(q_site: str) -> tuple[Array, Array]: + layer = parse_site_name(q_site)[0] + return q_norms[layer], k_norms[layer] + + return qk_norm_for + + def _frozen_attn(target: LlamaDecomposedModel | SimpleMLPDecomposedModel) -> FrozenAttn: """The first layer's attention — every layer shares the same attn config, so one `FrozenAttn` fixes `n_head`/`n_kv_head`/`head_dim`/`n_rep` for the recipe.""" @@ -90,9 +123,14 @@ def attn_pattern_for(target: Any) -> AttnPatternFn: match target: case LlamaDecomposedModel() | SimpleMLPDecomposedModel(): attn = _frozen_attn(target) + qk_norm_for = None + if attn.q_norm is not None: + assert isinstance(target, LlamaDecomposedModel) # QK-norm is the Qwen3 target + qk_norm_for = _stacked_qk_norm_for(target.stacked.attn) return _attn_pattern_from_config( - attn.n_head, attn.n_kv_head, attn.head_dim, attn.n_rep, target.inv_freq - ) + attn.n_head, attn.n_kv_head, attn.head_dim, attn.n_rep, target.inv_freq, + qk_norm_for, attn.eps, + ) # fmt: skip case _: raise AssertionError( f"attn-patterns metric only applies to attention targets, got {type(target).__name__}" @@ -162,7 +200,7 @@ def _clean_patterns( {s: jnp.zeros(leading, COMPUTE_DT) for s in site_names}, all_false_routes(site_names, leading), site_names, False, ) # fmt: skip - return {q: pattern_fn(clean_outputs[q], clean_outputs[k]) for q, k in layer_pairs} + return {q: pattern_fn(q, clean_outputs[q], clean_outputs[k]) for q, k in layer_pairs} def _masked_patterns_kl( @@ -172,7 +210,7 @@ def _masked_patterns_kl( target_patterns: dict[str, Array], ) -> dict[str, Array]: return { - q: _pattern_kl(target_patterns[q], pattern_fn(masked_outputs[q], masked_outputs[k])) + q: _pattern_kl(target_patterns[q], pattern_fn(q, masked_outputs[q], masked_outputs[k])) for q, k in layer_pairs } diff --git a/param_decomp/configs/qwen3_8b_full36L_HSDP_b32_dp32.yaml b/param_decomp/configs/qwen3_8b_full36L_HSDP_b32_dp32.yaml new file mode 100644 index 000000000..fd3c7774d --- /dev/null +++ b/param_decomp/configs/qwen3_8b_full36L_HSDP_b32_dp32.yaml @@ -0,0 +1,656 @@ +# Qwen3-8B-Base full-model decomposition: ALL 36 layers x 7 matrices +# (q/k/v/o/gate/up/down) = 252 sites. Mirrors llama8b_full32L_HSDP_b32_dp32.yaml — +# same algorithm, CI arch, LRs/coeffs/eval set. DELIBERATE DIFFS vs that reference: +# 1. target: Qwen/Qwen3-8B-Base (36 layers, intermediate 12288, vocab 151936, +# QK-norm). Same per-kind C as the llama config — gate/up/down are ~15% smaller +# matrices here, so this is a slightly RICHER decomposition per parameter; retune +# per-kind C once a first run gives signal. +# 2. ChunkwiseSubsetReconLoss sites_per_chunk: 56 -> 63 (9 layers/chunk -> 4 chunks +# over 36 layers); coeff stays 0.5 x n_chunks = 2.0. +# 3. data: fineweb_qwen3_tok_512 (fineweb re-tokenized with the Qwen3 tokenizer — +# prestage via `python -m param_decomp_lab.experiments.lm.prestage_tokenized +# --out_dir .../datasets/fineweb_qwen3_tok_512 --tokenizer_name Qwen/Qwen3-8B-Base +# --seq_len 512` before first launch). +# out_dir / run_id are minted by pd-lm. +run_name: jax-qwen3-full36L-HSDP-b32-dp32 +cadence: + keep_last_n_checkpoints: 2 + save_every: 5000 + train_log_every: 25 +data: + buffer_size: 1000 + column_name: input_ids + data_files: /mnt/data/artifacts/mechanisms/param-decomp/datasets/fineweb_qwen3_tok_512/*.parquet + dataset_name: parquet + eval_split: train + is_tokenized: true + max_seq_len: 512 + revision: null + shuffle_each_epoch: true + streaming: false + tokenizer_name: Qwen/Qwen3-8B-Base + train_split: train +eval: + batch_size: 32 + every: 1000 + metrics: + - n_batches_accum: 1 + type: CIHistograms + - ci_alive_threshold: 0.0 + type: ComponentActivationDensity + - ci_alive_threshold: 0.0 + groups: null + type: CI_L0 + - rounding_threshold: 0.0 + type: CEandKLLosses + - type: CIMeanPerComponent + - coeff: null + type: StochasticHiddenActsReconLoss + - type: CIHiddenActsReconLoss + - coeff: null + init: random + mask_scope: c + n_steps: 20 + step_size: 0.1 + type: PGDReconLoss + n_steps: 1 + slow_every: 10000 + slow_on_first_step: true +pd: + batch_size: 32 + ci_config: + type: chunkwise_transformer + blocks_per_chunk: 1 + d_model: 4096 + n_blocks: 4 + n_heads: 64 + mlp_hidden: 16384 + ci_fn_optimizer: + betas: + - 0.9 + - 0.999 + grad_clip_norm: null + lr_schedule: + final_val_frac: 0.1 + fn_type: cosine + start_val: 2.0e-05 + warmup_pct: 0.0 + weight_decay: 0.0 + components_optimizer: + betas: + - 0.9 + - 0.999 + grad_clip_norm: 0.01 + lr_schedule: + final_val_frac: 0.1 + fn_type: cosine + start_val: 2.0e-05 + warmup_pct: 0.0 + weight_decay: 0.0 + decomposition_targets: + - C: 2048 + module_pattern: model.layers.0.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.0.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.0.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.0.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.0.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.0.mlp.up_proj + - C: 10240 + module_pattern: model.layers.0.mlp.down_proj + - C: 2048 + module_pattern: model.layers.1.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.1.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.1.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.1.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.1.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.1.mlp.up_proj + - C: 10240 + module_pattern: model.layers.1.mlp.down_proj + - C: 2048 + module_pattern: model.layers.2.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.2.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.2.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.2.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.2.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.2.mlp.up_proj + - C: 10240 + module_pattern: model.layers.2.mlp.down_proj + - C: 2048 + module_pattern: model.layers.3.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.3.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.3.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.3.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.3.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.3.mlp.up_proj + - C: 10240 + module_pattern: model.layers.3.mlp.down_proj + - C: 2048 + module_pattern: model.layers.4.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.4.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.4.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.4.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.4.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.4.mlp.up_proj + - C: 10240 + module_pattern: model.layers.4.mlp.down_proj + - C: 2048 + module_pattern: model.layers.5.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.5.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.5.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.5.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.5.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.5.mlp.up_proj + - C: 10240 + module_pattern: model.layers.5.mlp.down_proj + - C: 2048 + module_pattern: model.layers.6.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.6.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.6.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.6.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.6.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.6.mlp.up_proj + - C: 10240 + module_pattern: model.layers.6.mlp.down_proj + - C: 2048 + module_pattern: model.layers.7.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.7.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.7.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.7.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.7.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.7.mlp.up_proj + - C: 10240 + module_pattern: model.layers.7.mlp.down_proj + - C: 2048 + module_pattern: model.layers.8.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.8.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.8.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.8.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.8.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.8.mlp.up_proj + - C: 10240 + module_pattern: model.layers.8.mlp.down_proj + - C: 2048 + module_pattern: model.layers.9.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.9.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.9.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.9.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.9.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.9.mlp.up_proj + - C: 10240 + module_pattern: model.layers.9.mlp.down_proj + - C: 2048 + module_pattern: model.layers.10.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.10.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.10.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.10.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.10.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.10.mlp.up_proj + - C: 10240 + module_pattern: model.layers.10.mlp.down_proj + - C: 2048 + module_pattern: model.layers.11.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.11.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.11.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.11.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.11.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.11.mlp.up_proj + - C: 10240 + module_pattern: model.layers.11.mlp.down_proj + - C: 2048 + module_pattern: model.layers.12.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.12.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.12.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.12.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.12.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.12.mlp.up_proj + - C: 10240 + module_pattern: model.layers.12.mlp.down_proj + - C: 2048 + module_pattern: model.layers.13.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.13.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.13.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.13.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.13.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.13.mlp.up_proj + - C: 10240 + module_pattern: model.layers.13.mlp.down_proj + - C: 2048 + module_pattern: model.layers.14.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.14.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.14.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.14.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.14.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.14.mlp.up_proj + - C: 10240 + module_pattern: model.layers.14.mlp.down_proj + - C: 2048 + module_pattern: model.layers.15.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.15.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.15.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.15.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.15.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.15.mlp.up_proj + - C: 10240 + module_pattern: model.layers.15.mlp.down_proj + - C: 2048 + module_pattern: model.layers.16.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.16.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.16.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.16.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.16.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.16.mlp.up_proj + - C: 10240 + module_pattern: model.layers.16.mlp.down_proj + - C: 2048 + module_pattern: model.layers.17.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.17.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.17.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.17.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.17.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.17.mlp.up_proj + - C: 10240 + module_pattern: model.layers.17.mlp.down_proj + - C: 2048 + module_pattern: model.layers.18.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.18.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.18.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.18.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.18.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.18.mlp.up_proj + - C: 10240 + module_pattern: model.layers.18.mlp.down_proj + - C: 2048 + module_pattern: model.layers.19.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.19.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.19.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.19.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.19.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.19.mlp.up_proj + - C: 10240 + module_pattern: model.layers.19.mlp.down_proj + - C: 2048 + module_pattern: model.layers.20.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.20.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.20.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.20.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.20.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.20.mlp.up_proj + - C: 10240 + module_pattern: model.layers.20.mlp.down_proj + - C: 2048 + module_pattern: model.layers.21.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.21.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.21.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.21.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.21.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.21.mlp.up_proj + - C: 10240 + module_pattern: model.layers.21.mlp.down_proj + - C: 2048 + module_pattern: model.layers.22.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.22.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.22.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.22.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.22.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.22.mlp.up_proj + - C: 10240 + module_pattern: model.layers.22.mlp.down_proj + - C: 2048 + module_pattern: model.layers.23.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.23.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.23.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.23.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.23.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.23.mlp.up_proj + - C: 10240 + module_pattern: model.layers.23.mlp.down_proj + - C: 2048 + module_pattern: model.layers.24.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.24.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.24.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.24.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.24.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.24.mlp.up_proj + - C: 10240 + module_pattern: model.layers.24.mlp.down_proj + - C: 2048 + module_pattern: model.layers.25.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.25.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.25.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.25.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.25.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.25.mlp.up_proj + - C: 10240 + module_pattern: model.layers.25.mlp.down_proj + - C: 2048 + module_pattern: model.layers.26.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.26.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.26.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.26.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.26.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.26.mlp.up_proj + - C: 10240 + module_pattern: model.layers.26.mlp.down_proj + - C: 2048 + module_pattern: model.layers.27.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.27.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.27.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.27.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.27.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.27.mlp.up_proj + - C: 10240 + module_pattern: model.layers.27.mlp.down_proj + - C: 2048 + module_pattern: model.layers.28.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.28.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.28.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.28.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.28.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.28.mlp.up_proj + - C: 10240 + module_pattern: model.layers.28.mlp.down_proj + - C: 2048 + module_pattern: model.layers.29.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.29.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.29.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.29.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.29.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.29.mlp.up_proj + - C: 10240 + module_pattern: model.layers.29.mlp.down_proj + - C: 2048 + module_pattern: model.layers.30.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.30.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.30.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.30.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.30.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.30.mlp.up_proj + - C: 10240 + module_pattern: model.layers.30.mlp.down_proj + - C: 2048 + module_pattern: model.layers.31.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.31.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.31.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.31.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.31.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.31.mlp.up_proj + - C: 10240 + module_pattern: model.layers.31.mlp.down_proj + - C: 2048 + module_pattern: model.layers.32.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.32.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.32.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.32.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.32.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.32.mlp.up_proj + - C: 10240 + module_pattern: model.layers.32.mlp.down_proj + - C: 2048 + module_pattern: model.layers.33.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.33.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.33.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.33.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.33.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.33.mlp.up_proj + - C: 10240 + module_pattern: model.layers.33.mlp.down_proj + - C: 2048 + module_pattern: model.layers.34.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.34.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.34.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.34.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.34.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.34.mlp.up_proj + - C: 10240 + module_pattern: model.layers.34.mlp.down_proj + - C: 2048 + module_pattern: model.layers.35.self_attn.q_proj + - C: 2048 + module_pattern: model.layers.35.self_attn.k_proj + - C: 4096 + module_pattern: model.layers.35.self_attn.v_proj + - C: 4096 + module_pattern: model.layers.35.self_attn.o_proj + - C: 8192 + module_pattern: model.layers.35.mlp.gate_proj + - C: 8192 + module_pattern: model.layers.35.mlp.up_proj + - C: 10240 + module_pattern: model.layers.35.mlp.down_proj + faithfulness_warmup_lr: 0.001 + faithfulness_warmup_steps: 0 + faithfulness_warmup_weight_decay: 0.0 + identity_decomposition_targets: null + loss_metrics: + - frequency: + coeff: 1.0e-06 + reference_token_count: 65536 + coeff: 5.0e-06 + eps: 1.0e-06 + pnorm: + start_val: 2.0 + fn_type: linear + final_val_frac: 0.2 + type: ImportanceMinimalityLoss + - coeff: 2.0 + n_samples: 1 + routing: + type: uniform_k_subset + sites_per_chunk: 63 + type: ChunkwiseSubsetReconLoss + - coeff: 0.5 + n_warmup_steps: 2 + optimizer: + beta1: 0.01 + beta2: 0.99 + eps: 1.0e-08 + lr_schedule: + final_val_frac: 1.0 + fn_type: constant + start_val: 0.01 + warmup_pct: 0.025 + type: adam + scope: + type: bsc + type: PersistentPGDReconLoss + - coeff: 1000000.0 + type: FaithfulnessLoss + seed: 0 + steps: 200000 +runtime: + dp: 32 + tp: 1 + remat_recon_forwards: true + remat_ci_fn: true +target: + output_extract: logits + weights_dtype: bfloat16 + spec: + kind: hf + model_class: transformers.Qwen3ForCausalLM + model_name: Qwen/Qwen3-8B-Base +wandb: + entity: null + project: param-decomp-llama + group: qwen3-full36L + tags: + - full-model + - 36L + - allmat + - qwen3 + - seq512 diff --git a/param_decomp/targets/llama8b.py b/param_decomp/targets/llama8b.py index 1849df0f3..397c6f6f2 100644 --- a/param_decomp/targets/llama8b.py +++ b/param_decomp/targets/llama8b.py @@ -1,4 +1,6 @@ -"""Llama-3.1-8B vendored target — the first `DecomposedModel` implementation. +"""The vendored HF GLU-transformer targets — Llama-3.1-8B (the first `DecomposedModel` +implementation) and Qwen3-8B-Base (the same model + `LlamaConfig.qk_norm`: per-head +RMSNorm on q/k before RoPE). `hf_model_config` maps the HF model name to its arch config. The decomposed sites are any per-layer weight matrices (SPEC §1/§3) named torch-style: `layers.{i}.self_attn.{q,k,v,o}_proj` and `layers.{i}.mlp.{gate,up,down}_proj`, each @@ -16,6 +18,7 @@ import json import re +from collections.abc import Callable from pathlib import Path from typing import Any @@ -78,6 +81,40 @@ def llama31_8b_config() -> LlamaConfig: ) +def qwen3_8b_config() -> LlamaConfig: + """Qwen3-8B(-Base): Llama-shaped GLU transformer + QK-norm, plain RoPE (HF + `Qwen/Qwen3-8B-Base` config.json). HF's explicit `head_dim` (128) coincides with + `n_embd // n_head` for 8B, so the derived `LlamaConfig.head_dim` is exact.""" + return LlamaConfig( + vocab_size=151936, + n_layer=36, + n_head=32, + n_kv_head=8, + n_embd=4096, + n_intermediate=12288, + rope_theta=1000000.0, + rms_norm_eps=1e-6, + max_position_embeddings=32768, + qk_norm=True, + ) + + +HF_MODEL_CONFIGS: dict[str, Callable[[], LlamaConfig]] = { + "meta-llama/Llama-3.1-8B": llama31_8b_config, + "Qwen/Qwen3-8B-Base": qwen3_8b_config, +} +"""The HF model names this target implements. Anything else refuses loudly at convert +time — a new model gets an explicit config here (checked against its HF config.json), +never a silent guess.""" + + +def hf_model_config(model_name: str) -> LlamaConfig: + assert model_name in HF_MODEL_CONFIGS, ( + f"no vendored arch config for {model_name!r}; supported: {sorted(HF_MODEL_CONFIGS)}" + ) + return HF_MODEL_CONFIGS[model_name]() + + def site_name(layer: int, kind: str) -> str: assert kind in KIND_ORDER, kind submodule = "self_attn" if kind in ATTN_KINDS else "mlp" @@ -161,6 +198,16 @@ class FrozenAttn(eqx.Module): n_kv_head: int = eqx.field(static=True) head_dim: int = eqx.field(static=True) n_rep: int = eqx.field(static=True) + q_norm: Float[Array, " hd"] | None = None + """Qwen3-style per-head RMSNorm weight on q after projection, before RoPE + (`LlamaConfig.qk_norm`); None => the plain Llama attention.""" + k_norm: Float[Array, " hd"] | None = None + eps: float = eqx.field(static=True, default=0.0) + """RMSNorm eps for `q_norm`/`k_norm` only (the block norms use the model-level eps).""" + + def __check_init__(self): + assert (self.q_norm is None) == (self.k_norm is None), "q_norm/k_norm come as a pair" + assert self.q_norm is None or self.eps > 0.0, "qk-norm needs a real eps" def shardings(self, mesh: "Mesh") -> "FrozenAttn": """Stacked (leading `n_layer`, UNSHARDED — the scan axis) FSDP on `fsdp`: the `d` dim @@ -174,9 +221,13 @@ def shardings(self, mesh: "Mesh") -> "FrozenAttn": for w in (self.wq, self.wk, self.wv): assert_divisible(w.shape[2], mesh, "fsdp", "FrozenAttn qkv in (d)") assert_divisible(self.wo.shape[1], mesh, "fsdp", "FrozenAttn out-proj out (d)") - return eqx.tree_at( + out = eqx.tree_at( lambda a: (a.wq, a.wk, a.wv, a.wo), self, (in_fsdp, in_fsdp, in_fsdp, out_fsdp) ) + if self.q_norm is not None: + repl = NamedSharding(mesh, P()) + out = eqx.tree_at(lambda a: (a.q_norm, a.k_norm), out, (repl, repl)) + return out def core( self, @@ -191,8 +242,16 @@ def core( assert q_flat.shape[-1] == self.n_head * self.head_dim, q_flat.shape assert k_flat.shape[-1] == self.n_kv_head * self.head_dim, k_flat.shape assert v_flat.shape[-1] == self.n_kv_head * self.head_dim, v_flat.shape - q = q_flat.reshape(b, t, self.n_head, self.head_dim).transpose(0, 2, 1, 3) - k = k_flat.reshape(b, t, self.n_kv_head, self.head_dim).transpose(0, 2, 1, 3) + q = q_flat.reshape(b, t, self.n_head, self.head_dim) + k = k_flat.reshape(b, t, self.n_kv_head, self.head_dim) + if self.q_norm is not None: + # Qwen3 QK-norm: per-head RMSNorm over head_dim, before RoPE (HF + # `Qwen3Attention`). A masked q/k site output feeds this norm, then RoPE/SDPA. + assert self.k_norm is not None + q = rms_norm(q, self.q_norm, self.eps) + k = rms_norm(k, self.k_norm, self.eps) + q = q.transpose(0, 2, 1, 3) + k = k.transpose(0, 2, 1, 3) v = v_flat.reshape(b, t, self.n_kv_head, self.head_dim).transpose(0, 2, 1, 3) cos, sin = rope_cos_sin(inv_freq, t, q_flat.dtype) q, k = apply_rope(q, k, cos, sin) @@ -984,6 +1043,9 @@ def _load_attn(w: _HFWeights, i: int, cfg: LlamaConfig) -> FrozenAttn: n_kv_head=cfg.n_kv_head, head_dim=cfg.head_dim, n_rep=cfg.n_rep, + q_norm=w.get(f"{pre}.{i}.self_attn.q_norm.weight") if cfg.qk_norm else None, + k_norm=w.get(f"{pre}.{i}.self_attn.k_norm.weight") if cfg.qk_norm else None, + eps=cfg.rms_norm_eps if cfg.qk_norm else 0.0, ) diff --git a/param_decomp/tests/qwen3_hf_parity/__init__.py b/param_decomp/tests/qwen3_hf_parity/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/param_decomp/tests/qwen3_hf_parity/gen_hf_fixtures.py b/param_decomp/tests/qwen3_hf_parity/gen_hf_fixtures.py new file mode 100644 index 000000000..ff2bc79fc --- /dev/null +++ b/param_decomp/tests/qwen3_hf_parity/gen_hf_fixtures.py @@ -0,0 +1,106 @@ +"""Generate the Qwen3 HF-parity goldens — a TORCH-ENV script (the repo venv is +torch-free; run it in a throwaway venv, like the `tests/equivalence` torch generators): + + uv venv /tmp/qwen3-golden --python 3.12 + VIRTUAL_ENV=/tmp/qwen3-golden uv pip install torch --index-url https://download.pytorch.org/whl/cpu + VIRTUAL_ENV=/tmp/qwen3-golden uv pip install transformers numpy + /tmp/qwen3-golden/bin/python param_decomp/tests/qwen3_hf_parity/gen_hf_fixtures.py # tiny + /tmp/qwen3-golden/bin/python param_decomp/tests/qwen3_hf_parity/gen_hf_fixtures.py --real # 8B + +Tiny golden (`qwen3_tiny_hf_fixtures.npz`): a seeded random `Qwen3ForCausalLM` at a +4-layer toy config, fp32, eager attention — the exact-architecture check (QK-norm, GQA, +RoPE base) `test_qwen3_hf_parity.py` compares against at fp32 tolerance. The full state +dict rides in the npz under `sd::`-prefixed keys. + +Real golden (`qwen3_8b_real_logits.npz`): `Qwen/Qwen3-8B-Base` bf16 from the HF cache, +a few fixed prompts, final-position fp32 logits — the weight-loading end-to-end check +(slow test). Regenerate only if the MATH changes; record the transformers version bump +in the commit message. +""" + +import argparse +import json +from pathlib import Path + +import numpy as np +import torch +from transformers import AutoTokenizer, Qwen3Config, Qwen3ForCausalLM + +HERE = Path(__file__).resolve().parent + +TINY_CONFIG = dict( + vocab_size=64, + hidden_size=32, + intermediate_size=64, + num_hidden_layers=4, + num_attention_heads=4, + num_key_value_heads=2, + head_dim=8, + rope_theta=1000000.0, + rms_norm_eps=1e-6, + max_position_embeddings=512, + tie_word_embeddings=False, + attention_bias=False, + use_cache=False, +) + +REAL_MODEL = "Qwen/Qwen3-8B-Base" +REAL_PROMPTS = ( + "The capital of France is Paris, and the capital of Germany is", + "In 1859, Charles Darwin published On the Origin of Species, which", + "def fibonacci(n):\n if n <= 1:\n return n\n return", + "The mitochondria is the powerhouse of the cell, and the nucleus stores the", +) +REAL_SEQ_LEN = 12 + + +def gen_tiny() -> None: + torch.manual_seed(0) + cfg = Qwen3Config(**TINY_CONFIG) + model = Qwen3ForCausalLM._from_config(cfg, attn_implementation="eager").eval() + tokens = torch.randint(0, cfg.vocab_size, (2, 16), generator=torch.Generator().manual_seed(1)) + with torch.no_grad(): + logits = model(tokens).logits + arrays = {f"sd::{k}": v.numpy() for k, v in model.state_dict().items()} + import transformers + + np.savez_compressed( + HERE / "qwen3_tiny_hf_fixtures.npz", + **arrays, + tokens=tokens.numpy(), + logits=logits.numpy(), + config_json=np.array(json.dumps(TINY_CONFIG)), + transformers_version=np.array(transformers.__version__), + ) + print(f"tiny golden: {len(arrays)} tensors, logits {tuple(logits.shape)}") + + +def gen_real() -> None: + tokenizer = AutoTokenizer.from_pretrained(REAL_MODEL) + ids = [] + for prompt in REAL_PROMPTS: + prompt_ids = tokenizer(prompt).input_ids + assert len(prompt_ids) >= REAL_SEQ_LEN, (prompt, len(prompt_ids)) + ids.append(prompt_ids[:REAL_SEQ_LEN]) + tokens = torch.tensor(ids) + model = Qwen3ForCausalLM.from_pretrained(REAL_MODEL, dtype=torch.bfloat16).eval() + with torch.no_grad(): + final_logits = model(tokens).logits[:, -1, :].float() + import transformers + + np.savez_compressed( + HERE / "qwen3_8b_real_logits.npz", + tokens=tokens.numpy(), + final_logits=final_logits.numpy(), + transformers_version=np.array(transformers.__version__), + ) + print(f"real golden: tokens {tuple(tokens.shape)}, final logits {tuple(final_logits.shape)}") + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("--real", action="store_true", help="generate the Qwen3-8B-Base golden") + if parser.parse_args().real: + gen_real() + else: + gen_tiny() diff --git a/param_decomp/tests/qwen3_hf_parity/qwen3_8b_real_logits.npz b/param_decomp/tests/qwen3_hf_parity/qwen3_8b_real_logits.npz new file mode 100644 index 0000000000000000000000000000000000000000..6e361205cd159c070837a6b244f45dcd844935c6 GIT binary patch literal 913338 zcmY(Jc{CJU82{f=NnU#>`%)pHvW`7_uMk2QB$a&~J7eBNNCpwfpvIQOkbRw(WGorU zGS(S0Xqdqm%nZhuU%&O7-*e7A&p-E%=X}q(&%NKzbMISooKgAfufNX!S+ak{-WW4s z|DU+<*TuggLj#|NfK)@m;!gd=|JPrq|7`jb!~Z+|RlF%m66YTtx<7couJnx?3|J9T z`5`3F|6_gmhtdMC2M+n~M9aML-&_!kvHqcCd-j#6?-h}X(}!Z$bT7QLc&~e*<-+P| z)jQA5-3)t^{B!0te|**T6xA2ITQpe>?Ucu1FJEP;C^I0wmHjMN{~r;a`G

Kr2h|Sn)R4;8*$QypG|I6xqt_JCw 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℘&57vnm6OqT7vEmGKW?jD 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�o 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%0ATM>lZpwzF3|P(DoQZq=N$ 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�)4pcGJ~y{YwAo3@`H@F53va2G~eCT4^t0%KE)~ zT&cJ!t`WDknZy6nJ`E_%v%lF^ad-n)7Cf+iV*X_I$>|dDBo#`-SjBce8*m4(iWJ9e z1q3UOLeAZrdR^OLS2?p_dLbp?aJ7&n0Xdt$u9mYBL}* z00Nhd>P{c@uGxp#02xOl2_;3R@IG7eTF`t&ec4THHA)S5O3I+@$HA;;Ezibo75IJT zGQTL{x6*&m+g?U}x!7h8B;Rk&IFjP=ul(F7r{RdD5L&%EFVMf(-H~prgnW^&82$I1 zb?3H@Wl)-+L!7c^1OHFT=6rJxD7NS)QaogocM47FN8g?G8`jhHY}MKL{R$+pgpa&h z!;0wLc)rK;pI7L$0{WfMuF&`{Wux6C6%~e0NX^uIQN%J?jpmP)O&5bvPx3DgqkrFs zsBy76iqedop0G_JU6=PVaPr? zp!R4WGM%_U%U(E)|JEruFu7%^j7K=FEv}xM-bwIF4f+d!UTqQwCaSxXd9!Sn8yihh z*X1$jw4min)oE`{l=^wOOs5|;POe|Rr2VD+Y_K*vS>;w&H?Zgl*3+G(34>4QM8R`z z)2r$`GACs-nfZ5zTOwOcgu9PAJD_Vcgi9IY5dfnu@xTj8H(jIqwre?l`bEUI3}v|FWPB(+h02=y33w?{2!G!eSqfPq zu7BsoCS0px0V-1e=#Au zjVvKG;HAE7rN2G4zPhgu*VsS~teyx+L3xjl2H=(RV*t=borMz~kKXIXo6eFQfA|*I zIQa82yt|Dn1EqCh(UtbYSeur-80L%!K@DGeqd@`YWxhfOO|ilbI^8tC*v`E5l!hwfEg6c1-%~2+PIZfjm6T7z%O{G{cHURm<7ZN4lOhiroS?-u{`qk< z)Xh&Q1&u>^{$6$X>BTyTp!z#7B=89uOLN<5MAhbT;;#pW>m7PM+UhA~Ibi3r8J#Jq zuwNQFG5i1xEcz)A81-3oxQeGsu*~@)_QAsngpRcv~J;F1c!~ato{Z<@a zBbm-pomIrduBhm66xXkSS?{~?yRf>r-tb3RNXx^>1K{ubDqxnu#OX5Nn$5sa&tPN%0b?b9hb9qZ_RKUJoZ~sw1B! zGLL%qi2Cz=r;{vyqO`W-ZD-;GM|v`0w`#OE_P5EdgP+(k!V`Eo|7xRPlD^MaZu#NT zsL!8QGX;zG!L429QNt$jE+d*7?(BWDaV8Sb21a&C5fl*os+WGCxt&-H2ks;($!H;j zLCRK%=N0~R1%+&cd2mN7?r7)Yxy}VpaiT#hhU$K*4d^)kO>fH&$d?W|gpt?-J}%|{ zZdrJ4n(-4bS(%tL>@%kf*7!N7RL-fk?`1stytV$Q;fTLOs8SoGIkV)wW7B+a=uNEz zWraMQH*vL%7;r_F8MHZQ0qU?=oGk!;Hj^XcoVs^!Lw7=WCv|pBsTp**P1gT-#6BJA zS0&XUt0SiLir=p8F{{o7?R4LtEq$e`s>4+n2Yy1o02X#!;bB5l6tMtGl?@lXkIcp}pZ}86PKKYApQ3fOXQ0tif|j^1hlL0pD~~z^B43-3h%c zqG*xi0HyyCCow_{x8^vF$>7AA%g3wPfrmhd`+7JM_x) zf%EHhk-Y1L3LEPIHyPe*iqW4MQVvp}1QU`(+brNUw{GF!V;Sx0p;^?gX2 ztV!WAOSn%07j34YkA^e_ab&i;>Y;u(jLj|Qb}86AMr>Pg(U7Gde8KY=Z{wbV!Xi7> z307aBt2we4fBCW|NyH<%b;V1skcyE*d@R56=})LyQiYb^M`- zF8O;$_axff#R>D04t*Bs`@^LdP4o2ZVeM@Jua9+hYjDkHMXDnE+g=&Ys^YDAY73g* zRoqBo+hf+I?}}`1rp+06YH}nyx&m^WUq}F**sg#lHP*eY)cCE-G+2ebpWGt2U48p& zy1;0Fqy3x1)leiJpPCI|8El7B&lz0-=i@H9C_X>h#Qpi1oIThZ&uN7B>Q$Z2rv7#c zzml(to@q=K{MEzC2B}C-IaXbFa9t2!Tfq`gZV9`C&OWXRVrKG zDUDwoZs_jj-sQ?YxAZ)Qy_yg2ogOcTZPq1(8ATp#jvq>^ryVM~d@E)&!=WKyKGN4G zP;(1=SMb7uuqlnq&*>_J1nSyPvTm`vlDN$5$h1h(5P_U6F?>UE-NfqFyY4)zO{J#q z+U;lRm5si(Mtr#Uq^{vpfskLW(3wWtJU^=x+Jz?AdR{c!-LL|^@V&+4tMWUo4r*D& z*#1h&E4*sp!D;=GI}V{+G-nU#$=3PSI)FiM%7_N`-al@z&yvn5pxeUg_;@##%3_*gB1Fel9(GO2u84GVKw3LZptR5)wCo=pihU+136Mz>Q?_awKQgIORiHW&aJtPY zMa18bWn7dC?$DRrPg!gD~f)56agm`t-oB6$y^}YE5}K09j+8O z8ACPqjBb&PZXNVjXRM?_4{vhnHg_}eM1)#Mip#JYjH&AH&|n38lO>!aH0Qs$G*=Z% z4FYudNO*i<=?y#e7(L26jhlrq(tGOm-p!6J@~gh1i{lEN=nvCfJh3SMcVFZ+hsT3rC6=%rW%f;{-uERyTNWp|N$;U;r`& zqgNk+_kG$W3+=8Q|k9^?nSqhp5nsiLvl7h&lF`agQNM>zX(XePI+ZcY*N?DHJ0+j7Qd> zI=yLQa_p~e^{P6;@U$S86V->7hV_2xIJKG_m2D;_qAxr3^}mnB6EBdJ>u?*j(z7g4$Ce^{d^LAzicjL*sk9#jvt;zqq?yU8Sia+ zq|}Y#O{b|%1Nl#Rh^rgdvs@w10pBgC=Oi{J(F@~Nb=RQ%F2i%nyXbRg$LZy_%mt|? zBl6?B)kzaig| zQiaE#$IJMxverLj8oQ7_IJ?Ne);eTXI1iXb0oy-XmFrKyanSyBL}z$^#;=_+HRA2Z z_t?r_q`d)mm^?M5z1lJsmgo3kYSW1Sb|~K!x0ISKf99KLY<>bq|6Z26yG~;rm7i>H zxF@XDUZ|tyru3J@hj0EgqKctJzz@=2#@t*WtNbC)hA~n_!Y(JFHyPWqf9=H6!PQ_?G~FKP1yomm{oUH_zY< zikzH>u}2UJXk(kyK!Iy$2G~wL9twUf_D|B-Fep7LM-n^SM&Lbf)h2-n72(TJ!S#NH z!u!Kv6tvOHl_RTj_>v^m9;@?FmlVPr76#~|ICYg7ZEy_)YE}57H)26HG%np}4)ABr zb-ko(59fHs^N=!=%}%|ld)*itq0e4CZ;bC+{T>*2Zeuus%n^DyYq!cy!8AB zmO)&b-f-7}yNSH-D`eRy+@tdk1snaDQBs&ty$~Rh)t9-rEv!8j#1|h$18kCXSbYM5 zHnQ$nn2#9*ITYR`?lMy}CMqBrWL&CFU2NZvc@wcG{E#-}tF3KWVg!vB#M!tW^q-1I zw6MxA$1iPA128D7xq2tGPuzQ1vGip^c$k%wZ1%q&+-lB7Rr(LCtWH(nd!b!N8)CVo z6>;Wlf(EHKzr5kkCy+#H^tr}&ioSk^Fb&_#)t^xfYa7v}Y-OT(7GHGyq^yh;MV39} z1VlE#GxJ`$RKlYFhVNwZZ&OT~K)#q)_2%&H?`=vaZ4$^MC!syj<#_Ut+I0QzG1zP? zMS6NWW$PKZU@2sUFGEt*d7R9c72}-@D}3)h;B<}Pq!|6gVYG5{6P3!Zs%E>rUrYf$ zlqku7*{)r6jls1E`Rar^08@VeuAv`&Tjss?!R;^fjRt8oB3z^yBlRR46WAEJYjKeIaMx*7A=IWBHCUs!>TlWsE7}9T{MxOEHj~|^ya$0Aj0@dY z@^RhMW_cU(gfQOEHqS3v(?wcg5mIe?(aAwVwlY{ZhivI`@GSP;z5%aW1o@SlULNof zJMxRo-QN-+?Eo`YvQAz6=7+YHPw<$7gd{2}Wyug}F|Y!JdM;gy)ppj1!PyKqaC;^2 zr+A_T98E0Et2T44WwKslLLL^!I@<(9bO7}Cc<$TyJ(0=O%hTv?e@W6R)qGbm7O!{7 z<(K!9%iGtjlO}Su;`9HuXVUoTBh#hoFB0*QmqvQJ$>aXBi4$Ab8Dh8@ZPFlgN(PdU z;r)2^4LQ20;j>$?`qFAyj>H^GCUXAPw~UGjxdD{r^Xwpc>WbMM`iU)Cq_J({HKOxj zNR?e*EKp|XpB^X{C0E5ZH|}+&?@fIH-tJUdJcYRm6k1Z5{k^5$JHMC@FMxqFhz!d;XB=jCbKRm2^;iv4oF3x^$)bQ@-Ii(|$?Ac#pBx*TXKQ zB};d{F8{ZE(=9@S+5Cwb_0@An(rLP$>Mq-qi8D~~4WLYh7#pEhiDXo)ZfCG?974CX-X>y==yNcSVzp8eVRN)>gYMi!@HbHNw z-mc%We<&IXU#;Ej-lInB6t(BgtC5q?v*QmOsVPBPn0;WxHTSsHUq>e{yLNlGt887F z65`UAYc*Mc6=p_tR4hS;G^DHs`-#`DxeA_<@B|neZV%cvH`EdX7az?^x}$9-2RZUO zNx=6|`r$?&*s_AwJ<4`6xhkIPSqwtkNL|Y(TMFV{sah2(n*aCbmz#^%x6Uw?yN!Wn zPP^6d#Kby#7@zBqwSF5JFaLk+iTiuaUlQxFOd-&s;ZpN)xe1Yyu80J0#zL(j2f^K( z{6ap08|#Vk6o7Oo-gcJBtH}!+%Gl#dmU$ZZKYGDpPUH@v=fR60+o|9p#Qw0(>mE7s zm*Jvqr}v8v72T+cIcPX!i7r0azW7XyHkb4u@IfW;sy6nqyl{C5KWX#vC1cHLH>pmklG@QCDPGxBInvP%A6ec&;yID(f(KCy7` zZ})WFt}u`T)|03vzd>lA93h-f3&~#MX0!w(uxEzCQxuoDA)z<;{jCk>5pC+&BhdY` zzoHf%l9W5nH+{YyueEF-?)u3*Tptqk)95HHxkoMeMC!VPkJTEY0yEbjG;QD0#umnJ z3sK5O?XI$O5URRu0QKCbLeuxa0;{SMP$h$|vEZD@E^hm2vpwp+vpL%>r7EhAVnz$B z+I9?lvwH|2DPK>XFR6R3e=qVZXLm<7)oZR!Cnzpr=W6dnJQ7gpF*=EqVt3r2=o9W# zWLLtwHzn6BQ)5RlN9R5c(rb01gqo#Z`Xk zKo=URVl~!NA~e_IJFlScB}bq$dS>xKJw_|-2n<^f~XVmH$*J5;um z>*u*72`IPo9C7K3FQ~~u@XKIZ8Fq$T8s&EtbU8hNC_GoTTw5M@=s$22*0aZQ>0M#j zzl$UBSrfqaTGJGrwd-1uUcHfOL6rqY9}4ulB);*!3&R>;{Xa}J-ouuC8_G(K12R$(-rma!_@t&iwF2w6XAy69$IgUF?wA$X4FO{iCG~t z+~TZ~dVwphk1T}|Ut0cxZc5NMhu1^1u^{m2B>I6jhHZXEBA$rdps;jq0T}| z5xYD^7eF>I=p^#$E^YkPaGkbnjgw%T1qaX4v#T)4CSCw|gnt(8Taebjkl7^WOjXp) zk?=ut-shrKq!uqedge>k4&S`2Y{cb9rnlO4R|+bf+8QW^$z9iI&Z1VScZqHCV&NVD z-+;d;S9|5TmlCOABMY|AA;^^r)794sS6{QG1A3k%tK%;j%5+M#ZWbVB5*)^qe^`M{Hf5^tgA3^N`@Q?=1a(3bR0;tDzqP+v8PhF!^3l|EX3q8Z` zigPF)Gl1~WNG$i4A?DxwIbw3x2+I;W^|epWdT#4N@DUbhV6mtnnwuQEz&Yv{jzMk4 zYP)HO-{bxfyV+){qNP-ABTQJhOYF4b4Qed3LzF!AkWFO`lhgT(`-~@_BRs48?N<&5 z9o?Es$#)TfYz@laJij|c7=%S1qg^cp2k#@;@ucKMtw=(8|B4(hW%ExS=oQ*dG2RLx zYkW38s?8v2eP=Aw=szvY=5f1tY6G_(_(=lv*};f^ zzcbfus)P$U=QIrNke{O(O?G9pcXk)J{Izo7r}VIDbSjbI5B_TiU;bAwboDjMX}zWD z71c3-&*O7c5!gO`3ygZ!eP!21+@^0;n^2FFrpK^kY^i{uEn_)9gpj5Cr80rmJJoj@ zqTq7oX6Frr!og=Tc@m_M%He=~gy+_7m%j&b&*E1?3zM~#7OOhf^n;+7Y5BZ~l70!FkWC4i-CR=s zK^MJy&sHhphU_=tY55@wcnaomDuGNEseyQf%I{|@rdL}Fd4R)tD6+;k#uGBvm z;m>d5YnHCgK(zbh>?^7TYZtM(4;_9_j`xp9+O?xsh$Z7x)ziaEr8|2*4Js%lfM43y zHk|aW?YUS><(FBOkN>D!Ju=Q*GIzBc06QRN3ir^D6?B^S|6BSZ)a*U!Gh!vuUpPrd zzxolg${{BQ$-!?IOGJ@M2iMQ6?|VdkGodPe-MfrCPNGRTv=y~fuS9z}{15{{ZhKSA zIB#EA3R4<(G_o}+4Wr$e*3A2L$twe8(BB*nXnK{?hKYF8zk7QH?&(~)CqbsnHov&F zv{P@2*TKFIUW<3#-5(+=5)lKXydG26zoBS-#AU1mYjSEd&ucu$UxxUUNMx%7HaiJk zglEeA{59h7%51Sbb5UNS2q5vRQL+4(I)>{hQJsM(>p43(cLyg?M8bXJ8@BzY6^h%8 z1B`J|RY+M{ewd@2&bIqwh`fDqNx{$I-Hv`6Rp=r4?AIorJ1!%qEEQPh ztjN1r%)--+@nSv2imNj0`QxE-{IjOz@dA|lQfxaBiVmn0#?}YzhV!raO*EX6Z92_~ zm+7WxvbB))4!xmHW{KNM^R0>5N<~2jLpzK)#_ZoRex|{cLUIO-vl2o+KK;Sq@H$;M z91wrTQj$uavCZo>*$uT~st$}Ib^YOnA`h1y08V${N(rmm(xEW48y(0_r}aOBPDvJe zOo#$>EdMJEE{#-6cwriTG=OSOb*tMKFr}LCOOx9fua3~(x`k8V`rlzMJ@Avdt{|2P zy!d}2M@l;CZRO6MXkG`ok6(@!yn|;h8jk4P(+@L=03&?788wl;q5n;c_P0%xn~wpc zn9_|}=dg(Y(3nGI`%5#L^!U=l=rU~d@tqfWb+_*s>2h4YPrJOC$WGpAd(_q!5PZL; zj~AJW%4oI0GzNYsimmlo&>f3-$~bIGAWxCiV0Owk3rnmkAG%Y*n4JXP{PXe!A8PJ< zB*_yizTMnRefwZD8N7#P*_MVo6va9_G6^hZurvsq?CgoWrozbUmXus$iHNL-!;9AK z(9~#ka`joyC#7uM$&wDSfV_+c*|k?#wYF%_~?Y~!)@kjlM4PzrS6DEj|nrmrH)e*X0Xsyi;mum_eo-sj#xHibA zFSxfr!T9uF3TQos`Leml3j(MEwzf!t#c^E6+^FgE2`op}L2*a2A=_~&k=P-*$QP4R zsAa&VI=3^n)o9n8T(JMO+^)z7f&oMJ@c{nR4c1KZJ7sDqd)LwruzC_d zsdR^(!&b5JnJZB_O-ZYP@)F(7PhVD_*fHHS`}#ecMZ1HYv0t%<>v4|0vuNYra_`2K z8rl`lp>*)##nzL#y`?+;_> z3ZUZ#nG%I_TnzERMp7b4q$fHVLY)m1<0=;~iM6P6lJNJFtVrG0>9pJY)JbQT%iyx? z_Ez38tYoxap?Y?w$T^D29^^DEiC?KrrG}$(o?shZX zJ_2xZ1A)m19M|P<2KOSgwqCa+cng)}D4jZ;-~1Iv-)zRP2BC@`FK|Jxavhy*VBqskzF zr_Q0sc&IE%Wyw9J?H?DJ_U8Ms!~n$ zo$<*3ayyPiASY;tDi$Jy&Czv$26)pWzwQnDF#ng_s+8&ZYJLc^H>8++27v4_@~@f* z$u8MK|?}*|k`XdkH_(m2ei*b}~VX`qkaYpOd>4l#g)MsJ>iiUSZO0e0$RD z!+BCO;s4~PqQy^|zq*dYzmNUHEyzlg=fN1J4I&{VPkG#V9fBswzb-AHy_Y42eyTOF zR;a~^AG_&Cb}bNkKrzbt7QEGm^RBb&yqyvH(xde&1(`vj2><+@_Ief#T#hunHc&jM zA_=wB+%DI6Zlevv{yaLb*YryNB=tFOQv$uMz8)WN4W;J0H}HoXCvRH^eZoLGBbvTr zN;ce*-hoQVOf^}U-TIY)X-nhjUv-K9(aF%pYVcwtJr7)#wvXbm^m9|j%+B1?(cDRuwWF+)$ z;W%g9;f7m3zrW%0d3@fl&-?v)JzwN$yY1UDt^N2gk}U__>X3j_fZ`4Ru5xg!luI3eCDuf%`U(Vn1Yg3MpDWPC!X3$4CWYB28I{T9p*jWRl$KQY3O zi5BCMu>Co|`WuVMKc^~f_MzEKkFUCDC0UIf8+PKAP|5|4Cgn6qet}{ew&zG-mc@TDa{tIB`HHJt-^BienId2Cg zT291MJxVrJtFNjlD-@;v4KZ=^+_}&amWu<>M3BIJIrVcxGC7L>;dx{yuLL|rMM28a zu7ElcKq)cNz`>5EWv(`8yn~;EEJg+}JBWQuXPw*(x28!t^7<++bF0ygL1*8f6nAUt zl3jTjf7N~9^vy>O4q?85d(;R@bXKJK5%gcDP}gns29L-4i2GVzhsR@a)d*a)__7Gs zm`*U6Q%uFL{HtpbifvtFeRt!R+5Uo1Fe}N&{+F@shkQu$%8GknfC~)}^gCM{Cm&Vb ze4r7iZE53wqmg=P?p2!BoGxW2#G`AT&|PBf9Z-E6Qn>wbM5^O7_ybDU5!_}A2ZVv$ zzeDt7U?$w^bSKZd3*I!HQh%5MT;5%hK=YJ zw~$_@>ziK4xVC!>>u99WG&QMXte*h=aPU^FzZse1UVR~OZB+>9=Ov)PNtZfvDlyt!XEyG>KO<9)hzmUwl5BF*(# zNF~=;Y?wUw0=PSe{|^uuj)MC*VoQPrXRFIM7c&<&E1Uv!R$2=7YrJmuk`QC3SX@>e zi<}xP6BheE?4Jn!rD!`9wu%o5VOejUZuqORbHg2}i2+U97+VLt3iP=1P&>!M$xz7W0Kh~zTG`0d9`-Sux zs}Id)XyFjJSyE8Zb%MGkVeR@&!gYhQ7cLzC74hvw!HKW)f+w$in!kUHxy8`lM!So1 z)GPglcEPC7O0tD}C4xHbE{i{b*dnSMw47zw&uDD>)HY#8oh|I9?ps4l=w6eh&z~ zu3qmC8C$@d!$sGIIbE&)BEqpO38r7?Exn2tTbnfUaa6MWHh_De` zC^990Q0vOQ+v;YqWeqT*s*eyBUm^Df{IS}eKL!QFJEwigM!AKvWT!7zu%rT7XV14R zV5tIru`r_D?Tg??x-^gLsH$;Y1swj1YLrsNtsy7*{qs)Bwk>l`Wr>LK?Br997adiY z**|8hgl=gh=gx6&NbAvaJ=jI<~GQP3i@xWqYG;+(Sm-@4YH~WOK8Fb&0`5365DX(9>nREVb*Q6 z9{})f^D+bH;0&(xlPsdory>rUGZpY!c_}LYPy(4{BKU#JJ|aka5SH<=1y$%7uD8@A z)Nzj7`q+WDx3l$a&;?PAeAVJ{gw(?I&|uEg29Y%}8i{>7L=$%k-|l=1$Im+JG@6yW z(XMSB)ZPA^P!=W)JB=tB;;;To1>V>Mx^ih}y@5@&2Ujv*Q)>!%Y@_s0rA#Eub^Ly( zZc?P`UpA`H=1ixJ=R#4%dVm>^5*~J7NH$B_-br91JCM$M)B11ZmsC7YHio-`30K!2 zdk;+Ndd^^l@Vz=$gt!M}WYl-Xx~7eufiw+0#|Bg6Z+EjnWnL&r&klW|dQ02`RKpGD zcaP7&D&U=r6<%Epwfmw(taO6A zEN>jc{wU{E0_NF-IlLGhEyI-DUMTIJSv|IY(mWy&mMZsl(}HA>gV zw$d`5R%NzlpdtFm`sn9$s|Ec$PsNq*v)p^pHik(+T0io#YU3X>+Y^x6mEF?9`i4nn zv;hPcI041G0cH--LDT%cMU*=s2yEzLrlw9; zy(^DMO;NWs^JDlT$wAAg<9nRx58`g zENmTzQ*C^zn)q%dl;MBdIjnA2ZmQw=v%L4dH14Qy%EX5D{MH<8pFHpRE)8cDg>D*2 z8;Mvfnpr46s;7w)l>(^qGo|sE8=m&)U2xF#9AZEa5wS%3M>wm2;~1s}9dvvi5)|#_ z>O#ULJuX2pGI^Cc%cs8Y$k?Z9;PENz!{9o;szGdr-GGyCYGT04t`ke&Qp(+0Tde3g zzbo=0R9B~lw#a)v``ysXyEnTU6{A)BKWB65&_4vhW2i3$M6GttLxkI?ys6z}T?xvF zIreL_&Xn4xNKE1CR1a{g)H(AmsZPK@!G={{`=MF+@c!O~tzJ#k9Am_MM;`z)o;l`yBJ&&Jq&yCcZZ1EE_Qmm;YHs3UmT0>m&^5Wlhh%L&Z3gzKUc zZ!9>hssmQoZQTO1&0@b5K@?RappUvH%DF3c0HxnA>h)oK%!Nz^jjUU+yHXDY0JCg- zp7Uh3RS+Zdh{I4F?wr%-p?ri|IC8$+&X5;Z-cur8So|jpQ`d{#?nE!j7;|~2q9vUt zp6p0scy^iPD~ne)p@~i5tJ{q5c)y`=mGcw)J4vw#u{ODBLeq?UrTb?*aD1$-JDhpD zXnb~rM3Q18UF>DFqsD}etn!$RES4%;~p4p?N(gK?w zNAkzHpt+4wp=esZtaxb^(4QTIaN}GBCMxmGAX+B1X{T7YpfM5m^ca@H?quPR1>nO) zq9lb>q52gM2+77T=`JsS*2BT{xybEB%(6+1QQFUIh@rps-B?c(?@<3rv1{yZAb&QM z$d&C3AOXjew3liEU!-AX3%a~xWiqc9WyBZQB?qnU0Zj|dL}as;gD^+T5tF2S+0nru zS#eR);BLx3=Rfb^V?!CG64=suesjZl7eeIOhFkLvj!DS^wU9xdvsxKaaoCqe8oA+> z=D!TrlKv>}_Vlw@-egd+Xv3jH`Cn1U7P+lnNJ+M?XG1{y6Qnce+7?DwxL#qJC})rPLw^Fc)Sd)|iw9~c)DG^{F^K> z{x0pVH@>#rJzRgX6cn|070I!43p_h{3;WxlD~*GKLPiSZ%_+ekA1-uJsxXxN*OqGT z;h+UJe17;~)*b>d;?!)g)r_v;oHbF{uhDV!9Q~n@h1F}O`TR}AnC;d*jvH5Yb|EAz z5ogsI7i)sv5Urs$58$gK8xpD+aLAx(HxIQ5mq6PwO4d+P^Lx1JPs?hcG>OJym>+C? zKy1faY+m;OYNtDQ5=x8rISMn#)Klp?u(!6iehtC7kMi3sw;;+CneQsK>|cfRKohYW z?pz+%#*mSnUSeFQo zAxUR1ARF?LhbgPgjPb!@ZwMVY&C?A$Z~Em7Xd%Zo#IE>u1C>B++qg(y)nf-2Z$2J+ zAy8C}{g4AUc91%xmVx?1=HOIn7w^tfFfAaMnVg>C-kiHuhdQ;{O;1uT#xePHqps~3 z%|yX3kh!yqAD`aDuSb5pR^OVH_Wpz&=^JkAHi~1s(j$C#;D~h9 ziS@Qy&{TB+U>y2QPHY89U}5|0N{mM%htG!f&nX-u46HLpu7@`n!e%!lcIL)Ga7FZo zU|Q4tDVQx%cMFd-MGml1uk+@-whjk+Y~NZ*@I0p$ivsV6`CNr2swALGCUbA_zCo)G zn$zV`GnJDz?>e3tT{26|d{RcDb+Y7_yFCCBW-KIc?jHjzyHFc41IhMN!{B3v!aq2Q>AI6bH2a*3jTN{hHH< z0T<3M)5daaYM}u6gRQX4BxXpD;7GNlb~?@F2Dc3%w#qrl)t9@pjlQ=Dguc_rMbx3M z7F`5}Bte)Bp10D5=w#}YqAFWvbbw0xh6ow2WjuDeYkeOzu+h3@)H$0+KAuf8^*D{) zb&eP9ozzEmSNC&6g&5qEhv+tD6YaxxO$*_{`Y*D7B@N-Z zXK-cl*F9qausq~0Y%4@>jEgt7eewd$EWq=OxTrMBQJ1JhdsN-!hhPWk^6y{&|oFyN1YpVK@8{rDtojQAGU)Tt4Wv4Z6@y zWf9)FRqo!>WBh?K@F9K<_!f{a5z=>|*OkXb?4l#5aVlX9b zgpVOV%S{?P#ZC?Q>Y0q4?BEjaeSb`XZP9dyzCn&`K;P_TGla~Wv!(f8RoZ_iI}J=d zw7%CZ(#O;2IEfKulU_Ok*E%C#hhwa_0@QwF5&Wtk0b{sf>l%>iKtrA>Ktb8JfU6I?T>+S})wmN@=y=y|L zYuj*`*HEyBqEg(BhAI2n{$J!t#0qGa?IBaAw^R4!rKJAvHM+D+*bC>KPl~NV_hoQu z^piBLiEpl%N{Qw--7|XLP(#FJ|R5&|c(GG%E}o5V2cyuzAyl zHf?^a4|??8nLmizU9d$S1vAd_e~FRN>;yr*mQW^#!D=17XI*pGawigVOv8aDG;tL! zPHR<2)Tmakpeyi40imG;errym$RO*#S_ZaFXs^Hd;NY=AyO`1<#-@?Whh5_58M@1$!=^u3G5FUYA@gF4O2LH>v5&h+-?#Ew3inz0`Fa z1EA-A&SK3qt2$BMCNgnMJxZ7D1zs?KzbB$yMxeh90ESx2-SWZ}DGDm~GednVncU2i zNK&%tet3}^VBtGPwsCVUQE4xmZ1@~nq^&1K+4+(#QNXhPF^~uJAl{VrO6!89RFrp2 z-0@t+G-$>kQCko&=7q)+vGW=B;^R@+H-8B5qfX(_rj>tv5s5nHf!CXLSea5%f ze-`oE9dfrnbA+tQS@2v#u_uh688t_-+IA3>zX>e}($hHVX%8&Z%dYXSQj51%eKz?l zfO`(~6=k!(IP*J6u@pxl#HsTmqZW72Ypgi}QGwpBVDz6%j}S^LIq3=vW6^bNk4u4i z@$rC#FfcU+xW`FzINq4^!z139e@`E&qKh{sqZ)N-H&$Xj@=j&G_gepfj_%vMx&8_E zuAfF0K;`F7#j7~SK_xVT@1BIa{xPe;~)3&(X&g-P>cAUOZ1o9AI;A}MH~SWpIy`7+jro1x_z8@>0zm6 z1@z0FkQD9Qx3J>JAxPoYZUbN9^aG$@bV$!Zt0&>e)DmDQdES+vjo!@9jZk39Xk%Tp zihdg{C891!^#DNo7n}wx#Z{{wO?##2b_F_w3G{teUy3#j?JpfyyWNUh53OK%fAxMJ zqKCNRI6d8|bR@H}!esEjcVE0`2HC<17BTh)0BqRS&P!T{H$7Y&Hp(ul3j=CdiR9(3 z*9T;phjI1^t4cF>`8(opE73}O4eXo}Z!34v0b^2vVDjQgPcdX7U{{k!vG0!8OA#TR zQKeUJ{#7*pTo|`>niD?wG5Ad+y3;HVW#MpUreJH7%V95)AOg;kio@0RH;=KD%ZHA5 zS5-PL!(>Ufp2@Kv%q?+-&UMo|GWxj1=ZebA-I32&yW&2)Xm&Wbka8}a2b&d%`86qG zKB1)WB49Kl=X61|3J~^B_Zv_CLqAwN{(b-&*WSl*`)-<-ROTJCF;E0P31R zNE$v$f%~FPgPcr4zSlYDgqVmG!fB!xUb#it;L>pK_A+nA2dYemXl~oTw2m=9LKG0p z#XdGycoE<(PQ`RxbT}_ocD9tZ=59%U#^%N?Y`%46|2+65UM0lPwADoZ+=>d#u)Fnn zvyk7&m5Zsn;-?p!U%vIS18+$7CVnJkr=LQ7)wXj;L4V1pbMP?U3`l`Vp-KxvWt^hV zkp6Z27p+2K&?0O$lgtIJC8^#$%E+wX>jzm17t<@lao)YMI2CQg<<<9F7dhQ#a8>?F zJNUM2=b|j(C=v2Z?hWFsIHx%zLZ&NmY**MBm{#A{f7b};!KKxja9JNb9@KGb4`r-z z#gTTYq!+`ZI;iaxMA!2Inqu`rpBxTuzoScB{wKMk7D-P#L_0i(8{^DvU9r&tq;9jQ zunnv6=@!E?f4OjD7y2Y1wx*fFjSOgLc1*S zz|O3+26M@O;AO?mt|0yIXRoyRf61o;{c<+pK%UP@01Xp~Armvqe8V_jZFqxBiZ~NB zanrQZF5lS0DdJATxqh=4^tI7ABdFy-E0*Q(L5WOL#dsUdo!cQx1;CSh?c`a!dobEm zf};5F$62_0S6FigZj#6wf-EsqFw5Dgc?K0}*omg~#T2+ZmVRHs)kg3Z;7>X2KXl5* z1ShBefVn{Qo|EX0R`wt6_fr*bCY&N1A);Nm%JMVCnUJP~CVi3WK#mg!`%Lsn3k|=t zczyp*9NXa|8z-$)6Q{d%eE&0Kwo(Efu=5TnJpIV-6S!(!J~S?Dfv&35;#e81%yD!^ zT?m>y;L1)Y@pAw>jO1?$p$>a1*}lKu!bEA>^Lp{MLC;Ee0cpj??3}W=a4j&2f9Z7& z1u%hBoWm?A927YrjerZhR>AcqEfH}N1)$I|cA^OTnxCA1*RE??-AE$BVZzU9ZX?nl zTXG_Yyz5;uldG?#gbgJ3fJ0hBXjymi^q{yIVPKUXcwyRfLpxR=Gg{W)uSD~`wFS;Q zQRvUTM|=9f0a$RP`7zO!M-pwKjuS>HQcXOOm@9#XcCsm)!^YvKFjBOsyWH9ps{P&e zn=>8+?_kko?!v$UU)L4`@PgJ<(3LJHm}hKtH%LJ6ED(W8Qv@4BNdiVUy@&Kh*iT#+ zAjGWwZ*!efziin{N~BNL5){04FwZV35w_-R?I4~*6{1h+P7m)>BG|TONZJvP#fz?( zUTC39euqA0Rgdy?;6XFylph~+F%02mv179pGxZeP$shuBD#S=9ibdkZZUd}jSWKOJ z*qTO8_zYt2T5)E^0Y51bML}%KHoP3YV`Nz+%OsZ*2two}&4+p_wbQLU;@FZ@b^mWL zRfFf&6}rJ&S`@mVQ>G8=Vz79@+&R<-qpm^FSMKGiO#j6iQ-;oay&TbTElmecKA3N* zCR#fY_+F;|YS$I?F_un=M;p1*0l@jN9r_eu=LWMt<$HoJxmRNNc0c54UhrIKuKZ?3 z`@9-DCWRUqx9K~ng?gy_$R&ujo0JRy*>Bx;%_uQyF?p`|3OW!3Oh(dv48TRy1RL74 zC~=UtI{Y(?IA5OTfg2U6l?KUk^u9%j^>*ZbYlQ008nNq>ZNWpg>Fn6Am9*|e3h7B{<7rT{3)f^RKD&Swxc`@d zxvINovQoW%E3-|;DK2CUny4zwi5%jq3$qKyn?Yc){yQFI?pKUBG%2*GzD@WcSko*A zUf?(0drh~SvEWx0_+?83^oQq)pS=gHo=tp}TTr>ucOg_n{!!GT!nev50xgo@+PJ;i zax3&@tjb;twi7*j1JZCXPqf{ANn3#AShya-)TB#S0JAnX*n)~h^|E(<@-k185ms3{ zP=_;1=V&%ETbwa=5w*zbA{32jQ~Ic(Nr|oqy}=&b$;!7|op>b>4b?T+< zymZ>v3aHHv42lowe$@I8%tDJE1{D^K_)XppD;t(2HQ!DaoZ$Aep@n36;%7IHk^Bqm z)eYv29X-C(LZ8{zY^!zY2A(&v&<7i6X;e*$XuONxMrVCmkxn&yR2-Co0LH^D&`t zcWbg%gy{HB^{c%0InYwg4on8a5Bbp^Od#4aLQEhI`Lu%Fluj84PjvB_J&0E6 zc7YkE3|i73q86Z#(gTYTzT3{o6P{!BS988!W#?Yh>v`Wf8U{g+6n?!Ca-?022K6me z{lZ1j=AQ(%v{PsdN$l(AT$8bpw7G%&Reiy#R@6iM_cs0F2Q06%?mp^lz@UeSBrLn zIk1=3axWW-^_vkPBIU5K3dUzrvUN;lRDas%MWT=Esz?{yok>(Xj4b1Lhh?B2NMWj^ zG(DAp6yDpC7op>Lms}dbi4>7L6uc$aDVW~FzPy>#-jgLJ+6DN>gT}Rkepj@O7Nu;o zJ9w3I!jC!_c1aCgTCg*8hP6Cm8}|!}ID$GDn7;uId=|5LvDLaEb-ASZ z$&PUrMd{J(xsBTwUpubp_`z0Fc7_`Bq#)iU=tZ8%y6Ns`TdmU55&^C|*GfCi{BhPL zt2uBT2-^i2&y%t<)P6R@9gd3MhC+=z?zcEyK=#92LH5V(PI|$mz$Y9pYh2dw zKGza9(hx&;?>u$;2$y2*C9P z0^ABCr@eps(HGh>Zn;s9==!m&uq0YfTq#P8#xblm#a}Czd4|ux+*Qy+>e|MzkMb?Q zR-iF`~_E#k( zUigjb_s?cWWl+k{x1dvy!*iM$YzNuUG>@)Vz3D#jrz+)Iy-$s{b%D0bm*TN!3(j%= zZ#>Us$De&{)rU6e6SO%oX%Q+>JTN@yS`Pl_-bW#u`Zb7l+;iCCSw4|zOVpw%dz^-8 z+GTu1Uznb=d&W!dvfc3k=LSD@3-~v5o`JD!^iog+=OC7sQ=K>)wodT~j~fb!Gw}%G zS(~u!tk-(+v{bF}ZLa#GHd$&{>z5dMW4rCsatBwbTQpVS4L^x3uuoIdc<_8g-(tL} zyFJ)w_FZD&@vW%w_{4dUX)fI;pE%l?sjD)i8v)UC%V&r1@>GH<9KgjDIS zcRSJ6loSQ<4egG^V zNWRR?j9{K^{wu`>ZFt9ubciS1h{0RZ!ByWa?=HAp$G7mUTC{}vmS%n0t;H@Y2;{S0 z<=%cKO8DD|4>K2-Cbm-Vo)o5|%;pY#4 zYt1hAjju`+n0~nRjBZ5dcGu(KF>03O1y{EDmJ%t60NkeQ5-;kT(p&#Zx=^(fQt6e) z@)^GRFf??2d(BOfKR}r)~juZM@ zhWI*y_As(THMW3Jyh|d-Lpp`XtckvzH*oGP!5RC6vGuzbc~g|DoxP&4-~rTn(tc!U z$IMEfV5UahxJ?bL+}0Pr`LLWq+7a+eA^8V%DeqK2JBX&Y(#fV9M8KDVk);eYNdRB} zJ<=d?Vx6!r2B&-@M|e#fMafirC6PQY?>47Mp+DqlOsldKc7l9=d_^B;aqE6o_sY@M zQBY9)Ci7;`1g>kRIWYs+d{h4J3;8a0Y>Zk=T-_44h~VUh?B!R;vghA6-iMhl)u?qc zojae9BYK*VZ7Bq?ox_uIsdiyCQ@e&0SCqr7q|H~LH- zAlAMCLv(Z1YBJgC)IE^VeM}9#+1$8vzVU;;L$*-oD{?peOeV14xse$+BZ}7{mrf?> zug^ZufsVQHz5PA^ot0qfoFB3YlT6DJO_yT}KMtZchgz+`T4j+j>Wk+B_D|6ZHpBO1 zcIqBkBTU4?7MK6~H{@DQiEJbI`V6LnlW6@-x6qQn)vw-91Zj(sJZK)LR6y=P7DYaw+52estT0wKCweM8n0SleNNBQb=E_M+cm;AO0Z@mUvH>aiY1DYN@Yn_nI=y)-GkuUi0Sd(5w~Ew_a~MBa+N;@idNB^;610-O zf8GD1=dOZZZ870I>Vz#kV@yo>a7tpqh?Hl&isq z4g`FOGE;%_{n90dI|{RP#RnQM{3r(_SHH)*!na*1>*!+Sg$w<)evZM2Kfsht>JC0} z;(Wu*Jq>L!YP^e6CdX)VjBTzWMXq%rOP)I_F5|^3_+B?;SxI|6^wz68Z24+lUXsBE zR5QJ9WDlbvLKZU2_IOY)Du<((MrVZ@VvOO6r3C|+HLJ0) zbfyHo&-yede)C+BTw=F)ClgGMxaiyd$8TT8!Sf5+)-zLiMUWG1hZlRt)Y-NrhGIat zw(Vpf*mhE47X3$0K>%GkK_%N#Owh%vnNieTj_U z&aD>Km^1#%BGL0ok&Xv1v;2Hf@sy^8Xm*9%qc54u!Das>L=sw$;7(Ov>PsT1eC9E- zP!pHr{))X(J~6qF^d}pVeZlhrW@{E$40pdg+w zv-1WNOmfS(q_;kysWfYfRA3Ej7EP*UFRS|O|3r0Ty5IJZmDaI#kPjniR@n);R}Eq1 za%=9+`&}G63f(4I;Lbu?HH!Qby}1au<17a&5=K1A*8X`$H3bNjDjj>CHL{U|?zhYi zi;3Uilv=J>106+av5}pVLF4j)ymkXIUdE=eal6S}q0iK=XC{uuNYFuy2YLYl`;YS! zHGF%HG5T0%8m&|UA{t(N9=`K%V6lO+nSupZ9at(i zD}94R6Pb97zq_klnfTdup!%77vnTCu)|>BJnp2Sv#K_jZ!_|{K@{1?t#4mei98xLx z-&OtOTl$(ozJ%&+7VRVoES=C5*`RC%q&ify3~DR6#_@(r=aCj%Plisj6W~7KAz98d zJr{GUEm56Wo7e*0MlY{WZ~k2i3`f^NnQEt9fXZj_r06)FW@e zsI#b~j$63?4XEMlzhxynST#yxE$dp>Iv!B>+F@z=-E)(z3}ufzh2gg0;G0UR%KQLX zMe>Cx&mB-~HgGdw-Uqq4L*x$b4~E?OtGy6!TGx=2t6ev#eI5Eq=i}xwM0tisxn~8P zjB{V|3ar%Z1dYEn#=Y^aWGGJ7TFzkZYk$}fF9_xdh#e3%woTzV=;{Xl;v<|5&nu&! ztwh)B==N*lKbum|<>Y5k{!?V0Rs3q_pL|f5kX3wKpYfDxh#0c{iNB%SZLW<*x1CgN z&c!gQnx@U@l8+}8i*B};+1;P%FQ>HR7#kXoO&;w#Ll=y+xm+*t0)WBdD7=H1-5tM1 zCge|UH^8=(wdAb(PZsGcf0FS!?#jN1_saymfOiGq&YZjSxSGL%bz3UJv-1l0aIhqC zSLKLJkCzify%bXGH&pE2BJXrVM(kFY*O5yv;2Ch4MiA5R&?tgc99p=5`egV1 zVRJrfnZICy&A$|dCdmUzg>G>VY9zH&MfX7#GlRl44Y!|FNI@AUo;(>4qZ#2v4(5#S zTW~(BxbGTnZr5Yp zYcxsE&3kabR_i%odW!D@5bksDu~=NumPcI?sRg+^VyblU_UEnTdXko-v~aMMqWBee z!eyI0#rM-e(Vg>7SeY-12fg%r@8``l+wczXB)>onP%PWRF5}vK+i57orxJp&=^!N5 z`~B7gRZlYQi)@vYcEy(>jAt&-+v1e<>aewV8&5~?{rJtZT%D0`AO{Wstl#ws%+$T_ zyk0lE+En4T;Gl`gJXt^4X?r=0HS~5)jZo^rW4ylm(4nF;_fajFWR(?*aKWYo+fl2} zw;#9~C=9+OkPSA^Pm4GjdvAv$+=ibg+b-8RS6;&Oss+dFy@~VS*lvVo%Hjk&S`h~o z%X(GPp!-?uG=Hx=Ch7;XZLG3WN7K64=$?^<;z8=>8@6uqq{UGeN7ji@^Sl9e5 z4T(eA^puhfmnmX*!>hIQ)?}vz&{(J45R#CLcA7 zf~VfdEgBQ3-%IzzS6sOj#sAx2KUTQIYr6(z&?$>tIZrpLIE{4t74ku$>sZ&2EDJav zEnxSJXRpapgmXW{+s))LH@1!Tcz#5sFB75IMGCJqnC33Um~|QNJu+l(5_IWCvD-8l zm~8FT=#tL-5iac5bnw2F1K&Au)q!Mz{hB7GjozN{SIV`fvzFl%Nt|IzH&=$>q! zY;cN6pTuf^T-Kdjm+S!*b0L{sZ}zIv9H4Xo4T3T$Yyu9TbX1^MGPM7pc6HxLs)jdSe>Z-w^E zF6hFuYI0^U(g%{y)PuyY=q71Pu8B3lrgUkGbK?Xa`tktf6h*CMa*C})IG6E!T;_E*BPufn zyzK+RKA1ZMzinNxTKh<%fjTw~9Tr8_bzVxq9Vrz(CnO{<=B;bH-c`u2(;$*~bkph{ zzv1=lI7Vysvzj8j_mm5GPG@WNt(%capRlN(I(Z3sjYg%c%Gu3M=9}segcaC&gkUYJ zElpj1>MC+g-abv3l2%T^w~`;s%(j?GT&xZ2oJ`SDKkS+Ha!YZKH*|Ja=DD6!rXv1Z zA`etI86^r#204hnIi2IWn`64+uO^GjYIg8E&ls@&LIKT{*XZuFwm7>Une(b}o0WITg+IuE-6<`#7(9?`>e8(FQ4 zSO6`)1)US>SBgt61< z*KE6K>~IIFEVNtMekWOV!TWo?Qp03$LEiW6a!Pu2ecUYSr?`@I)-SoJZumdr&Jm7R zINYProaGnLj2yQ;Xi?o^fB^=W?%lrgxxqfAV%-KEzHV(l(bT6#zSG+i(21Kt6KUug z&#J)kCdZu5+s|XkpbjbRD>I=fPK2!c?Ya&}t#74Py4Fo<*oe2QnX}wV!E?>yQYrva z@01i!N+MO?icBX#B1;A5WiF~0PHIHN8p}?%8ZqyRi_er!2$5H2jeQG@^U1aWM|6gv zKQQ52GAXhoN&%Vr&EH^j!gq+jWszzwYQW0R&`sMf@Jp85T_{TK<{|^^23%k9DzKfK zZGHTurHTI*c;^u0fP8iR7)K$i?JiJBA4%;+HDy{?5^Ygl#DB5#y)fbnQ zW;3CM7#>GEv-sYb)1ai}k%Cd=3$e|m?X^{+X#mf+U9Hkdh&Qi?jEam}ttN_UU)r4C z@WM{xAKWllPoF%yARzk3B3tLze03^0+4mV_Ksfi?+ z+m|o;)<;7sh$Bi9%vWN$^KNr*f|QOKn7M&au66aT^G}C%%Z+mu0_&NuN7gJ;ol$nO zEn^=u^9bZh+=V`g?h#{=k zO>bIJY{1&eMJ%VB3^QhYf%Z zJ58iMdz$0dsiFEsJZv3UH*H)PxBMv_r)D{R9ARg%HL;<)sj}o;2pOW*L=)s2jWzNi zdFe)Tl9U4pK{cs59f$BS$?!zFzjShQIse%~$^hmLT zzvn0@SDDnK>?}FLb)aoRL>8n0>}K3J5kVK9a4eP1$hY{tE^YDmRr(Wp0Vq^T?7Pxw(zKzI5Fta{^`#@RpA=vb=~Y;Hpd;4_odEX0@^LUeTpBUXi( zy4`HEdQC@>Slx~0VjaIc&+Ti0a2fEfT5=nxp^0&uDiJ%P`;`~!5uXcr?6X--bEb*<~prK6*4ot=s((?%aF+Edn%P+c=^IRVtz=eY;p4eJp^+%TF{PI!R0 znPBXhi6#My`eey6w!IkxW3JF&=Qhe7Ou$t80GfBx zs0SkHjg{lJ%6qsZm^7<#BcbjL@uICCcUo>%W#}uhxJhXV*A>BUcH!vP^Y0&*LOKRR z#!;Zsagoa4B{daw=MqL%uf#uhEPxFZgvG|qP&H$|wzxTnEVY`Y=uIf5o8k0@^XIRK z?;wLJ8CQ0cI__#%okSFKX%FIa$jxIr^Up-`{g`(t5=q9V?O^{(q!qSDg^&wJu^E+d z>|Z9HVqK~^_u`u=n*YwA3}RRK%ZQ8DB1uXsnVQu`Yl?vrrqWL*Q>K?vragwluO`UT z5qsgV*EwHxr2IdCAO@P~b7sRIH^W0G_(i(mf?XC&%dVPb&pbiqlhy4GX^ggRwxya- z-E@$}>_!&T6tVQz%xWdhPQFk$QY5n)n`nKR%`IEz?TCxTCOie~4ZV6hj3`Y%;=Fv$ z!z17kDzVA}O?QlHX>yis(*if2`Qg03%{I%JA-BwLc6s$HKX4(8@FCtUj* z4#Yt_F-GYV?%2>q-%ij~pti2Vbu$#emv=|2W%onNYcwr$BV{IfGzh6(VFJ`<$T(bg ze<%3)bpRl@06Ab)z&m@ZLO_dnIC(}`WIfTcQ}f1DS@G@HJ{sT7j3`l7)EK|B>CqFG6PX=3=XT1;Dg z!z&4`8#T*njv#OMW=b7p&9h%{<0<3i%UD1@mxM z2W2z9+X)F`42K@J{d?ua-DTF$CtyFg6I8zHhc7XrvGd+H{~kx4Vr$?NqLf~tHI+J2 z5nJi6!7>uvK`4Xl)d3!#18ZKqt}}L)#xl8ZL2K`FZQ!Irt5$u>gC;s7vV3VJ8bN+$tjsl~K&(R^wAmtA zH(6&Kuj@+hzZlVB=~NDp(qaP!M4?1wo@l3e$(+`PDx*QnfR4<7&R2-9`1?q96=djX z))g-aAujk_mSpBe5XRPR$H^-K@Yk%0yV{~MWKZpe+M3a9{R^8yFNwe}@q(EKF91D! z+1Kzy3D0ez@}UQ#)Omz&ag~$@{i|&N+4fuv6Ym}h_7p;&wK}ApJ5-z7j&N5`8`~`Le&1VV7fxSC z$tEn6mQ%_mdvWv7$j!Gl7lEJ9fAoThH-_Lz*eDK>fqckFzYbK3iWuXYF_dtoYUZX} z_s?#$h88twQlkeXs(~IkjjHf|j;o3H)^@UvZ&w=nA9pqOPZIc?Oum^5#=_!_-EHTt z#q7pgx1BtmZvG>#ust?M~ z5&f~YKF5*AXTHzEV9$rFcZ14(J%>STu^d>zyo5*HeCF<`U!BtXh%VzpPu~I;zYu33 z*l(q_F7T_l!*!~)#bvd36#QsaDeWjQ_LK&m8ydYXn6{jw=CKyccsolADAjH=r~|&^ z=z5;MkCDKgWUOF^RXk;Op{NgPw7jtH&2gU}!p z*5b@zsa3z_oV+@CKA^OE+JG*NmI`JxxI_;B&0@cFLM5@v>@?Su8D(njpq}q4{LIaH z2O--8;st%>t=wOOgXjEu5!gmEewG7FxVu&IeJ6_9gRg-;9SRr{R* z7MK|dm_IK=JIcgptw^a{e_NV4Cf{e%U>uUY{<%9VZyAww0%ew)n0_L+ZFWs&>6WwH zFfOm0qFxkr)F1vreAlK6CEt0;XXcA(P|(jv&euY_>%e)$fV1h1Nm^YZ;T${dcT7iv zVCNN>qv&L9$)O#G(TDmrvMav>%3*`g`!vBNN5W4m=L1hYoTotx@oFEsjB{ z)|oc6BSDm%sG@s~LF4VXxn1;Vx)4Elyokd@J~1FKA6w8b2GX9D*8Eo-2{P5TpNu|r z&glMjT=~#HrPN{X2?ID+*AQfdK5eRjmI}>gfggcVYd#NH-0sehuhe+_X)%4LksXb+@(hInwIY<(<; zJeRkSA_zC;=C#TN`;?|975an-e5}#dm5h;6TVFSg6*+$NS+%S}kJgcU2tv&25dT_C zf&u?LS#{WWf{7N;ZzH*^hu8+&D`WbN%N??p#l5Z>SoLzHuR&A&ggU-=>=c)0)Lq)C zZbPcomgK5E&gd9Q!o!MuVVS-mjV9201Xy^k5%mi^*g16Ok4>!il&rH{o$xB9$=OG3 zCC87WR{Iktrj#2jq&Z`pEh8kH8*En^GQwmR(vCmIyM(srv4;t!8W`pd`~3bxA~{*J z$2QdW-fD?V)yEw8hMLv*7f^GGQTXSvcBg?buf3gTrI+quR^4D#os+D1bBD6`1>RLj zj1-dS9tw4v7S-}C|Fq{+`zHktW%sq=zq6{&j=n{=AP_s-XxL6tzvZ~>^OkSBZp^rZ zHx)-d??@dAw8=)hN-ZAWT#Hr4*eI^1W7i_HCzwdfeo4^r`y=DQbs+NCZ~GMa`6fy} zBs;86Q%SW0IdK$0`RNig8T8g@BoFi=rO&BV z6|-%CG;%8<@rP=xg`ol40fnMsml=q0A;*)*@8C~ki;sYqqKCEW-|3YGkVgn7=pP$q>W&h>s`D{4?s{C_7;6$KufXp$P2TXUZzTIC29kaY zv+Hy>9{2!qI8T{kv!#Lmx;vK7ZHA!$8+E8~z;x;4^xQp!!;u4e`CeFMS#yh=M9+mj z1R<7hzDD72N^@hF5<{2npB-Marjiq8Cz>HmS_m7*dl6>?RQE>}XX ztqYY<`5|6o77-tWC%&+9Rd z8N6F;4?B%F;aN|=60F}YsGbc{Jt8so+b&pelJWA2QSi2mxpQwrEupjFew)C{J;L65SGYQ^{^y8RP1Vug3hZ z-0ujVec5Vx{X(LvR{o7Ir8NqA3+*IhIBCyvaB;~v=u6nAr1oW5@t4J(efwSWeE7piU%y$eU<%fBULNbq#MA0AM&`7Ao`OB?QvT_B@Yj=6+xHKaVE4 zy22woB=v&L^Kt`oDcl{OKtlJC`J(vXc|guMBnLK?)rTvyFTBbOXt7c(qa+O`Z*@q( zarW@Ia~*Rp=s=f?o1kUr&ld{e4XSxI0Q`Ay3EOGp&x^=)po4PaQPs_+aBj_g=pK*m zL;PQBC%I!f32TPsuP~7V-#=q6G9CT?4Gi@yL*COsW9Ju4^6ZrhAPn>N)lR3=EBndJ z-v-bqwEm}pJtUFGai})p4ySXV5Wfnpt*jyG2NAR45$61-uJl0%dQZhhHD70}>gz!D zM*Ffp?_qmfz0Gr3p6T6{yqMjgC9%U@6F-Hc%QmkxTvpF1Ee5d_+_~d#6ZtDcXh81) z%vvD(2Jl8D@L;U0tA)(IDsy$`lbs|AV`@wGxMw#q+egpJ~Zk{bfgotV@9rtJ`2j65r`YyVv;Kq zqx%)v6p=rj4xi29LkrT!OKl8nYOhxq#wjd&u1!#F5(;o?z_~0F$^!{QO3YH&`-;!d z#hF&Sp==hY2tFgT9&{faBaB=#blo!hNjW(-Rb5*~QK;xL;c=8`mu#bKB7o-*Q`<$LfUcWfk_WbR zlE>j3Z1}c5y`>K`sLla^+ow=qhxRb{O}Q8b4uY+vedQcoJqP_tZMr5v zVEBULO;O9cjJ_f@e=73}pUr355l%#yR%eEQu(0N=9@ld?7_lm)cBg0&Aez)-5su2z zWMY#4BN>^9!4pd3ia+eZKi8Y5zqurjFXWfN3LR180q`_SJ~}AL>mMj6rF}WPKt5v< zt#!;Gys*XsjIA`rUinY0T4pAnl5W+Km(|z=l0o9t(t|eI105d_pHo((5wta-OhpIM z%DSo(uJ`oNP@dM3bHJM}e+@B!oRe(rslLiFrq#w9!av+`(@IM$?xQ6`Ho>(`F)GPV zthU|QesDVM12Z}@yF6Afz}44jHW`1O8R0BTjf#s6JyyHt@Pc5*K5(WAtjun*# zDW=4r=8%@XKGeg!k^42QbaJu#q45?=2{K&-(`r7f1bLI0&lHYeGA0tRSmrQUnip`1~EE7g}?RO3O*q*lho%KbJw(K`^ zxJb&{sBf2a$`Z?E;F)3`@fhLF7@eJ8L~W8~V*oy5=mPmFDx z=C=*&W|1IBI+P@{@uRReVpQz1NBmaWar;FS&(sce1^-5Xcg0V8;)UJTyWj5gnH^+oc9K)HkQ^e0-U5%nr#7VeI{MICga!>QdQpvQ@6$Zdv#4gQQ{Kwa^GC z7N$HXUxW^eC-2$7=U=&6AyZjGo*Vxa$_iY%!~fk+QXPO`p1e19LTkTlwafL5A>;Dw z4_GWtI*hg95lrWII|&zwFX+|74D->gAg)SLL>vjjq@kUATG+L}>~kj5xiMKip03hg zKn~K2&vSz3H;?+hgtJfQgx3tf$5_KdeF7ErmJhmux8PJ{D%bBZKN>f4K<6zij=v5L zd%tgy{S;mPL$WLp%)gB>W=H-NPG>L;X(7VdY2R+ha*bib zk6_!+mTq^o7%gu>D;WELwJwV0T5QqGVU2@PJ?o!pBtHy(h=ls1LW7h$7!^B$uC^?@ zLMOyB`5{GjS0~2CXp~eDKiYP=T!urz5GxwBb=x9!QI8T1;g~nSnHb$tEy4|ONpsnM zHDEeSJ-IB=p6k+d?`N|Uf=Snl6p={x-c@wX_6uaYX0p$0y;O$%r~J~*$G;M!+x@EJ zGrpL=lF_?h!QWLkpYs5w0ZGjFwW?hyCAb(9x+S7G{$AJIk}Es9t_uqG0K2{YbT}{y zgu0@>icJbk$|2E(tp^|yWA$gE#?OPAHBKLEj@6TUY`O=HP8X_iFAf3*J0zG$vlCGs zV+rO2`exTa!?hX7h(j_fWHdl(qWfgMDU>%cigN9GS?mdEuUYIcO%xkW2`V%)WL zO)Uk<|5Yrqbm{y3#+ZLLi*kKYljjizVDHKNtYgE{vwGxLn{&^89_tUq5qAQ#K0(oJ zkxlvKJV0aX4@(e5(G8@QFu+19)$bV%a9nW+>9>V)Wx5U=eM@=4~nLhB2k zbk!Z!?N4$BE`T-keMv`TZO@Y{Z*4A(o@d*vu@gW%J)`88q|sLLCN#U&JZaI>S@H3i zO>TeI3*3e<)kI1wAx+o;}e70`Tx_#}&W`Z*k#B|^FVn*QocZCdNK6;w?VtW{nDUs@5GcV#?(=*zgx zvKnQ_2kK448VeEps_--V`wjdU2zEkEhk(3nOAR5gn?TU>q~|7*OzVsy1hg0 zs#Y#TAMiAE+oi}Er-9hz+7hy~W_4y}$avPgZBEyL4lw?*&Wlq+?Bkr(sH!?gFg~#t#z)MTjje5%{Ld8nk)dZgfEOQhmhy7Pua8n44xzZW=uhMxS zp;MvqIc|edI{ATbyJ%c$zdAg=GbiZD$PJ@$gC1SxH5bd@@xIO4t12VZyQfx5EB=P> zE-Xs7{&)@6tVA|J+XIw?X9I^V7%FgkFLcK#~U z5jW^Ver9jCpHuiET9>kq_f_atVNAdw4X#6tplRD!EtSImfccV{oTeIwpk1(2K?92A zPQh<|e-%bC0rj^7<$=H1y3ir5Me2J8&WD8i31)`>W>3>!Upx%??g$%i9OWR!KntBtlCcKF-v`{{ zZOzJ+e z6z;WLrSzjNbkW{%({cG-l?m&9UPb6&Y@p?yS=rFizoE#j4&`>|ouTnr#TdEV=WsMH zcJRPv7sLf~ZYodiH+jVUWKfm%pC2BP+18dUwDZ8_(Exd^l9p@R{ytd!=}rXGe$a_L z(nXs(2f_W=R)t>zvlESPMbQAbwOuJ5A2!hO{(+YN~NfzCK z-O0>+Ceh9QSkmbvESUAe_wuz^j;g07(E? zV8j_TC6PNj3yZA^w;j7Hy*}8%)Av0a<^;bvUi>K_3jHXdpL3U}P4kG2s}?B^SU$UV z=R%1?WH@&8T4wwvYDtowVK}CWR|ZO1*KYlJ`)K#CcEJTnIH znoe63q1ZNuvqdczFW^3r+TT>tDdHdpJkTlqejw-7r#XYi68V*gTUg_?(p;= z$h^_!?X8^hojyyk8y`))&x}|M@(owZ4Z<>`URGbE?(XDNJ`*zkQlt!siR%`cm+FFhf<>%kPPph5}P{U_3TNyQD zbCSKUI^T`a4``C)FIg>FwVflimd$d^vbqCBpO5R0{3C(xF1Psjq$^%V zBfG{iLU=r?Z_uOH(AvrDn@^hI=P!H9GDd;`)s9^= zD|*S)a#|=M^c~`)_zpi|uQ&wQ?$^eV+)5%jO)T4-Utu_TWy3v3-Lo38b3Q;{ok=Z- zeeC6OLg)im@OK5fz&to5FA+_TC!%V)H3`Yc-v<$AdVcmoUSVPVyfOMO5J!gzXnlW+4`kZ zcMTGK?2%@acPifY@%wVZSew{51_R?GRPj9td7T02TD2#<_!T@~r^}9c(eki`2ib~S zTr~)2lJVe#eLPtb9W`UP(Qo{~K$a6<0PQ;`UuXU+6Fk+Ap(Vna4Zd z7@aPh;J(T%a{`Pt8oV=X;XMjWpMJtNzE6AyyBT3iEw9W83YK`M>f?SJ8`8`^xD{Rz zXjC(V^XiM7=g!vwtNw<9&rt?eS&%dHg@b!GbaNfyNvrc}p(!=+v5HsHNmTm_X#r2d zv;DVw5<7JCd4<0AGSQ)Sq${i^dNi&Jr%8e$-Qa{mH8s8DXXG&Lc@#X-#Qiut!&d%ho+iTec<94ih-Y_4zEd{JdUM=VYBKiUA z$g+Tfx@kAMvQn$NG5udlGZDrDN z&)hm_a~J#Z#jfG1n-hY(I&D8OGs2IdYz+cLzw-K-?vcpV+jk#;o3;#pi{KmbJ5}f` z^jN*&%dUQX)CE^k+*^qAs)ulp^;|OZZKX^3fbgTh92fYxVMm3~YL%7dZo>L_I4lov zp7|;0yOCa;-|qrtrCH-hy_)`l<=tlGU+aDmJh z-sSj`YaTrg|HMv;O=zPPMJ0h z>KSskun8gjWuF)=+6M%P^CbF65D5DZ(q;Zi(h>pDYC=Qh$y_BBxSI7XXU+cvv9Nb5 zagQTB&`<}qsQVEnBtEF9W+^+%4;ifL`(15ST?`pKIJU<`G)HFXXGumtv1V|criYaX zZIdfs9lQAB(>1o(sw?1@dM(}4WiJ)CrRZDy(K~C;zOG8R42=JkSkY9@2Y$?o9`L=V zc**E?M(g;vH$tmg!6SX*DEGqRjmd7}$d@eJnOM34AhZ-K!bJiUYl84HF!~WMt1R=2 zTi}Y!@sIm(Gn6?G%|1uHW78&%RI6`^y1(NZ`ad{#Q?odMzI({~*T_dQ+x4>hsoV1+ z2c+*lZsGFd?D7_o+g71r39mDT6%1^vjz!%Cjz`X$UYDH(Rz=+)o8N5{Xau%b|4cyV zN33r;a5jf-AvUxlRK`43=|_2Qa{MYfoN{g1!&B_yyb@(KTc^?)jwQp$s4?m8yBig2 z_N7nKKoE(xO}YalXDiLv!ibFAG_9UB)Bn1DL8h!@#1^!lIhaeE=w*C)XjW=(!)Cba z>hF7CrwR5+6QNhmFh^xZ|2R%~w5()p5^UY}VINCnhC4y6OwAmnlui!@A^(bvb{@kG z(u>_DarY6TTBQ?9I05nV`x*G?ti@BtpL4n(zS2^uY1l0+V>G>Est>b#e+xvv?LE|^ zAz$M#b`6R2E=8Q@FQ#A7)JMywP16dWkWZ%ho%3ipxh*|A71Xhq@4(nM>`$*2% zAp6ehO1rQ&$a8F@ct+-QZH`X}Vz-bG^4TUsb&mK8`DyUDDoS13jN&0OwOh@4yse)* zV3oLrx#_wI_&}Ow)SQ~{iM;IGI0Jh0%9A>myL9-Vrv)0}zyE1CMHG-yTgO_)wa#r$ zx)btUQfgZq%C1RWz8x{6nsmso8y8nI36_ru6c{nQQlM*}N6m4xZU~vb;Sh$@HPBuQ zsgw*tW#BVmRQRgUdNupXQRm^z2)upL;88(#&^EPsDRI;|ym4q%6I66Vo^s>>>}_jS#+}vdIb9zuYr}s$XU;?| zGI<&v*phP60D2SqPz|hRhkZw`-7>C3GG6xg%40g$sWNfC%wGynJ4sgb@@lkuTm+;= z?^&%qp)9TLl7v{}+z~K{TL=nEQCb4aE!mblWrTXAnAOakbi-zAg!y7Y`rjKGWif+k z_4|ffwaqZnz@PXT-V&9{{le+pmcXs`-s(EKh-)$U(CES(Crfx@AqU95e8Jgpqnq4Jl^Nf^@Z3 zbwG9IX1?8WU8zq4#pCARZQ6MlGe9lO_oN>E+2Q}@liltXnEe-hRaqScFp_W2|JgOh zu|sbgjaQLq*4z=@R6%Q zxzkq#;+V91+$!{Q-}B66VEK{NvJv2`??H-6?pm709iS0Q*U6|ZU!?)EalTtODlS6s zWaCrN%c-14!??&UyTDMC?);L&=H}em-+u>Yj3F0HxMp<=lN%Y!8~>~%_!@G)qdKm6 z0_p*GPCcml#FR!@LvG9^QbM}cB*!i!L8WLYs|Qwk6quGiW`|*78v1{TqI%!PvioI9 zjLPj@%i@;(OFl<9JE?qEDTz@;NchQ}6aI6VKwfficIzwr8uB*O2qyffI%)K4X!})E zDKfHLK2~}%qA(rdrK|y7PQ4LxaaKD@b9H5PvT%~qE??=)x!xDC{GJB<_2?n=k=mIB zt^(|gmPZyzL3b|n%@r$6r4|gioJ>pm?4EPU-Isd9_iLsq7b-)KUwNj@*htw&o|nep zA_uIEO6`50wX|m4p5_F>dUNfRmDc=zrLd>^arW`zmb!-fBM9-yb_1h7bRWB^>cv6q<+UAeF4W=@XH ziG~ek&Q!!{=V|-A44-{b+#H0h_;ao9j!BNTZ~mT^NC5b+f(8-fTn!pw)%6)%BAbT} zPo-hJ$2A-iuXz69EB_epu^wD~E~!vAyc~6)C3tW)Q2TBRCed9wN>C}%Gz~gXS7v$~ zAlEIKUkGPZ54)kDJ$4>yfUwtryCu3?<#z~zC`LlU4}1JFeDsVl=;WGoi7OM{17;Fi zm^GqY(mbqSC(lY7y7*4jA;7nj43wQEiWJqeoS-W*ARoIcwb;0~^y{czFw5VQVm#XYfq!A~aTkzt zH4WPQ3SxnA#KS#+0_2LWf6UlbcBfzmT$HGz5v6*aMx$eyHT#TqcxaJ6&qu47I&HEyC1h8)^9rR5nZ*Ks^ds(`k$jip;5}PLV*ec%TF)bE%JQKWk5V>Ge&mWF z4E{^T$jn)&vbnyihWfuM{zJvJJEe8NpOmH4ogRhX`VyL!Cnk~ug0s0cM8iOvY*&BS zdlDt;I2(W-$llkfCXe##m6l`G@PZ5(A9-Q&eic1y&k*M5An|oTsbhARId0+UY$V5- z-R^w$vYtft3E#GWAM&5ieo9)kcbV%3RdkW0nT?<6p^T(NWp`9V+eP|*()NKfRekOu zXkPe>J_^>cGV^?xk9a2Ukzzu#$(C^=U4r>4r$`cZR{u^lQY~WlB4TdIehHL!dONwKVE{%x8ZHlN{D(9hxx-GY(5{%obm$Des6o|W6rft`u4dsSA z%YP^^V{&xLifbY@B=qTp;>#8juMV-5MyQV#edwwBWcmzK^yhUrs8XzWPvnHnxJ{X= zXL>26FFj)L8F2W5r5Oc~Dt74(pMXXt&O{gX{_1(sG8j~*yUj6oPpy-fscvi@^1`f9 zM(!p|t4;?Xp4W-gp^UJ2y_G3U$I>PKfik~?ZtSNki;p>fbBg0N)5)%wB551)2t-*~ zwIl@lP=3VA)#oX8yDI<}s7M(7(_+OeY}l&i68c3Wj!+Wr`{U&+x|YJ>_DyDn@jadh zkXYkrl)Lt9p?-0S>k#pS04aaU?kytZXTMewIIYa~f$S%{GxXkDI}tFBnCskT6~GwU zVCLz@8(=NSlwvcefCr9&i`=$lbe#vsE0*nRpZ_sV#)mloFANOu`emXnR;#pM>ry@& z2QKOo=|$EVjojW_`6vs5p!GD$V{T+ozYzRz`g zrVl2R4%8h}AlQ@NciGqh78l&%2Ws323cNjyBWYdLG2>z^ZtoY{sKNum;%3;g8bd{s z375`wQLsb*GWd?(mMER^jd#D}G^6du|HDYYMbXs76h9WTb{J8?7i42fq4VNkVs?aX zsLTS%Uuiq#vQDVGrPJ(f-y>X;ilMs4?%LxEFy^Cx47fPg99)oTdSUPwt0T-Rs>j*) zuu?ZEZRR9pwTO|3S-7RwOeqCqj?cWstsUvexV3&mXvz3POEQ~N$;j_G=$2CcGwbb- z$sX;2b5U9F_5LUB%8`jRrwtcZJ5J7yH1z6PC?}^T6`=o;ytwW60TLFM92cqy_l9IT zcuSZSrAKD@Hc5w2MtR2H91qMN!g<#}pnC$~AJ}M5MjyhoH0VwDxRYc3)#NIeu_X3rTCOzD@IJS` zJry+TK&-P~vL6#QHFPfss3C|X`UuixAno4-NPBVYLyz95GJlGs!P?kF9RZTi$mh7g zFT_ELhg?1|ny>?M!DZmx!#Q4)gRx zPHOU9)LhsH>W9%CCR-hu#K=Hz-yfnICm6GKx=TJs&*sMfbYp_GZln|Ff<7)j?(xrb zzW&L>nThh=idti0-ARsWmP|MV%jdhrArnWZ#FjNEr)k~5XpO;V2zBkYE9FwjX(CB& z;rGAf+dR=BeBOx!%x$T|cSi}17aLfp2-@)P+jt7ov!MaJrc_Lp(3 zK~`Y$BU-tD@dtkK0qya5qoVft#+D*4e^GMJxxwS->IV?``}6_VTtWR61|bX!Z?fCU zTQ7B1p0&(yoT?Q*RPY28UjrOgTtnlrKK5fLAiIr_S=+uV{^2&h#Ew?-SFxh-YIs36 zvVpZZ!@N3QR>+TozcPWh zF+by$b5s|ewX0?3N7c{HcK8U3mS5fL_T`tg!Ecpa>H!OOn^0-oeDVC z;Sw0Z;UTt+?LHrW+-Z0z`3^=>#1=KSf)o2~Upn}AhTn#DRGCAE&d2VV@x_s8xpfxk zv{mT9bSrUvVkFI0nftc4-AuLhy+Ux{N8hf+@*HDVCqD>5f-#z$%P+9@JNNWTSX4!% z=~u_e-OQ-Z53?~^Nz3}S4U>Xe`@}mwdr?=F0=>|+*+b8$vG3z58Gr0jdHdot+U;fw z6fa}Tv-P}M-$ah1@b`L9zdB z^zo`{WHh1ST3}lm;dOEX{Lu;8@TNHY;Ag>8boEoFOrZ3$^g6tyGs!nyEQ@X&w1QfW z4?G5hgn{#2wz)>`w6kN-+bh@m20M}i4nZTo+N<+2RZRUdy9s5EtDb{) zak=#u!=B&@lh&!wtuGoB;^w%u9(t%+2|zmDAA}(yC|OMvxWRjs^q^<$Y-#1X*tK^W zMdq;m)L6=rUIZZQ`dsJIU(wAeZRoYC+c)Xyb3C9C@;&*=qikzC?LO#$Tqh@||E-v6 zU38XX<*Ugc><0JA=V8}QTwj#R5b4_u|Gk524!SyGVowRt=65oH` zFkK!=j)%Rti^Um?o+M7WZjV4Pfkt+fSrm{@xdy=Tc(;>I?8-X^UBd7WGOrwMk0D~_ zb4<2}MAdONJlFni-3@GwR=(Qdj0F|Roc6jajEo0quXH81Pt69+@mD({{=*tMc&CFA z7Y#~l2KW^1Hd*5Z(B>Q=EQB>Qvqg6RAGYnQhzkRpw%u-dLAPx$|5tO-xRZN)qh%6w z#HIFqx+BA~`#o;PE?jWP7tP}ggLohNpk0z8&pM)T0^#>1#CKrk_GeZpzxup;{jdVJ5b z>joNSH9-dwUY*;fWRB`rjS_~qqln5sW~m%g%4i_ceXCd`C-{$9jim_0B_2=7ab?|2 zf>AXZ@sSg1HMgtfcieiXR_2$_?N7vSteBl{^>$q9|BHRSo0z~w!KBcV`KMj*@$nBeeeW@_oc@Qxs{1wSZPMX)F%M3fLs z#ygfD&iem;z4zU%v`MJhR!L0Kk>{t(|Gad)`0Qfbes^r~O=~^xI^DQ43tv=RZd$v$ z_YXr(HGLX}#!vEs2sFJ+sPGEO2u!27KnAz;Ax|AVZNap3c*Sy7gHdh?D;6+xD@x^9 z;>5q1+0?MY;=<=Ckqg)9?PRNk^r>350d%9w+lz$Jrj?X)nMja z^U_ZFN}B3xUt(RnEU~>0))uq5^p!w69;~{z^_At4Q!tHoC&$s$bwfJi#b341n9oNd z_u#BL>#Hm3V+u~@3DrR_D;M7RDQPIGD1`Z)uPKQdGTcfS=WX)A>Lkxh3ohSm%QdKH zZ{1gjJW{C-QvPYxxsnB`kDI8nswszhDm%xwMHLf1uC-WRCDovIY&L*d_Dh7~Fo(Ik zBsLqD${f|j!Y@mkP6>L}%W0c+-#sT!Z@ogUh_QWCCbt9HM;SRO6nkR)gjSUba_xnxydiR&TUk;@*r(}q(^--ZK4sK;lB!18lL_8 zj~G&<8Je5{%|#Y~InZy5Qbf0dzEH_LJa2afLxtzmL#&oxKVK57_4%|CH;ZZ0?wHv& zsu8?suD+Vh2U3+Ezm76YPtX{+Irw%bSz|_Q@>b}8_n4KnTW~x_|6-IzlT=-MbM(lf z)pi2z6R$5?6}BVzd}!TX{I8VimNu!#T@lc$#)D?z0L>A_jIeP(yssyA)bG|)m{#j( z7Q)W9DoCr2x2sxs7Gl0ekqo8vbcPY+CMQgG@f$#l#MH1ToQG_O?^|@pNuV zz;0Hd@98hbp~=cOCV{fq)Ofe!&$f4_@c!bDON?=A=FoX9vm7JmzKyo1;YH~!3{|am zfAZjbf(L3nC)F$xjvSlis^G83))@SDor42>-(tU|=*k5*_o)ZjW;ga*k$|qbLg9ax zo(5pThiVkKx+p4YN}UpCcDhcd)utWnI^A9UzJ96nRF2CT+*F;;;QJM0+s2v^I#a@m zsXc4Px*T!Wc#liJT8YN+O53<01s{4OYI=V5M+t)NH16NCBV+g*$Ja3nB|402NJh+N z2TFTMk&|<8;jKdD<_dsdbuSEL5r*Yy!zW!?<^Jkpa7fkoIR-~A) z(szq5N5AZW|J0l%s)ho-2JQ2^I6@`zPd_5BZBGt0Tdp_CseASE)PheL9}%{cQ+>-m zS-u7PClg)Ik6X)5KrI%OU}uyCc3pJ4_Py+K?Jl_Or=^JR4JY6fm9o0c@BULJ5#ury zNcLP$D#sVQzm@11kTfaX!*`-LobB-kCeonSq47y+R^}StwY$T7PfN?sB9MrC6y&;HRxZ+`?fU~by~=8#gTsN+z`{m;CRkTXzb9$zH%wEbDSZB; zYkYH|tMXtMJns-nyPqp(!7N_=PD(<;qHhGFg47?$O0FTz2lst9p+3{{4|crmwu0go z-ao3GKM|6Y$NF5jx~7pMmb^&5&|J9~J^gp+zv=Oif;9~Jp3a1Qpx+L%TIQk-i@83r z!%mG=SBQzpDXgw6c+CP^wT#gYk$?`DSc#j|8s})fI_vcl!MRA4?NZA(+7pP^Bx=E9DkNFJrC0IP_O2oVD0!w-;}|UCu_l6 zyiG0p*of-hN2PM&6^Ku!gkYH+kGCIgzqXlo+Fa~Yr*-ZeT8jqgmQ;R(x>h51%n}?P zIJj2MEdEilJA37DFiuY)Q) zw(F&cU_PA5Nue+%Z&dVsfyu1#zi)EB&+^n~ZzO5Hh6MJ~kSd|VK%Wxd$<sxHAoc1lJ)&u2>@=Ne2>&o4?r8jvId^Tb*$*0#pp1tCpw}*D|88 zsssJ#`J4Im%9o5?s@$c9;w~q2>c!@m++ps2x{5eE5+o0sK|e`bJMV-Px0O0%JyAOz zrfx*>^qeyz7c>_KwF)hlv;FQAP98F=MApeRgQX@e6KE;?{H=zo(?#j*CQd&?ZPU}) zf_c7(G@w`FrZ4ytQpLIm@Q8S@y^);Cda!b2#kC2gddm@EE0QIXKkh|25XWvU4I=z9HVril-Ru!4gUKYG;%hIR#T_4L& z39~oS5PR4iYkMo!IBDdz>1J%IsUPR5HF|fL9$h*Lv&mYCzbtpa*m7a$E5X|wnekdi z$;38R-{#;WR(gS^r32SHf%7*ur0Ds`4R*i_p)|ecLmL#9oV1^olvD>SarNYLVf2?C zztzlH{}658iHUzOw&H81UJ8WJG(=xv4NjU(bvQN{;k? zoO}roIu-`4l`sOXv&YnfZn{z^CjQ|I2K2MW^SIRVL1O0LP@||8{PdW*M^ODc)d9EQ z{d84o#DAgB->`Ru7c0~OL0f{H;APK-5zP`7koTE}>|BLi=kA3s%b%MKPAJ2zzO6;x z8BDG`qM40ac*v;vJ>It}u#zx0ANx?B!{n?Rq!mSuk0!EN^x z6}(&dw#ST~%T|dB$zcT3oe({LZVr~1J-CE@0?r?9l=~SUb)Nq!%Q=jTuV#MPeA!lW zkGALQ(a`DE)V>yH7g8Ij1$!GICQ%NB#U}VAj4Q6Ht0-#VkE_96xv_qJ`OW#Dy}~}) zi){TD)1Pc=vI{Tc<#!j{dgJ)bmdfMtZVepBObS|GtLz#eD}I%i_2B?JH7J+bL|y;k zF;^fnL4g`eNFH17xMF*|5Na`bfi|pPROP@{rUQ*r9yaKy)4G>VI2#$nOvdJDNE!ed zV+l?*o#4fK;pETvG>S3C57{{oBaPo&Tz}BRtH9xrZAJx^Rt74mSzi(3E}ug9H;mth zkuF9!04|qkWJ6PHz#pI!6Q{CYC7J$y-&)jzN_UNrbUXB=mb{xC)HRaV8x31{6vtB6 z>u#=wDK?{Ur$|X_pG^5Sm!DsdZ;;!#wW3O%{+-IP0{mE1auNcrLjDRLCq<_4uCqFP zHKPJ$Zn6Gtf+lpkWVSlZ)Pqi`o{x}ABMIEj=jXBB7dWANYEkb507KDoi}Pk=X?T|) z+}hLi(4{y52h<*!!<@-(6@DshGy!zC7< zr_@)ezUFyeiU~O#)H~Jz1rMDyu2@ky(zRRL1Ey82B0r+BJfCVN!L`Vl|11$Er+S5q zqFL-aGo&*lSGani%3z=bqGF*s21KcwzEmaNdT2sp9n1pQHotJ+oIo9jGPxYO>RWv; z_{-U9a&MIu0 z{}R|;(vY8=4Ps5aauD{963%9%t>kC{*Gmp- zIo4MCg`_d@ceHWHhk%$xKeDRHl?_1*$sDrfc5~tLf#iarzyn5X3xt0QtZ+;763e?? z#eH2Knqp|R@a+j@B_4Z3kQryO%`TJ_xp-;Y)2;4M1xXX`OaJJJw;C@7+2zi5l(rhr zXY|*DJIG~+lou=)NK^5Gia94H_RgSb^z18VVP@~S0+0KiYYk{_*6=~s_2WDJ_o}bnt`y=Z>nA=MSd@ae5zND+7Y2=nmlfj>??Y5A5Vqf3=i-T zwY#Q(KBq`FvV??BQfYp(Sw3XaUc$w}piOfVpAzViq8H3zTgYmH%PAHGp*iwn5>8b~ zOM<(tml&`ld9mzyOsZ+st-4iE_8MO-8`iQ{YaRN?ai`6M%U*yNkXf+aYqNd>=syd3 z-6qs-CYhZg{aBXtzFWeRGv7X?Y|Q96tykha5qDQi1j;&xso5Gz zGqP7CBp+fwe+=su*3KE}286AgGKK&B`QDeJBzR0O;@@7*u2X%3op7Pfr!sPhdtMyO z0MoW3Rw{W5Jk!4N2;2SOHa`e_jSY-!VEAG_F?mn&Vur%^^4V0foKQc$6C9Q2N#ik({{vsM-a}ZuV~5$SZ`)q8m{A?tzjJm> zon|18WDoV%=>WKs{G)`<4DF@Z#P@Y#kh-W9!y4KTl2$$M9z8wic(+O0puKvlpBB4b zFPu>OUvT~GOsNJ#*%Wc3U1f(*%Sl)t)z6~osswzAOsRe#_i5$%0kanuZbQcYqrCBZ zUne^V?}XDDt|mSa1ZdCI94`&=6b9rd9*e+=mn@n}dM=~Xq10{X^+S|~1*4pWQNZJ1 zfeJIgXU@r32j&t~{0pN_QwkiXOr$a%C0OE@%4fjLKg7IUs;qrv;irOW8tlP_R>06p zHb`db5gOd>h`K|o`P2+{BVy4Ph9}P{$c5SNVu_F^9`&T*1C;kFJOZlni1w2ob+j99 zUm@Za%y)DZN@;3&2LKo*H2`K>E{A2enOzBo{_#|jeH0d7M;d0mgpv(!nHK46B;BN( zzLM1UkZtKUjBI{ko!H4L$C}s|ouJ~Ob0L_B>hO?H{#29TESkt<-Hdh}Ta|b3`@^xY z$Vr|u*;E|sS1%c=;?G4Lmjxgm`pZT)ybxU9m^O}4y<-E@z(E7Ty5%Qjzgm5Z+qAG& z9eO^nmsRoeKZF-Y8tW=t*IkoDaI@0lSQ9s7xyOCb-3=#HDhc zt+hwErAy&10%%%~YR;_LPb*Be#8&5e)}i=k0wsKvZEupksy38w8UXvpL)2)qqfY1j z*X^`7UQA}sJRkb`LOa6GHjM6F*@iFZ7JtMksC4qgUoqyA{?Zk4UjyCsc<)u6l6l;5 z_3$i6TvnA(DNx|jpl?zlogSiee1sDCHENhzcQTt17fk$co;$c`Ppeu9+6P@NIbQAZc9-iL#)KbQ;-M0yRcK- zhYdMSGjC5>J-Ko3RFF#N>^47Z%A!)Lw<_#i5-c>jh5Kr&f<}s#8z0+kiut&fbrQg~ zziqNBn@$COByNB6Cx!c^ukhyper#=q8p)(EEon(%gcaoOsp+hN`2qFZZZvWwdaYt2 zT;3fk+;oSxy@4Y2W%0%qlQj0f)UaCN1ISA-#Uf{-^20@`Zs;1L3k>;Q;y~ulXX#LK zgXL^^@fEY^@FBB9wR>C4wrah8VqbPv+5WXo4H>d1`9lCY$PHH9fp-NDe^EkO-u!Y$gBICLN*IKS?{!g%tVk#K&5; z_`OQR8E==B{n?9_Iwd^H#&S%{VuH)N8 ziMjCG@Tm!Jl}c?NYt!%Cu3e}-(ycsPjOj&GuqJ7o?Y0noKpL*n)2|iyX+>hc_74q# zn%TzxD7q3yrvLw6p(S@>xyzDIDME5?Dpw^`Do2irK4e0Tj9rf8rsfJFLK&$@E# zET1kQ_6oO89m6+xUs%Ze^p3FSfSTxvSQk864Dy2*sCQ{EMC)X*>vNj&l_+sKAuSqadNo>S&e-{ zq~x>pIMjH86Kvk;kqgxA>r2!J+3!LX@(AVdq=R%f$d_sKV}k#lzyA{Iu{}2pt#u^e zltOW8WMPg!-oNgGyG)Do(zMo70s76Fu=1;^3NaO<>9Pc#m~AyK#YQnL)~h+?@5|#I zM}L-z67HT4&M|IyeL@^=QsA}uWkHH_60pHNnT;Zh_W$DV)3bU62-MHa)JN=1G-of_ zJ5Kgu1r9Bk>!9Vo{5*m0^|76^UV{C4t+{o)RFWKjy7fa%sIl;;_0st4@=PNN#M!g9 z-a6~w$qe{h27)RLdFk|M5gn2?Us0NUL=Fasy>TWjc6ESC(U72~^u8sj-Pdjn-cKA= z)#pSmmUl?}>-dyb;wTJa60HOEN2TI7w0|%?kWFpxINy=eYu}+iHihr0ArVG#di!UI z{tr1rZqNv0-N)7c9R{W9q=eAVdXZe1+gR@B;ssLVm_h4&V|C~z=h&+f6%Xs21*E-r zl0WnIn?>%TW=r>nFZ}#>z^6CI5Us{hA^lcos^Ggy-lBuE={NIY1;~V&^zA^g{R;`` zSGw&>{r({=qLrJBmeu3fjf`?_t;($lpGSmewaM^ZIvIr4*5KSg=Duz@2M}x0znKa7 zrJ&EbG!90P=|zUwf^58DN+J&YQV8&sny-4 zl|X4AK|#xT9@PLG)V7VmX&So4uHh6=ECLXF%9kn@>gC1+X9AH3wrvoj{!8Rv zl{m{Z=+i36t5p1#5LbRisNO`-H=8C{Fm10OVs@%u5LB%OiI;xvAihq|KOiNUSLmI3Re&v?mZ-UG#jVGlb6_L@Z`g*=r6 zd=Couc>CwU`*ZeNn49qtEl~?_<&#}T)h@i^wTg@HOLpOTAK_iryHqWj1()c9g0S|} z>RaBPE5?Vy!8VC8$SY1V>xR)1@a>OL!cVw~(%9V@`83r?6~R|y zJ7aAg5q5fa=95Yt!n)-j;A%q9xmCA2)x9%V95(jhzUBw$T4==Ek<^*DGT2Q*?8_{r zmK;?d)CH?BL!`KNuGpKr(Vj%vG};E;mTm~7H;bc~=GR73{CiJxi#dVOl7x9|9D+*8 z{!z4qu=ch~a(7_1&*#Jy+5U2BId@~2HkqOnh4Adh8%6`x31nsdz*?2Zi%O;=ZDU(> z*qQg1Hxt1LDWs7Kxw;1^%SQ)c;uj=j1V8XO{ z-uuGGdZ7u5Fw~16p__q`{h00OZ3qH?p~O;EZ-=GnNwyMluiZe8KuI>WQiYJ@v7Lz| z*ju%oF=XBJJ7)PSVPjJCV1Wbq1gVJCvmP`3GD^!|HGKmJN^}u+qISMY-Fh)KFm@5| zf$j!hHxnT?7a@fUC6+Q}6c*hjTzT0a*@?!+hNC)yBfsIWF-K~ivmN4N`~B9=<{8mq zl{Wu%S+btCr>Eq_=CAwJm2U+c+qzjH!5seOUlCK<(JLDfH4FJLt-tmXA=ovNSy~1Y z9-mxWou+*4=4SD>UM`?G`TwT7^F4KHwu1VJc#D}Tmg|Q5!ovL@hbCS5r77xk1)q(} zv{uVhfx*%}maQ*cK`4jD2ed?ijZX%8u22V^OW$%*V=#{Jjl0VOflgWi2KpSQIg_2+ zmI{~BLf4?TjuJ7xc8|9X#cEn3uH%2(4lPQZR21~kUB^`QvVjUL$6ggAW-rt!&}wky zMn7)2-HEETtA?^qkE8BWL3*`K#--}`^lf$9;>}wx?w%S;SSS6IUj7OGVRFC6BhqyX z&i69la91JAuzoxuZTg>9$=!Zm_Y#>FzK(;$57Xfr-&*qLv?d$^(gJs~t_`G{ESL5ML82Q(im1b{ zTQQa!4T;>97HUO#+^aI!JB9eOt2NoHSUB@`c0WD`cy>|++sMxmy!BN7>tE7i{V$?2 zcqe$BX22>NlN+t=Dnxuk>2D^rE?|J`5pgtb@R~{8qyBYMDH+w%(&MQv z)OC3ZU9!wpCM`dKD|hfxeQj5sxSbWep;Yh7MNOnSwQRQhHD{0Vx4-+wQew#k5C6bp z2R4r6q3Zn622 zEy6#w55l@P%n16EkJ6`{jD7yUdWiXxW_7RO+X=Xs8hOrJL`MFQ>NxpOd=7y{YoOll z@|PlY+f0b4Cd2~WIEkoCv%)Jlyw&;SvUMFZU{vVHl(nSJp32QCPITd&w$ZVf_OG*) zf@_?Bgdcis@pG!$Kgz_RZ+aLw_)HodJ#LlsRFOl$B6oHKfrya`{(y+d z(Bcn;h@;y!TT?!;i2ibY*`ivFf;Vo3pMl5bOx!d;IGl-`#ND6CH%xIAviDUt%1q|}F1?Ejg?p5TwPdXI>9+wMx zYATCy+qDd$;X8W6_Wy<2Ql7V>ypD=3JneQU3@dPFe{V<(vU$H-6NK`*XK0L|*}^k& ztIAC>D8{eU_j&ExLNHOSuJS}C8NdDx{*qFAo3qET`hinGNgnbHOpyA;UjDledIz+5%3B(D`4#Qb-70FVW68eL~Z?lNEQ zn?CGXa*;{`#LG-<`u6Mk*ggi%rHpIY3Dbi03Kvi(;uQiDr~G<%_u-RGR)Pjhc2U{#8J~&Y%uu%sPx|@sPNTpT|@LN6HE0Ns%y} zHi~y*_S$AX{KMJc`yLXq=x&KJrOjBnjkDk07Sk;VH>csrTLXm8bnA|}2`%Jodm23m znN+`4gqXpU1yg@MWb{E!#pl9JzZ`5HH;mrP^Y=Du{=SUsJG@=)U`X6qGRV5?zn}zP z-)7T>VE(m1!e>1uL$l^%qB> z4w={)iaVC+QaQ$qp6>ZJt&cdh!;*^w70(H+#dO>4vdVuKI&@}kF0cqE#Uqw=N)F9r zLSN+9{M@uH*RS7@67T+3DV&~jPlhP8pFI0KJL)0LQ6LUyRG`=Gi|kYHnBcS-r&uHb z1^1SY+AOmh$b>68gl~RJ%&)QC4ZB6^-z7=CDSA-Hd_+$lKGvrnW)oh-nf|i)5rpfS zZwDH1CU@V?Eq3_dtD=H7UpZ>>=_Ou*ne`U#{{w6Op}9Nl zNO6kM*h7D>V;f(YcwwVlPuaL9%@s!Au409uh)?4gJ7=6m34x!+pD=q|JAZGPh&K!K z;H^FEE zva;+%B)WGEC=TzPC{T~n(-D)!5cA)b=)uvv)+ZwtijXXd7sEi*_3~Z`U{X+9gx8*ZYU%G$ivgmcTH7UMO#7CCHT#5i z$IUuQUrmZvi68;Gy6io?75>Ngjtc#AMU-tIMXH2z;!9wvgwsCBhzqs7%t=r}s?Za3 zM*%ry=tEWvB}mC}Jf^hvfTSod#+v)*$TG+*CkN?5+i4ln%vT$hr9J~6@_#~T+LAU| zy3Z)eEL^LON#^X5oP(Xp!aJ-g^qX(D(~Vj=MlaOFr8-fUk(ho_1%otuaYdw)^dRKZ zSLyWkaY~)S@$TPwa^V5lx4zofZ?1WBsldFTs0C^YSf7(qA0Deror-NKgb&2LLjH^S zeP#J2uOY05wZL$>$S*zf#E-+U5vyatmD3JU{X1XFU96(YItrxlutw@Y9$(On5%6sSyb=HwzTIq3o~CCYqP{&jOx~ zDVlg2Dh_Q-d#a(Xc~SBV`8WUUhjYQpCr?dx{Phv6CV4FxYlQ4PBJ!CA1+9;h9+g(W z4hd=CL({H+*9_Ng7xFvKoy5QnkpGS;vOycbCk8FyUoA+5&3#J&gi2LCdY%z*+szI@ zQ5-`o$$Enz-CjtS*%f;T07*N;5x-^oN=20iuLm&x7hAyxvdNpX2GEmJ^=;3HdWWaV zwz~*^9Iul&)sTG^s1GRGd@O2JhlmSOKmy#0wN{mupVH1+ik&xZKM1xr;-BHFiC5aV zsacR4bu}BAzMzLIf@1+^oS!nD^)QFl#Cb7j2ry>QK6+7QqHto(hHQFT=N06iKSrlB z@EA&Cm~e98D=Y=@Fc`U;>H^0dM+ZaL3$%;#UiQ~kwv1`k{TpfP-&F$3SYyz|?#G5v z3jw9v7(cH!+y~-urZ}`9yr67EMijSgO|b)3rrCT z1TfM^{ZoSIOyxP6Ka{E^Il&IzT&VdpW6f0C4z>DEVDmPg1yAQ&DP@3oat z+Ei|Hq3S78P&dq;kX|$Q_A)Q>P3t&4-a_C~zF(3Tm}DTHu2TMw_ab9-Uyyvm_d426p>Ni5KRfzX-F;{!#K?fY753QiL*1p#Jbp^PVB4jk>g}kr6Cn;QD z6@A6d91>W^+XFc=HcIjj--$u!`fI2Xp5 zWjU_ILHyfRPbqCR1+dqpFZ8(J*T0ah5YC>!0U(%OurXsQ@X$VtyEDz}@f7SS=eEpl z)H``Gdv8}bXByguDx6pwv^*>~bUUrLdGq0bQA=X#6IL;CCf(jOz$?vCpfW)FCoXbe z2LY3?Apf21Myy^dYqr_jj2E5Qq_mKG?5d7BdPYSz2}^UL{>L*pzcds_Nq2$wnU>y| z`T3yqg~;!1VWc{R6g23c*d$S@8d@H3%pcyMHr1qX<=BJ%3XJ}^v*IHWH0!#+o%TYN zj-zpbRMjr6hh~;_0FuW=DkpL3Qd(9&;rhx_Ut#d%yc|c^@^$8Tawq=-k?D^F4_0=9 z(9-M0hOW)WGwiyxs$+yp18aHq@Etw{s&Tj{w`(Nq%MVwj9glJ$5T%JK8$|E!soe zl(C#W4vg?CoVb8o@HG#$xCRZ?(vXY(u3kc4$$ON)eMRl_#di8SxwJG7bJHL8h>KP} zhl|<)MI42@0Z9Ko%HOoqq4n68Y=NaOeDbDMP)Fj@O6$Zca(ieoYe|GhddYmL*Rf6|j!O3&^uh^ZFb=hu>xQxoQ4V$ueGCZTZw+tv>AHB>_^fuA70jlFj_8XsxE+%E&!%SgQ zrVM4|$K|HI?HUTZ@h+1~r!T z7gV&ruVH7+)MO6toQx(7x-yZtdp2W7|`foB z0|ixOGP%~oqis)Nzs&eR*)j$@@|(|~j)W_Jx{jRAZ#j!i znN#i7m{=v!&%=3R+L^ZkO8k-f1v8hVf3*&F3BEhzPn50|k-?dMpw;UdJiaT@dI&Q2CzGGlFPi_kv^a^8d-WzzPFS?MOQR(?GfXJ!fg58O# zQr7K((YyX#?f1Gk8VmAVsG|LE(9H7DUOfP0`oJepft*HA4Fi$40rk&bQ{38#Du~bc zFrtt6Zzi8;sAGNse$HfD?_rlS68~0ZWx|y;eKY#i;pwRWXqU5%p?b&N3v=j)FQUFd z{_Z02;x5?of;Pby8XkgQZhNpZF$c=71QVl`hX2r#WPF9k|LhqaSijt!?qRPyEeboq zN_i%D90XSoCHaAke#wuuoJirA_mo#Ss)_@U&)?5@20wjeAUx-hrRHB1h|2w6Oc#NL ze0dLN`xrEKN$|71VinR5-LW(D?&gjT_Hi}B>c`L#a9z&Ia9+&4?cN~SrPC}2RkzZpVup;s8Y=lpLyLY=Y|H2<_4a?U$6C*3T|3LbfB%niN^vh1A8vEmM=7 zoBsT?%1^NHArU(O`{>@eIsa=Q5HtX*CUO{ftQ9o}@yoeS3ba?T?~;N!7D`Ev)#r&q zdSWfZP?gP@-0ms87nK;MZ8XP@WE1ekI3p|nZGA|nBJ%Y-7Iig2?$>R5u01O))>$sF zQF9DcL(&rI-73(D>pK&eZGJ`Qq{~2X(f<7hq=O<%)NtDaC1&5E=3ma+uKsH%OeUB9 zOD&i38g&Ex8OPC>Fkeg{d*_Re$&ccd_C(S%;WB)AVn^*<>oKIfggbp^fFqvEe?RsC z>Ng(&obU`P7@ei&k(Fk7m9s0{pBG6Ruz{V$bm;1Jx4BK!P(&a@YO9trJ4M#Z3`r}i z<=h9xc^REt9ggRA7khMiSHB=Qv$nkYH^+qIje^o2a;@k^(W3l?vYB1!ljt0$JS;GTHJA}LteFwAoWxF{;1ODhG*Id7@ z!`MbT;PnBYvTgOflu^9yui|}b1z!zoRE#^GZsHFfYucq9k-gg2cQ1VIzqtD#5D(TC z>hGpMtBgdus|8FuY&<`#L~*YptrH-8!y(76*Um+>Mk$HO%Xb*V zr)4*0VG|*DslZ?LZYGBv)S1bK4STx{~6M#No{i_jL zvgL)K*{$yY%9~WdPoeP4*hR`XGdOGdvC)hL#A_}jq@VY2{sB0${n&;e8=qf;4(6ow z-8D3Hrp7`yId<(weI_l*|<`fj$)3U7mc~i7S^DgExdVWavf4e&|TBVHsLh(M&Pa3`zvYW zEpGK%gsO%X?z4cIwk15q1Bq;R&KXWkQ?$* zVbpp{_^!I~V|B5%LcarX5OZhfpATzR0w{+}(6V{cKI-o!3_CH^f|FbS`$iCUDktca z7?VZp@QAWLeZ|x1+54oBwkT7u*}qIp)2K{zq}D{Y##a5N=DY16YB3q1^>3IC5wLHg z1gM6y0UtXpuvmY?9XX5LYy*1)4(FgaC<9UMK98M`?wqr{w5IL;(^0r{l>PA)Bkjqa~&#`y%s%{~@)hIyX@?afQ z=^Xtd$a~rFPolX)ke~05e`~1{veKkK+$q1+@>tyHSMHNKZE~{lwr%aBl-F3&i_(;3X8objjrjg4LiKfu{Lq0xL)u$r z*jj{2g!A8K-upLWNK(61U5BmEM`yz8RvsPY1b03iIgI}Xf;EMGRa&}0mSFZx4_zQH ze?4Y3RsPhXNWCENoS!^6+1N#0^H2M}KTxn|9mWD55Xe(Z!^dVz5Kc=p7wCQZZoRiJ z=5?#r4*)gTH4pGWv%vqHsjjXAw)~}qkKCahBw1sCT;!764>wj)4eq}HrqLBfjjnG# z!aH20D%ElR1jsX|V52CSIG>7{|63oUnHxv2oW+clIq)8BKL_T;0oMi%J~;PwD2|#B zG%Qh*?&24I`kmUv;eNl9&7o@OtQ86F49Yp>`!J=NW3*5C?7!#m_V?M>u^$%tI1a0Y z<67cBzMT`LC*Z5Np_QBBr~~-76!beMTdq=_Otm1&Q5%@2KycxEf;>oe0hE7Ns|@h8=ULsR=aPs z+0*mJEnJFg>C=f=!b$4UiH`lRrwl|CZ}zmLVvZX8a1OO1x$-^q(wvU_;$yE7k<+>t z+xk^=+#Ko!buwrFC3=wHynn+bC|e`WBXcojbFC2@>v{+pIOh9#4fE~%WN68g7@F5z zuOnfDS2hv>ZH~RymuV=fj6`zIY8OsU|Mxa;+t@{HPKw3aitScj&}*H#LNduyyZW|R z=}Qu0pZY${D&}$M(z@Ih-IIN|?RzbCTA#O16sA45bzpeZEVgJKbLCO|<-;A;d}8h` z!s%me+OHS_wRlC8>CIW>adh0fIiDRXk3MqcP3|N!_Xc|OhY%{*@w9y#a-t->FYrId z`8QwY0T=nkRq5X!%!k|!HooGY{oqMdh>uy|api%htx}*_>)yhc6Lz)7ug*V#x^o9{ zVHf9cd#L#KIe%laOs(Cd0qz0hWXbI^kBkhWWfnv!h*~OWOCO~gPIOpS$En9znf=h^ zvOkj#%sN(SY0E1^DmFX1Pc1zmzcNScfCGp&ew?mMuGYiGRCodtg>m4JH>D_i)uN#W z2Q_W3_VP?^m#01Be~sxm^`mJw%0nU14vy4s839&C$N2R)>Vy|(8npFry3>1L(yak! zVsksWEyI{wx%opylPNzSQ*up|!oIKVs%4D#u36EjON3~Cro0{L&KUCp;lH@^t*YI6 z1(6@um)FsstzHN$=q;Z{$4{&rA8U0FD5q5CC{z0uI44RiXxsK`b4QPbo`BHwt-yE8 z<2;8|NXz)Ox~2X00HT2)CYCUE`eEP_?WOsc%<2y&sG$jm6}1zwvCoMHk~!Ne!#n8@ zKhIBjat|6Va7Qd|fQAoDqnk!|qOEgdjVpL}nlAm%7EEv#$Rt${1wHL8Ir^&BUpRsp z4OlwK*w@1RyKYlD>6^{cZKrmVU~-^M1_Wz;MfEX|yX-L`GhaXO8CZ}yYFyV*vKcr( zZfn+i+WhKhyK}EvC6n&3kgn^iTtJIYof{{lRp;Psg{OO-^T)J1vo5V8|0i%_8(95H zTY77e1N5t&{K`4_FaDU>6G1vs3)fK@rtsYbVik1|6cSpw38Kg(@UHx^W;U&6`LF4o zv{c9ESn7br{aiZ59B4`HRXFWHoM5;3ORg}*!ZMwW?K}{qzh)c1^yYlvkL6gQbVpFc zJGbNe zY+8IO!_Fbb{orgV#@o{f#Uxbme*0^6{dyY6AsPO`gvO;Js|T?m(pn&n?p^2Ovl}oit4j&t~D{@%_YTM2JIv~0XvpCH=$SJ=; z+E!5Kp4VycjWYR<)@gbrT8{BMG?_Zdcan&B zg=AdIvo$edrJkPn0E_%fm?odsql(n$-lZ>?TCJe%gwI>b1+hOl+^IS8meGQaP}e^t z+c|e#yOZBVct@Z$;q?*8k1eD95MawAKLB-sGBssN{4_SJ7p)R-Pq)7?2s9g7F1vdn z4)${+Hj^!feofc>r$~2uTbRM2EJ~O6kXYldpbf=JtQa9q8vYc#C&rUowOF;bph;r< zdZOXmym_5}mg;rj(WIP+y(ukO#Am)Law`v`1|eIPe+6=5yfM-NB1@hLy$Luy#30XSQMzZMbZ94YD=pMbp zwF*Z$^VVX{p*rKSbX)iD+kSHLPCG}mnVq#~)Ip`9o~AMFra*<&?-MhHd~8Uj1vd7! zkd1hXOEv~%x>&K`{-z-%_8ZzN8at0fpGF*=1cpMa>w23qLw7~;xA7|fzOpxev>8EF z5LkpIqGH4eFnUh=&Kb3ur}k-_FBjnt0>ZOHPoB8SNgh$(D5^#M+wRRpgO7==u1n1I zOlM@a&!K|8;A^`JPC@eN9Xhgx>F+RlR`{o;b;FUWW^)<-d2r;mUEi1ViHM)EgKD=3 zOW<7+8{>Jz{4{gd)@`LM?I0=a*%h+xb1;8BfhA!_T9@yT><`ST$M9F~uN6LEn;*|! zRdYiK)k^fV=V03JfIR(m!O zs&l>r15oal^(hwdX*qb0OFKI57SHceoRnvVw0;2k-OpIPKMdq@^Tn@30gl?!s0HdD?X& z=fEdkXdHzp3{1x-cekPfR72>q6_9Rssy;zMCns}?29gSKoX@jSU(n;*bQE1$Bf~Fo#4rAIWSu$Nw0i4DW4@>7ymv`mlR@4S z{b{KcFvUgs@O3S!A!eR`zIa~u)WSyMjB1HVf|3{%t`RSX3qQUgJT4=0l4qFq_go`z zS}ufuIacbcF^Z3}iIX==I!va55b93z&M(L?lkk6P_X<(PaFTT}g|%sd7=C^cpRy)t z&G@h+lRhmdupmk`Mo(^Y*@0ganO+I)C9;x*e~}CQ@gJUr&K=N>>Z%w&3y&^?CpC6L zD;|p`N&z-OPjGjY8VK)l|GNZFC|4Q_sRu3UiWNKXCt4jk-tY#0+PO8jmw;{b7mBRN#a|3ODLGC zHwL^!e{3TQkIJ~^#K~hOQ|m76EaV-eyCJ26f1Fknx9RE6>KelThU#QGnsEDDwy#;# z`Qs#hR;@pPTQsQoGR^*%-09V+E;0^RUH%o4omMHwIoLuXc^be9fKdNIe@5h(b+|fs z+H3aY#HpyL+lOh<8En!?+qzV(cw`Ii=5agkdFM2BGPC!5pR??iE=<%Ro`>^VD`*z-Rj2IZl`*ky!Qpp(w>|A=xSib#>uFgN zrhN-!bLATBI^Hr^rwF@w@xdZLUQx$kusbdZmdxEnV+5Anq{oh>OO0e2+~*$cN)F<6 zCf4wy`f;Fo5XuerK!FlAkV5R_AlfgMpLJy}YW9g7f3?UOu#UY|fW_>mcB<4R>h@Un zQQw3F82!mTShFTkIw6Lgd3WN#TT=>fOFJ{s-DU6g1oGBcB)5baX6t`KAFFDPiHZvUddn^ z%eegkT~biuRZ6Kz#eK6c0f+JD+MVJ7H}~Y;3M#7UX|I3WJUo-~GM=)&*De=4^|A3} zpNqk)%2G*Ev6D%IsCmGBqf;@F5{o zesPK;>l^zR5M9DYexbaXM?NFRNk$Q$HGluIoUC%}uEB z4#`pT&jgCIrSuo2;upgSEPRY8GYG^fwd9D>ZlE~p7R zs&2LEugH(K#NzvzR)a3}MfXQF(_7mhk?Fm<`s2u#*S+vNJi>D`wn7j7I+bZx!Nm=3 z$ptlLRbBzV`-=#c(Ty&iJ&F}&ZES2kM9rJaZo7TBrBFKaXemWD{zLZYNuN_ohJJ74 z7;)l_cGvlG@Q3;)m9CM?*`{uA?Ze1coW>L-mwmLs=7-_$^0y1D@!b0YUb~+%QYrkRd5SB;mW6-2IS8Rk(up0>Q{Hz~0gKNz4hd*lmtEd8Jlm{7>xN zF};5ZY*A0stZRdUd5Bje)&9wt>6ybexjt zVfj2aE{P`|bDkgI7R(;{xdQgJ3RVJ?yzRE#11tk^;vAHkhTvk_wWy8o%I48;Av!7D z8`uz}+hf)zU&-ZxotyxDZD3W2_u-~LJJ&0>vwkOfOLYrP+d^@FG+`eWVk>&R zD`SV#tBcEA7JmDxwmdE&9-69s#7QBUw#6iKdABCkF0G*!6Q7<94tqQLzXOzG5z_8Y zQ%@(+Hc8$iaY@^>*v>~hqta(VB#=HdEZn}xJ_+yqj%IUZHbNO`mn*NQcW;v6w7LgP z9p0!cpNDEr7|Hmd{Nd)|B3Zp}7M$i%{pQZIn-QMik*kz$TkgCD798F=X0ZZ`c0 zvbn;i-?Im!B+ylm&CK;4uzxIosHE&Z|5x%vvk#IXnz}S(lW^PfonN-HKUziY*NlV| zIBFUDJS)3+e}U~E-j`_*?Dk^Cibfk}vebgNdGJ^pWi$HeFy{KAXMW}rkMlHs_V=?3 zp2yaobL)811e3;GHm|AL*C^^v$s<+51k89Jn|`+;)XHkbk2QXt_Q><6FTtx< z?eSwPQ^aHOletMW#gUMvs&9>t1d6qg72;i7=%mfV8fXB<-86jk?&K0Kg3P_K*>SW^ zU9(`xpeTeA`xUym{bXIP>nOR+ zMg26)gYi;gC>Ov@JFfc{_Rri--B@GlxnUKn4-1&S_fU}Fm$-AxP);$LdSM0|*F~~- zoxgEPP2RJw<5QGo!soe1nbFST)GHSJ7%O_=J3JfD0O(Dw zM=sU>cV6iCrg1Q%GXG;!$!sHJ)ovx~9oO>s)$P8Jj)4$l6C&twNe|Y#QXHPn_D{2` zi%soV%ok)#l@s3yqw2|ouh+YZVat6`9Z#pS?KRgsWbAzVUd)##`~I-x_iZg3KJ6!A zO|OS5n%&gFbOvZ2@Nwx;BEG)Y6I-k=x-8U|JUy=$^C%cHkE$!#bOO~BhhQBz^>n%D z8FZ4wV*SSWl5JUO2O&0A`vBy?N2XVL^*6^d*VXozV86L1AGzvw=hz2`uMWpYj?`zN zLgxrML-LX|^MiBgE!QxlxG*)hMM+LB{#m^9T!CuPp`fK_Ft<4zY3;&7u;^y>vgpND zs!2uAg#{H_&&kWDNX)L1B$v-Hc-WdTCGZG@b42*s3(VX+(blsKo$L4rd@Zk9u7~7> z_RxyJXz$;!x`@A@=x2pJZ5gJ+#prFhK5S_jEBI)gUw1!PaxZGZZoo47H0c-CMWDT2 z=Ps)DXH*WG3&+Rb@*0lZ(Gn_gvu8)>%#+K~QDwBIJvD(pMMFCY$Q)ua?aR?X75OX= zKP^cy%w7DrY}GD^E?4{y++CH;s@Sr3;nl0h7X;1Lwh9k4{ps6-o=?nuO3K!RCUOOy zq_DzfH_oMfQ~9jv8mNLxSWeK|Z4(=QB0PZzWb&_MbZYRaF;(AGt2=(d6A$+A|fA(4o zsrmYBa=FR=Sh}qcU3bf+yT3D=>#oF*EJM+kDTaof@X7gzpxu67A^J@w+PMW zxsfV48j?yfSabDkc2d-&glwaj~=ceH=MBvAm*^-(eTkz-kl~yL40gpIrKbTVqO?XL5|F52=9Fe0u zIJ);`eM(Keg)W@vbBgFEq-lN{c?H~poHk=JGzUgpS-$$>5;YBq&Dm%>Pk3z6_W9iU zOus`2opL(q{uAG1V1aE7frw_!;X-AGh;>~^XUBfwwz=^VK}@?_skI|RCEnf`Qc6vl zKLq@+WG^M)kR5+)!(VlB5$8C!6MV!*wlb`DJQRVf|HSUoVzt^BX8Am>&#N}ASFYDo(+ z|5Cf~iQ~lYoK~LbP(b=0@$((^b6qSMz!G+0Z%6;o`q3UZXlTERtcoj+O7!~@Qm7Uu zuxPQq$STqwCmGlXrE-R4$tUe{Xry0bP}D*e#)#RoF(HOki1h{f=U)1S+yLPl zelP*DkC-<~U8+YVKq&iO>Cu)a%t>b)=O*UMX|V-T{vqnVOR;Bq&iK39BTm2Wu@9Ku zcG?DdT#W_x!Cm&Mg z{es}iHi5^+bp+>n(~|3#u5{(H^v5a9D((lA0yMQIOy(~Q1AS19!RT{x;BW1QPJ9&@ z*g6{NTpQba|JX+HVewli-9s4cI@kJsePA=(BlkO?zzOe*`2i*;7b3!gYjYw?IunTua4OQ{nuRX>SILm^<<`>08w}~G z4K@JMdPQh|HM;4zhl;;OEcBD`%Q#oHAp#CS)SY2jUv6l%x|*w?9H13O;F}kBgh+rs zHb>2BUTvnq?mhjzb{%6os;I*s6Cr6AS+J#~+g60Xk)aP`KXnFyqwfV9H}P1Noa%j* z)gvsGI3U@r3v9u)-v>_E3@7b!)30+`QO&pjIXHQaFcrW2gcndWi9vm$ClQUuFYzEP zYwOECU0S>eB?ptzvE}z{mW`eY;epSbb#K&i*Fna^x?9dbYyKwsf<2~eG;_eea=qPY z>BJjD{KFi$v{k;#sN%9t{C+h4pR1CSN7`;9gLB;XC}sULs`CKxZVTvdjX;|Z*#?MN z)OXZp_+@SrO#+Y?}}X=NXwc$KD1$tvAt%ORDI?~go+;vM0tRa1<)5@ z#UTel3%`3d+HbzA>4Fv2>IW?xTTNzRL-uqmG{21RwZ1ss6Y11j0H-jubpf_JzB`@V zv@-J;+q~eJB)l+uV9IP2Twq<5pH&y_<<#ny93U@2w{hF}oP8Ck)eFrwz zr&RXT^uCE%-3{fwhsD2ncgMybBgQBDiqw2cWc_GqS)Uwc=do*!P3eQTXHf8nH@&vk z;TkG&&JR9D?cAKWnJg8}Y<*qhGdFP%nV6k`p#X_Ro>4DumAqL?N>!E7GD}1~n7W-o zWxZQYTsFeSi5oWx3^#UQTp0&6x|h&_EU*vD?s|)J2dNMdie^qp&V=+*5eE@3IfK4D zMyV^YeIskuk21g$1zp{> z*E#ZP)r-ylIgUQwWm`Aw`XyXF+<#RbYI7;50a#olLWKu|@4F0uojFzj-Cv!sN)4UU zj;lfLt5TgaAV%&d5<8k)6f zbtRf}6kk?vDN7sLg=1)I$GFjjSsp9B0Y`*7SL4 zolOTumWE^aed%}1~u<&9x7R7pNi2Of_&cu=F#}DI0IdYa*Zds*rEF#xX zxhkRCeUycodl+`OaOa$FvoAd|KW4I-|y#nJnp{EhQ+)p75s4ZW1 zD-9(O<3SZw1YN-k0sBp63ZLZnjerZAgjw{(M! zeT$Aa=hYkh_DYm08>;GC^fiO05_7b+M?v$2)w!D6r9*VFFZukFV!K7yhGE`l&+lBK zYScxCt;hD;S&Qu{&c(}6ARAy&_1Jtvx!zJ`N_9K)Ko|%UEjqrkxvNODjO#gp_Yp? zz~{_rPGXW~*zd_COLcOu1~ZycxShR}k?T$CJ8pRPliu~ZkyE*`PS7X9e23!|$QaS0 zng62|XvsgTkZ1up;4-W>Vp0n*zC_C_s7UjQ#Dd`ulxbY{r%GiXH&+8#J&RtmrX_sthZv35cHYw zeVtwzEQ^QEcC&euSe%4~dgKC5nDz|@1M*JC12)LbZl?|jKery8$C;_3f=s;FCVoR^ z_xMRFt5p{_6plvky@<$vC~fX>MBeLl!TK`_+Eo@+{!-h3CX^Mw__#Fm-l0$9Nw)r( z?gcYbPWamO{*iXWn8(j{^WQ~lJVs8AeA(lENr)~Vg1DR@w5u=$vS0zT#!q1D8uL3? zS+SVvvuKgrB7QLDy1dVEkj5b)h_uVF%UPIXR*4JPo~Ekv+OeO`X(Rx^B;#r=y49T1 zYy6ylo*j@UA!r(zUq{>`p`65~X0Eq4Ss}}>vhTBV9lQKk9#13I{_Zb$=>y~-qz>n~ zS`$A#EpGiqnYekD{XlS8irVRuQ4z?XStlruxqn)odKB=SxxCqIqGvN}a>g4k7u|U* z)^sna-lOUpY{QUc{B-~0QTM8GTedhByt+TOH%+Oa!a+u>_vHfLGIC@C?63iA+Bf`7 z!(Y3>2oPPuFuM|q|6&mDwgGz#v6tQm9oxvgVxC{rq{}V+DwQej0W{)M6xt`{4zwab zy=1E%x5D+^76>{OcKh)G4QND5&bmgV=tjBNm>~E{NL@1Y5~TDd3RQFGT#K8#GUHLi6`FpTAD8}2zstJ#qO!W81~$N5*fGMx*f9poI`YZtachZazJt89KN z9F~9T5%t$FiD&L4-QM^QPgJLbq%I|k69!;@wj6tf0^P}Cv4^o!APT-x`1`9S9o2na zNUIMLl@i3o;H)MoO65NGx3?R|{jxL99~WFYVInjtiWkoqOToJ)QD8}8L(w6S;6c#> zKd-5yCN1u=tvN@d0huT$1ZpiS4*Vg^QT9voq#6xnu#;HIxNWVxQb!`fG8~&RC$4(a$UyV!&-GI)oj(cgAeXwmvmh5tB0kA z6h`lvVO7U&o=bq!4`!zR5q+!9-P$$QUkSQL$GV-WI7t^X4C4?e?ZIWv;lN`&J!wZjy)X zb$Ndt@jasBVe6HAVYv0GNlT_yvx{CV2b{H6Gwb&($|un~5$;a+S4_jGC5Ok}SyN-e z$9BAT%rq;@t}{GBLS1KvZ>+bV9?Tl|UGFcln>8jZRO}Hrffbrd=QyFYq$V4*VZWcE zfoJwvrAEoUls7VHum*iaGQB89m~H+BTLmdv*TN7!ki;$dExwcDZJLO}oly1Lgm5Q_C6vpsJz9z;!F?*EPYyJWTmDyOYQ!f4MW3I=?e zs~paeWv}l5QK*e$ZawI473VwaFEH2=9ej*xqP2-~kG-CiSsfsk*JfNPg73hy6x|Wf zy}j3@+#3^lhxv6o;*wZ!v7m*yt&N{4?N8-_#mR^;g;!Q{#`ZE}+x#$EduflUG9s>i z{{WEZ+s-8EH+T9TvYkkg>_ag1RnCoc5;iR?+}68=pIKA%qY1J&V>~!E6v7$`ZM_*Y zwD}0h_kR3w)-MI-It*=)NK>wFnPWv6`PyIQmZqsH=0@Ocr_D{$+1)41l>Sybb>`*% zv|jSR!)F@#*+(jE6t6kNt6#{>de^T{y!xD=NeHG+)TDa5;MfwJAKP^o;x$oGz;kUE zz}P^?IX*nm}rRr-Drxo>orjZ;K8^Ed-u zNo`^XO^#E}>y7C}y^KX^DhRP;M6XDz|O8h@5N@MOe*^OJsFtUGjAju~3}ZW8RIWcCvVafSNV6yuI=@;UZK(-_16tzdMhelc4W`kG5+p$@N#ew zlAwR?%S$9v(Jy4yjt@$zl*(g$j8@Ww?4{~N5g=ZslkGK1XBwiVbY04;B)J5iJVv?Q zfzc*XT{^7L#DBa^9F4mK3FhHxWLau zx-orrEsf=7baAFZ=vxG&RR5DtBF6eQK*H<2MUzv>oMOJ&?WX0%XFDQ>Hk>=QtsOA> zzY-;r{FC5u0*c`CgXg~}i-Z4+3BHDujn?ptezr8LBEl((0??K(E{ik`I2lc%_*JVN z`@gn%opcZ(^GjHFOS1e2?3Y%QILqZ%+?)$H--@s$fV>}EnQh)<)=)=(%+!qa-H>DuF8kz;BLf?_neJ~2)+6dWL7Oh<`B8Mw?5SB6KZzwif$yFj6(G3TOo&CM z4b|zbU`ldu#PlNtykW9%0zR4 zv9YGN_8c?7W#Nl|tfnBJc8Q>WayeyT7ia5VFi*X&C+B-O*4gWadKhmD#=f)5qud3) zNg|$XeY5(X*}4|u0An4ED;_(_6_PNeK&+1Cj zSbM$}AM7A|?A!Vi`M8!IWa(h&G0K~Err5d?GL!Iqw*$-QOtj+3Vs`av@J$y>QbYB^c9GMgLAa20#4x|2I48>f( zDQVB>WTmR%ws={vw0N&U1PDwiOw52q}K6wA0QHdYyjjEw_a1o+2tCC6hl1+9r$G zbJ}H1zp^t%fnmx+X90P8XqRAxXjPf0H-*(^TB>i>LHx_xjNuWGx1z9E@_kpakan(l zm#@RD>aZ}t-T+WBB%x3g3^CV-K7p4YaMpBxWkPkB3M}}i>4LEBFLS23o8Jg&Ql;QI z*V4~s;$_bst+c>!yJM53K9yXLNSErv4|Q%&Vs(YgkFLW9fKV}u7khPTdN%W`!gFgA z)Lp=?{EC4c87|w~KBKlQ2&VJP$Af<(Gt?J)F1GL7o$~n*wa+B?W4(I{)hWb)(r|$R z@4TWosqlbeqoOoy+DR|po}_y!MAMpJ7L$2B9m)tG#oMK3QL~Zbt*E7-bCk6MM}T=|X8`7Jee{im0#se|MW3(_gD<6ac88f$#< zTtIr$`G^M)ubkZu!xd!yYy%7eYS7(!o9jxc8b2H@DKZg&c#7JPG8Jxp+PWOkj+v;i zpJOTIew$(HOOeTgCYYnzPS(V{VN2szw*yUI^Vg+va}}9k(7UY3VAr#u^Kx5zx(kIk z>!`J;sW;10c|WGJ75aTXF>3E^?^lh(R>ZU_e4>X-P8pE}`uEkhX_(z*mM^~XSYO=u z;@4>N@9^BQ;~V@h-^(u3IsAo~vU@WLiKV!jZmt<8z1wNjcILesg=x(17uw3zoutIz z;OBaVMsQx7tVMe!)%cv5b7k<-J(Nvsl9-hn{ZdVOQ+9QbtjZU1-0<_`b^}R!WiJn9 zVoWhP` z3)-*K%HCLPxPZpA0VSI1u;)4O)S+e2@HD#M1#{@vW@FEktrebk41_XLf)ZGi_lF&`(gtJ8mQ-UPpTN} z>Fpl!aEDP{`HR7<&&L*@-Gb`EZ~sI=CGt7Z&9ghXOH(Si2;a%nV|dudr~S3pI8vdR z$2<;5_4LsQ=dC5jTMyKS2J4uwZXOQl$Y3}lkA?q|0zxA>>6sN9V~41`f9JWvOPi7W zkpjgz>M1OeGP!H(s==J2%k&Ry>igLeJ)$YQ2~gWM+0f_KIJ$8YB5xwmNfO({Q&if_ ze8@keUfX!{xiyeZm0IhAH`-3n8LIf`(*8H^Wt%YFS!t}zBe;kb#tHiJC0W{;o%bKW7}X0J@Y4yx4ihx zRF=MJpC@S>TH>1_4!A>Q;m(y~x)(38m{KWG1T8Y;t zc0Bn7tWEUM-EsmQy@)6^w#EBkjET;FNh*xn)_#-`EFYXE+nuD@8))dY`r;w)K2Bcr z8*ju!JT7Z-1GoqWdW3Cb*q$Ky>_`8x$7%0NTT<{CCheFDATV}lS(K5YQf^-Li8T~O zpd=W6|JHwd`ec_?nIH}=tv`C4n%9ZRyh(|+|EWS-VziJ(ZjPGK_nW?&-3IUCWnGFd zTx_yj?B7qc*68EWe!>6A4O>*ENM8xytIdL554aV_&h2!Jp43+2&f>A? z#aWZoLp@Iciz3kp z*b~L5DEw5+)3URM2R$WZbtVLP*9G!}Gm(Ie#VZ!Uag2S}4b!=#o)J=$GCg$Yk!1K+ z``PHzTk*XO?4)R_r~U&8E8kq8IFghW_{eZM8tdI~@oU-KP$Nxz&ALp|iW474q(*R) zV0m1Zt;}Y;s*CDRvlM-b(o~xXI-{i(xH6vT>0{4Ln*R3bm)T^$<_dDqtn>mScB9;4 zMQQnLyX`h*r3-!31@-v@9((<(j7s0j>e!;FVFSHS@wq5xWX@5S;PnS6drziy>!}2Z z7!x8}AtN5Q>7I#rK5YfA{nR1mpM=lEWXYKgrJOQC(%^D!qmB?G6@lJtGSCe`Oy%11Ir9mJd;%%Cmm)pA67s zrzg+}rcOINuCVEyf{`b>w5g#sQxMD@g`?J-Ro;LiwNdq?76d; z_YP@<|6X_MrO1D1Z9~5a*{)}`W#QQFUT59O00OCGrvg`iWhUm%JjorGwjElC?B_0V z?x8x_oCqyj;Chb1)}iIO(vFB!2Gh(id=>o@u=e^R&q1bp>2p;}@abshFU#2(LIjIE zWf!Rat?guCzl`8TXh`Npz2OQAV>C;*BR-G&dwJ(z?5zB2f?O}g!~RI_`}$WRhT%uu z5|r?V<=+mUHP8Lv7snG=ep=xHs5f6J8449fzg2Z9?n<(^*6443`#l!2ZLpB|{^r0H z)PLButL0Ocz?sv4$68#%zmp0Az?Ow4M$f$7t~WwuH))|im#5=-zMII$MgHmFg}!aR zA&zwn&^U3`hfHzK%u=>e1*Bto4!W^PX5_yG=gVi{-fzcgf-&ZWt8zR={!O78<+v+L zE|<$ndl5_z3OZVUMtI2R> z=Q5!_w7K8g40drQQ8jXQn>4W-4B*3(+BBHzjKZ zactv~jFR^0Rs9~R78bKYxo3SlC0uHS)zrC&3sqRDD~}*`8-{<9&?4!YtjymkRBm{3 zy}+*KA#<%3OJtofYUc{|2S4AazEamMi>)Z#P+9X1U-(12wk5FWHshQz<2ZVNdnN%J z@ypLuBTbGl6H$_d=zO$z6=(e4qF<6ZXlRG}q;xAIi}eXXydqg{=f~h~k)nQ_``Ny* z)f;UHHnsdZDl^X=b*yMv8?0jFaqISe=k%X7^BePkg?@?J*SuuvPO~^s30Dfq{k*J@ z_6lIr0+q;j2P#A@R5T0DvCq=Q8$+uZ9La?RU(w{OH^OfbZ;5WwE`pO==4*<13x$67 z(rmnbd!oytQg^J;%ir8GRNFdY7EN43YVypA{{;Ni=Q}G{szul2a*JjggzKFx;R@6B$hiQpfWX#y~J~=(O1iDuXc}6`jYZy-kT~PgA8{g+1tMn+aI{ zj8du>Ixa?%Za}>8k88=2DQ&NCf#iLHzF{6%mB2;R_btMH8$!~XBpH}MpsJjiEwOx_ z@R1|`_R-9$7kj2n*nvzA_H!Aftlmyg!ik60d;{>(w>YlL~5?JK17#qplhtCHGjx z+qJO5HUp1%!n-t;yg2SLRpcYna{v!}feKxG!s?L*6UaW=L?Jacp)l@(+4^vV_gJUG z=GWfH*Q50UX6mrVftnrzB0&tv7U`DQGEzebM5=!GD>1RP@Pr^3>a`s{&MOEgnHMNq zT93U`$>kjyXEvnP;1Ffw39=@}WigQ-qzH)qwfG|G zBY7G6>;ROxCz!w)nY`RGX2HI{U=K(QDg>?$`icn!^qj~NF2!pZ;1#x}%hs~Mu-URz z*U6NKHHY>&xJ15kj$Kk_Rf}_3p9F_U6+oWkydc%_layqwBufD`sto>TxVkh-&;qww z#9wFYfIkKlfe3BwBNlDKjWY_Z5emhPi;dt)LxHazg=F^8tlZ-I6M9%-W95@7AQ@Do z)vq)%#Hck6#31&OjtPb@0?kX02Is=3Co(4RQnF-+jBems#Kn*Xl?U%P&;byM!qs{A zuGI_6%K67*rLwypB{&RV-y~Kq`1TL7sRwCHYcURe+yKkHu*AIHKN3CIYz2yXKx-b0Psug0kRBeE73Z*Om9;mQH#|O4~Ul{ zo3?}^rs5}QmgnAQu;uvm-n@4MKWgv4`L=w8r4Vy7D+`!S7nuvzq#qp1m(4O2AzM$g zAK`XV8`HgDK$xlTKll>k)JA_jCt**a{ku_#ed}{^6%W6^by*QlD#~O^sJ|u>da9Kp z-Uz#;#Kr|qyra$843#aRpi{iG|9&c&pO3`v9_?LN+p5QMXg6bUZ> zjro_~L6?|UoUic?OES}2K&ve}4(t2|jHxMfAEmYbj1KLUxuo&*WTK>Q=57lPai~+x11i2Jl~yxwP^@MtpdF3LPoxE7yWiJ>7|2?{LtzedSL18T zLch^cAl^UrMo4Jc%r#HAd{=$ksL`UqV1fs5vRgoJ3?Y$jI`TVctT79xO14!{n{VJ_>;BOWEn;H6Gb|!SADATl$7be z^ZBMHWHP6yGOc+9n<&XTk0_-Drm?TM>VMJuJt@Ytv&Y&-4O-W?7G$=R-EqO&nyl17 zxn(7YoN>@mm%XG?sN%e(r3T$sO;J&u24$Ny?DW?c$W(?EMWuiXv+0kw^AZG&ofS40 z-`D|Xn)@bDhhOtjD%XKP#NTqx{S;@PvLj_SS0#z_+|Sdd=k8`ovpO=jEu3jHBDbmnr>XtY3EqEFL3l$^>Ps_w3YR z5gsx^+PJ#`h7EBN;hz0R$E)19lOQ9DWMe?8ZEtXRkeTizra*Kn&1+Bj2S@uk=24Ff zvR7u}*ydtq_EEP=+FvmbW0$p-+cXc^oB{pwzlF7M2Hul>?%QVf){O2vh7Mlrmozcc zGELV}Gi9-3%XWIhvPN|(0qmCz?ZqVu0+#uG3Sdm!@z>HLbVU71R)P1kdi{Qls&v#!isv z4_@gG{UBQPP3i;s->5y-rbh+@pY7+CVNUjMZoL*Yrj{R1w!Joo@v)3`(<62_w8IS3 zi*gV17mHlebdQSGhO2thyBA4{ z5h`D1#(O^=gwO8AESKc@S2^n+JCU3G9k=sQ;js=qE@ba-LTql-gW;{KKl2y6k}MFJ zV(Z%)(5Gdq(^q2n8X}P9Go|!^k%E*c?e0?Xc?XFb z3-b3-6fdo)-mnhT_w`wp+s0+orV90`cu-F$DFZ`v8kh$!H;n=0Defxru@=XF`;`#p zt2FUAdLBO#tlVwmBI$sx2tBG>I99Adp&S#2uQ{I;whq4ONJEM2%~Ge)}d;Z zVwgc(tls?j-%m?C3BIE4Wv&^WJ$Deq!UVeK?Jj1O#L|vaCq0;?)ufo7M|%X94{Uue zWOO#eD*&LXKYo4c=0POpxt^P1J5 zRQs^rrOiHBR)FGi3+zLg{-yA?#X_i|XxYhvOMd;*ITsyct_an|!e{dpY5PJuuVs-d^S zu>KY@?+cmxcqh~hw`xC}f@@68RP!>oD19E_%?%pNrP~tM`cg2Vv#wP)!;{P2S|h@R z$DyDYWobf}CV77&_sW2^b&VEbJb?K@1xsB*RNpw^s?7wbM7mDDO(bEb`wcX z#<4Bo4ky2cUVoHBQ~>T?e=4r#!?@woerNsfy$lM>+7@zX)6%bhia%=9zhCF6GqXFb z<_7lhN=PPIUv?irYpsWZL1}B}IrFhC_z%YKWx_^nmtws7Ete`jxfir%snc+m7Qd0N z<>Rn~wsRo8U_p~G!UFdu_6VkLCH;z*+(@%M%#!?AM+zqGIEh@HdKQ&`DuydZ<~eyA zUGnis=@aC%GIUqcbl$(E%61;A$q2R`wcPF=?^y2Ti|23Scc=w^xV`-iWgmBSGQo)W zMLhP6a`G<4PA+#~E;o`#7#pyQQo}CN>g+ZyWU@B@oey7<|4>h1OfZ48iux-)`($bk zC_gTtdFtd;k=>3NcKT&r6LaP-`8Gk0mI(k8+F{IJ^0Y*%nMq!>8EPKh;G4NdO{=Bv5 zzN`}CaKx*^kgORL`)clhEnE4iaPMt7TOv;953P0{1YVNw{#jtUAyf2s*dAwmt+&U9 zI0hAd{j^K)O>FH3Os$ggJI*K!^tVBBmZ{UuYyyn#_iuIjI=7N@!{F7JQDv;fR-K35 zzJT1-nv8DVKHFZ8RFuzZWcsV(??9rhMG+CV^<(gcUU~CwdDE*AFg%^2k>*(#y;3c!-(>?zr34iI$AYc05>wlcr3&g%!VfNh9hVR^OJ+Y!p zHg_61TTeafs(iFrUaH>Y1Fu)Q36p5-_orF+ozLy|?_L3!2%8Z825i1Nsu^XB=RlSv z1t7AH??_%b9nsa{y5i%d`C}^vcN!xd(5(iF7xg9*ee7oyV$cTkY;kIT} zO5Tr8y)y0?Q!}?pRpQzqak^;mRua;A)m?L|J9SL#!R>NH$=yaEnUag0s=7rf%PS-k zBGx@)uR#I;;9+`6+KcR|1c0gO=@pduc8&8=;q$lZw1somzqT4wUZAXN4E(5C)#s}9 z3*_=dZD(Ia6xS0MG^h=Se0iD#!%+N1Z=%H|I{a?bxZBL8__5dh^YPPk`vPDqUdKI$ z>D&LJ`e8ie-N@?Gh`8}^E1jG%8#lHTecx=n1|}T-!8+QHQ}j3nU44~jF3yS2tQ>+ z{;?dXEW-V=<*Ub_iA$yVALD{)B&v&t(x&JB)ni+gLJu@1)Q$2qrSd8MEjiPp$Cm|6 z;}-8xh7K1T1c!mj@^KZ>Xj@L%VDN2g;m$h_7^H@VUr*I{3-%c#8f;&FG5evy3@|}< zvy$&?W@{S^e?QgYs>h~4GnrDGnHI43QC3<)ThpqCO+$3vQ4BkKCKob)?M2||oeKx> zGtI?6Y$2Iu`b@!^*Bc*wo~&__$*}`2-&0BF+htA&c1J{fa1i)7^UCr6H`A_J@xpnL&d<$Wrf z70~mSx*D;iY_{>fSM=$C(92B%rlfU3!_%m9EC&8^(b~y1qh+FaX(yAUatM=i*{`=P zF5+EO`<8g~)4by`zAu+P4~2CDwD=QMJV_~MKpm><3muDTKd18>BtW-#0Yu%TzrQF* zi73MYVI2rDN#ca!eDLvF%_pWSeRsZwns;X5Du9d>B}qziVG?YxHYD$86Wq}&s{BM{ zN(xghZc{dIQ~f-}w#7?Di6NCl&^3<~=B>s5S9xq zyvn9Z$)$t}H;9+y9JH8LLL=CRE$;t16992Mh|f}>oAiV}V~7ST2gf>n2r{*qQTolz zaP+kGAjf>lza%C3Z_m!!kwG`tAt>uk@KZz4r#XP(!o^v!lbcD{q^x$Lu?@wn^45bUU=Yx+5(brScDUYPNsJCnbZ8k-(o;so;)&;`QUx6tJ5P(mO)7bM$W- zLw_YZlB$Jxn1Dh@Y9D91XY?8&#htWbagEq{;SqSX*mIkq)*!(3T}Bfak@1VXu&Z0~ ziq#@B)^MVgr*dlzTUKF@zqXwnN-Jaeq^)`!a}hQ)ZG(L*0w&zTttPS|~2m41Y4p%MJAAlFYWi>;|%(2{xh|AW9bryntfn z+FldswTH(n!q+hsY}f2QbBWfE+j)qL#fcjMY6>@I8m>XYV?W^k80ej9bX;pUv`of> zHqFyf)5nb>`c?@rn+vVCSGo_>+hq6oK$II3wAU3P!yprr^9c)JGeI!LYN*^ady98- z^*K$mF0Yf`OnKZdvx&Y%e=x!27qr7O$0NU+tAu4b&@{I$I#QZ_X3FD9^9`ix*oL_< z?Ga@AlWtr_sy5MlTuW&r&8a3(+hC|CW|u76h|2YkNSw53d0K@%>)T|>RkJ0{+T)-u zepAucX3+=gFSni&!4Rj7YZh)zG2aw^0WI)7+h-CFV0nYXohJ7}_N^)`BMIKV0i&_r z?XL_{k=Pf^S*AKqK9oizt%@_^BxaO{85Rvjch1$MvI-ZrmATQcRW>C(qBuj(Hr*Hp z^)hpfykug+BE2mRn3c>WH{Gkm8(#2x#)zk(@)=;w6(#8{WstL+s4oYJ=~)T#*Nkmr2D>^tA#Pl!R++3a9_bkr;V7Z(em-T)2-MfQcg=iN zdaC+{-tx|~@V3Z5&_%ev!v+bqQMnQH>e~+-%E%@ySa624qX^iw5ni6)8FDYTC+BOs zgajViieCuS-enDJz-{NQN868SnfOSJgWCP>dP<24lgG50UWrN4lSV13vX6lOthy{T zgXVXVxgUDVE=l@A(Uh~|hcP`*yuOhXj3FTo5Q%kswGH=htbC$US~V^-FhJ8FddJ$4 z@-9$L*(UAPh8#=&sZTg@{WR>mCToIwjf1RF{B-;(y{$Bj(Q6FpA{|>l&@W&b6wNN8PkD`!UW?H@G&kdH zNV+vFBnqnod|sPjE{N&)X+k{zUEapFWfWO5>8!0_I^ozuvxwlV`;Il42X=8t8w4NV zQjXbZ%^|OM6{`tTlo*r^zqcx~M>!&#THCl(W=9mR(2c$0F1Fi%o~(byPFQO$R3{%~ z32uQiLi3$4QYM2QU&DIRW@HJp1Hxspxi?vVsG8pgr19-bmkgCr)u#x@!z*1nYBWo*W zsM=Qni|8%wp33FpO{n~I29dqUO$3{1qo<1B)simknuc{NFkxDAW(F(G?-hZxddZ%K zc^Aqd)zr+i^EB;(svAB*kIDD}oOC&H>{P0u`1KXf5H zH>$dRW$)+o!8J2C?l;p}Y;|1jhnXkP;C_Xu7LUhJ0UEHYSRKJNBBWlgY(amlw3uBn z{!BJV79%IUM2v_U`Zr(rUHkU*MCB_W=sTw6RYI9}?~5bYkF>Q2p^HzxsPz-1G42IYq4o)H?ww zq?u(@z1*H}*7;JsQ(PdP6p*SzdT@IRejkD*y(|DWnBO4p_cHBC3t}BXl8&QKFy})0 zAAFpHbTfg7FX6J}u|#^%)R1imh(8?VxSwY@|MbjC!d#HHk9_2?b^w96v4K-;yb2Ql z7!(pfs}tWt*JjkYMWpUH{)Qr>PG%Q7)shsVdPACZB#&aKFN06-i8P}<>TftQOd-eQ zAJR-bjLxa*{XPHVZo+cSGcTrRAM)>pAE-Kfiuh zI%7j-!T3EWazUwQe~@3Q6zRO*)6BG<4&MSFQVz5A!XXD@=)(NNf*y(;@pM0Kyr3B+ z9dIXuv?E5N0aYg6Z{l)p;><2#WTl$1Z%#+Gi}4c0ElR5Pb>i#FG8l(w&W=%_MVGCt zYQLCSo;XWW?Rjxh<4kGWd8_a+H0$zI9DWulo*#R2_qS(%>@$DZ6)ud;TUTDK^W0PK z{}G{@c^`jhgCHjrlS=C?H2vTgEZanyvpc!^mYfQtkn?fTS0)Vq*hvzwEM8YcjlV-4 zvN;6o86Fq;UEcHdVw+h)SG2I*L1-GwqSC&y-0SP5NTEj(EneGil|PdiGLeFf6Q_O` zadYTDaDEB1PWOw4L{&RQ;$N;~&16FIfzFG4dw+7@f5Rj$doXg6al89?#zPNTztol) z+BoJJ82Z0IYo!$%T(ck30bZuoEh$5Yg}<^j4)3!lFy5T+)QRQvgv7oC^zThV5UrSTb-(L#CVvLpRI{s8|-B zvh5H2K#X3^{qKX6jl;RH*sG8QppStxvg&~1CV*c(;Wish5AT2lEOR4*MlY@QJV#!H zZ_5O9A%H%wdfoChTuvvDBdZIEcnvUa{4J1HdkDEv#9HPfm}-F(=eD)452gW+9e5+u zQ^+L66RP%4ELIIN!Az5T`g;wKG2MV^hhSN)l8?6!e(NQfn@862C~-cFAmvl>YEgO|a44A4 zxpyzJ%m?$$`fWLqzS=xKf>AVWI`b{{fJe=(CpHC-E#9d`WUFr)58PnYU_ zkFNYPZAY=P(;$wV*@!~U?Mah}+2M%A4gHe)8#hZtGc)Xo*{)|)LSlnav6mnv z_e1z3fcbh^-?yc@-f#3N5OlnFE3GXRe;rI@fA=_@50}nESaTNRIixcU2|d8FnFUbT2*?W0}`BU@d$g@!Zh-Hlds=$bNA zT+eo*j#nI}x)qtvX#I3qn30id6qK9~8bA`7zmnrXlW#(}Z@lwDCFg!!i5=&Z62dIj z0zfTgM^r|CX!v)VBuK40|7@B}!qGDq3!^T5K$+`Qc5Zwit=ju1uosnFzs=-kJ)E|v z`I}DKI2=}P&Gp_Bx)*Znv`Jg`bN$*Gu~zBs%=qi~g+E#S8W)&K6!(GVNVzn+aocO( zu5If7JiweNAi?uZ9aWusk6JwS*?tnq&oXK2j7d~B)?D#O`~Ex%`U$jfVJBQi^#Y{a8+9#Yc~7BVQhAIoGAeN8RGO`;3=;Cr?+dF9 zmX@4==bxz$vH12XX6|}BDsgU>ZEV6$V3RhxOk|p@$m)s&^1tKxlklnA?#E5kS2fqb zP!Z0-@s>LP?r>~qK45i*tu|mj^FuCR&>8bLGqt<@N3uaWF!0n$%0w7v&SY0scA}!F z)gIQt<2!tG%}=g~cY%S6$vewvsTP;oWsSb)7B5PEuvO%J{u>g%Bs`Q?2orc^(~<(9 zcG|RcS$#tw+N_GP&flQ?IenY?5MoTu$au23#cI--)TE%|2!L`(|Ueo{1WMd z&m%?|xpa)??Q&2ueC^AjJe00^W#gqaUx|y0&Z8AFhUvs+E5)HxkZ2D`?vi8rOfLW| zW1y;+syw2wsUlY9w`ehIw!KT@R$m0nK8=WrX!qkTChA@ckCfo_6m(@N6u+Dc0}(#r z*rM}_(P$%EFr?J|s0%Zs(4VFB{b0gJ1-mw#0x|m^h5_}=D&KjR?IWxgJFUGqlWP`- zS#n5TVXu07dqn2@ib?X$&8qtVQ9w(lWWL%Pw+R+at(cX~N&B?(ouWOxw>(`>+3&Sp zU`WA72+g0@_fOslbv(xyv|Mw2U*R+lhX6d(#xXABondn7ypXm0}}(qEH0L`}&X&`+p)+S9NICIQAcNyRUwG zab^!Ztb%j^`QVfuSDpNQhL!c6+on$gp*nH*X{q2hX~E*i4j4l7hMXMf7H(@2n`B5=tY+HMgcvt6EbTTKDnIv2L>U za%^~yxvM8`7Boi`Nd>9&hSlM`AS3g4^BZ)-5hb|#MFP_}jMVu!Ail*2O61r*N# zraD=3%Vth<*pK76t)9iMQlCr=ruv6}&4@arMe?}4EH=_W6XX)4v5HU@*1AQi-a&s! z-h?yFJQ-*yvm?};f7cyg?xmE|nyQT~gtQ>Vep*@l6lChR4A)NsEA_2m?RH$;rCpGW z=Uv{TH}+T{Ev-EYBNK4ANBFV%&>5D-%FefE(I5CyOi_%7tJ_p3xPSXze;>Mp`HXYO zFe*)@#S-TAS(m>cGFSj9`D_$bU|E9t)Di-%3R#aP87=>5@K=Sum>bnms7%I4J5UdW z&lTLN!gHKTfh9POgx?{#kk=UU zZ6=DGn+_tjqS66#$eAIr$zhf<=Q)gF>|ktWw*B|N-eXtW#pm;WyC>;5yyTf;T;>^*O><#V*&_2TQO@hWi-8AcOdi|*u|5z& zE?7P@J7~Ejp?!e;CRxe?o;Rc9`3N`!xmJw_a(Wf5jM2i`4d+@}SL^#C%@qSV~U=^$i z0-sWN7kCyUu#st4evp#3AgaUXIm>9c>s2>TJa!@ny_Q_#--;N9CgLwb4rG%?D!H z7XMnsb;*9^fz_^H6>W2MJ=#kHYlD&hZ8BYC4iyKdc`uEhL|SVa2sd;J`zZgGa#(L) zL_l9&FIn3}@D=3kD$jm@YK=L{bmhRCZ?k+~DrTAtiWgNj1?;mXH&p~~dS0FCl9(xd z;mXo0ChAKxvvxD5ffA9`HsK=H&dkQs9oos}4mBl{E9;_Z$wQjO8HNU_oVm1j+vKDH za5qTDHVssgLUiDzcVvW|ps$ISt##Mq-cFtAG(2G-BqtD5$7d|69{VU&-589vxLQ+H z|5NyVZv!>X#D09P_b2tmVw7MX`%}A5+?{|r2HcU1lxqrA-~ugXY`woWnA-b2i%Z?9 z%0X!e8Ud)_j3Fy>Vca<22T<5bhPZwg7+pZ=0IwerLhaWY3-GX{rmsF@XE2^;p#gT| z9z@NelZB1)7d;3{s1L8nGZzTqC?M*;<6P;MDw~ZMm45LO-p#3bbEg^JcXC%50D{pzAs4WsfqpTYM0DtZjz)_e#8t>ZI5&Sapm8jZkev{UsH(yT$a% zmW>6H(?r%95O>LUSd<>j?H|6MGi+zEsHmAB6Z^!QveM*mtw)h*^EfN(aC5*2Ja*uy zCF7-00qi($Xfa{X%#SZBXm?Lf19Pe0X8MjYf7QzsVC|Ll-U`1N=3JcpT3o?s(9m!d#q3oT_g(kJ|qxcPG88JegfZ4{Y>9{R6FAZy0= z>W!Upk#|0HA(amx?l%)80ccix&7bTT9d7d+Hop{iztqE_$K%C!3w2WaT4KVlEsn#s zQr{_Aw{$i1>wZ>*4kHM`%$k2XJdS&70DULwIKAd0;zLq2Ag-I=XVTBXT$@e|6&cA+ z-UTpDn|^P;8sIpYYuRM|g>}4h!feIR_N>3OMe<~Ieiy1nNWb?JhzNK@IWYLB;tUk* zwA(W52&mO9$tbRM2KJ#w08$-GDdgf0^WS6|yQ(h$gq#2Km(HO+fJJDl>U%u^hOFD{Z%a*Sz zXCHg4qE3w;suNelLKJ3BRPsT^AF3bg9#d^mhlm}N9YEbKr{5(6AmZkfX#3i2p+V6Iqsm_HmlQ@L}h<-;D{kMtpHFA3HHxB)sLmF@p$`YkuVHucY9o^0q=BHBx}VpMbS}u63n^ zf$Jkb1uiNd^6!f_+{p#OPCWwF`*i`o7pSjy4iFc^It=bLvSi5H? z9W$0|wZA0&rN-Rd6y{S+BeSX6ak_+B_|2>^1f!!zU=yRJWMs>UYt1<}eU5l{O#{Z; z{qqn6bCr?AJ2KD<@&S{#VGT>rjJOF*vL4t8&Dhth4jyg&r-*8mqwGvjnl7z(f>v#N zdoImN6<0m85g(p7^W$=?=%q@|A!an?vPsmzF;jbR``w&Z4;Y+#5k);_4m&pOfah$b zr?Nkg3h^T&-i^_Jm2qm#xn4hkd15iwzHX+p|BqwJDc~}LRA0GFTxCp5vmi!gzo}hK z2rI;s&`&eZVtC?Z)XrGBH$1Cm@lzS%hL6aiS@R*<~skV+KT}jz52j& zi%p*{56g<{3FqIL5~rH!j6!`>bG`sZVq<^ z{q)OTs=FS3P`>>uwzX8fwj4{!*uc)JQ0Wb4IR}r0j9%Nwi(B^4AO%ZSjLIGw_MSTj zLU9kZ1-}=1fdP+kv@(%T@V&><`YGm@+y05pYJ@C`XV>{_mM2H5O$<;6d5kajdl|!! z%$05{sS9%TT}{_4g%R1*X5$@;k-D?$Eby1x0qx?UFFq;#lA<+)MYa1_yKOmVXQ7m& zQPxPMrkole@8Drbnq{&Sbxu-K$KK^r^+@bMPaFD|etd z%R3{qWQBOD=Ctw=!GsZg$8_Cl)N`~(zht(}ygg#z0^Z!AlfzONi<~yC$xvfm?B%@Y zf>wRNol;W_P4sZ%&;g4EZ@{$1?G{E7hG$w+tn{!=PYw>dA+8Y^vvJ zQ#{(T-G%cWj(aT<-t{-)VsrH>Ee-EMJ3xY~l%TD7+%ew%Rs1F99&V(QT#H>%j^X>x z|9?P~g?Z7}%?Ok|v%G-i?u{!JaFD;}=Q5>>Fm<%v0@>!8=7p#Wg;~_eh<{Jagf|bSsAX%dO@x482 z)nlg-0!J6Z%kf(w=QldN+Z-c;CQN547Ku%|6)R_@4+C=L1w%PjJD=uu2kTM|YF3-| z0=wz-tW|{?55G3AsuOCs64+0?G?+3`MH7u$g;U} zWW?vKYP%?NkH{*g3!@Q#8$Gq9Vjkr_FYryF*e{;fJN^GUNX79$EXP@UJf9I<#2{Z;MAn|g3N;hPu1+2kxmb2@zn$=50bKJ_(-At%W z-!(|qhPN%l6KMv$zx5MxB7`3{7o7$IAmVy1Z-n$(hYd)!4{MuJ#1JcaHqR@6scnlC z-y^o(-Ey*czRuC_aW+)Vsvc|BTYi<*9lQv2s+XL?%1_90RdxOS>jIxw9y+YkN!s+6 zdMf`Tsoh$RR;tcZ-0h%bm8lx~H-IQjQjUKd+#c5yZj*!XK*=X*@TPD7WaZ)Ru2?+7 ze*M%lEW*gAUUDP`Y_A5~B)4dMm#?u^HI9)$(U3PMT+eeha01ejo_<-xPx(S$m%GCZ z?~2;3M`y3;AfM59=`iT-@TxxfeIUxk%P)Jj*W$UUqgp#yg%W*znMGyS8adxoWI)Ks z1}a0oBkJMT-ah^9_68ql&EH5J_ZERJO8gzro^#o6WgPQ?5^%tIqQdTH7Z=-Mb`zSE zS{{niHlMWnp`^oA_^&DO1a}q*aXbX{@mVw1G*HF3M`OK~35^`5--JnljZ|sV$dCOqM z4S&2}RO!nt5jVfhZF}EpZl>NAxXVZ@?!rH4$C}kH0Rqy#bAvh=Na$ql){Rn|$lAH@ zP-Qr%Leuhm{-9QS@!UJByN}t$V zy!1@&WL@sYnwjfcU31jUCt+_ZBT9M=YgCH6g_;ODc||e4exdNoVFcZHetH2xm%jY4 zd6~P6Xv^2ixHIjj`n@mU>7tQAZ_7z-szS)_n${10eNx#wsguHdsKu&B8?B{@+;Ri5 zFHK=iV{5|UGO))UWBo8`CKZj+arf?M+&EpNjWKti=_s-gd2NwzGPEoyW;5BLhiXXX z2CA0-tMZjpIv|04aovz}j)#GI3&KvkebWBCeP~gl;+Psya9}JOzN^^5+yvubVed~md|0%4X1e+WWWrGL-cSy-!Xe#Qep_Qd6(1>^ZtgP>@uh)d=)Ft1ec( z$7d}RCM-Tyj8A+bD$ewp zjr+E=R5 zCY$?*s5Wn}-7F>M;O=e*oM{$357CM_phP!pWGc!wL9VfnwLjh5ZCRZUJF{+j%Tx~b z_!d_h20pYPb(*~|{;4w|XF!vs)g8jgCLE?A-G)$IoX})710`Xv=Ly_)X1+ilIrO4*X_?#CZZD+WW#zX}39qV|z4o?iN zt9yDv_LPIQ{Pl()3@Qk=bFX(&0J!#8gr(Fz&V?j?ZNnce=q}sFEIm^e!594^b7kUO z&gJpP-x-Z+;$ND*9IJ>%3bE;FGs(rlXLefMIwczMfXI|p6S?cHNTaOPvW>-rn~$i+ zgc{iXY(Qq>p?qcEh8NZhY?=C-UHt09*SkGtJk%9sy*nI4rs?@(rg%B;B9tUu^(;5X zq3_uGT7rZi=7{nZ)%90?F~WRdXKp!9CGJtn-1ZaKy;9-Q^2pJn343=iWQ#*HSnmxX zOOuo$eqD4BwE5OHb6IU>*q~Q!dsDs_3;5VxYnR`i-(Or%5e z^1xA($TsR}^Etiif9VyQD%1?{7X^BYCaH<<(>wX%aNg;qf7dKKNxbS2Cj43tHA;^d ztch2ziU*b6Tek4AF}A+(NAH<52_Ze{@#uVrj2_f}7!>8L+bCKTmUGBCCIm~ypG`{G zbJ}osrlh|{!XxL!gjOKW>jVqODk#y2QADN0SFPFDI{MH5zNtin$!sr!e7Kc?T_823 zpou|cmrNio2OlwFi{U)A(x@_fOuBvnW=EB46qbeDz~hwZyYqa>lFjSV+B?*=Q@Q_C zKlN$wTuutfL15ZnXS_ULLb>dk?keg875;ZT>7dU<)B9PJKcz!bZI8E1yHZgSeQ$PG zt#_WK%Lue1Q1QMC{9aA2HyXE-c3UxJGt-c)=NJRAWsmNaToRm~{Z%k&qe(*lR(5%9 zDfNps=cbcx2>`b_6q7gkpX%kQ+T*@{Fp&P`*0`(n@}zZ0@&Lpp(A4()<+CCC>-q87 z6Yd*566G>3X;+a?sO`V-Bpf?7UpaDcJp^_L9(d5X$b)}xTkOz_8&QFcODWKUvM{Ar zg|LT~_pR-A%#7D9SClk4L1DNaS9DILDO;?6W|x=R@VFRo5Zqqs54~USzx=)Aq@}(5 zdxiC?D~y^ESv7I#RXam|PZ7Tx9DZLE$+|Z@txz}`$(hkIKYg* zosZ+}opv|S8U{rgc(%tLF7HTJrOV`ueh$0Fj+b+fb8c>N+K3STMCNJE*iQ>jwyBhu zedv3~RL(x6s$=KSqo!d-L&u}?1`?f&0g0W#G{1q1NQ4S9qG%Tn919yrjW{VB4I8l@ zywoWISlFjhGV5Kg_P8K+O00iX=U+|4e2Jd{7?&buRFua!5lL}>+~b%B+1q}3uGlZf z>FIg#h^)>y9b2^#*%7mlQxNl!6C<7+!)It~xm*X^5h>%B{X4fAz8W8_wkI77dbWz~ zz6T-bjHi!Lf51bK7;;mT1@lO&wZ>ad2kRT{Tubt?-ccMby4(RavL5xK+&2LAFQH>+ zXrJ{YrvI;~2Rchd-hISAxU)uYaT`H@LeJ!^wx6&}ny1&qcJSWi)je3U+TNkp6hJAB zfM#e`kG(u2UqmH&e+fj=nev-%O7<-n`EuiDZ5jimRdiQxS_2{|&ZFCGUA;QK)!$Kf zgT`V)dy7o4dxZZXquw}eyb^6&md4#b_1GZ0Qg`bC6`P+G+2B+2yjCfE(fV0CL#X%L zSob-UzNbFEcriq_K$w!dFkLs36Sgg1Vd0i8Eqch!eJVUJii_RZP46@D+O5{KGl{qO z5+ip5`7UE{cCL=?*%8~Q=}mN3^arrp8^w@Hc*sdht)N8WEZn6LkY#DIlfE?&7W-(r z#nun2fgt4OL*dJ9$p!i#G|mzZc>QbPEpAfFpFn8{-L#5K0d2f28cpmfGhrn-X1~b- zm-|%d{oG!zU6M=g-U4c<`0CE>T19Ya6ivS#oEUwHU%BWL;`1xN@MNO#U*R-h!rISD z0vR%0f2^x1UFsyo24_Dt2K;`r0}95`AK=SuY0OEtgUze5pc$!LIXkv&2m8Lm z!ji&U)g{v!&-cy|4f#t{eIkDQb=3O^e-vAgyxEkO*o9vS zUN^e2&UhH&5Th!bh)&A6p(h8e^hyL7|7%)gOar~~IF5c6ApnUwVOgBgJM9zbFW8g# z*T3^nE8rCrUksK39ag)Wva(S$FEz;lR^+z7!bFfz{<+F%-8__Aw_{wQo&OZ=z-&?o z58C*ep@)Fjqj=GOcF^gVlZma~F-)nvSo)_IesdiznQnToS8w#cWkuyuM;@jNaTxG{ z7Q2y%J+Vpzs*)zyFe&sSBSdHW5W?vqi}YNOo8Qj~)>F*K9VeUk56fMNd9xJhd>HJb zhR{ZnMnS9EQSdtn4BY|Zjg8I#Y-LwN{hYTAQ}G^9OAz+jvN6C#GJCCX{`yZTZ{LSs z7Z%M-eg!AW&aQhg_qNeg-6@!pf679?k!I3ZrZZ{=Ss{tG7bE~9DX0v%m2Is{khFj@ z6+U`rDH{}frmm4h)#RkwJmdYqCD;pUNZp?g4)07lg53Nn=!29WqrX=W9@nh4krc0VfTNp?t-GEZ>_z<+Ah>IQ?KHB7ZSYHCBG4~WUWUQ7RJk*n+C6bP;a-H}` zVxHH{xa5WUbmML0;V1dZ$GI5rqTiu3JzOpLkb^x&_zp7VcK_+3(ur{md8+#SR!8-% z4PUEdBuZ!b`&RMHbq$v7=Ve1^x5=t%Jdol^T%03Z z@p`si($rfm;NRPeN~a5V4I6F;x8w8;hwF+lO1cH%P9FpOy{FPkmYE2;lH^0E5&2W; z%(B+FG{Ta9>wH5l)FEU3#;EH3+11kaI|h2&Cp)F4+g}47imFIn)x7d}sz!82BmQq} zf6F~f1)aoFnK7Emf>3c7Ja>e zCF+tLy^26LJcLd>UDIyUHTf*(XtM4Gg=t zw*aDq)Ex~?>a9boY^n&(Cmu|^lzU|g?Dd{{+LQCtSrkWt+#=hQ^tR3AQ<*fKI@3LV zJLMl+!(B9b_ZSRo)=0mN_m-VD)Zit|qnb(mzi_qY#NB#-YT2Eg%!NF<+;)jb>mJPB zN9YQGwEZGF&vB1?<=`jKkB@MrpR(sTe{lTWHRLwcd`JrP7IoLweHYzf)|M?ww<$~_ z*YG3HN`s{caX>00Yf$ELe+waZ68E%5(DMA8m)^`18LQcO`dh^{ZeGs}V|KzcIhXwG zNWLXs{gPC~iK?AVrt5rAC0|wB)Wg0f=<+(*Fa-OyCCGB-G983~b3A)Fmtal;dyQ;@ zwgLSoPppq#jw{Tjm6TF{uS8i3d8@FGGbuf}!adTKUF8gtlHh#b2ODp~LY~g%uZXE&xBI4pCIqfGv;}Y4K{YtG(WQ#_u z16wu{Lvp#c7->$#LasyI0#nu=R9rHy&xbmg3WUcy7k0Y*G+?1U{(1+kEFKL~$ieLe zRF4|$(F@Vu1q4LX#`Jt{x@B3ge1TY9lfS2bBpEXnpkAyIe5}PWXT)}dt4G}N(7;#h zR3Z{Z*D7pygEm#C}tM^nWx9-$r{OWm^-DTE~C8mxKfj` zn#Nmgdt})-1>7pH3{~wnEV9e}+qN{CqDfVZm!23p7ulv-LP{b~uZ!?iD)3(7+tXu7 zcW7&V<`?}?E^pzuD|PT}JR7PCDO!wy)%%^X5l?|R#!+E~4}JzqaAbqsl?yz^u2=0g ziTI@bRQMEUx~y~zIdG)-?suX+`{>%I_N=xWP)!N;_q;?|{1LVAFev&%xkJ&jCmM+& zHX5veA?7`ZNg4|eZ!(rdn!EUwg?}6A0c5Qf2gIMWk9H!*zxNBTU&B=pxxL4VChU+Y z+fD?^rM|tg%{GF47<_f|VT=ZRRDD&C>5BbWkW#BT?bTt)!Qsz)P8*u$_Qv#c&#-mg zEkgo{_Tk%}c(VktQyK#o1c9?F82M?nt~3)K`1QSz4g21s^*e$*UMLaFmTN1s$MBkO z`>&32ztZw|tvO^o?nvQpUF_vo!?f7$vg&@k%Io3Ts&P>{lh%HI=~(Y_D~a<^jK8!g z%O&fT2W9EHjAegHIq(bYEqITY<9xympX2|HtCZq%iaBW9;42&wR-sOv^>k}6tq~+N zGO9f}aw?vV*#mxu%2zsM2%V6`E&aRmre#e)11)SqGE_HX_0rt&=|@w!gEhv9CH{i{ zpgSc3?fh4x7b3{UdHa{RO1;miHzv~Stu%NwKM0;X@NbLnzKOPHUFy;0O*79_E9I5T zc?v?ivF~?E#M)!!opPk=bNiPIjxC$~b9{JLjS}1nd5|_4mJET)d9I=NsDS=ko`_eW z$`m+`h%oV}-^PAF;;cdE>kgAr?J*4@Sw1VW%kRu88*d0TYI9#%iUl2Z*IqO{8s`js znA&qHb++~LBClfSw~Z$2%XTJU%S5uy`%?Z0yiLnNgri|emrq;#TQ2xqg8y|zO$8*h z;SG)zwl^)#($h=U6srWv1Ti0a?n-#5X-=Htk(#V%e$pZA$CBm6n%#-sFO|;^eqZ;1z3HvhxBy7laaps=w`I?~D{HEL z65QS8*R4kp)}=$SK@Po1p`uwKbT8#EBQ3g$V@ zZ#MY)171FQj1$r>TicppMAF;sF4k9-nYB*P1ylD+Ap<3i(itwvuPH^6b#lCBV z&L*m(28RHYx+mja+XGh8z`NeF?|~prvT=vw1=*9_km_fFU16i1_YaeM8%Ope2&?=b z*HLv=&Q$$)zFJLXU1K!elkt~ z`Ak=@j=uZF4^#d&xB`aRJB zc_XKvGz;2ja{pM7Jd)k*h#HoM;qN`IV7hl4pB=u)a3;n|T|fm3T7Ds{>OUMaA31Lj z7KH@X$~Sl)u!R3tFx;(h)XK6$o-3#rfh{_`aej@u`w>9yZ$taHG95RK5_g^DMPXN= zBY(6EF#jA|dq}f}^%Ag0dWyysLzBF}T0im82P)61mD7tH7@WKS+j%1tj4X{{8qdV& z9p`*klMCW}GatA+72VDZ*V|8LPS{u0iD?2VHYU3@S(`B9e>b93<=ka0KJPJPaD@1#Gn$_Kxws#5vI`B4(00eg^B<>Jm_%SYlSwa@BH4eoVW%EszRSpBHyD z;Sato_Z<{=)}x24MyaQhYr*~ijc~{}<)%B0T9ZI_BMzCKwVAQXf(L~KZLOjK$KX)G zE-20F!d=$9NBp4(*dN7Soc#c|$bZRrx$hRC4IQ`?-6Dc&d!vZ=rp`wmva$CJv#^P3 zx&mwi|811}g`mG+jQ)!iJNSH6ja8Z#u$;1Y*m8ES*K}E%_>a~fHwPEWi@_oQ{_4%7wex#tJrJGh0 zb)n(Y&GVp~?r@!q)$E>Hky6x&IS>%9)cvwxP82vbxy=`$NwZTwac^rNsgDW#QuX=b z;%)%8XaM`jN{9NK!=F-L8@x6!aWM`+Y@|gHP8u|{dy~yA&(sJ5OgcNkv`@P$sT#rO zwCsK>R8{3~=Y&j%tp}ZJ@4y!rZtz|~AFduYYL(p#u^FIxzR-4D#OI=Ipvdn@sR^fcvY|O zD~YbMwr)fs=0CG){BAwwM3o0nKBXb|&1#Uo6KmTOoDtZwJ#7w6D_$5dAxgJ1Z;e= zN_?PF0sQgZ7l73}B9bxR{w+AcUw5`oljBWmuQ_i3PaVakBdneXv=YrFW?RqAB;IBR zeGXh>QBVIAo0dtlc5kdWmfM{1x#*qX%9g1!=S$SuZvL|d+%#&h=$CCW$ocC*NzteA z7p@?mZDn5f)$yfoHm}le%^I24(3KeQ+K*F@%DIiJUHYl~bU3cE8UGaAll0njY5itO zdt11}8=~#vD~stTNU-#CXyW(3{zGihz#>77k{~JIaFg);a?fLj293Z_)w2Z*g_`JI zIwh`jhocX`jyW8#ry|x0ILg@@V*%pm{MCl7gx<-;7>8^?4*!%(Km5MGQ)yEmuE;`D zYN;%kI@^6U&u|A6xzn2FbI?C^^gz2sk7$TO{7Qe}d1Aiyg7wa&9(ZM4_-+5NfhT!i zMe(Oov8+4Z!U4=}{iujV$$TyAU_81i{1*Mudzo_;dFq~voK9TKy^n4FAz0IdrRnbG zfFF#cMck+-b07TsK2@HJn5}&HW(xuC5s8{(fzV-M>ZBCz+o;}ZJM7?AD2yz4Eo`82 z9}TQs>0E0*Lw?0-^KB*qmBO3L#G@wUj1)|b4Xh`cjBvYS0BRYEp+t-g#qSqj-FXe1 zjX3vSYDo3?cBZyax9MkPczwNNOdn)DfQNEHL1I&TB@Ismrd4#we65y7Q|*3f7C_F5B4!tpj36+((xwBCN~S5^EM!- zCxZ5lr(@ReAkkm?b!dQxmEl#(*z%U9t#Qxu;buAiF4O>jnK=n#^;d)@`F?PiI`!&% zN65fG2WWIfG@x^ShcBJb17Y7lz{JO&*H>tOgR)BJ6$cIJY6|l6kf>qG?ktg?58Ib& zH?ki6M|t!Z=fjFxLDw8GBqvseA~vnB2>zeAE@$zg$!A-3LUe9!;&!M#Iq~r13qqPB z2Hj~!sMKc^fP}cXJl@QuzULe7u(myy-t4cu)QlIDZW8s|t#OZ|j^>DI1XsV9aC-_C z;#BLVO*BN%C!QvEa;o~|5?#6RG=ize9(UCs5tmv`C~xmhlm1&4JD*DZ+=SIQ-7s7Qu4jdW4Xix$7vL;fcA2-v6dKb9q*%HE)y5td_>6P>R z+kz86q9#8DkQH9?>v{{n`;w=_+Io^uU3*jTja=TXUVTYh_S~WcHe-fo&crqk+kuFs?V5HKpvK`MKv_t34yR0iP72w*A~29|ZFUMIJ^Bcw9qn zuJ^0=W^gufT{AdJh^w(}k2W?FJ9uN(ENUrYpp%uo=~;?vrNk5lxcG~d#O{?5L`PN3 zS-8)Wz#J#f)82opPcJ53f~uXor>vuQXw%X%V)}^L6E)p2G|oKb@t|H^wMuNvb;a-o z8Is_nH8Fx#N-6rU@r5?I`lY`gV$r9v8bLqFZW0HZ$&EVJR2kQhmI2pjYfVI}%vH6V zzow$XS*C*1af%e!XHOy(1$Kh zq0&bMG;c;Sqsv*~#rct)rNr&82=#|uGMN=LjugHAnG3<3vff~ghlSH+dTr9n`;KdD zTLk>%ZVVn?IulLX6EczRa@=Vr z_Tu*o^eBLTcED(#ks^ve&7CvauD()bhDv-vvkSZ9P z{)+`7>U3$Rhs*u<`{=3%SaxolTB@dHud4>;Cztp? zChQvq40{VPHO0T^W`pAdK+pQZ5kZc_V%24i^)r3Iq{>b2mz<>%7KJY z?!h>Chz*DHhc0VNNiU%u&9>Gz&^vgy+yt0*T**Dn;G&<03nY^*ys_@3GbmKlO*HlX zn28BfD##qV(HNgQ*DQ;!&VCw;$FW`;mn`hd4i%{w4&-D))c%>&0LRR*wB`HW#KahF zW*^sqZL*z#MfSy~@-O7DR3sc|omJYuu0G5Z@Sllh_s??5pZDur($>peRWh)#yq}}? zs@y2TE1eqY)gFTUYd7*u#^J4^JLySrfcMT9_V+`!dPH5*v;*7L?vGk8KPG5z?B@3X z;%-2FcTCo5R^JETXAZlo)xWxzvk&;&#c?rp#}Viy*4fSZ#hR%lg{@<5mWs8;T>}fQ zQRU-|v$C!>hoyk&Nn>qEUS<7T|F$KToR#<7ZMNP19bJ+}Wx#K(m*cBr(0;)D@aup5 z2?H=p5~XaMDlB7@WHsg`#G>^9=G1Amp{GXQ;r{2^8Wy9aWw%ZagQ#uTXLq~_&4Q8< zEwl!1fv?GXUYGqUfck;;uh=30J`sJ2?fChXB`ZwBZ1t32ydlaf8(-0~0uNE6{%yuh zDojLCUh9A6e8@303)tN>dUi{r#%=2bZhQ|`S?f7E>&Z?_<&S4e+h$A>M7C!gS=X{e z@L)9Q-LN413CJ3JdHhU5L@wVL^~~fCKWD;xaW-L50ufL_6V5izbt3Bf0!S4aoHd<| z)!_Bp%CdoK3al6b)CR^myXMxi5=(qsY+gz;*s}1EDjjaV;*Op3?3#hS<)ma^ zfVbe@`u5=rH%}s%e^L?gN2WbYg}`S~I6t-KR5GHIe84JS*V@7N#%&k* z3Es3VOfchpsh^Q03!ewuQ6`1loApk^nPTwZB8>-)lYlP~{=kCyvy1K;owKa#!@p3X zi)30At57pC!Q9DdwZm|CXSex)MJ8+J3Hcm)| zZa+q}t$k|>TMQk>jT>TX%AO0n)cwSAu8!k53fCY5Yrtck=(Em$8h>gdvB;)+{Pwcx zm$jDQ6YoTuqnkZ7QxR(}hRoJ?7+%0t>ktor7gIJeH;Dg9{$v}GAtgA4`Vi(nl^h&A zsr{iP@Q+RnvZMYtmxac;JW?yrzN4LBl4S|@=WjG!k<4BgMe_W&iU`z+uxs0hFkGyq z*3Gc3oqG!q5;odtA$Bo*Fe7-rfal+-uf5*i4PkX6j959Yfak0KhHZ8@;|r`J5F);~ z^n#!RSM&(&g-(yn8Jn{;OG~WL2@BfM8$hu3c zsWnO31~B7`e2yzAfS-bdFYpHX>t1d)QC!dWDKu|AOywWb@9M#W1=xU+ek@lmD)Ae6 zEDKx%d$XwM!m+Ie0E&L4$OR|%sGKQkGmbe%<8MNVxN(D}87P>@s>^uA74e+j%N7@N=rJ9&ceU!Ldz z^A)*;sLDI7bK!9v+-~!JmbN4NQjF902xSGsO9D6hkt4_xiaE0V9n7aYo!1dO(hbCB z5Mx19Yk= zMcBAp-RL2<3@UZ>FndEb4b4%-OjpJ~wuZts7||~=?GEj2E`DNNX#j6E3+NPVt9h2O zx!X(4913%WbNM-4L`l&n@PEhpA@D! zY_#A#xvQ3Hv{~q?-aWM7Q`}134UhTsWAmt)cdhQjN5|mu@Q`5t(DOUd*27~6x@Ib| zC}6fFR7PauY<)&)b+NR1gy~JjVK!GA8sSI`#k0STLwlW6G0( zdx3Y%AJOF>yUj)iGjpthYH>v>&=(KqT1eu%;Y^R&g_oZevFkj;aW_om*2dXm)>tNl zXm1YRm8g+Pe_n{OO5AD&J~GG!s?&4rue)GmjJS5637Oi`-qwE%>HlDsoZW=nfW*T_ zQ~YNPj2$P@j#PSfNf5iq^(y305+vHT7iOtXzHA=*5n7Y&gB1N104d`|LD1i*gYn$L z#0DL1CGvyy$(VUo8anO5^rhLYJH0(&d!^z&bh%LJ(IrIQg&wbFy7E95Jxn%KR~}9O zD}In<2K74K`gjCt{r7E$P_qT|jSNZ)T=duRU`%T$dj6-#$k3bT5&zWF7*$;Q(Bix9Acv1z899N>Wo5{ma(?O)Ak1WPrUkX+j} zt7_u@L42me%qF&r2#BJG&grl~u&r&(A~)o(KY)9&%w!2PIMQB5x7NOAfJK+w3F{p1 zLM}P}T)x(sNS&ny+<3XEWJGa@2C&|r#i_>hu~)7U_HemTf64h~gu^2>!lT~0he;oV ze$8rL322P)Go#u5hpBtiMQoxv(5sU9cxa2bY}V8667HoFM>;(!y)qq}sWp?-U!+nu z+Ex7XL3WRY`voC$mg@0yS*}wY2?$;V+xDR|q=)#on6r;(rIkmQ!UCmd?C-b-voqig zRGyyw^+EKoCtVIzd9)w0v09NVl;}(e@jjP$iP#WGLrG~ZJtQr)lx$ui@YQGgj(f|Z z5uNY$5^pC6YMX_vUzQ2nWDayzTn{ZzpFIs>Hc$n_C2Y*Y3CSL7nbUe$soa#GbT38f z8LKXeT1ITzg&wgIY<99(A+TmmhE%wSAA1X)$K4L?^267Z;`%O20W=2?_D;kv1TU-&o+pE?H zz0%(1@uLGIsvmC%*OGTz5(-f1)}#?3LoVLRB^*`8q|1397oN=C+|S1w;zo2uz{Qz4 zy@ahxv*3$WQ~#-URO${*;#cU=b7Gb~?Fs)gohpeC>Qzo#JjSm# zvz!dxg=podOhlwB{qsqX+S@ZJ&56+BvwwX*p{fHy_+ks6Lp6~zVES((6z_D`US_c- zK0IM)o59=2to?0)Ur(3(^;v%5D9P&UD*CrY(drSr-}>gant@}(+!d2PiecDqc2xR< z_P={6&)#6I$`2Jh9K(rrP$6A%OoZCmvk!*seY<`D+A|VdB#-;a_niZ`KDcQD+jsx8 z2%50aK~GDdD_gtd2|@SI-;9TU1ugO3yfx1K9XjH{Zu@OLKAQlE#rm-9hta<3`MOx8X0p%>H;7fQx#?eBzqsFR#y2)GQs)Ih|K;z+io zR?gXqChsS~bFqWlvjMLc@G>0N-_SqJ?6Uw=_3aSTH3g@^yFlaSyE~9?fa7aS^UeDn zzmCs!12^H0PC=#B6{T;?ZXcXEri5Lr`W^}@ZG8+P9eI8Bh^zTolP0bDXXsg1omZdI z77nfRIE6T%i>JMZRukQC8pVsje-WBSlol6$9kg_`PJp~L=!|-=?4x1*!UI}pdf9sO z(n5lpd;S-Eh(7dp!pxJq>3~_sUuc&F70aNm<~WtCDniBmKVIBGDm&x4+5>Z~O38oA z$qDMix#u|fzt{a=U4J3w^eQ+c=!x=66B&r{U3OH{<(^~fHdCYOf{B~)pehh!IjAYL z`vA0{mJ%KIsCl-)7aiq@|=~v2GUp;#R_NID;>$RXf2g^5!M>f|AVNO;ZD<{#uX`_;C zp-EQ&f&wo>~pJx9~f(^g%ADkG3a5DAlN3IKA zs6nPqnf#3y=Xty0je+1Z-`Z>N+YH%|$S3Wt+VwwNy#NjiJ=WENp!;p5`<-$9tw%9G z{xvf;t>)}JHtD7MgGDm6@H?sPxjp*3kqT!%b5S+bZCM`Rf5qF+J0;0dA@zOM=Gn|9 z*t)G*0q3OHytPJaKv|@<9?0Wga6?T@^&|^~4G1LGRABl7n03Pc1Z8BomIonWuvh53 zU|EZRFV>-lt7q(}c9;Qy^*Q0IOGVwA)(*G)uiw#|vpmuf z?BA5p4Oe|FZHlx|tY(M|P=ka-bKJVA-{d~V( z!PVV=usE9|F7Y`KeZM>-C=h%UxHwDopazCBrp|($U9*x9*tlo%GUFF&jID2LQ=bibH+GW_@pd1{f?d;~c73EWzRXF7t8|s!&&^K{T3Y^?d{MMg^8CrtSVLTCx&n`P+OBMs*;+(4Wbh zLP8U5?kns~)*A&8v;U?~CgJQ#lkFyvRHa<-NuKkrnr{zPDOnK9wk5F!_N!M#ouC+N%zGTwN5pE4|Ucg`x0Ka++~(+8n&Z0{f$HDH`X$n%I7;rSdI9QMF)3^3}@XoLIYS{<`|kWOkmppJe49}QvU<|JlO)= z*+sX}Pm~69esO|Eam@v3KUZ}sP4M~y2z1iwV>x56f{jnUa8K0qhoF$+F=q4 zx;$cr2JS2ni0=+=fSuhHqf4SMItuZsiEG#MOs>o7fT#J9AUR-H_v#&s=hCZ*%~4+> z4p*j(VnxhTF|o6jt|^AR1wRyV+do3XbS9)wDtEiFObIO)FB0VL!xnD7pAD?7itpC+ zQv;d)Kq!6zVqIBxMkp7&S#`Idp)6FWr4#s0=66Pi+wdEb9R1H}?8)ZBB(=K+Q)bKi z)LrIM^2~m0d=|uPcN?tVSv^J=YC6OIGI*S=jPm+bq)*$BSkabU^yAMv)9POuWnc`J zztnB2y7q=*=*Scg<7erKW4t;-OUj8ZVgkaW=L1?bq20^zh87ULZ-f26F=K-R^V!= z!ob;;j~{a($qvRDeDVHQKjue3XG^xZ+MT;l2VIMHTd#GEo53cNQsO|W1d+)WbQ{H{P#MQSiDYl_2<(^iNczU`IMmz&+wT(TK#%MD9c0n!t5(mB zBbe77^LwDZJd3L0Uog!B9cZC#(3*Zl%|n8}hR!8>0FrRdsUE=JvE*WdxYu&D)=qPd z*C!TEU)<`CzmF@F1D{M_l#gGZUm=e9!MFva_23-?n2kOg%StV-%dNMe`^vFZ&|ZG} zYz>RSZ5`+#3-O+C=|F85dS=38{&EX>v*epBRS#A-iIQHXOj|8Ro;l|{a~32`f8ax= zsC2w`ZoI=YWTxuBW+0E7h*PdZbrVs`UpghlXOcYMTi>EHZRs&qUt}Dlpjw!%_Qh*O z@V}i9x=~yEcTyKT275+E5MYiJBHk^=HAN+a{E+_cv*=!QuIjV+8pH>@Bpcy;sIx%z zafdOegOoAl$X~QdHn-5~i3t z=?)Hb$Ca`BIrU%1OxYFI!K&?Xm$9u;&8mzO3D7^n(@ll{`d@dca3wMe(M_eB`q`!% zFSs_^t`^#k+eC&Ljj4|PGux}{2_?4IVYqsf+S^j&O7aqf-`?GbY3-X)=}2C}f~wug zaavow1*?CDJJfhXEic(5>rSJ_PeD-uD z7jU_$aC(gX0`{L1jcXPP)+S5G zwt|W)>e`#3+fSqe{2PqAAJ0u0u9JKi>wdI|iNf(53=Udf(32m=$ z-P16O7XK3?i~TE0Rqo`g1!Ief9JoD2d8wv08nCv8TimKIDjT6rO_RFJIWVVdq5O${6b!oB&cA$cR+B!m;0zU!k^q{&GJ04lp z`NmmKz;CKICsjYN`u<;ii7P)jccwa!b^w26Di^#O$Sr_l^A3DqBfw(COd z);;o$!tXPtB;J%B5@i588+XDgc3fc0ehFV?_#?rAC56D>xz1A`RTVtuaWZo)e{ZjU zMTvSCLz;Eh7yl=^yo#Fr>J;d@?hd^fME^9jD%DhHO{<9Sl|`yHIUVsT%h84Y$=QOq zAkKA4w$GNQQ&dd1K177?0=xHl)wM&$;OVOOt)lvGO`~zfe8mu^)WF}xr^e;DEg;aQ z^MIr{%w*x^?sKbZX{sm*9m8U6Ao~Q#{*0pao%`fiurMd4*K0I?MJq)nTPUGB^?4@1 z?3U>4%3}*#DX6?*v0G+Fyvro!ndyM(Ws99;-4J92+M-I?2YJ0iCvmHwprMbD2pzjx znjC>Z^`N5@E|Ckst)uvOQY;1)3Qa{WM!|*pf{&Cx4MU186?%(2d(BtawfLDVwUBg6 z6lkKk_*kWLb=1rHWlPz`@5lW|A`Vh?O&ji7)P*lD%F#6$X|J0;*1sOD&f|G)ay7#L zBFGF#8Z^e}$0=@)q?xon^!+0k=2K+kRLPq|b9z*|S&n2;!KWqAlb66F8Zbw>X~36E zL`T{7U8qh7yDZI$r=TG6VIk2YyJK=g%etHS-5Vj;DF$~&;-$AdpfA?|Jza?2>&W_c zH#tl$IzGuw^~T-bClwbqy>Yx_5f{q>7v+=+qn3Bd-JySb^_!rvBL`Hcw}*UI5T=jy zw=K4x6EKUpE4iJTJo^Vu7mGVaE!Q_Ia%(F|C2x~_HvX=12a@;)5FXT9lCY9h=N-jItOgCe znBS5tQzCkT>TtaqyuO9M{GseE8k);dBL3OlzpWo)K4wyA3`3Wtr4{;V!Iizn zF&=Q4qHKEAF?NU@=c8_7Fsl35*+Y!pRgAJ<1J3G(@^q-RIq?XxWfmY=Gwz>;sut8Z zj?@&q7+1sIKe4>=mrw1v-ZLvfuRUwR6OM=yhZlJ(#6&?^_L2q+GMi=kmHXNVB_4$y z$R~EzJPpJfl-c?|+cvB*@372wo>+RAYmX#l=hA8_q zMES8YaJhqMAlWao^};6Zq_zcHFp6%v9>-Q~Vn`ukZq(EjP1Da!^f4#^lK9e$AQo&I zdv^$q9K)b7{}VpRvh)d@MOFj{Cf?&3b9xQ>R_Y{#@KACqe?)7dY|G*|i4%2xgoBNM zB|Fo17}6WRKh;yu`C=iuz5n#5SjJL~Rt6J#4E!w_@qEd(ec@8={4Zt7ye_#%zHMpY zP}v^f*_Eqh5*48?A-jKBbV{ke<|W08bYeitgd&LErt$XQrFSl=TrS$EkKIymUPsCO z?KKqtmql$7h?*}kbr`z!n0uvtSs5ChxgdKZQsmdLgxcC<-KhZZ^+ZJodS47if4QXP ztW|`3LnLHPy1j?GXa5LpkHGY)JbFV@L@^Hz4oa>TyiLdaQE(%#c z%)MNu!4$nE-5|jXNfA#6=@J%F9_(IN>rMC43=g)wBWsCQ>JkKn54*E=CpF82c|rJ6 zC6vn|$o$LNNc_UQ!)h1UIRE~zsf7;qP&3ue8`!5D`CK14ENDp{`yU2jH~Y!Wb?QRv zVY%d@s{XEr$GggFpH{Qqge6pjO?2G8KyPqOzasJ7Px0pnlRjzd>}%m81_k#4VU@3d0^ zM)Pv~C$3z)mvRyWH?0!04vZ@=G^)*2g2}HQ6qoNF*G#&1tv&LFW7g#oz$JsL;GEX2 z8bTDueSFE!ikj0h@s51e>(tz$AcR&ZT-}FR(Hs|ahgQ2)EB1P|LkNX#|6IX4oMY&4 zC(rTb4Sgp8n;t5d)%!6qrMG)(8#W?tI)XA%e__r3@{Mz0v64MhwlgUmC*>vy_h)_= z7?E5@@&?TM+kBHPHCXn8v6Gh5o+1Y7M?!1d<8KtEN$0P z`Ag)s>BG7p>i7$BFKT4F9Grk8w=q*(0^)*iNeN?yJHkzKxb&kjCAHQbL6}GC&J9W~z z5{*@+MGqp_7}+{zWpGy!IRh+T5s<7FUSCE61CDu4>DZMLIwKaf626&hMmh-lnyS~+ z*-d#$b+cjH4SMyVCc*-8;ka*?)0qHCPT zA60+8+^c*CoRXwStO?-**i(P+GWe1SZ#TtjxG?m@yrO4doB9L0+XNMX z@S+*xTo%a3$NV)b{^@k?f?k^k*Ji#6ReUQ$pZ!#~8T-OgilD^dBKK^8q%ie3QT zQe_&2?k@41nTm^!oe9b-+OHN!djYl!PkHjbm}AQh{UID)K>7GT#!?sCpJmLewChFf zrB8v%TXND0GDG5MQPIjD=GyhOdH*ncCa-Sv#5YP*k0~S0@VYXM5|$W&OW59%0-O9) zM)XR|)xxL&eM8y;8k_SYFCVe6b9wD^2%G)n-AeG+7yK<<|B5vbYNl3zbh$0Km~KI% z-bG3bcDsNqA(`XubM7%;#fp8Ti)G#`O;P3JZE&#RYt!faH@jw~A7wl>9U2WAgQkV) z@o>>O%FHL968b_k*)o3p+r(7z()oylIRu;~BRidXKXV_$@|oF~N$=YfWIJl=SnHq( z?_OCz()($1dgnySk4bG>!s3$=&dJRuU=2tbx?!=iwAl!5GIC-#vYtk)@vd}Kqs5G=|@N1a|Y6RSpudWV_Cn-pwu zJ5*~BtRDjpc{Ohcb~iB7K|dQj66(dNB{F$(Jr#4j(q-7oSw9m0B&O`R;|$T~cv$yc zOwoR3!6qB)Ys7PF%4PsAm)ytQ0dZocdc2gjZ2bFn7liDya`}*q*##8~9ygDxr)afq zUFAbzN<*L4z8&=Q_3l;_5VIha(*7A6K;Fk^bUqqmHPyB-kSEZb-;rQXel8s*1{HeA zrA|rgGow(umt0%9WwNP=LM`9^1_!b0`5TsW|tB$;n3AhP#Sx5PHoF-tMQUSq`))t7$f0X zM&9+^EO(wyjAVQi`lw+HR+3`_eCjdjmZ@lo9m%_vZCl?gLgIpmcOT`FN z4|fpgnhNfs>L>oTvp%@@dym7Klq8CM8Re{=X&DxI{Wgn)v!ky_`lHsSkB;%aI;7MR z|F?R;w{y>u!-R~t9Z5tkvDXjv{0@A??$1xCDg9|%ReUz8F)803CF8<=IbEdlLdW^G$iEz)6tGS0+_3x$sgPE z60&ZCR?AFZQr3HaP%?wp*)Qnv=R|AWt!b7hMx{?h+@kOD1=QFx!|PMc+NhpCIbFq@ zok}TT3S_yWl`}2Z-u0~)P@u+;T)zhEM4R~Np839PPM0?E@eT5}DKTvfYJBc-*3Ezz z;U`tDf)Z?YY0=)%l7ahKDj4#?tVVUbDyhEl5c;6!cg?_**<&zpZ82>Ceus>2Sry3f zN{6IIeSx>~)4GG+@vAuOHuP@jgg|wheK&li)~j)o@|}^ha2NY63|4#Sc+GE7u`_Y} zQSa2}Q3TZRZ*^8KN*{{3T2cV-i~`6@wQBkt(U_}G5VFH^_90~Vkjf3$v!k|#v6G}H zFG)uR>ySGaXc7DqOK0|sKo_>HSumT0PO#HPc7Yi7CBXAuqRlG#;M2XT4RRUYOD$Ma zIq^;|ofbVCMGO3w0Q}8vMN*IYCU~wGQ%;8;1@{6xF5?K20urvDVy6^7LkDb+J;FqL zu1cm@tS#m1p;}<{$txX7XBg%1_+=e&-G>UHxIVh3xj2dV_&sd7v{W_98a>wtFNu$Q z#+~~KC$^RK+pr7VHA4$G_l#vzQ)lbW$WWIa)!LYw-eEkm2UDLwD|!-D1}QxqY3Anr z0m)aR1c$Jz>hvBU{!2Q4>~AdAedy~EL{}LrdUraU5xv5IEl|oaP-f9C4>)EF`C3q}dTV z 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 literal 0 HcmV?d00001 diff --git a/param_decomp/tests/qwen3_hf_parity/qwen3_tiny_hf_fixtures.npz b/param_decomp/tests/qwen3_hf_parity/qwen3_tiny_hf_fixtures.npz new file mode 100644 index 0000000000000000000000000000000000000000..cd0ee23e6b39cb6beb8a0be87fd904d0f477cbc7 GIT binary patch literal 173786 zcma&MQ;;q|vu544cH1`Iwr$(C-Mekuwr$(CZSA)0p6`z{=i*FE{4p6(kymwD6)ST+ z3euopbU;8rQ2#kZKzUjrb-(|+h=5Rm{+e)c+1i_!+5k*#jZ97So$akn?fwGXOfAhV zoB?(Y9>73IK>mdPx%;0&#Q(3JllIP?cKtYdy-6EFnP4&jkZ!N*fVE606uM6qQd}e{ zNfa616(SOa*2GsK)!bd%4vCB>OO!%gD3nc=DwN;zJK*k{d0)akb)4p`ldN~qY1_@n zyJgVN|ByrM!-HJLB6GQ8QCd?|dfj&0-v?&TyZ%JDdV1scDcREFkL&B)vt!qf>-#Pw z6Wf#ug}~mF5|sL#%XBS>N~9wr075;gXuyMnZ$NwM76z=U)rRf8PfdhaAC}Ma+L#?w zirUoFGLezcktQq~p7&btxN$&=^-hn}{5B&&!^1Y6YI!3a69;ykIJd>%; z$QrGZo-*Glp&ir@nI>({Cq>O{iss3(`>jp7KWXs2?ouHnGL`hRL@WY0rh8mK2M^JM zW>-BFvNoV`mdu>Q=1|KUPGK8w?qyYKwnKhC59f;-=4G^t(d7BkJOjPD~mGW8+o}5KCJ;=r>`l~0b zB6=a_yYD>muLSe+HV`9^n-+_uc2)qcfW0EL^sBNys5B!vXNtio#M#Sz$sadR#7SuX zeha*Y?Y~e;C4CIGf0!Ezk7!{^>5Bzls|D>oY_Hrc0>Vn{{ok|{En+c_`6#bL(~Zag zPfPG$-y(7FvWQ{b#kh@U(j3b(4aLF>`hT{36gIM;0wukcft0 z$yw|%VA$~H1`aAoegCVX3f%!6a`xGN9E3`QM=S^oVw=>2b>@@UvTO{Y8yLc zZ{R)ywr(!jU`_4Uom>KLxDUx5ivw*xY+%wx{X$iieJYpt1^!A`kDLKl-N(=aZkV7& zr~?T0hSKo-x#5v>Q99kmk1aIzK#7)}6ZczFmsyw_I=i)$PLTlw{Ak-oFXRoe$!Cqk zis3i_W`xGe=mt*E9~@n;#8q&1<*TjU+fR=|IEH^=69>s8#GM#eeklg=4(*r=bAp;n zY~d?YqzLCM(KAo<$iDQ3dt8aWOFTs^GMXoj8>i+Zy2uKQ-OWc@>C z1EA+Q1Q2$8gGA6(7G=2FInS1}UC;7G{a&jaPlr_HN7X^yWY^@wM8z3p4aqz0380pU zAP$BZN7gWKMn~30-r(%Yp1^vx;u!A zJ?uD8DR6{a_rMGDTCqP)RtrUpu{w|6j2hthYwx-IkyrQ>j{m~`X3y?w9m%4wFM1${AskK7L2? z&j8cg>ImMJk}7u>&^+}$5SNzJ$DcnSD9XCnm`4!zosav3+a_?iFb*D_tt>{m=(*Mz zbA0;$A{3>S4DSqqPSj_F2ZRmFwf_c;W={l2pKFdINIIaj{3$LzV8%}K5cCw_Be$&( z$1WZRtXstx@u}r6KcmJ>e-4}%kpSKrvRmfh0{ls>o0mBUtT(bFwVANCpY#HT0mufd zUsVyK9t0M%DMHWwl*E&`B&R=6_uVpcMJj#>8wtcA|Ew0=88o1*xw6I=tK`yu!~;I- ztw814zk}d!f!6wgEb44a*ejc4vV;!})kCT5Xi|nG<_rsed?9=*FG!f#CI^dxS)3?* z=y7l!{1=om=G3eZ5-a&aVTTG3=%J=Kg_-TakM={f4)NY`X0_LU8V*AAF;u zXU6gnX%773z;PCFqpSeonjc^k&U*a=ubSNBT z5llaBq`AdU5x=(M#RsInJCfx;>8=)EHt zVtt>6`)<;nc4M5ayAvcz1R|_>dK2oW3&~eplADL!Q%cPpm_S{{yB;(L zx}q2{`AvVj4uoe0+he40u0fS7iEvuw{)H%3e%h^&v{Isgtt@c24zxj|e1a~9mdb+t z)9&=&BEa0;JF9aH47uU!vgE-K5ZB{fMI?HKw8jkzLfPaCBO{KlkUT6>ZuKzx+BM_Cfmm;iiXDHw6LUYEo{HdOH-4L-xry%)jF#|?tVW}5U6 z=^#e+%4HTCZQR&R9_GvCY%v{hKVt_m(&B^0e`u}fHbvP<;5Hn%P9-xq86&e_Ah}48 z6UJsg%sEDj2(?lfT8Z^4=%)`Y>(XqU7n?9j*?a_+h< zSp_G8nKMoN^;QV~nW)o#oAS=VsRYcp1WrUgf>a~pzMngRSm308SA6ED!A=NlCw*nm z*+u&4m5)rnS&VW3=23gzhIA|J3svxuK)K5aYx1Og_c)Cetjr0Tuv9(&LoApjM=#Us zh3rZNFe$64D+#LA+jpx%RnlL*>wc?UNRk_E|Jzlex!9)g_FjrgFLSoIj^eRwvJN7p zS26_2s)=6{1Cf>C5F~z!Ej(l0Ace0!CCu1GD6N zm; z>^2WR&ZOu*qMo{}su14Ed}=1Ulq;wu4nmW_H;S)(?07t%Q z9_)MnB|B=pQzn|mxjm9)JyzF6CeoJIEAVX^>L`NMDj-CZ;0n_VQ7^FUV0Sme>*4X1FB>6XRq`@4*}Dp6|iEl{@y%F~RKJBZKR`A0GYQ~70} z)~XQ0+##eCL4)y%v3X&rB2-W7aEN9PH~5n0wqdIwlpU@n^mz&LlbA1f>5rDQ;AkL? zhs9Jz8^A<9u6lst07J1+KSGu-0~&1&f1hj0y7>7Lx;wioZXJupQ1gK3WqjMfY(64> z_X<2aRP}vNTV^1T?Ql)DipWDIqe?YgpoE96^*t0o*ZdZT{*7+Bh4D0~VMSaTVO@Vi zntkwl2u`7ka#lU|?{0}3QR?d3BaTZfd>Dn%HAoScrvotX0Bb)IugX_!WloKcpp*}S zRm;$SI+4<(RQ(bo-95w_I8N<5Ah;D|kg^s2t5sdx*E#Q(gDpuS2wg5wS1G}MzF0Y8O#nwJTbTJW~ve+s9R(k~&Aik092>nJr1G7~I&?C%xsGwQJ< z-)TDK^(fqrWU9Qj;2{Gk@^$fFs07*cv*o?@EFr`xE}VVt1O!R5ei~LApsZ}3!dGr( z-ARXnNL@2k1HrpgKjMwVfX3WR8=0p5 zCgnZ&j(RDp?@xP86F2pwY@iPnVRv~#j1S;4hDh7~L>$3jC(>`h^Ek;LvE91MaG(2> z6kT2g&THqPNtvFr!z(9!NOU>&$YuN^tvRCm?H)dM-4S_MkZMq_3h@Byk#E<5Rr8X3 z5Z9%KX;(g1%ZNO9mlEUr?=r5Q@R2xOQtmW4FMD_x4YuFlQ91g}o1mzt#IfvEQg5XK zo?|sHh{RW~{c?eJbWs;AP}^(&v_X6LZ56@uU>YZR*LIpy!gT?3t+~L|mg_v~pTSWF zE(e9Z8Qc3A2EAns!zUv>o>=Quh~z&7I5viXJ+aGy&HI*&N(v}?7Om#p=u$%ugl4ZeyCarWQ+V7L{@4gbGgT-I(v?VJE%4*n=|RW; z-c(tVph@tBqar?0tiNgs5JYG0O&%;*+FJckeD6tQik%>T5Ml<_k9BQ4;|Whq6rh^6 zkBPoD;Ye>h!MD}uR%Oi?MJ%_;^#chK9kPee^rJ*n#={QpS4^gN6VX$g53=S4EPAEE z+I0Bjs!8+}K8yOwhjew@a{*%)cpfm%k=QnMO{7n@zQZzE%V3;gX&MG)<1T=m2wkx> zBKl&iGBW-_-ioq?E+0m3&u`54XIjbGBT)DLl(??HudEvrW@;K+q6{6OP;LKY!^IyE zDU)ePRu^FR2kvo|x@)ntjX&x&8nL!+`-&LfI9FK>^GajNDBf^GxGkzMWhWj2}M!G_N;Hf@Y`D1ffaO^{*J+ zBWmeGLNC36IK3>HFR6lt4WwnP`a*45=K!v9;}AOOmeT3ijNih2fO_E7M8ZKEnDWvr zrD;OD=DjWO(EzlU)EOYIc86J-MwPGq!_~M*i4kfn6LhT3ZC~~rOt0fs`*r)1hy&a2 z;|Y(K`XlRQ-)4OEj>wSzm~I#Sg~1}_(JuYfqH0xIvxgVQ8F=?yw-iT*1kn)yfkisCiBiyKGy6rMmG9psP5) z@{y)!pEt2V&pI3|jFZl9erySO8V6pfT=6+7;`~Zi9Ek9+J$$|NHbjmp*@a(~(wG^_ zUK5OwxiGE8Nq?w+7pX}}5tMiGRoVog+wUZE8}eVJCwB`$aoISBl8l&2cfXXqbGoD? zA=wF?>MZKFy`ttFYXc_r|x8 zGiTU+|3|M+i9#>+ru5qU*UZ%h<`2>wXi0*F3Y_9-0V$)Ag)Mm6-=P9Ad3@zL)p*-N z^YO1dZ|8Dzym9VnAj2^V2A@HA>YXgZ=~L*+2;ShAQ;Z3oOi;D^sf~!j`aZ8{Omj?_ zvcE^rzm+l^BpoPU-^7*zviP3hcte-=gAJ<&kZIaf!CRt6DXH!<*@5Z;<_}5?9E;*d;Ib1^ zUML*Io=AQjqYB~eVQPOY*EK6z4r}TPhEJ3`Q)BY!ZTb% zTn%<)9OK#31L(TRcb7v79Ns*!HP;@2;9TVrKgPm3um-t1IJp|vPn%(G{g(fgT>C*p zD1&RNj+v#m6Uf`VYzmhD1;}q`q`>N=1DAx=1q?A!)$W}Ebg(}}6kHP3_GZW{m_+l< zoa3b;R19%{f#;8E2i{RA3g|gfHJU4uPC_6I*j=$B)#?4~=p)1HPEgwqn8C2px~P+P zTo_LacqrzI`xE;3pGQA`4drebxxT!T@ij`qvLKfnZ<}NCJKktk;CLbc+V7g;b-EhX z>9R7uyoH{0J){>7AX1aK1GsP$Ui`SHH93tqc0281?5!sG-F;jddJTpzcl2c&p=VjM=i$xq4!5IJOSUa3#V8X4_kJ zRSYZ#uyYFiF!T`U!b8B&b{zv=^K*wmwSJ9`$b11S!#0%B%cnhmQ1Zn~f*p+Hpe1*< zW#p~qLh>7QP_3zlYzHi5M8_yPgF+V!nIeQ+r!irPSG zTug?a`kgSYDRg)U0Z)7Bgv@0@f#Pru`oqd*LbKw%@NGyfJMTEOi&Zs{hEwp5c~~J? zr$m0qRC6!1V!fdl9U$Jp=yEvf_p6438k1s5vPMVQmh}t@5ru2m{{xO^q@wW55R^iN z!{K5MY}DU{2rboRD8H!ukRvO6pI4ya_XNtb66?RQG*@J0M?$HSFbvBbRA0h{k-8zq z5OZ2)*cwUUk=2LSHme1a%cef>b!}>a88eWuNz0(kG9j~y^LGbE^;leyTEk-_|B%Ag zZtD1tUYsbj!z;{rK!$GdA{Xj&;*7v78%7W8RfA?P)>vPKfX4v}6R8~=^;Z5i3o3l3Din31NW>T!px<7l}$^=Tg z4X5jw9?)jVv2a!*Iq*T2h^rrCb)9o)8oGXi_6Z2RLLAcvGEVqyBTx2ADLT&To#S67 zWQM0D>g?RYvB5Rl`CgwyicT|_Hab3}=_!JxB+wDcjDz6P=Kzf^dW_@`>|~ z@U3dQz%Bh7Tv!{z=gLe2LuX`9@)pO?Td_CZznps2ngVk^&SGRmHRb7QLHF9T1tqU& z+tnDs0ZUc_E3pB$-6BvP^P-Q+Y4ee9Q4S|(z#QcNLO+;@s~cMZ4t=_eUd8LqDUtBB z47B_IU}OyE;HwsUmXr>jQ!J|&qZ~cm1i%`TtJ4dlUnj==j_*DiEQgupb81$lK=La3 zWxuD!Tg|H#&r7(Sx8z3>sBvs~GeHT+`34@;?=?CJ5%y6fn{?s2{b!tEj9 zKBR-fwRn~%<%nESOw+$Np!pxgneDxp9Cp+^_VvGTV|5n#)ng1r&h(H+Gx$cQW*01M zFQC_|iU@yGm{3=vmQr1@a5Mez0%zYAWvf>DwQl%y9cwY+8`BilwmEH5_VAV+6AfxA zx9-};_hc}*WPDDolS-8@4Gos4HVw3490C%VyJn5HM0J&nN=Gwggp>8r2QF2yAQuW4 zmOJ%BET>o$lgl9I4()>4e#9Thi~+&W0FgHEHARIl6vkUN|J*v+=9^ZqiNl+Cx&+DL z2Q!=^g*Di^&=N-A7iQ5;AsxhD%9~G!C$9=@U-z;(W_R+53~|@^Q4`MA-o@lr8>qT$uV7CjY`>8YP^rx3Fx35Ifr&_2CUn4wj`#Fqsw|Q*5KD?m&6j&k$ zUy#Pu!0LcHBA6+9v3D}6efCvgtx+nKFOU+)o)U%CFMrGjOa(ku3MaKn+S93g(QjNN zC3m?+rcMTj6RQi)E8x)W6#uLStogRt+|5_EqSufrB(y@I;N9cGyH|{3BSTQ1MmNay z^YSI7IR&Ffjr7eAp3pq6SEG1Y;7Uu0p{Z?qjfD^BD7s-y1qO<%I{d5kFGRlYR47LD z$>DAxjJOV5kQV+N6IWjTR|`LKS6K8w$zo{I+ND8_q><{UUXw#4Fb7_N#4bfH5pIw{ zhkpiuCFFuYl$X#eK|IdZhh<%N1!vGvANoa_`+JqFE%9g4xPc>6nDyK-{hL}ExXvkp z#MO5m1{T_|(lEF4%WU~>*EKR{C6yemvbqE0WYzZ3XEw9Es`#~62WZ$StMgsn%X&9O z`egI0qb4f#2DzTFT9pXW*vHwT;}q=ijr1@wg01k*HxR(lE*k9>YspC;vcp{ubUMxK zU|b`D0tB&6@}o!x{V%PNF-1RJxO6{0i7dWYmBZ5K+>dD{w70DrR-6ewcyGn2f}s!$ zJuT;qv}<)S0C*+;!!;YM%BNII7s8#`k|5*heUS3hPTc2@tx8h^a8d?{!{@Q_uE;L& zD(5^@FGq|~fdIk;DFRO~vT^e#36Q@1vyk4*pVHFoFu|y%a0PMDYWQtgQQ6ChyH;kT zM-7Z#K)gxpvHE9hV3jf0}JAJ*l{xXIj^7B41WFDMj5Wz3! zgLR-2xJgI0PyP5r83q_ zGdyabdjz^dwX4?HDlY`F62k^o9mvL8dZ3bSqxDphnKSdthu>Lr;CSrb3{&T96}$5g z)AK~(jZ;8F-~4wEVP2HZf_bTeTqm%Zg))O)s21gdZOxC(+kzq8zS^;QJetI+N{Es! z`1734kb{@C?4==OxK8u!1WcOlOZS+RCA`EUpU+4uNYW zNXy16m-S}ObUAdB!s`XkuL>++E))ueOAX%im4>H~R#Fy>V&fy5KhqNOgL7LZ`P}oF z%$$Z0I$0JDT?~?Ak@ic^C0LkBxDa!tQ~}TGG^iQ;lBXhPhPLCDdPQe~Mt!BYJ>QRp zAssk82(bGtAD)h*WxY#$hy=Skj+X5%-N1P_(ZfM$M-^tr)8svQIGCmf!YWt09v66G zjO5+XXJV2?3ZZ<)&;1~wQnwEH87f10<`E27ukn~|JfhqIB$UkT2;WA1MR_FrIG9{= zv@J6Z$7WnA$y1KU`gejirrcb{YVh!OD~8Bjwa7F4ht+0Xloc8k;8tu-)9OP>XC8VG zLw-9z_C&s+{I_(B;ZY-!=$gMl8EyYE z_N)KP?#6(iQuz!u|9Zk5iEoo#*1j zfOFyvdspMx)tk`LbBZCwjn)~hty2;^>8I>PSD{>z1j9>kQ4EyLnZU+w)e6)Z-+4f44 zo?8*fx#sOKL7L`z4?9?_4+kOU6DYTnWAQg{h#L3Be`N`51FT5h0HtB>>FR=rQVU63 z&!(y$u#~03_>WbqBRc5=Ofi*>=Af1jOD)GOgA}v8UN`P^@lYGuB9~jr__l4a#n;GY ztK+>pI+g&}JO>v^QSI>l7Q@8m_49C$j^JQxG07m6W*i2yq`?@cx`Dqc{IOjz1P(k` z%&U&wELMr%QTT*itKE@KkMGruA}zMx3dPX^UsfE&&vN&uIEQDCU1zuC1%O=G6M>5( zOguuM%F}my!{zsCL3EOsJ%~}E?p_;GG)Hqsg<+Q$(Qw)^b42b(+wsXl~SlZn;L9d zW~d-kLhj*-@2=*7C`5_QV)H1_rh^6LM+_2IJ-nfVi1BLnReeAB3!5i?Lt^_Fe}2M^ zO9k-D8MAvPSywiCbls`c)bdbjV@ZI~{!`@KAlki=mD$vMyScabAe@6xavKV#%_`&2 zFqD#Zf&w3N-ae$2*YjB$J7$j`+h(#=;TnmNbx1i?3^x(*8E57Wf+6`3CfA&zNYSGysl7ACVI4<~d z*smES?Y9k&d~Wohr#TI`pwDfo*PBF6#fm{I&w1YFR=!#hZLo?}YI-@57CS!`O3W5L zdWar&pKDb?&H%u~!Nvow!|!Lm^N{gB z$~g8G_Qg>AOEy1mcpdE$VWDzWBi-X2r1@WM5MeGE#gGFyZHI--I?k=(b`^%y?sI(3 z(yNeed#I*O5sw6}s+e|6h>g83Hr1PJ-mwi!Ah8S9%S;ksCK+qad0pZFyb1Hq&*UKW z0j2`G%F$I_UBSa3)m!^m#)%isP#Dg8I^M-3hls3^;S~OMYesy0v*E+ODRaYm@ucUC z?1+sgPj`3ndnO*gt=FBtUiL=LD-%9GCrnaPVvL}7@@}&H8R5| zCO*96=+;xx5*!C&oL>%^b<}lPWEElk2;Auq2xbuTT4lE`WC`ESaVIefI zjh2;vV*&9QDj}p-Hf+7IFC>M#Qq0Y|9n8)EAJ6BsG(&b0G;r7UotMp@o~MX_2}isq zrP}_hPPIn&W{{!l)_oWZA{nLaIA-*5hHs}+g~CP@{xZ~pybIsm%U@bTabgg+)vWnI z?Y8o_1>@a<4;h4(`=UKQ%0FWO!y$Qd}yCOa~BBS}TJ#t>S~ zs=!8H9+t-PGF5w)2;n={?GM$Yb9W1wmB6Pn;5v7$tP*HLJtf-vq|wH#m$R2GY)JE- z(RYlv{N*%sYKLDs8|WF)zW~rCwBZf8XP7hW2%y$mW{MTL&4CW%-$N85JlfX4Td-0@IZ#7gDYM)zkQ5))VS-&ON|e zJw)m0(uj$>!(t9{5+X^t7GEk(3nuOpu$Xa{!5?(7>(0KIS0msCF-{z;C)R;w{I7QHu{ve(}^`)T?>m@3miNlhO4eYSjT^i9L;f4&?fSn-4Aa7*^sv>Ssi z5@qJ1@#1-{0w$QCEt;Su8-9e(bSP!>>f#N!oq!?q@WCo@)b8r^VMlcsMP6T}uACD7 zRNm}F_kOH7k{V|pfAA08w0&tPS%t0XeHX~brZZEdofEl{VVqh3w|)SfxT0S7(lS zH|7q5qI~RUv&8J|mkx}-U>9{Jk$?^R4!wK}<@=6gLw6C&;Q0;a_s_#m+U=V`Yp3D_R1#1!H04jfm-X)Ft zJ~nQeArn8(Byc@fRZk}nup&(}Xc&~0&WZ;9k^`F_uq>pboDm_H7gc_2!0Ed@V}Z?o z6t(uGGOrmNRe}Zj_Ascm{>hW0aq}5|!QR6-ehnV}Ff-b-sr97cz~$X&A83yUu&Ah< zaj*RanQo)N{Od(-0)soMZkl0$iU)3aD19!LfR(M9`EOWb0qZ^X(S7ObN;0(<;Ul+V z&`bW3@lhLT62~?F)(X#6P63+IW^EXpkK{PD5{%RLmCXZy8#OSAGVGf|?73|d7LJ0$ zcv?kT^<|Bn0`Dmz6{j{RE{#V1UXEwOSU-?t%sbyi;h)==7riYGVRMYfCw4bQDzVSw zif`FZEp6;gpf%rIXAaydQT>sn+gE6+0xMrchz5f5c9->oqxI#9y+H2^Mg&<}f53^c zB;UG38}RtFf2n!3y2C#)n24Y??uQ*bxRTy>Z@C_?5sve2p708eZ$aRj)CTZk9evI_ zy7F9$hFOa=T)ULBSh_99z)^q5W+NC)M1&-izXit(DQ#qii?T>?=BZZX9O`_d?U<~N*hO~L#;O5rm;;$sa4;}ajBWa$;QRpPr%b$U*`{<8y@+buSs<{*- zX@W#=mnvY?f@zIQ1#`Kh~r@Lfb7yqcR(Zk`>O8Mti zjyZaqV$!K8gE$V!c3Nce(+$;y93$@&yd*JW7;l}l;^pA+D?x%bwQ{bP$|C!q+>MID$ZC996o@@xo@osfC`KKc`p_yh+$pgLnYy!A1qv7rU7}&X89rOW?QJCOg?bH?9ER?hMJ9f>uIlIWlrS7Rj`b59?0S}hj>u_u){E?7j# zq%-X#LTXh=rjku0NvW-eJ^1v!TuLldkQa%hwc?=)Znpgndi}im4zF|CI65Pvz@zZk zw@IM3@eIb77=wGzLv`?mdVGNefxm=veSy8eeji=FKm!8(cpM0R>-Y26wai9VH0|uB zSD;tk`IAaKZI=y-p*f7s*KOEEw&^;S*9k$jbZX}dUP~2hxFFGE)erJ5Xll~#hwDH1 zqSIMIT>gwp+v@+z_us7ejqSWu9v*pU-%@9WRUPW6}%g^EGll2fT1f8utBYZUD&ZNQiMY(5?! z1f%!5pDDVa*#_a=4v_+P5K^$>hCHFdOJ&^W|a@o zpcI~dtzR%-3Li&{5ezGV=slcml~_KD|UCYCC0 z8z3Ke4+7D%aXaf`H56Vmo{6AS3)!jMNr5AtD1to1KKM8f+;)x z_(95dg&_$@~h@Irh1Ec^;MG)g7mH3eeckks{eUF*g0Z4+EJDx8jxsJ z;b8xGD4^ieOcFg;n_P4!SO`Dp=bf4i_?mG;CRX8v#B?+M(CY-My<;WUCs0b27vsF< z4C!(v(suc=ngu(!q0Jk=WM}RZrvTr{zlwzg9vgR zFd*fM(%g6%pJ>xpbCigaUZV~aC__4hP#B)v+o-*!!+NUglRHlJDxKp+DcCST;n>AN zv-ipeOFBxj)T^7D>il)T9TRtm%c9$8BhNsWqzBt@=4HER#bv1quV?MTv`>d!Sh@eh zn4B}^yz&)Bt;+&Ad&lWb_L^~Q4IQq0BifA8WJq2%6JNv*;}j&%u$>o$wps~Sa}A)` zbJ|?hXn~t$As?Kh?jWRQ2={Ht@V$>O9v$&hGQWD<#Z7uy8`xSI z;%;|Hi97>xMwwtl&GaZpH;_DmV?(CA)O+@G2vv#p69c0?MO4fHYjm+QP-_z}Lf1Iv z!CxkPb=j9+aYxqLjy7y8IO8M&?aH$Z(3q1g@67La807Asuf`mnX`ClbK@3{>A#B6e^l++GcaKBKzH=CdaZUS6rxm_?MD{DP z?Lq?ccO2>2J4xVDj7P!m4OXMwVWDdhQkEPFH4p88K{L1~ZtC zgg5S0{FDfS$|1l=a^iN-PSRsK;!LC=rHN?g0h#L=b-%p_6`>ie zpr{X|j$AsY!_$pk=k_Q*X!Bj?yq%w^oW3UM0L-idS!m_U2T* z;1T5cE_zf!+OFVwoRt-NPLwwybM{2IaWZvsg@GjN$H`{_s87&=sb7*nf zCLjJ}zpYQL({GngM=z=c{|VLNy3qO|GW;Cs4s;6%e*gHM)Aj%l`TTx5=<0cS|K6Tj z`>HIm%de{`@)i01HJSaIfibCiRst-vres_omjTw&g8o`_df*g~?rgmV0Wh%(HG?E5TMvehE7|Ow5`U+R>FX z#a;yf@K~)1yC78FpPlWghAKUu4nmOR-7C|95C)Sdtt(-}AWInlGAK3E3BK-tF&q9r zux@6g>l#Hq`KKsRJb6Im!%V5zFO>CbV@w9xGIX7&Sn&_3VhUS7Ku1_tM&R_xQp z?7X#w`Z$gCgs+Tr64wG=oP4qk+QE5dofQ?dA$&Q=P68GZ&aM7Zw%;D!Q>bS&bj+nU=^n!MNpL_|5cY#&G5eY{Y6@yHcw5>GBJZ1<;4sGHYy zhTzMt26iIIo(~_|_fZkMQ@;b2bRfi-S?8;8AqDXP*=o0{n3$@ET-3!2K1Xxx zX;vRHXDiI2?n1Wp_##S7X;d>hn39Txe5#Ql_ z%Vyw-z`sS=t}Wc0_-3Je7eUQmX=dB@Sx~XwmWeM8Sbr@I=vwQ-iQb!5##7py)=wI6 zw$=Ciy|%$^=CVaD={`tz`qA5{?lkZw6ske*l#2vF}!ix484{;3rNe*i$vOn zqNMqMZQ_PrCxPC)B&LfCjZw`PAZLDsu_+LO%IAfQ z0DLf9MhMl*JrJJ1fuQiza{g{JHs4Ge#xNYtWVz#(Jj2`sWc6EIh%Z_+B~u^Vk{#s+ZemEM z4*V0JOKESk<)}r*gZlLiY^z#&!xA;s0v>ye6I#94yqCKEowPZleQS#Kw^>AK^O^aJ z2#tqRGieT#M5Xh3zWhR`$-s`A zuar3e>pzC4!>`cfk$x(E6~G7iKlTQ!4^N+BfJGte5Gp1^_$QbO3Mc|t{8lIgB` zUiPF+nx=AeUJPX&?TPvul6C?`{~xp!2TONw^7fdbicykjm33Hp9$kTo(7~{1VutP% zaENV6wuiEbv7*puRZEED9TvjfZA{b}?_k50e{WV=87_@Y!*!D0MmTxmh|!;dmS^^q z|8fPf1rnUlS z1f6vSeN4@+l!4fGj@(AsJ!NmeBP*(TJC4JV+6s}GjG{0xg4KnHZv2UYSF3(R
Tl zP&Da5jYcmbFBTr({N!kMQcd7WKu>bu2J65jirNjr>nJXQ0hjbRR;gXOI`M z-xZyfABRL-GjS5-hR*$Gk<@jfZMoktBU3Q#Wr8*mv4gKW@0<{PN?*L;N(KK^Sw5_J zNS)u~0-eU%j;LlUJvuq}6_uv0BNZ9{hLE?W02l)OwIG}b;l5)8f!=x-k zj0*1>+S*{UwTSwu9L@iPl5v(E(S|}HB zvGz&deYvG|xum7P%5~c87!#E>o*bk+$l2>#uqDjFBa85s<@ChL`Qs(@66OwRzlCym z`RdnM zl2rlHDUCSj-_DfO*%a1ZihzW1Zxa6WHO$TbN~)7GiRR038(IM=ntrsq(5~=KZSz4n z3x}yc`mG6L(=!CpDBTKQn1bOilS;03$sb&A80alWSH4po2EPI4WW!u>{cJh?wV`{m z6l2DWA@mSToz(a3CUs`37%Sfd=WdJd6y0)0UD>TC@DNvS{5wjC%lQeG@i9hd;ZSTR zEtsCv1wxuQceJ*gr^0had9#@%M9}dgsIzSpyz_JEeo3KRMSAQt@FmNVsp2qS?MXCx zJZ_-7X`HJnO5dm;&C9JPymB%$D0mNK^l?r4b{@rC#2VKBs!e-ln$@t0Zi~4yk9d56 z?u~&Oc3XmARGrTBaiDq#SOscLmOq~0QR1{1-IN$Leg?oQjLU}1w?oEj&iKm~!9E;e zK*d>R3W%);8*0r1)$Q^47jv;EQu0e<-#!J4_&Nq7de}O1R0c4dXE}JcBZzFR)qmW6 zVLj&eEx4}nDA;3-q&nHDUY>f*SN{PYg8%iOGev84Q-Tu}HeFu=o-+71B-H7}84_|@ zjJXr-VRDvPgPP$Dpk42Rp0LFtG#-y^|ad?=KMS#DEsk>&3OP=bVVZ=yaa@hLpsRSy8BF* z>!Fn!OSdq@vh>+kFID>`L7>~9mQJNJbcxG*ciu2I@ajJ)5&MN2xUlbVICRKd$H3(f}gF$8W49$Vxp~#8cLGH)rQAh!d4650DjkkH@x3xW? z>m^#P)XBfXSu&@yAEQSyY}%cuY7TXTdh(3N9plhQ5Ib_XJ3$Vxo>;$9yD3lXlH8G~ znV#5`&O`%10qE!E?~wCt$3R?Ov8M1azvCW&1l7)i2p5>{?MX0*hr0H*2rni{J!v*gznkHHleqxCwrBpdKAsud1#;;8jrA+*pw9S+bQv7Jah1~ zA}hE6XFDMw83@lS6SMO}AWNT14wJ>=xeI7FhM-^_gpcdqmyGF)J1Ci96KE#e!@)9Bb(77@zfZRS>hw6rm?_JU^Fa0{rMVWQBNEP_Y7<+-?O)_EyS) z1}5N{W;@?z(p+XcGqMF7YtFnPZX*VYwL%Vw;2vfliIb2*DOgqi9t)n+RtuYb64t#^ zMY-zMOaoH`WC3pEuFZxPEs8%%DM}7G_8ii|1utWPqY1Ol*_Tkxb?9S)SnobhCE|LsSZQi-1k zvQ#&8rz$tSFiFIW$Grq=h23T~5sWb*H3p-R(YHdE|g3Gm0R*{%SNwU59up?+!S`Q zCo!BD?u1KBDD;{t+*LdH^~-Iq^OyRp*Vu{mFbn^2>H-XXw1L%VMsv=$2c+(PdrZQI zk>RoZPkgUV06{K19}B4B!8DHzOI~qh+G>EKCMrE^WIi8)51NKLp!WjX>cf zwifLllp_)C^59uE4{m#iKXIA^eK358x7Yp6E+ky z(^pSjaLi;um}#t(tR61`uY)f-fyVETG-{$p?@+9fwh%(<_+fKTA4#Y7rGoyl@YrF?}8Pz}VW~0gl}{M<z?!t>%A5?d~$SM2D1uB)Y5cKBgH;LjD5(P@)L`%m)<%>VYKV3+^fpjW9PFv3+85 zOL@6**T_&HD5{?vYzJ{GSvk;0Q%U<@z^tmr>hTwe>q)1lAR3$GvQnW@!$m|s`nTceA!4`iKI zEZ>T02e-Z|TSlEi2HOfO$wT#bOYP78n=3__$ArP1BhrDC>ccEP@s4)3FeRa{+@d;0+R@{qHjeezz>S7)1t zLJlufc-5ipd8R@XJ1kINRg43rmNb?T8cl9G5mBS)2fxt$!w>REN;+s5&r~7n05(jU zDDxuRD-%q1FiHDW9;h!oo{}5xtN$`{X}vG5d0{nHAa0*vGite-ETzimY~@}=ttXuh z`lbVt|G{T>+rw{m`2_~2(mtYMiS>P|T1yYq&tmB&Y_9RFfPkyYP5d?mRUccFNnk zfLt-!5<^KzC>s+BF0p*F+gVrf6AJrJ<#^Q!1~?#Z+))$>*M z39(*(MN;Fo3FXkOU@tYGTmwuoe^r_~1Jq&6_PK4gyNytFUqj~7OPSnfRbHR?KS>pcY~SR&kj)U3h7wK2e)j=k`CCTMcxQ0U6@Es52|_|Vs%X7JaXsr zU7-FP+eqPTEF(<}kJVKy?&}p``0;k+;-havW^bsJV=0YH`Fo8A@R%!L$Aom%3Lo`1 z!z?L$Qk`{_Bv?DMtA^E5jX*Bbyj^ZtTI_ig4q8hZ^@baA5bV!6`mxJ#DL@>cKjxd} zL$QQH^nEX(6()Eir;)-CZr6h@PJoOT2DYSga;j3!%9f`7l0tHri$OalBli{N4rWub zhE`qEk(%dV!^ix$F`R~~S6*41`~|+*zz@2(LE3YDXT#Q&1DWvy#?w0lB__U)r`48K zfq@_-Y|E*H+!D3Q-hcfTt_q)COkIbI11Pi#32~2bcX{3^z!2qB=Jc!=l|K|2r6T ztH(EO#f?rJYeR5bCU!rE#k6_GfP`_?|JT=!In@;Y5ZsrqJH0ChR(vZI#z=YpWgBEE z<35LC#a?=crz>DOwWPe%8%bO0<1Bf=+5#(6BvqrDQ0Y`CUfX1_J+B*zn#pr{aI1;4 zjUq?vuNPtiS2v{|UUXQH^!-RzH({Zwh<2Fo{UL!5E$0k`EPytBWGZwXg1DXcnPO-u z28u-+LUGjUzt%1{P}L6aAbv$y`71ZFNN?WAtg-N$$}N#dxo)4>yP*#AFDkmqcq5c5 zfQguBM+*6<7^wX|1QnWNeS7 zu@VDrUrCLna^*qMc$1~m@QaSO^Bcise0lg*wv39Gejwfe-C4gHe3a^1!ACb!R&g!3 z$GoWDJU{ekPJ)^ue$f59;7I8VEI+WWxxYB&A5PC2;BTFjdd5a$GlO~ zskT+H&yLp+=`YvxRAk%IgDObCl>)9;yXryZ%x(K#52Q!L+np3C`FPyjZ{M;`Xxq{Q zlH`;8i6dLuKukv>t7#|c@vbc~MK<-A?kt$aMR9*txSSByD@$*MixU0^ll2w zzW4=PC!rApGx=%x-US@1uk^m#2RY>CFJ{tdI7>pISahlx!rGEjJ4@O?L5wPC?|;=H zn$G>MV$7z=XX1BrQx2{(2T_ZaMFq>e1i@%NGsADue`D4a^>&R&MKIiZ{{KgHF3?+$ z{{LE?JL=onJK6r9V*UC5BN_lC^}n52R~Q#Kh~r}lBMLRSiCWn@#dan6c1dQ1wMF^4 zsro8P$>|t*`pJpV$nMfpRB~XE80Mtt#USt4=-ipy&@IrYK=k0D;NCu%K>r^mwf_He zQeSf6lmB_AH2>FC30oTndUHb;)Bnro4#NL&lMw$qmhb#OEZ=J@334Q}X)JO?vC>=i zC9;qyZL-J~DOyQkIjL|cbDB&`d;;rvLc`?HnTJ_^VD$HxW|sKHq4jz<);^ru_@Tw z?SJd{xgC4;4Pel(E2?OAi|H&?ieLCWh4h`+3}?xzH6GuznUugpMR#dVjWeE zN_odEk`2Mc=Y?>Ec_-=}z+{;O9p@ItSy7yXEh_Uz(HrNJc%CVo@Xb|GCd$0Ye#JAz zRm#6J1ya%D1y#);-U2JJXLO#2zlpv!HZam@Xl1~MQCsa>87Q+jdPDcywI;-vrr-Oj z0`hLdnuBAGaA;S9_DEgH2k4T{G~$z{Fkjy3K4OMBE5N>#%otAdWe#riUyfPav2=Of zF9qO}%_f$WR~eBJCiS%aENWiZp+9=cutf0Zy6G;@R5W)T?xpHqvk56`;!BOWKf4MfqdOXX!l4gp=<{p0UBBSeMk~G z__BA&EbL6cKimykDxtT=T$4#tA0&yv;}lJl*)5iM&}CshE;gvtMNM(f_X`s3A6b3T2juRo;$^% z-6e-QTEnk~_8~&(b(5oEaT?|1Hc~jv#`t8|7wYUwEq0_X*ulIW-}z@-R|elNR1B%d zqER#3^0yOhEU*T1sM;{fkzgY`F2oazU_9LlpW{1-#o|^v@Qr}G{1M7xy9>LywjH7- zr&nN<13rm`eEjHE=1IH1f)f`y`-~tGK@AIcFffy}eW4@d;wEz7lBi3;iw=FGTfVP} zZgZ`=0_}`bF`z~XqL1&IUMu(`p1Q^exh>Ran?=+C4(izF#cm|)l=y5jcy?<$i6oo% z;BiiFLdO4S2nqQxBL8Cos(40<$(SauPhC`&UE-KePe=H!4+KL4?LD?=J6FP=A!nd1 z?8ksUztMToFLRbNcxO^oBcl7~`Hb!$ zzWC|Fnq#_*3`4iGo&47~@IA{YbZ=77 zwNc=lBZ(Tg><880dTmS0hFciST^NWWxVSyXNJz$;0>(_50f|Ri5i33L9sbp%Q(SsI z*3_bqqDaguv>4mZ0K0hv2wi*8=Bhce3eU8LQxTLLg%F!9=oN2iob3oeH+lY=Pn;(FB#BR@g`Oa^SBQzM`B4ITwc+9!OK>!kxc&IVvNA{4b1}i#VJJ=tqf;xNnE~-qCh1UTJ?ZGy`&QQy6uZ;CaLCx9pVF_Q|I=M;Bh6O&!?B zU>appS=>$B_F#yhQYlV>VB^Z-+nbxEN}OTET|6>bTWE*K^HglS9}!}3BLCF<*Xm^` zfG4lLV_~VC&dv&gQFtCftK`EI4@_lG$N`5xQoZA1lzAQ8aYg%slG*WYD7uGM8c0Mf zMS6)sz=`2qj9+jH2Hu-@ls?TcF`9|jbcPh>jU z=1|vMO;NN(e=43nPN+_?!>Y;1;d-WWDwx_zw*c z$?#Xx3wUP9tS_)rUxn-m-seCYyab|VUZWN23%2vwE2ptxh7~-L=D34XJ$q#Mu<%U9Y1#f6MAWt=3cJMDh zHql5c&?rT&;ml52_P`cKwonqQi>H40bC+KHfkTY*uszq#SPkeWZ=T_)W$65LryOpP zz4NyB_W0Pg)058)FumSwJ5s+K<|xI0LXC-4n$0NFM0$u6chvqYCBkbdE5Uy}4cV6# zg28owd3o=IlSSMbcnK5q-qTnnHfl}Z-8na6>pIY1p3^2_66^JRuHTC|Pyc^bbf(FV zeqhhoc}%C)BuC#J75Z$tAP0EM<;)o~Tyz`oMEv9yAG&Z|$v>#Wf$k`edY%qEK2bV~ znjuBJpih8mywC3$FpbZwI3_=LEO-y-zUpG(GunR|_jK4tQdW*j*IeeKv)U%C_825} zG$G39g*K*=a2lvjNO>1bHo8s-L1Jm+Aw1D&?)?q}Mun0b7A zx}7<|@$`1VINAeET{;@99}`*?osJ2R|T=6yR^j(hCnHF?FS&Pi43I z!S-&X{agK}bkaKH%D#UMYpbj5+Y}{otZE!QPdNZ=XLRM`+9@Mtp-B1JG9e(JEL zC~I(5Mxu4}26y7_$fiR=5&4{;i~doL=Fy{Qc=O{#(r65x*LsVza9t@XIrBM@n6cxj zDHqc!%XPxd+dRB!_Q$+T^vw5ng1Rh|i#Xdnj7}e>RdY5(;M&Rw?z!LOio~EvkT+$+ zH{Y!H7-q9`)S!|YOHCxJfW9iPp`+20LLpTXj@$ZI}c+dVN2{6_ir zMSB46ARVt&C*VK0d>1Fi(zf5H<2IbZja@eo_O8@|_#a=>zcqrnIu_G=b~#xB9(Q;r zs%mW=f@C~Lmkv>xP$UjUvGC$e$G_^t3fE#MpaJEVX!exJ;StIF;nZo(48ZY5WrM}Z zP!|{t7)-wtMPW9-1+80%`dHn1S;P?&8X|gTZmCr;2U+)E^gj{NZfRZU0SuDf2*G2T zQY4JsxCEQ264ROeA^Sdjk`08AY-$t%ZUBo`NaM=N`mb847-g6@M7L!59?N#JK{=x@ z!m=c-_|=TmwB3aSkcJswQfWL^Y# z$bn!wQ%X_T1PT(iIuk|9=|O<5JJWPa3~aX3z`r^QuHC=%{g(rbGyB%V+5U;(cfuEx ztCro|)w?C&iqd+JOL{Wt?3X~1TkUi%2j~=XEL@x#; zi}v4@z3^{N%^vk^>z7-yHBNp|_L>N>>0D_8-J%H9Q}Kv_7@vh>@046w=)i#&KjsPo zDdwsx2mKui4_sd~h~h7U?-HTCj>kXH3{otC83YZAK5Aq|E`KQK-;4tjFkzEeJ}zgl zjI~o~&+Rkg?(4dVURwxllBI<8Q8ZgCroiSt`Ft{WLQT1uJ()TbfS>(oKC zTVC_q`M?ez4B+hpa6L5a`=9s-bXsDD{oyzEsVp_uj%xeP*r`}pCio+AK7Dzf36qMs zPK+bXpj|GnhhuxPy!b{r`uJTxu7>v1$XEBc_Fb=tUkYOs%9BB{_2^vo(#h<&d=OHv zDgT@^Bh`0*L!?z(47IbDKFCMIy0uaS)}8=geOxZ_wH}}0d&ApB2QSp&B;Cn5lIh|s z!QzWD5Hg%VHO$owlCp3tSeKNy*>&Nx%;p~8V|xo3QxNi!E; zc95rQ9|bonJnvp)Ibg{t`(~MKOREZT#r_-s`G)LC+@Y?X3{f~h79NG(kYW2AK=Vj& zN!c!jwQFtTm)B6tsDxjKwd!6vkRPK-9?JsV!hGHB-}$6xj0Hbwpu~4{2D)J%8?4+5 zbduYlciYtd$x43as!$f~8|+Ox*^V29Ki7cu{z#kdp)eQ zlKDkv4!a`vwQ3+0;z7h3){$|?BB4v7!rW^_aZO^eu(J8<5>qP{BjdjIw<;Lmt&4`+ z+k-~`4M5)XyAtFshe7&OD*yKMY^1yA7Ox|O1Wh@1Or2$HS^A8C3ZgaF=z|viEzXZb zlJ3GspUb$07D-?-$Zp%Lr*dz)kN8q$Mq(tWdD-r3=r=5kPyg55yNf8e?`Gh0&2%Wu zBzGG(0HJ1<&v`IAfAb|LCtB>(xWZOYYs78Ga7%U=tAl;C3KIK3;MnOw0Iumqg0bXiQ;FmFj?VOA6wbN1h$ko<48oLDxmQmVe;!Z! zR<8x)e+ze<$^SHbdd-4~cRsaXyxXx@c6`5R?98~e5HLLO?a$%{j1YZ(cy+$G)BzG|`G&65u6Pix&Y_u(I>7N)pAa5A zy?|)o;(bC;ejW6wGUrd7Y8#R7JK^c;KyQZk1Bi}K?qX`H9x>lvpwC2f#;VN6cCL%z zGxknk@&&qv{z16drThHIMndcMb>!7m6T@33K^G5CXw?6RShx2e8b0U9P_L8wa;#m1 zD+gFdJtF+RPCr<(w2%M7d3{~-7Jz23l!P!;{q`F7aHDvps= z^yB)8bM3$HAB`6QNNmg_cN6nm)+=y2$_r6cL2Iu3tCm+Al^ z>Eu5rBX6sU&g-B{YCcHH&lYSE(YZ%rG8=QZy9f7eeShcN#)%FX5YbI08|(@;!j&L} zklh$*T`4(k>IKX*<1`+g#p0lw9hwZYMkw z+*4Bs=brEH0!D9Ub`%JFG-onNUN^@Ji*q*Hdj4JD-HZ3NY#M@jy){I8ADzK!TIHaz z_(4uHEzt;fNp}#gsuQc%|b(EvX34(#6{9rJiqAmLRkC{NjVVCzwh&n=obcw^l&O_d=bV88Do_zxzZ&;SH90AW8xN=(kv5B4IBJ<`FMu#4d z%}PX2{h7=FxreUFSl-1u)@Kl>W(slU@7_(PZ#d=WqO!f%hj;U$#wGSb!ob zt~|ZTD*kQtQl-ki3c`^BT!*rQf>E$?fpYA^%~kpV?@ z?AL&2`8^kGFhjOL4i)H%r!XCTmGl6IeqwuTtwc-<2!Tin=A5y!SyQwEH(G{bA477Q zC9SeKFS{;S%MtsTg^EDGqMpNU0x-hFP2bq01uDBs&~^a|P*$0R@f5I;9(u(2E`CBe zqEsp*-9Y^wsts>ytYzBIOUf8=ZPK?B``HGZ(RWu+54%2W0l%r`GZ6=M*;-uUv((eS zV^FK-TksR%i(iG_Ur6+pt5I>Gpsl`ig*mHrQMC!xgd)kra*t8$!xH@Y%+a5zOktw- z#Ycj0H$ix`Sm8z6TgL21T(sWzx&PdY>f7(qBS!W#W^FYw`A6Qr+elomV|p|BWN1crwP%z7-`Km) zHb|Zh%i#ysH>5VQ&y3vlW5Oj7Lir~cbdPHAw$o+CA}64?(;UHbCT%CWb|A2CIING7 zG)Vm%FdA)pN1ZmwLW3W_J5N0boNdzk;5a^xG82l0&&P<6L2zeH+U9c0s>rr5nU>f%=D|4td7W|1sP>tB1u!8GEA$x2(!e=|iX zb`&K(-A){X-ogBB73hpV9yi>{#&$MM19_@qVoc|#3H767k{vsGC z_?Lyq+zemTBtmF;!&mRVHAMb^8(eISvej<8`pmGs0m?XuU^_wSX~`A#JpTrqw5lwr z(?JAarWRaX?Ftm>m}HWKcw}7DMFejJ@!(Kbj9Nj3eD#+3GeXA1)c}9o23r6~hk9f_ zhIrRZ1A%%yMRuwWSF2rv9kt?Sy47S|(f1FuWiBb_y+tVHZ#I2f*%?Xm!x(RQyCu!0 z3SGcS(Ag&-TSFTiWoJaX>t#fN4|vsizSI|NSwye?OcppdCmI!OfN|~79j=KI)hwdf zDJMLG1lU2YBF5B$e@JE>!-}z(4hfr{R@wtZR2(I^#+Gl=a z_+`)oF|3t%554Palu{OVXg!z>!-{77%XRnsSeXG5<1D`Hfb%!s4f zjt#hRJ@~ASVg&vawEps+>oCQP*-fvP#dcTR9LB}q`I78qlWL-gy+|0(dLKH`r4#$v zm_qt`!EtLt4^)l@G24_ccrvs^WX%)6vJ@@t)KBvH;H=sGwG9Or`Enj*Qw^}yB@_MP z^#||d7@Rmp4*5L>p(FU0Piqd!t>#eF3~ZF+*5_&5?*;$@5(sBwz@2&BE!sBXjBEE@ zifVy${$dFGXKRD<`GygCSArnpDG`O9l7z_m*E?2$!@nXVQPHUv0yuJbc-V00Hl8!2 zFXZRPt3ll5c|Inw%-0^cA*{qX5_}R;5Z`$5l8?-qLdc}|_Z21CM~m_GQ|pYd_Sw^u zX+r36jL)DM4PMhk=H~(rmuNqDC>ESpbYy1_+Ua_tiZZJ@;$n(5KG~o#d5vNoTB$Vj zyJ42r8J&`{{?v+-5jp(gwm(jT(72< zGI+D*w>{bhB@a?08qgw#gDs zH#Pkk|4mj3*SSP%Txo&axEQ=!;MdK!MS(|1Gs%Bi1*ZMM14SQy*FaqT>f^H{`TNiq z>wWa#l-OC2ELN*AGXu{Dqdq|1*YHH$?vFL#I{h0jy-rN1a4Ge9{5XEtD5GUK9i=^m zTR%ZXVC$2ukx(h|ouWByKub2kQwfOnB2rCv>=pUFKSi$Abp;-(G}VO2VUlSh$JAwo zoKzD*63;N5f*CZq*hUAf!P_4z^TlU*qMu*F0Y$7zg3DoG3BQ-XKYwTrtkN}Py;7s? zXgsCX(spx7LXR{2u3UX1I^g8Q;xhhCMw{Zf5`!wEg#PX6hu!|HU*Lt1p4~2kaGhBM zKFq;1pp^tg7oU4;l6nI?*qgs85Bj#oN||=qDp6Q(@wMbeRRu{ZF5Oj9sa!K1AW-_ ztV^zS;5qi6E$%&>W6iV2Z7aL3(PHB_ycBta?(dWG(~Me_@@;g4>@~>##mzT zGL1DqTc(NgkUbL;40RDiR^_QMUN7-|IO{PpXgg8S#i*>^}u>3$pud=QSKq92CmaY%lEH|VxNXAU63Bc$m?;< z93u(eFEo8_zT+#^-SVgWi!5$kqi5F1Mxr~r$yxyn>Yb)%fhMkGR_XY`_g4HWESZDh z)_kLb=C=upHk9;RnUI}a1tJgYmhtp&k%!(f6)SlDWAo9Y>5RM^oZEvL8&3qCeqDEc z_6k_6_$q<-MJljPfZ%(C7z?jO#1=PCL9KKV%IM>wK~p0Oz&(en-4^f&_b8L(PV$*6 z*WRWazgF#Ej2{eSjqx%7W|0{N(eEO&N!@f&N*!{8*$q|rNBo2*QzN7tF4c((#FQ}} zKJ{S903{`+_!5R%$Pc==na~f(GQxJ$FU0@R4G%}8%lw}nGu8jS$L#9x|Ku>k|4)Zm z{rvBLBtFqlQejG}U?D82P^aC~9#r}He=4Lz$kd`jg~V9MQq;zw5)#ZJ1HLy^qzR-8 z0wLm{*r;(zCTIU^p8j)FPk*H$wmZ(X+I4nKc8kDHdR?Lt=-!?USl_jA!@4kxlg($kdQ6XM-t4@8P#RYe%A&Kr*fA*&)O0 zok}N(8(ud7l{RanfpB#x@*pm7#vC137oo09cXxcm9$8{RQvok#YTF7^(LQUm=IJz8 z>HtOs@fn}Pgs`>o4zL#j0_)5aY!mvEyPXHzE1rD6d{fuF9wfT_g&-m)8UROA|Qtzi-LZMUyuCB{|-6dsxKypE-I?&u7;eH|IeYT$B|KA^-H$IRKOGKDt{RDUt! zp{9u;AK!vyn_o%*hzK0t=z&`7+;v%KVS36BgwxgWL?hGTZYf7-zWM&u$}XXHho zRMTs?atnN~*l<=5#!N8pT72KCok8hDc2+V+XZ#}6o-R?dYv{+Pc%_0%dZp#d${`)| z^6!Os8J;Nj(n_^sD0Vl>Ae(wd7H62}dyo9dxul-z;>{Py^+yb@HYI46V}-4h9)8EH)@Dnf40Z69*58TkWBFLOYia;^`0C|`@ z)Mc_NsaJ6PVC?WSz#mzVQHga4sXI5CdYqj`bP>p;n^FVG;FBH;f@ECpHx0VQNeE;P z#mDf44D_vRR(bz>Q->ySjpk<%{{ik?rH2^jg|)J=iW5uPvX_=fjCvWhua~ne5x8w% zko_gRMX4!ayCL6qP;GIsm=>a2r<1-kf!uZNk6iXrJ$jVnN~mixvk}8?`1AOF*J=w+ z4L)u37G|XY(8fiu>J{WC!f`;03)`A4o%56kDz4rH)=P_W2uG3SjoJzN?v^T?e#L1D z$ztlZCR;r5gReqUb5{Cxa?I!;f6Wd70tlMMC(bUe2UiNmo1F-6zKSu{xRa&pfd=P- zNqobkB}DtNtqg0U9{{GXu1noq2>1iomd|y5Q|%q>CpGOH(_qZpHxl=0EoA`qlEdse zgb}*pmhsx`xtDMy^2ZE^4#`-YW~75{{($pQ`E`f8k?V^}avB}$U)WD*k%APQDHyFg zup<8&k$2hWC!<5+7l}*qH+*FQ@4t4$EaPe^tXYXaB^39<)u?BxONbDD0x3C@8Vyg2 zcT^%++7#RMdDso0s)NNVjp26Ehvq}LbqO?^17p`X&KV@+F;9RC#PaQm0`sIq4@c`% z!INX=i)%fY>}z+&O<%C7HQLE&vsT3Sq=cjNNwjhsfBBbcaHF@^+FE(@qRZ*et;E$I z1C@&yHRq^v>KaB&j_(+n;aP*ibo@=E7I>>6lf96~Kh-PlX2QkAf-ePZVx^%1Z;4Ti z>y;x%csUWwaIWBGHw54~>6)4VG)1 zDJiICVKMBAjD_Iq+0EjYIFbd&j-kfk&nL$La*4Rj6CY>(EY|%V{j7lwOUVG&u-M!plv`r5=$^*>4l_KsaC z+dq)M?SB4zc%;ou*I>CKI52jTMxSIu8$4{OT4Fy3k)sjqAU*mdE>MhqM3N0Ao>@?C zxd*kTZ7dd;@17?P)gbQFgrBr=p9Lk1GB(&lh+RBV8KfLPlJ#QI;wB=b*x4A-Yx&+p+-%vX#HacPeMOC-Oa`&+& zZ%8mH(tGGm2!LJI#U-|pE2@5U*xZu{U7Q0??5@|lU0cWU-sWJWP(mMV`~Jf$TZxh0 zFY!)O`NgiH!Z%4WghX{$fxgBj2j69>Cpu@r=hHMI3{4H3{Wx27rvirm3SUV(!@jF% zF#N%*gLprT?MDgYP;z562{8W?6;(?JzuRi_-QXa=(}R<^m`Ee~FuC{_NO15{Fq=p7|-OCf19j zQijxo#B3&28tdf^IQ8b4*l@*>-gZbJ)L9=$W!RbE{kUxUk2H6%}!bd=gmQS)v?~-`aU-T z)A}xt#r>g-?b_N}tVcS<<6;EvDv2}bxvpm*YFmFl%M0UH4}j*(sGavFo*pRsPNRcK zEP*W7qBP9QcenRMhe?fAOc0B{FmZzw{T#rDDmf7-tPf^5D@}E>Uh{os`>U4ezq{g8AiM|Ex(@o=Bz(_xSCwBUX=3 z;njiN1_z!jZh$SH)|>s45P-RD-3F4xCu)RI9m@S^^uTt>7tYp}-!r58mTL+*b*p6c z+Lt=oR)eG0)dKoj7Pf}7X)I7>8a#G))bBE>)AcVY+1Uv=%l{Dr{GK=P@RdU0)tn8T zTrTV-fpYDDIr2yR?R>urH(k+opgDt0pstP*E-Hr<>2;tXh97TxJKk?v3xXegtZ#xL zcgsl{E`I;0P*|R}2Od!r@W!rJC5TFz^{S8rFdAxOjGfVN3Xr=@_{T5$m9Llwr9?h( z$1@DGQo3xcrv|QAkC0DZkV@&Lf+MG=5%IF)#`+S^VnNs@oRoS;0@DI1w*em$Fzf zSwZv;4zb|d10Mv?JLl;qAhKz4dqLA$FJ}19BN@qTQ z0*!kl@BZg6IRqLS%USv%;_=#D1CHMA2*OVjrsA|L=5u-65#P#D%Qw}rDGfJ@Bo+y$ z+dWC_nX3`BdvGn=j3C7DAffn56LY9Op-OQKh5X5#nfLEt#uhI$zDVTu@U_6Uy?wZq zHqZkvYtRcSs8UjzfEHX^Jqj)Y>R9#Q534z{?i2dVJBC1rCq+yStnhm=LA;g=z6>{a z!B;w*v*J7`g@4L`G^nH4uO^nSQi2e^XU||qk2GcgZxQ3uIH(RrumahSOS(&Hf4A6a zM;bSZBQ-4;h+5fU3^bNQZDOGED4-&!fb@QcC(6{drk?o)swUV+14}ECe9^A3pcfTY zTwS62kY?}u)Ub19CfL_YBIVtbVJtoFs4sL%6xRGxFt_1_%S#;5;T)Z3#TZ4MJwW4i(g+#x|mEEF~W!5RsXrZ_LF>vnKW zy}oXQ;mNlg68xw5AX^6h6DI?6-`hxsB}7KVKrFFA;Qs4-ct zlZej(5a2GPl#6t8PI2Zs{9A;zD_A>;OsNt_2pgq+11+?&47H9V6|O2n z((_|T>)4^P{+MERC%j`Gm;$q15il;i{bMNtRjBbwA8FI;KQ2g%xDWND&2qr$ov>z% zYNatO4aX{l`<@CiOKTl?oYW90Io8LoT(H5G?IM@XLrdQsv%Uy&Ks?HiKM z%NED=AHZ^gK4Q+R2q|W#)6iOt`@DlE>p^$(&ou^v(s~%V0=EKes$!&sI$scFH}RJ# zp5U|GTVmfU&jI;Ins#@HHb;=Kl8&svwi^d;$2tx*=mgVCzmOHh&@Ap>@4RpVWmB8N zm=9|C8GvS(iVK6%<9)mo&ZG3*|Gq>5JJ>!z4_q!Z}5JbWnZpAp_ z2JkEoRM@F9>CPS918d3Nxc+Y*2OYV?Yw1Mrf>~@DHRtLcLaeZX$ry(3QW%Y1x{N>V zFPSUQtxDY!W=avK`TTcWGN#v|OMeq(`c9iTv4#gRW85U#FQm7tjSQwd(ecqO1VI5H z0`upHjW&2Lvt2+GBVY|yp1=;-41JrxRLJ*VT(d6UK&yv(NR`)%0pr?!3b}L8BUDU# z*pv}raW-a)Lj3BxXO=;;t8s=;ZA}i<`YGFdR8qO!QbfAofcxb(dB&zA%v3W`ByPGt zSGGP9do_(#ruI2_YyV6(P| z*GU9HkB&;&RDMbj>vI>{R}?@gP_M@G`W=)=IuW;gLFQT9xvSxkg1dZx#rEAPzIl+L zi{}0PjTj(6FKhOUPN0?ayg_!_hZwO4-pX&efZ1n^Q2Z(~K!nu|n?IaV&h#~hVsPk- zEDzPoEdux^B6o)5J~_5x4pN$rC*g``+7$J81FUYC#U;%R-Msy=;LoK8zN|SIFUHL) zS)Xxu+d*V>LHIwr+5f!3gU1Vl8d|WoK$Bg&O3ul%IgvaPp7D7_OK0`$2{=+*YqN^6 zxV$M$iXtu6jt>|F0UhQPPC=J73n<=rdi1pn$4Hv*ZBpT*)$Slrbh~D_Z&61dvKt85 z5v@>N_N(olPw5>yP^xuCKA26Erw%$v`CkUfF{Fi_Lo@kt_gV&7vbxLX!QynOB}67~ zmErIlG|=(Hd4=!~kyLXdZCFV>ZklAYKM<$ibHw#&JfGG8P1O8cWl$?ywQ9S}EI2gZSAzg|+Exv$J8n0?p+_;x z#&Bv;%#D`YWdLUyb%;Tnz}Oi{+Mhm9mIX5Mk&{VMhn3=JVyNLYe3$&d}!9GK?3N#?S9 zV$Z%kg*vmze1!p=z@KB^dbv_K7I8`cZBE@EMsSiY<#E*?43}a$V6WLzCo&dxWB9=gbDEIY(G4z*t`FQxOa*bE$Y@S_p)uK-#=2EWgk7@wa8iRKiOPO}czlOP<-Q}TY+D!zlJy;(wREL>A zf!A9NEn)as8C)InMe*f$7o`+Yd-|Cx1PrN8N;_r{?2&&Iu>w?>lUKCmeLvtv{%a$b>EIH#;yjQ}LITlGv$p%w!ki+hxrUt18e>Pk`NR&$~&vgU{IVIaNES2Mx%KlDn3?tE-gde>LROCjeUU+g)8!Um`}pc_F^MR8t1T(& z*Yt6Y>Wj4aoG3EXI2b^^H+uUUJl2Bnnh)3W*uXge_Nt0o_~o`}6$BRkoI~yp8S$98 z2%OPnDH3=5G*n&S>_1h7c0fm^N}E9;5rj^6()QgAtr_Jr!Oc?!kSQwLyuJgvtrgF( z6QPjsMeLu?0w$oAz%(mM(OTQKFulcqP>O z`B>uRyWhxk9lWF~Z@2pM$a49cYD3#J{u$H~Po|P?N#o=ygPt{9$Q$z?YHcA(zP0!C zncO()rH387slKyhvsZ%DLffCb z7QGI*ys)oWofk>&JO25&(aY9W2OxUQ?b}I*b87#N&^M}=El3DXN9LHzR$oBNpsS9x}gbMFr*ebEV0=L+uYT-R7Cv zW>K}vflv(vHE$`!s(63t!}*4|pln8eM_pqqj@665FrsnZyteP4x+HCNlSH$n&gwrS zpE`oc2`}_;+oU(&g-7Pv-gC%EJS!x|*rCXm@Ltq{eXR;4cvpn*=}3$%Uqv>%;gm2; zEM?%(Cm6}1Lov%G{c9NX!oc410WYT@g-cC*Qm5#tDZRODJl5fh+XWlSu&b#jB=jn4 znT{Y~|HTo5l49f-NeU}_Q=FC>KH?X;_Z4Bh=0_88RQ93&Vgwl0JaJaSM27FP)70C} z1u@pZ1&^8|v|~X@|8wy`%~@+$jheC0zb`S?;;!<2vB;QXX$C9fhHNzGi0Dzsz%@TF zgrbvcLt=p?Ccfc_TPAWXn(8w$^l1)9N_@ryEBUwvyh`q@NielS>ov@zR~ya6H3i>A zWpExMyYVCs*7T;59v2U{=Jt=9ZzaZzDO~<-(^zr~j|6(N|27}VInJn#XOjv$8SZu%Y!93nU4V?IE!4%a-FZ2nMF2=O8 z2UmF5RhQQ8zTrxG;xQ$-j7-q-yoiB5vl(mVbAWHXVtR)AA?fitbFk3`z30a(;7V%; z@~DEXd_f-=8=_cs8tV|H^Z90{787&lN^3issXeEwGRZrwb_Y#lK@K#qoTW&5tJ zbAL}G&aR4oDoM%9-iY~r6FR89?8I$RO;twNg!5sirXQ2f?)(sXmUMyq5__4rcD;D# zZh&)vHyzBwHE=)c0J1{63&H3Lq44gvV~^r{x3~GgO<0mD_zmq?Um}^#GtvtU{7Vx& zHfF?LGP%%5X~ORM0aW9=DLM^Doi{Bz?%Zbru(oE|HzVjHTD_YBiw##?K#cIq)8Zd} zLNNzqI$t;Ph`GP16%_)*M!`m&pe?63Xpqh=2skWY8-O}SQZ|59{x1Cxf!>zm3dI`H z9w54eZ)YS7e*Gdoh$gc+KDo1~uImcuoEy5gAhg=vVF~VZoGCFhz?}6eg`9LF2e_-~ zCh94Lh}+cTUkaFP|NUZkGahJ%zOOFq!IwBT=Ihjf2y~XgAsW{*0aPu0kgj+h>0X(Q z7s5-%e_xquZ;%SiG;vu7qm&ReFj7pO%OhLk{RLv$iPWCWspo$F7)1a);E?{y)$x)E z+CqiY1eF0=&edQbVMftnIc*?^jbs*ibST~sOqju!F1T$sz9zp1(h#xJ_sbb9+{HBH z%<+fipL_J|RA%LhULO~ly2MlqwZP$u+&8yrG#Fowv$F-Qg(6!lh@;d)ZBUVef#hQ7 zEt0}ZUjk73EEf=K*Nxuw3jiJCTTHv1WURCzBDOM&em5z%|7?4W<~hRZoFK5l$ZgJB z1xK-($ysOy$eCGbkGK75(DdXx2=?$~?$wSi^r}6G;g(H_Zu2;*bsfF7R081$HIrTm z;3L@Xj_0cd6=2*bLwYtwh`z^w!2CnbsCwIsN%eg+pRzscubHa-BTS>f>ofbb@%7zJ zfjDz?qJD^!##8J3U|b9CP3H}$IeB54_ePAS8K*#`KPGCDO@9wh!k*AYzTX=;j?q-S z+yP_9XjMr_H(RAh^9?+a0tjx*=fPJ~Y2CY?$;iqfF9&KjKm)H>{yU>j$FU*Y`kFbE z)*((EJvEAlErNWmVnl#aB6d3;Te(;*$>T#T?5E+4H1noPu+v-7{?fG0lTJ4A;4Gfx zTA``>)j+*5&uwQ&-;5CN?H_ z{|zD^b>T7jpGEWkCd_PX=VtrATQvjzXVsi~&b6}r`WjDQA~^;he=aG^%<=jGu7+G7 zVWAA+Q%-Cm2^k_?JeE~XNDR5Zb!jxQm8VE7M2ShRou8Di_u6ZJYv#qXF?zpaRlQ0z zV%qt9qSM8#%k7&HBTEM7VeXj3((e&c($Y}!=n$)f3%31&_iFF_;pg%gBqqoCU7h>2 zE8tez`|1b%)SRqVtzJ-lRr~epaY8%+oc}aMe!a#p&`t3eKNDLPcy10tKV{m?AyCLN>NkB@0JP4p7tED^+Er)*82saohEP% zrD(D%4kGYy#&?f|2TQB4sb0JW?z)Lqv8RF5`DYD!B?JQ9ArHV=_AcP;8s9Rz5`fFi zIA1m&JoI5F;0b`HgxfdHmWfpQ;*}YDt`2Cu0wKv#dAO6&DZL%DvfoLC!ZSm!;Q0aJ zii_7Oijj5y#RFHr;KIyEE`B+)W;9OjIkit`AiZiKwKeizdHs+aQV#lj8WZ}J3NPpdkXTk_O53an@y_*%#R4m z-aS!B^hj#|1BQ$6)I7k6w%YW4D7pXU8r-Z}g}w|qb@9wrVT(vXnlUzQP$WC#XrOm< zj;{?lOc`WtCHvCBs|V7W^9Pm9L^WZu9oBxY5x;SeCUS%tFTXQYlF>|-V!v>V*3-3~ zQfoeM#)I`Dg6vbZu8?o3&PR(@CdM}q)+cxWZNby?GKp*?WV?UTl}mha{{7BDi{bsP z9}}BT>j3weN;|cil^M>jV6vFFruP;^{p*K|ZP%P(O?_Q(URTN-Ss6eDilXa+My`iK z7ho`fxM7(Eo=)$4_$mU)eun`1YgSv>1H9;5w}c&&EVR=2w6Q}CUa7dp;l&R{pQIgx z{zo-un*l{SX!jR@>eI;iInlE0dd`#@mps1j6b{CVZwNp42sW$1hu@UFF@Lfl*P0Ja zXu1l|5oh7HQ2J9ag{3EC6pqAD`BzatSouDc)zN!EP~X)WvpWR|l%ji7fGIfEmH{4+ z21Jc}Zd2g7Sdt^mZ&+V{Ugqto0f7&5f^psKaQ|(4m6_>pY_`V}6w9kve)<%%v-mv& zRMc-_cZ+OMyKda{JBE-IG0_;44$FpuW;o;}ufL8re02>M@JWrF{4z5Dw`R42p?4Jd z$1O2~Gs1FgqDc{|Z(l>dk1>JwNLHX|9oABy85nT7k5ByG;|XZ{%M~zddy2v&GLmA3 z$Q+tWxWyjM(sRaORZgWq(GSvyS*g3YGutG@b!)z@N}@0~T~k+VvI$8U1@`&vsU-W9 z;WMb2zKz;(hNxUDfyNDrA0-kg zXuHTf_f!_k6i)=TY0(9pZ9U)HI6&0Tfh{cOp&~9{^_O)I^5OeN=OXhYFl=gV$#|P7V+0TW3twXoZVS;8bs2*2&5>rTA zgk23EX2CSt<~31wo^)>rx;u|x&us6RrA)U32R@7*rRK( zI+37%;u>M|bcH-ntApl`v@#rvQKLeK=TC=2PAA-lDnSs^=ko}ZvW?gyyJ{Kk)_qq+jx4$9;&(rDfEV~O^nGzbHS91WU^yt6`YIE3QD*|+bc0IMMFtnDJ`7zI zAyV$R_krwNe)LG@Zh5i@86GU9vy?7dNU`vpb!h~=_dKTAoTK%rt{^C>n(rC#Db>BL zhTk7b1cq3U+%@)LDgtHZtF1>@xn7md2)Wc*Qs_EAbR}JP4ek#0$fRC$d$cTk` zpDT4sIh%cpTA!5^ZIj`8x)ka&p7EIFZ*#CW7lFo7?+VRg`UQ_Be&RbdggVJjrL#mI z7`n}YC0#xIIo{Gf;y{Jfs(jBA?~iC4y22%9HBHdFjiqO(=o%^zicAlO6!z=<4S%8} z+j>0!eM28HxLoA?IJ~0Kt|!jom4+J4m5N@!GMD<&AsNkx%uf9^{@rfN%xNXz>Or)MA%L{y@1wjZIWN_MgRod zYS$W_QFLGvX{lvH4txvbx8AgMwEh5iI7Y8y5~7lyt%~aU49mr6wIjJE(Xw#-%W!Y5 z1^Y4qELofCC{yiWA%+yRUiF|^W65lMARYpO;)OXh254ZowS?o zu%C7QDzsn+mpCKIPH+Fm%v(1xI0;fe=eIv|Rf|3I`X9bY7#+#phyat$s?b%h+u-h# z;3~pm$c0b0|3u9t6hI)~yhjAYZD}ercQvb@xeNeOt3!Zop9z{rE#S_-v+k!1j#U8g z<^G14Rv_ifG+Qby1CxEo3$e5vV#|o(As;KH;7cN1Ofa-&f5zzhO~ofXXDRoD8ifmlF1C1IT7!-S0jCi5Be|^k9$4$F4IqeW zWbdIDEU%-3ne zE;p!px}Cg`9IA9>Q!p%)h^_PkW8M>gqUzR0q_K`g*?p94Ad%vaD~aizi5n2NCk_6{ z2Yp8QADHcyAojmaP9IKA1m#Q#ZPR)|$4H#gY8MRd4#RM{tfPqe-xpO@qM{x++hA{| zAZ0Ek@jv<=SsM)?-kH7w=~EJh1qu`En~B0|J=j4^T`X(QLXqEFNm0jU@r%ov;2jEE@DQPUEEddyAYQeC|_dAu*mPy;;Z9}*1D5&h}XQS z_uI&`@2ioq#}O>SFV6?oQVvkEpHqg7?@RVRT9jG2t|U7d`(tcoY!%Vv1@jPk3HQ_i zl}*aY5F3whE8RbnD7hs9-kW$cg}f>+4h3-I-6s&^={s>yFmZKOX`;+41M4Y4#<6#l zEt~Ba89hIWIheI$$XMomRB~|IO_VrSs@KQ7ED@urSR?z#ZWyL^vq8O1{5hZX4e-FS z+JLG3;QCyY?Tfw*?)&C|Y$bkwWfvUvwO-{{8EDT|AnRPpNwyl%!DIqd@LMO~Nj0A^ z?v#e}Vcf=wcU)r}c=(jK-V!dhHD%zQXh>3_zU}iqk(0+Wf;`7h+t+UfgHd|G$O^gX zrHPOO?cDfPI49?C4+o0UnZ0<%gT)(a^1>h2*H|LRko05_wa~^ zS#L87EQKuG<=Ige2@xX{FA*A?w|8?USOXtQvhm&JFk8@EuvDD^+Ob-}Lw|t4E5U~b z`msAMdEg!;%Hkf(Qu2djaXGJX1C}8i)u}(QROA6OW%&Ro%v8)%!utd~yei6>W6OTq zqi38jIc|%V#l1!N+S2|81e9Tg>dg>RdQrjHY?-XcI!;X>M}Bz z8dj)2dkan=Bhxn3pB8U()6Z=KdsLkry`B;=r|W{^tr)$(+Q!bKhb7V(#f9%~N5tCA zA#H8b8c;nB>8$;h8ZCvqtGst0U?6Mo zu32}3W~_*u>!e+B5^8nT60#zYs!J~ixI0|4D?C4v;7apze|sxgfe&GKtg%q9oLus%6!FxHY= zwCy!DcO6F1%}F#s-BKNzsCeV|D!|)D=QTQS(FN@PZoY~E4p0uQ#9Tip-zOP)0s}=4 zn=6v`cMzhDUJedY*9C}R)}gi^m08=hck60eXpqM&(*E;K5;pghErX6s_$0LwK+hi& z6lE3ZM{M9qCz8}$#}6@Qiyl+}25Ia|EJrt6zu*1WsK8elf|;Y4+>!u_L z?|Y@n0?-CiPe}p~sxF7LZrUu6$j6pS$r3q|O@(E=(8I8*L5f7R>3N}SHlnOFGe}nT zaENcZ)m!A1gqyx1B0%*8-@O_o+g9XYV1oSU_Zt$0^AdVj4$COh8ypf7Jx@iQBF1%M zJ|xA>Uatm)RiX?ab{xCq?SL4XRoZa;x>q{&>kks`Qv7W_;axd*_J%QxQ%VM{5iYw} zKT!E2e4RIws~F@ygp5I`H>zN(e}3S#&rUa71_|9^$R9* zGz=LZnCE!y4AhZF47SpnH}0d=EP-=XXUMSP!xhD_nY!-=6lKz|#`99N^iYW2ldvN& z`_12ys#GK*j%JimweOQN(Wdzfkz`{`qVdSDwW>h~y)bJrA`Z%c3;f)Q7?r5o{vlQ`iO+me^<9IIthg_M z11pkk*v8i5)ae$Vyj6d& z=w|H#-vXvx9BeDsLC!5wOOTS9>Az2qY@?-@jr_GD>`&x7GedyTl)vnsiej5@jV*Rq zt>)KG&Xhz#(rAK_ARLC9r6)5>SLpnmsOLIDg3-Q!3bXqX?3}_pAS8)8S*>*V7p`x> z+L@z>K9-J9z^3J@0v?C+VfZ=V#NK#BKL9inDmlWtXle)RRMQw_R1LiLT!ZS-HAN@S z0w6*%`gg2=Z|t58j;?3&e@jBB*}f6E*vp-|g9Z;)=Ow@Gkfl?ubRq`8XsHvjV+pDy z!$%Bn;y9;x8 z-?(W@C(mw=7JU)Q8t%v^d!FWhEi!1xDJ;l<{kDCiy^@Gaql|&=cwqWaU_eew>=14^u$B6g4+7F=-wUJJ(vq^uVKTqRqU8QkLx#J~4$YGYCC_bv8ioBUxPOX+ z=KNOemsmd&cs;`FY{ zx|KOd^O7-r;sZ4xcdm%eGK(F<^7}m5`7p;?3=XozZSD6CCrpf07XTH^&)o&{kNr5D zfbZwI$cu8*%N>gpv!B%ig__m%p?_8O5i~x*bF@w*l1F6KXGo1Sg7WPTp#{v1^VLU3 zI*Mt&Q{bo&fImniR~n|W55hC(4yQBPC=?@KWgl#*n-M0mIm_@x4fd}wB+$E~Hf;Z5 z9(B?JT$%L(0Xoppf0*|7&>tC9#d9dU{e?OLHJ4)Sd9);`EDe8)DiQig1MbwlWWV8N z08=ZCI?&k#H$Iu{o7>g(P``pAb@(0h2huCE4nrzSuL?BnkEZWXjV-cGHEaE=4OX~_ zRz8d?71c>FN&D6Tggs;4c)t^Rb(RJ9kHLiSonjyzY1YQ z-Adk!zQ*rR@wi8c`h@HsXGp?Mj!pE_DU0x{AaaJA2J%-;ReyN(7lA-V0$pAYN}+q8 z=p~ug*tn&SXguWTzEd8Pg%j%b%vCUYQ&;-9GHmFAukPFiqQWNn{=cKF3-k-60S^uHrFLAB|AasPlvkznz@;Cd~&TmeN z55`D;n=*J(w{-VFqCiffaEULS$#mvzeA(Hbe*+(W*teAaew~dfg*Svc^)0a@Rvcn3 zuw0>%ey)n0>IY|E;A0f7U0LhNB4$1O-?L&vcOF&cQ~ zgutFA(2EY-#KWxhwMVy~5^#@w%5Qn~lkTK}L7Y4qPH82P!7)=6Tvyv1^h@QAKah}g z`3d2Sn8)8zLzw^_K)`E>zvGNN1|!yeWKd_9D}jgQHfx;RQMVI@_w%}XU%?0LtqpOY z#v28fu(-}E5r1MOX{R6X`fu?_9kLI2z#()6qiMqMO+s*{c74H562y=0&C;TFC8K)f z(chv}jrJQjv3)54{&JU>89s%W`ihUjb_3deiI`Mr*yF)fMl8n7syWQ5#HDLKyz&SK zP+0Gq@m}8on^q(XQ`-ky<4IKQZiCYE0)$Q&_We*z)54I4PSNzs6Cr@unrzBzcR<|Y z`9!u9I}Y_ez?$E;#)V%Z9vwQEX_lz>v*fbOxTO2RWE%6u)y?Rs`|u-22mQq_yV(z# zFZwpFxFa@`_<{GpC>T)5!h%|9wHw@;>{ugc#?9{h7U*b8yP3cV(|vBX?u)>Qs>{Wt zq8K0C!TAvwqAiY_Wm2FojhEU;b~$Tg7TbE>74b%&0&slsn zcT@^2Z=~yoip`jpo&vAxAUc~w3fL>O3vOl;!AO2VK(E>K$6AS`Px&;9&wn;p;ui_! zKygNbcB&SL_9kZNu3R4n%1rz4fUMfyqV&w`LwhdcOA7-rGQ5E8YS~8nYVjuXkP}Wn z=L73M+^OoNB>^z8oF6K_W_Jx8+Sk&RIGGtzb9eG!z-T88)$j&daxI zQYI|{&Wt;OxnQ^VqCwaCfvVl^6c^G&sFEBT3Uy+2KHfl}RarjD;${U_^>fm8(*L7{ zwcR$;ED4{iAjHHCh~I5Qz+=P;NX!Ca+M6{Ede=p!0xD^)@0_IEMi+=(EM&gE8BW#< z3lEiJIVJus0CUThn4GWD_VA+?r=Svuw?W|EyNGD7ory7rbfBAd1gOL&PUw0Qh*pZJ zFRmuMzXFp5p!13Mk1qt%8l(|Y(8N0&;+2tg@}0u-JtSdIgu?`F^Qrc096u9~2gm@PcYU04=h3w@QC6^lRt zc~#=U0iU}8rbq>IC)-O?Xx334Eg7rtp2Ne$no2nBN4M=J& z8r}OCvE5c#aOV*({~J0W0-dTU>r|>$_L0d^LtHrMc%4hs%wX0WkUl|TsGtdy*@t%T z#copqOplm!4sXs?IHKC`Ii>S;o847Mg_`ci86of{;mng zXQVSzp$91}nFw*JHWNBnMRz2%L9V-I^b@k;gz$p$|>jopHgwM$0 zy$1!J(;NI+xl3Gpfksv+l8tbCd<8c(bgGSUtVO)Pc=y6UofVps@4kWHuUJ{6GTPZA zUSL{JE3uIQuZA6u3`ve!z{^E*6=`otN57f4Umx=a-8 zlmQ-^AAnF}i1YYvm;R5*jX|Z9x_3lw_pTq9s1<77?jt&*-v^5~o9;;06vG~Nx)#8~ zC~e=qCy1)r7dBIt7fALE+(O*ADkZ~vhHSPPSa#vNK1S)dx6Zl@O)tn{VmJ)HSFJs0 zG9&xvbz{^Qj1Uc(6f>MuK+M`CayI9*{tUF8<_%+~it;gPL<9Zg_B!I?0c3$K|vC=gO`dmer z8VMN#r3zfhl3LwCcMI{;hRDKsEpWY9g80nuQeBC9#&u>dtjrx}Qe>pyk^YI^A_76I ztnP5Bs6>-;CX~Ge9j+71K!Oxropwb8(?dRT7z(c;-C5m~okSh0tSDD46uuZF!+hWY zUFWiuC6`VA*Dz1`ZFpX*_R3+T6=7X4H}QgOql4G6+?(STh>7haeCJ*#dv6|~musyt zwyEQj{D$>FJ}-@w8<0LwggdjY}SY9!Sv7(#>%7v)wF4 zM*V{%MxuTWaGVCeHg6n{x&|S@4kzk(RGVUw>K$_P!@oYVa1rnFkXxsAqUrI1oa7mi z%|X#`SN+&0HLr-lBf|gPQ9gfdf%%{HGR^;-W45rhcX8IUHt;ZU{2%b+e*pfAmM!)F z6+b>A`d|F#GO9t)ct4*h#ya!;`b~ zhfb@rnia(ro$B&p?6R-lsJ8RW81 zGSXlMY<8Q*Jv=eHpVeWj;>uJ%+rMEY6siHX(%>C7-99=!fX@4m1HrB$Bw-ug*Kf*b z=MW9nT*(z#;I2A|%ishfKAdB%i=bl;8W8gR!BB!B($wM&LJ-d;PL%naYaa$(jwxrl zuV!Iq^g$L){f!iHLJb;7b+txf4=2=N(QjW5jhZlfG%eXFbQ{-&--}&@N#Jn~d$h_C z$;4Lo+-YaEn$;&fNvOI9 z#R$FHi4jn`mEa~rr{yJ`>X&QnKQUtKSz|`4@et4VeTG^vR*KyowSp0BZO>0P;qkfF zf@mDw4Hyq-wa?vG3Ogr9%(;cw!BM1FcL_iZ%N%&*O0_srgL+u4S*+WXLG*g9H3mv6 zrgq_wz*5Z?w$P9`d5ESMiwh^Jgc9uM5(J%swW>RT0<*YQ@@YeNLSfD_qgQoWX_UR< zQvRuc$${I^AGna;TKI)ty6Cc(d|^C)l^J^J7ngq+7Xex&G&i3BxGj7oxNfF&NVN~^ zEZ;aPA2iDmlmsYA<@@u=w(orS?d*LofXcn$JJ$%=Z+^%KX1t4*I8H$_!d@2fv6Bli z{drktI->2JHWQ+;|44B2;xHD*G36hF&*Z5TNMI;f)VvH5Y~&j#{aC+|lFhB1@{sIT ze~QB`J3cV`p+cX6DfFQPhL5XLFE$=Pfp$bcEs-?$Si!8hPvw%+jbKAMJlDz)vGYD* zP_zViU!B5D#6&pb`5rvKUPV55Jtg)z61mn{5{_3(2vBi6{YG>EP5OExl6efGp3{xX zT^qi-F=1y+=mEsDHCFHv36!%S+TgFEpN}WjP>nQ|c+?E^K zW6BoZ@Cd7Pa zjy|L9iW{2)JDhomVNL3!j^ZA3ZD?7=af_<%)8wD`$oUnsy>izVG778NG}sLYXeV8~ z)(1zDwn09gF$p}#nd$dFo=%m9r;YI9a)zZzxFbzas`_TVyEhjerP!TTk}; zhC1J>=Da>@{hIsONJ>3BJp%b;ybi=SbuUO8R7Jg9n6^D7&_5jXw__f}H!+mjFSC++ zQ$0I2u$Hy&P8nHyr5)0v+KFK6k|PO}wa?`Sw`t*DI4D9C-r<5M2`@6AM`p!ceR*r?YjeO)JXXI6qeGGaeDE%bqgLimvo*C%h)qq0L|%4zMLZB&$|dPEOe6meyE}P<2v$B&01tnWKLd|Juj@Q z@4#Yf@mfc6I(nTBnjZ7!LFbu!k^@5Cer3`6-TQ0bEk7PL=4?L@Hw|`r8eu1=UC`@{ zocm-2B#M-m04sg^hi|H}@dWaFhGepHCk;sIH=Bc;GtaJr6AuC>gK$Z$u;E7;)xl4( zdgmxSS2Xh8Xt%KEeE}AEs>R+#aAPlz9q7k#{MCURO&{x2|6sCYl7nNPg9Lzb6Hm}b zG4{w|IHHbQet5XgS2#mSJN>S7CH8{-fN|Y@`5%g9P(B z@*g)=l=v_%tboNg^dOqgi058x%zYma<*-J94-qI~jw}5uyi9}IYhPER5X>b~_Jo!6 z0c!_y9&2nSvL47n^j;loK{7xEn_=W`F0Vl2YQ`|HK%OW6WEM~}Q3RH6xxBr+$)@au zymQ%Q`1VK0x39LKZ_5+>65eRq+zWnp5snj(YXGDLvBq{acOFKze1mt6CJk&5Q#Lz= zLOlxhc|TO5Cr)wCCc;8%EXa4K-{Jm+<|)QRn=Bb|ZkKH|G)*(R37cxzc zV@yY-vxdGpFaYCzdU+N1Tor7u*cQoZN7s8V0BXm;p2SH83ZL3-jy(`p*RFwCF*w__ z!Z);9aL+2C^0x7j+mU~O#60t94buLxbBL>7LiUtbgkjA?8RWk3`(=Pe+`} z-Mok$lT!{~Uti07hOEeI+M)m|?$hGqqg#kkAh)pbH?7%JL6+t|4aF;pY8|o6QVbF?qbJ+y9e2JQlvjAH!d$X^6;e~wJgZMvy ze%Sf`EU*?aZ3gqsr z7CXF}xEIod2-Uu&XV31!$>mDEXUpM}B7^DPD=35kwoVTC^Q=0x|k;UVa&lr2^_zPhl!(IxNF zgf>Dwe(bYL4|6uNGI07?*|CTN7C2fpzpWU4cgqZp>HQn!J%vTUQ_rfO@>SY%qZ7Pj z=J_5i2uGBiI01yz*WLJv;wd_UNhtDwKTj6juJ|=@nvd)}r$C?g$~G7v@gH>dkj0X| zJ;i{}EIx**a-B+JSl%i%@Wm-=t!J>?y;K#U;44LFA`-psF>#Q3zWJ?ZBre1E12nUB zqQP#1E}@%YAg=%$f>5Em3!4m(ECv?IPRqoS0ABEK*XW++2@3Ms8+yu;m~r;qo0)V`@pjWDZ7Dup&AoDAd7YI6ig)Jz%n_!k=v`=QYnbIz3YW4qv1? zQq|04ULs(*S(W*T4Rp`xe#~Smy7@v!NOIJ7U{q=51RJuRxC~W?Ee9#QozLPq7Se;M z;2cmZ&Mf{xrYY6iRfb?w+gBz2i(E3Bh@w21<7A$ zE?DAqATdcUdWj3pm7im&-Lc%k3Usujp5?$Eu2;hq3m;Q@YaosEl$eHmo@Q4mvjhJH zK-Y@}0!y`(zg9iX{V`+^ODlR%0bGepSOqW4J-$VswaS9_hDU zT?miPdWgPaOBRTzhLgZ0_O%ao7}6`>3tNu1>ED}+i! z!j1)%V;{mOcgxEGEWTdr7-CR)KN7IK)bl~>omB#_`Xn(!=mT22pbNb20gzwYqMc1w z^*58`d{-^hE_!jmKbpus&ohCRiWC$OydXJ<1n>(VWU#i`qtfRhito9V@^^D!Z8gdf zxU8Y(Xf%?jU@3+Epm2u*eD)BS?GOpdiX!m#@{F{p4JQVD)cYy=rZAZxK2frZI z9Or4g?@+5XQX<2rDdulsfZ?IjX3)jL_BupD+I%zyQi&lN?|KVSIsa(#Qw|2GtwVb; zVjj#ITyStakHh5$sc~H!Vd%_TrItn|!Yf37s%=smvgeQGNt?6FmI$!<2Kl>BUFBzd zz*hzV`{rjt^3&*-Bx(X0RjK-xiV)khpys-CvvFWqMI-&4;z+apoT>oms2taQnE=yX z^NnK;`4j-;w~{|fBT;iZMclk#YPV@3gld2FYcr+N<-UYtkEiILsF%*)v`@DkT*&>r z4qEM}2BNIr8)ICYObC4YHQJAqSZD0a`Gd8C$zP$@IbBoDd9R9|jaP||9@Mt&NAm7$ zQHE!q$M%`-SkPZ-PGDj=>;Zu558vV}CtEclN+PO1=rcKps{u}r-R9ZOL)G}D8@jAw zsH>`pQ(|w0%h{kIEGdQIj&hHgmlM?skQV9x4TI5P8gI4G;w~LL&ipskJWWImu+Rgp z(5xWh>H(2kTh`wXI=#D(rO*%kIoKvN;BF@CxcdEX69pkPR>uG1_T1`!Y|p{}YwB?V z_Fv!Zq<6mMcid4qC=x44gmZBX!G=@s9ld_)sE=l<pgWjI!hPzL<=)X0u*~)G6~r&wWEr<975#}YGlGLI2J+L1{C652QJa@+{K;MO4I3tu{o?cZT5dY63*%eq5%e+J;vY7@!0HN#H*Z4< zEl-i`>s%DD=w_<^E7x>=RVuI-3YbIA9-R61B*|_pPWwp`l&x~Zhz%q+`zXwS^gTu$ zUCJP#&y6}Irex$$?Z9eTgfmnOU<%iXCa!J}#go-VqDf=^u+9JjPS5bAN$;2Ge!~LP zwy5tEeK0Y|#QRAjn2sVPloi?wvE6oU_rqUQEiK`rJyM1f5hbo?cikXeCd9LPb0+Vd zB5{_(jCySBmdyKMEMoknA{x!mMhU^&u zl{{z(|Llr)5ZbdJD?9mr89e|~Q;mpi;`HsSA*SB(1you=l!lM2;v^Vib%677cz@&QTUZC}=*kpoDh_F#tG-D)ae(2wJ>Xy%$NumwuTCK&<^AW z!7NrTYVCJk*}9fGlFrpRV()#@Bv)U4Vw6-!jTI{}vX2t(_ez=6QM+&$G=)8-2Ex}e zP~Dr$vL=Rt7az42&ZnxG8;(C|9?IF^Kdpqz1|a%-x`=g68HBWnJ0n6J2v;5%L7YIj z&#Y&mkM3&=L##klA7SwADe;1JsODC9@v>Z?=gx0*Gw|LqtUM_8)G;D`GkwG2&&IiG zR*BVrbTKL}+#w;sw(=*66Ft=^g{%q)qn1ScyB&!|k7MICJlyP=SIs_oW8y3&9N=@6 zfF&4wPqeP6@~iKl;!aw*3pya`o_IL;R$->)(xJFxj^)WJSJR#tz$TGZ)HMt^QL5+q zQAi}X!|wl$6)4Bu$JYkZ?NLsyZB!D-93Z80q7gt~Sh`$~M|Wo^8nsMy%IdP9 z%#4rwgYY0q@ZNl3pVesFFAt>?UAw3m9>EkN`SPU4L`#r%t z|HUCoJ23BDr+F%TJqhML6a=RltMDh<+YJg=333Wf^tgR*ROlTc!idPG^ksJq-ZZ3 zl2q&aP80~ng_)|d(Zk+nUj@}OsX9`*Ni=pN6?nO0SF#=PvwrcXxJco2JU8u$Nzqo= z-U{1a6_T`D0O?BY^?f~HYp|f-=%|H z{~(QB9yCko;_m|57WBu~STf_47`)#v5lNw;amNe>3t)_J8e_i@Z#3Lj;G$Luz}bRMa&kt7 zW*mQtJr1XMcQc4qBz@`d0b!mqk|nm^bMF^?*|A_YPbNI~TL;v&=BxwVRxEeq&4gt9im z$0-mIlKBgYf5ne#sLHiF(oY|gB%9}LoXVpeBhaPTgyXk)eg`~$Uwn)IZmUYIP}~u^ zcba{CgxEl4Qyk3(Pd}PzKA73ULcqX1@4PsPm(}k6dbhjDr|s_Iwk&I1yuQvh)Hfc@ zW?I>f$DaJ=%B)%ads2jnO2}ywLC(zL9_>l= zZyKQXkIpsTAB_My&@Ov^gqQ58|D8ygDA|=a^v;EfGP~zpxNA5ShZ~v9u}@+rhU!wG z<+>&u2&(Bxo#+?iI%aEB^TRbvm|q#O`&-; zQSZD#-mT~%bO9oj!0SISCn70nslQZ_1v_zT7%53>gP933*qI?NAO3$4_YOg#Kv9-$ z+O}=m#!K6_ZQHhOJM*P&+qP}@tLUnZ=#Gkx{-Zy-(;H`Wu-D$))iMhDI-n7IsOrR9 zZOm9=+cXY7QCR62taHIXQ<5o5%*r+qn2%PI{-@Ljgu=;?sIfKmT|}TInU+s$GfW(B zH>3*9m_r-pl55n6=yh)C)oEz?q9Q~?y|aZ%#6b6JMegvDH$s zCA5d`(UGw2o9u=Lqhk^{!>|Y}8VS7Lh#};;Bu1SEbjp5wU_Bw66lY&T)1dsp-+@$b z-`@s;J!%M+DAz$24FPR;k(~@A6j6U-V#w*gRtII3{L=ArA-+d89pnZP>JR+p54s2o zt^MGJ7btMLsDu^12#J(y+vS9ta7s=^kc>E!3oi;OEky;d>- zl%OAXkjucpE*EZEGS7{QL?-p!SJqW_|A8p;^Lti8Mk{5i1_msbg3-+@DT zKLD(C;RMLs^k^F;K_`~W31vBm0L33=3>qTd^IQnA{g)(X;i!UEvMy;k{d5L>FBrYe z2l(o%9<ZQdf){aCv3j)J)bm#q{B7WCJYt4Ha$2 z=2Zul(=(W{0+z)H?m!GS<>w!_36|e#!5_R#7T9&fRI!CEN6JHNzuFs?5GY>ox01-D z(=Sx4SH|D^(R9D32upjF7C+lI8K^&3rM`d@YiQiBkGp~Gb^IKPBktVkS<4sjafYdx z-ahyWiLmj5O0YNAYO<3 z-B79?ekJ8t8Xo=cx~ftNj}64;)T#CnI5^P%O?GpIM!27?m)h_ z>xs1iI|?<7&~tCeL|x8CYBpvE>lp=@0z49K7F-%zjRCxAu;{F_kN{&W5Dd8SAs;yR zmngEV)GdGo6qo82p@Ypf%;?G7Mbai;!kEpe_Da#e^86X#$DtwWX(utqS=NF_DiR4+oLix0F`)H>^H2$BYXWVZfa~@z$h^AT ziTB&wiPB{!81RevX~IxjWetg9m0FflEoKZo^WdcAN*udo2N+o;wv&!lH zekLS6?_|==2aMF*Vv$%<^Va!sBeQb`yp%Z4oA$s=yHb0T*@kT^z95G!#*qI z%m?OmuW(;8!s}vAho({Mn^-W0CXR>x`Y@W$P7F>gBb!KhiRtej{j)YLMQ+UbW6&jr z8iOFoBEMWo!c4wCsV470z$^C(U? z&4%+iE54Qs2+)`FXbMsd>%td%a5*gemRjwkXBze|m3cienL+tm7i?B?kC6X0z{>9j z-t?0r;gc13>C;f)nHv5~!zbkVzvf@B+D1t1lyd0G1}pp2E-+vbq)~>wFXa%MU?g(( z2k3uq9-PNt5B{H<2fP2adH7F-0PlY(1XTWG1@TKdkxHr+MLMJ{$uj1sH``h)RD~o# zD6%+{PlS?0I*D*o(olR8UMwonR(IMdFHS`&X+((}DUxIy@$vMH-gDaOm5E`Qk%@s}DQf=BPv}$n%1UK7Lptt4H}H5oU;g?{x57&wsQv6?eaeWrBLA=C z_}npZCD8krrz~!l=B&??-LMuj76>(zLpkdo>U%BG&)tMFda*-Ep)cIQ&0 zrbugCfY(EOhWl)+B2{I$S@0bD`5BbA^l<_IVvq+jzfhh!PV0#|m;>@C?At;Wn;^Y^q?102n_2~02*>7###Mnit3{WPZF>O?-R5>1hzqSYr zzFjoY-HW6_{I0#8Ql2lSr5G}-mvR@)=oPz8z}X3;`KMQFgcfu&ms;_@+*kNL+bERJ z5e-zI>kWZfM@TO|KV%Kv9!Swt#J}`TSb6w6Fr+uhIQGp5Y_RQ&7WAKtx$DFvEUj=S9{Dg@->b&K=|!Q&H6t!vlj%*oqfz{QLl)DK(D zU1tdYg?b!=kLB9V+lWz9u@Yd`h7pPzYtr-ds+cW;!Wa-xm1)FezcJfC3NnxO$rkO% z{M6ShL(_XX0Tynmw^&w{POq6gN`8W zcgO>ze)d3ZFJqJNDWTuX<3VO&oav8LyGHQiZ%Gs}HaZ-GD?Ggw4$=-{&|sj9hL!dg zUUnJS8T4E`Zps~>Eiaj3b6OLtu0PYnnJ_mIOv*&uWaJD#hcjYX@51tKr8f~vyXph4 zA=Kobf=ApobV*Quc$G`_Vd#f?T_uGjo;_jw@PRh66r9OZLp2=*wiW8nS z3$3|^7nbqbVm~r?tj^Rbw3bi_`{(hZyspBZPa#U!yA~LW8=2s-nJEeHa1<7onlO+; zLUo)lSm823K+o!*uL6~z7h0YF%O$A${<^DnIkgymEJYKk-y6b%P;^Gso9dYE)4-{i z)LEm1k2!XC7$O{PG0Rq%JDNliUo08OZG6f8%j*0e2~1?P(!CdB(ie*k;2E_Kap%8l zjRx7+_I=cND0n2owld4JIFIAOQSkP`PU)2oHbXC>EN<$JXt?kb`WEZ5i7l5nxI0EM zq_=!~bp6tyO%K>NZr>q3M0OFJBi#E#*-X}*WfRe2WcpjtW)vJ`(C{u-4rji2&BJht zakY4bJ||W6ZEQfP|6HN4sVoU;I3h+UFXO+3fEhkc0c%@G>n(<q@rETi{EI20%IR&X#N|t!c$OIeERY<)$Yh*njRl}|Xqp3%w?+s^yinle z!u3`AM45j$4iY5flEWGFxpe9KmMh{4w(AiNfu;4`S>P^Kzb9qRtAR4?`B+$g;3B76 zFdo}5e>^kDt^dZ5jeigh^aQHgXIDiVCI~98AG1Wxi8Pl;n<}An`#laM35)TuJ2=oyb&vnlu*Ec^|K>%c0Uy= z+Do~o(62SDk;2WGd$)D$<$!fL&O|^s$wSj<+26E1K|ZEU9l9 z&xAyg3Lo@9?Y^{|F*iR5R zhVP2UCGH5vhM0?V8zFn$AGkwz?N}MuB6PALE@SxbwwejXwn4$?H!K3eq0G#-dLP=_ z4G_ZWpP3o2r*1_U-uUZi(X!ja=4l97zZFqxe2G+N&%ym2puI7d0)==e=APNi+FzL< zi`u3@3lj&^Q8x=!$uc0kIP!S8PZdVj5Tefr^swGlQ=`!x;I$41-c0CsXXi8;s|ISs zZoTyU;YrFsbgvL($`bizqPVkC==onEb{5|C@Mlc9K3ln*JJkD9i_B-`V(p--*M;Dw z?vblYFhG`UyAK-%y)#*0`l+B0mx_Fyc8sv%ApR6g=%7Z@-{GOmCx`LL2S%Ay)gX5Rz`MSx1h~6ZWQLj z`QaTVX9~;sWSb3vQM_fO`!_|b4+StZzmtTO&CQH4m7sJ^9jK<3Q1cBzXx9!e#8ek~ z1I|{o=oNE)LrIR23yQ&H-Q!t$mA=ban6pE*d-oa##>M9Q^0~jh*|A+2kW(7a7!w-7 z)VnV6!N?lvFBF+w_CLTEs>*ZTka*5IF9m>88ns(?W%8D)Dt<1hDdcsf&rb#Q_5OlwGpr9jn;r7 zQ8po<{3i+FG7WEPflOBKs>u=b?0u<>5}7~MIbF%f29@+f`|seDS3EPEjiSWR<3!x0 zFD^W+NJoKT7j)&Y>l4bHC`lqIX$&Nr{yB&^^7X2w&RnCxP)@uO`<0YJepv)BF~ItW z&XO2<3zFQcFhYfAAn5n#;*_5nP4_ipwQs;jj?H@?1ubV>UvS?_%>wh%ShC<#LeJH@ z9Tj`vEEH>k4bu*HO6|9r?g zI$i>l+qkF?I>R9$Ib((CZmbt7t$7mEU`64;guKcu!>uwxp&J{k&#Qc%0(00rm)P}< z>WN_RJ0QB3la3z4X+VyC#6F={2O6WnDLU?vqH(GN2OC`OcJ|?&^R}WLRnN=MxCKO0 zoYyDILSm2ArriQ)VnL*Poi&hSTi44 zwi~Dqncm^1nGDrw?^jlD0h|agR3q1+!-=W}HXo9C3du&bctsz5cns$CXtj}Vwb*|; z;H8JI?epaU-u2Q!N!5u62C4HT`x#-dVvFwg`(JYqpX1BdPlP3Ke^i_8%bek`k7O(T zBY3=!E!<{;%Nr)wy4$dZ>>%%)!tsoPYUdg{;ep);&%Teqa%W;lcFZjGb3E8l=Pg2$ zj}xWk79Uilk=1usBSFnIuX2WxpspB7O;Mt6mp0r!~*oRbVyvh^%{L z>AxS8qpJB)!C7k(?JpBij3_XHIiDzKsH2e^D;78&ByoGmr;WSnP66=r?XUJ2Dtlyt z)8OXg`7Wk)wCpc`9`jPzxz;ih@9F#%x zCx9n2SMwV?D7sxv2%Fh!hW2zU5YT?;Dr8GNFX@Wg}@?{ZBOrCXPDk{uJ!xCBLZ&Lw~ ztD^R1fJICHWrKiBu?Hn?#%v*XD$Wg_phd1K8!j4nT;(}HywFI4CDH1#d<78~?~IL{ z?jH_$2>TxQF`HSpZ-ai8;R=u*QYs&@%~#-l9EmluI5n-RV&E*1@)YU_o6&j0Pf19P z_!@w-WZP^|M?5C06Ni{go zfaT>b_wlnfr?*HmU{Qtck!b*?+x(dC`_$sArTz^%V6*#Z&Q84h64BrfRG&l(3Ya8Tmfi?6@HnwPrP2#`$%Pd)qZ9ZIL)j=BF&Nfl5_md7(P);1 z{Mv32cTJa`-f4%9i8aJ^&+JvL|sR3B|`@4nkPuz;0C5n7YqaO&a zF2F3a#CQ`zWEqJ4ja0v7iQndX-S35ntiC`L7_`Fwt8N=V`6xxi3yodT_3g)^b%A8- ztR=>yS{HP>oLA3(gJ1YoicpG6(@?%o_Kp9)59b2C1?m6K!?}are*;J4|0fh7`JZpr z75W7>!uXi{hlpI7T6XX)Y#QUy1u@Vass=`FF!o<1wWL`x`6XW3M__3F^ zJTXGbU?xdnVIm86DG7yLzTbh@FW1_<8BYG}OV?qW`liP9iCMSkSvjw~rdM5ho7_sa zHVkum`DItmtK-9#O`}tTI-i-}vbt@bxy|>yn{L0>vd3QE+Jb(dWzvsFwDOOtAHUS{ z&~+2Xk07kmhHJ_a@DpLJO9xjPPKcQl&_3=uJr1Uhc8xx@jQzc7QtK4*#Wxv zTwdiq-L?dY9Ge@3M+?U@*S3^Y66b}$aZK&1JBW*=^~aNlo1^8e+5v4jQ0-eUkRFtc zg>AT=K6bI-&evzgmPhXZvgOq?&CROv>I>OK)S-SSTkI3}sDkBNA$zW3iAz2o0)E|) z!Q5)sHq7-9wq>yBfJ1Wa$0x{ZB2|%Y2WmAZcF0W6-GHUU#WnX=xo0AB$dk=a4|64Z z5T&Y={rwYw%y&xYQ4qWRt6Xi}`E^qFv@A%rh$3ZMEvTa`_=Du(?c!o1$VXzrgb@*l z{it`wId&a9Y_P$x;!r-#+F0R)AJqKzj*P-Vm*~i>7-Z3F^U6&*xiX7Aj>v({kyQIKb^g}>cNHu1awv|p#;ERZA#x*N^yDp3}39x*O>-cz@SP|>uXE5_D4 zBpdJJ%p2cmcP{&s9f>=A?0KRJ)pfXP%Q*qRsj+h-&A7`mr0rM9;QdRF9b}=&Zo)qa zG#6DA0S-Ab&BdFTnP{|vy0I9{UL_2gSH<$`h(<(ry}pT_y$C_s1B8nQm}}g6AU?B$ z9G}L7DEvHsA{OBg+BXD1U`NguFNvhf=1e~%rQ&(EePc9Jo$|K{VeO_#8aPu0wv{wE zObYv_G7$O>f0Mx5v$@zr>F`uNZG#&lCgtbD=rp(M> zE9~D-b`Y+ofa&W<>tDn9Wxq23&v8AA-yLxhs8CD)8X97JKeAGC-lJrDle7t(n;RZ7 zM`T8cV%`Sh@0of5X>Tg`wYEai_(|>q&|^eE3v7jAs27ljD{bf~$SB}v?Q9D!bN=h^ zvP6;Yk&Mk}_Fpj66bXOA2+Vi{bG&`!ecCgk=MtvP|LON050U_L8sB-8MRH0OCid5= z@<3pB;_l`A=%^%i`iIF{@0eD_4>Y^$)emsS;k`f)!y5OHThW){YK4ogEWHnAXQR8~ z_A6R27iL8dc&3N1F?!~cYEsAfcyM9Coz_viusRLvTypFvr3lJ(KbXoFSlJ_klM zf|YlxYhaob#qJO@w@)4V=zG19<|r4kY#Ttav(f|cOjp-WGoa|azzTg_VsSB)&$G;znzg){I? zW9W5()hVD18v)nEU+nHN?3A(EE#9 zmdiBZJgo^YzhxSi0-U_z%`_x76C2;%3x;~*au=;hXE@kHF?S=`XQeZk&t?t>O~W7f z*Bqu68j=tl72kiesD|RM66ownFP|b)>hgfN|HBA6c2|z9wZ)5~-6cU5Vq2`W%gJ2( z1&1V%xL`;QRT3RV4SL%3(8L*sSkjx_;wc?rrY@7*<{zSDYD+BjCpvJ=J$D{M1FsV`A6Z!cGBWCMqV#QOVAnqB1~ep61P3 z18BDvY@_bCisBuvXb_c(@Uz!^_IVC}VU{+fnSW0Sq{}_LMvm5*p*s{Ks9={BN3b5&z z9j3ROTw9;!CHiO7n$tBF-Ny|Rg}30y>P+=boj4>F72racG(Da%E0aYosH5IyNozJ4 zD^;fei(F{`B?Sx#tuTD3AI4DvC@Y;;a0Q16~ts=D^^X!Bg0PyuFz`C_fa*=sjqleXi^&4u$_q z`~lZCWK*;D?Mj5)YOj2;`rO3UebExJ{2V!0yC^PfJnch1sfU&TEJ9~ zfq|Icow%FFxf?x1SPw>_wG|$&!)8Qk{?sDl6Q_2y9;Q;Ra_`S^6vwj>?NIkD=^r(HW;B4=6m%@q%g%_+mq5aG+r{-ef?!qx?Th7>zj{1SJgMd zUaH`9(A>dAf{O~r!d%==7qCJegHLwLqVXsw`jWo6VNRy1LtjEbb_Y_xwq7+e>V8in z2yWzLIxiSl-irhAxkw0^YeJs9oRwQ!A|l7o0<4=+oOH_}K3r+@Ub%3mR>ct4a+>*< z8_INa53S?-6Ha%XU4YHyATO8XgA?za4YH%ST$1>G{*lCEF|uZ0!wda8+7a)zw*bcO z>DFyXP~1qv8LMHy7Q!-=XHQ?Ek76ejAJd2nEZFtlMF3@Q@&U}g#KMK+#EQj7A)l zAPYtNCV;863?uWxqai|evm_R11Nbg{pCumz6#tv)-`k8f^M2=fJLt#r_ieiBSwh=5 zR+6^#EYlThAOi5Q<*&yuuWIlNn~I?CeNyNtV$}s+E``L=qJUMd^_IT29j~n535k2{ zgqXhiD08j$rq_u@{Im$5!fgP4h9MN)ZjpA~ib(VyXf>Ly*i>dPOs;R%2X}cq((7*l zYT{Jwt#?Gn4i`r(3(%coPMK==6xl{zpoG8uvgV%r9AJ*f0vxeNYkjzY_^HeoCPXpY zTyK4@!aW1$QB%&2HsxyJ$^zX~KqdJX3OT_^*CYJ2{|@#dJg2Q6Ecl9AZexQq`W?5I z1?V)tKls@1r^W|_phf3ybG{8`!IgD8J9zyei*KM2P9oBB zVIP1Hm11gG&dZwSyUqv{^x#^~YXCcyBplDj4X~NPVW?F&b=O-(*iIeV(Dn;ix{G|s z_hNDIrxzlfmruOV14~-Zln?ce);}!LXN~g^+E-;$jv9AUfI#(Mxb4F@7Y|gDw??tY zvQK;tiW&C8vxCvHbTZd9@N40>eWn)BQiKoSXO~xeydya35BV4fh%e!b3bo*Q1}V*Q z3}H=|{DxA=I7)|h@V+spDU}{GiT6AB(DHTt%M1*i8w<>5*)72YIqrBs@${W-ExZnI zC(=eEYyp=&9lKUF%(qpZQDZh~5t0wwM(NML{1NDkKMmfRmHA=hio@r4qneGfv3bnu zhjORX>w9-Fu(HmRuv`?CBN{i=#8Z%bR7H%k@HJd=`|7}Uc4ky7R(t>-*YF8hccgKu z$@A|j_tinN@YfCX#)S+sL+!zZi^dqm;vPj?jm#8E-$;u@6cVzvf!kTb3~IySTX(j@ zvO%~6KZF=n&O_$$xMLpV@@n*?Iskvya=KAlO+{eL_x$RU2bE?Ch1t z(J!Wk%B$=#-UhIy+&F}LA~=F-O& zGi(w+C}5nZ-3EKgOqInSXu706 zr)H#l`aj3CL?dz3oX!>ANl5jvVa;WS${BS`#q5~WpY(zRjg&Bwsfxn3=oUAW)#M|O zh=o5s&hqA9k(9t1nAp;yx1|JV6*xy+^hnsm&KZ07pu-h)_!1*MqHn%=SyDakQdO!$ zI|nA(d}={$X?aKKP1y>H}p4O|J;)nvr*MCtkm^n?Q zR+sx#gdKgl3@(~gonT+g zYgsBh5C9F@UmMoRQl~6>BZylq17=TPI5bf1&Q372U;GDeb>J2JP5bkz_0Q&;2BVQ^ z*@(AuHO~D&v>T5x|0Vpu_~nJ8PqhXnN)*=G{C|}jo-jj?j~b|&qC%n_|S=`-b#!i!ye+a%h0`I@c>7!-02Tsu9&-JPP#|B z9`yNkt2pXpN?hiJ)`_J)(4Ggmn45@8^wJHyS}aokhwszZM1a4765f@2XG+|MZO>J+ zK##Oa^hZ<~PQh#OHO}!ASK4~K@aLw7_Oz(Zl^2h?$aPAm?Gt$3b{jc-~5ExWo??FivS$e>tgKYISJA^L&h^ zIc_qLuFqtB-YN9F$lpkn>%gF%Exyd7;{oQjgH*;s?726A`Vx1G%;Kvnic{kwzbTUW zv@DiD8+%G1XIReF^+IF)jGM2w4LVQx7f4BiHyz`+DDiSZJUko0N!*jHX|psLO%5?M zWMWdi_lueU(G_6Z(KTS9#PBYQ9JHrY!uaimYKvGz;rFh0YW%NJiYtw{oUMt_a~_hN zCS(|nofPAdq z_=r_!Szmt%%OKQZu#FNdU|6cA?K#PaShE2;D6pN!#;og%Sc;=Xr>rbiv>1cTK=*-!as4 zPSQ6zh3yZp;FkD? z#-8&r11dNqbUwa*x39D%V>jIlxQ#Wtn`q5MENH!7yDJPSO{!R;a-=X!!_=EsZxE4LT-6Y#-X8Mm)7aVNQ;Us$5`2x;?gmw87adpDA^$r-*8_B>Xjs zQvHP#V&xjA44f8OK6DnE3|*Y5V(>xwHYds6e|7o;W4K^91eSo)hfS?aMFja%z46Kn z=;zBZ{o8d09X|I>+-nKGa5tL99$k9GXJDfXsf>`ww=7u&zjvauyAAh*KRe<&mTleN@moiF!pm1KDXEn!<$!*cS~#|B^p1HECbLCWGd~ zs(`1JZwJ7L%Hxb% z8_G5qrGe^U*p&Jv3&pIF7{~rKM6o3{RW9WXN5wqR_+-e-NgO4e4PkS)x)$OlE}3J<;^&<618K`8U9E zw#q#cI6O*hs9(DZ+^r|&q{2FuB+R3C>>R;B8cT_Y%(p^$^^MxwFI6xRwUT;48eWYX zl&nzsQE7mxbdXL7lEMnP=7#S#4&H9o_=}isez-<~;b$6skr_r^Qtx=cZ?kCNUjea1tSE+3?GE{$+b%>9d4J@Jm zQ$DQ(hU1w>JS~z@Ehv!CI)zRtc`Z_yu4j2UvB2E8GvNyt!k{x9CYqNj)K&`3iRj{d zuIZJ<67_q4AWo}IiW$CoR??wjQ||#qO6-jDk$h=_2|5=_zJoVHpoAU&w1WU6rp%PTYUqv3$BsSSqmP{_@Qzvt1xc^LImr z*d;gMEfjo7ZV2ubN749z)#&be4?(??%5Z>8!k%G*)aQM~S^Sf!4LT+06`t^^n=x9i z2DbjWhr2wHmE_VHL-&pc8hZx~nLdCac@2H&)5()GXI>sq_+hyEcdA?YAP{Wu2?`+Z zS(_&2O-Aqr07_MRm>#QBe@hBun#ydywawtA>r`jWnHoJTIL!g5;nJeWi(AKH6YQ9~ zNZ{mNfoshT-!{{VnaC3Btdj|>Op<%A47QWNMUL#`h66CgtdWsX6{u(T-!61knBm!x zAHz=maKe*bFwX(^ZwBT;c{GI%iw+>u3asIa9)5f(706;o%@WZp>YF38fr13MJ6%M9 zMP;3UOA?joyToF(GBJlbKQb?yvCv~8RJ?Km;WzN<{n7$QHagLiDC887n+vnH*D4}* znux%Q z6B=3yomkEjU*TIBJpV%qF%FW^So5Ji@j4i3#D?~6t(CyhFz2Qjr1MfgOxeXY$a!JX z9Qj<#sh3&*Ih{u8FKwKZyEA6WcgKC%80{7lZ&HtK+OYq2_dmmi;MOFl{#iYq4#G#O zrLC62g~Q%Txu>)P^)&d;9^GupR(A;f!=cJDov^_{AP#rmC1YC|gyarhk#Bx8fs#K6 z^pjDmhVD6(mMdwFzDOA#XIc%r2Z5(TeJmk863dV61vY?+0kv(aOh_F4X4> zy)Ov%KWy1>T~I)OA;Vc2F}^t7%-V+*YN;XQg%DO95;InN} z1LWojfwe1Qpt}Xr!CetWN!=YV=BIA{U5}}8az&U8#H}_F#Q2EK1;FoyVS2DzQCdAz zFnGl=t=kkFyX_U6tkUVXw}y+=;!^S$v?*p@N0MHhDcVSkjW<^ZPpHtiLZ7w9Ih`E1 z4`Ed%KZntJ_2%UK=iH*1r!9uK{oK6#j5)uMc8H|!Bs~IEl-`_Sa)cF$*}X2H zao98}Z#t~Frp6Xy0cAVto8)Oo|DE<@>wH*z`CY*JiOe%iTfBhZlR!2tX!U;T z5LrhwCuR$=LE^h8vuo-I)joUQWdhi9uQ~|!Y=^<>2Z~c_qo4m1Z+fCUm(9MOzJNB% z_uU9p6LTZKX^iG{6i9jKiAWv=y`PcF%j$;?fhvo1WcH3{pV@;VOV0s#l!pBCe}v`T zZ-8|C*L9ilzc<|bkL$9F{r~N@4EDcn%jf*5HmjkOh)l*1q!OW<@hBme>SbhzP^cvV zL`YOfk|olFOvd3%Bnd>K;g?)18Y3Oplp+a43C0vCZk1)PdhV;OEq=PaEp}RoE#H4O zufMzjy~$a$w_~rKm-i^F`uKohaZO@;c6xk!X2M*(K07+T^=wbP_rf=Kzs7vc@LPL7 z`Ke)?lb_QpE-1h$fBD6ZhTQRuD^dkRwaM_l6d)poamUD0fcF9IIK*}zm6plK$J%H@ zu)P`A^cznF`tsdb1{)D!Mf`uc(Mk42IUpPQOG=$`Qm>zPGWemo1 z3hX#vcAvdPf%510?B>Q@rfC(H9#*8OlKexM0!GE$f|TS3=dXB47XF?;ROy3c81(5n zc;eQ=WBTsFvCcGnsm=XJDct#v-X}EAj?nvw zL$cOVFgJv99GY=C}_%1=4G{4iTD6Hm%tb4X&^P zoolv-=jjkbT>k3aTYy5lI)S1b(CFvLpnf~n>I0R76D`dlrFjUQG_%Ek_KhyU^*>b4 z6p&}~v<-C2VZ`9f_0kHE;b(Y; z-!lo48uTDFXn-fD)5}LI;TT>eW|UUnoDhy==z9(C0VL%-F(_h32kWpt&Ci=2?uAR! z6+O!0CM$J)1BaCA8Xrhz!4`*&da(?S2gIDkb|bR7TOcV06Zv*G(X>9=B&t^ZuX(aO z?vyY-s?{b?%GmwR-6$tD7X9_Q7UJT64^(WMLDGy4vtM_M3Kq4YtE^$m-$WQh%BqdS z(jtPqw1JDwu$flPBpDshSu%J>LD#^oNY9F_nANY9E;!g$1`v^EgH^2I@KBQtTiL$} zOeL0`ePeO#?fl64bDJ3NGf}V~&r#u~=Z4aTrRw>g82CDI;7Wh*g7PmUUG3xTZ8_@< zk1ojk_2>|B4rcd4b?o*Jsaz1E+MwZYSMqZdpxmkB=Bqc@yglaqb3RrP$g`*|Mv`%D z*SIC2>~==T!Yrgy2F<(+amBtwx#U}A(BC=yAlOeZt$)!3AMt4m_#VR;E4<;=3z@Kw zwxWfyz~a|{RsPKCwhWJgAvU3ox+^0FmD3=U*=vx;4C4}u8RAbU! z(S%CccpZIuwSon*%d;{dZzl4D*H_~;i}4iq(k%;NeTx+N!S(-es#%PI;yd#@Msd;O z2VX&7_OFs=iifM*E8~#0h0dZgWXx9HJ1gK+fA#?fJfbv}r8Z*DcIX@TP!<33#9>Lm zpTVX{&O{rE8FF9<$3aRm%z#HpET3moAEo2pPT&B|=yf@mow`z3sgI}Hqz*TQwP;Y! zN?6igNA_5Km2V}M%5hIqs5gvHqs4}d zaLNpiyx=xG?um}hcX z;ZrL7_t`NwAq&#_`NXL8>q@w{0wufhRp7=FldN_Kmil{0{{G7#_N79UBoJGunICT` z&qC3?`ih2(8vOv@OhLJ$Ch}Zss(^wADrSnCu|YATMgw#7{v8?W;rYb9;Dt?Y)(?Z- zlwM$3)-Cr!p3vBfGX6#%9wsY&rlJmgFpTQAkL%uaPs+4UiyxoWQQPBUQ_`XzP6eXj zW^_T2)N&?bSTao6+{Zqn>LY*Pt~ry!-MppGe4n>?Ur=84IS7LeyU6fT>V8Jb4(EEi zznWVM*o>Z7MxzJsn+)9`st>UC^Cd;SR5Mym#;{&*2oZ+oO(Tx^dyR`QF30FYTh9ZQ zjPwtr9eP$l$gS?l{3Y$yd#hjKOJQDHfde6HQplYkfWK((dG6qa7PS%jPRN9hj19*i|6cxw!F9x(N?2;*1va zog9#c>;?}@ZV0<~V4q*9K$kQTvhZ;E*KM%vs4dWjJ?4k0>A&TNg;d_ulKa(CkZreP zBi>?=^)Wx_N`|J57>TR(BB?jO!k z_rGxvA5Al{wfs9C^9o9wKxrZp4WsGD7;eY_m6^y8PD#JTs2$-4F8oLt_V;jiAe)5W zN+yGTKKPP+Xl9Cv`qS+D40vC1atD7jYvN!-O^Ry`A&s>7CFS^-!(w#Y=DW2KaTiYq z)L#^L#@a>1>7hsT@S*Qy-knztM(8cu^w1Tzn<|ELRp(w@gmH2}6L&)1OoE7!=j$UJ z>?j5E&L5^+%M^LMEy*@hXlJ_cSw^#Kaf`p^q!Hfag{^yz4ZmN7c9=-zpq}mODY_G- zZ7&A;4q3BLNj=XZ{mF}JgW6>|X01Gs+wgzG%O-wF7yQ=63rR4Rv;b8iH!DhYc{J8~ zlh!k{WE&rQ5HhaJv)x>qW?axH7&U^gZr-IU zCoJB`kjJ%r`twlUESW4n)AktIfg#kQ{9oOh+@#&xk}tT$Sr@(wnH~X^s3J#Jy9Hrct+U zS!vt0UFk~Owr$(CZQHhO+xQZdw%v7N_wMN4@yCgdzUixVJLA22*LvnNhPv>k6SGqr zqsw20a`{j8T%kp0QCnvse9e4NDn~fX>v}}GWuN(7?aUc8Oa8eLu+fAV5_g#a_^!a~ zrRgo?`SZu*S$AR~HIw7SVHfYq1%TQ1v$xQ8x<2H=Q;zceUqWl$j_ht24hS2&BlA0J zlhqDeFsDaH=#0yDe^sw+%#)|3^z_F=d3TmyE;)_!Ka!l9Saw6};xOFN791MZ{mNjE z`}z{NytI`R*G#_irQ~A3AD!kN}IbiLeQqXT<}fgRBTY zJ5VhzdXMQc?*;i*GOCp!hJH7xXr#>3WBNLPtkS_BSwPp7`mkUBd_B-DdoNL8HcXS6 z?W6@{B;t`-sNGJCi+Y+Wv1pt-M4*0AK%w_(O8jO(oc2ajzrt86-|BQrKfOg>#A(() zI0oCszX8R_CA074x(JkzI@g0xpOWp`oy~G93~irx;HLJ@ZP!Z};5uC8IPDB>sDKV_ zl*+o5E+w(1-vghTeQ0VVx^CAnL4JLYa+e!2ZH%jgKs?aezixKMXTPJcORtJPI7}Tq ze==KeDZ#wx9R&4_mL2ks+=y>o#!y~dK4q9l({~OY!f&PwS(iC877i3xDORqIiXnp1 zop^PsL4Eg&4BVa3TpvR}sCkyo#3zQm_V(qTaj-k5yNg+?B#e<%1FL7WB?9!7id6_< zre2H;1QFrvL+h1!Yp!(9xZq@P0PO#Xk}=sLNCidWsLsE4qauuC((fu`ce(lyp5mm1 zhB~eE$vbz}SB@$*B|k`y*N;hO~O00S7nv;=m4@ZBOphoN8)DS{^|(}}m^(ugjuA-jK) zBtZJU`Ny�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%0AC(2$((kl^0!H|2&Wfoo3Rr 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 literal 0 HcmV?d00001 diff --git a/param_decomp/tests/qwen3_hf_parity/test_qwen3_hf_parity.py b/param_decomp/tests/qwen3_hf_parity/test_qwen3_hf_parity.py new file mode 100644 index 000000000..6c0e239ae --- /dev/null +++ b/param_decomp/tests/qwen3_hf_parity/test_qwen3_hf_parity.py @@ -0,0 +1,126 @@ +"""Direct JAX-vs-HuggingFace parity for the Qwen3 target. + +The tiny test rebuilds `gen_hf_fixtures.py`'s seeded random `Qwen3ForCausalLM` as a +`LlamaDecomposedModel` (qk_norm) from the golden's own state dict, fp32, and matches HF's +logits at fp32 tolerance — the exact-architecture check (QK-norm, GQA, plain RoPE at +theta 1e6). The slow test loads the REAL `Qwen/Qwen3-8B-Base` snapshot through the +production loader (`load_decomposed_lm_from_hf`, bf16) and matches HF's bf16 +final-position logits in distribution (KL + argmax) — the weight-loading check. +""" + +import json +from pathlib import Path + +import jax +import jax.numpy as jnp +import numpy as np +import pytest + +from param_decomp.targets.llama8b import ( + FrozenAttn, + LlamaDecomposedModel, + LlamaLayer, + build_decomposed_lm, + hf_snapshot_dir, + load_decomposed_lm_from_hf, + qwen3_8b_config, +) +from vendored_jax.llama import LlamaConfig, llama3_inv_freq + +HERE = Path(__file__).resolve().parent + + +def _tiny_cfg_from_golden(config_json: str) -> LlamaConfig: + hf = json.loads(config_json) + assert hf["head_dim"] * hf["num_attention_heads"] == hf["hidden_size"], hf + assert not hf["tie_word_embeddings"] and not hf["attention_bias"], hf + return LlamaConfig( + vocab_size=hf["vocab_size"], + n_layer=hf["num_hidden_layers"], + n_head=hf["num_attention_heads"], + n_kv_head=hf["num_key_value_heads"], + n_embd=hf["hidden_size"], + n_intermediate=hf["intermediate_size"], + rope_theta=hf["rope_theta"], + rms_norm_eps=hf["rms_norm_eps"], + max_position_embeddings=hf["max_position_embeddings"], + qk_norm=True, + ) + + +def _build_from_hf_state(cfg: LlamaConfig, sd: dict[str, np.ndarray]) -> LlamaDecomposedModel: + """`_load_blocks`/`_load_attn` mirrored over an in-memory fp32 HF state dict (the + production loader reads sharded safetensors and casts bf16; here we stay fp32 so the + comparison isolates the MATH from rounding).""" + a = lambda key: jnp.asarray(sd[key], jnp.float32) # noqa: E731 + pre = "model.layers" + layers = [ + LlamaLayer( + ln1=a(f"{pre}.{i}.input_layernorm.weight"), + ln2=a(f"{pre}.{i}.post_attention_layernorm.weight"), + attn=FrozenAttn( + wq=a(f"{pre}.{i}.self_attn.q_proj.weight"), + wk=a(f"{pre}.{i}.self_attn.k_proj.weight"), + wv=a(f"{pre}.{i}.self_attn.v_proj.weight"), + wo=a(f"{pre}.{i}.self_attn.o_proj.weight"), + n_head=cfg.n_head, + n_kv_head=cfg.n_kv_head, + head_dim=cfg.head_dim, + n_rep=cfg.n_rep, + q_norm=a(f"{pre}.{i}.self_attn.q_norm.weight"), + k_norm=a(f"{pre}.{i}.self_attn.k_norm.weight"), + eps=cfg.rms_norm_eps, + ), + Wg=a(f"{pre}.{i}.mlp.gate_proj.weight"), + Wu=a(f"{pre}.{i}.mlp.up_proj.weight"), + Wd=a(f"{pre}.{i}.mlp.down_proj.weight"), + ) + for i in range(cfg.n_layer) + ] + return build_decomposed_lm( + embed=a("model.embed_tokens.weight"), + layers=layers, + norm=a("model.norm.weight"), + lm_head=a("lm_head.weight"), + inv_freq=llama3_inv_freq(cfg), + cfg=cfg, + sites=(), + ) + + +def test_tiny_random_qwen3_matches_hf(): + f = np.load(HERE / "qwen3_tiny_hf_fixtures.npz") + cfg = _tiny_cfg_from_golden(str(f["config_json"])) + sd = {k.removeprefix("sd::"): f[k] for k in f.files if k.startswith("sd::")} + lm = _build_from_hf_state(cfg, sd) + logits = np.asarray(lm.clean_output(jnp.asarray(f["tokens"]))) + np.testing.assert_allclose(logits, f["logits"], rtol=2e-4, atol=1e-5) + + +@pytest.mark.slow +def test_real_qwen3_8b_matches_hf(): + """The production HF loader against real-weights HF logits: bf16 both sides, so the + comparison is distributional — small KL at the final position and argmax agreement — + not elementwise.""" + try: + hf_snapshot_dir("Qwen/Qwen3-8B-Base") + except (AssertionError, FileNotFoundError, KeyError): + pytest.skip("no local Qwen/Qwen3-8B-Base snapshot") + f = np.load(HERE / "qwen3_8b_real_logits.npz") + lm = load_decomposed_lm_from_hf("Qwen/Qwen3-8B-Base", qwen3_8b_config(), ()) + logits = np.asarray(lm.clean_output(jnp.asarray(f["tokens"]))[:, -1, :].astype(jnp.float32)) + ref = f["final_logits"] + # tie-aware argmax: the golden is bf16, so distinct plausible tokens often carry the + # IDENTICAL quantized top logit (observed: a 3-way 32.25 tie) — require JAX's argmax + # to sit at the golden's top logit level, not to match one arbitrary tie-winner. + jax_pick_ref_logit = np.take_along_axis(ref, logits.argmax(-1, keepdims=True), -1)[:, 0] + assert (jax_pick_ref_logit >= ref.max(-1) - 0.25).all(), ( + logits.argmax(-1), + ref.argmax(-1), + jax_pick_ref_logit, + ref.max(-1), + ) + ref_logp = np.asarray(jax.nn.log_softmax(jnp.asarray(ref), axis=-1)) + jax_logp = np.asarray(jax.nn.log_softmax(jnp.asarray(logits), axis=-1)) + kl = (np.exp(ref_logp) * (ref_logp - jax_logp)).sum(-1) + assert (kl < 5e-3).all(), kl diff --git a/param_decomp/tests/test_attn_patterns_eval.py b/param_decomp/tests/test_attn_patterns_eval.py index 0493b5fe7..b32881a53 100644 --- a/param_decomp/tests/test_attn_patterns_eval.py +++ b/param_decomp/tests/test_attn_patterns_eval.py @@ -75,7 +75,7 @@ def test_attn_pattern_for_shape_and_causal_softmax_llama(): qd, kvd = cfg.n_head * cfg.head_dim, cfg.n_kv_head * cfg.head_dim q = jax.random.normal(jax.random.PRNGKey(1), (b, t, qd)) k = jax.random.normal(jax.random.PRNGKey(2), (b, t, kvd)) - pattern = np.asarray(pattern_fn(q, k)) + pattern = np.asarray(pattern_fn("layers.0.self_attn.q_proj", q, k)) assert pattern.shape == (b, cfg.n_head, t, t) np.testing.assert_allclose(pattern.sum(-1), 1.0, rtol=1e-5, atol=1e-5) @@ -93,7 +93,7 @@ def test_attn_pattern_for_shape_and_causal_softmax_simple_mlp(): qd, kvd = cfg.n_head * cfg.head_dim, cfg.n_kv_head * cfg.head_dim q = jax.random.normal(jax.random.PRNGKey(1), (b, t, qd)) k = jax.random.normal(jax.random.PRNGKey(2), (b, t, kvd)) - pattern = np.asarray(pattern_fn(q, k)) + pattern = np.asarray(pattern_fn("h.0.attn.q_proj", q, k)) assert pattern.shape == (b, cfg.n_head, t, t) np.testing.assert_allclose(pattern.sum(-1), 1.0, rtol=1e-5, atol=1e-5) @@ -293,7 +293,7 @@ def test_attn_patterns_steps_reject_positionless_target(): leading_axes=(), ) assert lm.leading_axes == () - dummy_pattern_fn = lambda q, k: q # noqa: E731 — never reached; assert fires first + dummy_pattern_fn = lambda site, q, k: q # noqa: E731 — never reached; assert fires first with pytest.raises(AssertionError, match="LM-only"): make_ci_attn_patterns_step(lm, dummy_pattern_fn) with pytest.raises(AssertionError, match="LM-only"): diff --git a/param_decomp/tests/test_config.py b/param_decomp/tests/test_config.py index 38a0519dd..7365bca2d 100644 --- a/param_decomp/tests/test_config.py +++ b/param_decomp/tests/test_config.py @@ -209,8 +209,8 @@ def with_ppgd_fields(**fields: object): def test_unsupported_model_family_refuses_and_supported_families_dispatch(): - """E23: only Llama-3.1-8B (`hf`/`hf_weights_in_vendored` - → `TargetConfig`) and `LlamaSimpleMLP` (`pretrained` → + """E23: only the `llama8b.HF_MODEL_CONFIGS` models (`hf`/`hf_weights_in_vendored` + → `TargetConfig`; Llama-3.1-8B and Qwen3-8B-Base) and `LlamaSimpleMLP` (`pretrained` → `LlamaSimpleMLPTargetConfig`) convert; every other family is refused at convert time. The schema's `LMTargetSpec` discriminated union still validates a GPT-2 spec (it's a well-formed `kind`), so the refusal must come from `_resolve_target`'s @@ -243,6 +243,15 @@ def _converted_target(spec: dict[str, str]): ) assert isinstance(raw_hf_llama, TargetConfig) + raw_hf_qwen3 = _converted_target( + { + "kind": "hf", + "model_class": "transformers.Qwen3ForCausalLM", + "model_name": "Qwen/Qwen3-8B-Base", + } + ) + assert isinstance(raw_hf_qwen3, TargetConfig) + gpt2_hf = { "kind": "hf", "model_class": "transformers.GPT2LMHeadModel", diff --git a/param_decomp/tests/test_llama8b.py b/param_decomp/tests/test_llama8b.py index 00fb594b2..fc9ec3717 100644 --- a/param_decomp/tests/test_llama8b.py +++ b/param_decomp/tests/test_llama8b.py @@ -6,6 +6,8 @@ without real weights or a GPU. """ +from collections.abc import Callable + import equinox as eqx import jax import jax.numpy as jnp @@ -70,6 +72,22 @@ def _tiny_cfg() -> LlamaConfig: ) +def _tiny_qwen_cfg() -> LlamaConfig: + """Qwen3-shaped tiny config: QK-norm, plain RoPE (same dims as `_tiny_cfg`).""" + return LlamaConfig( + vocab_size=64, + n_layer=8, + n_head=4, + n_kv_head=2, + n_embd=32, + n_intermediate=64, + rope_theta=1000000.0, + rms_norm_eps=1e-6, + max_position_embeddings=512, + qk_norm=True, + ) + + def _tiny_decomposed_lm( cfg: LlamaConfig, sites: tuple[SiteSpec, ...], key: jax.Array ) -> LlamaDecomposedModel: @@ -83,10 +101,16 @@ def n(shape: tuple[int, ...], s: float | None = None) -> jax.Array: return jax.random.normal(next(ks), shape) * (s or d**-0.5) def fattn(): - return FrozenAttn( - n((qd, d)), n((kvd, d)), n((kvd, d)), n((d, qd)), - cfg.n_head, cfg.n_kv_head, cfg.head_dim, cfg.n_rep, - ) # fmt: skip + weights = (n((qd, d)), n((kvd, d)), n((kvd, d)), n((d, qd))) + if cfg.qk_norm: + # non-trivial norm weights (≈1) so a wrong/missing norm application shows + q_norm = 1.0 + 0.1 * jax.random.normal(next(ks), (cfg.head_dim,)) + k_norm = 1.0 + 0.1 * jax.random.normal(next(ks), (cfg.head_dim,)) + return FrozenAttn( + *weights, cfg.n_head, cfg.n_kv_head, cfg.head_dim, cfg.n_rep, + q_norm=q_norm, k_norm=k_norm, eps=cfg.rms_norm_eps, + ) # fmt: skip + return FrozenAttn(*weights, cfg.n_head, cfg.n_kv_head, cfg.head_dim, cfg.n_rep) def layer(): return LlamaLayer( @@ -213,9 +237,10 @@ def test_masked_component_activations_pre_mask_and_matches_outputs(): assert jnp.allclose(outputs[s].astype(jnp.float32), expected, atol=1e-2), s +@pytest.mark.parametrize("tiny_cfg", [_tiny_cfg, _tiny_qwen_cfg], ids=["llama", "qwen"]) @pytest.mark.parametrize("first,last", [(4, 4), (3, 6)]) -def test_clean_path_and_masked_identity(first: int, last: int): - cfg = _tiny_cfg() +def test_clean_path_and_masked_identity(first: int, last: int, tiny_cfg: Callable[[], LlamaConfig]): + cfg = tiny_cfg() C = 8 sites = _mlp_sites(cfg, first, last, C) lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) @@ -259,8 +284,9 @@ def test_clean_path_and_masked_identity(first: int, last: int): assert all(v.dtype == jnp.float32 for v in deltas.values()) -def test_attention_sites_clean_and_masked_identity(): - cfg = _tiny_cfg() +@pytest.mark.parametrize("tiny_cfg", [_tiny_cfg, _tiny_qwen_cfg], ids=["llama", "qwen"]) +def test_attention_sites_clean_and_masked_identity(tiny_cfg: Callable[[], LlamaConfig]): + cfg = tiny_cfg() sites = llama_site_specs(cfg, _QVDOWN_SITE_CS) lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) vu = init_decomp_vu(sites, jax.random.PRNGKey(1)) @@ -354,12 +380,19 @@ def test_o_site_masks_attention_output(): @pytest.mark.parametrize( - "site_cs", - [mlp_family_site_cs(4, 4, 8), mlp_family_site_cs(3, 6, 8), _QVDOWN_SITE_CS], - ids=["mlp_l4", "mlp_l3_6", "qv_down_l4"], + "tiny_cfg,site_cs", + [ + (_tiny_cfg, mlp_family_site_cs(4, 4, 8)), + (_tiny_cfg, mlp_family_site_cs(3, 6, 8)), + (_tiny_cfg, _QVDOWN_SITE_CS), + (_tiny_qwen_cfg, _QVDOWN_SITE_CS), + ], + ids=["mlp_l4", "mlp_l3_6", "qv_down_l4", "qwen_qv_down_l4"], ) -def test_step_trains_and_has_vpd_signature(site_cs: tuple[SiteC, ...]): - cfg = _tiny_cfg() +def test_step_trains_and_has_vpd_signature( + tiny_cfg: Callable[[], LlamaConfig], site_cs: tuple[SiteC, ...] +): + cfg = tiny_cfg() seq = 16 n_warmup = 2 sites = llama_site_specs(cfg, site_cs) @@ -449,6 +482,34 @@ def test_step_trains_and_has_vpd_signature(site_cs: tuple[SiteC, ...]): assert state.ci_fn.chunks.in_proj_w.dtype == jnp.float32 +def test_qwen_qk_norm_is_load_bearing(): + """The QK-norm actually enters the forward: scaling `q_norm` changes the logits, and + the pre-projection site inputs (`read_activations`) stay norm-independent (q/k sites + decompose BEFORE the norm — the masked site output feeds q_norm → RoPE → SDPA).""" + cfg = _tiny_qwen_cfg() + sites = llama_site_specs(cfg, _QVDOWN_SITE_CS) + lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) + tokens = jax.random.randint(jax.random.PRNGKey(2), (2, 16), 0, cfg.vocab_size) + + q_norm = lm.stacked.attn.q_norm + assert q_norm is not None and q_norm.shape == (cfg.n_layer, cfg.head_dim) + # scale ONLY layer 4's q_norm so the residual ENTERING layer 4 stays untouched + scaled = eqx.tree_at(lambda m: m.stacked.attn.q_norm, lm, q_norm.at[4].mul(2.0)) + assert not jnp.allclose(lm.clean_output(tokens), scaled.clean_output(tokens), atol=1e-4) + + # q/k/v site inputs are the post-LN1 residual, untouched by the qk-norm + taps = lm.read_activations(tokens, lm.site_names) + scaled_taps = scaled.read_activations(tokens, lm.site_names) + q_site = "layers.4.self_attn.q_proj" + assert jnp.array_equal(taps[q_site], scaled_taps[q_site]) + # o's site input is the attention output, which the norm DOES shape + o_taps = lm.read_activations(tokens, ("layers.4.self_attn.o_proj",)) + o_taps_scaled = scaled.read_activations(tokens, ("layers.4.self_attn.o_proj",)) + assert not jnp.allclose( + o_taps["layers.4.self_attn.o_proj"], o_taps_scaled["layers.4.self_attn.o_proj"] + ) + + def test_faith_warmup_decreases_faith(): cfg = _tiny_cfg() sites = _mlp_sites(cfg, 3, 4, 8) diff --git a/param_decomp_lab/experiments/CLAUDE.md b/param_decomp_lab/experiments/CLAUDE.md index 246e41758..084010678 100644 --- a/param_decomp_lab/experiments/CLAUDE.md +++ b/param_decomp_lab/experiments/CLAUDE.md @@ -88,8 +88,20 @@ target: kind: hf_weights_in_vendored # HF weights loaded into a vendored, componentizable arch model_class: param_decomp_lab.experiments.lm.vendored.llama_3_1.model.VendoredLlama model_name: meta-llama/Llama-3.1-8B + +# or +target: + spec: + kind: hf # Qwen3-8B-Base (same vendored JAX target + QK-norm) + model_class: transformers.Qwen3ForCausalLM + model_name: Qwen/Qwen3-8B-Base ``` +`kind: hf`/`hf_weights_in_vendored` model names must be in `llama8b.HF_MODEL_CONFIGS` +(Llama-3.1-8B, Qwen3-8B-Base) — anything else refuses at convert time. A Qwen3 run needs +a Qwen3-tokenized prestaged dataset (`prestage_tokenized` with +`--tokenizer_name Qwen/Qwen3-8B-Base`). + The JAX prediction tensor is always the final logits (there is no `output_extract` — it was a torch-era field, stripped on load for back-compat). The `model_class` strings are NOT imported by the JAX trainer — `param_decomp.built_run` only asserts the class-name diff --git a/param_decomp_lab/experiments/lm/config.py b/param_decomp_lab/experiments/lm/config.py index f49d3062f..bdc15c139 100644 --- a/param_decomp_lab/experiments/lm/config.py +++ b/param_decomp_lab/experiments/lm/config.py @@ -147,7 +147,8 @@ class LMExperimentConfig(ExperimentConfig[LMTargetConfig, LMDataConfig]): @dataclass(frozen=True) class TargetConfig: - """The Llama-3.1-8B HF target (`param_decomp.llama8b`).""" + """An HF GLU-transformer target (`param_decomp.targets.llama8b` — Llama-3.1-8B or + Qwen3-8B-Base; `model_name` must be in `llama8b.HF_MODEL_CONFIGS`).""" model_name: str sites: tuple[SiteC, ...] @@ -230,9 +231,13 @@ def _resolve_target(cfg: LMExperimentConfig) -> AnyLMTargetConfig: match spec: case HFWeightsInVendored(): assert spec.model_class.rsplit(".", 1)[-1] == "VendoredLlama", spec.model_class + assert "Llama-3.1-8B" in spec.model_name, spec.model_name case HFTarget(): - assert spec.model_class == "transformers.LlamaForCausalLM", spec.model_class - assert "Llama-3.1-8B" in spec.model_name, spec.model_name + assert spec.model_class in ( + "transformers.LlamaForCausalLM", + "transformers.Qwen3ForCausalLM", + ), spec.model_class + llama8b.hf_model_config(spec.model_name) # refuse unknown model names here return TargetConfig(model_name=spec.model_name, sites=_site_cs(cfg)) case PretrainedTarget(): assert spec.model_class.rsplit(".", 1)[-1] == "LlamaSimpleMLP", spec.model_class @@ -261,7 +266,7 @@ def _resolve_d_resid(target: AnyLMTargetConfig) -> int: each chunk reads one residual tap of this width.""" match target: case TargetConfig(): - return llama8b.llama31_8b_config().n_embd + return llama8b.hf_model_config(target.model_name).n_embd case LlamaSimpleMLPTargetConfig(): cache_dir = llama_simple_mlp.pretrain_cache_dir(target.pretrain_run_path) return llama_simple_mlp.load_model_config(cache_dir).n_embd diff --git a/param_decomp_lab/experiments/lm/load_run.py b/param_decomp_lab/experiments/lm/load_run.py index c064d8591..3c17f97c4 100644 --- a/param_decomp_lab/experiments/lm/load_run.py +++ b/param_decomp_lab/experiments/lm/load_run.py @@ -41,7 +41,7 @@ from param_decomp.sharding import hsdp_mesh, place_via_shardings from param_decomp.targets import llama_simple_mlp from param_decomp.targets.llama8b import ( - llama31_8b_config, + hf_model_config, llama_site_specs, load_decomposed_lm_from_hf, ) @@ -83,19 +83,19 @@ def build_target(cfg: BuiltRun, mesh: jax.sharding.Mesh) -> tuple[DecomposedMode lm = place_via_shardings(loaded_lm, loaded_lm.shardings(mesh)) return lm, simple_cfg.vocab_size case TargetConfig(): - llama_cfg = llama31_8b_config() - sites = llama_site_specs(llama_cfg, cfg.target.sites) + arch_cfg = hf_model_config(cfg.target.model_name) + sites = llama_site_specs(arch_cfg, cfg.target.sites) lm = place_target( load_decomposed_lm_from_hf( cfg.target.model_name, - llama_cfg, + arch_cfg, sites, scan_unroll=cfg.runtime.scan_unroll, gather_fp8=cfg.runtime.gather_fp8, ), mesh, ) - return lm, llama_cfg.vocab_size + return lm, arch_cfg.vocab_size case _: raise AssertionError(f"build_target is LM-only; got target {type(cfg.target).__name__}") @@ -242,11 +242,11 @@ def run_metadata(run_dir: Path) -> RunMetadata: layer_activation_sizes=[(s.name, s.C) for s in cfg.target.sites], ) case TargetConfig(): - llama_cfg = llama31_8b_config() + arch_cfg = hf_model_config(cfg.target.model_name) return RunMetadata( - model_type="Llama", - n_blocks=llama_cfg.n_layer, - vocab_size=llama_cfg.vocab_size, + model_type="Qwen3" if "Qwen3" in cfg.target.model_name else "Llama", + n_blocks=arch_cfg.n_layer, + vocab_size=arch_cfg.vocab_size, layer_activation_sizes=[(s.name, s.C) for s in cfg.target.sites], ) case _: diff --git a/param_decomp_lab/topology/path_schemas.py b/param_decomp_lab/topology/path_schemas.py index b7127f565..a889b4b2a 100644 --- a/param_decomp_lab/topology/path_schemas.py +++ b/param_decomp_lab/topology/path_schemas.py @@ -205,11 +205,24 @@ class _GPT2PathSchema(_PathSchema): unembed_path = "lm_head" +class _HFGLUPathSchema(_PathSchema): + """The raw-HF GLU-transformer site grammar (`layers.{i}.self_attn.q_proj`, …) the + llama8b/qwen3 `DecomposedModel` targets emit (`param_decomp.targets.llama8b`).""" + + embedding_path = "embed_tokens" + blocks = "layers" + attn = _SeparateAttnPathSchema(base="self_attn", q="q_proj", k="k_proj", v="v_proj", o="o_proj") + mlp = _GLUPathSchema(base="mlp", gate="gate_proj", up="up_proj", down="down_proj") + unembed_path = "lm_head" + + _MODEL_TYPE_PATH_SCHEMAS: dict[str, type[_PathSchema]] = { "LlamaSimple": _LlamaSimplePathSchema, "LlamaSimpleMLP": _LlamaSimpleMLPPathSchema, "GPT2Simple": _GPT2SimplePathSchema, "GPT2": _GPT2PathSchema, + "Llama": _HFGLUPathSchema, + "Qwen3": _HFGLUPathSchema, } diff --git a/pyproject.toml b/pyproject.toml index 80d6a3210..2246f690c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -136,6 +136,7 @@ exclude = [ "param_decomp/tests/equivalence/torch_reference.py", # torch-env script "param_decomp/tools/convert_llama_simple_mlp_checkpoint.py", # torch-env script "param_decomp/tests/simple_mlp_equivalence/gen_torch_fixtures.py", # torch-env script + "param_decomp/tests/qwen3_hf_parity/gen_hf_fixtures.py", # torch-env script "param_decomp/tests/stacked_parity/gen_stacked_fixtures.py", # base-branch-only script (pre-restructure API) ] stubPath = "typings" # Having type stubs for transformers shaves 10 seconds off basedpyright calls diff --git a/vendored_jax/llama.py b/vendored_jax/llama.py index 9d680b3e1..7a9964277 100644 --- a/vendored_jax/llama.py +++ b/vendored_jax/llama.py @@ -42,6 +42,9 @@ class LlamaConfig: rope_low_freq_factor: float | None = None rope_high_freq_factor: float | None = None rope_original_max_position_embeddings: int | None = None + # Qwen3-style per-head RMSNorm on q/k after projection, before RoPE + # (HF `Qwen3Attention.q_norm`/`k_norm`). False => the plain Llama attention. + qk_norm: bool = False @property def head_dim(self) -> int: From 6a71fc5223fecb8b1fd8a1fa459e94b113b57547 Mon Sep 17 00:00:00 2001 From: "PD User (shared)" Date: Tue, 14 Jul 2026 22:56:48 +0000 Subject: [PATCH 2/7] refactor(targets): split model families out of a shared glu_transformer target (review) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per PR #987 review: no switch-behavior inside llama8b, no cartesian-product configs, no inline model-family dispatch in evals. - targets/glu_transformer.py (+ _sharding): the SHARED HF GLU-transformer machinery — site grammar, FrozenAttn/GLULayer/GLUDecomposedModel (renamed from Llama*), scan/masked-forward engine, HF loading parameterized by the family's attn loader + inv_freq. FrozenAttn gains a `_prep_qk` pre-RoPE hook (identity) and a target-owned `pattern` recipe; GLUDecomposedModel gains `attn_pattern(q_site, q_flat, k_flat)`. - targets/llama8b.py: the Llama family file — llama31_8b_config (vendored LlamaConfig, llama3 rope) + load_decomposed_llama_from_hf. - targets/qwen3_8b.py: the Qwen3 family file — Qwen3FrozenAttn with REQUIRED q_norm/k_norm/eps fields overriding _prep_qk (QK-norm keyed by attn class, never a flag; invalid states unrepresentable), qwen3_8b_config (GLUConfig), load_decomposed_qwen3_from_hf. vendored_jax/llama.py reverted untouched. - attn_patterns_eval inverted: the recipe is target-owned behind a runtime_checkable AttnPatternModel protocol; the eval no longer imports any concrete target and the match-on-class dispatch is gone. Step factories drop the pattern_fn param. SimpleMLPDecomposedModel implements the method. - lab: HF_MODEL_FAMILIES registry (model_name -> arch_config/load/model_type) in experiments/lm/config.py — the ONLY place a model name selects a family; build_target/run_metadata consume it. - qwen tiny-target tests move to test_qwen3_8b.py (incl. per-layer QK-norm pattern test); parity suite re-pointed at the family loader. Full local run of affected suites green; make check clean. Crew-Address: task/ingest-qwen-3-8b Co-Authored-By: Claude Fable 5 --- CLAUDE.md | 4 +- param_decomp/CLAUDE.md | 8 +- param_decomp/arithmetic_eval.py | 2 +- param_decomp/attn_patterns_eval.py | 157 +-- param_decomp/ci_fn.py | 2 +- param_decomp/experiments/invariance_check.py | 6 +- param_decomp/hf_http.py | 2 +- param_decomp/run_state.py | 2 +- param_decomp/sharding.py | 2 +- param_decomp/targets/glu_transformer.py | 1142 +++++++++++++++++ ...harding.py => glu_transformer_sharding.py} | 8 +- param_decomp/targets/llama8b.py | 1099 +--------------- param_decomp/targets/llama_simple_mlp.py | 13 +- param_decomp/targets/qwen3_8b.py | 105 ++ param_decomp/targets/target_aliases.py | 4 +- .../tests/equivalence/jax_equivalence.py | 16 +- .../tests/equivalence/test_equivalence.py | 2 +- .../qwen3_hf_parity/test_qwen3_hf_parity.py | 34 +- .../stacked_parity/test_stacked_parity.py | 10 +- param_decomp/tests/test_arithmetic_eval.py | 4 +- param_decomp/tests/test_attn_patterns_eval.py | 46 +- param_decomp/tests/test_checkpoint.py | 10 +- .../test_checkpoint_production_topology.py | 8 +- param_decomp/tests/test_config.py | 4 +- param_decomp/tests/test_eval.py | 12 +- param_decomp/tests/test_fnmatch_site_order.py | 8 +- .../test_fresh_pgd_cscope_dp_invariance.py | 6 +- param_decomp/tests/test_llama8b.py | 121 +- param_decomp/tests/test_llama_simple_mlp.py | 2 +- param_decomp/tests/test_qwen3_8b.py | 233 ++++ param_decomp/tests/test_sharding.py | 6 +- param_decomp/tests/test_slow_eval.py | 8 +- param_decomp/tests/test_source_grad_mean.py | 6 +- param_decomp/tools/theoretical_min_memory.py | 4 +- param_decomp_lab/experiments/CLAUDE.md | 2 +- param_decomp_lab/experiments/lm/config.py | 50 +- param_decomp_lab/experiments/lm/load_run.py | 23 +- param_decomp_lab/experiments/lm/run.py | 12 +- param_decomp_lab/topology/path_schemas.py | 2 +- vendored_jax/llama.py | 3 - 40 files changed, 1748 insertions(+), 1440 deletions(-) create mode 100644 param_decomp/targets/glu_transformer.py rename param_decomp/targets/{llama8b_sharding.py => glu_transformer_sharding.py} (95%) create mode 100644 param_decomp/targets/qwen3_8b.py create mode 100644 param_decomp/tests/test_qwen3_8b.py diff --git a/CLAUDE.md b/CLAUDE.md index fae0420fb..8cb091097 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -55,7 +55,7 @@ lab is composition / IO / CLI / experiment assembly**: - **`param-decomp`** (root: `param_decomp/` + sibling `pretrain/` + sibling `vendored_jax/`) — the core: the generic JAX single-pool VPD trainer ENGINE (`param_decomp/`: run.py = `run_decomposition_training`, lm.py, train.py, ci_fn.py, - targets/llama8b.py, …), the torch-free pydantic config SCHEMA it now carries directly + targets/glu_transformer.py + its llama8b/qwen3_8b family files, …), the torch-free pydantic config SCHEMA it now carries directly (`base_config.py` = `BaseConfig`, `schedule.py`, `configs.py` = `PDConfig` / `RuntimeConfig` / `Cadence` / loss + eval-metric configs / routing / ci-fn / wandb shaping), the built-run bundle (`built_run.py`: `BuiltRun` / `DataConfig` / @@ -157,7 +157,7 @@ and returns JAX-native as the #10 torch->jax adapter. built-run bundle the engine consumes (`built_run.py`: `BuiltRun` / `DataConfig` / `EvalConfig` / … + the `TargetSites` protocol). The engine + numerics (`run.py` = `run_decomposition_training`, `lm.py` / `train.py` / `ci_fn.py` / - `targets/llama8b.py` / `targets/llama_simple_mlp.py` / `adversary.py` / `recon.py` / `losses.py` / + `targets/glu_transformer.py` (+ `targets/{llama8b,qwen3_8b}.py` family files) / `targets/llama_simple_mlp.py` / `adversary.py` / `recon.py` / `losses.py` / `checkpoint.py` / `sharding.py` / `eval.py` / `slow_eval.py` / `arithmetic_eval.py` + `log.py`) plus `configs/` (the self-contained run yamls) and `tests/` (incl. the `tests/equivalence/` frozen diff --git a/param_decomp/CLAUDE.md b/param_decomp/CLAUDE.md index a8ea1f86b..c419c0d2f 100644 --- a/param_decomp/CLAUDE.md +++ b/param_decomp/CLAUDE.md @@ -58,12 +58,12 @@ single `make_plan` constructor, built from the shared configs by `recon.build_lo see LOSS_PARITY_DESIGN.md), consuming `losses.py` (pure loss terms + schedules) and `adversary.py` (persistent vs fresh source machinery — semantically distinct adversaries sharing only -`source_masks`); `ci_fn.py` the shared CI transformer; `targets/llama8b.py` + `targets/llama8b_sharding.py` the first target. `targets/llama8b.py` implements BOTH vendored HF GLU-transformer targets — Llama-3.1-8B and Qwen3-8B-Base (`qwen3_8b_config`; the one structural delta is `LlamaConfig.qk_norm`, per-head RMSNorm on q/k before RoPE, optional `FrozenAttn.q_norm`/`k_norm` fields) — dispatched by HF model name via `hf_model_config`. Qwen3 JAX↔HF parity is pinned DIRECTLY by `tests/qwen3_hf_parity/` (a tiny-random `Qwen3ForCausalLM` golden at fp32 tolerance + a slow real-weights logits check; goldens regenerate via its torch-env `gen_hf_fixtures.py`). There is ONE +`source_masks`); `ci_fn.py` the shared CI transformer; `targets/glu_transformer.py` + `targets/glu_transformer_sharding.py` the SHARED HF GLU-transformer target machinery (site grammar, `FrozenAttn`/`GLULayer`/`GLUDecomposedModel`, the scan/masked-forward engine, HF loading), with the model FAMILIES in their own files: `targets/llama8b.py` (vendored `LlamaConfig`, llama3 rope) and `targets/qwen3_8b.py` (`Qwen3FrozenAttn` — REQUIRED `q_norm`/`k_norm` fields applied in the `_prep_qk` pre-RoPE hook; Qwen3's one structural delta). Nothing in the shared file switches on a family; the model-name → family registry is LAB-side (`experiments/lm/config.py::HF_MODEL_FAMILIES`). Qwen3 JAX↔HF parity is pinned DIRECTLY by `tests/qwen3_hf_parity/` (a tiny-random `Qwen3ForCausalLM` golden at fp32 tolerance + a slow real-weights logits check; goldens regenerate via its torch-env `gen_hf_fixtures.py`). There is ONE recon semantics: masks thread through the full token-input forward, loss is KL on final logits (SPEC §2.3–2.5). Site-local recon is a conceptual no-no, not a "simplification". `targets/llama_simple_mlp.py` is the second target (the pile-pretrained `LlamaSimpleMLP`, t-9d2b8f02; sites `h.{i}.attn.{q,k,v,o}_proj` / `h.{i}.mlp.{c_fc,down_proj}`) — -config dispatch is `TargetConfig` (llama8b) vs `LlamaSimpleMLPTargetConfig`, both LAB-side +config dispatch is `TargetConfig` (the HF GLU families) vs `LlamaSimpleMLPTargetConfig`, both LAB-side (`param_decomp_lab/experiments/lm/config.py`, which reads the canonical schema DIRECTLY — `build_experiment_config`/`load_config` — routing `kind: pretrained` specs + `h.*` wildcards), target build in the LM composition root @@ -98,7 +98,7 @@ every rank builds the identical grid, no rank-0 write or barrier), so configs st cluster-portable. The ONE fused `make_arithmetic_grid_step` slices, at the answer position with the BATCH axis KEPT as the grid, each component's lower-leaky CI (from the CI fn) and its pre-mask activation `x@V` (from the decomposed forward under all-ones masks — the -`masked_component_activations` seam, llama8b-only, narrowed via the `ComponentActivationModel` +`masked_component_activations` seam, GLU-target-only, narrowed via the `ComponentActivationModel` Protocol). The device→host pull is TWO-PHASE (`compute_arithmetic_selection`), sized to what the figures need — never the full `(n_prompts, C)` grids (~GBs/site at production C): the step's replicated per-component max CI (over REAL rows only — the sharding-pad tail is @@ -155,7 +155,7 @@ glued-ΣC head mid-site). **ZeRO-1 ÷N**: the trainable V/U + CI-fn fp32 masters m/v shard ÷N over the FULL mesh (`("replicate","fsdp")` on V's d_in / U's d_out / the CI fn's d_model) — the dominant optimizer-state memory scales 1/N, not the fixed 1/fsdp. The bf16 COMPUTE weights are reconstructed to the `fsdp`-sharded (÷fsdp) layout ONCE per step in ENTRY -(the cross-`replicate` gather, off the hot path — `llama8b._reconstruct_compute_weights` / +(the cross-`replicate` gather, off the hot path — `glu_transformer._reconstruct_compute_weights` / `ci_fn._reconstruct_ci_compute_weights` pin `P(None,"fsdp",...)` BEFORE the per-layer / per-chunk scan), landing a SMALL ÷fsdp-resident stack; the scan body then gathers ONE layer's `fsdp` shard to full d_in transiently (NVLink, freed each iteration) — NEVER a diff --git a/param_decomp/arithmetic_eval.py b/param_decomp/arithmetic_eval.py index ef3ab0fba..f546e4a56 100644 --- a/param_decomp/arithmetic_eval.py +++ b/param_decomp/arithmetic_eval.py @@ -25,7 +25,7 @@ @runtime_checkable class ComponentActivationModel(DecomposedModel, Protocol): """A `DecomposedModel` that also exposes per-component activations `x@V`. The arithmetic - activation heatmaps need this seam; it is LM-only (currently `LlamaDecomposedModel`), so + activation heatmaps need this seam; it is LM-only (currently `GLUDecomposedModel`), so the eval narrows to it with an `isinstance` check rather than widening the core `DecomposedModel` Protocol every target must satisfy.""" diff --git a/param_decomp/attn_patterns_eval.py b/param_decomp/attn_patterns_eval.py index 8b0d2c88a..94eb1a8ff 100644 --- a/param_decomp/attn_patterns_eval.py +++ b/param_decomp/attn_patterns_eval.py @@ -16,21 +16,21 @@ seam — the same all-false-routes trick `hidden_acts_eval` uses for its clean target (one all-false forward) plus one masked forward — so `DecomposedModel` gains no new method. -The attention-pattern reproduction is target-specific (RoPE base, GQA, head reshape) and -lives HERE, not on `DecomposedModel`: `attn_pattern_for` dispatches on the concrete frozen -target, reusing that target's OWN RoPE helper and attention config. A non-attention target -(no `FrozenAttn`/`inv_freq`) raises — the metric only applies to attention-bearing targets. +The attention-pattern reproduction is target-specific (RoPE base, GQA, head reshape, +Qwen3's per-layer QK-norm), so it is TARGET-OWNED: the model exposes +`attn_pattern(q_site, q_flat, k_flat)` (the `AttnPatternModel` protocol below — +`GLUDecomposedModel` / `SimpleMLPDecomposedModel` delegate to their own attention +modules). This file only drives it; nothing here switches on a model family. A target +without the method refuses at step-build time. Masked and clean Q/K run in COMPUTE_DT (bf16, matching the trained model); the pattern softmax and the KL reduction are fp32. """ -import math from collections.abc import Callable from dataclasses import dataclass -from typing import Any +from typing import Any, Protocol, runtime_checkable -import jax import jax.numpy as jnp import numpy as np from jax import random @@ -39,102 +39,22 @@ from param_decomp.components import DecompVU from param_decomp.jit_util import filter_jit from param_decomp.lm import DecomposedModel, all_false_routes -from param_decomp.targets.llama8b import FrozenAttn, LlamaDecomposedModel, parse_site_name -from param_decomp.targets.llama_simple_mlp import SimpleMLPDecomposedModel from param_decomp.train import COMPUTE_DT, cast_floating -from vendored_jax.llama import apply_rope, repeat_kv, rms_norm, rope_cos_sin -AttnPatternFn = Callable[ - [str, Float[Array, "B T qd"], Float[Array, "B T kvd"]], Float[Array, "B H T T"] -] -"""`(q_proj_site, q_flat, k_flat) -> (B, n_heads, T_query, T_key)` post-softmax causal -attention map from a layer's flat Q/K projections — the per-target attention recipe. The -site name identifies the layer (Qwen3's QK-norm weights are per-layer).""" - -QKNormFor = Callable[[str], tuple[Array, Array]] -"""`q_proj_site -> (q_norm, k_norm)` — that layer's QK-norm weights.""" - - -def _attn_pattern_from_config( - n_head: int, - n_kv_head: int, - head_dim: int, - n_rep: int, - inv_freq: Array, - qk_norm_for: QKNormFor | None, - eps: float, -) -> AttnPatternFn: - """The shared RoPE + GQA + causal-softmax pattern recipe, parameterised by a target's - attention config. Reuses the vendored `rms_norm`/`rope_cos_sin`/`apply_rope`/`repeat_kv` - — never a reimplemented RoPE. `qk_norm_for` (Qwen3 targets) applies the layer's per-head - QK-norm exactly as `FrozenAttn.core` does, before RoPE. Scores in fp32, scaled by - `1/√head_dim`, causal-masked, softmaxed.""" - - def attn_pattern(q_site: str, q_flat: Array, k_flat: Array) -> Array: - b, t, _ = q_flat.shape - assert q_flat.shape[-1] == n_head * head_dim, q_flat.shape - assert k_flat.shape[-1] == n_kv_head * head_dim, k_flat.shape - q = q_flat.reshape(b, t, n_head, head_dim) - k = k_flat.reshape(b, t, n_kv_head, head_dim) - if qk_norm_for is not None: - q_norm, k_norm = qk_norm_for(q_site) - q = rms_norm(q, q_norm, eps) - k = rms_norm(k, k_norm, eps) - q = q.transpose(0, 2, 1, 3) - k = k.transpose(0, 2, 1, 3) - cos, sin = rope_cos_sin(inv_freq, t, q_flat.dtype) - q, k = apply_rope(q, k, cos, sin) - k = repeat_kv(k, n_rep) - scores = jnp.einsum("bhqd,bhkd->bhqk", q.astype(jnp.float32), k.astype(jnp.float32)) - scores = scores / math.sqrt(head_dim) - causal = jnp.triu(jnp.ones((t, t), bool), k=1) - scores = jnp.where(causal, -jnp.inf, scores) - return jax.nn.softmax(scores, axis=-1) - - return attn_pattern - - -def _stacked_qk_norm_for(stacked: FrozenAttn) -> QKNormFor: - """Per-layer QK-norm lookup over the layer-STACKED attention weights (Qwen3): the - site name's layer indexes the `[n_layer, head_dim]` norm stacks.""" - q_norms, k_norms = stacked.q_norm, stacked.k_norm - assert q_norms is not None and k_norms is not None - - def qk_norm_for(q_site: str) -> tuple[Array, Array]: - layer = parse_site_name(q_site)[0] - return q_norms[layer], k_norms[layer] - - return qk_norm_for - - -def _frozen_attn(target: LlamaDecomposedModel | SimpleMLPDecomposedModel) -> FrozenAttn: - """The first layer's attention — every layer shares the same attn config, so - one `FrozenAttn` fixes `n_head`/`n_kv_head`/`head_dim`/`n_rep` for the recipe.""" - assert target.layers, "attn-patterns metric needs at least one layer" - return target.layers[0].attn - - -def attn_pattern_for(target: Any) -> AttnPatternFn: - """The per-target attention-pattern recipe, dispatched on the concrete frozen target. - - Reuses the target's OWN attention config (`FrozenAttn`) and RoPE frequencies - (`inv_freq`). A non-attention target raises — the metric only applies to - attention-bearing targets (localize-and-assert: fail loudly, never silently).""" - match target: - case LlamaDecomposedModel() | SimpleMLPDecomposedModel(): - attn = _frozen_attn(target) - qk_norm_for = None - if attn.q_norm is not None: - assert isinstance(target, LlamaDecomposedModel) # QK-norm is the Qwen3 target - qk_norm_for = _stacked_qk_norm_for(target.stacked.attn) - return _attn_pattern_from_config( - attn.n_head, attn.n_kv_head, attn.head_dim, attn.n_rep, target.inv_freq, - qk_norm_for, attn.eps, - ) # fmt: skip - case _: - raise AssertionError( - f"attn-patterns metric only applies to attention targets, got {type(target).__name__}" - ) + +@runtime_checkable +class AttnPatternModel(Protocol): + """The capability this eval needs from a target: the post-softmax `(B, H, T, T)` + causal attention map from one layer's flat Q/K projections, identified by the + layer's `q_proj` site name (the recipe is the target's own — RoPE flavor, GQA, + any pre-RoPE math like Qwen3's per-layer QK-norm).""" + + def attn_pattern( + self, + q_site: str, + q_flat: Float[Array, "B T qd"], + k_flat: Float[Array, "B T kvd"], + ) -> Float[Array, "B H T T"]: ... def _attn_layer_sites(site_names: tuple[str, ...]) -> tuple[tuple[str, str], ...]: @@ -183,7 +103,6 @@ def _pattern_kl(target_pattern: Array, masked_pattern: Array) -> Array: def _clean_patterns( model: DecomposedModel, - pattern_fn: AttnPatternFn, layer_pairs: tuple[tuple[str, str], ...], prepared: Any, tokens: Int[Array, "*leading"], @@ -200,25 +119,29 @@ def _clean_patterns( {s: jnp.zeros(leading, COMPUTE_DT) for s in site_names}, all_false_routes(site_names, leading), site_names, False, ) # fmt: skip - return {q: pattern_fn(q, clean_outputs[q], clean_outputs[k]) for q, k in layer_pairs} + assert isinstance(model, AttnPatternModel) + return {q: model.attn_pattern(q, clean_outputs[q], clean_outputs[k]) for q, k in layer_pairs} def _masked_patterns_kl( - pattern_fn: AttnPatternFn, + model: "DecomposedModel", layer_pairs: tuple[tuple[str, str], ...], masked_outputs: dict[str, Array], target_patterns: dict[str, Array], ) -> dict[str, Array]: + assert isinstance(model, AttnPatternModel) return { - q: _pattern_kl(target_patterns[q], pattern_fn(q, masked_outputs[q], masked_outputs[k])) + q: _pattern_kl( + target_patterns[q], model.attn_pattern(q, masked_outputs[q], masked_outputs[k]) + ) for q, k in layer_pairs } def _assert_attention_sequence_axes(lm: DecomposedModel) -> None: """Attention patterns are `(B, H, T_query, T_key)` causal maps over a sequence axis; - the metric only applies to a sequence-axis LM target (complements the per-target - `attn_pattern_for` dispatch, which rejects non-attention targets).""" + the metric only applies to a sequence-axis LM target (the `AttnPatternModel` + capability assert in the step factories rejects non-attention targets).""" assert lm.leading_axes == ("sequence",), ( f"attn-patterns eval is LM-only (causal attention over a sequence axis); model " f"has leading_axes={lm.leading_axes}" @@ -227,12 +150,14 @@ def _assert_attention_sequence_axes(lm: DecomposedModel) -> None: def make_ci_attn_patterns_step( lm: DecomposedModel, - pattern_fn: AttnPatternFn, compiler_options: dict[str, bool | int | str] | None = None, ) -> AttnPatternsStep: """Deterministic CI-mask attn-patterns step: `lower_leaky` CI, no delta, one masked forward + one clean (all-false) forward.""" _assert_attention_sequence_axes(lm) + assert isinstance(lm, AttnPatternModel), ( + f"attn-patterns eval needs a target exposing attn_pattern; {type(lm).__name__} does not" + ) site_names = lm.site_names layer_pairs = _attn_layer_sites(site_names) @@ -249,15 +174,13 @@ def step( ci_fn_bf16 = cast_floating(ci_fn, COMPUTE_DT) ci_lower = ci_fn_bf16(taps, remat=False).lower - target_patterns = _clean_patterns( - model, pattern_fn, layer_pairs, prepared, tokens, ci_lower - ) + target_patterns = _clean_patterns(model, layer_pairs, prepared, tokens, ci_lower) leading = tokens.shape zeros_delta = {s: jnp.zeros(leading, COMPUTE_DT) for s in site_names} masked_outputs = model.masked_site_outputs( prepared, tokens, ci_lower, zeros_delta, None, site_names, False ) - sum_kl = _masked_patterns_kl(pattern_fn, layer_pairs, masked_outputs, target_patterns) + sum_kl = _masked_patterns_kl(model, layer_pairs, masked_outputs, target_patterns) n_distributions = {q: int(np.prod(target_patterns[q].shape[:3])) for q, _ in layer_pairs} return sum_kl, n_distributions @@ -266,7 +189,6 @@ def step( def make_stochastic_attn_patterns_step( lm: DecomposedModel, - pattern_fn: AttnPatternFn, n_mask_samples: int, compiler_options: dict[str, bool | int | str] | None = None, ) -> AttnPatternsStep: @@ -274,6 +196,9 @@ def make_stochastic_attn_patterns_step( (with weight deltas), per-draw per-layer pattern KL summed. RNG via per-draw / per-site `fold_in` (the eval-step discipline, mirrors `hidden_acts_eval`).""" _assert_attention_sequence_axes(lm) + assert isinstance(lm, AttnPatternModel), ( + f"attn-patterns eval needs a target exposing attn_pattern; {type(lm).__name__} does not" + ) assert n_mask_samples >= 1, n_mask_samples site_names = lm.site_names layer_pairs = _attn_layer_sites(site_names) @@ -291,9 +216,7 @@ def step( ci_fn_bf16 = cast_floating(ci_fn, COMPUTE_DT) ci_lower = ci_fn_bf16(taps, remat=False).lower - target_patterns = _clean_patterns( - model, pattern_fn, layer_pairs, prepared, tokens, ci_lower - ) + target_patterns = _clean_patterns(model, layer_pairs, prepared, tokens, ci_lower) leading = tokens.shape sum_kl = {q: jnp.zeros((), jnp.float32) for q, _ in layer_pairs} @@ -312,7 +235,7 @@ def step( masked_outputs = model.masked_site_outputs( prepared, tokens, masks, delta_masks, None, site_names, True ) - draw_kl = _masked_patterns_kl(pattern_fn, layer_pairs, masked_outputs, target_patterns) + draw_kl = _masked_patterns_kl(model, layer_pairs, masked_outputs, target_patterns) sum_kl = {q: sum_kl[q] + draw_kl[q] for q, _ in layer_pairs} n_distributions = { diff --git a/param_decomp/ci_fn.py b/param_decomp/ci_fn.py index a2f8c95da..8c9d9dadf 100644 --- a/param_decomp/ci_fn.py +++ b/param_decomp/ci_fn.py @@ -736,7 +736,7 @@ def init_global_mlp_ci_fn( CIFnArch = ChunkwiseTransformerCIArch | MLPCIArch | GlobalMLPCIArch """Every CI-fn architecture. Construction goes through `build_ci_fn`; sharding/placement is -a separate, scale-driven concern (see `llama8b_sharding`), never coupled to arch type.""" +a separate, scale-driven concern (see `glu_transformer_sharding`), never coupled to arch type.""" def build_ci_fn(arch: CIFnArch, sites: tuple[SiteSpec, ...], key: PRNGKeyArray) -> CIFn: diff --git a/param_decomp/experiments/invariance_check.py b/param_decomp/experiments/invariance_check.py index e30bf712f..5276cd58a 100644 --- a/param_decomp/experiments/invariance_check.py +++ b/param_decomp/experiments/invariance_check.py @@ -49,8 +49,8 @@ from param_decomp.recon import build_loss_terms from param_decomp.schedule import ScheduleConfig from param_decomp.sharding import hsdp_mesh, shard_batch -from param_decomp.targets.llama8b import ( - llama_site_specs, +from param_decomp.targets.glu_transformer import ( + glu_site_specs, mlp_family_site_cs, ) from param_decomp.tests.test_llama8b import _tiny_cfg, _tiny_decomposed_lm @@ -60,7 +60,7 @@ def _run(steps: int, sharded: bool) -> list[dict[str, float]]: cfg = _tiny_cfg() C, seq, gbatch = 8, 16, 8 - sites = llama_site_specs(cfg, mlp_family_site_cs(3, 6, C)) + sites = glu_site_specs(cfg, mlp_family_site_cs(3, 6, C)) lm = _tiny_decomposed_lm(cfg, sites, random.PRNGKey(0)) vu = init_decomp_vu(sites, random.PRNGKey(1)) arch = ChunkwiseTransformerCIArch( diff --git a/param_decomp/hf_http.py b/param_decomp/hf_http.py index 72b53717b..0119dd74e 100644 --- a/param_decomp/hf_http.py +++ b/param_decomp/hf_http.py @@ -1,7 +1,7 @@ """Make huggingface_hub's HTTP backend resilient to a cold-cache startup burst. The JAX trainer normally loads the frozen target's weights from a pre-warmed local -HF snapshot (`llama8b.hf_snapshot_dir` asserts the snapshot exists, no network call). +HF snapshot (`glu_transformer.hf_snapshot_dir` asserts the snapshot exists, no network call). But at production topology (8 ranks/node x N nodes) a *cold* cache turns startup into an 8N-rank simultaneous Hub burst, and a single `ReadTimeout` on one rank tears the whole job down before training begins. This mounts a retrying adapter on huggingface_hub's diff --git a/param_decomp/run_state.py b/param_decomp/run_state.py index a20bfc436..98a99375d 100644 --- a/param_decomp/run_state.py +++ b/param_decomp/run_state.py @@ -30,7 +30,7 @@ persistent_configs, ) from param_decomp.schedule import ScheduleConfig -from param_decomp.targets.llama8b_sharding import ( +from param_decomp.targets.glu_transformer_sharding import ( init_ci_fn_placed, init_decomp_vu_placed, init_sources_sharded, diff --git a/param_decomp/sharding.py b/param_decomp/sharding.py index bac78a874..1523fc04b 100644 --- a/param_decomp/sharding.py +++ b/param_decomp/sharding.py @@ -13,7 +13,7 @@ the batch axis. No manual NCCL, no pool-coordination code. Placement is expressed as `NamedSharding`: target-specific plans (like -`llama8b_sharding.py`) FSDP-shard params on `fsdp`; `shard_batch` shards the data axis over +`glu_transformer_sharding.py`) FSDP-shard params on `fsdp`; `shard_batch` shards the data axis over the full mesh. """ diff --git a/param_decomp/targets/glu_transformer.py b/param_decomp/targets/glu_transformer.py new file mode 100644 index 000000000..c3c7b0c5c --- /dev/null +++ b/param_decomp/targets/glu_transformer.py @@ -0,0 +1,1142 @@ +"""The SHARED machinery of the vendored HF GLU-transformer decomposition targets: site +grammar, frozen modules, the scan/masked-forward engine, and HF safetensors loading. The +model FAMILIES live in their own files — `targets/llama8b.py`, `targets/qwen3_8b.py` — +each contributing its arch config, its `FrozenAttn` variant (via the `_prep_qk` pre-RoPE +hook, e.g. Qwen3's QK-norm), and its HF attn loader; nothing here switches on a family. + +The decomposed sites are any per-layer weight matrices (SPEC §1/§3) named torch-style: +`layers.{i}.self_attn.{q,k,v,o}_proj` and `layers.{i}.mlp.{gate,up,down}_proj`, each +with its own C. `GLUDecomposedModel` (an `eqx.Module`) carries the full frozen model — +embedding through every layer to the LM head — as array fields, threaded into the jitted +step as a pytree arg; layers without sites run the plain frozen block. + +q/k/v sites are decomposed BEFORE `_prep_qk`/RoPE/SDPA (the masked site output feeds the +attention math); the o site applies to the attention output. V/U masters are fp32 +keyed per site (`DecompVU`); frozen weights are stored bf16 (SPEC N1) — the trainer +casts for compute. + +Real HF weights load straight from the cached safetensors (no torch dep). +""" + +import json +import re +from collections.abc import Callable +from dataclasses import dataclass +from pathlib import Path +from typing import Any, Protocol + +import equinox as eqx +import jax +import jax.numpy as jnp +import numpy as np +from jax.sharding import Mesh, NamedSharding +from jax.sharding import PartitionSpec as P +from jaxtyping import Array, Float, Int +from safetensors import safe_open + +from param_decomp.components import ( + DecompVU, + SiteC, + SiteSpec, + dequantize_fp8, + quantize_fp8, + site_out, +) +from param_decomp.losses import kl_per_position +from param_decomp.sharding import assert_divisible +from vendored_jax.llama import apply_rope, causal_sdpa, repeat_kv, rms_norm, rope_cos_sin + +DT = jnp.bfloat16 + + +class GLUArch(Protocol): + """The arch-config surface the shared machinery reads. Family configs satisfy it + structurally — the vendored `LlamaConfig` (llama3 rope-scaling fields on top of + these) and the family-neutral `GLUConfig`.""" + + @property + def vocab_size(self) -> int: ... + @property + def n_layer(self) -> int: ... + @property + def n_head(self) -> int: ... + @property + def n_kv_head(self) -> int: ... + @property + def n_embd(self) -> int: ... + @property + def n_intermediate(self) -> int: ... + @property + def rms_norm_eps(self) -> float: ... + @property + def head_dim(self) -> int: ... + @property + def n_rep(self) -> int: ... + + +@dataclass(frozen=True) +class GLUConfig: + """A family-neutral GLU-transformer arch config (plain RoPE, no family extras). + Families with more knobs bring their own config type satisfying `GLUArch`.""" + + vocab_size: int + n_layer: int + n_head: int + n_kv_head: int + n_embd: int + n_intermediate: int + rope_theta: float + rms_norm_eps: float + max_position_embeddings: int + + @property + def head_dim(self) -> int: + return self.n_embd // self.n_head + + @property + def n_rep(self) -> int: + return self.n_head // self.n_kv_head + + +def default_inv_freq(head_dim: int, rope_theta: float) -> Float[Array, " hd2"]: + """Plain (unscaled) RoPE inverse frequencies — HF's `rope_type: default`.""" + return 1.0 / (rope_theta ** (jnp.arange(0, head_dim, 2, dtype=jnp.float32) / head_dim)) + + +KIND_ORDER = ("q", "k", "v", "o", "gate", "up", "down") +"""Within-layer canonical site order = computation order. The canonical site order +(`glu_site_specs`) is layer-ascending, then this.""" +ATTN_KINDS = ("q", "k", "v", "o") +MLP_KINDS = ("gate", "up", "down") + +SITE_NAME_PATTERN = re.compile( + r"^layers\.(\d+)\.(?:self_attn\.(q|k|v|o)|mlp\.(gate|up|down))_proj$" +) + + +def site_name(layer: int, kind: str) -> str: + assert kind in KIND_ORDER, kind + submodule = "self_attn" if kind in ATTN_KINDS else "mlp" + return f"layers.{layer}.{submodule}.{kind}_proj" + + +def parse_site_name(name: str) -> tuple[int, str]: + """`layers.{i}.{self_attn,mlp}.{kind}_proj` -> (layer, kind); rejects anything else + (including kind/submodule mismatches like `self_attn.gate_proj`).""" + match = SITE_NAME_PATTERN.match(name) + assert match is not None, f"unsupported site name {name!r}" + layer, attn_kind, mlp_kind = match.groups() + return int(layer), attn_kind if attn_kind is not None else mlp_kind + + +def site_dims(cfg: GLUArch, kind: str) -> tuple[int, int]: + """(d_in, d_out) of one per-layer matrix, right-mult orientation.""" + d, di = cfg.n_embd, cfg.n_intermediate + qd = cfg.n_head * cfg.head_dim + kvd = cfg.n_kv_head * cfg.head_dim + match kind: + case "q": + return d, qd + case "k" | "v": + return d, kvd + case "o": + return qd, d + case "gate" | "up": + return d, di + case "down": + return di, d + case _: + raise AssertionError(f"unknown kind {kind!r}") + + +def canonical_site_cs(site_cs: tuple[SiteC, ...]) -> tuple[SiteC, ...]: + """Canonical site order: layer-ascending, `KIND_ORDER` within a layer. Names must + parse and be unique.""" + names = [site.name for site in site_cs] + assert len(set(names)) == len(names), f"duplicate sites in {names}" + + def order_key(site: SiteC) -> tuple[int, int]: + layer, kind = parse_site_name(site.name) + return layer, KIND_ORDER.index(kind) + + return tuple(sorted(site_cs, key=order_key)) + + +def mlp_family_site_cs(first_layer: int, last_layer: int, C: int) -> tuple[SiteC, ...]: + """The gate/up/down sites of a contiguous layer range at one C (the native-config + target family), in canonical order.""" + assert first_layer <= last_layer, (first_layer, last_layer) + return tuple( + SiteC(site_name(layer, kind), C) + for layer in range(first_layer, last_layer + 1) + for kind in MLP_KINDS + ) + + +def glu_site_specs(cfg: GLUArch, site_cs: tuple[SiteC, ...]) -> tuple[SiteSpec, ...]: + """Shape-resolved specs in canonical order (input must already be canonical).""" + assert site_cs == canonical_site_cs(site_cs), f"sites not in canonical order: {site_cs}" + specs = [] + for site in site_cs: + layer, kind = parse_site_name(site.name) + assert 0 <= layer < cfg.n_layer, (site.name, cfg.n_layer) + assert site.C >= 1, site + specs.append(SiteSpec(site.name, *site_dims(cfg, kind), site.C)) + return tuple(specs) + + +# ----------------------------- frozen layers ----------------------------- + + +class FrozenAttn(eqx.Module): + """Plain GQA attention (Llama, LlamaSimpleMLP). A family with extra pre-RoPE math + subclasses and overrides `_prep_qk` (and `shardings` for any extra fields) — e.g. + `qwen3_8b.Qwen3FrozenAttn`'s per-head QK-norm.""" + + wq: Float[Array, "qd d"] + wk: Float[Array, "kvd d"] + wv: Float[Array, "kvd d"] + wo: Float[Array, "d qd"] + n_head: int = eqx.field(static=True) + n_kv_head: int = eqx.field(static=True) + head_dim: int = eqx.field(static=True) + n_rep: int = eqx.field(static=True) + + def _prep_qk( + self, q: Float[Array, "b t h hd"], k: Float[Array, "b t kvh hd"] + ) -> tuple[Array, Array]: + """Family hook between the head reshape and RoPE; identity for plain attention.""" + return q, k + + def shardings(self, mesh: "Mesh") -> "FrozenAttn": + """Stacked (leading `n_layer`, UNSHARDED — the scan axis) FSDP on `fsdp`: the `d` dim + shards on `fsdp` (gathered per layer in the scan, on NVLink); the HEAD dim stays + REPLICATED. `core` runs batch-parallel attention (q/k/v constrained batch over the + full mesh, heads replicated — that identical spec is what cuDNN's partitioner + requires), so the projections must come out heads-replicated. Attention weights are + small, so FSDP-on-`fsdp` sharding is plenty.""" + in_fsdp = NamedSharding(mesh, P(None, None, "fsdp")) # qkv [nc, head(repl), d on fsdp] + out_fsdp = NamedSharding(mesh, P(None, "fsdp", None)) # wo [nc, d on fsdp, head(repl)] + for w in (self.wq, self.wk, self.wv): + assert_divisible(w.shape[2], mesh, "fsdp", "FrozenAttn qkv in (d)") + assert_divisible(self.wo.shape[1], mesh, "fsdp", "FrozenAttn out-proj out (d)") + return eqx.tree_at( + lambda a: (a.wq, a.wk, a.wv, a.wo), self, (in_fsdp, in_fsdp, in_fsdp, out_fsdp) + ) + + def core( + self, + q_flat: Float[Array, "b t qd"], + k_flat: Float[Array, "b t kvd"], + v_flat: Float[Array, "b t kvd"], + inv_freq: Array, + ) -> Float[Array, "b t qd"]: + """RoPE + causal SDPA between the q/k/v projections and the o projection — + the seam the decomposed q/k/v site outputs feed into.""" + b, t, _ = q_flat.shape + assert q_flat.shape[-1] == self.n_head * self.head_dim, q_flat.shape + assert k_flat.shape[-1] == self.n_kv_head * self.head_dim, k_flat.shape + assert v_flat.shape[-1] == self.n_kv_head * self.head_dim, v_flat.shape + q = q_flat.reshape(b, t, self.n_head, self.head_dim) + k = k_flat.reshape(b, t, self.n_kv_head, self.head_dim) + q, k = self._prep_qk(q, k) + q = q.transpose(0, 2, 1, 3) + k = k.transpose(0, 2, 1, 3) + v = v_flat.reshape(b, t, self.n_kv_head, self.head_dim).transpose(0, 2, 1, 3) + cos, sin = rope_cos_sin(inv_freq, t, q_flat.dtype) + q, k = apply_rope(q, k, cos, sin) + # Native GQA: do NOT repeat_kv — `dot_product_attention` handles the q-heads:kv-heads + # grouping internally. Repeating k/v to n_head and THEN sharding makes the SPMD + # partitioner derive the repeated-k/v layout from the small n_kv_head source, + # inconsistent with q -> cuDNN "Query, key and value should have same sharding" (forward + # AND its rematerialized backward). Real GQA keeps q (n_head) and k/v (n_kv_head) as + # independent head-parallel tensors with the SAME spec (different head COUNTS is fine). + # cuDNN flash attention's custom partitioner requires q/k/v IDENTICALLY sharded. + # Pure HSDP: pin all three batch-parallel over the FULL mesh, HEADS replicated + # (`P(('replicate','fsdp'), None, None, None)` for `[b, heads, t, hd]`). The identical + # q/k/v spec is exactly what cuDNN's flash partitioner demands; heads-replicated keeps + # q (n_head) and k/v (n_kv_head) consistently sharded (no head TP that would split them + # to different per-rank counts). The q/k/v projection outputs are `d_out`-replicated + # (U FSDP's the C side, not d_out's head); this constraint pins the batch right here. + # Guarded so it's a no-op off-mesh (CPU tests / single device); `run.py` sets the + # global mesh. + if not jax.sharding.get_abstract_mesh().empty: + qkv_spec = jax.sharding.PartitionSpec( + ("replicate", "fsdp"), None, None, None + ) # batch-parallel: q/k/v IDENTICAL spec -> cuDNN happy; flash = no score materialization + q, k, v = (jax.lax.with_sharding_constraint(a, qkv_spec) for a in (q, k, v)) + return causal_sdpa(q, k, v).transpose(0, 2, 1, 3).reshape(b, t, self.n_head * self.head_dim) + + def __call__(self, x: Float[Array, "b t d"], inv_freq: Array) -> Array: + return self.core(x @ self.wq.T, x @ self.wk.T, x @ self.wv.T, inv_freq) @ self.wo.T + + def pattern( + self, q_flat: Float[Array, "b t qd"], k_flat: Float[Array, "b t kvd"], inv_freq: Array + ) -> Float[Array, "b h t t"]: + """Post-softmax causal attention map from flat Q/K projections — the target-owned + recipe behind the attn-patterns eval (`GLUDecomposedModel.attn_pattern`). Same + `_prep_qk`/RoPE/GQA math as `core`; scores in fp32, scaled by `1/√head_dim`, + causal-masked, softmaxed (no score materialization concerns — eval-only).""" + b, t, _ = q_flat.shape + assert q_flat.shape[-1] == self.n_head * self.head_dim, q_flat.shape + assert k_flat.shape[-1] == self.n_kv_head * self.head_dim, k_flat.shape + q = q_flat.reshape(b, t, self.n_head, self.head_dim) + k = k_flat.reshape(b, t, self.n_kv_head, self.head_dim) + q, k = self._prep_qk(q, k) + q = q.transpose(0, 2, 1, 3) + k = k.transpose(0, 2, 1, 3) + cos, sin = rope_cos_sin(inv_freq, t, q_flat.dtype) + q, k = apply_rope(q, k, cos, sin) + k = repeat_kv(k, self.n_rep) + scores = jnp.einsum("bhqd,bhkd->bhqk", q.astype(jnp.float32), k.astype(jnp.float32)) + scores = scores / self.head_dim**0.5 + causal = jnp.triu(jnp.ones((t, t), bool), k=1) + return jax.nn.softmax(jnp.where(causal, -jnp.inf, scores), axis=-1) + + +class GLULayer(eqx.Module): + """One layer's frozen weights — norms, attention, MLP. Decomposed sites read + their frozen target W from here at forward time; layers without sites run the + plain frozen block from the same fields. Weights pass as a runtime arg — never + baked into the HLO as a multi-GB constant.""" + + ln1: Float[Array, " d"] + ln2: Float[Array, " d"] + attn: FrozenAttn + Wg: Float[Array, "di d"] + Wu: Float[Array, "di d"] + Wd: Float[Array, "d di"] + + def shardings(self, mesh: "Mesh") -> "GLULayer": + """Stacked FSDP on `fsdp` (no TP): every MLP weight shards its `d`-dim on `fsdp`, + the intermediate dim stays replicated; gathered back per layer inside the scan. + Norms replicate; attn delegates to `FrozenAttn.shardings`.""" + in_fsdp = NamedSharding(mesh, P(None, None, "fsdp")) # Wg/Wu [nc, di(repl), d on fsdp] + out_fsdp = NamedSharding(mesh, P(None, "fsdp", None)) # Wd [nc, d on fsdp, di(repl)] + repl = NamedSharding(mesh, P()) + assert_divisible(self.Wg.shape[2], mesh, "fsdp", "Wg in (d)") + assert_divisible(self.Wd.shape[1], mesh, "fsdp", "Wd out (d)") + return eqx.tree_at( + lambda layer: (layer.ln1, layer.ln2, layer.attn, layer.Wg, layer.Wu, layer.Wd), + self, + (repl, repl, self.attn.shardings(mesh), in_fsdp, in_fsdp, out_fsdp), + ) + + +def _frozen_site_weight(layer: GLULayer, kind: str) -> Array: + match kind: + case "q": + return layer.attn.wq + case "k": + return layer.attn.wk + case "v": + return layer.attn.wv + case "o": + return layer.attn.wo + case "gate": + return layer.Wg + case "up": + return layer.Wu + case "down": + return layer.Wd + case _: + raise AssertionError(f"unknown kind {kind!r}") + + +# ----------------------------- forwards ----------------------------- + + +def _clean_mlp_out(layer: GLULayer, mlp_in: Array) -> Array: + """Frozen target MLP — exactly `W` applied, not the `V@U + (W−V@U)` identity, so + non-live sites carry no V/U gradient and no decomposition rounding (SPEC S2/S3).""" + return (jax.nn.silu(mlp_in @ layer.Wg.T) * (mlp_in @ layer.Wu.T)) @ layer.Wd.T + + +def _stack_layers(layers: list[GLULayer]) -> GLULayer: + """Stack a per-layer `GLULayer` list into one whose array leaves carry a leading + layer axis — the `xs` for a `lax.scan` over the (homogeneous) block stack. Static + fields (attn head counts) ride in the treedef, shared across iterations.""" + return jax.tree.map(lambda *per_layer: jnp.stack(per_layer), *layers) + + +def _tap_layer(key: str) -> int: + """Global block index a `read_activations` key reads at: the block a `resid.{L}` tap + enters, or the block a decomposed site lives in.""" + if key.startswith("resid."): + return int(key.split(".")[1]) + return parse_site_name(key)[0] + + +def _per_kind_dims(components: DecompVU) -> dict[str, tuple[int, int, int]]: + """Per decomposed KIND, the `(d_in, C, d_out)` shared across its layers — asserting + uniformity, the precondition for the layer-`lax.scan` masked forward (it stacks each + kind across layers, so every layer's matrix of that kind must be the same shape).""" + kind_dims: dict[str, tuple[int, int, int]] = {} + for name, (V, U) in components.vu.items(): + kind = parse_site_name(name)[1] + dims = (V.shape[0], V.shape[1], U.shape[1]) + assert kind_dims.setdefault(kind, dims) == dims, ( + f"per-kind dims must be uniform across layers for the scan masked forward: " + f"{kind} {dims} != {kind_dims[kind]}" + ) + return kind_dims + + +def _stack_per_kind_vu(components: DecompVU, n_layers: int) -> dict[str, dict[str, Array]]: + """Per decomposed KIND, the layer-stacked `(V, U)` arrays — the MASK-INDEPENDENT part of + the scan inputs (a leading layer axis, one homogeneous body across layers). Mask/live/ + delta/route are attached per-forward by `_attach_per_kind_masks`; the V/U stack + + `_reconstruct_compute_weights` (the ÷N→÷fsdp cross-node gather) are the same for EVERY + forward in a step, so they are built ONCE via `prepare_compute_weights` and shared. + Per-kind dims (d_in, C, d_out) must be uniform across layers (asserted in `_per_kind_dims`).""" + kind_dims = _per_kind_dims(components) + vu_dt = next(iter(components.vu.values()))[0].dtype + per_kind: dict[str, dict[str, Array]] = {} + for kind, (d_in, C, d_out) in kind_dims.items(): + names = [site_name(layer, kind) for layer in range(n_layers)] + Vs = jnp.stack( + [ + components.vu[n][0] if n in components.vu else jnp.zeros((d_in, C), vu_dt) + for n in names + ] + ) + Us = jnp.stack( + [ + components.vu[n][1] if n in components.vu else jnp.zeros((C, d_out), vu_dt) + for n in names + ] + ) + per_kind[kind] = {"V": Vs, "U": Us} + return per_kind + + +def _attach_per_kind_masks( + prepared: dict[str, dict[str, Array]], + n_layers: int, + leading: tuple[int, ...], + masks: dict[str, Array], + delta_masks: dict[str, Array], + routes: dict[str, Array] | None, + live_set: frozenset[str], + has_delta: bool, +) -> dict[str, dict[str, Array]]: + """Attach the per-forward `(live, mask[, delta][, route])` stacks to the shared, already + stacked + ÷fsdp-reconstructed `prepared` per-kind `(V, U)` weights. Sites absent from + `live` get dummy mask/delta/route (the `cond` frozen branch ignores them); `masks`/ + `delta_masks`/`routes` exist only for live sites (recon builds them per-chunk).""" + # Dummy mask/delta/route shapes match the REAL entries (the source scope sets the leading + # shape: `sc` broadcasts over batch as `(1, T)`, not the full `(B, T)`). + a_mask = next(iter(masks.values())) if masks else None + mask_lead = a_mask.shape[:-1] if a_mask is not None else leading + a_delta = next(iter(delta_masks.values())) if (has_delta and delta_masks) else None + a_route = next(iter(routes.values())) if (routes and len(routes)) else None + + per_kind: dict[str, dict[str, Array]] = {} + for kind, vu_entry in prepared.items(): + C = vu_entry["V"].shape[-1] + mask_dt = a_mask.dtype if a_mask is not None else vu_entry["V"].dtype + names = [site_name(layer, kind) for layer in range(n_layers)] + live_flags = jnp.array([n in live_set for n in names]) + masks_k = jnp.stack( + [masks[n] if n in live_set else jnp.ones((*mask_lead, C), mask_dt) for n in names] + ) + entry: dict[str, Array] = {**vu_entry, "live": live_flags, "mask": masks_k} + if has_delta: + d_shape = a_delta.shape if a_delta is not None else leading + d_dt = a_delta.dtype if a_delta is not None else mask_dt + entry["delta"] = jnp.stack( + [delta_masks[n] if n in live_set else jnp.zeros(d_shape, d_dt) for n in names] + ) + if routes is not None: + r_shape = a_route.shape if a_route is not None else leading + r_dt = a_route.dtype if a_route is not None else jnp.bool_ + entry["route"] = jnp.stack( + [routes[n] if n in live_set else jnp.zeros(r_shape, r_dt) for n in names] + ) + per_kind[kind] = entry + return per_kind + + +def _stack_ci_per_kind(ci_lower: dict[str, Array], n_layers: int) -> dict[str, Array]: + """Stack the per-site CI envelope into per-kind `[n_layer, *leading, C]` — built ONCE per + step and SHARED across every stochastic recon forward (the CI envelope is identical for + all). Mirrors `_stack_per_kind_vu`: the shared stack replaces N per-forward mask stacks.""" + kinds: dict[str, Array] = {} + sample_by_kind: dict[str, Array] = {} + for name, v in ci_lower.items(): + sample_by_kind.setdefault(parse_site_name(name)[1], v) + for kind, sample in sample_by_kind.items(): + names = [site_name(layer, kind) for layer in range(n_layers)] + kinds[kind] = jnp.stack( + [ci_lower[n] if n in ci_lower else jnp.zeros_like(sample) for n in names] + ) + return kinds + + +def _attach_per_kind_stochastic( + prepared: dict[str, dict[str, Array]], + n_layers: int, + leading: tuple[int, ...], + ci_stacked: dict[str, Array], + draw_key: Array, + routes: dict[str, Array] | None, + live_set: frozenset[str], +) -> dict[str, dict[str, Array]]: + """Stochastic recon: attach the SHARED per-kind `ci` stack + per-(layer,kind) RNG keys + instead of pre-built mask/delta stacks. `masked_site` draws `source = uniform(key)` and + builds `mask = ci + (1−ci)·source` INSIDE the checkpointed block, so the per-forward mask + is recomputed in the backward (faithful by checkpoint determinism — same key fwd+bwd) and + never held. Only the (tiny) keys + live-flags are per-forward; the `[n_layer,*,C]` ci stack + is shared, so N forwards' mask stacks collapse to one ci stack (the memory win).""" + src_base, delta_base = jax.random.split(draw_key) + a_route = next(iter(routes.values())) if (routes and len(routes)) else None + per_kind: dict[str, dict[str, Array]] = {} + for kind, vu_entry in prepared.items(): + names = [site_name(layer, kind) for layer in range(n_layers)] + live_flags = jnp.array([n in live_set for n in names]) + kind_idx = KIND_ORDER.index(kind) + src_keys = jnp.stack( + [ + jax.random.fold_in(jax.random.fold_in(src_base, kind_idx), layer) + for layer in range(n_layers) + ] + ) + delta_keys = jnp.stack( + [ + jax.random.fold_in(jax.random.fold_in(delta_base, kind_idx), layer) + for layer in range(n_layers) + ] + ) + entry: dict[str, Array] = { + **vu_entry, "live": live_flags, "ci": ci_stacked[kind], + "src_key": src_keys, "delta_key": delta_keys, + } # fmt: skip + if routes is not None: + r_shape = a_route.shape if a_route is not None else leading + r_dt = a_route.dtype if a_route is not None else jnp.bool_ + entry["route"] = jnp.stack( + [routes[n] if n in live_set else jnp.zeros(r_shape, r_dt) for n in names] + ) + per_kind[kind] = entry + return per_kind + + +def _reconstruct_compute_weights( + per_kind: dict[str, dict[str, Array]], + fp8: bool, +) -> dict[str, dict[str, Array]]: + """The ZeRO-1 weight reconstruction (pure-HSDP backup layout). The stacked + `[n_layer, d_in, C]` / `[n_layer, C, d_out]` compute weights arrive with their FSDP dim + sharded ÷N over the FULL mesh (the master is `P(("replicate","fsdp"), ...)`). Reconstruct + them to the `fsdp`-sharded (÷fsdp) COMPUTE layout here — BEFORE the layer scan — so: + + * the cross-`replicate` gather runs ONCE per step in ENTRY (off the hot path), + landing a SMALL ÷fsdp-resident weight stack (`[n_layer, d_in/fsdp, C]`), NOT the full + `[n_layer, d_in, C]` model; + * the per-layer scan body then gathers ONE layer's `fsdp` shard to full d_in + transiently (intra-node NVLink), freed each iteration — never a full-model resident. + + Cast to bf16 HERE (not f32) so the ÷fsdp-resident compute stack is half-size and XLA + can't keep an f32 full copy alive. The fp32 masters + Adam stay ÷N (untouched — this is + a separate read-only compute view). The leading `n_layer` axis (the scan `xs`) stays + unsharded. No-op off-mesh (CPU / single device); `run.py` sets the global mesh.""" + if jax.sharding.get_abstract_mesh().empty: + return per_kind + v_spec = P(None, "fsdp", "tp") # [n_layer, d_in ÷fsdp, C ÷tp] — d gathered/step, C stays ÷tp + u_spec = P(None, "tp", "fsdp") # [n_layer, C ÷tp, d_out ÷fsdp] + out: dict[str, dict[str, Array]] = {} + for kind, entry in per_kind.items(): + pinned = dict(entry) + # optimization_barrier forces the cast/quant to materialize BEFORE the ÷N→÷fsdp gather, + # so the collective moves the compute dtype — XLA otherwise sinks the convert past the + # all-gather and gathers the f32 master (2x the comm; the convert gathers in the HLO). + if fp8: + # Quantized All-Gather: the ÷fsdp compute weights are fp8; the per-layer ÷fsdp→full + # gather then moves fp8 (½ the bf16 bytes), dequantized to bf16 in `masked_site`. + # Per-tensor scalar scale rides alongside (replicated, survives the gather). + vq, vs = quantize_fp8(entry["V"]) + uq, us = quantize_fp8(entry["U"]) + pinned["V"] = jax.lax.with_sharding_constraint(jax.lax.optimization_barrier(vq), v_spec) + pinned["U"] = jax.lax.with_sharding_constraint(jax.lax.optimization_barrier(uq), u_spec) + pinned["V_scale"], pinned["U_scale"] = vs, us + else: + pinned["V"] = jax.lax.with_sharding_constraint( + jax.lax.optimization_barrier(entry["V"].astype(jnp.bfloat16)), v_spec + ) + pinned["U"] = jax.lax.with_sharding_constraint( + jax.lax.optimization_barrier(entry["U"].astype(jnp.bfloat16)), u_spec + ) + out[kind] = pinned + return out + + +class GLUDecomposedModel(eqx.Module): + """The GLU-transformer `DecomposedModel` (the `lm.py` contract; SPEC §1), shared by + the Llama and Qwen3 families — a family's identity lives in its `stacked.attn` module + (its `FrozenAttn` variant) and `inv_freq`, never in a switch here. + + Carries the FROZEN full model (embedding, all blocks, final norm, lm_head) as array + fields — so it threads into the jitted step as a pytree arg, its weights traced not + baked. The TRAINABLE V/U (`vu: DecompVU`) is passed to the forward methods explicitly: + separate lifecycle (own optimizer + checkpoint, C-sharded while these weights + replicate), so it is NOT a field here. + + Forward methods take token `inputs` and embed internally. Blocks with no decomposed + site run the plain frozen path — so a subset decomposition just leaves the rest + frozen. + + `sites` / `leading_axes` are static config.""" + + embed: Float[Array, "vocab d"] + stacked: GLULayer # the per-layer weights stacked on a leading layer axis (the scan + # `xs`), stored pre-stacked: a saved jit input, never re-stacked inside a forward. + n_layer: int = eqx.field(static=True) + norm: Float[Array, " d"] + lm_head: Float[Array, "vocab d"] + inv_freq: Float[Array, " hd2"] + sites: tuple[SiteSpec, ...] = eqx.field(static=True) + leading_axes: tuple[str, ...] = eqx.field(static=True) + eps: float = eqx.field(static=True) + scan_unroll: int = eqx.field(static=True, default=1) + """`lax.scan(unroll=)` factor over the block stack (`RuntimeConfig.scan_unroll`); 1 = + plain per-layer scan.""" + gather_fp8: bool = eqx.field(static=True, default=False) + """Quantized all-gather of the ÷fsdp compute V/U (`RuntimeConfig.gather_fp8`).""" + + @property + def site_names(self) -> tuple[str, ...]: + return tuple(s.name for s in self.sites) + + @property + def layers(self) -> list[GLULayer]: + """Per-layer view of `stacked` (slices the leading layer axis). For non-hot + consumers (equivalence harness); the forwards use `stacked`.""" + return [jax.tree.map(lambda a, idx=i: a[idx], self.stacked) for i in range(self.n_layer)] + + def attn_pattern( + self, + q_site: str, + q_flat: Float[Array, "b t qd"], + k_flat: Float[Array, "b t kvd"], + ) -> Float[Array, "b h t t"]: + """Post-softmax causal attention map from a layer's flat Q/K projections — the + target-owned recipe the attn-patterns eval consumes (`attn_patterns_eval`'s + `AttnPatternModel` protocol). Delegates to that LAYER's own attention module, so + family behavior (Qwen3's per-layer QK-norm) comes along for free.""" + layer = parse_site_name(q_site)[0] + attn = jax.tree.map(lambda a, idx=layer: a[idx], self.stacked.attn) + return attn.pattern(q_flat, k_flat, self.inv_freq) + + def shardings(self, mesh: "Mesh") -> "GLUDecomposedModel": + """FSDP-on-`fsdp` the per-layer weights (`stacked.shardings` — `d` on `fsdp`, + head/intermediate replicated; the ~14 GB layer bulk shards `/fsdp`, gathered per layer + inside the scan, on NVLink). embed / lm_head / norm / inv_freq REPLICATE — the ~2 GB + embed+head is small and vocab-parallel logits/lookup aren't worth the complexity. (The + old all-replicate justification — "the target is small vs activations" — is stale: at + the full 32-layer model the replicated target + its backward/remat copies dominate the + step's peak, which is what this shards away.)""" + repl = NamedSharding(mesh, P()) + return eqx.tree_at( + lambda m: (m.embed, m.norm, m.lm_head, m.inv_freq, m.stacked), + self, + (repl, repl, repl, repl, self.stacked.shardings(mesh)), + ) + + @staticmethod + def recon_loss_fn(masked_output: Array, clean_output: Array) -> Array: + return kl_per_position(masked_output, clean_output) + + def embed_tokens(self, tokens: Int[Array, "b t"]) -> Float[Array, "b t d"]: + return self.embed[tokens] + + def clean_output(self, inputs: Int[Array, "b t"]) -> Array: + """The all-frozen forward — the recon target (SPEC S3). A `lax.scan` over the block + stack so XLA compiles one block body instead of unrolling all 32 layers (the compile + fix for the full model; the scan reassociates float ops vs an unrolled loop, within + fp32 tolerance).""" + + def block(x: Array, layer: GLULayer) -> tuple[Array, None]: + x = x + layer.attn(rms_norm(x, layer.ln1, self.eps), self.inv_freq) + x = x + _clean_mlp_out(layer, rms_norm(x, layer.ln2, self.eps)) + return x, None + + x, _ = jax.lax.scan(block, self.embed_tokens(inputs), self.stacked) + x = rms_norm(x, self.norm, self.eps) + return x @ self.lm_head.T + + def read_activations( + self, inputs: Int[Array, "b t"], wanted: tuple[str, ...] + ) -> dict[str, Array]: + """Frozen-path activation accessor (CI input side, SPEC S4; harvest's per-site + matrix inputs). + + `wanted` keys are either `resid.{layer}` (residual stream ENTERING that block — the + chunkwise CI fn's `input_names`) or a decomposed SITE NAME (the activation entering + that site's weight on the frozen path: `q/k/v_proj` ← post-LN1 residual, `o_proj` ← + the attention output, `gate/up_proj` ← post-LN2 residual, `down_proj` ← + `silu(gate)·up`). The residual is threaded identically to `clean_output`; the + per-site intermediates come from the same RMSNorm/attn/MLP math. Stops once the last + requested key's block is fully covered (no wasted block compute past it).""" + wanted_set = frozenset(wanted) + last = max(_tap_layer(key) for key in wanted) + taps: dict[str, Array] = {} + x = self.embed_tokens(inputs) + for layer in range(self.n_layer): + block = jax.tree.map(lambda a, li=layer: a[li], self.stacked) + if f"resid.{layer}" in wanted_set: + taps[f"resid.{layer}"] = x + attn = block.attn + h1 = rms_norm(x, block.ln1, self.eps) + attn_y = attn.core(h1 @ attn.wq.T, h1 @ attn.wk.T, h1 @ attn.wv.T, self.inv_freq) + post_attn = x + attn_y @ attn.wo.T + mlp_in = rms_norm(post_attn, block.ln2, self.eps) + down_in = jax.nn.silu(mlp_in @ block.Wg.T) * (mlp_in @ block.Wu.T) + for kind, site_input in ( + ("q", h1), ("k", h1), ("v", h1), ("o", attn_y), + ("gate", mlp_in), ("up", mlp_in), ("down", down_in), + ): # fmt: skip + name = site_name(layer, kind) + if name in wanted_set: + taps[name] = site_input + x = post_attn + down_in @ block.Wd.T + if layer == last: + break + assert set(taps) == wanted_set, (sorted(taps), sorted(wanted)) + return taps + + def _run_masked_forward( + self, + prepared: dict[str, dict[str, Array]], + inputs: Int[Array, "b t"], + masks: dict[str, Array], + delta_masks: dict[str, Array], + routes: dict[str, Array] | None, + live: tuple[str, ...], + has_delta: bool, + remat: bool, + collect: dict[str, Array] | None, + stochastic: tuple[dict[str, Array], Array] | None = None, + collect_activations: dict[str, Array] | None = None, + ) -> Array: + """The masked decomposed forward shared by `masked_output` / `masked_output_stochastic` + / `masked_site_outputs` / `masked_component_activations` (SPEC §1.3, S2). `live_set` is + static at trace, so the forward runs as `[frozen prefix] → [live block] → [frozen suffix]` + static sub-scans (no per-site `lax.cond`): only the live block carries + gathers V/U. + `live`/`has_delta` are static; a non-None `collect` gathers per-live-site decomposed + OUTPUTS (`(x@V)*m@U + …`, SPEC S31), and a non-None `collect_activations` gathers + per-live-site component ACTIVATIONS `x@V` (`[*leading, C]`, mask-independent — the + pre-mask coefficient the arithmetic CI-grid eval visualizes). Assumes layer-aligned, + contiguous chunks (asserted below). + + `prepared` is the shared, stacked + ÷fsdp-reconstructed per-kind `(V, U)` from + `prepare_compute_weights` (built ONCE per step) — this fn only ATTACHES the per-forward + masks, so the ÷N→÷fsdp cross-node gather is not re-run here (SPEC unchanged; numerics + identical — the reconstruction is mask-independent and the same for every forward).""" + live_set = frozenset(live) + resid = self.embed_tokens(inputs) + leading = resid.shape[:-1] + if stochastic is not None: + ci_stacked, draw_key = stochastic + per_kind = _attach_per_kind_stochastic( + prepared, self.n_layer, leading, ci_stacked, draw_key, routes, live_set + ) + else: + per_kind = _attach_per_kind_masks( + prepared, self.n_layer, leading, masks, delta_masks, routes, live_set, has_delta + ) + decomposed_kinds = frozenset(per_kind) + want_collect = collect is not None + want_collect_acts = collect_activations is not None + + # STATIC liveness. `live_set` is known at trace, so the live/frozen choice per site needs + # NO runtime `lax.cond` — and removing it lets XLA pack + prefetch the V/U gathers (the + # cond was a scheduling/packing barrier). We assume LAYER-ALIGNED, CONTIGUOUS chunks + # (every production plan: `into_groups` with sites_per_chunk % n_decomposed_kinds == 0, + # and `one_chunk`); both are asserted below. The forward is then + # [frozen prefix] → [live block] → [frozen suffix], each a static sub-scan; only the live + # block carries V/U and gathers them. + def layer_is_live(layer: int) -> bool: + flags = {site_name(layer, kind) in live_set for kind in decomposed_kinds} + assert len(flags) == 1, ( + f"layer {layer} is partially live ({flags}); the segmented masked forward assumes " + f"layer-aligned chunks (sites_per_chunk % {len(decomposed_kinds)} == 0)" + ) + return flags.pop() + + live_layers = [layer for layer in range(self.n_layer) if layer_is_live(layer)] + if live_layers: + first_live, last_live = live_layers[0], live_layers[-1] + 1 + assert live_layers == list(range(first_live, last_live)), ( + f"live layers must be contiguous, got {live_layers}" + ) + else: + first_live = last_live = 0 + + def decomp_site(x_in: Array, W: Array, e: dict[str, Array]) -> Array: + v, u = e["V"], e["U"] + if "V_scale" in e: # fp8 QAG: gather the fp8 ÷fsdp weight to full d (½ bytes on the + # wire), THEN dequant to bf16 — the barrier keeps the convert after the gather so + # the collective moves fp8, not bf16. + v = dequantize_fp8( + jax.lax.optimization_barrier( + jax.lax.with_sharding_constraint(v, P(None, "tp")) + ), + e["V_scale"], + ) + u = dequantize_fp8( + jax.lax.optimization_barrier( + jax.lax.with_sharding_constraint(u, P("tp", None)) + ), + e["U_scale"], + ) + if "ci" in e: # stochastic recompute: draw source from the per-layer key and build the + # mask INLINE (recomputed in the backward, not held — the shared `ci` stack + tiny + # key replace the per-forward mask stack). + ci = e["ci"] + source = jax.random.uniform(e["src_key"], ci.shape, dtype=ci.dtype) + mask = ci + (1.0 - ci) * source + delta = ( + jax.random.uniform(e["delta_key"], ci.shape[:-1], dtype=ci.dtype) + if has_delta + else None + ) + return site_out(x_in, v, u, W, mask, delta, e.get("route")) + return site_out(x_in, v, u, W, e["mask"], e.get("delta"), e.get("route")) + + def masked_site( + x_in: Array, kind: str, W: Array, pk: dict[str, dict[str, Array]] + ) -> tuple[Array, Array | None, Array | None]: + # LIVE block only: every decomposed kind decomps (static — no cond); a kind absent + # from the decomposition stays frozen. + if kind not in decomposed_kinds: + return x_in @ W.T, None, None + e = pk[kind] + out = decomp_site(x_in, W, e) + act = ( + (x_in @ e["V"]) if want_collect_acts else None + ) # pre-mask coeff; see masked_component_activations + return out, (out if want_collect else None), act + + def live_block( + x: Array, layer_in: tuple[GLULayer, dict[str, dict[str, Array]]] + ) -> tuple[Array, tuple[dict[str, Array] | None, dict[str, Array] | None]]: + sl, pk = layer_in + attn = sl.attn + h1 = rms_norm(x, sl.ln1, self.eps) + q, qc, qa = masked_site(h1, "q", attn.wq, pk) + k, kc, ka = masked_site(h1, "k", attn.wk, pk) + v, vc, va = masked_site(h1, "v", attn.wv, pk) + attn_y = attn.core(q, k, v, self.inv_freq) + o, oc, oa = masked_site(attn_y, "o", attn.wo, pk) + post_attn = x + o + h2 = rms_norm(post_attn, sl.ln2, self.eps) + g, gc, ga = masked_site(h2, "gate", sl.Wg, pk) + u, uc, ua = masked_site(h2, "up", sl.Wu, pk) + d, dc, da = masked_site(jax.nn.silu(g) * u, "down", sl.Wd, pk) + x = post_attn + d + kinds = ("q", "k", "v", "o", "gate", "up", "down") + collected = ( + { + n: c + for n, c in zip(kinds, (qc, kc, vc, oc, gc, uc, dc), strict=True) + if c is not None + } + if want_collect + else None + ) + collected_acts = ( + { + n: a + for n, a in zip(kinds, (qa, ka, va, oa, ga, ua, da), strict=True) + if a is not None + } + if want_collect_acts + else None + ) + return x, (collected, collected_acts) + + def frozen_block(x: Array, sl: GLULayer) -> tuple[Array, None]: + # Bit-identical to a frozen `masked_site` branch (`x @ Wᵀ` per site), shared with + # `clean_output`. Carries NO V/U → a frozen segment gathers nothing. + x = x + sl.attn(rms_norm(x, sl.ln1, self.eps), self.inv_freq) + x = x + _clean_mlp_out(sl, rms_norm(x, sl.ln2, self.eps)) + return x, None + + # Per-LAYER checkpoint of the scan BODY in BOTH modes — `remat` controls ONLY whether the + # layer ACTIVATIONS are recomputed; it NEVER controls the ÷fsdp→full V/U gather. That + # gather is a NON-dot collective, so it is never a saved residual under either policy — it + # re-gathers in the backward, transient one layer at a time (without checkpoint XLA keeps + # every layer's full gathered V/U live across the scan → OOM). + # remat=True → nothing_saveable: recompute activations AND the gather (min memory). + # remat=False → dots_saveable: SAVE the activation matmuls (no batch dims here → they + # qualify) but still recompute the gather + cheap elementwise. Pure recompute either + # way; zero numerics change. + # `scan_unroll` (native `lax.scan(unroll=k)`) emits k iterations straight-line so XLA can + # prefetch gather(L+1) under matmul(L) — the overlap a 1-layer while-body denies. + policy = ( + jax.checkpoint_policies.nothing_saveable + if remat + else jax.checkpoint_policies.dots_saveable + ) + + def run_scan(body: Any, carry: Array, xs: Any) -> tuple[Array, Any]: + return jax.lax.scan( + jax.checkpoint(body, policy=policy), carry, xs, unroll=self.scan_unroll + ) + + def slice_layers(lo: int, hi: int) -> GLULayer: + return jax.tree.map(lambda a: a[lo:hi], self.stacked) + + x = resid + ys: tuple[dict[str, Array] | None, dict[str, Array] | None] | None = None + if first_live > 0: + x, _ = run_scan(frozen_block, x, slice_layers(0, first_live)) + if last_live > first_live: + pk_live = { + kind: {k: v[first_live:last_live] for k, v in e.items()} + for kind, e in per_kind.items() + } + x, ys = run_scan(live_block, x, (slice_layers(first_live, last_live), pk_live)) + if last_live < self.n_layer: + x, _ = run_scan(frozen_block, x, slice_layers(last_live, self.n_layer)) + + x = rms_norm(x, self.norm, self.eps) + logits = x @ self.lm_head.T + if collect is not None or collect_activations is not None: + assert ys is not None # requested -> the live block emitted the per-kind stacks + ys_out, ys_acts = ys + for sink, stacked in ((collect, ys_out), (collect_activations, ys_acts)): + if sink is None: + continue + assert stacked is not None # sink requested -> the live block emitted this stack + for site in live: + layer, kind = parse_site_name(site) + sink[site] = stacked[kind][layer - first_live] + return logits + + def prepare_compute_weights(self, vu: DecompVU) -> dict[str, dict[str, Array]]: + """Build the shared per-kind compute weights ONCE per step (SPEC unchanged): stack the + per-site V/U into the layer-stacked `[n_layer, …]` form and run the ÷N→÷fsdp cross-node + reconstruction + bf16 cast. The result is mask-independent and identical for every + forward in the step, so the engine builds it once and threads it into all + `masked_output` / `masked_site_outputs` calls — the cross-node gather then runs ONCE per + step (ENTRY) instead of once per forward (the per-forward re-gather was ~10 co-resident + copies of the ÷fsdp stack at peak).""" + return _reconstruct_compute_weights(_stack_per_kind_vu(vu, self.n_layer), self.gather_fp8) + + def masked_output( + self, + prepared: dict[str, dict[str, Array]], + inputs: Int[Array, "b t"], + masks: dict[str, Array], + delta_masks: dict[str, Array], + routes: dict[str, Array] | None, + live: tuple[str, ...], + has_delta: bool, + *, + remat: bool, + ) -> Array: + return self._run_masked_forward( + prepared, inputs, masks, delta_masks, routes, live, has_delta, remat, None, None + ) + + def stack_ci(self, ci_lower: dict[str, Array]) -> dict[str, Array]: + """Per-kind `[n_layer, *leading, C]` stack of the CI envelope, built ONCE per step and + shared across all stochastic recon forwards (`masked_output_stochastic`). The + StochasticReconCapable capability (SPEC unchanged — pure recompute restructuring).""" + return _stack_ci_per_kind(ci_lower, self.n_layer) + + def masked_output_stochastic( + self, + prepared: dict[str, dict[str, Array]], + inputs: Int[Array, "b t"], + ci_stacked: dict[str, Array], + draw_key: Array, + routes: dict[str, Array] | None, + live: tuple[str, ...], + has_delta: bool, + *, + remat: bool, + ) -> Array: + """Stochastic recon forward that RECOMPUTES masks in-block (memory win): the shared + `ci_stacked` + per-layer keys from `draw_key` replace the per-forward mask stack; each + live site draws `source = uniform(key)` and forms `mask = ci + (1−ci)·source` inside the + checkpointed block (faithful by checkpoint determinism). Same forward semantics as + `masked_output` with stochastic sources — only the masks' liverange changes.""" + return self._run_masked_forward( + prepared, inputs, {}, {}, routes, live, has_delta, remat, None, (ci_stacked, draw_key) + ) + + def masked_site_outputs( + self, + prepared: dict[str, dict[str, Array]], + inputs: Int[Array, "b t"], + masks: dict[str, Array], + delta_masks: dict[str, Array], + routes: dict[str, Array] | None, + live: tuple[str, ...], + has_delta: bool, + ) -> dict[str, Array]: + """Per-`live`-site decomposed output of the masked forward (SPEC S31). Runs the + exact `masked_output` forward, discards the logits, returns the collected outputs.""" + collect: dict[str, Array] = {} + self._run_masked_forward( + prepared, inputs, masks, delta_masks, routes, live, has_delta, False, collect, None + ) + assert set(collect) == set(live), (sorted(collect), sorted(live)) + return collect + + def masked_component_activations( + self, + prepared: dict[str, dict[str, Array]], + inputs: Int[Array, "b t"], + masks: dict[str, Array], + delta_masks: dict[str, Array], + routes: dict[str, Array] | None, + live: tuple[str, ...], + has_delta: bool, + ) -> dict[str, Array]: + """Per-`live`-site component activation `x@V` (`[*leading, C]`, the coefficient + BEFORE the per-component `*mask`) from the masked forward. A site's OWN mask does not + enter its `x@V`, but the masks passed still shape a downstream site's input (e.g. + `down`'s input is the masked `silu(gate)*up`) — so pass the masks the visualization + wants the forward to run under. For the arithmetic CI-grid eval's activation heatmaps; + LM-only, off the recon path.""" + collect_activations: dict[str, Array] = {} + self._run_masked_forward( + prepared, inputs, masks, delta_masks, routes, live, has_delta, False, None, + collect_activations=collect_activations, + ) # fmt: skip + assert set(collect_activations) == set(live), (sorted(collect_activations), sorted(live)) + return collect_activations + + def weight_deltas(self, vu: DecompVU) -> dict[str, Array]: + """fp32 `W − V@U` per site from fp32 masters (SPEC N2; faithfulness input).""" + out: dict[str, Array] = {} + for spec in self.sites: + layer, kind = parse_site_name(spec.name) + W = _frozen_site_weight(jax.tree.map(lambda a, li=layer: a[li], self.stacked), kind) + V, U = vu.site(spec.name) + out[spec.name] = ( + W.astype(jnp.float32) - (V.astype(jnp.float32) @ U.astype(jnp.float32)).T + ) + return out + + +# ----------------------------- HF weight loading ----------------------------- + + +def hf_snapshot_dir(model_name: str) -> Path: + """Newest local snapshot of `model_name`. `HF_HUB_CACHE` overrides; otherwise on + cluster (`DATA_MOUNT` set) the shared world-readable cache is the source — a home + `~/.cache` hub is silently mutable, and a wiped entry strands running jobs that + reload weights on requeue.""" + import os + + default_cache = ( + f"{os.environ['DATA_MOUNT']}/artifacts/hf_cache/hub" + if "DATA_MOUNT" in os.environ + else str(Path.home() / ".cache/huggingface/hub") + ) + cache = Path(os.environ.get("HF_HUB_CACHE", default_cache)) + repo = "models--" + model_name.replace("/", "--") + snaps = sorted((cache / repo / "snapshots").iterdir()) + assert snaps, f"no snapshot for {model_name} under {cache}" + return snaps[-1] + + +class HFWeights: + """Lazy keyed access to the sharded safetensors of an HF checkpoint.""" + + def __init__(self, snapshot: Path): + index = json.loads((snapshot / "model.safetensors.index.json").read_text()) + self._key_to_file = index["weight_map"] + self._snapshot = snapshot + self._open: dict[str, Any] = {} + + def get(self, key: str) -> Array: + fname = self._key_to_file[key] + if fname not in self._open: + self._open[fname] = safe_open(str(self._snapshot / fname), framework="numpy") + return jnp.asarray(np.array(self._open[fname].get_tensor(key)), dtype=DT) + + +AttnLoader = Callable[[HFWeights, int], FrozenAttn] +"""`(weights, layer_idx) -> the family's FrozenAttn` — each family file supplies its own +(Llama: plain projections; Qwen3: plus the q/k_norm keys).""" + + +def load_glu_blocks(w: HFWeights, cfg: GLUArch, load_attn: AttnLoader) -> list[GLULayer]: + pre = "model.layers" + return [ + GLULayer( + ln1=w.get(f"{pre}.{i}.input_layernorm.weight"), + ln2=w.get(f"{pre}.{i}.post_attention_layernorm.weight"), + attn=load_attn(w, i), + Wg=w.get(f"{pre}.{i}.mlp.gate_proj.weight"), + Wu=w.get(f"{pre}.{i}.mlp.up_proj.weight"), + Wd=w.get(f"{pre}.{i}.mlp.down_proj.weight"), + ) + for i in range(cfg.n_layer) + ] + + +def build_decomposed_lm( + embed: Array, + layers: list[GLULayer], + norm: Array, + lm_head: Array, + inv_freq: Array, + cfg: GLUArch, + sites: tuple[SiteSpec, ...], + scan_unroll: int = 1, + gather_fp8: bool = False, +) -> GLUDecomposedModel: + """Assemble a `GLUDecomposedModel` from the frozen full-model arrays + decomposition + config. `sites` must be canonical-ordered with dims matching `cfg`. `scan_unroll` / + `gather_fp8` are the `RuntimeConfig` compute knobs (1 / off = the default forward).""" + site_cs = tuple(SiteC(s.name, s.C) for s in sites) + assert sites == glu_site_specs(cfg, canonical_site_cs(site_cs)), ( + f"sites are not the canonical specs for this config: {sites}" + ) + return GLUDecomposedModel( + embed=embed, + stacked=_stack_layers(layers), + n_layer=len(layers), + norm=norm, + lm_head=lm_head, + inv_freq=inv_freq, + sites=sites, + leading_axes=("sequence",), + eps=cfg.rms_norm_eps, + scan_unroll=scan_unroll, + gather_fp8=gather_fp8, + ) + + +def load_decomposed_glu_from_hf( + model_name: str, + cfg: GLUArch, + sites: tuple[SiteSpec, ...], + load_attn: AttnLoader, + inv_freq: Array, + scan_unroll: int = 1, + gather_fp8: bool = False, +) -> GLUDecomposedModel: + """Load a GLU-transformer `DecomposedModel` from the cached HF snapshot: the full + frozen model (embedding, all blocks, final norm, lm_head) as fields plus the static + decomposition config (`sites`). The FAMILY contributes `load_attn` + `inv_freq` (its + RoPE flavor); blocks without a decomposed site run the plain frozen path. + `scan_unroll` / `gather_fp8` are the `RuntimeConfig` compute knobs.""" + w = HFWeights(hf_snapshot_dir(model_name)) + return build_decomposed_lm( + embed=w.get("model.embed_tokens.weight"), + layers=load_glu_blocks(w, cfg, load_attn), + norm=w.get("model.norm.weight"), + lm_head=w.get("lm_head.weight"), + inv_freq=inv_freq, + cfg=cfg, + sites=sites, + scan_unroll=scan_unroll, + gather_fp8=gather_fp8, + ) diff --git a/param_decomp/targets/llama8b_sharding.py b/param_decomp/targets/glu_transformer_sharding.py similarity index 95% rename from param_decomp/targets/llama8b_sharding.py rename to param_decomp/targets/glu_transformer_sharding.py index ad446c04d..386e341a8 100644 --- a/param_decomp/targets/llama8b_sharding.py +++ b/param_decomp/targets/glu_transformer_sharding.py @@ -1,4 +1,4 @@ -"""GSPMD sharding plan for the Llama-8B single-pool step — the pure-HSDP memory story. +"""GSPMD sharding plan for the GLU-transformer (Llama-8B / Qwen3-8B) single-pool step — the pure-HSDP memory story. The 2-D `(replicate, fsdp)` mesh: `fsdp` is the 8 intra-node NVLink GPUs (the FSDP weight-gather / grad-reduce axis), `replicate` the across-node axis. There is NO TP / @@ -12,7 +12,7 @@ fp32 Adam m/v are the dominant non-activation footprint; true ZeRO-1 ÷N (master + m + v each ÷(replicate·fsdp)) takes them from ÷fsdp (≈76 GB/GPU fixed) to ÷N (≈5 GB, scaling). COMPUTE re-pins the bf16 weights to `fsdp`-only ONCE per step (the ZeRO-1 reconstruction, - in ENTRY, off the per-layer hot path; see `llama8b._reconstruct_compute_weights`). + in ENTRY, off the per-layer hot path; see `glu_transformer._reconstruct_compute_weights`). * CI fn + Adam states: sharded ÷N over the full mesh along d_model (in_proj / blocks / heads), same ZeRO-1 reconstruction to `fsdp`-only before the chunk scan. * PGD source (broadcast scope, `{site: (1,T,C+1)}`): REPLICATED. A single adversarial @@ -66,7 +66,7 @@ from param_decomp.configs import BSCScope, SCScope from param_decomp.sharding import hsdp_mesh, place_via_shardings from param_decomp.sharding import shard_batch as _generic_shard_batch -from param_decomp.targets.llama8b import LlamaDecomposedModel +from param_decomp.targets.glu_transformer import GLUDecomposedModel __all__ = [ "hsdp_mesh", @@ -78,7 +78,7 @@ ] -def place_target(tgt: LlamaDecomposedModel, mesh: Mesh) -> LlamaDecomposedModel: +def place_target(tgt: GLUDecomposedModel, mesh: Mesh) -> GLUDecomposedModel: """Eager `device_put` of the already-loaded frozen target onto its own declared placement (`tgt.shardings(mesh)` — FSDP-on-`fsdp`).""" return place_via_shardings(tgt, tgt.shardings(mesh)) diff --git a/param_decomp/targets/llama8b.py b/param_decomp/targets/llama8b.py index 397c6f6f2..e0fe246a9 100644 --- a/param_decomp/targets/llama8b.py +++ b/param_decomp/targets/llama8b.py @@ -1,66 +1,15 @@ -"""The vendored HF GLU-transformer targets — Llama-3.1-8B (the first `DecomposedModel` -implementation) and Qwen3-8B-Base (the same model + `LlamaConfig.qk_norm`: per-head -RMSNorm on q/k before RoPE). `hf_model_config` maps the HF model name to its arch config. - -The decomposed sites are any per-layer weight matrices (SPEC §1/§3) named torch-style: -`layers.{i}.self_attn.{q,k,v,o}_proj` and `layers.{i}.mlp.{gate,up,down}_proj`, each -with its own C. `LlamaDecomposedModel` (an `eqx.Module`) carries the full frozen model — -embedding through every layer to the LM head — as array fields, threaded into the jitted -step as a pytree arg; layers without sites run the plain frozen block. - -q/k/v sites are decomposed BEFORE RoPE/SDPA (the masked site output feeds the -attention math); the o site applies to the attention output. V/U masters are fp32 -keyed per site (`DecompVU`); frozen weights are stored bf16 (SPEC N1) — the trainer -casts for compute. - -Real HF weights load straight from the cached safetensors (no torch dep). -""" - -import json -import re -from collections.abc import Callable -from pathlib import Path -from typing import Any - -import equinox as eqx -import jax -import jax.numpy as jnp -import numpy as np -from jax.sharding import Mesh, NamedSharding -from jax.sharding import PartitionSpec as P -from jaxtyping import Array, Float, Int -from safetensors import safe_open - -from param_decomp.components import ( - DecompVU, - SiteC, - SiteSpec, - dequantize_fp8, - quantize_fp8, - site_out, -) -from param_decomp.losses import kl_per_position -from param_decomp.sharding import assert_divisible -from vendored_jax.llama import ( - LlamaConfig, - apply_rope, - causal_sdpa, - llama3_inv_freq, - rms_norm, - rope_cos_sin, -) - -DT = jnp.bfloat16 - -KIND_ORDER = ("q", "k", "v", "o", "gate", "up", "down") -"""Within-layer canonical site order = computation order. The canonical site order -(`llama_site_specs`) is layer-ascending, then this.""" -ATTN_KINDS = ("q", "k", "v", "o") -MLP_KINDS = ("gate", "up", "down") - -SITE_NAME_PATTERN = re.compile( - r"^layers\.(\d+)\.(?:self_attn\.(q|k|v|o)|mlp\.(gate|up|down))_proj$" +"""The Llama-3.1-8B family target: its arch config (the vendored `LlamaConfig`, llama3 +rope scaling) and its HF loader over the shared GLU-transformer machinery +(`targets/glu_transformer.py` — plain `FrozenAttn`, no pre-RoPE extras).""" + +from param_decomp.components import SiteSpec +from param_decomp.targets.glu_transformer import ( + FrozenAttn, + GLUDecomposedModel, + HFWeights, + load_decomposed_glu_from_hf, ) +from vendored_jax.llama import LlamaConfig, llama3_inv_freq def llama31_8b_config() -> LlamaConfig: @@ -81,958 +30,7 @@ def llama31_8b_config() -> LlamaConfig: ) -def qwen3_8b_config() -> LlamaConfig: - """Qwen3-8B(-Base): Llama-shaped GLU transformer + QK-norm, plain RoPE (HF - `Qwen/Qwen3-8B-Base` config.json). HF's explicit `head_dim` (128) coincides with - `n_embd // n_head` for 8B, so the derived `LlamaConfig.head_dim` is exact.""" - return LlamaConfig( - vocab_size=151936, - n_layer=36, - n_head=32, - n_kv_head=8, - n_embd=4096, - n_intermediate=12288, - rope_theta=1000000.0, - rms_norm_eps=1e-6, - max_position_embeddings=32768, - qk_norm=True, - ) - - -HF_MODEL_CONFIGS: dict[str, Callable[[], LlamaConfig]] = { - "meta-llama/Llama-3.1-8B": llama31_8b_config, - "Qwen/Qwen3-8B-Base": qwen3_8b_config, -} -"""The HF model names this target implements. Anything else refuses loudly at convert -time — a new model gets an explicit config here (checked against its HF config.json), -never a silent guess.""" - - -def hf_model_config(model_name: str) -> LlamaConfig: - assert model_name in HF_MODEL_CONFIGS, ( - f"no vendored arch config for {model_name!r}; supported: {sorted(HF_MODEL_CONFIGS)}" - ) - return HF_MODEL_CONFIGS[model_name]() - - -def site_name(layer: int, kind: str) -> str: - assert kind in KIND_ORDER, kind - submodule = "self_attn" if kind in ATTN_KINDS else "mlp" - return f"layers.{layer}.{submodule}.{kind}_proj" - - -def parse_site_name(name: str) -> tuple[int, str]: - """`layers.{i}.{self_attn,mlp}.{kind}_proj` -> (layer, kind); rejects anything else - (including kind/submodule mismatches like `self_attn.gate_proj`).""" - match = SITE_NAME_PATTERN.match(name) - assert match is not None, f"unsupported site name {name!r}" - layer, attn_kind, mlp_kind = match.groups() - return int(layer), attn_kind if attn_kind is not None else mlp_kind - - -def site_dims(cfg: LlamaConfig, kind: str) -> tuple[int, int]: - """(d_in, d_out) of one per-layer matrix, right-mult orientation.""" - d, di = cfg.n_embd, cfg.n_intermediate - qd = cfg.n_head * cfg.head_dim - kvd = cfg.n_kv_head * cfg.head_dim - match kind: - case "q": - return d, qd - case "k" | "v": - return d, kvd - case "o": - return qd, d - case "gate" | "up": - return d, di - case "down": - return di, d - case _: - raise AssertionError(f"unknown kind {kind!r}") - - -def canonical_site_cs(site_cs: tuple[SiteC, ...]) -> tuple[SiteC, ...]: - """Canonical site order: layer-ascending, `KIND_ORDER` within a layer. Names must - parse and be unique.""" - names = [site.name for site in site_cs] - assert len(set(names)) == len(names), f"duplicate sites in {names}" - - def order_key(site: SiteC) -> tuple[int, int]: - layer, kind = parse_site_name(site.name) - return layer, KIND_ORDER.index(kind) - - return tuple(sorted(site_cs, key=order_key)) - - -def mlp_family_site_cs(first_layer: int, last_layer: int, C: int) -> tuple[SiteC, ...]: - """The gate/up/down sites of a contiguous layer range at one C (the native-config - target family), in canonical order.""" - assert first_layer <= last_layer, (first_layer, last_layer) - return tuple( - SiteC(site_name(layer, kind), C) - for layer in range(first_layer, last_layer + 1) - for kind in MLP_KINDS - ) - - -def llama_site_specs(cfg: LlamaConfig, site_cs: tuple[SiteC, ...]) -> tuple[SiteSpec, ...]: - """Shape-resolved specs in canonical order (input must already be canonical).""" - assert site_cs == canonical_site_cs(site_cs), f"sites not in canonical order: {site_cs}" - specs = [] - for site in site_cs: - layer, kind = parse_site_name(site.name) - assert 0 <= layer < cfg.n_layer, (site.name, cfg.n_layer) - assert site.C >= 1, site - specs.append(SiteSpec(site.name, *site_dims(cfg, kind), site.C)) - return tuple(specs) - - -# ----------------------------- frozen layers ----------------------------- - - -class FrozenAttn(eqx.Module): - wq: Float[Array, "qd d"] - wk: Float[Array, "kvd d"] - wv: Float[Array, "kvd d"] - wo: Float[Array, "d qd"] - n_head: int = eqx.field(static=True) - n_kv_head: int = eqx.field(static=True) - head_dim: int = eqx.field(static=True) - n_rep: int = eqx.field(static=True) - q_norm: Float[Array, " hd"] | None = None - """Qwen3-style per-head RMSNorm weight on q after projection, before RoPE - (`LlamaConfig.qk_norm`); None => the plain Llama attention.""" - k_norm: Float[Array, " hd"] | None = None - eps: float = eqx.field(static=True, default=0.0) - """RMSNorm eps for `q_norm`/`k_norm` only (the block norms use the model-level eps).""" - - def __check_init__(self): - assert (self.q_norm is None) == (self.k_norm is None), "q_norm/k_norm come as a pair" - assert self.q_norm is None or self.eps > 0.0, "qk-norm needs a real eps" - - def shardings(self, mesh: "Mesh") -> "FrozenAttn": - """Stacked (leading `n_layer`, UNSHARDED — the scan axis) FSDP on `fsdp`: the `d` dim - shards on `fsdp` (gathered per layer in the scan, on NVLink); the HEAD dim stays - REPLICATED. `core` runs batch-parallel attention (q/k/v constrained batch over the - full mesh, heads replicated — that identical spec is what cuDNN's partitioner - requires), so the projections must come out heads-replicated. Attention weights are - small, so FSDP-on-`fsdp` sharding is plenty.""" - in_fsdp = NamedSharding(mesh, P(None, None, "fsdp")) # qkv [nc, head(repl), d on fsdp] - out_fsdp = NamedSharding(mesh, P(None, "fsdp", None)) # wo [nc, d on fsdp, head(repl)] - for w in (self.wq, self.wk, self.wv): - assert_divisible(w.shape[2], mesh, "fsdp", "FrozenAttn qkv in (d)") - assert_divisible(self.wo.shape[1], mesh, "fsdp", "FrozenAttn out-proj out (d)") - out = eqx.tree_at( - lambda a: (a.wq, a.wk, a.wv, a.wo), self, (in_fsdp, in_fsdp, in_fsdp, out_fsdp) - ) - if self.q_norm is not None: - repl = NamedSharding(mesh, P()) - out = eqx.tree_at(lambda a: (a.q_norm, a.k_norm), out, (repl, repl)) - return out - - def core( - self, - q_flat: Float[Array, "b t qd"], - k_flat: Float[Array, "b t kvd"], - v_flat: Float[Array, "b t kvd"], - inv_freq: Array, - ) -> Float[Array, "b t qd"]: - """RoPE + causal SDPA between the q/k/v projections and the o projection — - the seam the decomposed q/k/v site outputs feed into.""" - b, t, _ = q_flat.shape - assert q_flat.shape[-1] == self.n_head * self.head_dim, q_flat.shape - assert k_flat.shape[-1] == self.n_kv_head * self.head_dim, k_flat.shape - assert v_flat.shape[-1] == self.n_kv_head * self.head_dim, v_flat.shape - q = q_flat.reshape(b, t, self.n_head, self.head_dim) - k = k_flat.reshape(b, t, self.n_kv_head, self.head_dim) - if self.q_norm is not None: - # Qwen3 QK-norm: per-head RMSNorm over head_dim, before RoPE (HF - # `Qwen3Attention`). A masked q/k site output feeds this norm, then RoPE/SDPA. - assert self.k_norm is not None - q = rms_norm(q, self.q_norm, self.eps) - k = rms_norm(k, self.k_norm, self.eps) - q = q.transpose(0, 2, 1, 3) - k = k.transpose(0, 2, 1, 3) - v = v_flat.reshape(b, t, self.n_kv_head, self.head_dim).transpose(0, 2, 1, 3) - cos, sin = rope_cos_sin(inv_freq, t, q_flat.dtype) - q, k = apply_rope(q, k, cos, sin) - # Native GQA: do NOT repeat_kv — `dot_product_attention` handles the q-heads:kv-heads - # grouping internally. Repeating k/v to n_head and THEN sharding makes the SPMD - # partitioner derive the repeated-k/v layout from the small n_kv_head source, - # inconsistent with q -> cuDNN "Query, key and value should have same sharding" (forward - # AND its rematerialized backward). Real GQA keeps q (n_head) and k/v (n_kv_head) as - # independent head-parallel tensors with the SAME spec (different head COUNTS is fine). - # cuDNN flash attention's custom partitioner requires q/k/v IDENTICALLY sharded. - # Pure HSDP: pin all three batch-parallel over the FULL mesh, HEADS replicated - # (`P(('replicate','fsdp'), None, None, None)` for `[b, heads, t, hd]`). The identical - # q/k/v spec is exactly what cuDNN's flash partitioner demands; heads-replicated keeps - # q (n_head) and k/v (n_kv_head) consistently sharded (no head TP that would split them - # to different per-rank counts). The q/k/v projection outputs are `d_out`-replicated - # (U FSDP's the C side, not d_out's head); this constraint pins the batch right here. - # Guarded so it's a no-op off-mesh (CPU tests / single device); `run.py` sets the - # global mesh. - if not jax.sharding.get_abstract_mesh().empty: - qkv_spec = jax.sharding.PartitionSpec( - ("replicate", "fsdp"), None, None, None - ) # batch-parallel: q/k/v IDENTICAL spec -> cuDNN happy; flash = no score materialization - q, k, v = (jax.lax.with_sharding_constraint(a, qkv_spec) for a in (q, k, v)) - return causal_sdpa(q, k, v).transpose(0, 2, 1, 3).reshape(b, t, self.n_head * self.head_dim) - - def __call__(self, x: Float[Array, "b t d"], inv_freq: Array) -> Array: - return self.core(x @ self.wq.T, x @ self.wk.T, x @ self.wv.T, inv_freq) @ self.wo.T - - -class LlamaLayer(eqx.Module): - """One layer's frozen weights — norms, attention, MLP. Decomposed sites read - their frozen target W from here at forward time; layers without sites run the - plain frozen block from the same fields. Weights pass as a runtime arg — never - baked into the HLO as a multi-GB constant.""" - - ln1: Float[Array, " d"] - ln2: Float[Array, " d"] - attn: FrozenAttn - Wg: Float[Array, "di d"] - Wu: Float[Array, "di d"] - Wd: Float[Array, "d di"] - - def shardings(self, mesh: "Mesh") -> "LlamaLayer": - """Stacked FSDP on `fsdp` (no TP): every MLP weight shards its `d`-dim on `fsdp`, - the intermediate dim stays replicated; gathered back per layer inside the scan. - Norms replicate; attn delegates to `FrozenAttn.shardings`.""" - in_fsdp = NamedSharding(mesh, P(None, None, "fsdp")) # Wg/Wu [nc, di(repl), d on fsdp] - out_fsdp = NamedSharding(mesh, P(None, "fsdp", None)) # Wd [nc, d on fsdp, di(repl)] - repl = NamedSharding(mesh, P()) - assert_divisible(self.Wg.shape[2], mesh, "fsdp", "Wg in (d)") - assert_divisible(self.Wd.shape[1], mesh, "fsdp", "Wd out (d)") - return eqx.tree_at( - lambda layer: (layer.ln1, layer.ln2, layer.attn, layer.Wg, layer.Wu, layer.Wd), - self, - (repl, repl, self.attn.shardings(mesh), in_fsdp, in_fsdp, out_fsdp), - ) - - -def _frozen_site_weight(layer: LlamaLayer, kind: str) -> Array: - match kind: - case "q": - return layer.attn.wq - case "k": - return layer.attn.wk - case "v": - return layer.attn.wv - case "o": - return layer.attn.wo - case "gate": - return layer.Wg - case "up": - return layer.Wu - case "down": - return layer.Wd - case _: - raise AssertionError(f"unknown kind {kind!r}") - - -# ----------------------------- forwards ----------------------------- - - -def _clean_mlp_out(layer: LlamaLayer, mlp_in: Array) -> Array: - """Frozen target MLP — exactly `W` applied, not the `V@U + (W−V@U)` identity, so - non-live sites carry no V/U gradient and no decomposition rounding (SPEC S2/S3).""" - return (jax.nn.silu(mlp_in @ layer.Wg.T) * (mlp_in @ layer.Wu.T)) @ layer.Wd.T - - -def _stack_layers(layers: list[LlamaLayer]) -> LlamaLayer: - """Stack a per-layer `LlamaLayer` list into one whose array leaves carry a leading - layer axis — the `xs` for a `lax.scan` over the (homogeneous) block stack. Static - fields (attn head counts) ride in the treedef, shared across iterations.""" - return jax.tree.map(lambda *per_layer: jnp.stack(per_layer), *layers) - - -def _tap_layer(key: str) -> int: - """Global block index a `read_activations` key reads at: the block a `resid.{L}` tap - enters, or the block a decomposed site lives in.""" - if key.startswith("resid."): - return int(key.split(".")[1]) - return parse_site_name(key)[0] - - -def _per_kind_dims(components: DecompVU) -> dict[str, tuple[int, int, int]]: - """Per decomposed KIND, the `(d_in, C, d_out)` shared across its layers — asserting - uniformity, the precondition for the layer-`lax.scan` masked forward (it stacks each - kind across layers, so every layer's matrix of that kind must be the same shape).""" - kind_dims: dict[str, tuple[int, int, int]] = {} - for name, (V, U) in components.vu.items(): - kind = parse_site_name(name)[1] - dims = (V.shape[0], V.shape[1], U.shape[1]) - assert kind_dims.setdefault(kind, dims) == dims, ( - f"per-kind dims must be uniform across layers for the scan masked forward: " - f"{kind} {dims} != {kind_dims[kind]}" - ) - return kind_dims - - -def _stack_per_kind_vu(components: DecompVU, n_layers: int) -> dict[str, dict[str, Array]]: - """Per decomposed KIND, the layer-stacked `(V, U)` arrays — the MASK-INDEPENDENT part of - the scan inputs (a leading layer axis, one homogeneous body across layers). Mask/live/ - delta/route are attached per-forward by `_attach_per_kind_masks`; the V/U stack + - `_reconstruct_compute_weights` (the ÷N→÷fsdp cross-node gather) are the same for EVERY - forward in a step, so they are built ONCE via `prepare_compute_weights` and shared. - Per-kind dims (d_in, C, d_out) must be uniform across layers (asserted in `_per_kind_dims`).""" - kind_dims = _per_kind_dims(components) - vu_dt = next(iter(components.vu.values()))[0].dtype - per_kind: dict[str, dict[str, Array]] = {} - for kind, (d_in, C, d_out) in kind_dims.items(): - names = [site_name(layer, kind) for layer in range(n_layers)] - Vs = jnp.stack( - [ - components.vu[n][0] if n in components.vu else jnp.zeros((d_in, C), vu_dt) - for n in names - ] - ) - Us = jnp.stack( - [ - components.vu[n][1] if n in components.vu else jnp.zeros((C, d_out), vu_dt) - for n in names - ] - ) - per_kind[kind] = {"V": Vs, "U": Us} - return per_kind - - -def _attach_per_kind_masks( - prepared: dict[str, dict[str, Array]], - n_layers: int, - leading: tuple[int, ...], - masks: dict[str, Array], - delta_masks: dict[str, Array], - routes: dict[str, Array] | None, - live_set: frozenset[str], - has_delta: bool, -) -> dict[str, dict[str, Array]]: - """Attach the per-forward `(live, mask[, delta][, route])` stacks to the shared, already - stacked + ÷fsdp-reconstructed `prepared` per-kind `(V, U)` weights. Sites absent from - `live` get dummy mask/delta/route (the `cond` frozen branch ignores them); `masks`/ - `delta_masks`/`routes` exist only for live sites (recon builds them per-chunk).""" - # Dummy mask/delta/route shapes match the REAL entries (the source scope sets the leading - # shape: `sc` broadcasts over batch as `(1, T)`, not the full `(B, T)`). - a_mask = next(iter(masks.values())) if masks else None - mask_lead = a_mask.shape[:-1] if a_mask is not None else leading - a_delta = next(iter(delta_masks.values())) if (has_delta and delta_masks) else None - a_route = next(iter(routes.values())) if (routes and len(routes)) else None - - per_kind: dict[str, dict[str, Array]] = {} - for kind, vu_entry in prepared.items(): - C = vu_entry["V"].shape[-1] - mask_dt = a_mask.dtype if a_mask is not None else vu_entry["V"].dtype - names = [site_name(layer, kind) for layer in range(n_layers)] - live_flags = jnp.array([n in live_set for n in names]) - masks_k = jnp.stack( - [masks[n] if n in live_set else jnp.ones((*mask_lead, C), mask_dt) for n in names] - ) - entry: dict[str, Array] = {**vu_entry, "live": live_flags, "mask": masks_k} - if has_delta: - d_shape = a_delta.shape if a_delta is not None else leading - d_dt = a_delta.dtype if a_delta is not None else mask_dt - entry["delta"] = jnp.stack( - [delta_masks[n] if n in live_set else jnp.zeros(d_shape, d_dt) for n in names] - ) - if routes is not None: - r_shape = a_route.shape if a_route is not None else leading - r_dt = a_route.dtype if a_route is not None else jnp.bool_ - entry["route"] = jnp.stack( - [routes[n] if n in live_set else jnp.zeros(r_shape, r_dt) for n in names] - ) - per_kind[kind] = entry - return per_kind - - -def _stack_ci_per_kind(ci_lower: dict[str, Array], n_layers: int) -> dict[str, Array]: - """Stack the per-site CI envelope into per-kind `[n_layer, *leading, C]` — built ONCE per - step and SHARED across every stochastic recon forward (the CI envelope is identical for - all). Mirrors `_stack_per_kind_vu`: the shared stack replaces N per-forward mask stacks.""" - kinds: dict[str, Array] = {} - sample_by_kind: dict[str, Array] = {} - for name, v in ci_lower.items(): - sample_by_kind.setdefault(parse_site_name(name)[1], v) - for kind, sample in sample_by_kind.items(): - names = [site_name(layer, kind) for layer in range(n_layers)] - kinds[kind] = jnp.stack( - [ci_lower[n] if n in ci_lower else jnp.zeros_like(sample) for n in names] - ) - return kinds - - -def _attach_per_kind_stochastic( - prepared: dict[str, dict[str, Array]], - n_layers: int, - leading: tuple[int, ...], - ci_stacked: dict[str, Array], - draw_key: Array, - routes: dict[str, Array] | None, - live_set: frozenset[str], -) -> dict[str, dict[str, Array]]: - """Stochastic recon: attach the SHARED per-kind `ci` stack + per-(layer,kind) RNG keys - instead of pre-built mask/delta stacks. `masked_site` draws `source = uniform(key)` and - builds `mask = ci + (1−ci)·source` INSIDE the checkpointed block, so the per-forward mask - is recomputed in the backward (faithful by checkpoint determinism — same key fwd+bwd) and - never held. Only the (tiny) keys + live-flags are per-forward; the `[n_layer,*,C]` ci stack - is shared, so N forwards' mask stacks collapse to one ci stack (the memory win).""" - src_base, delta_base = jax.random.split(draw_key) - a_route = next(iter(routes.values())) if (routes and len(routes)) else None - per_kind: dict[str, dict[str, Array]] = {} - for kind, vu_entry in prepared.items(): - names = [site_name(layer, kind) for layer in range(n_layers)] - live_flags = jnp.array([n in live_set for n in names]) - kind_idx = KIND_ORDER.index(kind) - src_keys = jnp.stack( - [ - jax.random.fold_in(jax.random.fold_in(src_base, kind_idx), layer) - for layer in range(n_layers) - ] - ) - delta_keys = jnp.stack( - [ - jax.random.fold_in(jax.random.fold_in(delta_base, kind_idx), layer) - for layer in range(n_layers) - ] - ) - entry: dict[str, Array] = { - **vu_entry, "live": live_flags, "ci": ci_stacked[kind], - "src_key": src_keys, "delta_key": delta_keys, - } # fmt: skip - if routes is not None: - r_shape = a_route.shape if a_route is not None else leading - r_dt = a_route.dtype if a_route is not None else jnp.bool_ - entry["route"] = jnp.stack( - [routes[n] if n in live_set else jnp.zeros(r_shape, r_dt) for n in names] - ) - per_kind[kind] = entry - return per_kind - - -def _reconstruct_compute_weights( - per_kind: dict[str, dict[str, Array]], - fp8: bool, -) -> dict[str, dict[str, Array]]: - """The ZeRO-1 weight reconstruction (pure-HSDP backup layout). The stacked - `[n_layer, d_in, C]` / `[n_layer, C, d_out]` compute weights arrive with their FSDP dim - sharded ÷N over the FULL mesh (the master is `P(("replicate","fsdp"), ...)`). Reconstruct - them to the `fsdp`-sharded (÷fsdp) COMPUTE layout here — BEFORE the layer scan — so: - - * the cross-`replicate` gather runs ONCE per step in ENTRY (off the hot path), - landing a SMALL ÷fsdp-resident weight stack (`[n_layer, d_in/fsdp, C]`), NOT the full - `[n_layer, d_in, C]` model; - * the per-layer scan body then gathers ONE layer's `fsdp` shard to full d_in - transiently (intra-node NVLink), freed each iteration — never a full-model resident. - - Cast to bf16 HERE (not f32) so the ÷fsdp-resident compute stack is half-size and XLA - can't keep an f32 full copy alive. The fp32 masters + Adam stay ÷N (untouched — this is - a separate read-only compute view). The leading `n_layer` axis (the scan `xs`) stays - unsharded. No-op off-mesh (CPU / single device); `run.py` sets the global mesh.""" - if jax.sharding.get_abstract_mesh().empty: - return per_kind - v_spec = P(None, "fsdp", "tp") # [n_layer, d_in ÷fsdp, C ÷tp] — d gathered/step, C stays ÷tp - u_spec = P(None, "tp", "fsdp") # [n_layer, C ÷tp, d_out ÷fsdp] - out: dict[str, dict[str, Array]] = {} - for kind, entry in per_kind.items(): - pinned = dict(entry) - # optimization_barrier forces the cast/quant to materialize BEFORE the ÷N→÷fsdp gather, - # so the collective moves the compute dtype — XLA otherwise sinks the convert past the - # all-gather and gathers the f32 master (2x the comm; the convert gathers in the HLO). - if fp8: - # Quantized All-Gather: the ÷fsdp compute weights are fp8; the per-layer ÷fsdp→full - # gather then moves fp8 (½ the bf16 bytes), dequantized to bf16 in `masked_site`. - # Per-tensor scalar scale rides alongside (replicated, survives the gather). - vq, vs = quantize_fp8(entry["V"]) - uq, us = quantize_fp8(entry["U"]) - pinned["V"] = jax.lax.with_sharding_constraint(jax.lax.optimization_barrier(vq), v_spec) - pinned["U"] = jax.lax.with_sharding_constraint(jax.lax.optimization_barrier(uq), u_spec) - pinned["V_scale"], pinned["U_scale"] = vs, us - else: - pinned["V"] = jax.lax.with_sharding_constraint( - jax.lax.optimization_barrier(entry["V"].astype(jnp.bfloat16)), v_spec - ) - pinned["U"] = jax.lax.with_sharding_constraint( - jax.lax.optimization_barrier(entry["U"].astype(jnp.bfloat16)), u_spec - ) - out[kind] = pinned - return out - - -class LlamaDecomposedModel(eqx.Module): - """The Llama-8B `DecomposedModel` (the `lm.py` contract; SPEC §1). - - Carries the FROZEN full model (embedding, all blocks, final norm, lm_head) as array - fields — so it threads into the jitted step as a pytree arg, its weights traced not - baked. The TRAINABLE V/U (`vu: DecompVU`) is passed to the forward methods explicitly: - separate lifecycle (own optimizer + checkpoint, C-sharded while these weights - replicate), so it is NOT a field here. - - Forward methods take token `inputs` and embed internally. Blocks with no decomposed - site run the plain frozen path — so a subset decomposition just leaves the rest - frozen. - - `sites` / `leading_axes` are static config.""" - - embed: Float[Array, "vocab d"] - stacked: LlamaLayer # the per-layer weights stacked on a leading layer axis (the scan - # `xs`), stored pre-stacked: a saved jit input, never re-stacked inside a forward. - n_layer: int = eqx.field(static=True) - norm: Float[Array, " d"] - lm_head: Float[Array, "vocab d"] - inv_freq: Float[Array, " hd2"] - sites: tuple[SiteSpec, ...] = eqx.field(static=True) - leading_axes: tuple[str, ...] = eqx.field(static=True) - eps: float = eqx.field(static=True) - scan_unroll: int = eqx.field(static=True, default=1) - """`lax.scan(unroll=)` factor over the block stack (`RuntimeConfig.scan_unroll`); 1 = - plain per-layer scan.""" - gather_fp8: bool = eqx.field(static=True, default=False) - """Quantized all-gather of the ÷fsdp compute V/U (`RuntimeConfig.gather_fp8`).""" - - @property - def site_names(self) -> tuple[str, ...]: - return tuple(s.name for s in self.sites) - - @property - def layers(self) -> list[LlamaLayer]: - """Per-layer view of `stacked` (slices the leading layer axis). For non-hot - consumers (attn-patterns recipe, equivalence harness); the forwards use `stacked`.""" - return [jax.tree.map(lambda a, idx=i: a[idx], self.stacked) for i in range(self.n_layer)] - - def shardings(self, mesh: "Mesh") -> "LlamaDecomposedModel": - """FSDP-on-`fsdp` the per-layer weights (`stacked.shardings` — `d` on `fsdp`, - head/intermediate replicated; the ~14 GB layer bulk shards `/fsdp`, gathered per layer - inside the scan, on NVLink). embed / lm_head / norm / inv_freq REPLICATE — the ~2 GB - embed+head is small and vocab-parallel logits/lookup aren't worth the complexity. (The - old all-replicate justification — "the target is small vs activations" — is stale: at - the full 32-layer model the replicated target + its backward/remat copies dominate the - step's peak, which is what this shards away.)""" - repl = NamedSharding(mesh, P()) - return eqx.tree_at( - lambda m: (m.embed, m.norm, m.lm_head, m.inv_freq, m.stacked), - self, - (repl, repl, repl, repl, self.stacked.shardings(mesh)), - ) - - @staticmethod - def recon_loss_fn(masked_output: Array, clean_output: Array) -> Array: - return kl_per_position(masked_output, clean_output) - - def embed_tokens(self, tokens: Int[Array, "b t"]) -> Float[Array, "b t d"]: - return self.embed[tokens] - - def clean_output(self, inputs: Int[Array, "b t"]) -> Array: - """The all-frozen forward — the recon target (SPEC S3). A `lax.scan` over the block - stack so XLA compiles one block body instead of unrolling all 32 layers (the compile - fix for the full model; the scan reassociates float ops vs an unrolled loop, within - fp32 tolerance).""" - - def block(x: Array, layer: LlamaLayer) -> tuple[Array, None]: - x = x + layer.attn(rms_norm(x, layer.ln1, self.eps), self.inv_freq) - x = x + _clean_mlp_out(layer, rms_norm(x, layer.ln2, self.eps)) - return x, None - - x, _ = jax.lax.scan(block, self.embed_tokens(inputs), self.stacked) - x = rms_norm(x, self.norm, self.eps) - return x @ self.lm_head.T - - def read_activations( - self, inputs: Int[Array, "b t"], wanted: tuple[str, ...] - ) -> dict[str, Array]: - """Frozen-path activation accessor (CI input side, SPEC S4; harvest's per-site - matrix inputs). - - `wanted` keys are either `resid.{layer}` (residual stream ENTERING that block — the - chunkwise CI fn's `input_names`) or a decomposed SITE NAME (the activation entering - that site's weight on the frozen path: `q/k/v_proj` ← post-LN1 residual, `o_proj` ← - the attention output, `gate/up_proj` ← post-LN2 residual, `down_proj` ← - `silu(gate)·up`). The residual is threaded identically to `clean_output`; the - per-site intermediates come from the same RMSNorm/attn/MLP math. Stops once the last - requested key's block is fully covered (no wasted block compute past it).""" - wanted_set = frozenset(wanted) - last = max(_tap_layer(key) for key in wanted) - taps: dict[str, Array] = {} - x = self.embed_tokens(inputs) - for layer in range(self.n_layer): - block = jax.tree.map(lambda a, li=layer: a[li], self.stacked) - if f"resid.{layer}" in wanted_set: - taps[f"resid.{layer}"] = x - attn = block.attn - h1 = rms_norm(x, block.ln1, self.eps) - attn_y = attn.core(h1 @ attn.wq.T, h1 @ attn.wk.T, h1 @ attn.wv.T, self.inv_freq) - post_attn = x + attn_y @ attn.wo.T - mlp_in = rms_norm(post_attn, block.ln2, self.eps) - down_in = jax.nn.silu(mlp_in @ block.Wg.T) * (mlp_in @ block.Wu.T) - for kind, site_input in ( - ("q", h1), ("k", h1), ("v", h1), ("o", attn_y), - ("gate", mlp_in), ("up", mlp_in), ("down", down_in), - ): # fmt: skip - name = site_name(layer, kind) - if name in wanted_set: - taps[name] = site_input - x = post_attn + down_in @ block.Wd.T - if layer == last: - break - assert set(taps) == wanted_set, (sorted(taps), sorted(wanted)) - return taps - - def _run_masked_forward( - self, - prepared: dict[str, dict[str, Array]], - inputs: Int[Array, "b t"], - masks: dict[str, Array], - delta_masks: dict[str, Array], - routes: dict[str, Array] | None, - live: tuple[str, ...], - has_delta: bool, - remat: bool, - collect: dict[str, Array] | None, - stochastic: tuple[dict[str, Array], Array] | None = None, - collect_activations: dict[str, Array] | None = None, - ) -> Array: - """The masked decomposed forward shared by `masked_output` / `masked_output_stochastic` - / `masked_site_outputs` / `masked_component_activations` (SPEC §1.3, S2). `live_set` is - static at trace, so the forward runs as `[frozen prefix] → [live block] → [frozen suffix]` - static sub-scans (no per-site `lax.cond`): only the live block carries + gathers V/U. - `live`/`has_delta` are static; a non-None `collect` gathers per-live-site decomposed - OUTPUTS (`(x@V)*m@U + …`, SPEC S31), and a non-None `collect_activations` gathers - per-live-site component ACTIVATIONS `x@V` (`[*leading, C]`, mask-independent — the - pre-mask coefficient the arithmetic CI-grid eval visualizes). Assumes layer-aligned, - contiguous chunks (asserted below). - - `prepared` is the shared, stacked + ÷fsdp-reconstructed per-kind `(V, U)` from - `prepare_compute_weights` (built ONCE per step) — this fn only ATTACHES the per-forward - masks, so the ÷N→÷fsdp cross-node gather is not re-run here (SPEC unchanged; numerics - identical — the reconstruction is mask-independent and the same for every forward).""" - live_set = frozenset(live) - resid = self.embed_tokens(inputs) - leading = resid.shape[:-1] - if stochastic is not None: - ci_stacked, draw_key = stochastic - per_kind = _attach_per_kind_stochastic( - prepared, self.n_layer, leading, ci_stacked, draw_key, routes, live_set - ) - else: - per_kind = _attach_per_kind_masks( - prepared, self.n_layer, leading, masks, delta_masks, routes, live_set, has_delta - ) - decomposed_kinds = frozenset(per_kind) - want_collect = collect is not None - want_collect_acts = collect_activations is not None - - # STATIC liveness. `live_set` is known at trace, so the live/frozen choice per site needs - # NO runtime `lax.cond` — and removing it lets XLA pack + prefetch the V/U gathers (the - # cond was a scheduling/packing barrier). We assume LAYER-ALIGNED, CONTIGUOUS chunks - # (every production plan: `into_groups` with sites_per_chunk % n_decomposed_kinds == 0, - # and `one_chunk`); both are asserted below. The forward is then - # [frozen prefix] → [live block] → [frozen suffix], each a static sub-scan; only the live - # block carries V/U and gathers them. - def layer_is_live(layer: int) -> bool: - flags = {site_name(layer, kind) in live_set for kind in decomposed_kinds} - assert len(flags) == 1, ( - f"layer {layer} is partially live ({flags}); the segmented masked forward assumes " - f"layer-aligned chunks (sites_per_chunk % {len(decomposed_kinds)} == 0)" - ) - return flags.pop() - - live_layers = [layer for layer in range(self.n_layer) if layer_is_live(layer)] - if live_layers: - first_live, last_live = live_layers[0], live_layers[-1] + 1 - assert live_layers == list(range(first_live, last_live)), ( - f"live layers must be contiguous, got {live_layers}" - ) - else: - first_live = last_live = 0 - - def decomp_site(x_in: Array, W: Array, e: dict[str, Array]) -> Array: - v, u = e["V"], e["U"] - if "V_scale" in e: # fp8 QAG: gather the fp8 ÷fsdp weight to full d (½ bytes on the - # wire), THEN dequant to bf16 — the barrier keeps the convert after the gather so - # the collective moves fp8, not bf16. - v = dequantize_fp8( - jax.lax.optimization_barrier( - jax.lax.with_sharding_constraint(v, P(None, "tp")) - ), - e["V_scale"], - ) - u = dequantize_fp8( - jax.lax.optimization_barrier( - jax.lax.with_sharding_constraint(u, P("tp", None)) - ), - e["U_scale"], - ) - if "ci" in e: # stochastic recompute: draw source from the per-layer key and build the - # mask INLINE (recomputed in the backward, not held — the shared `ci` stack + tiny - # key replace the per-forward mask stack). - ci = e["ci"] - source = jax.random.uniform(e["src_key"], ci.shape, dtype=ci.dtype) - mask = ci + (1.0 - ci) * source - delta = ( - jax.random.uniform(e["delta_key"], ci.shape[:-1], dtype=ci.dtype) - if has_delta - else None - ) - return site_out(x_in, v, u, W, mask, delta, e.get("route")) - return site_out(x_in, v, u, W, e["mask"], e.get("delta"), e.get("route")) - - def masked_site( - x_in: Array, kind: str, W: Array, pk: dict[str, dict[str, Array]] - ) -> tuple[Array, Array | None, Array | None]: - # LIVE block only: every decomposed kind decomps (static — no cond); a kind absent - # from the decomposition stays frozen. - if kind not in decomposed_kinds: - return x_in @ W.T, None, None - e = pk[kind] - out = decomp_site(x_in, W, e) - act = ( - (x_in @ e["V"]) if want_collect_acts else None - ) # pre-mask coeff; see masked_component_activations - return out, (out if want_collect else None), act - - def live_block( - x: Array, layer_in: tuple[LlamaLayer, dict[str, dict[str, Array]]] - ) -> tuple[Array, tuple[dict[str, Array] | None, dict[str, Array] | None]]: - sl, pk = layer_in - attn = sl.attn - h1 = rms_norm(x, sl.ln1, self.eps) - q, qc, qa = masked_site(h1, "q", attn.wq, pk) - k, kc, ka = masked_site(h1, "k", attn.wk, pk) - v, vc, va = masked_site(h1, "v", attn.wv, pk) - attn_y = attn.core(q, k, v, self.inv_freq) - o, oc, oa = masked_site(attn_y, "o", attn.wo, pk) - post_attn = x + o - h2 = rms_norm(post_attn, sl.ln2, self.eps) - g, gc, ga = masked_site(h2, "gate", sl.Wg, pk) - u, uc, ua = masked_site(h2, "up", sl.Wu, pk) - d, dc, da = masked_site(jax.nn.silu(g) * u, "down", sl.Wd, pk) - x = post_attn + d - kinds = ("q", "k", "v", "o", "gate", "up", "down") - collected = ( - { - n: c - for n, c in zip(kinds, (qc, kc, vc, oc, gc, uc, dc), strict=True) - if c is not None - } - if want_collect - else None - ) - collected_acts = ( - { - n: a - for n, a in zip(kinds, (qa, ka, va, oa, ga, ua, da), strict=True) - if a is not None - } - if want_collect_acts - else None - ) - return x, (collected, collected_acts) - - def frozen_block(x: Array, sl: LlamaLayer) -> tuple[Array, None]: - # Bit-identical to a frozen `masked_site` branch (`x @ Wᵀ` per site), shared with - # `clean_output`. Carries NO V/U → a frozen segment gathers nothing. - x = x + sl.attn(rms_norm(x, sl.ln1, self.eps), self.inv_freq) - x = x + _clean_mlp_out(sl, rms_norm(x, sl.ln2, self.eps)) - return x, None - - # Per-LAYER checkpoint of the scan BODY in BOTH modes — `remat` controls ONLY whether the - # layer ACTIVATIONS are recomputed; it NEVER controls the ÷fsdp→full V/U gather. That - # gather is a NON-dot collective, so it is never a saved residual under either policy — it - # re-gathers in the backward, transient one layer at a time (without checkpoint XLA keeps - # every layer's full gathered V/U live across the scan → OOM). - # remat=True → nothing_saveable: recompute activations AND the gather (min memory). - # remat=False → dots_saveable: SAVE the activation matmuls (no batch dims here → they - # qualify) but still recompute the gather + cheap elementwise. Pure recompute either - # way; zero numerics change. - # `scan_unroll` (native `lax.scan(unroll=k)`) emits k iterations straight-line so XLA can - # prefetch gather(L+1) under matmul(L) — the overlap a 1-layer while-body denies. - policy = ( - jax.checkpoint_policies.nothing_saveable - if remat - else jax.checkpoint_policies.dots_saveable - ) - - def run_scan(body: Any, carry: Array, xs: Any) -> tuple[Array, Any]: - return jax.lax.scan( - jax.checkpoint(body, policy=policy), carry, xs, unroll=self.scan_unroll - ) - - def slice_layers(lo: int, hi: int) -> LlamaLayer: - return jax.tree.map(lambda a: a[lo:hi], self.stacked) - - x = resid - ys: tuple[dict[str, Array] | None, dict[str, Array] | None] | None = None - if first_live > 0: - x, _ = run_scan(frozen_block, x, slice_layers(0, first_live)) - if last_live > first_live: - pk_live = { - kind: {k: v[first_live:last_live] for k, v in e.items()} - for kind, e in per_kind.items() - } - x, ys = run_scan(live_block, x, (slice_layers(first_live, last_live), pk_live)) - if last_live < self.n_layer: - x, _ = run_scan(frozen_block, x, slice_layers(last_live, self.n_layer)) - - x = rms_norm(x, self.norm, self.eps) - logits = x @ self.lm_head.T - if collect is not None or collect_activations is not None: - assert ys is not None # requested -> the live block emitted the per-kind stacks - ys_out, ys_acts = ys - for sink, stacked in ((collect, ys_out), (collect_activations, ys_acts)): - if sink is None: - continue - assert stacked is not None # sink requested -> the live block emitted this stack - for site in live: - layer, kind = parse_site_name(site) - sink[site] = stacked[kind][layer - first_live] - return logits - - def prepare_compute_weights(self, vu: DecompVU) -> dict[str, dict[str, Array]]: - """Build the shared per-kind compute weights ONCE per step (SPEC unchanged): stack the - per-site V/U into the layer-stacked `[n_layer, …]` form and run the ÷N→÷fsdp cross-node - reconstruction + bf16 cast. The result is mask-independent and identical for every - forward in the step, so the engine builds it once and threads it into all - `masked_output` / `masked_site_outputs` calls — the cross-node gather then runs ONCE per - step (ENTRY) instead of once per forward (the per-forward re-gather was ~10 co-resident - copies of the ÷fsdp stack at peak).""" - return _reconstruct_compute_weights(_stack_per_kind_vu(vu, self.n_layer), self.gather_fp8) - - def masked_output( - self, - prepared: dict[str, dict[str, Array]], - inputs: Int[Array, "b t"], - masks: dict[str, Array], - delta_masks: dict[str, Array], - routes: dict[str, Array] | None, - live: tuple[str, ...], - has_delta: bool, - *, - remat: bool, - ) -> Array: - return self._run_masked_forward( - prepared, inputs, masks, delta_masks, routes, live, has_delta, remat, None, None - ) - - def stack_ci(self, ci_lower: dict[str, Array]) -> dict[str, Array]: - """Per-kind `[n_layer, *leading, C]` stack of the CI envelope, built ONCE per step and - shared across all stochastic recon forwards (`masked_output_stochastic`). The - StochasticReconCapable capability (SPEC unchanged — pure recompute restructuring).""" - return _stack_ci_per_kind(ci_lower, self.n_layer) - - def masked_output_stochastic( - self, - prepared: dict[str, dict[str, Array]], - inputs: Int[Array, "b t"], - ci_stacked: dict[str, Array], - draw_key: Array, - routes: dict[str, Array] | None, - live: tuple[str, ...], - has_delta: bool, - *, - remat: bool, - ) -> Array: - """Stochastic recon forward that RECOMPUTES masks in-block (memory win): the shared - `ci_stacked` + per-layer keys from `draw_key` replace the per-forward mask stack; each - live site draws `source = uniform(key)` and forms `mask = ci + (1−ci)·source` inside the - checkpointed block (faithful by checkpoint determinism). Same forward semantics as - `masked_output` with stochastic sources — only the masks' liverange changes.""" - return self._run_masked_forward( - prepared, inputs, {}, {}, routes, live, has_delta, remat, None, (ci_stacked, draw_key) - ) - - def masked_site_outputs( - self, - prepared: dict[str, dict[str, Array]], - inputs: Int[Array, "b t"], - masks: dict[str, Array], - delta_masks: dict[str, Array], - routes: dict[str, Array] | None, - live: tuple[str, ...], - has_delta: bool, - ) -> dict[str, Array]: - """Per-`live`-site decomposed output of the masked forward (SPEC S31). Runs the - exact `masked_output` forward, discards the logits, returns the collected outputs.""" - collect: dict[str, Array] = {} - self._run_masked_forward( - prepared, inputs, masks, delta_masks, routes, live, has_delta, False, collect, None - ) - assert set(collect) == set(live), (sorted(collect), sorted(live)) - return collect - - def masked_component_activations( - self, - prepared: dict[str, dict[str, Array]], - inputs: Int[Array, "b t"], - masks: dict[str, Array], - delta_masks: dict[str, Array], - routes: dict[str, Array] | None, - live: tuple[str, ...], - has_delta: bool, - ) -> dict[str, Array]: - """Per-`live`-site component activation `x@V` (`[*leading, C]`, the coefficient - BEFORE the per-component `*mask`) from the masked forward. A site's OWN mask does not - enter its `x@V`, but the masks passed still shape a downstream site's input (e.g. - `down`'s input is the masked `silu(gate)*up`) — so pass the masks the visualization - wants the forward to run under. For the arithmetic CI-grid eval's activation heatmaps; - LM-only, off the recon path.""" - collect_activations: dict[str, Array] = {} - self._run_masked_forward( - prepared, inputs, masks, delta_masks, routes, live, has_delta, False, None, - collect_activations=collect_activations, - ) # fmt: skip - assert set(collect_activations) == set(live), (sorted(collect_activations), sorted(live)) - return collect_activations - - def weight_deltas(self, vu: DecompVU) -> dict[str, Array]: - """fp32 `W − V@U` per site from fp32 masters (SPEC N2; faithfulness input).""" - out: dict[str, Array] = {} - for spec in self.sites: - layer, kind = parse_site_name(spec.name) - W = _frozen_site_weight(jax.tree.map(lambda a, li=layer: a[li], self.stacked), kind) - V, U = vu.site(spec.name) - out[spec.name] = ( - W.astype(jnp.float32) - (V.astype(jnp.float32) @ U.astype(jnp.float32)).T - ) - return out - - -# ----------------------------- HF weight loading ----------------------------- - - -def hf_snapshot_dir(model_name: str) -> Path: - """Newest local snapshot of `model_name`. `HF_HUB_CACHE` overrides; otherwise on - cluster (`DATA_MOUNT` set) the shared world-readable cache is the source — a home - `~/.cache` hub is silently mutable, and a wiped entry strands running jobs that - reload weights on requeue.""" - import os - - default_cache = ( - f"{os.environ['DATA_MOUNT']}/artifacts/hf_cache/hub" - if "DATA_MOUNT" in os.environ - else str(Path.home() / ".cache/huggingface/hub") - ) - cache = Path(os.environ.get("HF_HUB_CACHE", default_cache)) - repo = "models--" + model_name.replace("/", "--") - snaps = sorted((cache / repo / "snapshots").iterdir()) - assert snaps, f"no snapshot for {model_name} under {cache}" - return snaps[-1] - - -class _HFWeights: - """Lazy keyed access to the sharded safetensors of an HF Llama checkpoint.""" - - def __init__(self, snapshot: Path): - index = json.loads((snapshot / "model.safetensors.index.json").read_text()) - self._key_to_file = index["weight_map"] - self._snapshot = snapshot - self._open: dict[str, Any] = {} - - def get(self, key: str) -> Array: - fname = self._key_to_file[key] - if fname not in self._open: - self._open[fname] = safe_open(str(self._snapshot / fname), framework="numpy") - return jnp.asarray(np.array(self._open[fname].get_tensor(key)), dtype=DT) - - -def _load_attn(w: _HFWeights, i: int, cfg: LlamaConfig) -> FrozenAttn: +def _load_attn(w: HFWeights, i: int, cfg: LlamaConfig) -> FrozenAttn: pre = "model.layers" return FrozenAttn( wq=w.get(f"{pre}.{i}.self_attn.q_proj.weight"), @@ -1043,80 +41,23 @@ def _load_attn(w: _HFWeights, i: int, cfg: LlamaConfig) -> FrozenAttn: n_kv_head=cfg.n_kv_head, head_dim=cfg.head_dim, n_rep=cfg.n_rep, - q_norm=w.get(f"{pre}.{i}.self_attn.q_norm.weight") if cfg.qk_norm else None, - k_norm=w.get(f"{pre}.{i}.self_attn.k_norm.weight") if cfg.qk_norm else None, - eps=cfg.rms_norm_eps if cfg.qk_norm else 0.0, - ) - - -def _load_blocks(w: "_HFWeights", cfg: LlamaConfig) -> list[LlamaLayer]: - pre = "model.layers" - return [ - LlamaLayer( - ln1=w.get(f"{pre}.{i}.input_layernorm.weight"), - ln2=w.get(f"{pre}.{i}.post_attention_layernorm.weight"), - attn=_load_attn(w, i, cfg), - Wg=w.get(f"{pre}.{i}.mlp.gate_proj.weight"), - Wu=w.get(f"{pre}.{i}.mlp.up_proj.weight"), - Wd=w.get(f"{pre}.{i}.mlp.down_proj.weight"), - ) - for i in range(cfg.n_layer) - ] - - -def build_decomposed_lm( - embed: Array, - layers: list[LlamaLayer], - norm: Array, - lm_head: Array, - inv_freq: Array, - cfg: LlamaConfig, - sites: tuple[SiteSpec, ...], - scan_unroll: int = 1, - gather_fp8: bool = False, -) -> LlamaDecomposedModel: - """Assemble a `LlamaDecomposedModel` from the frozen full-model arrays + decomposition - config. `sites` must be canonical-ordered with dims matching `cfg`. `scan_unroll` / - `gather_fp8` are the `RuntimeConfig` compute knobs (1 / off = the default forward).""" - site_cs = tuple(SiteC(s.name, s.C) for s in sites) - assert sites == llama_site_specs(cfg, canonical_site_cs(site_cs)), ( - f"sites are not the canonical specs for this config: {sites}" - ) - return LlamaDecomposedModel( - embed=embed, - stacked=_stack_layers(layers), - n_layer=len(layers), - norm=norm, - lm_head=lm_head, - inv_freq=inv_freq, - sites=sites, - leading_axes=("sequence",), - eps=cfg.rms_norm_eps, - scan_unroll=scan_unroll, - gather_fp8=gather_fp8, ) -def load_decomposed_lm_from_hf( +def load_decomposed_llama_from_hf( model_name: str, cfg: LlamaConfig, sites: tuple[SiteSpec, ...], scan_unroll: int = 1, gather_fp8: bool = False, -) -> LlamaDecomposedModel: - """Load the Llama-8B `DecomposedModel`: the full frozen model (embedding, all blocks, - final norm, lm_head) as fields plus the static decomposition config (`sites`). Blocks - without a decomposed site run the plain frozen path. `scan_unroll` / `gather_fp8` are the - `RuntimeConfig` compute knobs.""" - w = _HFWeights(hf_snapshot_dir(model_name)) - return build_decomposed_lm( - embed=w.get("model.embed_tokens.weight"), - layers=_load_blocks(w, cfg), - norm=w.get("model.norm.weight"), - lm_head=w.get("lm_head.weight"), +) -> GLUDecomposedModel: + """The Llama family HF load: plain attention + llama3-rescaled RoPE frequencies.""" + return load_decomposed_glu_from_hf( + model_name, + cfg, + sites, + load_attn=lambda w, i: _load_attn(w, i, cfg), inv_freq=llama3_inv_freq(cfg), - cfg=cfg, - sites=sites, scan_unroll=scan_unroll, gather_fp8=gather_fp8, ) diff --git a/param_decomp/targets/llama_simple_mlp.py b/param_decomp/targets/llama_simple_mlp.py index dc71e6e63..7c177613f 100644 --- a/param_decomp/targets/llama_simple_mlp.py +++ b/param_decomp/targets/llama_simple_mlp.py @@ -43,7 +43,7 @@ from param_decomp.components import DecompVU, SiteC, SiteSpec, site_out from param_decomp.lm import run_stochastic_masked_output from param_decomp.losses import kl_per_position -from param_decomp.targets.llama8b import FrozenAttn +from param_decomp.targets.glu_transformer import FrozenAttn from vendored_jax.llama import rms_norm KIND_ORDER = ("q_proj", "k_proj", "v_proj", "o_proj", "c_fc", "down_proj") @@ -309,6 +309,17 @@ def shardings(self, mesh: Mesh) -> "SimpleMLPDecomposedModel": repl = NamedSharding(mesh, P()) return jax.tree.map(lambda _a: repl, self) + def attn_pattern( + self, + q_site: str, + q_flat: Float[Array, "b t qd"], + k_flat: Float[Array, "b t kvd"], + ) -> Float[Array, "b h t t"]: + """The target-owned attn-patterns eval recipe (`attn_patterns_eval`'s + `AttnPatternModel` protocol): that layer's own attention module's pattern.""" + layer = parse_site_name(q_site)[0] + return self.layers[layer].attn.pattern(q_flat, k_flat, self.inv_freq) + @staticmethod def recon_loss_fn(masked_output: Array, clean_output: Array) -> Array: return kl_per_position(masked_output, clean_output) diff --git a/param_decomp/targets/qwen3_8b.py b/param_decomp/targets/qwen3_8b.py new file mode 100644 index 000000000..5a511f154 --- /dev/null +++ b/param_decomp/targets/qwen3_8b.py @@ -0,0 +1,105 @@ +"""The Qwen3-8B-Base family target over the shared GLU-transformer machinery +(`targets/glu_transformer.py`). Qwen3's one structural delta vs Llama is QK-norm: +per-head RMSNorm on q/k between the projection and RoPE (HF `Qwen3Attention.q_norm` / +`k_norm`) — `Qwen3FrozenAttn` carries the norm weights as REQUIRED fields (never an +optional flag) and applies them in the `_prep_qk` hook. Decomposition semantics are +unchanged: a masked q/k site output feeds q_norm → RoPE → SDPA. + +JAX↔HF parity is pinned directly by `param_decomp/tests/qwen3_hf_parity/`.""" + +from typing import override + +import equinox as eqx +from jax.sharding import Mesh, NamedSharding +from jax.sharding import PartitionSpec as P +from jaxtyping import Array, Float + +from param_decomp.components import SiteSpec +from param_decomp.targets.glu_transformer import ( + FrozenAttn, + GLUConfig, + GLUDecomposedModel, + HFWeights, + default_inv_freq, + load_decomposed_glu_from_hf, +) +from vendored_jax.llama import rms_norm + + +def qwen3_8b_config() -> GLUConfig: + """Qwen3-8B(-Base) per HF `Qwen/Qwen3-8B-Base` config.json. HF's explicit `head_dim` + (128) coincides with `n_embd // n_head` for 8B, so the derived `GLUConfig.head_dim` + is exact (NOT true of every Qwen3 size — check before adding one).""" + return GLUConfig( + vocab_size=151936, + n_layer=36, + n_head=32, + n_kv_head=8, + n_embd=4096, + n_intermediate=12288, + rope_theta=1000000.0, + rms_norm_eps=1e-6, + max_position_embeddings=32768, + ) + + +class Qwen3FrozenAttn(FrozenAttn): + """GQA attention + Qwen3 QK-norm (per-head RMSNorm over head_dim, before RoPE).""" + + q_norm: Float[Array, " hd"] + k_norm: Float[Array, " hd"] + eps: float = eqx.field(static=True) + """RMSNorm eps for the QK-norm only (block norms use the model-level eps).""" + + def __check_init__(self): + assert self.eps > 0.0, "QK-norm needs a real eps" + + @override + def _prep_qk( + self, q: Float[Array, "b t h hd"], k: Float[Array, "b t kvh hd"] + ) -> tuple[Array, Array]: + return rms_norm(q, self.q_norm, self.eps), rms_norm(k, self.k_norm, self.eps) + + @override + def shardings(self, mesh: "Mesh") -> "Qwen3FrozenAttn": + """The shared projection layout plus replicated norm vectors.""" + repl = NamedSharding(mesh, P()) + placed = super().shardings(mesh) + assert isinstance(placed, Qwen3FrozenAttn) + return eqx.tree_at(lambda a: (a.q_norm, a.k_norm), placed, (repl, repl)) + + +def _load_attn(w: HFWeights, i: int, cfg: GLUConfig) -> Qwen3FrozenAttn: + pre = "model.layers" + return Qwen3FrozenAttn( + wq=w.get(f"{pre}.{i}.self_attn.q_proj.weight"), + wk=w.get(f"{pre}.{i}.self_attn.k_proj.weight"), + wv=w.get(f"{pre}.{i}.self_attn.v_proj.weight"), + wo=w.get(f"{pre}.{i}.self_attn.o_proj.weight"), + n_head=cfg.n_head, + n_kv_head=cfg.n_kv_head, + head_dim=cfg.head_dim, + n_rep=cfg.n_rep, + q_norm=w.get(f"{pre}.{i}.self_attn.q_norm.weight"), + k_norm=w.get(f"{pre}.{i}.self_attn.k_norm.weight"), + eps=cfg.rms_norm_eps, + ) + + +def load_decomposed_qwen3_from_hf( + model_name: str, + cfg: GLUConfig, + sites: tuple[SiteSpec, ...], + scan_unroll: int = 1, + gather_fp8: bool = False, +) -> GLUDecomposedModel: + """The Qwen3 family HF load: QK-norm attention + plain RoPE frequencies.""" + return load_decomposed_glu_from_hf( + model_name, + cfg, + sites, + load_attn=lambda w, i: _load_attn(w, i, cfg), + inv_freq=default_inv_freq(cfg.head_dim, cfg.rope_theta), + scan_unroll=scan_unroll, + gather_fp8=gather_fp8, + ) diff --git a/param_decomp/targets/target_aliases.py b/param_decomp/targets/target_aliases.py index 1af3ecdda..2e79a82fe 100644 --- a/param_decomp/targets/target_aliases.py +++ b/param_decomp/targets/target_aliases.py @@ -5,7 +5,7 @@ generic engine (`run_decomposition_training`) takes the model as `DecomposedModel`, so the core never names a toy.""" -from param_decomp.targets.llama8b import LlamaDecomposedModel +from param_decomp.targets.glu_transformer import GLUDecomposedModel from param_decomp.targets.llama_simple_mlp import SimpleMLPDecomposedModel -AnyDecomposedModel = LlamaDecomposedModel | SimpleMLPDecomposedModel +AnyDecomposedModel = GLUDecomposedModel | SimpleMLPDecomposedModel diff --git a/param_decomp/tests/equivalence/jax_equivalence.py b/param_decomp/tests/equivalence/jax_equivalence.py index cada369c6..584315c31 100644 --- a/param_decomp/tests/equivalence/jax_equivalence.py +++ b/param_decomp/tests/equivalence/jax_equivalence.py @@ -34,14 +34,14 @@ importance_minimality_terms, kl_per_position, ) -from param_decomp.targets.llama8b import ( # noqa: E402 +from param_decomp.targets.glu_transformer import ( # noqa: E402 MLP_KINDS, FrozenAttn, - LlamaDecomposedModel, - LlamaLayer, + GLUDecomposedModel, + GLULayer, _clean_mlp_out, # noqa: E402 (reference suffix forward in the chunk-plan gate check) build_decomposed_lm, - llama_site_specs, + glu_site_specs, mlp_family_site_cs, site_name, ) @@ -81,7 +81,7 @@ def _build(f: dict[str, np.ndarray]): C = int(f[f"Vg_0"].shape[-1]) # noqa: F541 decomp_layers = [ - LlamaLayer( + GLULayer( ln1=a(f"ln1_{i}"), ln2=a(f"ln2_{i}"), attn=_zero_attn(d, di), @@ -92,7 +92,7 @@ def _build(f: dict[str, np.ndarray]): for i in range(n_layers) ] tail = [ - LlamaLayer( + GLULayer( ln1=a(f"tail_ln1_{j}"), ln2=a(f"tail_ln2_{j}"), attn=_zero_attn(d, di), @@ -133,7 +133,7 @@ def _build(f: dict[str, np.ndarray]): lm_head=a("lm_head"), inv_freq=inv_freq, cfg=cfg, - sites=llama_site_specs(cfg, mlp_family_site_cs(0, n_layers - 1, C)), + sites=glu_site_specs(cfg, mlp_family_site_cs(0, n_layers - 1, C)), ) return lm, vu, n_layers @@ -210,7 +210,7 @@ def per_site(prefix: str) -> dict[str, jnp.ndarray]: def _suffix_with_split_mlp( - tgt: LlamaDecomposedModel, + tgt: GLUDecomposedModel, vu: DecompVU, resid: jnp.ndarray, live_layer: int, diff --git a/param_decomp/tests/equivalence/test_equivalence.py b/param_decomp/tests/equivalence/test_equivalence.py index 51873da41..0e7557b89 100644 --- a/param_decomp/tests/equivalence/test_equivalence.py +++ b/param_decomp/tests/equivalence/test_equivalence.py @@ -185,7 +185,7 @@ def test_sc_source_broadcasts_over_batch_in_masked_forward() -> None: `delta_mask[..., None]` / mask broadcast (`components.site_out`) the way the PPGD path does, and pins the broadcast AXIS: transposing the source to `(1, B, C+1)` (B != T) must break the forward rather than silently re-interpret the time axis as batch.""" - from param_decomp.targets.llama8b import MLP_KINDS, site_name + from param_decomp.targets.glu_transformer import MLP_KINDS, site_name from param_decomp.tests.equivalence.jax_equivalence import FP, _build f = _load_fixtures() diff --git a/param_decomp/tests/qwen3_hf_parity/test_qwen3_hf_parity.py b/param_decomp/tests/qwen3_hf_parity/test_qwen3_hf_parity.py index 6c0e239ae..3c3ed90bf 100644 --- a/param_decomp/tests/qwen3_hf_parity/test_qwen3_hf_parity.py +++ b/param_decomp/tests/qwen3_hf_parity/test_qwen3_hf_parity.py @@ -1,7 +1,7 @@ """Direct JAX-vs-HuggingFace parity for the Qwen3 target. The tiny test rebuilds `gen_hf_fixtures.py`'s seeded random `Qwen3ForCausalLM` as a -`LlamaDecomposedModel` (qk_norm) from the golden's own state dict, fp32, and matches HF's +`GLUDecomposedModel` (Qwen3 family) from the golden's own state dict, fp32, and matches HF's logits at fp32 tolerance — the exact-architecture check (QK-norm, GQA, plain RoPE at theta 1e6). The slow test loads the REAL `Qwen/Qwen3-8B-Base` snapshot through the production loader (`load_decomposed_lm_from_hf`, bf16) and matches HF's bf16 @@ -16,25 +16,28 @@ import numpy as np import pytest -from param_decomp.targets.llama8b import ( - FrozenAttn, - LlamaDecomposedModel, - LlamaLayer, +from param_decomp.targets.glu_transformer import ( + GLUConfig, + GLUDecomposedModel, + GLULayer, build_decomposed_lm, + default_inv_freq, hf_snapshot_dir, - load_decomposed_lm_from_hf, +) +from param_decomp.targets.qwen3_8b import ( + Qwen3FrozenAttn, + load_decomposed_qwen3_from_hf, qwen3_8b_config, ) -from vendored_jax.llama import LlamaConfig, llama3_inv_freq HERE = Path(__file__).resolve().parent -def _tiny_cfg_from_golden(config_json: str) -> LlamaConfig: +def _tiny_cfg_from_golden(config_json: str) -> GLUConfig: hf = json.loads(config_json) assert hf["head_dim"] * hf["num_attention_heads"] == hf["hidden_size"], hf assert not hf["tie_word_embeddings"] and not hf["attention_bias"], hf - return LlamaConfig( + return GLUConfig( vocab_size=hf["vocab_size"], n_layer=hf["num_hidden_layers"], n_head=hf["num_attention_heads"], @@ -44,21 +47,20 @@ def _tiny_cfg_from_golden(config_json: str) -> LlamaConfig: rope_theta=hf["rope_theta"], rms_norm_eps=hf["rms_norm_eps"], max_position_embeddings=hf["max_position_embeddings"], - qk_norm=True, ) -def _build_from_hf_state(cfg: LlamaConfig, sd: dict[str, np.ndarray]) -> LlamaDecomposedModel: - """`_load_blocks`/`_load_attn` mirrored over an in-memory fp32 HF state dict (the +def _build_from_hf_state(cfg: GLUConfig, sd: dict[str, np.ndarray]) -> GLUDecomposedModel: + """The Qwen3 family loader mirrored over an in-memory fp32 HF state dict (the production loader reads sharded safetensors and casts bf16; here we stay fp32 so the comparison isolates the MATH from rounding).""" a = lambda key: jnp.asarray(sd[key], jnp.float32) # noqa: E731 pre = "model.layers" layers = [ - LlamaLayer( + GLULayer( ln1=a(f"{pre}.{i}.input_layernorm.weight"), ln2=a(f"{pre}.{i}.post_attention_layernorm.weight"), - attn=FrozenAttn( + attn=Qwen3FrozenAttn( wq=a(f"{pre}.{i}.self_attn.q_proj.weight"), wk=a(f"{pre}.{i}.self_attn.k_proj.weight"), wv=a(f"{pre}.{i}.self_attn.v_proj.weight"), @@ -82,7 +84,7 @@ def _build_from_hf_state(cfg: LlamaConfig, sd: dict[str, np.ndarray]) -> LlamaDe layers=layers, norm=a("model.norm.weight"), lm_head=a("lm_head.weight"), - inv_freq=llama3_inv_freq(cfg), + inv_freq=default_inv_freq(cfg.head_dim, cfg.rope_theta), cfg=cfg, sites=(), ) @@ -107,7 +109,7 @@ def test_real_qwen3_8b_matches_hf(): except (AssertionError, FileNotFoundError, KeyError): pytest.skip("no local Qwen/Qwen3-8B-Base snapshot") f = np.load(HERE / "qwen3_8b_real_logits.npz") - lm = load_decomposed_lm_from_hf("Qwen/Qwen3-8B-Base", qwen3_8b_config(), ()) + lm = load_decomposed_qwen3_from_hf("Qwen/Qwen3-8B-Base", qwen3_8b_config(), ()) logits = np.asarray(lm.clean_output(jnp.asarray(f["tokens"]))[:, -1, :].astype(jnp.float32)) ref = f["final_logits"] # tie-aware argmax: the golden is bf16, so distinct plausible tokens often carry the diff --git a/param_decomp/tests/stacked_parity/test_stacked_parity.py b/param_decomp/tests/stacked_parity/test_stacked_parity.py index 4d05ec4d6..fb11be621 100644 --- a/param_decomp/tests/stacked_parity/test_stacked_parity.py +++ b/param_decomp/tests/stacked_parity/test_stacked_parity.py @@ -47,11 +47,11 @@ from param_decomp.lm import DecomposedModel from param_decomp.recon import StochasticSources, build_loss_terms, subset_chunk_plan from param_decomp.schedule import ScheduleConfig -from param_decomp.targets.llama8b import ( +from param_decomp.targets.glu_transformer import ( FrozenAttn, - LlamaLayer, + GLULayer, build_decomposed_lm, - llama_site_specs, + glu_site_specs, mlp_family_site_cs, ) from param_decomp.tests.test_llama8b import _tiny_cfg @@ -95,7 +95,7 @@ def a(key: str) -> jnp.ndarray: return jnp.asarray(f[key]) layers = [ - LlamaLayer( + GLULayer( ln1=a(f"tgt::layers.{i}.ln1"), ln2=a(f"tgt::layers.{i}.ln2"), attn=FrozenAttn( @@ -114,7 +114,7 @@ def a(key: str) -> jnp.ndarray: ) for i in range(first, cfg.n_layer) ] - sites = llama_site_specs(cfg, mlp_family_site_cs(first, last, C)) + sites = glu_site_specs(cfg, mlp_family_site_cs(first, last, C)) lm = build_decomposed_lm( embed=jnp.zeros((cfg.vocab_size, cfg.n_embd), jnp.float32), layers=layers, norm=a("tgt::norm"), lm_head=a("tgt::lm_head"), diff --git a/param_decomp/tests/test_arithmetic_eval.py b/param_decomp/tests/test_arithmetic_eval.py index e3fc1a52f..874990e0b 100644 --- a/param_decomp/tests/test_arithmetic_eval.py +++ b/param_decomp/tests/test_arithmetic_eval.py @@ -25,7 +25,7 @@ ) from param_decomp.ci_fn import lower_leaky_hard_sigmoid from param_decomp.components import init_decomp_vu -from param_decomp.targets.llama8b import llama_site_specs, mlp_family_site_cs +from param_decomp.targets.glu_transformer import glu_site_specs, mlp_family_site_cs from param_decomp.tests.test_llama8b import _tiny_cfg, _tiny_decomposed_lm from param_decomp.tests.test_slow_eval import _build_ci_fn from param_decomp.train import COMPUTE_DT, cast_floating @@ -39,7 +39,7 @@ def _tiny_setup(): cfg = _tiny_cfg() C = 8 - sites = llama_site_specs(cfg, mlp_family_site_cs(4, 5, C)) + sites = glu_site_specs(cfg, mlp_family_site_cs(4, 5, C)) lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) ci_fn = _build_ci_fn(lm, cfg.n_embd, jax.random.PRNGKey(2)) return cfg, lm, ci_fn, C diff --git a/param_decomp/tests/test_attn_patterns_eval.py b/param_decomp/tests/test_attn_patterns_eval.py index b32881a53..2984648e6 100644 --- a/param_decomp/tests/test_attn_patterns_eval.py +++ b/param_decomp/tests/test_attn_patterns_eval.py @@ -1,7 +1,7 @@ """CPU tests for the in-loop attention-pattern recon eval metrics. -Pins the metric-local `attn_pattern_for` target dispatch (shape + causal/softmax sanity on -both LM targets), the all-false-routes clean target (KL=0 when masked==clean), and the +Pins the target-owned `attn_pattern` recipe (shape + causal/softmax sanity on both LM +targets), the all-false-routes clean target (KL=0 when masked==clean), and the host-side token-weighted accumulation (combined = Σ sum_kl / Σ n_distributions). """ @@ -14,7 +14,6 @@ from param_decomp.attn_patterns_eval import ( accumulate_attn_patterns, - attn_pattern_for, attn_patterns_log_entries, make_ci_attn_patterns_step, make_stochastic_attn_patterns_step, @@ -27,9 +26,7 @@ ) from param_decomp.components import SiteC, SiteSpec, init_decomp_vu from param_decomp.lm import DecomposedModel, run_stochastic_masked_output -from param_decomp.targets.llama8b import ( - llama_site_specs, -) +from param_decomp.targets.glu_transformer import glu_site_specs from param_decomp.targets.llama_simple_mlp import ( canonical_site_cs as simple_canonical, ) @@ -66,16 +63,15 @@ def _build_ci_fn(lm: DecomposedModel, n_embd: int, key: jax.Array) -> CIFn: return build_ci_fn(arch, lm.sites, key) -def test_attn_pattern_for_shape_and_causal_softmax_llama(): +def test_attn_pattern_shape_and_causal_softmax_llama(): cfg = _llama_cfg() - sites = llama_site_specs(cfg, (SiteC("layers.0.self_attn.q_proj", 4),)) + sites = glu_site_specs(cfg, (SiteC("layers.0.self_attn.q_proj", 4),)) lm = _llama_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) - pattern_fn = attn_pattern_for(lm) b, t = 2, 9 qd, kvd = cfg.n_head * cfg.head_dim, cfg.n_kv_head * cfg.head_dim q = jax.random.normal(jax.random.PRNGKey(1), (b, t, qd)) k = jax.random.normal(jax.random.PRNGKey(2), (b, t, kvd)) - pattern = np.asarray(pattern_fn("layers.0.self_attn.q_proj", q, k)) + pattern = np.asarray(lm.attn_pattern("layers.0.self_attn.q_proj", q, k)) assert pattern.shape == (b, cfg.n_head, t, t) np.testing.assert_allclose(pattern.sum(-1), 1.0, rtol=1e-5, atol=1e-5) @@ -84,16 +80,15 @@ def test_attn_pattern_for_shape_and_causal_softmax_llama(): assert pattern.dtype == np.float32 -def test_attn_pattern_for_shape_and_causal_softmax_simple_mlp(): +def test_attn_pattern_shape_and_causal_softmax_simple_mlp(): cfg = _simple_cfg() sites = simple_site_specs(cfg, (SiteC("h.0.attn.q_proj", 4),)) lm = _simple_decomposed_model(cfg, sites, jax.random.PRNGKey(0)) - pattern_fn = attn_pattern_for(lm) b, t = 2, 7 qd, kvd = cfg.n_head * cfg.head_dim, cfg.n_kv_head * cfg.head_dim q = jax.random.normal(jax.random.PRNGKey(1), (b, t, qd)) k = jax.random.normal(jax.random.PRNGKey(2), (b, t, kvd)) - pattern = np.asarray(pattern_fn("h.0.attn.q_proj", q, k)) + pattern = np.asarray(lm.attn_pattern("h.0.attn.q_proj", q, k)) assert pattern.shape == (b, cfg.n_head, t, t) np.testing.assert_allclose(pattern.sum(-1), 1.0, rtol=1e-5, atol=1e-5) @@ -101,11 +96,6 @@ def test_attn_pattern_for_shape_and_causal_softmax_simple_mlp(): assert np.allclose(pattern[:, :, upper], 0.0) -def test_attn_pattern_for_refuses_non_attention_target(): - with pytest.raises(AssertionError, match="only applies to attention targets"): - attn_pattern_for(object()) - - def _llama_attn_setup(): cfg = _llama_cfg() site_cs = ( @@ -114,9 +104,9 @@ def _llama_attn_setup(): SiteC("layers.5.self_attn.q_proj", 8), SiteC("layers.5.self_attn.k_proj", 6), ) - from param_decomp.targets.llama8b import canonical_site_cs + from param_decomp.targets.glu_transformer import canonical_site_cs - sites = llama_site_specs(cfg, canonical_site_cs(site_cs)) + sites = glu_site_specs(cfg, canonical_site_cs(site_cs)) lm = _llama_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) components = init_decomp_vu(sites, jax.random.PRNGKey(1)) ci_fn = _build_ci_fn(lm, cfg.n_embd, jax.random.PRNGKey(2)) @@ -125,8 +115,7 @@ def _llama_attn_setup(): def test_ci_step_clean_equals_masked_when_ci_all_one_gives_finite_kl(): cfg, lm, components, ci_fn = _llama_attn_setup() - pattern_fn = attn_pattern_for(lm) - step = make_ci_attn_patterns_step(lm, pattern_fn) + step = make_ci_attn_patterns_step(lm) b, t = 2, 12 residual = jax.random.randint(jax.random.PRNGKey(4), (b, t), 0, cfg.vocab_size) @@ -142,8 +131,7 @@ def test_ci_step_clean_equals_masked_when_ci_all_one_gives_finite_kl(): def test_accumulate_is_token_weighted_and_combines(): cfg, lm, components, ci_fn = _llama_attn_setup() - pattern_fn = attn_pattern_for(lm) - step = make_ci_attn_patterns_step(lm, pattern_fn) + step = make_ci_attn_patterns_step(lm) res_a = jax.random.randint(jax.random.PRNGKey(4), (2, 10), 0, cfg.vocab_size) res_b = jax.random.randint(jax.random.PRNGKey(5), (2, 10), 0, cfg.vocab_size) @@ -173,9 +161,8 @@ def test_accumulate_is_token_weighted_and_combines(): def test_stochastic_step_runs_and_scales_n_by_draws(): cfg, lm, components, ci_fn = _llama_attn_setup() - pattern_fn = attn_pattern_for(lm) n_draws = 3 - step = make_stochastic_attn_patterns_step(lm, pattern_fn, n_draws) + step = make_stochastic_attn_patterns_step(lm, n_draws) b, t = 2, 8 residual = jax.random.randint(jax.random.PRNGKey(4), (b, t), 0, cfg.vocab_size) @@ -192,7 +179,7 @@ def test_simple_mlp_step_runs_end_to_end(): lm = _simple_decomposed_model(cfg, sites, jax.random.PRNGKey(0)) components = init_decomp_vu(sites, jax.random.PRNGKey(1)) ci_fn = _build_ci_fn(lm, cfg.n_embd, jax.random.PRNGKey(2)) - step = make_ci_attn_patterns_step(lm, attn_pattern_for(lm)) + step = make_ci_attn_patterns_step(lm) b, t = 2, 10 residual = jax.random.randint(jax.random.PRNGKey(4), (b, t), 0, cfg.vocab_size) @@ -293,8 +280,7 @@ def test_attn_patterns_steps_reject_positionless_target(): leading_axes=(), ) assert lm.leading_axes == () - dummy_pattern_fn = lambda site, q, k: q # noqa: E731 — never reached; assert fires first with pytest.raises(AssertionError, match="LM-only"): - make_ci_attn_patterns_step(lm, dummy_pattern_fn) + make_ci_attn_patterns_step(lm) with pytest.raises(AssertionError, match="LM-only"): - make_stochastic_attn_patterns_step(lm, dummy_pattern_fn, 1) + make_stochastic_attn_patterns_step(lm, 1) diff --git a/param_decomp/tests/test_checkpoint.py b/param_decomp/tests/test_checkpoint.py index ea4cddbf2..3e6a9a382 100644 --- a/param_decomp/tests/test_checkpoint.py +++ b/param_decomp/tests/test_checkpoint.py @@ -41,11 +41,11 @@ from param_decomp.recon import build_loss_terms from param_decomp.schedule import ScheduleConfig from param_decomp.sharding import hsdp_mesh -from param_decomp.targets.llama8b import ( - llama_site_specs, +from param_decomp.targets.glu_transformer import ( + glu_site_specs, mlp_family_site_cs, ) -from param_decomp.targets.llama8b_sharding import ( +from param_decomp.targets.glu_transformer_sharding import ( init_ci_fn_placed, init_decomp_vu_placed, init_sources_sharded, @@ -97,7 +97,7 @@ def _chunkwise_arch(lm: DecomposedModel, cfg: LlamaConfig) -> ChunkwiseTransform def _build(seed: int): cfg = _tiny_cfg() C, seq = 8, 16 - sites = llama_site_specs(cfg, mlp_family_site_cs(3, 4, C)) + sites = glu_site_specs(cfg, mlp_family_site_cs(3, 4, C)) lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) vu = init_decomp_vu(sites, jax.random.PRNGKey(seed)) ci_fn = build_ci_fn(_chunkwise_arch(lm, cfg), lm.sites, jax.random.PRNGKey(seed + 1)) @@ -238,7 +238,7 @@ def _build_sharded(seed: int, mesh: Mesh): cfg = _tiny_cfg() n = mesh.devices.size C, seq = 8 * n, 16 - sites = llama_site_specs(cfg, mlp_family_site_cs(3, 4, C)) + sites = glu_site_specs(cfg, mlp_family_site_cs(3, 4, C)) lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) vu = init_decomp_vu_placed(sites, jax.random.PRNGKey(seed), mesh) ci_fn = init_ci_fn_placed( diff --git a/param_decomp/tests/test_checkpoint_production_topology.py b/param_decomp/tests/test_checkpoint_production_topology.py index 85b3ef3a3..02d94dd37 100644 --- a/param_decomp/tests/test_checkpoint_production_topology.py +++ b/param_decomp/tests/test_checkpoint_production_topology.py @@ -8,7 +8,7 @@ topology: * the V/U + Adam states are C-SHARDED and the sources/moments REPLICATED over a - multi-device `dp` mesh (`llama8b_sharding.py`), exactly as `init_train_state` places + multi-device `dp` mesh (`glu_transformer_sharding.py`), exactly as `init_train_state` places them — so the test exercises the sharded save/restore path, not the all-on-one path; * MULTIPLE persistent terms (SPEC S23: one `adversaries` entry per term), so a per-term moment tree that got dropped would surface; @@ -50,8 +50,8 @@ from param_decomp.recon import build_loss_terms, persistent_configs from param_decomp.run import _ensure_global from param_decomp.schedule import ScheduleConfig -from param_decomp.targets.llama8b import llama_site_specs, mlp_family_site_cs -from param_decomp.targets.llama8b_sharding import ( +from param_decomp.targets.glu_transformer import glu_site_specs, mlp_family_site_cs +from param_decomp.targets.glu_transformer_sharding import ( hsdp_mesh, init_ci_fn_placed, init_decomp_vu_placed, @@ -89,7 +89,7 @@ def _build_sharded(seed: int): mesh = hsdp_mesh() cfg = _tiny_cfg() C, seq = 8, 16 - sites = llama_site_specs(cfg, mlp_family_site_cs(3, 4, C)) + sites = glu_site_specs(cfg, mlp_family_site_cs(3, 4, C)) lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) by_layer: dict[int, list[str]] = {} diff --git a/param_decomp/tests/test_config.py b/param_decomp/tests/test_config.py index 7365bca2d..ec9504dc8 100644 --- a/param_decomp/tests/test_config.py +++ b/param_decomp/tests/test_config.py @@ -21,7 +21,7 @@ build_loss_terms, persistent_configs, ) -from param_decomp.targets.llama8b import mlp_family_site_cs +from param_decomp.targets.glu_transformer import mlp_family_site_cs from param_decomp_lab.experiments.lm.config import ( LMExperimentConfig, assert_supported_weights_dtype, @@ -209,7 +209,7 @@ def with_ppgd_fields(**fields: object): def test_unsupported_model_family_refuses_and_supported_families_dispatch(): - """E23: only the `llama8b.HF_MODEL_CONFIGS` models (`hf`/`hf_weights_in_vendored` + """E23: only the `HF_MODEL_FAMILIES` models (`hf`/`hf_weights_in_vendored` → `TargetConfig`; Llama-3.1-8B and Qwen3-8B-Base) and `LlamaSimpleMLP` (`pretrained` → `LlamaSimpleMLPTargetConfig`) convert; every other family is refused at convert time. The schema's `LMTargetSpec` discriminated union still validates a GPT-2 spec diff --git a/param_decomp/tests/test_eval.py b/param_decomp/tests/test_eval.py index c28e45a98..624af8cc3 100644 --- a/param_decomp/tests/test_eval.py +++ b/param_decomp/tests/test_eval.py @@ -22,7 +22,7 @@ from param_decomp.components import SiteSpec from param_decomp.eval import make_eval_step, next_token_cross_entropy from param_decomp.lm import DecomposedModel, run_stochastic_masked_output -from param_decomp.targets.llama8b import llama_site_specs, mlp_family_site_cs +from param_decomp.targets.glu_transformer import glu_site_specs, mlp_family_site_cs from param_decomp.tests.test_llama8b import ( _tiny_cfg, _tiny_decomposed_lm, @@ -148,7 +148,7 @@ def test_next_token_cross_entropy_matches_manual(): def test_eval_step_keys_identities_and_determinism(): cfg = _tiny_cfg() C = 8 - sites = llama_site_specs(cfg, mlp_family_site_cs(4, 5, C)) + sites = glu_site_specs(cfg, mlp_family_site_cs(4, 5, C)) lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) from param_decomp.components import init_decomp_vu @@ -219,7 +219,7 @@ def test_eval_step_fresh_pgd_probe(): random source it starts from (ascent on a fixed objective), and be deterministic.""" cfg = _tiny_cfg() C = 8 - sites = llama_site_specs(cfg, mlp_family_site_cs(4, 4, C)) + sites = glu_site_specs(cfg, mlp_family_site_cs(4, 4, C)) lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) from param_decomp.components import init_decomp_vu @@ -281,7 +281,7 @@ def test_eval_step_fresh_pgd_probe_device_count_invariant(): n_dev = mesh.devices.size cfg = _tiny_cfg() - sites = llama_site_specs(cfg, mlp_family_site_cs(4, 4, 8)) + sites = glu_site_specs(cfg, mlp_family_site_cs(4, 4, 8)) lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) vu = init_decomp_vu(sites, jax.random.PRNGKey(1)) ci_fn = _build_ci_fn(lm, cfg.n_embd, jax.random.PRNGKey(2)) @@ -317,7 +317,7 @@ def test_eval_step_l0_groups_sum_member_sites(): """torch CI_L0 `groups` parity: a group's L0 is the SUM of its fnmatch-member sites' L0s; an unmatched pattern refuses at build time.""" cfg = _tiny_cfg() - sites = llama_site_specs(cfg, mlp_family_site_cs(4, 5, 8)) + sites = glu_site_specs(cfg, mlp_family_site_cs(4, 5, 8)) lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) from param_decomp.components import init_decomp_vu @@ -362,7 +362,7 @@ def test_eval_step_n_valid_rows_masks_pad_tail(): objective). The stochastic variants draw shape-dependent randomness, so they only agree in expectation and are excluded.""" cfg = _tiny_cfg() - sites = llama_site_specs(cfg, mlp_family_site_cs(4, 5, 8)) + sites = glu_site_specs(cfg, mlp_family_site_cs(4, 5, 8)) lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) from param_decomp.components import init_decomp_vu diff --git a/param_decomp/tests/test_fnmatch_site_order.py b/param_decomp/tests/test_fnmatch_site_order.py index 4955027a3..3cd37e1b3 100644 --- a/param_decomp/tests/test_fnmatch_site_order.py +++ b/param_decomp/tests/test_fnmatch_site_order.py @@ -26,7 +26,7 @@ import pytest from param_decomp.components import SiteC -from param_decomp.targets import llama8b, llama_simple_mlp +from param_decomp.targets import glu_transformer, llama_simple_mlp def _named_modules_order( @@ -72,8 +72,8 @@ def _llama8b_module_names(n_layer: int) -> tuple[str, ...]: "layers", "self_attn", "mlp", - tuple(f"{k}_proj" for k in llama8b.KIND_ORDER), - tuple(f"{k}_proj" for k in llama8b.ATTN_KINDS), + tuple(f"{k}_proj" for k in glu_transformer.KIND_ORDER), + tuple(f"{k}_proj" for k in glu_transformer.ATTN_KINDS), n_layer, ) @@ -99,7 +99,7 @@ def test_llama8b_single_layer_mlp_set_matches_torch(): SiteC("layers.18.mlp.up_proj", 24576), SiteC("layers.18.mlp.down_proj", 24576), ) - jax_sites = llama8b.canonical_site_cs(targets) + jax_sites = glu_transformer.canonical_site_cs(targets) torch_sites = _torch_resolve(targets, _llama8b_module_names(32)) assert set(jax_sites) == set(torch_sites) diff --git a/param_decomp/tests/test_fresh_pgd_cscope_dp_invariance.py b/param_decomp/tests/test_fresh_pgd_cscope_dp_invariance.py index 2e7b8c949..75b96f004 100644 --- a/param_decomp/tests/test_fresh_pgd_cscope_dp_invariance.py +++ b/param_decomp/tests/test_fresh_pgd_cscope_dp_invariance.py @@ -31,8 +31,8 @@ from param_decomp.components import init_decomp_vu from param_decomp.losses import kl_per_position from param_decomp.sharding import hsdp_mesh, shard_batch -from param_decomp.targets.llama8b import ( - llama_site_specs, +from param_decomp.targets.glu_transformer import ( + glu_site_specs, mlp_family_site_cs, ) from param_decomp.tests.test_llama8b import _tiny_cfg, _tiny_decomposed_lm @@ -51,7 +51,7 @@ def _ascend_cscope_source( cfg = _tiny_cfg() first_layer = 3 C, seq, gbatch = 8, 16, 8 - sites = llama_site_specs(cfg, mlp_family_site_cs(first_layer, first_layer + 2, C)) + sites = glu_site_specs(cfg, mlp_family_site_cs(first_layer, first_layer + 2, C)) lm = _tiny_decomposed_lm(cfg, sites, random.PRNGKey(0)) components = jax.tree.map( lambda x: jax.lax.stop_gradient(x), init_decomp_vu(sites, random.PRNGKey(1)) diff --git a/param_decomp/tests/test_llama8b.py b/param_decomp/tests/test_llama8b.py index fc9ec3717..f8598c5e2 100644 --- a/param_decomp/tests/test_llama8b.py +++ b/param_decomp/tests/test_llama8b.py @@ -6,8 +6,6 @@ without real weights or a GPU. """ -from collections.abc import Callable - import equinox as eqx import jax import jax.numpy as jnp @@ -39,13 +37,13 @@ from param_decomp.lm import DecomposedModel from param_decomp.recon import build_loss_terms from param_decomp.schedule import ScheduleConfig -from param_decomp.targets.llama8b import ( +from param_decomp.targets.glu_transformer import ( FrozenAttn, - LlamaDecomposedModel, - LlamaLayer, + GLUDecomposedModel, + GLULayer, build_decomposed_lm, canonical_site_cs, - llama_site_specs, + glu_site_specs, mlp_family_site_cs, parse_site_name, site_name, @@ -72,26 +70,10 @@ def _tiny_cfg() -> LlamaConfig: ) -def _tiny_qwen_cfg() -> LlamaConfig: - """Qwen3-shaped tiny config: QK-norm, plain RoPE (same dims as `_tiny_cfg`).""" - return LlamaConfig( - vocab_size=64, - n_layer=8, - n_head=4, - n_kv_head=2, - n_embd=32, - n_intermediate=64, - rope_theta=1000000.0, - rms_norm_eps=1e-6, - max_position_embeddings=512, - qk_norm=True, - ) - - def _tiny_decomposed_lm( cfg: LlamaConfig, sites: tuple[SiteSpec, ...], key: jax.Array -) -> LlamaDecomposedModel: - """A tiny random `LlamaDecomposedModel` (random embedding + full frozen layer stack +) -> GLUDecomposedModel: + """A tiny random `GLUDecomposedModel` (random embedding + full frozen layer stack plus the decomposition `sites`) — the CPU-test analog of `load_decomposed_lm_from_hf`.""" ks = iter(jax.random.split(key, 1024)) d, di = cfg.n_embd, cfg.n_intermediate @@ -101,21 +83,13 @@ def n(shape: tuple[int, ...], s: float | None = None) -> jax.Array: return jax.random.normal(next(ks), shape) * (s or d**-0.5) def fattn(): - weights = (n((qd, d)), n((kvd, d)), n((kvd, d)), n((d, qd))) - if cfg.qk_norm: - # non-trivial norm weights (≈1) so a wrong/missing norm application shows - q_norm = 1.0 + 0.1 * jax.random.normal(next(ks), (cfg.head_dim,)) - k_norm = 1.0 + 0.1 * jax.random.normal(next(ks), (cfg.head_dim,)) - return FrozenAttn( - *weights, cfg.n_head, cfg.n_kv_head, cfg.head_dim, cfg.n_rep, - q_norm=q_norm, k_norm=k_norm, eps=cfg.rms_norm_eps, - ) # fmt: skip - return FrozenAttn(*weights, cfg.n_head, cfg.n_kv_head, cfg.head_dim, cfg.n_rep) + return FrozenAttn( + n((qd, d)), n((kvd, d)), n((kvd, d)), n((d, qd)), + cfg.n_head, cfg.n_kv_head, cfg.head_dim, cfg.n_rep, + ) # fmt: skip def layer(): - return LlamaLayer( - jnp.ones((d,)), jnp.ones((d,)), fattn(), n((di, d)), n((di, d)), n((d, di)) - ) + return GLULayer(jnp.ones((d,)), jnp.ones((d,)), fattn(), n((di, d)), n((di, d)), n((d, di))) return build_decomposed_lm( embed=n((cfg.vocab_size, d), 0.02), @@ -129,7 +103,7 @@ def layer(): def _mlp_sites(cfg: LlamaConfig, first: int, last: int, C: int) -> tuple[SiteSpec, ...]: - return llama_site_specs(cfg, mlp_family_site_cs(first, last, C)) + return glu_site_specs(cfg, mlp_family_site_cs(first, last, C)) _QVDOWN_SITE_CS = ( @@ -187,10 +161,10 @@ def test_site_name_helpers(): canonical_site_cs((SiteC("layers.3.mlp.up_proj", 4), SiteC("layers.3.mlp.up_proj", 8))) -def test_llama_site_specs_dims(): +def test_glu_site_specs_dims(): cfg = _tiny_cfg() qd, kvd = cfg.n_head * cfg.head_dim, cfg.n_kv_head * cfg.head_dim - specs = llama_site_specs( + specs = glu_site_specs( cfg, canonical_site_cs( tuple(SiteC(site_name(2, kind), 4) for kind in ("q", "k", "v", "o", "gate", "down")) @@ -207,7 +181,7 @@ def dims(s: SiteSpec) -> tuple[int, int, int]: assert dims(by_name["layers.2.mlp.gate_proj"]) == (cfg.n_embd, cfg.n_intermediate, 4) assert dims(by_name["layers.2.mlp.down_proj"]) == (cfg.n_intermediate, cfg.n_embd, 4) with pytest.raises(AssertionError, match="canonical"): - llama_site_specs(cfg, tuple(reversed(mlp_family_site_cs(2, 2, 4)))) + glu_site_specs(cfg, tuple(reversed(mlp_family_site_cs(2, 2, 4)))) def test_masked_component_activations_pre_mask_and_matches_outputs(): @@ -237,10 +211,9 @@ def test_masked_component_activations_pre_mask_and_matches_outputs(): assert jnp.allclose(outputs[s].astype(jnp.float32), expected, atol=1e-2), s -@pytest.mark.parametrize("tiny_cfg", [_tiny_cfg, _tiny_qwen_cfg], ids=["llama", "qwen"]) @pytest.mark.parametrize("first,last", [(4, 4), (3, 6)]) -def test_clean_path_and_masked_identity(first: int, last: int, tiny_cfg: Callable[[], LlamaConfig]): - cfg = tiny_cfg() +def test_clean_path_and_masked_identity(first: int, last: int): + cfg = _tiny_cfg() C = 8 sites = _mlp_sites(cfg, first, last, C) lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) @@ -284,10 +257,9 @@ def test_clean_path_and_masked_identity(first: int, last: int, tiny_cfg: Callabl assert all(v.dtype == jnp.float32 for v in deltas.values()) -@pytest.mark.parametrize("tiny_cfg", [_tiny_cfg, _tiny_qwen_cfg], ids=["llama", "qwen"]) -def test_attention_sites_clean_and_masked_identity(tiny_cfg: Callable[[], LlamaConfig]): - cfg = tiny_cfg() - sites = llama_site_specs(cfg, _QVDOWN_SITE_CS) +def test_attention_sites_clean_and_masked_identity(): + cfg = _tiny_cfg() + sites = glu_site_specs(cfg, _QVDOWN_SITE_CS) lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) vu = init_decomp_vu(sites, jax.random.PRNGKey(1)) b, t = 2, 16 @@ -356,7 +328,7 @@ def test_attention_sites_clean_and_masked_identity(tiny_cfg: Callable[[], LlamaC def test_o_site_masks_attention_output(): cfg = _tiny_cfg() o_site = "layers.4.self_attn.o_proj" - sites = llama_site_specs(cfg, (SiteC(o_site, 8),)) + sites = glu_site_specs(cfg, (SiteC(o_site, 8),)) lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) vu = init_decomp_vu(sites, jax.random.PRNGKey(1)) b, t = 2, 16 @@ -380,22 +352,15 @@ def test_o_site_masks_attention_output(): @pytest.mark.parametrize( - "tiny_cfg,site_cs", - [ - (_tiny_cfg, mlp_family_site_cs(4, 4, 8)), - (_tiny_cfg, mlp_family_site_cs(3, 6, 8)), - (_tiny_cfg, _QVDOWN_SITE_CS), - (_tiny_qwen_cfg, _QVDOWN_SITE_CS), - ], - ids=["mlp_l4", "mlp_l3_6", "qv_down_l4", "qwen_qv_down_l4"], + "site_cs", + [mlp_family_site_cs(4, 4, 8), mlp_family_site_cs(3, 6, 8), _QVDOWN_SITE_CS], + ids=["mlp_l4", "mlp_l3_6", "qv_down_l4"], ) -def test_step_trains_and_has_vpd_signature( - tiny_cfg: Callable[[], LlamaConfig], site_cs: tuple[SiteC, ...] -): - cfg = tiny_cfg() +def test_step_trains_and_has_vpd_signature(site_cs: tuple[SiteC, ...]): + cfg = _tiny_cfg() seq = 16 n_warmup = 2 - sites = llama_site_specs(cfg, site_cs) + sites = glu_site_specs(cfg, site_cs) lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) vu = init_decomp_vu(sites, jax.random.PRNGKey(1)) ci_fn = _build_chunkwise_ci_fn(lm, jax.random.PRNGKey(2), n_blocks=2) @@ -482,34 +447,6 @@ def test_step_trains_and_has_vpd_signature( assert state.ci_fn.chunks.in_proj_w.dtype == jnp.float32 -def test_qwen_qk_norm_is_load_bearing(): - """The QK-norm actually enters the forward: scaling `q_norm` changes the logits, and - the pre-projection site inputs (`read_activations`) stay norm-independent (q/k sites - decompose BEFORE the norm — the masked site output feeds q_norm → RoPE → SDPA).""" - cfg = _tiny_qwen_cfg() - sites = llama_site_specs(cfg, _QVDOWN_SITE_CS) - lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) - tokens = jax.random.randint(jax.random.PRNGKey(2), (2, 16), 0, cfg.vocab_size) - - q_norm = lm.stacked.attn.q_norm - assert q_norm is not None and q_norm.shape == (cfg.n_layer, cfg.head_dim) - # scale ONLY layer 4's q_norm so the residual ENTERING layer 4 stays untouched - scaled = eqx.tree_at(lambda m: m.stacked.attn.q_norm, lm, q_norm.at[4].mul(2.0)) - assert not jnp.allclose(lm.clean_output(tokens), scaled.clean_output(tokens), atol=1e-4) - - # q/k/v site inputs are the post-LN1 residual, untouched by the qk-norm - taps = lm.read_activations(tokens, lm.site_names) - scaled_taps = scaled.read_activations(tokens, lm.site_names) - q_site = "layers.4.self_attn.q_proj" - assert jnp.array_equal(taps[q_site], scaled_taps[q_site]) - # o's site input is the attention output, which the norm DOES shape - o_taps = lm.read_activations(tokens, ("layers.4.self_attn.o_proj",)) - o_taps_scaled = scaled.read_activations(tokens, ("layers.4.self_attn.o_proj",)) - assert not jnp.allclose( - o_taps["layers.4.self_attn.o_proj"], o_taps_scaled["layers.4.self_attn.o_proj"] - ) - - def test_faith_warmup_decreases_faith(): cfg = _tiny_cfg() sites = _mlp_sites(cfg, 3, 4, 8) @@ -529,7 +466,7 @@ def test_faith_warmup_decreases_faith(): def test_decomp_vu_shapes_fp32(): cfg = _tiny_cfg() - sites = llama_site_specs(cfg, _QVDOWN_SITE_CS) + sites = glu_site_specs(cfg, _QVDOWN_SITE_CS) vu = init_decomp_vu(sites, jax.random.PRNGKey(1)) d, di = cfg.n_embd, cfg.n_intermediate qd, kvd = cfg.n_head * cfg.head_dim, cfg.n_kv_head * cfg.head_dim @@ -555,7 +492,7 @@ def test_fresh_pgd_adversary_step(): SiteC("layers.4.mlp.down_proj", 12), ) seq = 16 - sites = llama_site_specs(cfg, site_cs) + sites = glu_site_specs(cfg, site_cs) lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) opt_vu = optax.chain(optax.clip_by_global_norm(0.01), optax.adamw(1e-3, weight_decay=0.0)) opt_ci = optax.adamw(1e-3, weight_decay=0.0) diff --git a/param_decomp/tests/test_llama_simple_mlp.py b/param_decomp/tests/test_llama_simple_mlp.py index 567e524ea..b23f7e744 100644 --- a/param_decomp/tests/test_llama_simple_mlp.py +++ b/param_decomp/tests/test_llama_simple_mlp.py @@ -37,7 +37,7 @@ from param_decomp.lm import DecomposedModel from param_decomp.recon import build_loss_terms from param_decomp.schedule import ScheduleConfig -from param_decomp.targets.llama8b import FrozenAttn +from param_decomp.targets.glu_transformer import FrozenAttn from param_decomp.targets.llama_simple_mlp import ( LlamaSimpleMLPConfig, SimpleMLPDecomposedModel, diff --git a/param_decomp/tests/test_qwen3_8b.py b/param_decomp/tests/test_qwen3_8b.py new file mode 100644 index 000000000..25b99d346 --- /dev/null +++ b/param_decomp/tests/test_qwen3_8b.py @@ -0,0 +1,233 @@ +"""CPU tests for the Qwen3 family target at a tiny config. + +Mirrors `test_llama8b.py` over the shared GLU-transformer machinery: the +`DecomposedModel` contract (clean == all-frozen masked forward, mask=1 identity, ablation +changes logits) and one full SPEC step — plus the family-specific pin that the QK-norm is +actually load-bearing in the forward. Direct HF parity lives in `tests/qwen3_hf_parity/`. +""" + +import equinox as eqx +import jax +import jax.numpy as jnp + +from param_decomp.components import SiteC, SiteSpec, init_decomp_vu +from param_decomp.targets.glu_transformer import ( + GLUConfig, + GLUDecomposedModel, + GLULayer, + build_decomposed_lm, + default_inv_freq, + glu_site_specs, + parse_site_name, +) +from param_decomp.targets.qwen3_8b import Qwen3FrozenAttn + + +def _tiny_cfg() -> GLUConfig: + """Qwen3-shaped tiny config: QK-norm attention, plain RoPE.""" + return GLUConfig( + vocab_size=64, + n_layer=8, + n_head=4, + n_kv_head=2, + n_embd=32, + n_intermediate=64, + rope_theta=1000000.0, + rms_norm_eps=1e-6, + max_position_embeddings=512, + ) + + +def _tiny_decomposed_qwen( + cfg: GLUConfig, sites: tuple[SiteSpec, ...], key: jax.Array +) -> GLUDecomposedModel: + """A tiny random Qwen3-family model — the CPU-test analog of + `load_decomposed_qwen3_from_hf` (`test_llama8b._tiny_decomposed_lm`'s sibling).""" + ks = iter(jax.random.split(key, 1024)) + d, di = cfg.n_embd, cfg.n_intermediate + qd, kvd = cfg.n_head * cfg.head_dim, cfg.n_kv_head * cfg.head_dim + + def n(shape: tuple[int, ...], s: float | None = None) -> jax.Array: + return jax.random.normal(next(ks), shape) * (s or d**-0.5) + + def fattn(): + return Qwen3FrozenAttn( + n((qd, d)), n((kvd, d)), n((kvd, d)), n((d, qd)), + cfg.n_head, cfg.n_kv_head, cfg.head_dim, cfg.n_rep, + # non-trivial norm weights (≈1) so a wrong/missing norm application shows + q_norm=1.0 + 0.1 * jax.random.normal(next(ks), (cfg.head_dim,)), + k_norm=1.0 + 0.1 * jax.random.normal(next(ks), (cfg.head_dim,)), + eps=cfg.rms_norm_eps, + ) # fmt: skip + + def layer(): + return GLULayer(jnp.ones((d,)), jnp.ones((d,)), fattn(), n((di, d)), n((di, d)), n((d, di))) + + return build_decomposed_lm( + embed=n((cfg.vocab_size, d), 0.02), + layers=[layer() for _ in range(cfg.n_layer)], + norm=jnp.ones((d,)), + lm_head=n((cfg.vocab_size, d), 0.02), + inv_freq=default_inv_freq(cfg.head_dim, cfg.rope_theta), + cfg=cfg, + sites=sites, + ) + + +_QVDOWN_SITE_CS = ( + SiteC("layers.4.self_attn.q_proj", 8), + SiteC("layers.4.self_attn.v_proj", 12), + SiteC("layers.4.mlp.down_proj", 8), +) +"""Attention + MLP sites on one layer with heterogeneous per-site C.""" + + +def test_clean_path_and_masked_identity(): + cfg = _tiny_cfg() + sites = glu_site_specs(cfg, _QVDOWN_SITE_CS) + lm = _tiny_decomposed_qwen(cfg, sites, jax.random.PRNGKey(0)) + vu = init_decomp_vu(sites, jax.random.PRNGKey(1)) + b, t = 2, 16 + tokens = jax.random.randint(jax.random.PRNGKey(2), (b, t), 0, cfg.vocab_size) + + clean = lm.clean_output(tokens) + assert clean.shape == (b, t, cfg.vocab_size) + + # SPEC S2: a masked forward with NO live sites is the frozen path — bit-identical. + none_masked = lm.masked_output( + lm.prepare_compute_weights(vu), tokens, {}, {}, None, (), True, remat=False + ) + assert jnp.array_equal(clean, none_masked), "live=() must be the exact frozen path" + + # mask=1 identity through the QK-norm (V@U + (W − V@U); exact only in exact math). + names = lm.site_names + ones_masks = {s.name: jnp.ones((b, t, s.C)) for s in lm.sites} + ones_delta = {s: jnp.ones((b, t)) for s in names} + full = lm.masked_output( + lm.prepare_compute_weights(vu), tokens, ones_masks, ones_delta, None, names, True, + remat=False, + ) # fmt: skip + assert jnp.allclose(clean, full, atol=1e-4), "mask=1 identity drifted" + + # zero-mask + zero-delta on layer 4's decomposed sites must CHANGE the logits (q is + # live on the attention path ahead of QK-norm/RoPE/SDPA). + zero_mask = {s.name: jnp.zeros((b, t, s.C)) for s in lm.sites} + zero_delta = {s: jnp.zeros((b, t)) for s in names} + ablated = lm.masked_output( + lm.prepare_compute_weights(vu), tokens, zero_mask, zero_delta, None, names, True, + remat=False, + ) # fmt: skip + assert not jnp.allclose(clean, ablated, atol=1e-4), "ablating layer 4 did nothing" + + +def test_qk_norm_is_load_bearing(): + """The QK-norm actually enters the forward: scaling ONE layer's `q_norm` changes the + logits; the pre-projection q/k/v site inputs stay untouched (q/k sites decompose + BEFORE the norm — the masked site output feeds q_norm → RoPE → SDPA); o's site input + (the attention output) responds.""" + cfg = _tiny_cfg() + sites = glu_site_specs(cfg, _QVDOWN_SITE_CS) + lm = _tiny_decomposed_qwen(cfg, sites, jax.random.PRNGKey(0)) + tokens = jax.random.randint(jax.random.PRNGKey(2), (2, 16), 0, cfg.vocab_size) + + attn = lm.stacked.attn + assert isinstance(attn, Qwen3FrozenAttn) + assert attn.q_norm.shape == (cfg.n_layer, cfg.head_dim) + # scale ONLY layer 4's q_norm so the residual ENTERING layer 4 stays untouched + scaled = eqx.tree_at(lambda m: m.stacked.attn.q_norm, lm, attn.q_norm.at[4].mul(2.0)) + assert not jnp.allclose(lm.clean_output(tokens), scaled.clean_output(tokens), atol=1e-4) + + q_site = "layers.4.self_attn.q_proj" + taps = lm.read_activations(tokens, lm.site_names) + scaled_taps = scaled.read_activations(tokens, lm.site_names) + assert jnp.array_equal(taps[q_site], scaled_taps[q_site]) + o_site = "layers.4.self_attn.o_proj" + o_tap = lm.read_activations(tokens, (o_site,))[o_site] + o_tap_scaled = scaled.read_activations(tokens, (o_site,))[o_site] + assert not jnp.allclose(o_tap, o_tap_scaled) + + +def test_attn_pattern_applies_that_layers_qk_norm(): + """The target-owned attn-pattern recipe uses the site's LAYER norms: the same q/k + flats produce different patterns for two layers whose q_norm weights differ.""" + cfg = _tiny_cfg() + site_cs = ( + SiteC("layers.4.self_attn.q_proj", 8), + SiteC("layers.4.self_attn.k_proj", 8), + SiteC("layers.5.self_attn.q_proj", 8), + SiteC("layers.5.self_attn.k_proj", 8), + ) + sites = glu_site_specs(cfg, site_cs) + lm = _tiny_decomposed_qwen(cfg, sites, jax.random.PRNGKey(0)) + attn = lm.stacked.attn + assert isinstance(attn, Qwen3FrozenAttn) + lm = eqx.tree_at(lambda m: m.stacked.attn.q_norm, lm, attn.q_norm.at[5].mul(3.0)) + + b, t = 2, 9 + qd, kvd = cfg.n_head * cfg.head_dim, cfg.n_kv_head * cfg.head_dim + q = jax.random.normal(jax.random.PRNGKey(1), (b, t, qd)) + k = jax.random.normal(jax.random.PRNGKey(2), (b, t, kvd)) + p4 = lm.attn_pattern("layers.4.self_attn.q_proj", q, k) + p5 = lm.attn_pattern("layers.5.self_attn.q_proj", q, k) + assert p4.shape == (b, cfg.n_head, t, t) + assert not jnp.allclose(p4, p5) + assert parse_site_name("layers.5.self_attn.q_proj") == (5, "q") + + +def test_step_trains(): + """One full generic train step over the qwen tiny target — pins that the family plugs + into the engine (the step machinery itself is pinned in `test_llama8b.py`).""" + import optax + + from param_decomp.configs import ( + ChunkwiseSubsetReconLossConfig, + FaithfulnessLossConfig, + ImportanceMinimalityLossConfig, + UniformKSubsetRoutingConfig, + ) + from param_decomp.recon import build_loss_terms + from param_decomp.schedule import ScheduleConfig + from param_decomp.tests.test_llama8b import _build_chunkwise_ci_fn + from param_decomp.train import TrainState, make_train_step + + cfg = _tiny_cfg() + sites = glu_site_specs(cfg, _QVDOWN_SITE_CS) + lm = _tiny_decomposed_qwen(cfg, sites, jax.random.PRNGKey(0)) + vu = init_decomp_vu(sites, jax.random.PRNGKey(1)) + ci_fn = _build_chunkwise_ci_fn(lm, jax.random.PRNGKey(2), n_blocks=1) + opt_vu = optax.adamw(1e-3, weight_decay=0.0) + opt_ci = optax.adamw(1e-3, weight_decay=0.0) + state = TrainState( + components=vu, ci_fn=ci_fn, + components_opt_state=opt_vu.init(eqx.filter(vu, eqx.is_array)), + ci_fn_opt_state=opt_ci.init(eqx.filter(ci_fn, eqx.is_array)), + adversaries={}, + step=jnp.zeros((), jnp.int32), + ) # fmt: skip + loss_terms = build_loss_terms( + ( + FaithfulnessLossConfig(coeff=1e5), + ImportanceMinimalityLossConfig( + coeff=5e-6, + pnorm=ScheduleConfig(start_val=2.0, fn_type="linear", final_val_frac=0.2), + ), + ChunkwiseSubsetReconLossConfig( + routing=UniformKSubsetRoutingConfig(), coeff=0.5, sites_per_chunk=3, n_samples=1 + ), + ), + lm.site_names, + ) + step = make_train_step( + lm=lm, + losses=loss_terms, + components_optimizer=opt_vu, + ci_fn_optimizer=opt_ci, + total_steps=100, + remat_recon_forwards=True, + remat_ci_fn=False, + mesh=None, + ) + tokens = jax.random.randint(jax.random.PRNGKey(4), (2, 16), 0, cfg.vocab_size) + state, metrics = step(lm, state, tokens, jax.random.PRNGKey(100)) + assert all(jnp.isfinite(jnp.asarray(v)).all() for v in metrics.values()) + assert int(state.step) == 1 diff --git a/param_decomp/tests/test_sharding.py b/param_decomp/tests/test_sharding.py index cf4346435..40a6348e6 100644 --- a/param_decomp/tests/test_sharding.py +++ b/param_decomp/tests/test_sharding.py @@ -62,8 +62,8 @@ def test_jitted_sharded_inits_match_eager_values(): ) from param_decomp.components import SiteC, init_decomp_vu from param_decomp.configs import BSCScope, SCScope - from param_decomp.targets.llama8b import canonical_site_cs, llama_site_specs - from param_decomp.targets.llama8b_sharding import ( + from param_decomp.targets.glu_transformer import canonical_site_cs, glu_site_specs + from param_decomp.targets.glu_transformer_sharding import ( init_ci_fn_placed, init_decomp_vu_placed, init_sources_sharded, @@ -80,7 +80,7 @@ def test_jitted_sharded_inits_match_eager_values(): # layers.{2,3}.mlp.gate_proj share (d_in, d_out, C), so the stacked init has a REAL # multi-site V/U shape group (stack + unstack across sites, not just groups of one); # they also make a 3-site C group for the stacked sources init below. - sites = llama_site_specs( + sites = glu_site_specs( cfg, canonical_site_cs( ( diff --git a/param_decomp/tests/test_slow_eval.py b/param_decomp/tests/test_slow_eval.py index b0a44ecd4..6f23102ba 100644 --- a/param_decomp/tests/test_slow_eval.py +++ b/param_decomp/tests/test_slow_eval.py @@ -47,8 +47,8 @@ render_slow_eval_figures, resolve_permutation_metrics, ) -from param_decomp.targets.llama8b import ( - llama_site_specs, +from param_decomp.targets.glu_transformer import ( + glu_site_specs, mlp_family_site_cs, ) from param_decomp.tests.test_llama8b import ( @@ -77,7 +77,7 @@ def _build_ci_fn(lm: DecomposedModel, n_embd: int, key: jax.Array) -> CIFn: def _tiny_setup(threshold: float, density_heatmap_n_bins: int | None = None): cfg = _tiny_cfg() C = 8 - sites = llama_site_specs(cfg, mlp_family_site_cs(4, 5, C)) + sites = glu_site_specs(cfg, mlp_family_site_cs(4, 5, C)) lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) ci_fn = _build_ci_fn(lm, cfg.n_embd, jax.random.PRNGKey(2)) step = make_slow_eval_step(lm, threshold, density_heatmap_n_bins) @@ -308,7 +308,7 @@ def test_resolve_permutation_metrics_empty_when_unconfigured(): def _tiny_position_ci(): cfg = _tiny_cfg() - sites = llama_site_specs(cfg, mlp_family_site_cs(4, 5, 8)) + sites = glu_site_specs(cfg, mlp_family_site_cs(4, 5, 8)) lm = _tiny_decomposed_lm(cfg, sites, jax.random.PRNGKey(0)) ci_fn = _build_ci_fn(lm, cfg.n_embd, jax.random.PRNGKey(2)) residual = jax.random.randint(jax.random.PRNGKey(4), (3, 12), 0, cfg.vocab_size) diff --git a/param_decomp/tests/test_source_grad_mean.py b/param_decomp/tests/test_source_grad_mean.py index 71a20efdc..94d690ac3 100644 --- a/param_decomp/tests/test_source_grad_mean.py +++ b/param_decomp/tests/test_source_grad_mean.py @@ -42,8 +42,8 @@ from param_decomp.components import init_decomp_vu from param_decomp.losses import kl_per_position from param_decomp.sharding import hsdp_mesh, shard_batch -from param_decomp.targets.llama8b import ( - llama_site_specs, +from param_decomp.targets.glu_transformer import ( + glu_site_specs, mlp_family_site_cs, ) from param_decomp.tests.test_llama8b import _tiny_cfg, _tiny_decomposed_lm @@ -56,7 +56,7 @@ def _source_grad(sharded: bool) -> dict[str, jax.Array]: reduction we are pinning. Returns one fp32 grad array per site.""" cfg = _tiny_cfg() C, seq, gbatch = 8, 16, 8 - sites = llama_site_specs(cfg, mlp_family_site_cs(3, 6, C)) + sites = glu_site_specs(cfg, mlp_family_site_cs(3, 6, C)) lm = _tiny_decomposed_lm(cfg, sites, random.PRNGKey(0)) vu = init_decomp_vu(sites, random.PRNGKey(1)) first_block = min(int(name.split(".")[1]) for name in lm.site_names) diff --git a/param_decomp/tools/theoretical_min_memory.py b/param_decomp/tools/theoretical_min_memory.py index 92021ff92..6e7a236c9 100644 --- a/param_decomp/tools/theoretical_min_memory.py +++ b/param_decomp/tools/theoretical_min_memory.py @@ -93,7 +93,7 @@ def main() -> None: trainable = vu + ci target = N_LAYERS * sum(d_in * d_out for d_in, d_out in KIND_DIMS.values()) # embed + lm_head are NOT decomposed and are REPLICATED (not ÷fsdp) on the frozen target - # (targets/llama8b.py:449-450) — full-resident per GPU. Llama-8B does not tie them. + # (targets/glu_transformer.py) — full-resident per GPU. Llama-8B does not tie them. embed_lmhead = 2 * VOCAB * D_MODEL GB = 1024**3 @@ -101,7 +101,7 @@ def main() -> None: opt = trainable * 12 / dp / GB # EXACT (sharding.py: master+m+v ÷N) vu_bf16 = vu * 2 / fsdp / GB # ÷fsdp resident compute weight (EXACT layout) ci_bf16 = ci * 2 / fsdp / GB # ÷fsdp resident compute weight (EXACT layout) - tgt_bf16 = target * 2 / fsdp / GB # EXACT: layer weights ÷fsdp (targets/llama8b.py:236-244) + tgt_bf16 = target * 2 / fsdp / GB # EXACT: layer weights ÷fsdp (targets/glu_transformer.py) embed_bf16 = embed_lmhead * 2 / GB # EXACT: embed+lm_head REPLICATED (full-resident) # ONE forward's activations (per-layer remat => residual carry stack + logits), per GPU. resid_stack = N_LAYERS * seq_per_gpu * SEQ * D_MODEL * 2 / GB # bf16 [L,b,t,d] carry diff --git a/param_decomp_lab/experiments/CLAUDE.md b/param_decomp_lab/experiments/CLAUDE.md index 084010678..a0b9ce27f 100644 --- a/param_decomp_lab/experiments/CLAUDE.md +++ b/param_decomp_lab/experiments/CLAUDE.md @@ -97,7 +97,7 @@ target: model_name: Qwen/Qwen3-8B-Base ``` -`kind: hf`/`hf_weights_in_vendored` model names must be in `llama8b.HF_MODEL_CONFIGS` +`kind: hf`/`hf_weights_in_vendored` model names must be in `experiments/lm/config.py::HF_MODEL_FAMILIES` (Llama-3.1-8B, Qwen3-8B-Base) — anything else refuses at convert time. A Qwen3 run needs a Qwen3-tokenized prestaged dataset (`prestage_tokenized` with `--tokenizer_name Qwen/Qwen3-8B-Base`). diff --git a/param_decomp_lab/experiments/lm/config.py b/param_decomp_lab/experiments/lm/config.py index bdc15c139..459f58d4b 100644 --- a/param_decomp_lab/experiments/lm/config.py +++ b/param_decomp_lab/experiments/lm/config.py @@ -8,6 +8,7 @@ `build_from_schema`; consumers that read a finished run dir call `load_run_dir_config`. """ +from collections.abc import Callable from dataclasses import dataclass from pathlib import Path from typing import Annotated, Any, Literal @@ -40,8 +41,8 @@ StochasticAttnPatternsReconLossConfig, ) from param_decomp.recon import build_loss_terms -from param_decomp.targets import llama8b, llama_simple_mlp -from param_decomp.targets.llama8b import SITE_NAME_PATTERN, canonical_site_cs +from param_decomp.targets import glu_transformer, llama8b, llama_simple_mlp, qwen3_8b +from param_decomp.targets.glu_transformer import SITE_NAME_PATTERN, canonical_site_cs from param_decomp_lab.experiments.config import ( ExperimentConfig, assert_canonical_algorithm_config, @@ -145,10 +146,45 @@ class LMExperimentConfig(ExperimentConfig[LMTargetConfig, LMDataConfig]): pass +@dataclass(frozen=True) +class HFModelFamily: + """One vendored HF model family the LM composition can target: its arch config, its + HF loader (the family file's `load_decomposed_*_from_hf`), and the path-schema model + type consumers key on. The families live in `param_decomp/targets/{llama8b,qwen3_8b}.py` + over the shared `glu_transformer` machinery; this registry is the ONLY place a model + name selects a family.""" + + arch_config: "Callable[[], glu_transformer.GLUArch]" + load: "Callable[..., glu_transformer.GLUDecomposedModel]" + """`(model_name, cfg, sites, scan_unroll=..., gather_fp8=...)` — cfg is the family's + own arch-config type, so the common signature is erased here.""" + model_type: str + + +HF_MODEL_FAMILIES: dict[str, HFModelFamily] = { + "meta-llama/Llama-3.1-8B": HFModelFamily( + llama8b.llama31_8b_config, llama8b.load_decomposed_llama_from_hf, "Llama" + ), + "Qwen/Qwen3-8B-Base": HFModelFamily( + qwen3_8b.qwen3_8b_config, qwen3_8b.load_decomposed_qwen3_from_hf, "Qwen3" + ), +} +"""The HF model names the LM composition implements. Anything else refuses loudly at +convert time — a new model gets an explicit family entry (config checked against its HF +config.json), never a silent guess.""" + + +def hf_model_family(model_name: str) -> HFModelFamily: + assert model_name in HF_MODEL_FAMILIES, ( + f"no vendored model family for {model_name!r}; supported: {sorted(HF_MODEL_FAMILIES)}" + ) + return HF_MODEL_FAMILIES[model_name] + + @dataclass(frozen=True) class TargetConfig: - """An HF GLU-transformer target (`param_decomp.targets.llama8b` — Llama-3.1-8B or - Qwen3-8B-Base; `model_name` must be in `llama8b.HF_MODEL_CONFIGS`).""" + """An HF GLU-transformer target (`model_name` must be in `HF_MODEL_FAMILIES` — + Llama-3.1-8B or Qwen3-8B-Base).""" model_name: str sites: tuple[SiteC, ...] @@ -237,7 +273,7 @@ def _resolve_target(cfg: LMExperimentConfig) -> AnyLMTargetConfig: "transformers.LlamaForCausalLM", "transformers.Qwen3ForCausalLM", ), spec.model_class - llama8b.hf_model_config(spec.model_name) # refuse unknown model names here + hf_model_family(spec.model_name) # refuse unknown model names here return TargetConfig(model_name=spec.model_name, sites=_site_cs(cfg)) case PretrainedTarget(): assert spec.model_class.rsplit(".", 1)[-1] == "LlamaSimpleMLP", spec.model_class @@ -256,7 +292,7 @@ def _block_of_site(target: AnyLMTargetConfig, site_name: str) -> int: grammar (`layers.{i}...` for llama8b, `h.{i}...` for LlamaSimpleMLP).""" match target: case TargetConfig(): - return llama8b.parse_site_name(site_name)[0] + return glu_transformer.parse_site_name(site_name)[0] case LlamaSimpleMLPTargetConfig(): return llama_simple_mlp.parse_site_name(site_name)[0] @@ -266,7 +302,7 @@ def _resolve_d_resid(target: AnyLMTargetConfig) -> int: each chunk reads one residual tap of this width.""" match target: case TargetConfig(): - return llama8b.hf_model_config(target.model_name).n_embd + return hf_model_family(target.model_name).arch_config().n_embd case LlamaSimpleMLPTargetConfig(): cache_dir = llama_simple_mlp.pretrain_cache_dir(target.pretrain_run_path) return llama_simple_mlp.load_model_config(cache_dir).n_embd diff --git a/param_decomp_lab/experiments/lm/load_run.py b/param_decomp_lab/experiments/lm/load_run.py index 3c17f97c4..7657830a7 100644 --- a/param_decomp_lab/experiments/lm/load_run.py +++ b/param_decomp_lab/experiments/lm/load_run.py @@ -40,16 +40,13 @@ from param_decomp.run_state import build_optimizers, init_train_state from param_decomp.sharding import hsdp_mesh, place_via_shardings from param_decomp.targets import llama_simple_mlp -from param_decomp.targets.llama8b import ( - hf_model_config, - llama_site_specs, - load_decomposed_lm_from_hf, -) -from param_decomp.targets.llama8b_sharding import place_target +from param_decomp.targets.glu_transformer import glu_site_specs +from param_decomp.targets.glu_transformer_sharding import place_target from param_decomp.train import COMPUTE_DT, TrainState, cast_floating from param_decomp_lab.experiments.lm.config import ( LlamaSimpleMLPTargetConfig, TargetConfig, + hf_model_family, load_run_dir_config, ) @@ -68,7 +65,7 @@ def build_target(cfg: BuiltRun, mesh: jax.sharding.Mesh) -> tuple[DecomposedMode """`(lm, vocab_size)` for the run's target config. The `lm` (an `eqx.Module`) IS the frozen target — it carries the full model weights (embedding included) as fields and embeds its token input internally. SimpleMLP reads its local pretrain cache (no network); - llama8b reads the HF snapshot (frozen bf16 weights + fp32-compute, matching `run.py::main`). + the HF families read the HF snapshot (frozen bf16 weights + fp32-compute, matching `run.py::main`). LM-only: harvest/slow-eval over the toy (TMS/ResidMLP) targets is not wired — those validate via their in-loop target-CI metric in the lab provider, not this path.""" @@ -83,10 +80,11 @@ def build_target(cfg: BuiltRun, mesh: jax.sharding.Mesh) -> tuple[DecomposedMode lm = place_via_shardings(loaded_lm, loaded_lm.shardings(mesh)) return lm, simple_cfg.vocab_size case TargetConfig(): - arch_cfg = hf_model_config(cfg.target.model_name) - sites = llama_site_specs(arch_cfg, cfg.target.sites) + family = hf_model_family(cfg.target.model_name) + arch_cfg = family.arch_config() + sites = glu_site_specs(arch_cfg, cfg.target.sites) lm = place_target( - load_decomposed_lm_from_hf( + family.load( cfg.target.model_name, arch_cfg, sites, @@ -242,9 +240,10 @@ def run_metadata(run_dir: Path) -> RunMetadata: layer_activation_sizes=[(s.name, s.C) for s in cfg.target.sites], ) case TargetConfig(): - arch_cfg = hf_model_config(cfg.target.model_name) + family = hf_model_family(cfg.target.model_name) + arch_cfg = family.arch_config() return RunMetadata( - model_type="Qwen3" if "Qwen3" in cfg.target.model_name else "Llama", + model_type=family.model_type, n_blocks=arch_cfg.n_layer, vocab_size=arch_cfg.vocab_size, layer_activation_sizes=[(s.name, s.C) for s in cfg.target.sites], diff --git a/param_decomp_lab/experiments/lm/run.py b/param_decomp_lab/experiments/lm/run.py index fb6ea9170..36bdc508a 100644 --- a/param_decomp_lab/experiments/lm/run.py +++ b/param_decomp_lab/experiments/lm/run.py @@ -49,7 +49,6 @@ ) from param_decomp.attn_patterns_eval import ( accumulate_attn_patterns, - attn_pattern_for, attn_patterns_log_entries, make_ci_attn_patterns_step, make_stochastic_attn_patterns_step, @@ -93,7 +92,7 @@ resolve_permutation_metrics, stochastic_hidden_acts_n_mask_samples, ) -from param_decomp.targets.llama8b import hf_snapshot_dir +from param_decomp.targets.glu_transformer import hf_snapshot_dir from param_decomp.train import TrainState from param_decomp_lab.experiments.lm.arithmetic_probe import build_arithmetic_probe from param_decomp_lab.experiments.lm.config import ( @@ -230,7 +229,7 @@ def _make_arithmetic_eval( ) from transformers import AutoTokenizer # heavy import; only the arith probe needs it in-job - # resolve from the SAME snapshot the weights load from (llama8b.hf_snapshot_dir honors + # resolve from the SAME snapshot the weights load from (hf_snapshot_dir honors # HF_HUB_CACHE / the shared cluster cache) — the default HF cache may be empty on cluster tokenizer = AutoTokenizer.from_pretrained( str(hf_snapshot_dir(target.model_name)), local_files_only=True @@ -379,14 +378,11 @@ def _make_lm_eval_fn( ) attn_steps: dict[str, Any] = {} if eval.attn_patterns is not None: - pattern_fn = attn_pattern_for(lm) if eval.attn_patterns.ci_masked: - attn_steps["CIMaskedAttnPatternsReconLoss"] = make_ci_attn_patterns_step( - lm, pattern_fn, co - ) + attn_steps["CIMaskedAttnPatternsReconLoss"] = make_ci_attn_patterns_step(lm, co) if eval.attn_patterns.stochastic: attn_steps["StochasticAttnPatternsReconLoss"] = make_stochastic_attn_patterns_step( - lm, pattern_fn, eval.attn_patterns.stochastic_n_mask_samples, co + lm, eval.attn_patterns.stochastic_n_mask_samples, co ) slow_eval_step = make_slow_eval_step( diff --git a/param_decomp_lab/topology/path_schemas.py b/param_decomp_lab/topology/path_schemas.py index a889b4b2a..35a0109d8 100644 --- a/param_decomp_lab/topology/path_schemas.py +++ b/param_decomp_lab/topology/path_schemas.py @@ -207,7 +207,7 @@ class _GPT2PathSchema(_PathSchema): class _HFGLUPathSchema(_PathSchema): """The raw-HF GLU-transformer site grammar (`layers.{i}.self_attn.q_proj`, …) the - llama8b/qwen3 `DecomposedModel` targets emit (`param_decomp.targets.llama8b`).""" + Llama/Qwen3 `DecomposedModel` targets emit (`param_decomp.targets.glu_transformer`).""" embedding_path = "embed_tokens" blocks = "layers" diff --git a/vendored_jax/llama.py b/vendored_jax/llama.py index 7a9964277..9d680b3e1 100644 --- a/vendored_jax/llama.py +++ b/vendored_jax/llama.py @@ -42,9 +42,6 @@ class LlamaConfig: rope_low_freq_factor: float | None = None rope_high_freq_factor: float | None = None rope_original_max_position_embeddings: int | None = None - # Qwen3-style per-head RMSNorm on q/k after projection, before RoPE - # (HF `Qwen3Attention.q_norm`/`k_norm`). False => the plain Llama attention. - qk_norm: bool = False @property def head_dim(self) -> int: From 2e82e3cccd95c0d6d9581bf96f93a0cd03ad8e8b Mon Sep 17 00:00:00 2001 From: "PD User (shared)" Date: Tue, 14 Jul 2026 22:58:14 +0000 Subject: [PATCH 3/7] docs: point README/CLAUDE.md target tables at the family split Crew-Address: task/ingest-qwen-3-8b Co-Authored-By: Claude Fable 5 --- param_decomp/CLAUDE.md | 2 +- param_decomp/README.md | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/param_decomp/CLAUDE.md b/param_decomp/CLAUDE.md index c419c0d2f..173c6ff5e 100644 --- a/param_decomp/CLAUDE.md +++ b/param_decomp/CLAUDE.md @@ -27,7 +27,7 @@ never silently diverge. Cite IDs (`S14`, `N1`, …) in commit messages and revie `lm.py` defines `DecomposedModel` — a `@runtime_checkable Protocol`: ordered `sites` + `leading_axes` + the methods `clean_output`, `read_activations`, `masked_output`, `masked_site_outputs`, `weight_deltas`, and a `recon_loss_fn` (LM: `kl_per_position`). The -concrete impl per target is an `eqx.Module` (`LlamaDecomposedModel`, +concrete impl per target is an `eqx.Module` (`GLUDecomposedModel`, `SimpleMLPDecomposedModel`, `TMSDecomposedModel`, `ResidMLPDecomposedModel`) carrying its FROZEN target weights as ARRAY FIELDS; the TRAINABLE V/U (`vu: DecompVU`) stays an explicit METHOD ARG (separate lifecycle — own optimizer + checkpoint, C-sharded while the frozen diff --git a/param_decomp/README.md b/param_decomp/README.md index 4d4a11de3..507f256fb 100644 --- a/param_decomp/README.md +++ b/param_decomp/README.md @@ -31,7 +31,8 @@ root with sibling packages `pretrain/` (the in-house target-LM pretrainer) and | `run_state.py` | optimizer + initial-`TrainState` construction from an `ExperimentConfig` (orbax restores onto this reference) | | `tools/` | `convert_llama_simple_mlp_checkpoint.py` (torch venv) — one-off `.pt` → safetensors conversion of the pile pretrain checkpoint; `migrate_c49k_checkpoint.py` — one-off remap of the frozen C49k clone's orbax `TrainState` (legacy `components.{Vg..Ud}` `(1,*,*)` + flat `sources.`) onto the current layout (site-keyed `components.vu`, `sources..`) so a fine-tune can `restore_latest` it | | `sharding.py` | generic GSPMD helpers (`init_distributed`, `dp_mesh`, `replicate`, `shard_batch`) | -| `targets/llama8b.py` | Llama-3.1-8B target (`LlamaDecomposedModel`, full-model token-input forward, embed internal), arbitrary per-layer matrix sites (`q/k/v/o/gate/up/down`, per-site C; q/k/v decomposed before RoPE/SDPA), per-site `DecompVU`, HF safetensors loader (`build_decomposed_lm` / `load_decomposed_lm_from_hf`) | +| `targets/glu_transformer.py` | the shared HF GLU-transformer target machinery (`GLUDecomposedModel`, full-model token-input forward, embed internal), arbitrary per-layer matrix sites (`q/k/v/o/gate/up/down`, per-site C; q/k/v decomposed before `_prep_qk`/RoPE/SDPA), per-site `DecompVU`, HF safetensors loading (`build_decomposed_lm` / `load_decomposed_glu_from_hf`) | +| `targets/llama8b.py` / `targets/qwen3_8b.py` | the model FAMILY files: arch config + `FrozenAttn` variant (Qwen3: `Qwen3FrozenAttn` QK-norm) + HF attn loader | | `targets/llama_simple_mlp.py` | `LlamaSimpleMLP` pile-pretrained target (`goodfire/spd/runs/t-9d2b8f02`: 4L, d768, GELU MLP, plain rotate-half RoPE, tied head): sites `h.{i}.attn.{q,k,v,o}_proj` / `h.{i}.mlp.{c_fc,down_proj}` with `h.*` wildcard expansion, pretrain-cache safetensors loader (one-off `.pt` conversion: `tools/convert_llama_simple_mlp_checkpoint.py`), `llama_simple_mlp_decomposed_lm(cfg, sites)`; frozen weights small enough to replicate (`replicate_frozen`), V/U/CI/source placement reuses the generic per-site plan | | `run.py` | the generic ENGINE `run_decomposition_training` (pure library, no `main`/YAML): faith warmup, loop, metrics jsonl/wandb, in-loop slow renderer, orbax checkpoints, SIGTERM-save + requeue-resume. The LM composition root that reads YAML + builds the target lives lab-side (`param_decomp_lab/experiments/lm/run.py`) | | `data.py` | deterministic batch schedule over the pre-tokenized fineweb parquet shards; O(1) resume addressing, per-process slices | @@ -41,7 +42,7 @@ root with sibling packages `pretrain/` (the in-house target-LM pretrainer) and | `base_config.py` | `BaseConfig` (frozen `extra=forbid` pydantic `BaseModel` + YAML/JSON round-trip), `Probability` | | `schedule.py` | `ScheduleConfig` + its two evaluators, host `get_scheduled_value` / traced `scheduled_value_traced` (warmup → constant/linear/cosine decay; every scheduled quantity routes through here) | | `configs/` | the single self-contained run yamls (one file per run; no wrapper/schema split) | -| `targets/llama8b_sharding.py` | the 8B placement plan (frozen replicated; per-site V/U + CI + Adam C-sharded; source replicated; batch sharded) | +| `targets/glu_transformer_sharding.py` | the 8B placement plan (frozen replicated; per-site V/U + CI + Adam C-sharded; source replicated; batch sharded) | | `experiments/llama8b_real.py` | the runnable 8B step + tok/s/GPU bench | | `experiments/invariance_check.py` | device-count invariance harness (SPEC D4) | | `tests/` | tiny-target unit tests (incl. attention sites + heterogeneous per-site C), checkpoint resume, sharding, `tests/equivalence/` — the fixture-driven torch↔JAX loss-term equivalence harness — `tests/stacked_parity/` — fixtures pinning the pre-site-generality stacked implementation (clean logits bit-identical, train trajectory rel ≤ ~1e-5) — and `tests/simple_mlp_equivalence/` — torch-fixture logits parity for the LlamaSimpleMLP target (tiny random model max abs diff ~2e-7; real t-9d2b8f02 weights ~5e-5 fp32) | From 59d6788f5bbcbe0b0aea383f7cfe5cdcc920fe79 Mon Sep 17 00:00:00 2001 From: "PD User (shared)" Date: Tue, 14 Jul 2026 23:15:02 +0000 Subject: [PATCH 4/7] config: drop the qwen3 run yaml per the canonical-seat policy (PR #983) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The launch config is a one-off run recipe, not a canonical seat — it rides the task thread (task:ingest-qwen-3-8b), and a launched run pins its own copy in the run dir. Crew-Address: task/ingest-qwen-3-8b Co-Authored-By: Claude Fable 5 --- .../qwen3_8b_full36L_HSDP_b32_dp32.yaml | 656 ------------------ 1 file changed, 656 deletions(-) delete mode 100644 param_decomp/configs/qwen3_8b_full36L_HSDP_b32_dp32.yaml diff --git a/param_decomp/configs/qwen3_8b_full36L_HSDP_b32_dp32.yaml b/param_decomp/configs/qwen3_8b_full36L_HSDP_b32_dp32.yaml deleted file mode 100644 index fd3c7774d..000000000 --- a/param_decomp/configs/qwen3_8b_full36L_HSDP_b32_dp32.yaml +++ /dev/null @@ -1,656 +0,0 @@ -# Qwen3-8B-Base full-model decomposition: ALL 36 layers x 7 matrices -# (q/k/v/o/gate/up/down) = 252 sites. Mirrors llama8b_full32L_HSDP_b32_dp32.yaml — -# same algorithm, CI arch, LRs/coeffs/eval set. DELIBERATE DIFFS vs that reference: -# 1. target: Qwen/Qwen3-8B-Base (36 layers, intermediate 12288, vocab 151936, -# QK-norm). Same per-kind C as the llama config — gate/up/down are ~15% smaller -# matrices here, so this is a slightly RICHER decomposition per parameter; retune -# per-kind C once a first run gives signal. -# 2. ChunkwiseSubsetReconLoss sites_per_chunk: 56 -> 63 (9 layers/chunk -> 4 chunks -# over 36 layers); coeff stays 0.5 x n_chunks = 2.0. -# 3. data: fineweb_qwen3_tok_512 (fineweb re-tokenized with the Qwen3 tokenizer — -# prestage via `python -m param_decomp_lab.experiments.lm.prestage_tokenized -# --out_dir .../datasets/fineweb_qwen3_tok_512 --tokenizer_name Qwen/Qwen3-8B-Base -# --seq_len 512` before first launch). -# out_dir / run_id are minted by pd-lm. -run_name: jax-qwen3-full36L-HSDP-b32-dp32 -cadence: - keep_last_n_checkpoints: 2 - save_every: 5000 - train_log_every: 25 -data: - buffer_size: 1000 - column_name: input_ids - data_files: /mnt/data/artifacts/mechanisms/param-decomp/datasets/fineweb_qwen3_tok_512/*.parquet - dataset_name: parquet - eval_split: train - is_tokenized: true - max_seq_len: 512 - revision: null - shuffle_each_epoch: true - streaming: false - tokenizer_name: Qwen/Qwen3-8B-Base - train_split: train -eval: - batch_size: 32 - every: 1000 - metrics: - - n_batches_accum: 1 - type: CIHistograms - - ci_alive_threshold: 0.0 - type: ComponentActivationDensity - - ci_alive_threshold: 0.0 - groups: null - type: CI_L0 - - rounding_threshold: 0.0 - type: CEandKLLosses - - type: CIMeanPerComponent - - coeff: null - type: StochasticHiddenActsReconLoss - - type: CIHiddenActsReconLoss - - coeff: null - init: random - mask_scope: c - n_steps: 20 - step_size: 0.1 - type: PGDReconLoss - n_steps: 1 - slow_every: 10000 - slow_on_first_step: true -pd: - batch_size: 32 - ci_config: - type: chunkwise_transformer - blocks_per_chunk: 1 - d_model: 4096 - n_blocks: 4 - n_heads: 64 - mlp_hidden: 16384 - ci_fn_optimizer: - betas: - - 0.9 - - 0.999 - grad_clip_norm: null - lr_schedule: - final_val_frac: 0.1 - fn_type: cosine - start_val: 2.0e-05 - warmup_pct: 0.0 - weight_decay: 0.0 - components_optimizer: - betas: - - 0.9 - - 0.999 - grad_clip_norm: 0.01 - lr_schedule: - final_val_frac: 0.1 - fn_type: cosine - start_val: 2.0e-05 - warmup_pct: 0.0 - weight_decay: 0.0 - decomposition_targets: - - C: 2048 - module_pattern: model.layers.0.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.0.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.0.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.0.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.0.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.0.mlp.up_proj - - C: 10240 - module_pattern: model.layers.0.mlp.down_proj - - C: 2048 - module_pattern: model.layers.1.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.1.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.1.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.1.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.1.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.1.mlp.up_proj - - C: 10240 - module_pattern: model.layers.1.mlp.down_proj - - C: 2048 - module_pattern: model.layers.2.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.2.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.2.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.2.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.2.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.2.mlp.up_proj - - C: 10240 - module_pattern: model.layers.2.mlp.down_proj - - C: 2048 - module_pattern: model.layers.3.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.3.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.3.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.3.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.3.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.3.mlp.up_proj - - C: 10240 - module_pattern: model.layers.3.mlp.down_proj - - C: 2048 - module_pattern: model.layers.4.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.4.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.4.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.4.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.4.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.4.mlp.up_proj - - C: 10240 - module_pattern: model.layers.4.mlp.down_proj - - C: 2048 - module_pattern: model.layers.5.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.5.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.5.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.5.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.5.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.5.mlp.up_proj - - C: 10240 - module_pattern: model.layers.5.mlp.down_proj - - C: 2048 - module_pattern: model.layers.6.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.6.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.6.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.6.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.6.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.6.mlp.up_proj - - C: 10240 - module_pattern: model.layers.6.mlp.down_proj - - C: 2048 - module_pattern: model.layers.7.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.7.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.7.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.7.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.7.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.7.mlp.up_proj - - C: 10240 - module_pattern: model.layers.7.mlp.down_proj - - C: 2048 - module_pattern: model.layers.8.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.8.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.8.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.8.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.8.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.8.mlp.up_proj - - C: 10240 - module_pattern: model.layers.8.mlp.down_proj - - C: 2048 - module_pattern: model.layers.9.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.9.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.9.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.9.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.9.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.9.mlp.up_proj - - C: 10240 - module_pattern: model.layers.9.mlp.down_proj - - C: 2048 - module_pattern: model.layers.10.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.10.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.10.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.10.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.10.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.10.mlp.up_proj - - C: 10240 - module_pattern: model.layers.10.mlp.down_proj - - C: 2048 - module_pattern: model.layers.11.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.11.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.11.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.11.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.11.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.11.mlp.up_proj - - C: 10240 - module_pattern: model.layers.11.mlp.down_proj - - C: 2048 - module_pattern: model.layers.12.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.12.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.12.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.12.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.12.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.12.mlp.up_proj - - C: 10240 - module_pattern: model.layers.12.mlp.down_proj - - C: 2048 - module_pattern: model.layers.13.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.13.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.13.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.13.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.13.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.13.mlp.up_proj - - C: 10240 - module_pattern: model.layers.13.mlp.down_proj - - C: 2048 - module_pattern: model.layers.14.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.14.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.14.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.14.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.14.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.14.mlp.up_proj - - C: 10240 - module_pattern: model.layers.14.mlp.down_proj - - C: 2048 - module_pattern: model.layers.15.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.15.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.15.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.15.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.15.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.15.mlp.up_proj - - C: 10240 - module_pattern: model.layers.15.mlp.down_proj - - C: 2048 - module_pattern: model.layers.16.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.16.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.16.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.16.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.16.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.16.mlp.up_proj - - C: 10240 - module_pattern: model.layers.16.mlp.down_proj - - C: 2048 - module_pattern: model.layers.17.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.17.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.17.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.17.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.17.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.17.mlp.up_proj - - C: 10240 - module_pattern: model.layers.17.mlp.down_proj - - C: 2048 - module_pattern: model.layers.18.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.18.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.18.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.18.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.18.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.18.mlp.up_proj - - C: 10240 - module_pattern: model.layers.18.mlp.down_proj - - C: 2048 - module_pattern: model.layers.19.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.19.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.19.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.19.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.19.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.19.mlp.up_proj - - C: 10240 - module_pattern: model.layers.19.mlp.down_proj - - C: 2048 - module_pattern: model.layers.20.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.20.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.20.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.20.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.20.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.20.mlp.up_proj - - C: 10240 - module_pattern: model.layers.20.mlp.down_proj - - C: 2048 - module_pattern: model.layers.21.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.21.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.21.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.21.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.21.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.21.mlp.up_proj - - C: 10240 - module_pattern: model.layers.21.mlp.down_proj - - C: 2048 - module_pattern: model.layers.22.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.22.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.22.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.22.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.22.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.22.mlp.up_proj - - C: 10240 - module_pattern: model.layers.22.mlp.down_proj - - C: 2048 - module_pattern: model.layers.23.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.23.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.23.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.23.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.23.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.23.mlp.up_proj - - C: 10240 - module_pattern: model.layers.23.mlp.down_proj - - C: 2048 - module_pattern: model.layers.24.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.24.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.24.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.24.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.24.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.24.mlp.up_proj - - C: 10240 - module_pattern: model.layers.24.mlp.down_proj - - C: 2048 - module_pattern: model.layers.25.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.25.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.25.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.25.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.25.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.25.mlp.up_proj - - C: 10240 - module_pattern: model.layers.25.mlp.down_proj - - C: 2048 - module_pattern: model.layers.26.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.26.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.26.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.26.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.26.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.26.mlp.up_proj - - C: 10240 - module_pattern: model.layers.26.mlp.down_proj - - C: 2048 - module_pattern: model.layers.27.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.27.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.27.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.27.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.27.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.27.mlp.up_proj - - C: 10240 - module_pattern: model.layers.27.mlp.down_proj - - C: 2048 - module_pattern: model.layers.28.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.28.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.28.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.28.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.28.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.28.mlp.up_proj - - C: 10240 - module_pattern: model.layers.28.mlp.down_proj - - C: 2048 - module_pattern: model.layers.29.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.29.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.29.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.29.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.29.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.29.mlp.up_proj - - C: 10240 - module_pattern: model.layers.29.mlp.down_proj - - C: 2048 - module_pattern: model.layers.30.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.30.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.30.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.30.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.30.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.30.mlp.up_proj - - C: 10240 - module_pattern: model.layers.30.mlp.down_proj - - C: 2048 - module_pattern: model.layers.31.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.31.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.31.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.31.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.31.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.31.mlp.up_proj - - C: 10240 - module_pattern: model.layers.31.mlp.down_proj - - C: 2048 - module_pattern: model.layers.32.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.32.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.32.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.32.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.32.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.32.mlp.up_proj - - C: 10240 - module_pattern: model.layers.32.mlp.down_proj - - C: 2048 - module_pattern: model.layers.33.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.33.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.33.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.33.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.33.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.33.mlp.up_proj - - C: 10240 - module_pattern: model.layers.33.mlp.down_proj - - C: 2048 - module_pattern: model.layers.34.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.34.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.34.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.34.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.34.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.34.mlp.up_proj - - C: 10240 - module_pattern: model.layers.34.mlp.down_proj - - C: 2048 - module_pattern: model.layers.35.self_attn.q_proj - - C: 2048 - module_pattern: model.layers.35.self_attn.k_proj - - C: 4096 - module_pattern: model.layers.35.self_attn.v_proj - - C: 4096 - module_pattern: model.layers.35.self_attn.o_proj - - C: 8192 - module_pattern: model.layers.35.mlp.gate_proj - - C: 8192 - module_pattern: model.layers.35.mlp.up_proj - - C: 10240 - module_pattern: model.layers.35.mlp.down_proj - faithfulness_warmup_lr: 0.001 - faithfulness_warmup_steps: 0 - faithfulness_warmup_weight_decay: 0.0 - identity_decomposition_targets: null - loss_metrics: - - frequency: - coeff: 1.0e-06 - reference_token_count: 65536 - coeff: 5.0e-06 - eps: 1.0e-06 - pnorm: - start_val: 2.0 - fn_type: linear - final_val_frac: 0.2 - type: ImportanceMinimalityLoss - - coeff: 2.0 - n_samples: 1 - routing: - type: uniform_k_subset - sites_per_chunk: 63 - type: ChunkwiseSubsetReconLoss - - coeff: 0.5 - n_warmup_steps: 2 - optimizer: - beta1: 0.01 - beta2: 0.99 - eps: 1.0e-08 - lr_schedule: - final_val_frac: 1.0 - fn_type: constant - start_val: 0.01 - warmup_pct: 0.025 - type: adam - scope: - type: bsc - type: PersistentPGDReconLoss - - coeff: 1000000.0 - type: FaithfulnessLoss - seed: 0 - steps: 200000 -runtime: - dp: 32 - tp: 1 - remat_recon_forwards: true - remat_ci_fn: true -target: - output_extract: logits - weights_dtype: bfloat16 - spec: - kind: hf - model_class: transformers.Qwen3ForCausalLM - model_name: Qwen/Qwen3-8B-Base -wandb: - entity: null - project: param-decomp-llama - group: qwen3-full36L - tags: - - full-model - - 36L - - allmat - - qwen3 - - seq512 From 236d91a24c884dd116bcee1d31734e00bd1ee635 Mon Sep 17 00:00:00 2001 From: "PD User (shared)" Date: Tue, 14 Jul 2026 23:50:10 +0000 Subject: [PATCH 5/7] refactor(targets): frozen-weights dtype is the family's call, not a shared-module global MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per review: drop `DT = jnp.bfloat16` from glu_transformer — HFWeights takes the dtype, load_decomposed_glu_from_hf threads it, and each family loader passes bf16 (matching its TargetConfig.supported_weights_dtypes). Crew-Address: task/ingest-qwen-3-8b Co-Authored-By: Claude Fable 5 --- param_decomp/targets/glu_transformer.py | 15 +++++++++------ param_decomp/targets/llama8b.py | 3 +++ param_decomp/targets/qwen3_8b.py | 2 ++ param_decomp_lab/experiments/lm/config.py | 4 ++-- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/param_decomp/targets/glu_transformer.py b/param_decomp/targets/glu_transformer.py index c3c7b0c5c..e2eb2c71c 100644 --- a/param_decomp/targets/glu_transformer.py +++ b/param_decomp/targets/glu_transformer.py @@ -31,6 +31,7 @@ import numpy as np from jax.sharding import Mesh, NamedSharding from jax.sharding import PartitionSpec as P +from jax.typing import DTypeLike from jaxtyping import Array, Float, Int from safetensors import safe_open @@ -46,8 +47,6 @@ from param_decomp.sharding import assert_divisible from vendored_jax.llama import apply_rope, causal_sdpa, repeat_kv, rms_norm, rope_cos_sin -DT = jnp.bfloat16 - class GLUArch(Protocol): """The arch-config surface the shared machinery reads. Family configs satisfy it @@ -1046,19 +1045,22 @@ def hf_snapshot_dir(model_name: str) -> Path: class HFWeights: - """Lazy keyed access to the sharded safetensors of an HF checkpoint.""" + """Lazy keyed access to the sharded safetensors of an HF checkpoint, cast to the + FAMILY's frozen-weights dtype (SPEC N1: bf16 storage — the families pass it; this + module holds no dtype opinion).""" - def __init__(self, snapshot: Path): + def __init__(self, snapshot: Path, dtype: DTypeLike): index = json.loads((snapshot / "model.safetensors.index.json").read_text()) self._key_to_file = index["weight_map"] self._snapshot = snapshot + self._dtype = dtype self._open: dict[str, Any] = {} def get(self, key: str) -> Array: fname = self._key_to_file[key] if fname not in self._open: self._open[fname] = safe_open(str(self._snapshot / fname), framework="numpy") - return jnp.asarray(np.array(self._open[fname].get_tensor(key)), dtype=DT) + return jnp.asarray(np.array(self._open[fname].get_tensor(key)), dtype=self._dtype) AttnLoader = Callable[[HFWeights, int], FrozenAttn] @@ -1120,6 +1122,7 @@ def load_decomposed_glu_from_hf( sites: tuple[SiteSpec, ...], load_attn: AttnLoader, inv_freq: Array, + weights_dtype: DTypeLike, scan_unroll: int = 1, gather_fp8: bool = False, ) -> GLUDecomposedModel: @@ -1128,7 +1131,7 @@ def load_decomposed_glu_from_hf( decomposition config (`sites`). The FAMILY contributes `load_attn` + `inv_freq` (its RoPE flavor); blocks without a decomposed site run the plain frozen path. `scan_unroll` / `gather_fp8` are the `RuntimeConfig` compute knobs.""" - w = HFWeights(hf_snapshot_dir(model_name)) + w = HFWeights(hf_snapshot_dir(model_name), weights_dtype) return build_decomposed_lm( embed=w.get("model.embed_tokens.weight"), layers=load_glu_blocks(w, cfg, load_attn), diff --git a/param_decomp/targets/llama8b.py b/param_decomp/targets/llama8b.py index e0fe246a9..a4fa8bd5a 100644 --- a/param_decomp/targets/llama8b.py +++ b/param_decomp/targets/llama8b.py @@ -2,6 +2,8 @@ rope scaling) and its HF loader over the shared GLU-transformer machinery (`targets/glu_transformer.py` — plain `FrozenAttn`, no pre-RoPE extras).""" +import jax.numpy as jnp + from param_decomp.components import SiteSpec from param_decomp.targets.glu_transformer import ( FrozenAttn, @@ -57,6 +59,7 @@ def load_decomposed_llama_from_hf( cfg, sites, load_attn=lambda w, i: _load_attn(w, i, cfg), + weights_dtype=jnp.bfloat16, # the family is bf16-only (TargetConfig.supported_weights_dtypes) inv_freq=llama3_inv_freq(cfg), scan_unroll=scan_unroll, gather_fp8=gather_fp8, diff --git a/param_decomp/targets/qwen3_8b.py b/param_decomp/targets/qwen3_8b.py index 5a511f154..9d323d3a1 100644 --- a/param_decomp/targets/qwen3_8b.py +++ b/param_decomp/targets/qwen3_8b.py @@ -10,6 +10,7 @@ from typing import override import equinox as eqx +import jax.numpy as jnp from jax.sharding import Mesh, NamedSharding from jax.sharding import PartitionSpec as P from jaxtyping import Array, Float @@ -99,6 +100,7 @@ def load_decomposed_qwen3_from_hf( cfg, sites, load_attn=lambda w, i: _load_attn(w, i, cfg), + weights_dtype=jnp.bfloat16, # the family is bf16-only (TargetConfig.supported_weights_dtypes) inv_freq=default_inv_freq(cfg.head_dim, cfg.rope_theta), scan_unroll=scan_unroll, gather_fp8=gather_fp8, diff --git a/param_decomp_lab/experiments/lm/config.py b/param_decomp_lab/experiments/lm/config.py index 459f58d4b..2861a4870 100644 --- a/param_decomp_lab/experiments/lm/config.py +++ b/param_decomp_lab/experiments/lm/config.py @@ -191,8 +191,8 @@ class TargetConfig: """Decomposed sites with per-site C, in canonical order (`canonical_site_cs`).""" supported_weights_dtypes: frozenset[WeightsDtype] = frozenset({"bfloat16"}) - """Frozen-target weight dtypes the loader supports (`llama8b.py` is bf16-only: - `DT = jnp.bfloat16`). A config requesting a dtype outside this set is refused at + """Frozen-target weight dtypes the loader supports (the HF family loaders pass + bf16). A config requesting a dtype outside this set is refused at convert time — no silent downgrade (issue #727).""" From 7e514d0cb63ae324f286970dfd830c01fb94505e Mon Sep 17 00:00:00 2001 From: "PD User (shared)" Date: Wed, 15 Jul 2026 01:03:57 +0000 Subject: [PATCH 6/7] review: registry owns model_class; drop dead target_aliases; family-neutral docstring MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - HFModelFamily gains model_class; _resolve_target derives the accepted set from the registry and cross-checks class <-> model_name (was a parallel hardcoded tuple — a second place enumerating families). - targets/target_aliases.py deleted: zero importers, and its docstring claimed a dispatch that no longer exists. - GLUDecomposedModel docstring stops enumerating concrete families. Crew-Address: task/ingest-qwen-3-8b Co-Authored-By: Claude Fable 5 --- param_decomp/targets/glu_transformer.py | 4 ++-- param_decomp/targets/target_aliases.py | 11 ----------- param_decomp_lab/experiments/lm/config.py | 22 ++++++++++++++++------ 3 files changed, 18 insertions(+), 19 deletions(-) delete mode 100644 param_decomp/targets/target_aliases.py diff --git a/param_decomp/targets/glu_transformer.py b/param_decomp/targets/glu_transformer.py index e2eb2c71c..3f6a3b40e 100644 --- a/param_decomp/targets/glu_transformer.py +++ b/param_decomp/targets/glu_transformer.py @@ -570,8 +570,8 @@ def _reconstruct_compute_weights( class GLUDecomposedModel(eqx.Module): - """The GLU-transformer `DecomposedModel` (the `lm.py` contract; SPEC §1), shared by - the Llama and Qwen3 families — a family's identity lives in its `stacked.attn` module + """The GLU-transformer `DecomposedModel` (the `lm.py` contract; SPEC §1), shared + across the HF GLU families — a family's identity lives in its `stacked.attn` module (its `FrozenAttn` variant) and `inv_freq`, never in a switch here. Carries the FROZEN full model (embedding, all blocks, final norm, lm_head) as array diff --git a/param_decomp/targets/target_aliases.py b/param_decomp/targets/target_aliases.py deleted file mode 100644 index 2e79a82fe..000000000 --- a/param_decomp/targets/target_aliases.py +++ /dev/null @@ -1,11 +0,0 @@ -"""Decomposed-model union for the LM targets `run.py::main` and -`load_run.py::build_target` dispatch over. - -The toy targets (TMS, ResidMLP) live in the lab and are NOT members of this union — the -generic engine (`run_decomposition_training`) takes the model as `DecomposedModel`, so the -core never names a toy.""" - -from param_decomp.targets.glu_transformer import GLUDecomposedModel -from param_decomp.targets.llama_simple_mlp import SimpleMLPDecomposedModel - -AnyDecomposedModel = GLUDecomposedModel | SimpleMLPDecomposedModel diff --git a/param_decomp_lab/experiments/lm/config.py b/param_decomp_lab/experiments/lm/config.py index 2861a4870..02a8c7f0c 100644 --- a/param_decomp_lab/experiments/lm/config.py +++ b/param_decomp_lab/experiments/lm/config.py @@ -159,14 +159,23 @@ class HFModelFamily: """`(model_name, cfg, sites, scan_unroll=..., gather_fp8=...)` — cfg is the family's own arch-config type, so the common signature is erased here.""" model_type: str + model_class: str + """The `target.spec.model_class` this family answers to (a stable identifier, never + imported — see experiments/CLAUDE.md).""" HF_MODEL_FAMILIES: dict[str, HFModelFamily] = { "meta-llama/Llama-3.1-8B": HFModelFamily( - llama8b.llama31_8b_config, llama8b.load_decomposed_llama_from_hf, "Llama" + llama8b.llama31_8b_config, + llama8b.load_decomposed_llama_from_hf, + "Llama", + "transformers.LlamaForCausalLM", ), "Qwen/Qwen3-8B-Base": HFModelFamily( - qwen3_8b.qwen3_8b_config, qwen3_8b.load_decomposed_qwen3_from_hf, "Qwen3" + qwen3_8b.qwen3_8b_config, + qwen3_8b.load_decomposed_qwen3_from_hf, + "Qwen3", + "transformers.Qwen3ForCausalLM", ), } """The HF model names the LM composition implements. Anything else refuses loudly at @@ -269,10 +278,11 @@ def _resolve_target(cfg: LMExperimentConfig) -> AnyLMTargetConfig: assert spec.model_class.rsplit(".", 1)[-1] == "VendoredLlama", spec.model_class assert "Llama-3.1-8B" in spec.model_name, spec.model_name case HFTarget(): - assert spec.model_class in ( - "transformers.LlamaForCausalLM", - "transformers.Qwen3ForCausalLM", - ), spec.model_class + known_classes = {f.model_class for f in HF_MODEL_FAMILIES.values()} + assert spec.model_class in known_classes, spec.model_class + assert spec.model_class == hf_model_family(spec.model_name).model_class, ( + f"{spec.model_class!r} is not {spec.model_name!r}'s family" + ) hf_model_family(spec.model_name) # refuse unknown model names here return TargetConfig(model_name=spec.model_name, sites=_site_cs(cfg)) case PretrainedTarget(): From 9404685dc8cfc199cf96b98ba9406945e475ce16 Mon Sep 17 00:00:00 2001 From: "PD User (shared)" Date: Wed, 15 Jul 2026 01:17:38 +0000 Subject: [PATCH 7/7] style: drop needless quoted annotations (quotes only for true self-references) Crew-Address: task/ingest-qwen-3-8b Co-Authored-By: Claude Fable 5 --- param_decomp/attn_patterns_eval.py | 2 +- param_decomp/targets/glu_transformer.py | 6 +++--- param_decomp/targets/qwen3_8b.py | 2 +- param_decomp_lab/experiments/lm/config.py | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/param_decomp/attn_patterns_eval.py b/param_decomp/attn_patterns_eval.py index 94eb1a8ff..0f356736a 100644 --- a/param_decomp/attn_patterns_eval.py +++ b/param_decomp/attn_patterns_eval.py @@ -124,7 +124,7 @@ def _clean_patterns( def _masked_patterns_kl( - model: "DecomposedModel", + model: DecomposedModel, layer_pairs: tuple[tuple[str, str], ...], masked_outputs: dict[str, Array], target_patterns: dict[str, Array], diff --git a/param_decomp/targets/glu_transformer.py b/param_decomp/targets/glu_transformer.py index 3f6a3b40e..4c92e896c 100644 --- a/param_decomp/targets/glu_transformer.py +++ b/param_decomp/targets/glu_transformer.py @@ -207,7 +207,7 @@ def _prep_qk( """Family hook between the head reshape and RoPE; identity for plain attention.""" return q, k - def shardings(self, mesh: "Mesh") -> "FrozenAttn": + def shardings(self, mesh: Mesh) -> "FrozenAttn": """Stacked (leading `n_layer`, UNSHARDED — the scan axis) FSDP on `fsdp`: the `d` dim shards on `fsdp` (gathered per layer in the scan, on NVLink); the HEAD dim stays REPLICATED. `core` runs batch-parallel attention (q/k/v constrained batch over the @@ -306,7 +306,7 @@ class GLULayer(eqx.Module): Wu: Float[Array, "di d"] Wd: Float[Array, "d di"] - def shardings(self, mesh: "Mesh") -> "GLULayer": + def shardings(self, mesh: Mesh) -> "GLULayer": """Stacked FSDP on `fsdp` (no TP): every MLP weight shards its `d`-dim on `fsdp`, the intermediate dim stays replicated; gathered back per layer inside the scan. Norms replicate; attn delegates to `FrozenAttn.shardings`.""" @@ -626,7 +626,7 @@ def attn_pattern( attn = jax.tree.map(lambda a, idx=layer: a[idx], self.stacked.attn) return attn.pattern(q_flat, k_flat, self.inv_freq) - def shardings(self, mesh: "Mesh") -> "GLUDecomposedModel": + def shardings(self, mesh: Mesh) -> "GLUDecomposedModel": """FSDP-on-`fsdp` the per-layer weights (`stacked.shardings` — `d` on `fsdp`, head/intermediate replicated; the ~14 GB layer bulk shards `/fsdp`, gathered per layer inside the scan, on NVLink). embed / lm_head / norm / inv_freq REPLICATE — the ~2 GB diff --git a/param_decomp/targets/qwen3_8b.py b/param_decomp/targets/qwen3_8b.py index 9d323d3a1..a86cd74e5 100644 --- a/param_decomp/targets/qwen3_8b.py +++ b/param_decomp/targets/qwen3_8b.py @@ -62,7 +62,7 @@ def _prep_qk( return rms_norm(q, self.q_norm, self.eps), rms_norm(k, self.k_norm, self.eps) @override - def shardings(self, mesh: "Mesh") -> "Qwen3FrozenAttn": + def shardings(self, mesh: Mesh) -> "Qwen3FrozenAttn": """The shared projection layout plus replicated norm vectors.""" repl = NamedSharding(mesh, P()) placed = super().shardings(mesh) diff --git a/param_decomp_lab/experiments/lm/config.py b/param_decomp_lab/experiments/lm/config.py index 02a8c7f0c..20352aea6 100644 --- a/param_decomp_lab/experiments/lm/config.py +++ b/param_decomp_lab/experiments/lm/config.py @@ -154,8 +154,8 @@ class HFModelFamily: over the shared `glu_transformer` machinery; this registry is the ONLY place a model name selects a family.""" - arch_config: "Callable[[], glu_transformer.GLUArch]" - load: "Callable[..., glu_transformer.GLUDecomposedModel]" + arch_config: Callable[[], glu_transformer.GLUArch] + load: Callable[..., glu_transformer.GLUDecomposedModel] """`(model_name, cfg, sites, scan_unroll=..., gather_fp8=...)` — cfg is the family's own arch-config type, so the common signature is erased here.""" model_type: str