From 4c621496e36c691b122f116cdbd573b27c500fff Mon Sep 17 00:00:00 2001 From: Joseph Watson Date: Thu, 30 Mar 2023 04:56:09 -0700 Subject: [PATCH] Initial commit to RFdiffusion --- Attention_module.py | 404 + AuxiliaryPredictor.py | 92 + Embeddings.py | 388 + LICENSE | 30 + README.md | 425 + RoseTTAFoldModel.py | 153 + SE3_network.py | 83 + Track_module.py | 479 ++ chemical.py | 585 ++ config/inference/base.yaml | 136 + config/inference/symmetry.yaml | 26 + contigs.py | 397 + coords6d.py | 80 + diff_util.py | 255 + diffusion.py | 704 ++ env/SE3Transformer/.dockerignore | 123 + env/SE3Transformer/.gitignore | 121 + env/SE3Transformer/Dockerfile | 58 + env/SE3Transformer/LICENSE | 7 + env/SE3Transformer/NOTICE | 7 + env/SE3Transformer/README.md | 580 ++ env/SE3Transformer/images/se3-transformer.png | Bin 0 -> 1190831 bytes env/SE3Transformer/requirements.txt | 5 + .../scripts/benchmark_inference.sh | 15 + env/SE3Transformer/scripts/benchmark_train.sh | 18 + .../scripts/benchmark_train_multi_gpu.sh | 19 + env/SE3Transformer/scripts/predict.sh | 19 + env/SE3Transformer/scripts/train.sh | 25 + env/SE3Transformer/scripts/train_multi_gpu.sh | 27 + .../se3_transformer/__init__.py | 0 .../se3_transformer/data_loading/__init__.py | 1 + .../data_loading/data_module.py | 63 + .../se3_transformer/data_loading/qm9.py | 173 + .../se3_transformer/model/__init__.py | 2 + .../se3_transformer/model/basis.py | 178 + .../se3_transformer/model/fiber.py | 144 + .../se3_transformer/model/layers/__init__.py | 5 + .../se3_transformer/model/layers/attention.py | 180 + .../model/layers/convolution.py | 336 + .../se3_transformer/model/layers/linear.py | 59 + .../se3_transformer/model/layers/norm.py | 83 + .../se3_transformer/model/layers/pooling.py | 53 + .../se3_transformer/model/transformer.py | 222 + .../se3_transformer/runtime/__init__.py | 0 .../se3_transformer/runtime/arguments.py | 70 + .../se3_transformer/runtime/callbacks.py | 160 + .../se3_transformer/runtime/gpu_affinity.py | 325 + .../se3_transformer/runtime/inference.py | 131 + .../se3_transformer/runtime/loggers.py | 134 + .../se3_transformer/runtime/metrics.py | 83 + .../se3_transformer/runtime/training.py | 238 + .../se3_transformer/runtime/utils.py | 130 + env/SE3Transformer/setup.py | 11 + env/SE3Transformer/tests/__init__.py | 0 env/SE3Transformer/tests/test_equivariance.py | 102 + env/SE3Transformer/tests/utils.py | 60 + env/SE3nv.yml | 17 + examples/design_cyclic_oligos.sh | 20 + examples/design_dihedral_oligos.sh | 20 + examples/design_enzyme.sh | 16 + examples/design_motifscaffolding.sh | 11 + .../design_motifscaffolding_inpaintseq.sh | 15 + examples/design_nickel.sh | 20 + examples/design_partialdiffusion.sh | 10 + examples/design_partialdiffusion_withseq.sh | 14 + examples/design_ppi.sh | 11 + examples/design_ppi_scaffolded.sh | 10 + examples/design_tetrahedral_oligos.sh | 20 + examples/design_timbarrel.sh | 11 + examples/design_unconditional.sh | 7 + examples/input_pdbs/1qys.pdb | 1067 +++ examples/input_pdbs/2KL8.pdb | 1308 +++ examples/input_pdbs/5TPN.pdb | 7078 +++++++++++++++++ examples/input_pdbs/5an7.pdb | 6727 ++++++++++++++++ examples/input_pdbs/insulin_target.pdb | 2652 ++++++ .../input_pdbs/nickel_symmetric_motif.pdb | 120 + .../peptide_complex_ideal_helix.pdb | 3729 +++++++++ examples/ppi_scaffolds_subset.tar.gz | Bin 0 -> 294841 bytes examples/target_folds/insulin_target_adj.pt | Bin 0 -> 90744 bytes examples/target_folds/insulin_target_ss.pt | Bin 0 -> 1912 bytes examples/tim_barrel_scaffold/6WVS_adj.pt | Bin 0 -> 133240 bytes examples/tim_barrel_scaffold/6WVS_ss.pt | Bin 0 -> 1464 bytes helper_scripts/2KL8.pdb | 1418 ++++ helper_scripts/make_secstruc_adj.py | 503 ++ igso3.py | 118 + img/binder.png | Bin 0 -> 425720 bytes img/cropped_uncond.png | Bin 0 -> 956985 bytes img/diffusion_protein_gradient_2.jpg | Bin 0 -> 2515080 bytes img/fold_cond.png | Bin 0 -> 408276 bytes img/main.png | Bin 0 -> 226291 bytes img/motif.png | Bin 0 -> 141360 bytes img/olig.png | Bin 0 -> 338459 bytes img/olig2.png | Bin 0 -> 543485 bytes img/partial.png | Bin 0 -> 177434 bytes img/sym_motif.png | Bin 0 -> 377575 bytes img/uncond.png | Bin 0 -> 316222 bytes inference/model_runners.py | 943 +++ inference/sym_rots.npz | Bin 0 -> 7694 bytes inference/symmetry.py | 236 + inference/utils.py | 1005 +++ kinematics.py | 311 + model_input_logger.py | 71 + potentials/manager.py | 212 + potentials/potentials.py | 733 ++ run_inference.py | 186 + scoring.py | 300 + util.py | 717 ++ util_module.py | 310 + 108 files changed, 38150 insertions(+) create mode 100644 Attention_module.py create mode 100644 AuxiliaryPredictor.py create mode 100644 Embeddings.py create mode 100644 LICENSE create mode 100644 README.md create mode 100644 RoseTTAFoldModel.py create mode 100644 SE3_network.py create mode 100644 Track_module.py create mode 100644 chemical.py create mode 100644 config/inference/base.yaml create mode 100644 config/inference/symmetry.yaml create mode 100644 contigs.py create mode 100644 coords6d.py create mode 100644 diff_util.py create mode 100644 diffusion.py create mode 100644 env/SE3Transformer/.dockerignore create mode 100644 env/SE3Transformer/.gitignore create mode 100644 env/SE3Transformer/Dockerfile create mode 100644 env/SE3Transformer/LICENSE create mode 100644 env/SE3Transformer/NOTICE create mode 100644 env/SE3Transformer/README.md create mode 100644 env/SE3Transformer/images/se3-transformer.png create mode 100644 env/SE3Transformer/requirements.txt create mode 100755 env/SE3Transformer/scripts/benchmark_inference.sh create mode 100755 env/SE3Transformer/scripts/benchmark_train.sh create mode 100755 env/SE3Transformer/scripts/benchmark_train_multi_gpu.sh create mode 100755 env/SE3Transformer/scripts/predict.sh create mode 100755 env/SE3Transformer/scripts/train.sh create mode 100755 env/SE3Transformer/scripts/train_multi_gpu.sh create mode 100644 env/SE3Transformer/se3_transformer/__init__.py create mode 100644 env/SE3Transformer/se3_transformer/data_loading/__init__.py create mode 100644 env/SE3Transformer/se3_transformer/data_loading/data_module.py create mode 100644 env/SE3Transformer/se3_transformer/data_loading/qm9.py create mode 100644 env/SE3Transformer/se3_transformer/model/__init__.py create mode 100644 env/SE3Transformer/se3_transformer/model/basis.py create mode 100644 env/SE3Transformer/se3_transformer/model/fiber.py create mode 100644 env/SE3Transformer/se3_transformer/model/layers/__init__.py create mode 100644 env/SE3Transformer/se3_transformer/model/layers/attention.py create mode 100644 env/SE3Transformer/se3_transformer/model/layers/convolution.py create mode 100644 env/SE3Transformer/se3_transformer/model/layers/linear.py create mode 100644 env/SE3Transformer/se3_transformer/model/layers/norm.py create mode 100644 env/SE3Transformer/se3_transformer/model/layers/pooling.py create mode 100644 env/SE3Transformer/se3_transformer/model/transformer.py create mode 100644 env/SE3Transformer/se3_transformer/runtime/__init__.py create mode 100644 env/SE3Transformer/se3_transformer/runtime/arguments.py create mode 100644 env/SE3Transformer/se3_transformer/runtime/callbacks.py create mode 100644 env/SE3Transformer/se3_transformer/runtime/gpu_affinity.py create mode 100644 env/SE3Transformer/se3_transformer/runtime/inference.py create mode 100644 env/SE3Transformer/se3_transformer/runtime/loggers.py create mode 100644 env/SE3Transformer/se3_transformer/runtime/metrics.py create mode 100644 env/SE3Transformer/se3_transformer/runtime/training.py create mode 100644 env/SE3Transformer/se3_transformer/runtime/utils.py create mode 100644 env/SE3Transformer/setup.py create mode 100644 env/SE3Transformer/tests/__init__.py create mode 100644 env/SE3Transformer/tests/test_equivariance.py create mode 100644 env/SE3Transformer/tests/utils.py create mode 100644 env/SE3nv.yml create mode 100755 examples/design_cyclic_oligos.sh create mode 100755 examples/design_dihedral_oligos.sh create mode 100755 examples/design_enzyme.sh create mode 100755 examples/design_motifscaffolding.sh create mode 100755 examples/design_motifscaffolding_inpaintseq.sh create mode 100755 examples/design_nickel.sh create mode 100755 examples/design_partialdiffusion.sh create mode 100755 examples/design_partialdiffusion_withseq.sh create mode 100755 examples/design_ppi.sh create mode 100755 examples/design_ppi_scaffolded.sh create mode 100755 examples/design_tetrahedral_oligos.sh create mode 100755 examples/design_timbarrel.sh create mode 100755 examples/design_unconditional.sh create mode 100755 examples/input_pdbs/1qys.pdb create mode 100644 examples/input_pdbs/2KL8.pdb create mode 100755 examples/input_pdbs/5TPN.pdb create mode 100644 examples/input_pdbs/5an7.pdb create mode 100755 examples/input_pdbs/insulin_target.pdb create mode 100644 examples/input_pdbs/nickel_symmetric_motif.pdb create mode 100644 examples/input_pdbs/peptide_complex_ideal_helix.pdb create mode 100644 examples/ppi_scaffolds_subset.tar.gz create mode 100644 examples/target_folds/insulin_target_adj.pt create mode 100644 examples/target_folds/insulin_target_ss.pt create mode 100644 examples/tim_barrel_scaffold/6WVS_adj.pt create mode 100644 examples/tim_barrel_scaffold/6WVS_ss.pt create mode 100644 helper_scripts/2KL8.pdb create mode 100755 helper_scripts/make_secstruc_adj.py create mode 100644 igso3.py create mode 100644 img/binder.png create mode 100644 img/cropped_uncond.png create mode 100644 img/diffusion_protein_gradient_2.jpg create mode 100644 img/fold_cond.png create mode 100644 img/main.png create mode 100644 img/motif.png create mode 100644 img/olig.png create mode 100644 img/olig2.png create mode 100644 img/partial.png create mode 100644 img/sym_motif.png create mode 100644 img/uncond.png create mode 100644 inference/model_runners.py create mode 100644 inference/sym_rots.npz create mode 100644 inference/symmetry.py create mode 100644 inference/utils.py create mode 100644 kinematics.py create mode 100644 model_input_logger.py create mode 100644 potentials/manager.py create mode 100644 potentials/potentials.py create mode 100755 run_inference.py create mode 100644 scoring.py create mode 100644 util.py create mode 100644 util_module.py diff --git a/Attention_module.py b/Attention_module.py new file mode 100644 index 0000000..9d2bcfe --- /dev/null +++ b/Attention_module.py @@ -0,0 +1,404 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +import math +from opt_einsum import contract as einsum +from util_module import init_lecun_normal + +class FeedForwardLayer(nn.Module): + def __init__(self, d_model, r_ff, p_drop=0.1): + super(FeedForwardLayer, self).__init__() + self.norm = nn.LayerNorm(d_model) + self.linear1 = nn.Linear(d_model, d_model*r_ff) + self.dropout = nn.Dropout(p_drop) + self.linear2 = nn.Linear(d_model*r_ff, d_model) + + self.reset_parameter() + + def reset_parameter(self): + # initialize linear layer right before ReLu: He initializer (kaiming normal) + nn.init.kaiming_normal_(self.linear1.weight, nonlinearity='relu') + nn.init.zeros_(self.linear1.bias) + + # initialize linear layer right before residual connection: zero initialize + nn.init.zeros_(self.linear2.weight) + nn.init.zeros_(self.linear2.bias) + + def forward(self, src): + src = self.norm(src) + src = self.linear2(self.dropout(F.relu_(self.linear1(src)))) + return src + +class Attention(nn.Module): + # calculate multi-head attention + def __init__(self, d_query, d_key, n_head, d_hidden, d_out, p_drop=0.1): + super(Attention, self).__init__() + self.h = n_head + self.dim = d_hidden + # + self.to_q = nn.Linear(d_query, n_head*d_hidden, bias=False) + self.to_k = nn.Linear(d_key, n_head*d_hidden, bias=False) + self.to_v = nn.Linear(d_key, n_head*d_hidden, bias=False) + # + self.to_out = nn.Linear(n_head*d_hidden, d_out) + self.scaling = 1/math.sqrt(d_hidden) + # + # initialize all parameters properly + self.reset_parameter() + + def reset_parameter(self): + # query/key/value projection: Glorot uniform / Xavier uniform + nn.init.xavier_uniform_(self.to_q.weight) + nn.init.xavier_uniform_(self.to_k.weight) + nn.init.xavier_uniform_(self.to_v.weight) + + # to_out: right before residual connection: zero initialize -- to make it sure residual operation is same to the Identity at the begining + nn.init.zeros_(self.to_out.weight) + nn.init.zeros_(self.to_out.bias) + + def forward(self, query, key, value): + B, Q = query.shape[:2] + B, K = key.shape[:2] + # + query = self.to_q(query).reshape(B, Q, self.h, self.dim) + key = self.to_k(key).reshape(B, K, self.h, self.dim) + value = self.to_v(value).reshape(B, K, self.h, self.dim) + # + query = query * self.scaling + attn = einsum('bqhd,bkhd->bhqk', query, key) + attn = F.softmax(attn, dim=-1) + # + out = einsum('bhqk,bkhd->bqhd', attn, value) + out = out.reshape(B, Q, self.h*self.dim) + # + out = self.to_out(out) + + return out + +class AttentionWithBias(nn.Module): + def __init__(self, d_in=256, d_bias=128, n_head=8, d_hidden=32): + super(AttentionWithBias, self).__init__() + self.norm_in = nn.LayerNorm(d_in) + self.norm_bias = nn.LayerNorm(d_bias) + # + self.to_q = nn.Linear(d_in, n_head*d_hidden, bias=False) + self.to_k = nn.Linear(d_in, n_head*d_hidden, bias=False) + self.to_v = nn.Linear(d_in, n_head*d_hidden, bias=False) + self.to_b = nn.Linear(d_bias, n_head, bias=False) + self.to_g = nn.Linear(d_in, n_head*d_hidden) + self.to_out = nn.Linear(n_head*d_hidden, d_in) + + self.scaling = 1/math.sqrt(d_hidden) + self.h = n_head + self.dim = d_hidden + + self.reset_parameter() + + def reset_parameter(self): + # query/key/value projection: Glorot uniform / Xavier uniform + nn.init.xavier_uniform_(self.to_q.weight) + nn.init.xavier_uniform_(self.to_k.weight) + nn.init.xavier_uniform_(self.to_v.weight) + + # bias: normal distribution + self.to_b = init_lecun_normal(self.to_b) + + # gating: zero weights, one biases (mostly open gate at the begining) + nn.init.zeros_(self.to_g.weight) + nn.init.ones_(self.to_g.bias) + + # to_out: right before residual connection: zero initialize -- to make it sure residual operation is same to the Identity at the begining + nn.init.zeros_(self.to_out.weight) + nn.init.zeros_(self.to_out.bias) + + def forward(self, x, bias): + B, L = x.shape[:2] + # + x = self.norm_in(x) + bias = self.norm_bias(bias) + # + query = self.to_q(x).reshape(B, L, self.h, self.dim) + key = self.to_k(x).reshape(B, L, self.h, self.dim) + value = self.to_v(x).reshape(B, L, self.h, self.dim) + bias = self.to_b(bias) # (B, L, L, h) + gate = torch.sigmoid(self.to_g(x)) + # + key = key * self.scaling + attn = einsum('bqhd,bkhd->bqkh', query, key) + attn = attn + bias + attn = F.softmax(attn, dim=-2) + # + out = einsum('bqkh,bkhd->bqhd', attn, value).reshape(B, L, -1) + out = gate * out + # + out = self.to_out(out) + return out + +# MSA Attention (row/column) from AlphaFold architecture +class SequenceWeight(nn.Module): + def __init__(self, d_msa, n_head, d_hidden, p_drop=0.1): + super(SequenceWeight, self).__init__() + self.h = n_head + self.dim = d_hidden + self.scale = 1.0 / math.sqrt(self.dim) + + self.to_query = nn.Linear(d_msa, n_head*d_hidden) + self.to_key = nn.Linear(d_msa, n_head*d_hidden) + self.dropout = nn.Dropout(p_drop) + + self.reset_parameter() + + def reset_parameter(self): + # query/key/value projection: Glorot uniform / Xavier uniform + nn.init.xavier_uniform_(self.to_query.weight) + nn.init.xavier_uniform_(self.to_key.weight) + + def forward(self, msa): + B, N, L = msa.shape[:3] + + tar_seq = msa[:,0] + + q = self.to_query(tar_seq).view(B, 1, L, self.h, self.dim) + k = self.to_key(msa).view(B, N, L, self.h, self.dim) + + q = q * self.scale + attn = einsum('bqihd,bkihd->bkihq', q, k) + attn = F.softmax(attn, dim=1) + return self.dropout(attn) + +class MSARowAttentionWithBias(nn.Module): + def __init__(self, d_msa=256, d_pair=128, n_head=8, d_hidden=32): + super(MSARowAttentionWithBias, self).__init__() + self.norm_msa = nn.LayerNorm(d_msa) + self.norm_pair = nn.LayerNorm(d_pair) + # + self.seq_weight = SequenceWeight(d_msa, n_head, d_hidden, p_drop=0.1) + self.to_q = nn.Linear(d_msa, n_head*d_hidden, bias=False) + self.to_k = nn.Linear(d_msa, n_head*d_hidden, bias=False) + self.to_v = nn.Linear(d_msa, n_head*d_hidden, bias=False) + self.to_b = nn.Linear(d_pair, n_head, bias=False) + self.to_g = nn.Linear(d_msa, n_head*d_hidden) + self.to_out = nn.Linear(n_head*d_hidden, d_msa) + + self.scaling = 1/math.sqrt(d_hidden) + self.h = n_head + self.dim = d_hidden + + self.reset_parameter() + + def reset_parameter(self): + # query/key/value projection: Glorot uniform / Xavier uniform + nn.init.xavier_uniform_(self.to_q.weight) + nn.init.xavier_uniform_(self.to_k.weight) + nn.init.xavier_uniform_(self.to_v.weight) + + # bias: normal distribution + self.to_b = init_lecun_normal(self.to_b) + + # gating: zero weights, one biases (mostly open gate at the begining) + nn.init.zeros_(self.to_g.weight) + nn.init.ones_(self.to_g.bias) + + # to_out: right before residual connection: zero initialize -- to make it sure residual operation is same to the Identity at the begining + nn.init.zeros_(self.to_out.weight) + nn.init.zeros_(self.to_out.bias) + + def forward(self, msa, pair): # TODO: make this as tied-attention + B, N, L = msa.shape[:3] + # + msa = self.norm_msa(msa) + pair = self.norm_pair(pair) + # + seq_weight = self.seq_weight(msa) # (B, N, L, h, 1) + query = self.to_q(msa).reshape(B, N, L, self.h, self.dim) + key = self.to_k(msa).reshape(B, N, L, self.h, self.dim) + value = self.to_v(msa).reshape(B, N, L, self.h, self.dim) + bias = self.to_b(pair) # (B, L, L, h) + gate = torch.sigmoid(self.to_g(msa)) + # + query = query * seq_weight.expand(-1, -1, -1, -1, self.dim) + key = key * self.scaling + attn = einsum('bsqhd,bskhd->bqkh', query, key) + attn = attn + bias + attn = F.softmax(attn, dim=-2) + # + out = einsum('bqkh,bskhd->bsqhd', attn, value).reshape(B, N, L, -1) + out = gate * out + # + out = self.to_out(out) + return out + +class MSAColAttention(nn.Module): + def __init__(self, d_msa=256, n_head=8, d_hidden=32): + super(MSAColAttention, self).__init__() + self.norm_msa = nn.LayerNorm(d_msa) + # + self.to_q = nn.Linear(d_msa, n_head*d_hidden, bias=False) + self.to_k = nn.Linear(d_msa, n_head*d_hidden, bias=False) + self.to_v = nn.Linear(d_msa, n_head*d_hidden, bias=False) + self.to_g = nn.Linear(d_msa, n_head*d_hidden) + self.to_out = nn.Linear(n_head*d_hidden, d_msa) + + self.scaling = 1/math.sqrt(d_hidden) + self.h = n_head + self.dim = d_hidden + + self.reset_parameter() + + def reset_parameter(self): + # query/key/value projection: Glorot uniform / Xavier uniform + nn.init.xavier_uniform_(self.to_q.weight) + nn.init.xavier_uniform_(self.to_k.weight) + nn.init.xavier_uniform_(self.to_v.weight) + + # gating: zero weights, one biases (mostly open gate at the begining) + nn.init.zeros_(self.to_g.weight) + nn.init.ones_(self.to_g.bias) + + # to_out: right before residual connection: zero initialize -- to make it sure residual operation is same to the Identity at the begining + nn.init.zeros_(self.to_out.weight) + nn.init.zeros_(self.to_out.bias) + + def forward(self, msa): + B, N, L = msa.shape[:3] + # + msa = self.norm_msa(msa) + # + query = self.to_q(msa).reshape(B, N, L, self.h, self.dim) + key = self.to_k(msa).reshape(B, N, L, self.h, self.dim) + value = self.to_v(msa).reshape(B, N, L, self.h, self.dim) + gate = torch.sigmoid(self.to_g(msa)) + # + query = query * self.scaling + attn = einsum('bqihd,bkihd->bihqk', query, key) + attn = F.softmax(attn, dim=-1) + # + out = einsum('bihqk,bkihd->bqihd', attn, value).reshape(B, N, L, -1) + out = gate * out + # + out = self.to_out(out) + return out + +class MSAColGlobalAttention(nn.Module): + def __init__(self, d_msa=64, n_head=8, d_hidden=8): + super(MSAColGlobalAttention, self).__init__() + self.norm_msa = nn.LayerNorm(d_msa) + # + self.to_q = nn.Linear(d_msa, n_head*d_hidden, bias=False) + self.to_k = nn.Linear(d_msa, d_hidden, bias=False) + self.to_v = nn.Linear(d_msa, d_hidden, bias=False) + self.to_g = nn.Linear(d_msa, n_head*d_hidden) + self.to_out = nn.Linear(n_head*d_hidden, d_msa) + + self.scaling = 1/math.sqrt(d_hidden) + self.h = n_head + self.dim = d_hidden + + self.reset_parameter() + + def reset_parameter(self): + # query/key/value projection: Glorot uniform / Xavier uniform + nn.init.xavier_uniform_(self.to_q.weight) + nn.init.xavier_uniform_(self.to_k.weight) + nn.init.xavier_uniform_(self.to_v.weight) + + # gating: zero weights, one biases (mostly open gate at the begining) + nn.init.zeros_(self.to_g.weight) + nn.init.ones_(self.to_g.bias) + + # to_out: right before residual connection: zero initialize -- to make it sure residual operation is same to the Identity at the begining + nn.init.zeros_(self.to_out.weight) + nn.init.zeros_(self.to_out.bias) + + def forward(self, msa): + B, N, L = msa.shape[:3] + # + msa = self.norm_msa(msa) + # + query = self.to_q(msa).reshape(B, N, L, self.h, self.dim) + query = query.mean(dim=1) # (B, L, h, dim) + key = self.to_k(msa) # (B, N, L, dim) + value = self.to_v(msa) # (B, N, L, dim) + gate = torch.sigmoid(self.to_g(msa)) # (B, N, L, h*dim) + # + query = query * self.scaling + attn = einsum('bihd,bkid->bihk', query, key) # (B, L, h, N) + attn = F.softmax(attn, dim=-1) + # + out = einsum('bihk,bkid->bihd', attn, value).reshape(B, 1, L, -1) # (B, 1, L, h*dim) + out = gate * out # (B, N, L, h*dim) + # + out = self.to_out(out) + return out + +# Instead of triangle attention, use Tied axail attention with bias from coordinates..? +class BiasedAxialAttention(nn.Module): + def __init__(self, d_pair, d_bias, n_head, d_hidden, p_drop=0.1, is_row=True): + super(BiasedAxialAttention, self).__init__() + # + self.is_row = is_row + self.norm_pair = nn.LayerNorm(d_pair) + self.norm_bias = nn.LayerNorm(d_bias) + + self.to_q = nn.Linear(d_pair, n_head*d_hidden, bias=False) + self.to_k = nn.Linear(d_pair, n_head*d_hidden, bias=False) + self.to_v = nn.Linear(d_pair, n_head*d_hidden, bias=False) + self.to_b = nn.Linear(d_bias, n_head, bias=False) + self.to_g = nn.Linear(d_pair, n_head*d_hidden) + self.to_out = nn.Linear(n_head*d_hidden, d_pair) + + self.scaling = 1/math.sqrt(d_hidden) + self.h = n_head + self.dim = d_hidden + + # initialize all parameters properly + self.reset_parameter() + + def reset_parameter(self): + # query/key/value projection: Glorot uniform / Xavier uniform + nn.init.xavier_uniform_(self.to_q.weight) + nn.init.xavier_uniform_(self.to_k.weight) + nn.init.xavier_uniform_(self.to_v.weight) + + # bias: normal distribution + self.to_b = init_lecun_normal(self.to_b) + + # gating: zero weights, one biases (mostly open gate at the begining) + nn.init.zeros_(self.to_g.weight) + nn.init.ones_(self.to_g.bias) + + # to_out: right before residual connection: zero initialize -- to make it sure residual operation is same to the Identity at the begining + nn.init.zeros_(self.to_out.weight) + nn.init.zeros_(self.to_out.bias) + + def forward(self, pair, bias): + # pair: (B, L, L, d_pair) + B, L = pair.shape[:2] + + if self.is_row: + pair = pair.permute(0,2,1,3) + bias = bias.permute(0,2,1,3) + + pair = self.norm_pair(pair) + bias = self.norm_bias(bias) + + query = self.to_q(pair).reshape(B, L, L, self.h, self.dim) + key = self.to_k(pair).reshape(B, L, L, self.h, self.dim) + value = self.to_v(pair).reshape(B, L, L, self.h, self.dim) + bias = self.to_b(bias) # (B, L, L, h) + gate = torch.sigmoid(self.to_g(pair)) # (B, L, L, h*dim) + + query = query * self.scaling + key = key / math.sqrt(L) # normalize for tied attention + attn = einsum('bnihk,bnjhk->bijh', query, key) # tied attention + attn = attn + bias # apply bias + attn = F.softmax(attn, dim=-2) # (B, L, L, h) + + out = einsum('bijh,bkjhd->bikhd', attn, value).reshape(B, L, L, -1) + out = gate * out + + out = self.to_out(out) + if self.is_row: + out = out.permute(0,2,1,3) + return out + diff --git a/AuxiliaryPredictor.py b/AuxiliaryPredictor.py new file mode 100644 index 0000000..af392f9 --- /dev/null +++ b/AuxiliaryPredictor.py @@ -0,0 +1,92 @@ +import torch +import torch.nn as nn + +class DistanceNetwork(nn.Module): + def __init__(self, n_feat, p_drop=0.1): + super(DistanceNetwork, self).__init__() + # + self.proj_symm = nn.Linear(n_feat, 37*2) + self.proj_asymm = nn.Linear(n_feat, 37+19) + + self.reset_parameter() + + def reset_parameter(self): + # initialize linear layer for final logit prediction + nn.init.zeros_(self.proj_symm.weight) + nn.init.zeros_(self.proj_asymm.weight) + nn.init.zeros_(self.proj_symm.bias) + nn.init.zeros_(self.proj_asymm.bias) + + def forward(self, x): + # input: pair info (B, L, L, C) + + # predict theta, phi (non-symmetric) + logits_asymm = self.proj_asymm(x) + logits_theta = logits_asymm[:,:,:,:37].permute(0,3,1,2) + logits_phi = logits_asymm[:,:,:,37:].permute(0,3,1,2) + + # predict dist, omega + logits_symm = self.proj_symm(x) + logits_symm = logits_symm + logits_symm.permute(0,2,1,3) + logits_dist = logits_symm[:,:,:,:37].permute(0,3,1,2) + logits_omega = logits_symm[:,:,:,37:].permute(0,3,1,2) + + return logits_dist, logits_omega, logits_theta, logits_phi + +class MaskedTokenNetwork(nn.Module): + def __init__(self, n_feat, p_drop=0.1): + super(MaskedTokenNetwork, self).__init__() + self.proj = nn.Linear(n_feat, 21) + + self.reset_parameter() + + def reset_parameter(self): + nn.init.zeros_(self.proj.weight) + nn.init.zeros_(self.proj.bias) + + def forward(self, x): + B, N, L = x.shape[:3] + logits = self.proj(x).permute(0,3,1,2).reshape(B, -1, N*L) + + return logits + +class LDDTNetwork(nn.Module): + def __init__(self, n_feat, n_bin_lddt=50): + super(LDDTNetwork, self).__init__() + self.proj = nn.Linear(n_feat, n_bin_lddt) + + self.reset_parameter() + + def reset_parameter(self): + nn.init.zeros_(self.proj.weight) + nn.init.zeros_(self.proj.bias) + + def forward(self, x): + logits = self.proj(x) # (B, L, 50) + + return logits.permute(0,2,1) + +class ExpResolvedNetwork(nn.Module): + def __init__(self, d_msa, d_state, p_drop=0.1): + super(ExpResolvedNetwork, self).__init__() + self.norm_msa = nn.LayerNorm(d_msa) + self.norm_state = nn.LayerNorm(d_state) + self.proj = nn.Linear(d_msa+d_state, 1) + + self.reset_parameter() + + def reset_parameter(self): + nn.init.zeros_(self.proj.weight) + nn.init.zeros_(self.proj.bias) + + def forward(self, seq, state): + B, L = seq.shape[:2] + + seq = self.norm_msa(seq) + state = self.norm_state(state) + feat = torch.cat((seq, state), dim=-1) + logits = self.proj(feat) + return logits.reshape(B, L) + + + diff --git a/Embeddings.py b/Embeddings.py new file mode 100644 index 0000000..c297fa2 --- /dev/null +++ b/Embeddings.py @@ -0,0 +1,388 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from opt_einsum import contract as einsum +import torch.utils.checkpoint as checkpoint +from util import get_tips +from util_module import Dropout, create_custom_forward, rbf, init_lecun_normal +from Attention_module import Attention, FeedForwardLayer, AttentionWithBias +from Track_module import PairStr2Pair +from icecream import ic +import math + +# Module contains classes and functions to generate initial embeddings + +def get_timestep_embedding(timesteps, embedding_dim, max_positions=10000): + # Code from https://github.com/hojonathanho/diffusion/blob/master/diffusion_tf/nn.py + assert len(timesteps.shape) == 1 + half_dim = embedding_dim // 2 + emb = math.log(max_positions) / (half_dim - 1) + + emb = torch.exp(torch.arange(half_dim, dtype=torch.float32, device=timesteps.device) * -emb) + emb = timesteps.float()[:, None] * emb[None, :] + emb = torch.cat([torch.sin(emb), torch.cos(emb)], dim=1) + if embedding_dim % 2 == 1: # zero pad + emb = F.pad(emb, (0, 1), mode='constant') + assert emb.shape == (timesteps.shape[0], embedding_dim) + return emb + +class Timestep_emb(nn.Module): + + def __init__( + self, + input_size, + output_size, + T, + use_motif_timestep=True + ): + super(Timestep_emb, self).__init__() + + self.input_size = input_size + self.output_size = output_size + self.T = T + + # get source for timestep embeddings at all t AND zero (for the motif) + self.source_embeddings = get_timestep_embedding(torch.arange(self.T+1), self.input_size) + self.source_embeddings.requires_grad = False + + # Layers to use for projection + self.node_embedder = nn.Sequential( + nn.Linear(input_size, output_size, bias=False), + nn.ReLU(), + nn.Linear(output_size, output_size, bias=True), + nn.LayerNorm(output_size), + ) + + + def get_init_emb(self, t, L, motif_mask): + """ + Calculates and stacks a timestep embedding to project + + Parameters: + + t (int, required): Current timestep + + L (int, required): Length of protein + + motif_mask (torch.tensor, required): Boolean mask where True denotes a fixed motif position + """ + assert t > 0, 't should be 1-indexed and cant have t=0' + + t_emb = torch.clone(self.source_embeddings[t.squeeze()]).to(motif_mask.device) + zero_emb = torch.clone(self.source_embeddings[0]).to(motif_mask.device) + + # timestep embedding for all residues + timestep_embedding = torch.stack([t_emb]*L) + + # slice in motif zero timestep features + timestep_embedding[motif_mask] = zero_emb + + return timestep_embedding + + + def forward(self, L, t, motif_mask): + """ + Constructs and projects a timestep embedding + """ + emb_in = self.get_init_emb(t,L,motif_mask) + emb_out = self.node_embedder(emb_in) + return emb_out + +class PositionalEncoding2D(nn.Module): + # Add relative positional encoding to pair features + def __init__(self, d_model, minpos=-32, maxpos=32, p_drop=0.1): + super(PositionalEncoding2D, self).__init__() + self.minpos = minpos + self.maxpos = maxpos + self.nbin = abs(minpos)+maxpos+1 + self.emb = nn.Embedding(self.nbin, d_model) + self.drop = nn.Dropout(p_drop) + + def forward(self, x, idx): + bins = torch.arange(self.minpos, self.maxpos, device=x.device) + seqsep = idx[:,None,:] - idx[:,:,None] # (B, L, L) + # + ib = torch.bucketize(seqsep, bins).long() # (B, L, L) + emb = self.emb(ib) #(B, L, L, d_model) + x = x + emb # add relative positional encoding + return self.drop(x) + +class MSA_emb(nn.Module): + # Get initial seed MSA embedding + def __init__(self, d_msa=256, d_pair=128, d_state=32, d_init=22+22+2+2, + minpos=-32, maxpos=32, p_drop=0.1, input_seq_onehot=False): + super(MSA_emb, self).__init__() + self.emb = nn.Linear(d_init, d_msa) # embedding for general MSA + self.emb_q = nn.Embedding(22, d_msa) # embedding for query sequence -- used for MSA embedding + self.emb_left = nn.Embedding(22, d_pair) # embedding for query sequence -- used for pair embedding + self.emb_right = nn.Embedding(22, d_pair) # embedding for query sequence -- used for pair embedding + self.emb_state = nn.Embedding(22, d_state) + self.drop = nn.Dropout(p_drop) + self.pos = PositionalEncoding2D(d_pair, minpos=minpos, maxpos=maxpos, p_drop=p_drop) + + self.input_seq_onehot=input_seq_onehot + + self.reset_parameter() + + def reset_parameter(self): + self.emb = init_lecun_normal(self.emb) + self.emb_q = init_lecun_normal(self.emb_q) + self.emb_left = init_lecun_normal(self.emb_left) + self.emb_right = init_lecun_normal(self.emb_right) + self.emb_state = init_lecun_normal(self.emb_state) + + nn.init.zeros_(self.emb.bias) + + def forward(self, msa, seq, idx): + # Inputs: + # - msa: Input MSA (B, N, L, d_init) + # - seq: Input Sequence (B, L) + # - idx: Residue index + # Outputs: + # - msa: Initial MSA embedding (B, N, L, d_msa) + # - pair: Initial Pair embedding (B, L, L, d_pair) + + N = msa.shape[1] # number of sequenes in MSA + + # msa embedding + msa = self.emb(msa) # (B, N, L, d_model) # MSA embedding + + # Sergey's one hot trick + tmp = (seq @ self.emb_q.weight).unsqueeze(1) # (B, 1, L, d_model) -- query embedding + + msa = msa + tmp.expand(-1, N, -1, -1) # adding query embedding to MSA + msa = self.drop(msa) + + # pair embedding + # Sergey's one hot trick + left = (seq @ self.emb_left.weight)[:,None] # (B, 1, L, d_pair) + right = (seq @ self.emb_right.weight)[:,:,None] # (B, L, 1, d_pair) + + pair = left + right # (B, L, L, d_pair) + pair = self.pos(pair, idx) # add relative position + + # state embedding + # Sergey's one hot trick + state = self.drop(seq @ self.emb_state.weight) + return msa, pair, state + +class Extra_emb(nn.Module): + # Get initial seed MSA embedding + def __init__(self, d_msa=256, d_init=22+1+2, p_drop=0.1, input_seq_onehot=False): + super(Extra_emb, self).__init__() + self.emb = nn.Linear(d_init, d_msa) # embedding for general MSA + self.emb_q = nn.Embedding(22, d_msa) # embedding for query sequence + self.drop = nn.Dropout(p_drop) + + self.input_seq_onehot=input_seq_onehot + + self.reset_parameter() + + def reset_parameter(self): + self.emb = init_lecun_normal(self.emb) + nn.init.zeros_(self.emb.bias) + + def forward(self, msa, seq, idx): + # Inputs: + # - msa: Input MSA (B, N, L, d_init) + # - seq: Input Sequence (B, L) + # - idx: Residue index + # Outputs: + # - msa: Initial MSA embedding (B, N, L, d_msa) + N = msa.shape[1] # number of sequenes in MSA + msa = self.emb(msa) # (B, N, L, d_model) # MSA embedding + + # Sergey's one hot trick + seq = (seq @ self.emb_q.weight).unsqueeze(1) # (B, 1, L, d_model) -- query embedding + """ + #TODO delete this once verified + if self.input_seq_onehot: + # Sergey's one hot trick + seq = (seq @ self.emb_q.weight).unsqueeze(1) # (B, 1, L, d_model) -- query embedding + else: + seq = self.emb_q(seq).unsqueeze(1) # (B, 1, L, d_model) -- query embedding + """ + msa = msa + seq.expand(-1, N, -1, -1) # adding query embedding to MSA + return self.drop(msa) + +class TemplatePairStack(nn.Module): + # process template pairwise features + # use structure-biased attention + def __init__(self, n_block=2, d_templ=64, n_head=4, d_hidden=16, p_drop=0.25): + super(TemplatePairStack, self).__init__() + self.n_block = n_block + proc_s = [PairStr2Pair(d_pair=d_templ, n_head=n_head, d_hidden=d_hidden, p_drop=p_drop) for i in range(n_block)] + self.block = nn.ModuleList(proc_s) + self.norm = nn.LayerNorm(d_templ) + def forward(self, templ, rbf_feat, use_checkpoint=False): + B, T, L = templ.shape[:3] + templ = templ.reshape(B*T, L, L, -1) + + for i_block in range(self.n_block): + if use_checkpoint: + templ = checkpoint.checkpoint(create_custom_forward(self.block[i_block]), templ, rbf_feat) + else: + templ = self.block[i_block](templ, rbf_feat) + return self.norm(templ).reshape(B, T, L, L, -1) + +class TemplateTorsionStack(nn.Module): + def __init__(self, n_block=2, d_templ=64, n_head=4, d_hidden=16, p_drop=0.15): + super(TemplateTorsionStack, self).__init__() + self.n_block=n_block + self.proj_pair = nn.Linear(d_templ+36, d_templ) + proc_s = [AttentionWithBias(d_in=d_templ, d_bias=d_templ, + n_head=n_head, d_hidden=d_hidden) for i in range(n_block)] + self.row_attn = nn.ModuleList(proc_s) + proc_s = [FeedForwardLayer(d_templ, 4, p_drop=p_drop) for i in range(n_block)] + self.ff = nn.ModuleList(proc_s) + self.norm = nn.LayerNorm(d_templ) + + def reset_parameter(self): + self.proj_pair = init_lecun_normal(self.proj_pair) + nn.init.zeros_(self.proj_pair.bias) + + def forward(self, tors, pair, rbf_feat, use_checkpoint=False): + B, T, L = tors.shape[:3] + tors = tors.reshape(B*T, L, -1) + pair = pair.reshape(B*T, L, L, -1) + pair = torch.cat((pair, rbf_feat), dim=-1) + pair = self.proj_pair(pair) + + for i_block in range(self.n_block): + if use_checkpoint: + tors = tors + checkpoint.checkpoint(create_custom_forward(self.row_attn[i_block]), tors, pair) + else: + tors = tors + self.row_attn[i_block](tors, pair) + tors = tors + self.ff[i_block](tors) + return self.norm(tors).reshape(B, T, L, -1) + +class Templ_emb(nn.Module): + # Get template embedding + # Features are + # t2d: + # - 37 distogram bins + 6 orientations (43) + # - Mask (missing/unaligned) (1) + # t1d: + # - tiled AA sequence (20 standard aa + gap) + # - confidence (1) + # - contacting or note (1). NB this is added for diffusion model. Used only in complex training examples - 1 signifies that a residue in the non-diffused chain\ + # i.e. the context, is in contact with the diffused chain. + # + #Added extra t1d dimension for contacting or not + def __init__(self, d_t1d=21+1+1, d_t2d=43+1, d_tor=30, d_pair=128, d_state=32, + n_block=2, d_templ=64, + n_head=4, d_hidden=16, p_drop=0.25): + super(Templ_emb, self).__init__() + # process 2D features + self.emb = nn.Linear(d_t1d*2+d_t2d, d_templ) + self.templ_stack = TemplatePairStack(n_block=n_block, d_templ=d_templ, n_head=n_head, + d_hidden=d_hidden, p_drop=p_drop) + + self.attn = Attention(d_pair, d_templ, n_head, d_hidden, d_pair, p_drop=p_drop) + + # process torsion angles + self.emb_t1d = nn.Linear(d_t1d+d_tor, d_templ) + self.proj_t1d = nn.Linear(d_templ, d_templ) + #self.tor_stack = TemplateTorsionStack(n_block=n_block, d_templ=d_templ, n_head=n_head, + # d_hidden=d_hidden, p_drop=p_drop) + self.attn_tor = Attention(d_state, d_templ, n_head, d_hidden, d_state, p_drop=p_drop) + + self.reset_parameter() + + def reset_parameter(self): + self.emb = init_lecun_normal(self.emb) + nn.init.zeros_(self.emb.bias) + + nn.init.kaiming_normal_(self.emb_t1d.weight, nonlinearity='relu') + nn.init.zeros_(self.emb_t1d.bias) + + self.proj_t1d = init_lecun_normal(self.proj_t1d) + nn.init.zeros_(self.proj_t1d.bias) + + def forward(self, t1d, t2d, alpha_t, xyz_t, pair, state, use_checkpoint=False): + # Input + # - t1d: 1D template info (B, T, L, 23) + # - t2d: 2D template info (B, T, L, L, 44) + B, T, L, _ = t1d.shape + + # Prepare 2D template features + left = t1d.unsqueeze(3).expand(-1,-1,-1,L,-1) + right = t1d.unsqueeze(2).expand(-1,-1,L,-1,-1) + # + templ = torch.cat((t2d, left, right), -1) # (B, T, L, L, 90) + templ = self.emb(templ) # Template templures (B, T, L, L, d_templ) + # process each template features + xyz_t = xyz_t.reshape(B*T, L, -1, 3) + rbf_feat = rbf(torch.cdist(xyz_t[:,:,1], xyz_t[:,:,1])) + templ = self.templ_stack(templ, rbf_feat, use_checkpoint=use_checkpoint) # (B, T, L,L, d_templ) + + # Prepare 1D template torsion angle features + t1d = torch.cat((t1d, alpha_t), dim=-1) # (B, T, L, 23+30) + + # process each template features + t1d = self.proj_t1d(F.relu_(self.emb_t1d(t1d))) + + # mixing query state features to template state features + state = state.reshape(B*L, 1, -1) + t1d = t1d.permute(0,2,1,3).reshape(B*L, T, -1) + if use_checkpoint: + out = checkpoint.checkpoint(create_custom_forward(self.attn_tor), state, t1d, t1d) + out = out.reshape(B, L, -1) + else: + out = self.attn_tor(state, t1d, t1d).reshape(B, L, -1) + state = state.reshape(B, L, -1) + state = state + out + + # mixing query pair features to template information (Template pointwise attention) + pair = pair.reshape(B*L*L, 1, -1) + templ = templ.permute(0, 2, 3, 1, 4).reshape(B*L*L, T, -1) + if use_checkpoint: + out = checkpoint.checkpoint(create_custom_forward(self.attn), pair, templ, templ) + out = out.reshape(B, L, L, -1) + else: + out = self.attn(pair, templ, templ).reshape(B, L, L, -1) + # + pair = pair.reshape(B, L, L, -1) + pair = pair + out + + return pair, state + +class Recycling(nn.Module): + def __init__(self, d_msa=256, d_pair=128, d_state=32): + super(Recycling, self).__init__() + self.proj_dist = nn.Linear(36+d_state*2, d_pair) + self.norm_state = nn.LayerNorm(d_state) + self.norm_pair = nn.LayerNorm(d_pair) + self.norm_msa = nn.LayerNorm(d_msa) + + self.reset_parameter() + + def reset_parameter(self): + self.proj_dist = init_lecun_normal(self.proj_dist) + nn.init.zeros_(self.proj_dist.bias) + + def forward(self, seq, msa, pair, xyz, state): + B, L = pair.shape[:2] + state = self.norm_state(state) + # + left = state.unsqueeze(2).expand(-1,-1,L,-1) + right = state.unsqueeze(1).expand(-1,L,-1,-1) + + # three anchor atoms + N = xyz[:,:,0] + Ca = xyz[:,:,1] + C = xyz[:,:,2] + + # recreate Cb given N,Ca,C + b = Ca - N + c = C - Ca + a = torch.cross(b, c, dim=-1) + Cb = -0.58273431*a + 0.56802827*b - 0.54067466*c + Ca + + dist = rbf(torch.cdist(Cb, Cb)) + dist = torch.cat((dist, left, right), dim=-1) + dist = self.proj_dist(dist) + pair = dist + self.norm_pair(pair) + msa = self.norm_msa(msa) + return msa, pair, state + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..9643349 --- /dev/null +++ b/LICENSE @@ -0,0 +1,30 @@ +BSD License + +Copyright (c) 2023 University of Washington. Developed at the Institute for +Protein Design by Joseph Watson, David Juergens, Nathaniel Bennett, Brian Trippe +and Jason Yim + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this +list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +Neither the name of the University of Washington nor the names of its +contributors may be used to endorse or promote products derived from this +software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE UNIVERSITY OF WASHINGTON AND CONTRIBUTORS “AS +IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY OF WASHINGTON OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..6d14d0c --- /dev/null +++ b/README.md @@ -0,0 +1,425 @@ +# RF*diffusion* + + +

+ alt text +

+ +*Image: Ian C. Haydon / UW Institute for Protein Design* + +## Description + +RFdiffusion is an open source method for structure generation, with or without conditional information (a motif, target etc). It can perform a whole range of protein design challenges as we have outlined in [the RFdiffusion paper](https://www.biorxiv.org/content/10.1101/2022.12.09.519842v1). + +**Things Diffusion can do** +- Motif Scaffolding +- Unconditional protein generation +- Symmetric unconditional generation (cyclic, dihedral and tetrahedral symmetries currently implemented, more coming!) +- Symmetric motif scaffolding +- Binder design +- Design diversification ("partial diffusion", sampling around a design) + +--- + +## Getting started / installation + +Thanks to Sergey Ovchinnikov, RFdiffusion is available as a [Google Colab Notebook](https://colab.research.google.com/github/sokrypton/ColabDesign/blob/v1.1.1/rf/examples/diffusion.ipynb) if you would like to run it there! + +We strongly recommend reading this README carefully before getting started with RFdiffusion, and working through some of the examples in the Colab Notebook. + +If you want to set up RFdiffusion locally, follow the steps below: + +To get started using RFdiffusion, clone the repo: +``` +git clone https://github.com/RosettaCommons/RFdiffusion.git +``` + +You'll then need to download the model weights: +``` +mkdir models && cd models +wget http://files.ipd.uw.edu/pub/RFdiffusion/6f5902ac237024bdd0c176cb93063dc4/Base_ckpt.pt +wget http://files.ipd.uw.edu/pub/RFdiffusion/e29311f6f1bf1af907f9ef9f44b8328b/Complex_base_ckpt.pt +wget http://files.ipd.uw.edu/pub/RFdiffusion/60f09a193fb5e5ccdc4980417708dbab/Complex_Fold_base_ckpt.pt +wget http://files.ipd.uw.edu/pub/RFdiffusion/74f51cfb8b440f50d70878e05361d8f0/InpaintSeq_ckpt.pt +wget http://files.ipd.uw.edu/pub/RFdiffusion/76d00716416567174cdb7ca96e208296/InpaintSeq_Fold_ckpt.pt +wget http://files.ipd.uw.edu/pub/RFdiffusion/5532d2e1f3a4738decd58b19d633b3c3/ActiveSite_ckpt.pt +wget http://files.ipd.uw.edu/pub/RFdiffusion/12fc204edeae5b57713c5ad7dcb97d39/Base_epoch8_ckpt.pt + +Optional: +wget http://files.ipd.uw.edu/pub/RFdiffusion/f572d396fae9206628714fb2ce00f72e/Complex_beta_ckpt.pt +``` + + +### Conda Install SE3-Transformer + +Ensure that you have either [Anaconda or Miniconda](https://conda.io/projects/conda/en/latest/user-guide/install/index.html) installed. + +You also need to install [NVIDIA's implementation of SE(3)-Transformers](https://developer.nvidia.com/blog/accelerating-se3-transformers-training-using-an-nvidia-open-source-model-implementation/) Here is how to install the NVIDIA SE(3)-Transformer code: + +``` +conda env create -f env/SE3nv.yml + +conda activate SE3nv +cd env/SE3Transformer +pip install --no-cache-dir -r requirements.txt +python setup.py install +``` +Anytime you run diffusion you should be sure to activate this conda environment by running the following command: +``` +conda activate SE3nv +``` + +--- + +### Get PPI Scaffold Examples + +To run the scaffolded protein binder design (PPI) examples, we have provided some example scaffold files (`examples/ppi_scaffolds_subset.tar.gz`). +You'll need to untar this: +``` +tar -xvf examples/ppi_scaffolds_subset.tar.gz -C examples/ +``` + +We will explain what these files are and how to use them in the Fold Conditioning section. + +---- + + +# Usage +In this section we will demonstrate how to run diffusion. + + + +

+ alt text +

+ + +### Running the diffusion script +The actual script you will execute is called `run_inference.py`. There are many ways to run it, governed by hydra configs. +[Hydra configs](https://hydra.cc/docs/configure_hydra/intro/) are a nice way of being able to specify many different options, with sensible defaults drawn *directly* from the model checkpoint, so inference should always, by default, match training. +What this means is that the default values in `config/inference/base.yml` might not match the actual values used during inference, with a specific checkpoint. This is all handled under the hood. + +--- +### Basic execution - an unconditional monomer +alt text + +Let's first look at how you would do unconditional design of a protein of length 150aa. +For this, we just need to specify three things: +1. The length of the protein +2. The location where we want to write files to +3. The number of designs we want + +``` +./run_inference.py 'contigmap.contigs=[150-150]' inference.output_prefix=test_outputs/test inference.num_designs=10 +``` + +Let's look at this in detail. +Firstly, what is `contigmap.contigs`? +Hydra configs tell the inference script how it should be run. To keep things organised, the config has different sub-configs, one of them being `contigmap`, which pertains to everything related to the contig string (that defines the protein being built). +Take a look at the config file if this isn't clear: `configs/inference/base.yml` +Anything in the config can be overwritten manually from the command line. You could, for example, change how the diffuser works: +``` +diffuser.crd_scale=0.5 +``` +... but don't do this unless you really know what you're doing!! + + +Now, what does `'contigmap.contigs=[150-150]'` mean? +To those who have used RFjoint inpainting, this might look familiar, but a little bit different. Diffusion, in fact, uses the identical 'contig mapper' as inpainting, except that, because we're using hydra, we have to give this to the model in a different way. The contig string has to be passed as a single-item in a list, rather than as a string, for hydra reasons and the entire argument MUST be enclosed in `''` so that the commandline does not attempt to parse any of the special characters. + +The contig string allows you to specify a length range, but here, we just want a protein of 150aa in length, so you just specify [150-150] +This will then run 10 diffusion trajectories, saving the outputs to your specified output folder. + +NB the first time you run RFdiffusion, it will take a while 'Calculating IGSO3'. Once it has done this, it'll be cached for future reference though! For an additional example of unconditional monomer generation, take a look at `./examples/design_unconditional.sh` in the repo! + +--- +### Motif Scaffolding + +RFdiffusion can be used to scaffold motifs, in a manner akin to [Constrained Hallucination and RFjoint Inpainting](https://www.science.org/doi/10.1126/science.abn2100#:~:text=The%20binding%20and%20catalytic%20functions%20of%20proteins%20are,the%20fold%20or%20secondary%20structure%20of%20the%20scaffold.). In general, RFdiffusion significantly outperforms both Constrained Hallucination and RFjoint Inpainting. +

+ alt text +

+ +When scaffolding protein motifs, we need a way of specifying that we want to scaffold some particular protein input (one or more segments from a `.pdb` file), and to be able to specify how we want these connected, and by how many residues, in the new scaffolded protein. What's more, we want to be able to sample different lengths of connecting protein, as we generally don't know *a priori* precisely how many residues we'll need to best scaffold a motif. This job of specifying inputs is handled by contigs, governed by the contigmap config in the hydra config. For those familiar with Constrained Hallucination or RFjoint Inpainting, the logic is very similar. +Briefly: +- Anything prefixed by a letter indicates that this is a motif, with the letter corresponding to the chain letter in the input pdb files. E.g. A10-25 pertains to residues ('A',1),('A',2)...('A',10) in the corresponding input pdb +- Anything not prefixed by a letter indicates protein *to be built*. This can be input as a length range. These length ranges are randomly sampled each iteration of RFdiffusion inference. +- To specify chain breaks, we use `/0 `. + +In more detail, if we want to scaffold a motif, the input is just like RFjoint Inpainting, except needing to navigate the hydra config input. If we want to scaffold residues 10-25 on chain A a pdb, this would be done with `'contigmap.contigs=[5-15/A10-25/30-40]'`. This asks RFdiffusion to build 5-15 residues (randomly sampled at each inference cycle) N-terminally of A10-25 from the input pdb, followed by 30-40 residues (again, randomly sampled) to its C-terminus. If we wanted to ensure the length was always e.g. 55 residues, this can be specified with `contigmap.length=55-55`. You need to obviously also provide a path to your pdb file: `inference.input_pdb=path/to/file.pdb`. It doesn't matter if your input pdb has residues you *don't* want to scaffold - the contig map defines which residues in the pdb are actually used as the "motif". In other words, even if your pdb files has a B chain, and other residues on the A chain, *only* A10-25 will be provided to RFdiffusion. + +To specify that we want to inpaint in the presence of a separate chain, this can be done as follows: + +``` +'contigmap.contigs=[5-15/A10-25/30-40/0 B1-100]' +``` +Look at this carefully. `/0 ` is the indicator that we want a chain break. NOTE, the space is important here. This tells the diffusion model to add a big residue jump (200aa) to the input, so that the model sees the first chain as being on a separate chain to the second. + +An example of motif scaffolding can be found in `./examples/design_motifscaffolding.sh`. + +### The "active site" model holds very small motifs in place +In the RFdiffusion preprint we noted that for very small motifs, RFdiffusion has the tendency to not keep them perfectly fixed in the output. Therefore, for scaffolding minimalist sites such as enzyme active sites, we fine-tuned RFdiffusion on examples similar to these tasks, allowing it to hold smaller motifs better in place, and better generate *in silico* successes. If your input functional motif is very small, we reccomend using this model, which can easily be specified using the following syntax: +`inference.ckpt_override_path=models/ActiveSite_ckpt.pt` + +### The `inpaint_seq` flag +For those familiar with RFjoint Inpainting, the contigmap.inpaint_seq input is equivalent. The idea is that often, when, for example, fusing two proteins, residues that were on the surface of a protein (and are therefore likely polar), now need to be packed into the 'core' of the protein. We therefore want them to become hydrophobic residues. What we can do, rather than directly mutating them to hydrophobics, is to mask their sequence identity, and allow RFdiffusion to implicitly reason over their sequence, and better pack against them. This requires a different model than the 'base' diffusion model, that has been trained to understand this paradigm, but this is automatically handled by the inference script (you don't need to do anything). + +To specify amino acids whose sequence should be hidden, use the following syntax: +``` +'contigmap.inpaint_seq=[A1/A30-40]' +``` +Here, we're masking the residue identity of residue A1, and all residues between A30 and A40 (inclusive). + +An example of executing motif scaffolding with the `contigmap.inpaint_seq` flag is located in `./examples/design_motifscaffolding_inpaintseq.sh` + +### A note on `diffuser.T` +RFdiffusion was originally trained with 200 discrete timesteps. However, recent improvements have allowed us to reduce the number of timesteps we need to use at inference time. In many cases, running with as few as approximately 20 steps provides outputs of equivalent *in silico* quality to running with 200 steps (providing a 10X speedup). The default is now set to 50 steps. Noting this is important for understanding the partial diffusion, described below. + +--- +### Partial diffusion + +Something we can do with diffusion is to partially noise and de-noise a structure, to get some diversity around a general fold. This can work really nicely (see [Vazquez-Torres et al., BioRxiv 2022](https://www.biorxiv.org/content/10.1101/2022.12.10.519862v4.abstract)). +This is specified by using the diffuser.parial_T input, and setting a timestep to 'noise' to. +

+ alt text +

+More noise == more diversity. In Vazquez-Torres et al., 2022, we typically used `diffuser.partial_T` of approximately 80, but this was with respect to the 200 timesteps we were using. Now that the default `diffuser.T` is 50, you will need to adjust diffuser.partial_T accordingly. E.g. now that `diffuser.T=50`, the equivalent of 80 noising steps is `diffuser.partial_T=20`. We strongly recommend sampling different values for `partial_T` however, to find the best parameters for your specific problem. + +When doing partial diffusion, because we are now diffusing from a known structure, this creates certain constraints. You can still use the contig input, but *this has to yield a contig string exactly the same length as the input protein*. E.g. if you have a binder:target complex, and you want to diversify the binder (length 100, chain A), you would need to input something like this: + +``` +'contigmap.contigs=[100-100/0 B1-150]' diffuser.partial_T=20 +``` +The reason for this is that, if your input protein was only 80 amino acids, but you've specified a desired length of 100, we don't know where to diffuse those extra 20 amino acids from, and hence, they will not lie in the distribution that RFdiffusion has learned to denoise from. + +An example of partial diffusion can be found in `./examples/design_partialdiffusion.sh`! + +You can also keep parts of the sequence of the diffused chain fixed, if you want. An example of why you might want to do this is in the context of helical peptide binding. If you've threaded a helical peptide sequence onto an ideal helix, and now want to diversify the complex, allowing the helix to be predicted now not as an ideal helix, you might do something like: + +``` +'contigmap.contigs=[100-100/0 20-20]' 'contigmap.provide_seq=[100-119]' diffuser.partial_T=10 +``` +In this case, the 20aa chain is the helical peptide. The `contigmap.provide_seq` input is zero-indexed, and you can provide a range (so 100-119 is an inclusive range, unmasking the whole sequence of the peptide). + +Note that the provide_seq option requires using a different model checkpoint, but this is automatically handled by the inference script. + +An example of partial diffusion with providing sequence in diffused regions can be found in `./examples/design_partialdiffusion_withseq.sh`. + +--- +### Binder Design +Hopefully, it's now obvious how you might make a binder with diffusion! Indeed, RFdiffusion shows excellent *in silico* and experimental ability to design *de novo* binders. + +

+ alt text +

+ +If chain B is your target, then you could do it like this: + +``` +./run_inference.py 'contigmap.contigs=[B1-100/0 100-100]' inference.output_prefix=test_outputs/binder_test inference.num_designs=10 +``` + +This will generate 100 residue long binders to residues 1-100 of chain B. You can find another example of + +However, this probably isn't the best way of making binders. Because diffusion is somewhat computationally-intensive, we need to try and make it as fast as possible. Providing the whole of your target, uncropped, is going to make diffusion very slow if your target is big (and most targets-of-interest, such as cell-surface receptors tend to be *very* big). One tried-and-true method to speed up binder design is to crop the target protein around the desired interface location. BUT! This creates a problem: if you crop your target and potentially expose hydrophobic core residues which were buried before the crop, how can you guarantee the binder will go to the intended interface site on the surface of the target, and not target the tantalizing hydrophobic patch you have just artificially created? + +We solve this issue by providing the model with what we call "hotspot residues". The complex models we refer to earlier in this README file have all been trained with hotspot residues, in this training regime, during each example, the model is told (some of) the residues on the target protein which contact the target (i.e., resides that are part of the interface). The model readily learns that it should be making an interface which involved these hotspot residues. At inference time then, we can provide our own hotspot residues to define a region which the binder must contact. These are specfied like this: `'ppi.hotspots=[A30,A33,A34]'`, where `A` is the chain ID in the input pdb file of the hotspot residue and the number is the residue index in the input pdb file of the hotspot residue. + +Finally, it has been observed that the default RFdiffusion model often generates mostly helical binders. These have high computational and experimental success rates. However, there may be cases where other kinds of topologies may be desired. For this, we include a "beta" model, which generates a greater diversity of topologies, but has not been extensively experimentally validated. Try this at your own risk: + +``` +inference.ckpt_override_path=models/Complex_beta_ckpt.pt +``` + +An example of binder design with RFdiffusion can be found in `./examples/design_ppi.sh`. + +--- + +### Fold Conditioning +Something that works really well is conditioning binder design (or monomer generation) on particular topologies. This is achieved by providing (partial) secondary structure and block adjacency information (to a model that has been trained to condition on this). +

+ alt text +

+We are still working out the best way to actually generate this input at inference time, but for now, we have settled upon generating inputs directly from pdb structures. This permits 'low resolution' specification of output topology (i.e., I want a TIM barrel but I don't care precisely where resides are). In `helper_scripts/`, there's a script called `make_secstruc_adj.py`, which can be used as follows: + +e.g. 1: +``` +./make_secstruc_adj.py --input_pdb ./2KL8.pdb --out_dir /my/dir/for/adj_secstruct +``` +or e.g. 2: +``` +./make_secstruc_adj.py --pdb_dir ./pdbs/ --out_dir /my/dir/for/adj_secstruct +``` + +This will process either a single pdb, or a folder of pdbs, and output a secondary structure and adjacency pytorch file, ready to go into the model. For now (although this might not be necessary), you should also generate these files for the target protein (if you're doing PPI), and provide this to the model. You can then use these at inference as follows: + +``` +./run_inference.py inference.output_prefix=./scaffold_conditioned_test/test scaffoldguided.scaffoldguided=True scaffoldguided.target_pdb=False scaffoldguided.scaffold_dir=./examples/ppi_scaffolds_subset +``` + +A few exra things: +1) As mentioned above, for PPI, you will want to provide a target protein, along with its secondary structure and block adjacency. This can be done by adding: + +``` +scaffoldguided.target_pdb=True scaffoldguided.target_path=input_pdbs/insulin_target.pdb inference.output_prefix=insulin_binder/jordi_ss_insulin_noise0_job0 'ppi.hotspot_res=[A59,A83,A91]' scaffoldguided.target_ss=target_folds/insulin_target_ss.pt scaffoldguided.target_adj=target_folds/insulin_target_adj.pt +``` + +To generate these block adjacency and secondary structure inputs, you can use the helper script. + +This will now generate 3-helix bundles to the insulin target. + +For ppi, it's probably also worth adding this flag: + +``` +scaffoldguided.mask_loops=False +``` + +This is quite important to understand. During training, we mask some of the secondary structure and block adjacency. This is convenient, because it allows us to, at inference, easily add extra residues without having to specify precise secondary structure for every residue. E.g. if you want to make a long 3 helix bundle, you could mask the loops, and add e.g. 20 more 'mask' tokens to that loop. The model will then (presumbly) choose to make e.g. 15 of these residues into helices (to extend the 3HB), and then make a 5aa loop. But, you didn't have to specify that, which is nice. The way this would be done would be like this: + +``` +scaffoldguided.mask_loops=True scaffoldguided.sampled_insertion=15 scaffoldguided.sampled_N=5 scaffoldguided.sampled_C=5 +``` + +This will, at each run of inference, sample up to 15 residues to insert into loops in your 3HB input, and up to 5 additional residues at N and C terminus. +This strategy is very useful if you don't have a large set of pdbs to make block adjacencies for. For example, we showed that we could generate loads of lengthened TIM barrels from a single starting pdb with this strategy. However, for PPI, if you're using the provided scaffold sets, it shouldn't be necessary (because there are so many scaffolds to start from, generating extra diversity isn't especially necessary). + +Finally, if you have a big directory of block adjacency/secondary structure files, but don't want to use all of them, you can make a `.txt` file of the ones you want to use, and pass: + +``` +scaffoldguided.scaffold_list=path/to/list +``` + +For PPI, we've consistently seen that reducing the noise added at inference improves designs. This comes at the expense of diversity, but, given that the scaffold sets are huge, this probably doesn't matter too much. We therefore recommend lowering the noise. 0.5 is probably a good compromise: + +``` +denoiser.noise_scale_ca=0.5 denoiser.noise_scale_frame=0.5 +``` +This just scales the amount of noise we add to the translations (`noise_scale_ca`) and rotations (`noise_scale_frame`) by, in this case, 0.5. + +An additional example of PPI with fold conditioning is available here: `./examples/design_ppi_scaffolded.sh` + +--- + +### Generation of Symmetric Oligomers +We're going to switch gears from discussing PPI and look at another task at which RFdiffusion performs well on: symmetric oligomer design. This is done by symmetrising the noise we sample at t=T, and symmetrising the input at every timestep. We have currently implemented the following for use (with the others coming soon!): +- Cyclic symmetry +- Dihedral symmetry +- Tetrahedral symmetry + +

+ alt text +

+ +Here's an example: +``` +./run_inference.py --config-name symmetry inference.symmetry=tetrahedral 'contigmap.contigs=[360]' inference.output_prefix=test_sample/tetrahedral inference.num_designs=1 +``` + +Here, we've specified a different `config` file (with `--config-name symmetry`). Because symmetric diffusion is quite different from the diffusion described above, we packaged a whole load of symmetry-related configs into a new file (see `configs/inference/symmetry.yml`). Using this config file now puts diffusion in `symmetry-mode`. + +The symmetry type is then specified with `inference.symmetry=`. Here, we're specifying tetrahedral symmetry, but you could also choose cyclic (e.g. `c4`) or dihedral (e.g. `d2`). + +The configmap.contigs length refers to the *total* length of your oligomer. Therefore, it *must* be divisible by *n* chains. + +More examples of designing oligomers can be found here: `./examples/design_cyclic_oligos.sh`, `./examples/design_dihedral_oligos.sh`, `./examples/design_tetrahedral_oligos.sh`. + +--- + +### Using Auxiliary Potentials +Performing diffusion with symmetrized noise may give you the idea that we could use other external interventions during the denoising process to guide diffusion. One such intervention that we have implemented is auxiliary potentials. Auxiliary potentials can be very useful for guiding the inference process. E.g. whereas in RFjoint inpainting, we have little/no control over the final shape of an output, in diffusion we can readily force the network to make, for example, a well-packed protein. +This is achieved in the updates we make at each step. + +Let's go a little deeper into how the diffusion process works: +At timestep T (the first step of the reverse-diffusion inference process), we sample noise from a known *prior* distribution. The model then makes a prediction of what the final structure should be, and we use these two states (noise at time T, prediction of the structure at time 0) to back-calculate where t=T-1 would have been. We therefore have a vector pointing from each coordinate at time T, to their corresponding, back-calculated position at time T-1. +But, we want to be able to bias this update, to *push* the trajectory towards some desired state. This can be done by biasing that vector with another vector, which points towards a position where that residue would *reduce* the 'loss' as defined by your potential. E.g. if we want to use the `monomer_ROG` potential, which seeks to minimise the radius of gyration of the final protein, if the models prediction of t=0 is very elongated, each of those distant residues will have a larger gradient when we differentiate the `monomer_ROG` potential w.r.t. their positions. These gradients, along with the corresponding scale, can be combined into a vector, which is then combined with the original update vector to make a "biased update" at that timestep. + +The exact parameters used when applying these potentials matter. If you weight them too strongly, you're not going to end up with a good protein. Too weak, and they'll have little effect. We've explored these potentials in a few different scenarios, and have set sensible defaults, if you want to use them. But, if you feel like they're too weak/strong, or you just fancy exploring, do play with the parameters (in the `potentials` part of the config file). + +Potentials are specified as a list of strings with each string corresponding to a potential. The argument for potentials is `potentials.guiding_potentials`. Within the string per-potential arguments may be specified in the following syntax: `arg_name1:arg_value1,arg_name2:arg_value2,...,arg_nameN:arg_valueN`. The only argument that is required for each potential is the name of the potential that you wish to apply, the name of this argument is `type` as-in the type of potential you wish to use. Some potentials such as `olig_contacts` and `substrate_contacts` take global options such as `potentials.substrate`, see `config/inference/base.yml` for all the global arguments associated with potentials. Additionally, it is useful to have the effect of the potential "decay" throughout the trajectory, such that in the beginning the effect of the potential is 1x strength, and by the end is much weaker. These decays (`constant`,`linear`,`quadratic`,`cubic`) can be set with the `potentials.guide_decay` argument. + +Here's an example of how to specify a potential: + +``` +potentials.guiding_potentials=[\"type:olig_contacts,weight_intra:1,weight_inter:0.1\"] potentials.olig_intra_all=True potentials.olig_inter_all=True potentials.guide_scale=2 potentials.guide_decay='quadratic' +``` + +We are still fully characterising how/when to use potentials, and we strongly recommend exploring different parameters yourself, as they are clearly somewhat case-dependent. So far, it is clear that they can be helpful for motif scaffolding and symmetric oligomer generation. However, they seem to interact weirdly with hotspot residues in PPI. We think we know why this is, and will work in the coming months to write better potentials for PPI. And please note, it is often good practice to start with *no potentials* as a baseline, then slowly increase their strength. For the oligomer contacts potentials, start with the ones provided in the examples, and note that the `intra` chain potential often should be higher than the `inter` chain potential. + +We have already implemented several potentials but it is relatively straightforward to add more, if you want to push your designs towards some specified goal. The *only* condition is that, whatever potential you write, it is differentiable. Take a look at `potentials.potentials.py` for examples of the potentials we have implemented so far. + +--- + +### Symmetric Motif Scaffolding. +We can also combine symmetric diffusion with motif scaffolding to scaffold motifs symmetrically. +Currently, we have one way for performing symmetric motif scaffolding. That is by specifying the position of the motif specified w.r.t. the symmetry axes. + +

+ alt text +

+ +**Special input .pdb and contigs requirements** + +For now, we require that a user have a symmetrized version of their motif in their input pdb for symmetric motif scaffolding. There are two main reasons for this. First, the model is trained by centering any motif at the origin, and thus the code also centers motifs at the origin automatically. Therefore, if your motif is not symmetrized, this centering action will result in an asymmetric unit that now has the origin and axes of symmetry running right through it (bad). Secondly, the diffusion code uses a canonical set of symmetry axes (rotation matrices) to propogate the asymmetric unit of a motif. In order to prevent accidentally running diffusion trajectories which are propogating your motif in ways you don't intend, we require that a user symmetrize an input using the RFdiffusion canonical symmetry axes. + +**RFdiffusion canonical symmetry axes** +| Group | Axis | +|:----------:|:-------------:| +| Cyclic | Z | +| Dihedral (cyclic) | Z | +| Dihedral (flip/reflection) | X | + + +**Example: Inputs for symmetric motif scaffolding with motif position specified w.r.t the symetry axes.** + +This example script `examples/design_nickel.sh` can be used to scaffold the C4 symmetric Nickel binding domains shown in the RFdiffusion paper. It combines many concepts discussed earlier, including symmetric oligomer generation, motif scaffolding, and use of guiding potentials. + +Note that the contigs should specify something that is precisely symmetric. Things will break if this is not the case. + +--- + +### A Note on Model Weights + +Because of everything we want diffusion to be able to do, there is not *One Model To Rule Them All*. E.g., if you want to run with secondary structure conditioning, this requires a different model than if you don't. Under the hood, we take care of most of this by default - we parse your input and work out the most appropriate checkpoint. +This is where the config setup is really useful. The exact model checkpoint used at inference contains in it all of the parameters is was trained with, so we can just populate the config file with those values, such that inference runs as designed. +If you do want to specify a different checkpoint (if, for example, we train a new model and you want to test it), you just have to make sure it's compatible with what you're doing. E.g. if you try and give secondary structure features to a model that wasn't trained with them, it'll crash. + +### Things you might want to play with at inference time + +Occasionally, it might good to try an alternative model (for example the active site model, or the beta binder model). These can be specified with `inference.ckpt_override_path`. We do not recommend using these outside of the described use cases, however, as there is not a guarantee they will understand other kinds of inputs. + +For a full list of things that are implemented at inference, see the config file (`configs/inference/base.yml` or `configs/inference/symmetry.yml`). Although you can modify everything, this is not recommended unless you know what you're doing. +Generally, don't change the `model`, `preprocess` or `diffuser` configs. These pertain to how the model was trained, so it's unwise to change how you use the model at inference time. +However, the parameters below are definitely worth exploring: +-inference.final_step: This is when we stop the trajectory. We have seen that you can stop early, and the model is already making a good prediction of the final structure. This speeds up inference. +-denoiser.noise_scale_ca and denoiser.noise_scale_frame: These can be used to reduce the noise used during sampling (as discussed for PPI above). The default is 1 (the same noise added at training), but this can be reduced to e.g. 0.5, or even 0. This actually improves the quality of models coming out of diffusion, but at the expense of diversity. If you're not getting any good outputs, or if your problem is very constrained, you could try reducing the noise. While these parameters can be changed independently (for translations and rotations), we recommend keeping them tied. + +### Understanding the output files +We output several different files. +1. The `.pdb` file. This is the final prediction out of the model. Note that every designed residue is output as a glycine (as we only designed the backbone), and no sidechains are output. This is because, even though RFdiffusion conditions on sidechains in an input motif, there is no loss applied to these predictions, so they can't strictly be trusted. +2. The `.trb` file. This contains useful metadata associated with that specific run, including the specific contig used (if length ranges were sampled), as well as the full config used by RFdiffusion. There are also a few other convenient items in this file: + - details about mapping (i.e. how residues in the input map to residues in the output) + - `con_ref_pdb_idx`/`con_hal_pdb_idx` - These are two arrays including the input pdb indices (in con_ref_pdb_idx), and where they are in the output pdb (in con_hal_pdb_idx). This only contains the chains where inpainting took place (i.e. not any fixed receptor/target chains) + - `con_ref_idx0`/`con_hal_idx0` - These are the same as above, but 0 indexed, and without chain information. This is useful for splicing coordinates out (to assess alignment etc). + - `inpaint_seq` - This details any residues that were masked during inference. +3. Trajectory files. By default, we output the full trajectories into the `/traj/` folder. These files can be opened in pymol, as multi-step pdbs. Note that these are ordered in reverse, so the first pdb is technically the last (t=1) prediction made by RFdiffusion during inference. We include both the `pX0` predictions (what the model predicted at each timestep) and the `Xt-1` trajectories (what went into the model at each timestep). + +### Conclusion + +We are extremely excited to share RFdiffusion with the wider scientific community. We expect to push some updates as and when we make sizeable improvements in the coming months, so do stay tuned. We realize it may take some time to get used to executing RFdiffusion with perfect syntax (sometimes Hydra is hard), so please don't hesitate to create GitHub issues if you need help, we will respond as often as we can. + +Now, let's go make some proteins. Have fun! + +\- Joe, David, Nate, Brian, Jason, and the RFdiffusion team. + +--- + +RFdiffusion builds directly on the architecture and trained parameters of RoseTTAFold. We therefore thank Frank DiMaio and Minkyung Baek, who developed RoseTTAFold. +RFdiffusion is released under an open source BSD License (see LICENSE file). It is free for both non-profit and for-profit use. + + diff --git a/RoseTTAFoldModel.py b/RoseTTAFoldModel.py new file mode 100644 index 0000000..420e7e3 --- /dev/null +++ b/RoseTTAFoldModel.py @@ -0,0 +1,153 @@ +import torch +import torch.nn as nn +from Embeddings import MSA_emb, Extra_emb, Templ_emb, Recycling, Timestep_emb +from Track_module import IterativeSimulator +from AuxiliaryPredictor import DistanceNetwork, MaskedTokenNetwork, ExpResolvedNetwork, LDDTNetwork +from util import INIT_CRDS +from opt_einsum import contract as einsum +from icecream import ic + +class RoseTTAFoldModule(nn.Module): + def __init__(self, + n_extra_block, + n_main_block, + n_ref_block, + d_msa, + d_msa_full, + d_pair, + d_templ, + n_head_msa, + n_head_pair, + n_head_templ, + d_hidden, + d_hidden_templ, + p_drop, + d_t1d, + d_t2d, + d_time_emb, # total dims for input timestep emb + d_time_emb_proj, # size of projected timestep emb + T, # total timesteps (used in timestep emb + use_motif_timestep, # Whether to have a distinct emb for motif + freeze_track_motif, # Whether to freeze updates to motif in track + SE3_param_full={'l0_in_features':32, 'l0_out_features':16, 'num_edge_features':32}, + SE3_param_topk={'l0_in_features':32, 'l0_out_features':16, 'num_edge_features':32}, + input_seq_onehot=False, # For continuous vs. discrete sequence + ): + + super(RoseTTAFoldModule, self).__init__() + + self.freeze_track_motif = freeze_track_motif + + # Input Embeddings + d_state = SE3_param_topk['l0_out_features'] + self.latent_emb = MSA_emb(d_msa=d_msa, d_pair=d_pair, d_state=d_state, + p_drop=p_drop, input_seq_onehot=input_seq_onehot) # Allowed to take onehotseq + self.full_emb = Extra_emb(d_msa=d_msa_full, d_init=25, + p_drop=p_drop, input_seq_onehot=input_seq_onehot) # Allowed to take onehotseq + self.templ_emb = Templ_emb(d_pair=d_pair, d_templ=d_templ, d_state=d_state, + n_head=n_head_templ, + d_hidden=d_hidden_templ, p_drop=0.25, d_t1d=d_t1d, d_t2d=d_t2d) + + # timestep embedder + if d_time_emb: + print('NOTE: Using sinusoidal timestep embeddings of dim ',d_time_emb, ' projected to dim ',d_time_emb_proj) + assert d_t1d >= 22 + d_time_emb_proj, 'timestep projection size doesn\'t fit into RF t1d projection layers' + self.timestep_embedder = Timestep_emb(input_size=d_time_emb, + output_size=d_time_emb_proj, + T=T, + use_motif_timestep=use_motif_timestep) + + + # Update inputs with outputs from previous round + self.recycle = Recycling(d_msa=d_msa, d_pair=d_pair, d_state=d_state) + # + self.simulator = IterativeSimulator(n_extra_block=n_extra_block, + n_main_block=n_main_block, + n_ref_block=n_ref_block, + d_msa=d_msa, d_msa_full=d_msa_full, + d_pair=d_pair, d_hidden=d_hidden, + n_head_msa=n_head_msa, + n_head_pair=n_head_pair, + SE3_param_full=SE3_param_full, + SE3_param_topk=SE3_param_topk, + p_drop=p_drop) + ## + self.c6d_pred = DistanceNetwork(d_pair, p_drop=p_drop) + self.aa_pred = MaskedTokenNetwork(d_msa, p_drop=p_drop) + self.lddt_pred = LDDTNetwork(d_state) + + self.exp_pred = ExpResolvedNetwork(d_msa, d_state) + + def forward(self, msa_latent, msa_full, seq, xyz, idx, t, + t1d=None, t2d=None, xyz_t=None, alpha_t=None, + msa_prev=None, pair_prev=None, state_prev=None, + return_raw=False, return_full=False, return_infer=False, + use_checkpoint=False, motif_mask=None, i_cycle=None, n_cycle=None): + + B, N, L = msa_latent.shape[:3] + # Get embeddings + msa_latent, pair, state = self.latent_emb(msa_latent, seq, idx) + msa_full = self.full_emb(msa_full, seq, idx) + + # Do recycling + if msa_prev == None: + msa_prev = torch.zeros_like(msa_latent[:,0]) + pair_prev = torch.zeros_like(pair) + state_prev = torch.zeros_like(state) + msa_recycle, pair_recycle, state_recycle = self.recycle(seq, msa_prev, pair_prev, xyz, state_prev) + msa_latent[:,0] = msa_latent[:,0] + msa_recycle.reshape(B,L,-1) + pair = pair + pair_recycle + state = state + state_recycle + + + # Get timestep embedding (if using) + if hasattr(self, 'timestep_embedder'): + assert t is not None + time_emb = self.timestep_embedder(L,t,motif_mask) + n_tmpl = t1d.shape[1] + t1d = torch.cat([t1d, time_emb[None,None,...].repeat(1,n_tmpl,1,1)], dim=-1) + + # add template embedding + pair, state = self.templ_emb(t1d, t2d, alpha_t, xyz_t, pair, state, use_checkpoint=use_checkpoint) + + # Predict coordinates from given inputs + is_frozen_residue = motif_mask if self.freeze_track_motif else torch.zeros_like(motif_mask).bool() + msa, pair, R, T, alpha_s, state = self.simulator(seq, msa_latent, msa_full, pair, xyz[:,:,:3], + state, idx, use_checkpoint=use_checkpoint, + motif_mask=is_frozen_residue) + + if return_raw: + # get last structure + xyz = einsum('bnij,bnaj->bnai', R[-1], xyz[:,:,:3]-xyz[:,:,1].unsqueeze(-2)) + T[-1].unsqueeze(-2) + return msa[:,0], pair, xyz, state, alpha_s[-1] + + # predict masked amino acids + logits_aa = self.aa_pred(msa) + + # Predict LDDT + lddt = self.lddt_pred(state) + + if return_infer: + # get last structure + xyz = einsum('bnij,bnaj->bnai', R[-1], xyz[:,:,:3]-xyz[:,:,1].unsqueeze(-2)) + T[-1].unsqueeze(-2) + + # get scalar plddt + nbin = lddt.shape[1] + bin_step = 1.0 / nbin + lddt_bins = torch.linspace(bin_step, 1.0, nbin, dtype=lddt.dtype, device=lddt.device) + pred_lddt = nn.Softmax(dim=1)(lddt) + pred_lddt = torch.sum(lddt_bins[None,:,None]*pred_lddt, dim=1) + + return msa[:,0], pair, xyz, state, alpha_s[-1], logits_aa.permute(0,2,1), pred_lddt + + # + # predict distogram & orientograms + logits = self.c6d_pred(pair) + + # predict experimentally resolved or not + logits_exp = self.exp_pred(msa[:,0], state) + + # get all intermediate bb structures + xyz = einsum('rbnij,bnaj->rbnai', R, xyz[:,:,:3]-xyz[:,:,1].unsqueeze(-2)) + T.unsqueeze(-2) + + return logits, logits_aa, logits_exp, xyz, alpha_s, lddt diff --git a/SE3_network.py b/SE3_network.py new file mode 100644 index 0000000..a1f01d1 --- /dev/null +++ b/SE3_network.py @@ -0,0 +1,83 @@ +import torch +import torch.nn as nn + +#from equivariant_attention.modules import get_basis_and_r, GSE3Res, GNormBias +#from equivariant_attention.modules import GConvSE3, GNormSE3 +#from equivariant_attention.fibers import Fiber + +from util_module import init_lecun_normal_param +from se3_transformer.model import SE3Transformer +from se3_transformer.model.fiber import Fiber + +class SE3TransformerWrapper(nn.Module): + """SE(3) equivariant GCN with attention""" + def __init__(self, num_layers=2, num_channels=32, num_degrees=3, n_heads=4, div=4, + l0_in_features=32, l0_out_features=32, + l1_in_features=3, l1_out_features=2, + num_edge_features=32): + super().__init__() + # Build the network + self.l1_in = l1_in_features + # + fiber_edge = Fiber({0: num_edge_features}) + if l1_out_features > 0: + if l1_in_features > 0: + fiber_in = Fiber({0: l0_in_features, 1: l1_in_features}) + fiber_hidden = Fiber.create(num_degrees, num_channels) + fiber_out = Fiber({0: l0_out_features, 1: l1_out_features}) + else: + fiber_in = Fiber({0: l0_in_features}) + fiber_hidden = Fiber.create(num_degrees, num_channels) + fiber_out = Fiber({0: l0_out_features, 1: l1_out_features}) + else: + if l1_in_features > 0: + fiber_in = Fiber({0: l0_in_features, 1: l1_in_features}) + fiber_hidden = Fiber.create(num_degrees, num_channels) + fiber_out = Fiber({0: l0_out_features}) + else: + fiber_in = Fiber({0: l0_in_features}) + fiber_hidden = Fiber.create(num_degrees, num_channels) + fiber_out = Fiber({0: l0_out_features}) + + self.se3 = SE3Transformer(num_layers=num_layers, + fiber_in=fiber_in, + fiber_hidden=fiber_hidden, + fiber_out = fiber_out, + num_heads=n_heads, + channels_div=div, + fiber_edge=fiber_edge, + use_layer_norm=True) + #use_layer_norm=False) + + self.reset_parameter() + + def reset_parameter(self): + + # make sure linear layer before ReLu are initialized with kaiming_normal_ + for n, p in self.se3.named_parameters(): + if "bias" in n: + nn.init.zeros_(p) + elif len(p.shape) == 1: + continue + else: + if "radial_func" not in n: + p = init_lecun_normal_param(p) + else: + if "net.6" in n: + nn.init.zeros_(p) + else: + nn.init.kaiming_normal_(p, nonlinearity='relu') + + # make last layers to be zero-initialized + #self.se3.graph_modules[-1].to_kernel_self['0'] = init_lecun_normal_param(self.se3.graph_modules[-1].to_kernel_self['0']) + #self.se3.graph_modules[-1].to_kernel_self['1'] = init_lecun_normal_param(self.se3.graph_modules[-1].to_kernel_self['1']) + nn.init.zeros_(self.se3.graph_modules[-1].to_kernel_self['0']) + nn.init.zeros_(self.se3.graph_modules[-1].to_kernel_self['1']) + + def forward(self, G, type_0_features, type_1_features=None, edge_features=None): + if self.l1_in > 0: + node_features = {'0': type_0_features, '1': type_1_features} + else: + node_features = {'0': type_0_features} + edge_features = {'0': edge_features} + return self.se3(G, node_features, edge_features) diff --git a/Track_module.py b/Track_module.py new file mode 100644 index 0000000..e8f742c --- /dev/null +++ b/Track_module.py @@ -0,0 +1,479 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from opt_einsum import contract as einsum +import torch.utils.checkpoint as checkpoint +from util import cross_product_matrix +from util_module import * +from Attention_module import * +from SE3_network import SE3TransformerWrapper + +# Components for three-track blocks +# 1. MSA -> MSA update (biased attention. bias from pair & structure) +# 2. Pair -> Pair update (biased attention. bias from structure) +# 3. MSA -> Pair update (extract coevolution signal) +# 4. Str -> Str update (node from MSA, edge from Pair) + +# Update MSA with biased self-attention. bias from Pair & Str +class MSAPairStr2MSA(nn.Module): + def __init__(self, d_msa=256, d_pair=128, n_head=8, d_state=16, + d_hidden=32, p_drop=0.15, use_global_attn=False): + super(MSAPairStr2MSA, self).__init__() + self.norm_pair = nn.LayerNorm(d_pair) + self.proj_pair = nn.Linear(d_pair+36, d_pair) + self.norm_state = nn.LayerNorm(d_state) + self.proj_state = nn.Linear(d_state, d_msa) + self.drop_row = Dropout(broadcast_dim=1, p_drop=p_drop) + self.row_attn = MSARowAttentionWithBias(d_msa=d_msa, d_pair=d_pair, + n_head=n_head, d_hidden=d_hidden) + if use_global_attn: + self.col_attn = MSAColGlobalAttention(d_msa=d_msa, n_head=n_head, d_hidden=d_hidden) + else: + self.col_attn = MSAColAttention(d_msa=d_msa, n_head=n_head, d_hidden=d_hidden) + self.ff = FeedForwardLayer(d_msa, 4, p_drop=p_drop) + + # Do proper initialization + self.reset_parameter() + + def reset_parameter(self): + # initialize weights to normal distrib + self.proj_pair = init_lecun_normal(self.proj_pair) + self.proj_state = init_lecun_normal(self.proj_state) + + # initialize bias to zeros + nn.init.zeros_(self.proj_pair.bias) + nn.init.zeros_(self.proj_state.bias) + + def forward(self, msa, pair, rbf_feat, state): + ''' + Inputs: + - msa: MSA feature (B, N, L, d_msa) + - pair: Pair feature (B, L, L, d_pair) + - rbf_feat: Ca-Ca distance feature calculated from xyz coordinates (B, L, L, 36) + - xyz: xyz coordinates (B, L, n_atom, 3) + - state: updated node features after SE(3)-Transformer layer (B, L, d_state) + Output: + - msa: Updated MSA feature (B, N, L, d_msa) + ''' + B, N, L = msa.shape[:3] + + # prepare input bias feature by combining pair & coordinate info + pair = self.norm_pair(pair) + pair = torch.cat((pair, rbf_feat), dim=-1) + pair = self.proj_pair(pair) # (B, L, L, d_pair) + # + # update query sequence feature (first sequence in the MSA) with feedbacks (state) from SE3 + state = self.norm_state(state) + state = self.proj_state(state).reshape(B, 1, L, -1) + msa = msa.index_add(1, torch.tensor([0,], device=state.device), state) + # + # Apply row/column attention to msa & transform + msa = msa + self.drop_row(self.row_attn(msa, pair)) + msa = msa + self.col_attn(msa) + msa = msa + self.ff(msa) + + return msa + +class PairStr2Pair(nn.Module): + def __init__(self, d_pair=128, n_head=4, d_hidden=32, d_rbf=36, p_drop=0.15): + super(PairStr2Pair, self).__init__() + + self.emb_rbf = nn.Linear(d_rbf, d_hidden) + self.proj_rbf = nn.Linear(d_hidden, d_pair) + + self.drop_row = Dropout(broadcast_dim=1, p_drop=p_drop) + self.drop_col = Dropout(broadcast_dim=2, p_drop=p_drop) + + self.row_attn = BiasedAxialAttention(d_pair, d_pair, n_head, d_hidden, p_drop=p_drop, is_row=True) + self.col_attn = BiasedAxialAttention(d_pair, d_pair, n_head, d_hidden, p_drop=p_drop, is_row=False) + + self.ff = FeedForwardLayer(d_pair, 2) + + self.reset_parameter() + + def reset_parameter(self): + nn.init.kaiming_normal_(self.emb_rbf.weight, nonlinearity='relu') + nn.init.zeros_(self.emb_rbf.bias) + + self.proj_rbf = init_lecun_normal(self.proj_rbf) + nn.init.zeros_(self.proj_rbf.bias) + + def forward(self, pair, rbf_feat): + B, L = pair.shape[:2] + + rbf_feat = self.proj_rbf(F.relu_(self.emb_rbf(rbf_feat))) + + pair = pair + self.drop_row(self.row_attn(pair, rbf_feat)) + pair = pair + self.drop_col(self.col_attn(pair, rbf_feat)) + pair = pair + self.ff(pair) + return pair + +class MSA2Pair(nn.Module): + def __init__(self, d_msa=256, d_pair=128, d_hidden=32, p_drop=0.15): + super(MSA2Pair, self).__init__() + self.norm = nn.LayerNorm(d_msa) + self.proj_left = nn.Linear(d_msa, d_hidden) + self.proj_right = nn.Linear(d_msa, d_hidden) + self.proj_out = nn.Linear(d_hidden*d_hidden, d_pair) + + self.reset_parameter() + + def reset_parameter(self): + # normal initialization + self.proj_left = init_lecun_normal(self.proj_left) + self.proj_right = init_lecun_normal(self.proj_right) + nn.init.zeros_(self.proj_left.bias) + nn.init.zeros_(self.proj_right.bias) + + # zero initialize output + nn.init.zeros_(self.proj_out.weight) + nn.init.zeros_(self.proj_out.bias) + + def forward(self, msa, pair): + B, N, L = msa.shape[:3] + msa = self.norm(msa) + left = self.proj_left(msa) + right = self.proj_right(msa) + right = right / float(N) + out = einsum('bsli,bsmj->blmij', left, right).reshape(B, L, L, -1) + out = self.proj_out(out) + + pair = pair + out + + return pair + +class SCPred(nn.Module): + def __init__(self, d_msa=256, d_state=32, d_hidden=128, p_drop=0.15): + super(SCPred, self).__init__() + self.norm_s0 = nn.LayerNorm(d_msa) + self.norm_si = nn.LayerNorm(d_state) + self.linear_s0 = nn.Linear(d_msa, d_hidden) + self.linear_si = nn.Linear(d_state, d_hidden) + + # ResNet layers + self.linear_1 = nn.Linear(d_hidden, d_hidden) + self.linear_2 = nn.Linear(d_hidden, d_hidden) + self.linear_3 = nn.Linear(d_hidden, d_hidden) + self.linear_4 = nn.Linear(d_hidden, d_hidden) + + # Final outputs + self.linear_out = nn.Linear(d_hidden, 20) + + self.reset_parameter() + + def reset_parameter(self): + # normal initialization + self.linear_s0 = init_lecun_normal(self.linear_s0) + self.linear_si = init_lecun_normal(self.linear_si) + self.linear_out = init_lecun_normal(self.linear_out) + nn.init.zeros_(self.linear_s0.bias) + nn.init.zeros_(self.linear_si.bias) + nn.init.zeros_(self.linear_out.bias) + + # right before relu activation: He initializer (kaiming normal) + nn.init.kaiming_normal_(self.linear_1.weight, nonlinearity='relu') + nn.init.zeros_(self.linear_1.bias) + nn.init.kaiming_normal_(self.linear_3.weight, nonlinearity='relu') + nn.init.zeros_(self.linear_3.bias) + + # right before residual connection: zero initialize + nn.init.zeros_(self.linear_2.weight) + nn.init.zeros_(self.linear_2.bias) + nn.init.zeros_(self.linear_4.weight) + nn.init.zeros_(self.linear_4.bias) + + def forward(self, seq, state): + ''' + Predict side-chain torsion angles along with backbone torsions + Inputs: + - seq: hidden embeddings corresponding to query sequence (B, L, d_msa) + - state: state feature (output l0 feature) from previous SE3 layer (B, L, d_state) + Outputs: + - si: predicted torsion angles (phi, psi, omega, chi1~4 with cos/sin, Cb bend, Cb twist, CG) (B, L, 10, 2) + ''' + B, L = seq.shape[:2] + seq = self.norm_s0(seq) + state = self.norm_si(state) + si = self.linear_s0(seq) + self.linear_si(state) + + si = si + self.linear_2(F.relu_(self.linear_1(F.relu_(si)))) + si = si + self.linear_4(F.relu_(self.linear_3(F.relu_(si)))) + + si = self.linear_out(F.relu_(si)) + return si.view(B, L, 10, 2) + + +class Str2Str(nn.Module): + def __init__(self, d_msa=256, d_pair=128, d_state=16, + SE3_param={'l0_in_features':32, 'l0_out_features':16, 'num_edge_features':32}, p_drop=0.1): + super(Str2Str, self).__init__() + + # initial node & pair feature process + self.norm_msa = nn.LayerNorm(d_msa) + self.norm_pair = nn.LayerNorm(d_pair) + self.norm_state = nn.LayerNorm(d_state) + + self.embed_x = nn.Linear(d_msa+d_state, SE3_param['l0_in_features']) + self.embed_e1 = nn.Linear(d_pair, SE3_param['num_edge_features']) + self.embed_e2 = nn.Linear(SE3_param['num_edge_features']+36+1, SE3_param['num_edge_features']) + + self.norm_node = nn.LayerNorm(SE3_param['l0_in_features']) + self.norm_edge1 = nn.LayerNorm(SE3_param['num_edge_features']) + self.norm_edge2 = nn.LayerNorm(SE3_param['num_edge_features']) + + self.se3 = SE3TransformerWrapper(**SE3_param) + self.sc_predictor = SCPred(d_msa=d_msa, d_state=SE3_param['l0_out_features'], + p_drop=p_drop) + + self.reset_parameter() + + def reset_parameter(self): + # initialize weights to normal distribution + self.embed_x = init_lecun_normal(self.embed_x) + self.embed_e1 = init_lecun_normal(self.embed_e1) + self.embed_e2 = init_lecun_normal(self.embed_e2) + + # initialize bias to zeros + nn.init.zeros_(self.embed_x.bias) + nn.init.zeros_(self.embed_e1.bias) + nn.init.zeros_(self.embed_e2.bias) + + @torch.cuda.amp.autocast(enabled=False) + def forward(self, msa, pair, R_in, T_in, xyz, state, idx, motif_mask, top_k=64, eps=1e-5): + B, N, L = msa.shape[:3] + + if motif_mask is None: + motif_mask = torch.zeros(L).bool() + + # process msa & pair features + node = self.norm_msa(msa[:,0]) + pair = self.norm_pair(pair) + state = self.norm_state(state) + + node = torch.cat((node, state), dim=-1) + node = self.norm_node(self.embed_x(node)) + pair = self.norm_edge1(self.embed_e1(pair)) + + neighbor = get_seqsep(idx) + rbf_feat = rbf(torch.cdist(xyz[:,:,1], xyz[:,:,1])) + pair = torch.cat((pair, rbf_feat, neighbor), dim=-1) + pair = self.norm_edge2(self.embed_e2(pair)) + + # define graph + if top_k != 0: + G, edge_feats = make_topk_graph(xyz[:,:,1,:], pair, idx, top_k=top_k) + else: + G, edge_feats = make_full_graph(xyz[:,:,1,:], pair, idx, top_k=top_k) + l1_feats = xyz - xyz[:,:,1,:].unsqueeze(2) + l1_feats = l1_feats.reshape(B*L, -1, 3) + + # apply SE(3) Transformer & update coordinates + shift = self.se3(G, node.reshape(B*L, -1, 1), l1_feats, edge_feats) + + state = shift['0'].reshape(B, L, -1) # (B, L, C) + + offset = shift['1'].reshape(B, L, 2, 3) + offset[:,motif_mask,...] = 0 # NOTE: motif mask is all zeros if not freeezing the motif + + delTi = offset[:,:,0,:] / 10.0 # translation + R = offset[:,:,1,:] / 100.0 # rotation + + Qnorm = torch.sqrt( 1 + torch.sum(R*R, dim=-1) ) + qA, qB, qC, qD = 1/Qnorm, R[:,:,0]/Qnorm, R[:,:,1]/Qnorm, R[:,:,2]/Qnorm + + delRi = torch.zeros((B,L,3,3), device=xyz.device) + delRi[:,:,0,0] = qA*qA+qB*qB-qC*qC-qD*qD + delRi[:,:,0,1] = 2*qB*qC - 2*qA*qD + delRi[:,:,0,2] = 2*qB*qD + 2*qA*qC + delRi[:,:,1,0] = 2*qB*qC + 2*qA*qD + delRi[:,:,1,1] = qA*qA-qB*qB+qC*qC-qD*qD + delRi[:,:,1,2] = 2*qC*qD - 2*qA*qB + delRi[:,:,2,0] = 2*qB*qD - 2*qA*qC + delRi[:,:,2,1] = 2*qC*qD + 2*qA*qB + delRi[:,:,2,2] = qA*qA-qB*qB-qC*qC+qD*qD + + Ri = einsum('bnij,bnjk->bnik', delRi, R_in) + Ti = delTi + T_in #einsum('bnij,bnj->bni', delRi, T_in) + delTi + + alpha = self.sc_predictor(msa[:,0], state) + return Ri, Ti, state, alpha + +class IterBlock(nn.Module): + def __init__(self, d_msa=256, d_pair=128, + n_head_msa=8, n_head_pair=4, + use_global_attn=False, + d_hidden=32, d_hidden_msa=None, p_drop=0.15, + SE3_param={'l0_in_features':32, 'l0_out_features':16, 'num_edge_features':32}): + super(IterBlock, self).__init__() + if d_hidden_msa == None: + d_hidden_msa = d_hidden + + self.msa2msa = MSAPairStr2MSA(d_msa=d_msa, d_pair=d_pair, + n_head=n_head_msa, + d_state=SE3_param['l0_out_features'], + use_global_attn=use_global_attn, + d_hidden=d_hidden_msa, p_drop=p_drop) + self.msa2pair = MSA2Pair(d_msa=d_msa, d_pair=d_pair, + d_hidden=d_hidden//2, p_drop=p_drop) + #d_hidden=d_hidden, p_drop=p_drop) + self.pair2pair = PairStr2Pair(d_pair=d_pair, n_head=n_head_pair, + d_hidden=d_hidden, p_drop=p_drop) + self.str2str = Str2Str(d_msa=d_msa, d_pair=d_pair, + d_state=SE3_param['l0_out_features'], + SE3_param=SE3_param, + p_drop=p_drop) + + def forward(self, msa, pair, R_in, T_in, xyz, state, idx, motif_mask, use_checkpoint=False): + rbf_feat = rbf(torch.cdist(xyz[:,:,1,:], xyz[:,:,1,:])) + if use_checkpoint: + msa = checkpoint.checkpoint(create_custom_forward(self.msa2msa), msa, pair, rbf_feat, state) + pair = checkpoint.checkpoint(create_custom_forward(self.msa2pair), msa, pair) + pair = checkpoint.checkpoint(create_custom_forward(self.pair2pair), pair, rbf_feat) + R, T, state, alpha = checkpoint.checkpoint(create_custom_forward(self.str2str, top_k=0), msa, pair, R_in, T_in, xyz, state, idx, motif_mask) + else: + msa = self.msa2msa(msa, pair, rbf_feat, state) + pair = self.msa2pair(msa, pair) + pair = self.pair2pair(pair, rbf_feat) + R, T, state, alpha = self.str2str(msa, pair, R_in, T_in, xyz, state, idx, motif_mask=motif_mask, top_k=0) + + return msa, pair, R, T, state, alpha + +class IterativeSimulator(nn.Module): + def __init__(self, n_extra_block=4, n_main_block=12, n_ref_block=4, + d_msa=256, d_msa_full=64, d_pair=128, d_hidden=32, + n_head_msa=8, n_head_pair=4, + SE3_param_full={'l0_in_features':32, 'l0_out_features':16, 'num_edge_features':32}, + SE3_param_topk={'l0_in_features':32, 'l0_out_features':16, 'num_edge_features':32}, + p_drop=0.15): + super(IterativeSimulator, self).__init__() + self.n_extra_block = n_extra_block + self.n_main_block = n_main_block + self.n_ref_block = n_ref_block + + self.proj_state = nn.Linear(SE3_param_topk['l0_out_features'], SE3_param_full['l0_out_features']) + # Update with extra sequences + if n_extra_block > 0: + self.extra_block = nn.ModuleList([IterBlock(d_msa=d_msa_full, d_pair=d_pair, + n_head_msa=n_head_msa, + n_head_pair=n_head_pair, + d_hidden_msa=8, + d_hidden=d_hidden, + p_drop=p_drop, + use_global_attn=True, + SE3_param=SE3_param_full) + for i in range(n_extra_block)]) + + # Update with seed sequences + if n_main_block > 0: + self.main_block = nn.ModuleList([IterBlock(d_msa=d_msa, d_pair=d_pair, + n_head_msa=n_head_msa, + n_head_pair=n_head_pair, + d_hidden=d_hidden, + p_drop=p_drop, + use_global_attn=False, + SE3_param=SE3_param_full) + for i in range(n_main_block)]) + + self.proj_state2 = nn.Linear(SE3_param_full['l0_out_features'], SE3_param_topk['l0_out_features']) + # Final SE(3) refinement + if n_ref_block > 0: + self.str_refiner = Str2Str(d_msa=d_msa, d_pair=d_pair, + d_state=SE3_param_topk['l0_out_features'], + SE3_param=SE3_param_topk, + p_drop=p_drop) + + self.reset_parameter() + def reset_parameter(self): + self.proj_state = init_lecun_normal(self.proj_state) + nn.init.zeros_(self.proj_state.bias) + self.proj_state2 = init_lecun_normal(self.proj_state2) + nn.init.zeros_(self.proj_state2.bias) + + def forward(self, seq, msa, msa_full, pair, xyz_in, state, idx, use_checkpoint=False, motif_mask=None): + """ + input: + seq: query sequence (B, L) + msa: seed MSA embeddings (B, N, L, d_msa) + msa_full: extra MSA embeddings (B, N, L, d_msa_full) + pair: initial residue pair embeddings (B, L, L, d_pair) + xyz_in: initial BB coordinates (B, L, n_atom, 3) + state: initial state features containing mixture of query seq, sidechain, accuracy info (B, L, d_state) + idx: residue index + motif_mask: bool tensor, True if motif position that is frozen, else False(L,) + """ + + B, L = pair.shape[:2] + + if motif_mask is None: + motif_mask = torch.zeros(L).bool() + + R_in = torch.eye(3, device=xyz_in.device).reshape(1,1,3,3).expand(B, L, -1, -1) + T_in = xyz_in[:,:,1].clone() + xyz_in = xyz_in - T_in.unsqueeze(-2) + + state = self.proj_state(state) + + R_s = list() + T_s = list() + alpha_s = list() + for i_m in range(self.n_extra_block): + R_in = R_in.detach() # detach rotation (for stability) + T_in = T_in.detach() + # Get current BB structure + xyz = einsum('bnij,bnaj->bnai', R_in, xyz_in) + T_in.unsqueeze(-2) + + msa_full, pair, R_in, T_in, state, alpha = self.extra_block[i_m](msa_full, + pair, + R_in, + T_in, + xyz, + state, + idx, + motif_mask=motif_mask, + use_checkpoint=use_checkpoint) + R_s.append(R_in) + T_s.append(T_in) + alpha_s.append(alpha) + + for i_m in range(self.n_main_block): + R_in = R_in.detach() + T_in = T_in.detach() + # Get current BB structure + xyz = einsum('bnij,bnaj->bnai', R_in, xyz_in) + T_in.unsqueeze(-2) + + msa, pair, R_in, T_in, state, alpha = self.main_block[i_m](msa, + pair, + R_in, + T_in, + xyz, + state, + idx, + motif_mask=motif_mask, + use_checkpoint=use_checkpoint) + R_s.append(R_in) + T_s.append(T_in) + alpha_s.append(alpha) + + state = self.proj_state2(state) + for i_m in range(self.n_ref_block): + R_in = R_in.detach() + T_in = T_in.detach() + xyz = einsum('bnij,bnaj->bnai', R_in, xyz_in) + T_in.unsqueeze(-2) + R_in, T_in, state, alpha = self.str_refiner(msa, + pair, + R_in, + T_in, + xyz, + state, + idx, + top_k=64, + motif_mask=motif_mask) + R_s.append(R_in) + T_s.append(T_in) + alpha_s.append(alpha) + + R_s = torch.stack(R_s, dim=0) + T_s = torch.stack(T_s, dim=0) + alpha_s = torch.stack(alpha_s, dim=0) + + return msa, pair, R_s, T_s, alpha_s, state diff --git a/chemical.py b/chemical.py new file mode 100644 index 0000000..dc36d15 --- /dev/null +++ b/chemical.py @@ -0,0 +1,585 @@ +import torch +import numpy as np + +num2aa=[ + 'ALA','ARG','ASN','ASP','CYS', + 'GLN','GLU','GLY','HIS','ILE', + 'LEU','LYS','MET','PHE','PRO', + 'SER','THR','TRP','TYR','VAL', + 'UNK','MAS', + ] + +# Mapping 3 letter AA to 1 letter AA (e.g. ALA to A) +one_letter = ["A", "R", "N", "D", "C", \ + "Q", "E", "G", "H", "I", \ + "L", "K", "M", "F", "P", \ + "S", "T", "W", "Y", "V", "?", "-"] + +aa2num= {x:i for i,x in enumerate(num2aa)} + +aa_321 = {a:b for a,b in zip(num2aa,one_letter)} +aa_123 = {val:key for key,val in aa_321.items()} + + +# create single letter code string from parsed integer sequence +def seq2chars(seq): + out = ''.join([aa_321[num2aa[a]] for a in seq]) + return out + +# full sc atom representation (Nx14) +aa2long=[ + (" N "," CA "," C "," O "," CB ", None, None, None, None, None, None, None, None, None," H "," HA ","1HB ","2HB ","3HB ", None, None, None, None, None, None, None, None), # ala + (" N "," CA "," C "," O "," CB "," CG "," CD "," NE "," CZ "," NH1"," NH2", None, None, None," H "," HA ","1HB ","2HB ","1HG ","2HG ","1HD ","2HD "," HE ","1HH1","2HH1","1HH2","2HH2"), # arg + (" N "," CA "," C "," O "," CB "," CG "," OD1"," ND2", None, None, None, None, None, None," H "," HA ","1HB ","2HB ","1HD2","2HD2", None, None, None, None, None, None, None), # asn + (" N "," CA "," C "," O "," CB "," CG "," OD1"," OD2", None, None, None, None, None, None," H "," HA ","1HB ","2HB ", None, None, None, None, None, None, None, None, None), # asp + (" N "," CA "," C "," O "," CB "," SG ", None, None, None, None, None, None, None, None," H "," HA ","1HB ","2HB "," HG ", None, None, None, None, None, None, None, None), # cys + (" N "," CA "," C "," O "," CB "," CG "," CD "," OE1"," NE2", None, None, None, None, None," H "," HA ","1HB ","2HB ","1HG ","2HG ","1HE2","2HE2", None, None, None, None, None), # gln + (" N "," CA "," C "," O "," CB "," CG "," CD "," OE1"," OE2", None, None, None, None, None," H "," HA ","1HB ","2HB ","1HG ","2HG ", None, None, None, None, None, None, None), # glu + (" N "," CA "," C "," O ", None, None, None, None, None, None, None, None, None, None," H ","1HA ","2HA ", None, None, None, None, None, None, None, None, None, None), # gly + (" N "," CA "," C "," O "," CB "," CG "," ND1"," CD2"," CE1"," NE2", None, None, None, None," H "," HA ","1HB ","2HB "," HD2"," HE1"," HE2", None, None, None, None, None, None), # his + (" N "," CA "," C "," O "," CB "," CG1"," CG2"," CD1", None, None, None, None, None, None," H "," HA "," HB ","1HG2","2HG2","3HG2","1HG1","2HG1","1HD1","2HD1","3HD1", None, None), # ile + (" N "," CA "," C "," O "," CB "," CG "," CD1"," CD2", None, None, None, None, None, None," H "," HA ","1HB ","2HB "," HG ","1HD1","2HD1","3HD1","1HD2","2HD2","3HD2", None, None), # leu + (" N "," CA "," C "," O "," CB "," CG "," CD "," CE "," NZ ", None, None, None, None, None," H "," HA ","1HB ","2HB ","1HG ","2HG ","1HD ","2HD ","1HE ","2HE ","1HZ ","2HZ ","3HZ "), # lys + (" N "," CA "," C "," O "," CB "," CG "," SD "," CE ", None, None, None, None, None, None," H "," HA ","1HB ","2HB ","1HG ","2HG ","1HE ","2HE ","3HE ", None, None, None, None), # met + (" N "," CA "," C "," O "," CB "," CG "," CD1"," CD2"," CE1"," CE2"," CZ ", None, None, None," H "," HA ","1HB ","2HB "," HD1"," HD2"," HE1"," HE2"," HZ ", None, None, None, None), # phe + (" N "," CA "," C "," O "," CB "," CG "," CD ", None, None, None, None, None, None, None," HA ","1HB ","2HB ","1HG ","2HG ","1HD ","2HD ", None, None, None, None, None, None), # pro + (" N "," CA "," C "," O "," CB "," OG ", None, None, None, None, None, None, None, None," H "," HG "," HA ","1HB ","2HB ", None, None, None, None, None, None, None, None), # ser + (" N "," CA "," C "," O "," CB "," OG1"," CG2", None, None, None, None, None, None, None," H "," HG1"," HA "," HB ","1HG2","2HG2","3HG2", None, None, None, None, None, None), # thr + (" N "," CA "," C "," O "," CB "," CG "," CD1"," CD2"," NE1"," CE2"," CE3"," CZ2"," CZ3"," CH2"," H "," HA ","1HB ","2HB "," HD1"," HE1"," HZ2"," HH2"," HZ3"," HE3", None, None, None), # trp + (" N "," CA "," C "," O "," CB "," CG "," CD1"," CD2"," CE1"," CE2"," CZ "," OH ", None, None," H "," HA ","1HB ","2HB "," HD1"," HE1"," HE2"," HD2"," HH ", None, None, None, None), # tyr + (" N "," CA "," C "," O "," CB "," CG1"," CG2", None, None, None, None, None, None, None," H "," HA "," HB ","1HG1","2HG1","3HG1","1HG2","2HG2","3HG2", None, None, None, None), # val + (" N "," CA "," C "," O "," CB ", None, None, None, None, None, None, None, None, None," H "," HA ","1HB ","2HB ","3HB ", None, None, None, None, None, None, None, None), # unk + (" N "," CA "," C "," O "," CB ", None, None, None, None, None, None, None, None, None," H "," HA ","1HB ","2HB ","3HB ", None, None, None, None, None, None, None, None), # mask +] + +# build the "alternate" sc mapping +aa2longalt=[ + (" N "," CA "," C "," O "," CB ", None, None, None, None, None, None, None, None, None," H "," HA ","1HB ","2HB ","3HB ", None, None, None, None, None, None, None, None), # ala + (" N "," CA "," C "," O "," CB "," CG "," CD "," NE "," CZ "," NH1"," NH2", None, None, None," H "," HA ","1HB ","2HB ","1HG ","2HG ","1HD ","2HD "," HE ","1HH1","2HH1","1HH2","2HH2"), # arg + (" N "," CA "," C "," O "," CB "," CG "," OD1"," ND2", None, None, None, None, None, None," H "," HA ","1HB ","2HB ","1HD2","2HD2", None, None, None, None, None, None, None), # asn + (" N "," CA "," C "," O "," CB "," CG "," OD2"," OD1", None, None, None, None, None, None," H "," HA ","1HB ","2HB ", None, None, None, None, None, None, None, None, None), # asp + (" N "," CA "," C "," O "," CB "," SG ", None, None, None, None, None, None, None, None," H "," HA ","1HB ","2HB "," HG ", None, None, None, None, None, None, None, None), # cys + (" N "," CA "," C "," O "," CB "," CG "," CD "," OE1"," NE2", None, None, None, None, None," H "," HA ","1HB ","2HB ","1HG ","2HG ","1HE2","2HE2", None, None, None, None, None), # gln + (" N "," CA "," C "," O "," CB "," CG "," CD "," OE2"," OE1", None, None, None, None, None," H "," HA ","1HB ","2HB ","1HG ","2HG ", None, None, None, None, None, None, None), # glu + (" N "," CA "," C "," O ", None, None, None, None, None, None, None, None, None, None," H ","1HA ","2HA ", None, None, None, None, None, None, None, None, None, None), # gly + (" N "," CA "," C "," O "," CB "," CG "," NE2"," CD2"," CE1"," ND1", None, None, None, None," H "," HA ","1HB ","2HB "," HD2"," HE1"," HE2", None, None, None, None, None, None), # his + (" N "," CA "," C "," O "," CB "," CG1"," CG2"," CD1", None, None, None, None, None, None," H "," HA "," HB ","1HG2","2HG2","3HG2","1HG1","2HG1","1HD1","2HD1","3HD1", None, None), # ile + (" N "," CA "," C "," O "," CB "," CG "," CD1"," CD2", None, None, None, None, None, None," H "," HA ","1HB ","2HB "," HG ","1HD1","2HD1","3HD1","1HD2","2HD2","3HD2", None, None), # leu + (" N "," CA "," C "," O "," CB "," CG "," CD "," CE "," NZ ", None, None, None, None, None," H "," HA ","1HB ","2HB ","1HG ","2HG ","1HD ","2HD ","1HE ","2HE ","1HZ ","2HZ ","3HZ "), # lys + (" N "," CA "," C "," O "," CB "," CG "," SD "," CE ", None, None, None, None, None, None," H "," HA ","1HB ","2HB ","1HG ","2HG ","1HE ","2HE ","3HE ", None, None, None, None), # met + (" N "," CA "," C "," O "," CB "," CG "," CD2"," CD1"," CE2"," CE1"," CZ ", None, None, None," H "," HD2"," HE2"," HZ "," HE1"," HD1"," HA ","1HB ","2HB ", None, None, None, None), # phe + (" N "," CA "," C "," O "," CB "," CG "," CD ", None, None, None, None, None, None, None," HA ","1HB ","2HB ","1HG ","2HG ","1HD ","2HD ", None, None, None, None, None, None), # pro + (" N "," CA "," C "," O "," CB "," OG ", None, None, None, None, None, None, None, None," H "," HG "," HA ","1HB ","2HB ", None, None, None, None, None, None, None, None), # ser + (" N "," CA "," C "," O "," CB "," OG1"," CG2", None, None, None, None, None, None, None," H "," HG1"," HA "," HB ","1HG2","2HG2","3HG2", None, None, None, None, None, None), # thr + (" N "," CA "," C "," O "," CB "," CG "," CD1"," CD2"," NE1"," CE2"," CE3"," CZ2"," CZ3"," CH2"," H "," HA ","1HB ","2HB "," HD1"," HE1"," HZ2"," HH2"," HZ3"," HE3", None, None, None), # trp + (" N "," CA "," C "," O "," CB "," CG "," CD2"," CD1"," CE2"," CE1"," CZ "," OH ", None, None," H "," HA ","1HB ","2HB "," HD2"," HE2"," HE1"," HD1"," HH ", None, None, None, None), # tyr + (" N "," CA "," C "," O "," CB "," CG1"," CG2", None, None, None, None, None, None, None," H "," HA "," HB ","1HG1","2HG1","3HG1","1HG2","2HG2","3HG2", None, None, None, None), # val + (" N "," CA "," C "," O "," CB ", None, None, None, None, None, None, None, None, None," H "," HA ","1HB ","2HB ","3HB ", None, None, None, None, None, None, None, None), # unk + (" N "," CA "," C "," O "," CB ", None, None, None, None, None, None, None, None, None," H "," HA ","1HB ","2HB ","3HB ", None, None, None, None, None, None, None, None), # mask +] + +aabonds=[ + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB ","1HB "),(" CB ","2HB "),(" CB ","3HB ")) , # ala + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB "," CG "),(" CB ","1HB "),(" CB ","2HB "),(" CG "," CD "),(" CG ","1HG "),(" CG ","2HG "),(" CD "," NE "),(" CD ","1HD "),(" CD ","2HD "),(" NE "," CZ "),(" NE "," HE "),(" CZ "," NH1"),(" CZ "," NH2"),(" NH1","1HH1"),(" NH1","2HH1"),(" NH2","1HH2"),(" NH2","2HH2")) , # arg + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB "," CG "),(" CB ","1HB "),(" CB ","2HB "),(" CG "," OD1"),(" CG "," ND2"),(" ND2","1HD2"),(" ND2","2HD2")) , # asn + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB "," CG "),(" CB ","1HB "),(" CB ","2HB "),(" CG "," OD1"),(" CG "," OD2")) , # asp + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB "," SG "),(" CB ","1HB "),(" CB ","2HB "),(" SG "," HG ")) , # cys + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB "," CG "),(" CB ","1HB "),(" CB ","2HB "),(" CG "," CD "),(" CG ","1HG "),(" CG ","2HG "),(" CD "," OE1"),(" CD "," NE2"),(" NE2","1HE2"),(" NE2","2HE2")) , # gln + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB "," CG "),(" CB ","1HB "),(" CB ","2HB "),(" CG "," CD "),(" CG ","1HG "),(" CG ","2HG "),(" CD "," OE1"),(" CD "," OE2")) , # glu + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA ","1HA "),(" CA ","2HA "),(" C "," O ")) , # gly + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB "," CG "),(" CB ","1HB "),(" CB ","2HB "),(" CG "," ND1"),(" CG "," CD2"),(" ND1"," CE1"),(" CD2"," NE2"),(" CD2"," HD2"),(" CE1"," NE2"),(" CE1"," HE1"),(" NE2"," HE2")) , # his + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB "," CG1"),(" CB "," CG2"),(" CB "," HB "),(" CG1"," CD1"),(" CG1","1HG1"),(" CG1","2HG1"),(" CG2","1HG2"),(" CG2","2HG2"),(" CG2","3HG2"),(" CD1","1HD1"),(" CD1","2HD1"),(" CD1","3HD1")) , # ile + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB "," CG "),(" CB ","1HB "),(" CB ","2HB "),(" CG "," CD1"),(" CG "," CD2"),(" CG "," HG "),(" CD1","1HD1"),(" CD1","2HD1"),(" CD1","3HD1"),(" CD2","1HD2"),(" CD2","2HD2"),(" CD2","3HD2")) , # leu + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB "," CG "),(" CB ","1HB "),(" CB ","2HB "),(" CG "," CD "),(" CG ","1HG "),(" CG ","2HG "),(" CD "," CE "),(" CD ","1HD "),(" CD ","2HD "),(" CE "," NZ "),(" CE ","1HE "),(" CE ","2HE "),(" NZ ","1HZ "),(" NZ ","2HZ "),(" NZ ","3HZ ")) , # lys + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB "," CG "),(" CB ","1HB "),(" CB ","2HB "),(" CG "," SD "),(" CG ","1HG "),(" CG ","2HG "),(" SD "," CE "),(" CE ","1HE "),(" CE ","2HE "),(" CE ","3HE ")) , # met + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB "," CG "),(" CB ","1HB "),(" CB ","2HB "),(" CG "," CD1"),(" CG "," CD2"),(" CD1"," CE1"),(" CD1"," HD1"),(" CD2"," CE2"),(" CD2"," HD2"),(" CE1"," CZ "),(" CE1"," HE1"),(" CE2"," CZ "),(" CE2"," HE2"),(" CZ "," HZ ")) , # phe + ((" N "," CA "),(" N "," CD "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB "," CG "),(" CB ","1HB "),(" CB ","2HB "),(" CG "," CD "),(" CG ","1HG "),(" CG ","2HG "),(" CD ","1HD "),(" CD ","2HD ")) , # pro + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB "," OG "),(" CB ","1HB "),(" CB ","2HB "),(" OG "," HG ")) , # ser + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB "," OG1"),(" CB "," CG2"),(" CB "," HB "),(" OG1"," HG1"),(" CG2","1HG2"),(" CG2","2HG2"),(" CG2","3HG2")) , # thr + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB "," CG "),(" CB ","1HB "),(" CB ","2HB "),(" CG "," CD1"),(" CG "," CD2"),(" CD1"," NE1"),(" CD1"," HD1"),(" CD2"," CE2"),(" CD2"," CE3"),(" NE1"," CE2"),(" NE1"," HE1"),(" CE2"," CZ2"),(" CE3"," CZ3"),(" CE3"," HE3"),(" CZ2"," CH2"),(" CZ2"," HZ2"),(" CZ3"," CH2"),(" CZ3"," HZ3"),(" CH2"," HH2")) , # trp + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB "," CG "),(" CB ","1HB "),(" CB ","2HB "),(" CG "," CD1"),(" CG "," CD2"),(" CD1"," CE1"),(" CD1"," HD1"),(" CD2"," CE2"),(" CD2"," HD2"),(" CE1"," CZ "),(" CE1"," HE1"),(" CE2"," CZ "),(" CE2"," HE2"),(" CZ "," OH "),(" OH "," HH ")) , # tyr + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB "," CG1"),(" CB "," CG2"),(" CB "," HB "),(" CG1","1HG1"),(" CG1","2HG1"),(" CG1","3HG1"),(" CG2","1HG2"),(" CG2","2HG2"),(" CG2","3HG2")), # val + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB ","1HB "),(" CB ","2HB "),(" CB ","3HB ")) , # unk + ((" N "," CA "),(" N "," H "),(" CA "," C "),(" CA "," CB "),(" CA "," HA "),(" C "," O "),(" CB ","1HB "),(" CB ","2HB "),(" CB ","3HB ")) , # mask +] + +aa2type = [ + ("Nbb", "CAbb","CObb","OCbb","CH3", None, None, None, None, None, None, None, None, None,"HNbb","Hapo","Hapo","Hapo","Hapo", None, None, None, None, None, None, None, None), # ala + ("Nbb", "CAbb","CObb","OCbb","CH2", "CH2", "CH2", "NtrR","aroC","Narg","Narg", None, None, None,"HNbb","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo","Hpol","Hpol","Hpol","Hpol","Hpol"), # arg + ("Nbb", "CAbb","CObb","OCbb","CH2", "CNH2","ONH2","NH2O", None, None, None, None, None, None,"HNbb","Hapo","Hapo","Hapo","Hpol","Hpol", None, None, None, None, None, None, None), # asn + ("Nbb", "CAbb","CObb","OCbb","CH2", "COO", "OOC", "OOC", None, None, None, None, None, None,"HNbb","Hapo","Hapo","Hapo", None, None, None, None, None, None, None, None, None), # asp + ("Nbb", "CAbb","CObb","OCbb","CH2", "SH1", None, None, None, None, None, None, None, None,"HNbb","Hapo","Hapo","Hapo","HS", None, None, None, None, None, None, None, None), # cys + ("Nbb", "CAbb","CObb","OCbb","CH2", "CH2", "CNH2","ONH2","NH2O", None, None, None, None, None,"HNbb","Hapo","Hapo","Hapo","Hapo","Hapo","Hpol","Hpol", None, None, None, None, None), # gln + ("Nbb", "CAbb","CObb","OCbb","CH2", "CH2", "COO", "OOC", "OOC", None, None, None, None, None,"HNbb","Hapo","Hapo","Hapo","Hapo","Hapo", None, None, None, None, None, None, None), # glu + ("Nbb", "CAbb","CObb","OCbb", None, None, None, None, None, None, None, None, None, None,"HNbb","Hapo","Hapo", None, None, None, None, None, None, None, None, None, None), # gly + ("Nbb", "CAbb","CObb","OCbb","CH2", "CH0", "Nhis","aroC","aroC","Ntrp", None, None, None, None,"HNbb","Hapo","Hapo","Hapo","Hpol","Hapo","Hapo", None, None, None, None, None, None), # his + ("Nbb", "CAbb","CObb","OCbb","CH1", "CH2", "CH3", "CH3", None, None, None, None, None, None,"HNbb","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo", None, None), # ile + ("Nbb", "CAbb","CObb","OCbb","CH2", "CH1", "CH3", "CH3", None, None, None, None, None, None,"HNbb","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo", None, None), # leu + ("Nbb", "CAbb","CObb","OCbb","CH2", "CH2", "CH2", "CH2", "Nlys", None, None, None, None, None,"HNbb","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo","Hpol","Hpol","Hpol"), # lys + ("Nbb", "CAbb","CObb","OCbb","CH2", "CH2", "S", "CH3", None, None, None, None, None, None,"HNbb","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo", None, None, None, None), # met + ("Nbb", "CAbb","CObb","OCbb","CH2", "CH0", "aroC","aroC","aroC","aroC","aroC", None, None, None,"HNbb","Hapo","Hapo","Hapo","Haro","Haro","Haro","Haro","Haro", None, None, None, None), # phe + ("Npro","CAbb","CObb","OCbb","CH2", "CH2", "CH2", None, None, None, None, None, None, None,"Hapo","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo", None, None, None, None, None, None), # pro + ("Nbb", "CAbb","CObb","OCbb","CH2", "OH", None, None, None, None, None, None, None, None,"HNbb","Hpol","Hapo","Hapo","Hapo", None, None, None, None, None, None, None, None), # ser + ("Nbb", "CAbb","CObb","OCbb","CH1", "OH", "CH3", None, None, None, None, None, None, None,"HNbb","Hpol","Hapo","Hapo","Hapo","Hapo","Hapo", None, None, None, None, None, None), # thr + ("Nbb", "CAbb","CObb","OCbb","CH2", "CH0", "aroC","CH0", "Ntrp","CH0", "aroC","aroC","aroC","aroC","HNbb","Haro","Hapo","Hapo","Hapo","Hpol","Haro","Haro","Haro","Haro", None, None, None), # trp + ("Nbb", "CAbb","CObb","OCbb","CH2", "CH0", "aroC","aroC","aroC","aroC","CH0", "OHY", None, None,"HNbb","Haro","Haro","Haro","Haro","Hapo","Hapo","Hapo","Hpol", None, None, None, None), # tyr + ("Nbb", "CAbb","CObb","OCbb","CH1", "CH3", "CH3", None, None, None, None, None, None, None,"HNbb","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo","Hapo", None, None, None, None), # val + ("Nbb", "CAbb","CObb","OCbb","CH3", None, None, None, None, None, None, None, None, None,"HNbb","Hapo","Hapo","Hapo","Hapo", None, None, None, None, None, None, None, None), # unk + ("Nbb", "CAbb","CObb","OCbb","CH3", None, None, None, None, None, None, None, None, None,"HNbb","Hapo","Hapo","Hapo","Hapo", None, None, None, None, None, None, None, None), # mask +] + +# tip atom +aa2tip = [ + " CB ", # ala + " CZ ", # arg + " ND2", # asn + " CG ", # asp + " SG ", # cys + " NE2", # gln + " CD ", # glu + " CA ", # gly + " NE2", # his + " CD1", # ile + " CG ", # leu + " NZ ", # lys + " SD ", # met + " CZ ", # phe + " CG ", # pro + " OG ", # ser + " OG1", # thr + " CH2", # trp + " OH ", # tyr + " CB ", # val + " CB ", # unknown (gap etc) + " CB " # masked + ] + + +torsions=[ + [ None, None, None, None ], # ala + [ [" N "," CA "," CB "," CG "], [" CA "," CB "," CG "," CD "], [" CB "," CG "," CD "," NE "], [" CG "," CD "," NE "," CZ "] ], # arg + [ [" N "," CA "," CB "," CG "], [" CA "," CB "," CG "," OD1"], None, None ], # asn + [ [" N "," CA "," CB "," CG "], [" CA "," CB "," CG "," OD1"], None, None ], # asp + [ [" N "," CA "," CB "," SG "], [" CA "," CB "," SG "," HG "], None, None ], # cys + [ [" N "," CA "," CB "," CG "], [" CA "," CB "," CG "," CD "], [" CB "," CG "," CD "," OE1"], None ], # gln + [ [" N "," CA "," CB "," CG "], [" CA "," CB "," CG "," CD "], [" CB "," CG "," CD "," OE1"], None ], # glu + [ None, None, None, None ], # gly + [ [" N "," CA "," CB "," CG "], [" CA "," CB "," CG "," ND1"], [" CD2"," CE1"," HE1"," NE2"], None ], # his (protonation handled as a pseudo-torsion) + [ [" N "," CA "," CB "," CG1"], [" CA "," CB "," CG1"," CD1"], None, None ], # ile + [ [" N "," CA "," CB "," CG "], [" CA "," CB "," CG "," CD1"], None, None ], # leu + [ [" N "," CA "," CB "," CG "], [" CA "," CB "," CG "," CD "], [" CB "," CG "," CD "," CE "], [" CG "," CD "," CE "," NZ "] ], # lys + [ [" N "," CA "," CB "," CG "], [" CA "," CB "," CG "," SD "], [" CB "," CG "," SD "," CE "], None ], # met + [ [" N "," CA "," CB "," CG "], [" CA "," CB "," CG "," CD1"], None, None ], # phe + [ [" N "," CA "," CB "," CG "], [" CA "," CB "," CG "," CD "], [" CB "," CG "," CD ","1HD "], None ], # pro + [ [" N "," CA "," CB "," OG "], [" CA "," CB "," OG "," HG "], None, None ], # ser + [ [" N "," CA "," CB "," OG1"], [" CA "," CB "," OG1"," HG1"], None, None ], # thr + [ [" N "," CA "," CB "," CG "], [" CA "," CB "," CG "," CD1"], None, None ], # trp + [ [" N "," CA "," CB "," CG "], [" CA "," CB "," CG "," CD1"], [" CE1"," CZ "," OH "," HH "], None ], # tyr + [ [" N "," CA "," CB "," CG1"], None, None, None ], # val + [ None, None, None, None ], # unk + [ None, None, None, None ], # mask +] + +# ideal N, CA, C initial coordinates +init_N = torch.tensor([-0.5272, 1.3593, 0.000]).float() +init_CA = torch.zeros_like(init_N) +init_C = torch.tensor([1.5233, 0.000, 0.000]).float() +INIT_CRDS = torch.full((27, 3), np.nan) +INIT_CRDS[:3] = torch.stack((init_N, init_CA, init_C), dim=0) # (3,3) + +norm_N = init_N / (torch.norm(init_N, dim=-1, keepdim=True) + 1e-5) +norm_C = init_C / (torch.norm(init_C, dim=-1, keepdim=True) + 1e-5) +cos_ideal_NCAC = torch.sum(norm_N*norm_C, dim=-1) # cosine of ideal N-CA-C bond angle + +#fd Rosetta ideal coords +#fd - uses same "frame-building" as AF2 +ideal_coords = [ + [ # 0 ala + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3341, -0.4928, 0.9132)], + [' CB ', 8, (-0.5289,-0.7734,-1.1991)], + ['1HB ', 8, (-0.1265, -1.7863, -1.1851)], + ['2HB ', 8, (-1.6173, -0.8147, -1.1541)], + ['3HB ', 8, (-0.2229, -0.2744, -2.1172)], + ], + [ # 1 arg + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3467, -0.5055, 0.9018)], + [' CB ', 8, (-0.5042,-0.7698,-1.2118)], + ['1HB ', 4, ( 0.3635, -0.5318, 0.8781)], + ['2HB ', 4, ( 0.3639, -0.5323, -0.8789)], + [' CG ', 4, (0.6396,1.3794, 0.000)], + ['1HG ', 5, (0.3639, -0.5139, 0.8900)], + ['2HG ', 5, (0.3641, -0.5140, -0.8903)], + [' CD ', 5, (0.5492,1.3801, 0.000)], + ['1HD ', 6, (0.3637, -0.5135, 0.8895)], + ['2HD ', 6, (0.3636, -0.5134, -0.8893)], + [' NE ', 6, (0.5423,1.3491, 0.000)], + [' NH1', 7, (0.2012,2.2965, 0.000)], + [' NH2', 7, (2.0824,1.0030, 0.000)], + [' CZ ', 7, (0.7650,1.1090, 0.000)], + [' HE ', 7, (0.4701,-0.8955, 0.000)], + ['1HH1', 7, (-0.8059,2.3776, 0.000)], + ['1HH2', 7, (2.5160,0.0898, 0.000)], + ['2HH1', 7, (0.7745,3.1277, 0.000)], + ['2HH2', 7, (2.6554,1.8336, 0.000)], + ], + [ # 2 asn + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3233, -0.4967, 0.9162)], + [' CB ', 8, (-0.5341,-0.7799,-1.1874)], + ['1HB ', 4, ( 0.3641, -0.5327, 0.8795)], + ['2HB ', 4, ( 0.3639, -0.5323, -0.8789)], + [' CG ', 4, (0.5778,1.3881, 0.000)], + [' ND2', 5, (0.5839,-1.1711, 0.000)], + [' OD1', 5, (0.6331,1.0620, 0.000)], + ['1HD2', 5, (1.5825, -1.2322, 0.000)], + ['2HD2', 5, (0.0323, -2.0046, 0.000)], + ], + [ # 3 asp + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3233, -0.4967, 0.9162)], + [' CB ', 8, (-0.5162,-0.7757,-1.2144)], + ['1HB ', 4, ( 0.3639, -0.5324, 0.8791)], + ['2HB ', 4, ( 0.3640, -0.5325, -0.8792)], + [' CG ', 4, (0.5926,1.4028, 0.000)], + [' OD1', 5, (0.5746,1.0629, 0.000)], + [' OD2', 5, (0.5738,-1.0627, 0.000)], + ], + [ # 4 cys + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3481, -0.5059, 0.9006)], + [' CB ', 8, (-0.5046,-0.7727,-1.2189)], + ['1HB ', 4, ( 0.3639, -0.5324, 0.8791)], + ['2HB ', 4, ( 0.3638, -0.5322, -0.8787)], + [' SG ', 4, (0.7386,1.6511, 0.000)], + [' HG ', 5, (0.1387,1.3221, 0.000)], + ], + [ # 5 gln + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3363, -0.5013, 0.9074)], + [' CB ', 8, (-0.5226,-0.7776,-1.2109)], + ['1HB ', 4, ( 0.3638, -0.5323, 0.8789)], + ['2HB ', 4, ( 0.3638, -0.5322, -0.8788)], + [' CG ', 4, (0.6225,1.3857, 0.000)], + ['1HG ', 5, ( 0.3531, -0.5156, 0.8931)], + ['2HG ', 5, ( 0.3531, -0.5156, -0.8931)], + [' CD ', 5, (0.5788,1.4021, 0.000)], + [' NE2', 6, (0.5908,-1.1895, 0.000)], + [' OE1', 6, (0.6347,1.0584, 0.000)], + ['1HE2', 6, (1.5825, -1.2525, 0.000)], + ['2HE2', 6, (0.0380, -2.0229, 0.000)], + ], + [ # 6 glu + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3363, -0.5013, 0.9074)], + [' CB ', 8, (-0.5197,-0.7737,-1.2137)], + ['1HB ', 4, ( 0.3638, -0.5323, 0.8789)], + ['2HB ', 4, ( 0.3638, -0.5322, -0.8788)], + [' CG ', 4, (0.6287,1.3862, 0.000)], + ['1HG ', 5, ( 0.3531, -0.5156, 0.8931)], + ['2HG ', 5, ( 0.3531, -0.5156, -0.8931)], + [' CD ', 5, (0.5850,1.3849, 0.000)], + [' OE1', 6, (0.5752,1.0618, 0.000)], + [' OE2', 6, (0.5741,-1.0635, 0.000)], + ], + [ # 7 gly + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + ['1HA ', 0, ( -0.3676, -0.5329, 0.8771)], + ['2HA ', 0, ( -0.3674, -0.5325, -0.8765)], + ], + [ # 8 his + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3299, -0.5180, 0.9001)], + [' CB ', 8, (-0.5163,-0.7809,-1.2129)], + ['1HB ', 4, ( 0.3640, -0.5325, 0.8793)], + ['2HB ', 4, ( 0.3637, -0.5321, -0.8786)], + [' CG ', 4, (0.6016,1.3710, 0.000)], + [' CD2', 5, (0.8918,-1.0184, 0.000)], + [' CE1', 5, (2.0299,0.8564, 0.000)], + [' HE1', 5, (2.8542, 1.5693, 0.000)], + [' HD2', 5, ( 0.6584, -2.0835, 0.000) ], + [' ND1', 6, (-1.8631, -1.0722, 0.000)], + [' NE2', 6, (-1.8625, 1.0707, 0.000)], + [' HE2', 6, (-1.5439, 2.0292, 0.000)], + ], + [ # 9 ile + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3405, -0.5028, 0.9044)], + [' CB ', 8, (-0.5140,-0.7885,-1.2184)], + [' HB ', 4, (0.3637, -0.4714, 0.9125)], + [' CG1', 4, (0.5339,1.4348,0.000)], + [' CG2', 4, (0.5319,-0.7693,-1.1994)], + ['1HG2', 4, (1.6215, -0.7588, -1.1842)], + ['2HG2', 4, (0.1785, -1.7986, -1.1569)], + ['3HG2', 4, (0.1773, -0.3016, -2.1180)], + [' CD1', 5, (0.6106,1.3829, 0.000)], + ['1HG1', 5, (0.3637, -0.5338, 0.8774)], + ['2HG1', 5, (0.3640, -0.5322, -0.8793)], + ['1HD1', 5, (1.6978, 1.3006, 0.000)], + ['2HD1', 5, (0.2873, 1.9236, -0.8902)], + ['3HD1', 5, (0.2888, 1.9224, 0.8896)], + ], + [ # 10 leu + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.525, -0.000, -0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3435, -0.5040, 0.9027)], + [' CB ', 8, (-0.5175,-0.7692,-1.2220)], + ['1HB ', 4, ( 0.3473, -0.5346, 0.8827)], + ['2HB ', 4, ( 0.3476, -0.5351, -0.8836)], + [' CG ', 4, (0.6652,1.3823, 0.000)], + [' CD1', 5, (0.5083,1.4353, 0.000)], + [' CD2', 5, (0.5079,-0.7600,1.2163)], + [' HG ', 5, (0.3640, -0.4825, -0.9075)], + ['1HD1', 5, (1.5984, 1.4353, 0.000)], + ['2HD1', 5, (0.1462, 1.9496, -0.8903)], + ['3HD1', 5, (0.1459, 1.9494, 0.8895)], + ['1HD2', 5, (1.5983, -0.7606, 1.2158)], + ['2HD2', 5, (0.1456, -0.2774, 2.1243)], + ['3HD2', 5, (0.1444, -1.7871, 1.1815)], + ], + [ # 11 lys + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3335, -0.5005, 0.9097)], + ['1HB ', 4, ( 0.3640, -0.5324, 0.8791)], + ['2HB ', 4, ( 0.3639, -0.5324, -0.8790)], + [' CB ', 8, (-0.5259,-0.7785,-1.2069)], + ['1HG ', 5, (0.3641, -0.5229, 0.8852)], + ['2HG ', 5, (0.3637, -0.5227, -0.8841)], + [' CG ', 4, (0.6291,1.3869, 0.000)], + [' CD ', 5, (0.5526,1.4174, 0.000)], + ['1HD ', 6, (0.3641, -0.5239, 0.8848)], + ['2HD ', 6, (0.3638, -0.5219, -0.8850)], + [' CE ', 6, (0.5544,1.4170, 0.000)], + [' NZ ', 7, (0.5566,1.3801, 0.000)], + ['1HE ', 7, (0.4199, -0.4638, 0.9482)], + ['2HE ', 7, (0.4202, -0.4631, -0.8172)], + ['1HZ ', 7, (1.6223, 1.3980, 0.0658)], + ['2HZ ', 7, (0.2970, 1.9326, -0.7584)], + ['3HZ ', 7, (0.2981, 1.9319, 0.8909)], + ], + [ # 12 met + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3303, -0.4990, 0.9108)], + ['1HB ', 4, ( 0.3635, -0.5318, 0.8781)], + ['2HB ', 4, ( 0.3641, -0.5326, -0.8795)], + [' CB ', 8, (-0.5331,-0.7727,-1.2048)], + ['1HG ', 5, (0.3637, -0.5256, 0.8823)], + ['2HG ', 5, (0.3638, -0.5249, -0.8831)], + [' CG ', 4, (0.6298,1.3858,0.000)], + [' SD ', 5, (0.6953,1.6645,0.000)], + [' CE ', 6, (0.3383,1.7581,0.000)], + ['1HE ', 6, (1.7054, 2.0532, -0.0063)], + ['2HE ', 6, (0.1906, 2.3099, -0.9072)], + ['3HE ', 6, (0.1917, 2.3792, 0.8720)], + ], + [ # 13 phe + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3303, -0.4990, 0.9108)], + ['1HB ', 4, ( 0.3635, -0.5318, 0.8781)], + ['2HB ', 4, ( 0.3641, -0.5326, -0.8795)], + [' CB ', 8, (-0.5150,-0.7729,-1.2156)], + [' CG ', 4, (0.6060,1.3746, 0.000)], + [' CD1', 5, (0.7078,1.1928, 0.000)], + [' CD2', 5, (0.7084,-1.1920, 0.000)], + [' CE1', 5, (2.0900,1.1940, 0.000)], + [' CE2', 5, (2.0897,-1.1939, 0.000)], + [' CZ ', 5, (2.7809, 0.000, 0.000)], + [' HD1', 5, (0.1613, 2.1362, 0.000)], + [' HD2', 5, (0.1621, -2.1360, 0.000)], + [' HE1', 5, (2.6335, 2.1384, 0.000)], + [' HE2', 5, (2.6344, -2.1378, 0.000)], + [' HZ ', 5, (3.8700, 0.000, 0.000)], + ], + [ # 14 pro + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' HA ', 0, (-0.3868, -0.5380, 0.8781)], + ['1HB ', 4, ( 0.3762, -0.5355, 0.8842)], + ['2HB ', 4, ( 0.3762, -0.5355, -0.8842)], + [' CB ', 8, (-0.5649,-0.5888,-1.2966)], + [' CG ', 4, (0.3657,1.4451,0.0000)], + [' CD ', 5, (0.3744,1.4582, 0.0)], + ['1HG ', 5, (0.3798, -0.5348, 0.8830)], + ['2HG ', 5, (0.3798, -0.5348, -0.8830)], + ['1HD ', 6, (0.3798, -0.5348, 0.8830)], + ['2HD ', 6, (0.3798, -0.5348, -0.8830)], + ], + [ # 15 ser + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3425, -0.5041, 0.9048)], + ['1HB ', 4, ( 0.3637, -0.5321, 0.8786)], + ['2HB ', 4, ( 0.3636, -0.5319, -0.8782)], + [' CB ', 8, (-0.5146,-0.7595,-1.2073)], + [' OG ', 4, (0.5021,1.3081, 0.000)], + [' HG ', 5, (0.2647, 0.9230, 0.000)], + ], + [ # 16 thr + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3364, -0.5015, 0.9078)], + [' HB ', 4, ( 0.3638, -0.5006, 0.8971)], + ['1HG2', 4, ( 1.6231, -0.7142, -1.2097)], + ['2HG2', 4, ( 0.1792, -1.7546, -1.2237)], + ['3HG2', 4, ( 0.1808, -0.2222, -2.1269)], + [' CB ', 8, (-0.5172,-0.7952,-1.2130)], + [' CG2', 4, (0.5334,-0.7239,-1.2267)], + [' OG1', 4, (0.4804,1.3506,0.000)], + [' HG1', 5, (0.3194, 0.9056, 0.000)], + ], + [ # 17 trp + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3436, -0.5042, 0.9031)], + ['1HB ', 4, ( 0.3639, -0.5323, 0.8790)], + ['2HB ', 4, ( 0.3638, -0.5322, -0.8787)], + [' CB ', 8, (-0.5136,-0.7712,-1.2173)], + [' CG ', 4, (0.5984,1.3741, 0.000)], + [' CD1', 5, (0.8151,1.0921, 0.000)], + [' CD2', 5, (0.8753,-1.1538, 0.000)], + [' CE2', 5, (2.1865,-0.6707, 0.000)], + [' CE3', 5, (0.6541,-2.5366, 0.000)], + [' NE1', 5, (2.1309,0.7003, 0.000)], + [' CH2', 5, (3.0315,-2.8930, 0.000)], + [' CZ2', 5, (3.2813,-1.5205, 0.000)], + [' CZ3', 5, (1.7521,-3.3888, 0.000)], + [' HD1', 5, (0.4722, 2.1252, 0.000)], + [' HE1', 5, ( 2.9291, 1.3191, 0.000)], + [' HE3', 5, (-0.3597, -2.9356, 0.000)], + [' HZ2', 5, (4.3053, -1.1462, 0.000)], + [' HZ3', 5, ( 1.5712, -4.4640, 0.000)], + [' HH2', 5, ( 3.8700, -3.5898, 0.000)], + ], + [ # 18 tyr + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3305, -0.4992, 0.9112)], + ['1HB ', 4, ( 0.3642, -0.5327, 0.8797)], + ['2HB ', 4, ( 0.3637, -0.5321, -0.8785)], + [' CB ', 8, (-0.5305,-0.7799,-1.2051)], + [' CG ', 4, (0.6104,1.3840, 0.000)], + [' CD1', 5, (0.6936,1.2013, 0.000)], + [' CD2', 5, (0.6934,-1.2011, 0.000)], + [' CE1', 5, (2.0751,1.2013, 0.000)], + [' CE2', 5, (2.0748,-1.2011, 0.000)], + [' OH ', 5, (4.1408, 0.000, 0.000)], + [' CZ ', 5, (2.7648, 0.000, 0.000)], + [' HD1', 5, (0.1485, 2.1455, 0.000)], + [' HD2', 5, (0.1484, -2.1451, 0.000)], + [' HE1', 5, (2.6200, 2.1450, 0.000)], + [' HE2', 5, (2.6199, -2.1453, 0.000)], + [' HH ', 6, (0.3190, 0.9057, 0.000)], + ], + [ # 19 val + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3497, -0.5068, 0.9002)], + [' CB ', 8, (-0.5105,-0.7712,-1.2317)], + [' CG1', 4, (0.5326,1.4252, 0.000)], + [' CG2', 4, (0.5177,-0.7693,1.2057)], + [' HB ', 4, (0.3541, -0.4754, -0.9148)], + ['1HG1', 4, (1.6228, 1.4063, 0.000)], + ['2HG1', 4, (0.1790, 1.9457, -0.8898)], + ['3HG1', 4, (0.1798, 1.9453, 0.8903)], + ['1HG2', 4, (1.6073, -0.7659, 1.1989)], + ['2HG2', 4, (0.1586, -0.2971, 2.1203)], + ['3HG2', 4, (0.1582, -1.7976, 1.1631)], + ], + [ # 20 unk + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3341, -0.4928, 0.9132)], + [' CB ', 8, (-0.5289,-0.7734,-1.1991)], + ['1HB ', 8, (-0.1265, -1.7863, -1.1851)], + ['2HB ', 8, (-1.6173, -0.8147, -1.1541)], + ['3HB ', 8, (-0.2229, -0.2744, -2.1172)], + ], + [ # 21 mask + [' N ', 0, (-0.5272, 1.3593, 0.000)], + [' CA ', 0, (0.000, 0.000, 0.000)], + [' C ', 0, (1.5233, 0.000, 0.000)], + [' O ', 3, (0.6303, 1.0574, 0.000)], + [' H ', 2, (0.4920,-0.8821, 0.0000)], + [' HA ', 0, (-0.3341, -0.4928, 0.9132)], + [' CB ', 8, (-0.5289,-0.7734,-1.1991)], + ['1HB ', 8, (-0.1265, -1.7863, -1.1851)], + ['2HB ', 8, (-1.6173, -0.8147, -1.1541)], + ['3HB ', 8, (-0.2229, -0.2744, -2.1172)], + ], +] diff --git a/config/inference/base.yaml b/config/inference/base.yaml new file mode 100644 index 0000000..ad1d528 --- /dev/null +++ b/config/inference/base.yaml @@ -0,0 +1,136 @@ +# Base inference Configuration. + +inference: + input_pdb: null + num_designs: 10 + design_startnum: 0 + ckpt_override_path: null + symmetry: null + recenter: True + radius: 10.0 + model_only_neighbors: False + output_prefix: samples/design + write_trajectory: True + scaffold_guided: False + model_runner: SelfConditioning + cautious: True + align_motif: True + symmetric_self_cond: True + final_step: 1 + deterministic: False + trb_save_ckpt_path: null + +contigmap: + contigs: null + inpaint_seq: null + provide_seq: null + length: null + +model: + n_extra_block: 4 + n_main_block: 32 + n_ref_block: 4 + d_msa: 256 + d_msa_full: 64 + d_pair: 128 + d_templ: 64 + n_head_msa: 8 + n_head_pair: 4 + n_head_templ: 4 + d_hidden: 32 + d_hidden_templ: 32 + p_drop: 0.15 + SE3_param_full: + num_layers: 1 + num_channels: 32 + num_degrees: 2 + n_heads: 4 + div: 4 + l0_in_features: 8 + l0_out_features: 8 + l1_in_features: 3 + l1_out_features: 2 + num_edge_features: 32 + SE3_param_topk: + num_layers: 1 + num_channels: 32 + num_degrees: 2 + n_heads: 4 + div: 4 + l0_in_features: 64 + l0_out_features: 64 + l1_in_features: 3 + l1_out_features: 2 + num_edge_features: 64 + d_time_emb: null + d_time_emb_proj: null + freeze_track_motif: False + use_motif_timestep: False + +diffuser: + T: 50 + b_0: 1e-2 + b_T: 7e-2 + schedule_type: linear + so3_type: igso3 + crd_scale: 0.25 + partial_T: null + so3_schedule_type: linear + min_b: 1.5 + max_b: 2.5 + min_sigma: 0.02 + max_sigma: 1.5 + +denoiser: + noise_scale_ca: 1 + final_noise_scale_ca: 1 + ca_noise_schedule_type: constant + noise_scale_frame: 1 + final_noise_scale_frame: 1 + frame_noise_schedule_type: constant + +ppi: + hotspot_res: null + +potentials: + guiding_potentials: null + guide_scale: 10 + guide_decay: constant + olig_inter_all : null + olig_intra_all : null + olig_custom_contact : null + substrate: null + +contig_settings: + ref_idx: null + hal_idx: null + idx_rf: null + inpaint_seq_tensor: null + +preprocess: + sidechain_input: False + motif_sidechain_input: True + d_t1d: 22 + d_t2d: 44 + prob_self_cond: 0.0 + str_self_cond: False + predict_previous: False + +logging: + inputs: False + +scaffoldguided: + scaffoldguided: False + target_pdb: False + target_path: null + scaffold_list: null + scaffold_dir: null + sampled_insertion: 0 + sampled_N: 0 + sampled_C: 0 + ss_mask: 0 + systematic: False + target_ss: null + target_adj: null + mask_loops: True + contig_crop: null diff --git a/config/inference/symmetry.yaml b/config/inference/symmetry.yaml new file mode 100644 index 0000000..6d1d22a --- /dev/null +++ b/config/inference/symmetry.yaml @@ -0,0 +1,26 @@ +# Config for sampling symmetric assemblies. + +defaults: + - base + +inference: + # Symmetry to sample + # Available symmetries: + # - Cyclic symmetry (C_n) # call as c5 + # - Dihedral symmetry (D_n) # call as d5 + # - Tetrahedral symmetry # call as tetrahedral + # - Octahedral symmetry # call as octahedral + # - Icosahedral symmetry # call as icosahedral + symmetry: c2 + + # Set to true for computational efficiency + # to avoid memory overhead of modeling all subunits. + model_only_neighbors: False + + # Output directory of samples. + output_prefix: samples/c2 + +contigmap: + # Specify a single integer value to sample unconditionally. + # Must be evenly divisible by the number of chains in the symmetry. + contigs: ['100'] diff --git a/contigs.py b/contigs.py new file mode 100644 index 0000000..7b5b47e --- /dev/null +++ b/contigs.py @@ -0,0 +1,397 @@ +import sys +import numpy as np +import random +from icecream import ic + + +class ContigMap: + """ + Class for doing mapping. + Inherited from Inpainting. To update at some point. + Supports multichain or multiple crops from a single receptor chain. + Also supports indexing jump (+200) or not, based on contig input. + Default chain outputs are inpainted chains as A (and B, C etc if multiple chains), and all fragments of receptor chain on the next one (generally B) + Output chains can be specified. Sequence must be the same number of elements as in contig string + """ + + def __init__( + self, + parsed_pdb, + contigs=None, + inpaint_seq=None, + inpaint_str=None, + length=None, + ref_idx=None, + hal_idx=None, + idx_rf=None, + inpaint_seq_tensor=None, + inpaint_str_tensor=None, + topo=False, + provide_seq=None, + ): + # sanity checks + if contigs is None and ref_idx is None: + sys.exit("Must either specify a contig string or precise mapping") + if idx_rf is not None or hal_idx is not None or ref_idx is not None: + if idx_rf is None or hal_idx is None or ref_idx is None: + sys.exit( + "If you're specifying specific contig mappings, the reference and output positions must be specified, AND the indexing for RoseTTAFold (idx_rf)" + ) + + self.chain_order = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + if length is not None: + if "-" not in length: + self.length = [int(length), int(length) + 1] + else: + self.length = [int(length.split("-")[0]), int(length.split("-")[1]) + 1] + else: + self.length = None + self.ref_idx = ref_idx + self.hal_idx = hal_idx + self.idx_rf = idx_rf + self.inpaint_seq = ( + "/".join(inpaint_seq).split("/") if inpaint_seq is not None else None + ) + self.inpaint_str = ( + "/".join(inpaint_str).split("/") if inpaint_str is not None else None + ) + self.inpaint_seq_tensor = inpaint_seq_tensor + self.inpaint_str_tensor = inpaint_str_tensor + self.parsed_pdb = parsed_pdb + self.topo = topo + if ref_idx is None: + # using default contig generation, which outputs in rosetta-like format + self.contigs = contigs + ( + self.sampled_mask, + self.contig_length, + self.n_inpaint_chains, + ) = self.get_sampled_mask() + self.receptor_chain = self.chain_order[self.n_inpaint_chains] + ( + self.receptor, + self.receptor_hal, + self.receptor_rf, + self.inpaint, + self.inpaint_hal, + self.inpaint_rf, + ) = self.expand_sampled_mask() + self.ref = self.inpaint + self.receptor + self.hal = self.inpaint_hal + self.receptor_hal + self.rf = self.inpaint_rf + self.receptor_rf + else: + # specifying precise mappings + self.ref = ref_idx + self.hal = hal_idx + self.rf = rf_idx + self.mask_1d = [False if i == ("_", "_") else True for i in self.ref] + # take care of sequence and structure masking + if self.inpaint_seq_tensor is None: + if self.inpaint_seq is not None: + self.inpaint_seq = self.get_inpaint_seq_str(self.inpaint_seq) + else: + self.inpaint_seq = np.array( + [True if i != ("_", "_") else False for i in self.ref] + ) + else: + self.inpaint_seq = self.inpaint_seq_tensor + + if self.inpaint_str_tensor is None: + if self.inpaint_str is not None: + self.inpaint_str = self.get_inpaint_seq_str(self.inpaint_str) + else: + self.inpaint_str = np.array( + [True if i != ("_", "_") else False for i in self.ref] + ) + else: + self.inpaint_str = self.inpaint_str_tensor + # get 0-indexed input/output (for trb file) + ( + self.ref_idx0, + self.hal_idx0, + self.ref_idx0_inpaint, + self.hal_idx0_inpaint, + self.ref_idx0_receptor, + self.hal_idx0_receptor, + ) = self.get_idx0() + self.con_ref_pdb_idx = [i for i in self.ref if i != ("_", "_")] + + # Handle provide seq. This is zero-indexed, and used only for partial diffusion + if provide_seq is not None: + for i in provide_seq[0].split(","): + if "-" in i: + self.inpaint_seq[ + int(i.split("-")[0]) : int(i.split("-")[1]) + 1 + ] = True + else: + self.inpaint_seq[int(i)] = True + + def get_sampled_mask(self): + """ + Function to get a sampled mask from a contig. + """ + length_compatible = False + count = 0 + while length_compatible is False: + inpaint_chains = 0 + contig_list = self.contigs[0].strip().split() + sampled_mask = [] + sampled_mask_length = 0 + # allow receptor chain to be last in contig string + if all([i[0].isalpha() for i in contig_list[-1].split("/")]): + contig_list[-1] = f"{contig_list[-1]}/0" + for con in contig_list: + if ( + all([i[0].isalpha() for i in con.split("/")[:-1]]) + and con.split("/")[-1] == "0" + ) or self.topo is True: + # receptor chain + sampled_mask.append(con) + else: + inpaint_chains += 1 + # chain to be inpainted. These are the only chains that count towards the length of the contig + subcons = con.split("/") + subcon_out = [] + for subcon in subcons: + if subcon[0].isalpha(): + subcon_out.append(subcon) + if "-" in subcon: + sampled_mask_length += ( + int(subcon.split("-")[1]) + - int(subcon.split("-")[0][1:]) + + 1 + ) + else: + sampled_mask_length += 1 + + else: + if "-" in subcon: + length_inpaint = random.randint( + int(subcon.split("-")[0]), int(subcon.split("-")[1]) + ) + subcon_out.append(f"{length_inpaint}-{length_inpaint}") + sampled_mask_length += length_inpaint + elif subcon == "0": + subcon_out.append("0") + else: + length_inpaint = int(subcon) + subcon_out.append(f"{length_inpaint}-{length_inpaint}") + sampled_mask_length += int(subcon) + sampled_mask.append("/".join(subcon_out)) + # check length is compatible + if self.length is not None: + if ( + sampled_mask_length >= self.length[0] + and sampled_mask_length < self.length[1] + ): + length_compatible = True + else: + length_compatible = True + count += 1 + if count == 100000: # contig string incompatible with this length + sys.exit("Contig string incompatible with --length range") + return sampled_mask, sampled_mask_length, inpaint_chains + + def expand_sampled_mask(self): + chain_order = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + receptor = [] + inpaint = [] + receptor_hal = [] + inpaint_hal = [] + receptor_idx = 1 + inpaint_idx = 1 + inpaint_chain_idx = -1 + receptor_chain_break = [] + inpaint_chain_break = [] + for con in self.sampled_mask: + if ( + all([i[0].isalpha() for i in con.split("/")[:-1]]) + and con.split("/")[-1] == "0" + ) or self.topo is True: + # receptor chain + subcons = con.split("/")[:-1] + assert all( + [i[0] == subcons[0][0] for i in subcons] + ), "If specifying fragmented receptor in a single block of the contig string, they MUST derive from the same chain" + assert all( + int(subcons[i].split("-")[0][1:]) + < int(subcons[i + 1].split("-")[0][1:]) + for i in range(len(subcons) - 1) + ), "If specifying multiple fragments from the same chain, pdb indices must be in ascending order!" + for idx, subcon in enumerate(subcons): + ref_to_add = [ + (subcon[0], i) + for i in np.arange( + int(subcon.split("-")[0][1:]), int(subcon.split("-")[1]) + 1 + ) + ] + receptor.extend(ref_to_add) + receptor_hal.extend( + [ + (self.receptor_chain, i) + for i in np.arange( + receptor_idx, receptor_idx + len(ref_to_add) + ) + ] + ) + receptor_idx += len(ref_to_add) + if idx != len(subcons) - 1: + idx_jump = ( + int(subcons[idx + 1].split("-")[0][1:]) + - int(subcon.split("-")[1]) + - 1 + ) + receptor_chain_break.append( + (receptor_idx - 1, idx_jump) + ) # actual chain break in pdb chain + else: + receptor_chain_break.append( + (receptor_idx - 1, 200) + ) # 200 aa chain break + else: + inpaint_chain_idx += 1 + for subcon in con.split("/"): + if subcon[0].isalpha(): + ref_to_add = [ + (subcon[0], i) + for i in np.arange( + int(subcon.split("-")[0][1:]), + int(subcon.split("-")[1]) + 1, + ) + ] + inpaint.extend(ref_to_add) + inpaint_hal.extend( + [ + (chain_order[inpaint_chain_idx], i) + for i in np.arange( + inpaint_idx, inpaint_idx + len(ref_to_add) + ) + ] + ) + inpaint_idx += len(ref_to_add) + + else: + inpaint.extend([("_", "_")] * int(subcon.split("-")[0])) + inpaint_hal.extend( + [ + (chain_order[inpaint_chain_idx], i) + for i in np.arange( + inpaint_idx, inpaint_idx + int(subcon.split("-")[0]) + ) + ] + ) + inpaint_idx += int(subcon.split("-")[0]) + inpaint_chain_break.append((inpaint_idx - 1, 200)) + + if self.topo is True or inpaint_hal == []: + receptor_hal = [(i[0], i[1]) for i in receptor_hal] + else: + receptor_hal = [ + (i[0], i[1] + inpaint_hal[-1][1]) for i in receptor_hal + ] # rosetta-like numbering + # get rf indexes, with chain breaks + inpaint_rf = np.arange(0, len(inpaint)) + receptor_rf = np.arange(len(inpaint) + 200, len(inpaint) + len(receptor) + 200) + for ch_break in inpaint_chain_break[:-1]: + receptor_rf[:] += 200 + inpaint_rf[ch_break[0] :] += ch_break[1] + for ch_break in receptor_chain_break[:-1]: + receptor_rf[ch_break[0] :] += ch_break[1] + + return ( + receptor, + receptor_hal, + receptor_rf.tolist(), + inpaint, + inpaint_hal, + inpaint_rf.tolist(), + ) + + def get_inpaint_seq_str(self, inpaint_s): + """ + function to generate inpaint_str or inpaint_seq masks specific to this contig + """ + s_mask = np.copy(self.mask_1d) + inpaint_s_list = [] + for i in inpaint_s: + if "-" in i: + inpaint_s_list.extend( + [ + (i[0], p) + for p in range( + int(i.split("-")[0][1:]), int(i.split("-")[1]) + 1 + ) + ] + ) + else: + inpaint_s_list.append((i[0], int(i[1:]))) + for res in inpaint_s_list: + if res in self.ref: + s_mask[self.ref.index(res)] = False # mask this residue + + return np.array(s_mask) + + def get_idx0(self): + ref_idx0 = [] + hal_idx0 = [] + ref_idx0_inpaint = [] + hal_idx0_inpaint = [] + ref_idx0_receptor = [] + hal_idx0_receptor = [] + for idx, val in enumerate(self.ref): + if val != ("_", "_"): + assert val in self.parsed_pdb["pdb_idx"], f"{val} is not in pdb file!" + hal_idx0.append(idx) + ref_idx0.append(self.parsed_pdb["pdb_idx"].index(val)) + for idx, val in enumerate(self.inpaint): + if val != ("_", "_"): + hal_idx0_inpaint.append(idx) + ref_idx0_inpaint.append(self.parsed_pdb["pdb_idx"].index(val)) + for idx, val in enumerate(self.receptor): + if val != ("_", "_"): + hal_idx0_receptor.append(idx) + ref_idx0_receptor.append(self.parsed_pdb["pdb_idx"].index(val)) + + return ( + ref_idx0, + hal_idx0, + ref_idx0_inpaint, + hal_idx0_inpaint, + ref_idx0_receptor, + hal_idx0_receptor, + ) + + def get_mappings(self): + mappings = {} + mappings["con_ref_pdb_idx"] = [i for i in self.inpaint if i != ("_", "_")] + mappings["con_hal_pdb_idx"] = [ + self.inpaint_hal[i] + for i in range(len(self.inpaint_hal)) + if self.inpaint[i] != ("_", "_") + ] + mappings["con_ref_idx0"] = np.array(self.ref_idx0_inpaint) + mappings["con_hal_idx0"] = np.array(self.hal_idx0_inpaint) + if self.inpaint != self.ref: + mappings["complex_con_ref_pdb_idx"] = [ + i for i in self.ref if i != ("_", "_") + ] + mappings["complex_con_hal_pdb_idx"] = [ + self.hal[i] for i in range(len(self.hal)) if self.ref[i] != ("_", "_") + ] + mappings["receptor_con_ref_pdb_idx"] = [ + i for i in self.receptor if i != ("_", "_") + ] + mappings["receptor_con_hal_pdb_idx"] = [ + self.receptor_hal[i] + for i in range(len(self.receptor_hal)) + if self.receptor[i] != ("_", "_") + ] + mappings["complex_con_ref_idx0"] = np.array(self.ref_idx0) + mappings["complex_con_hal_idx0"] = np.array(self.hal_idx0) + mappings["receptor_con_ref_idx0"] = np.array(self.ref_idx0_receptor) + mappings["receptor_con_hal_idx0"] = np.array(self.hal_idx0_receptor) + mappings["inpaint_str"] = self.inpaint_str + mappings["inpaint_seq"] = self.inpaint_seq + mappings["sampled_mask"] = self.sampled_mask + mappings["mask_1d"] = self.mask_1d + return mappings diff --git a/coords6d.py b/coords6d.py new file mode 100644 index 0000000..9f10d59 --- /dev/null +++ b/coords6d.py @@ -0,0 +1,80 @@ +import numpy as np +import scipy +import scipy.spatial + +# calculate dihedral angles defined by 4 sets of points +def get_dihedrals(a, b, c, d): + + b0 = -1.0*(b - a) + b1 = c - b + b2 = d - c + + b1 /= np.linalg.norm(b1, axis=-1)[:,None] + + v = b0 - np.sum(b0*b1, axis=-1)[:,None]*b1 + w = b2 - np.sum(b2*b1, axis=-1)[:,None]*b1 + + x = np.sum(v*w, axis=-1) + y = np.sum(np.cross(b1, v)*w, axis=-1) + + return np.arctan2(y, x) + +# calculate planar angles defined by 3 sets of points +def get_angles(a, b, c): + + v = a - b + v /= np.linalg.norm(v, axis=-1)[:,None] + + w = c - b + w /= np.linalg.norm(w, axis=-1)[:,None] + + x = np.sum(v*w, axis=1) + + #return np.arccos(x) + return np.arccos(np.clip(x, -1.0, 1.0)) + +# get 6d coordinates from x,y,z coords of N,Ca,C atoms +def get_coords6d(xyz, dmax): + + nres = xyz.shape[1] + + # three anchor atoms + N = xyz[0] + Ca = xyz[1] + C = xyz[2] + + # recreate Cb given N,Ca,C + b = Ca - N + c = C - Ca + a = np.cross(b, c) + Cb = -0.58273431*a + 0.56802827*b - 0.54067466*c + Ca + + # fast neighbors search to collect all + # Cb-Cb pairs within dmax + kdCb = scipy.spatial.cKDTree(Cb) + indices = kdCb.query_ball_tree(kdCb, dmax) + + # indices of contacting residues + idx = np.array([[i,j] for i in range(len(indices)) for j in indices[i] if i != j]).T + idx0 = idx[0] + idx1 = idx[1] + + # Cb-Cb distance matrix + dist6d = np.full((nres, nres),999.9, dtype=np.float32) + dist6d[idx0,idx1] = np.linalg.norm(Cb[idx1]-Cb[idx0], axis=-1) + + # matrix of Ca-Cb-Cb-Ca dihedrals + omega6d = np.zeros((nres, nres), dtype=np.float32) + omega6d[idx0,idx1] = get_dihedrals(Ca[idx0], Cb[idx0], Cb[idx1], Ca[idx1]) + + # matrix of polar coord theta + theta6d = np.zeros((nres, nres), dtype=np.float32) + theta6d[idx0,idx1] = get_dihedrals(N[idx0], Ca[idx0], Cb[idx0], Cb[idx1]) + + # matrix of polar coord phi + phi6d = np.zeros((nres, nres), dtype=np.float32) + phi6d[idx0,idx1] = get_angles(Ca[idx0], Cb[idx0], Cb[idx1]) + + mask = np.zeros((nres, nres), dtype=np.float32) + mask[idx0, idx1] = 1.0 + return dist6d, omega6d, theta6d, phi6d, mask diff --git a/diff_util.py b/diff_util.py new file mode 100644 index 0000000..0bc6914 --- /dev/null +++ b/diff_util.py @@ -0,0 +1,255 @@ +import torch +import numpy as np +import random + +from chemical import INIT_CRDS +from icecream import ic + + +def th_min_angle(start, end, radians=False): + """ + Finds the angle you would add to in order to get to + on the shortest path. + """ + a,b,c = (np.pi, 2*np.pi, 3*np.pi) if radians else (180, 360, 540) + shortest_angle = ((((end - start) % b) + c) % b) - a + return shortest_angle + + +def th_interpolate_angles(start, end, T, n_diffuse,mindiff=None, radians=True): + """ + + """ + # find the minimum angle to add to get from start to end + angle_diffs = th_min_angle(start, end, radians=radians) + if mindiff is not None: + assert torch.sum(mindiff.flatten()-angle_diffs) == 0. + if n_diffuse is None: + # default is to diffuse for max steps + n_diffuse = torch.full((len(angle_diffs)), T) + + + interps = [] + for i,diff in enumerate(angle_diffs): + N = int(n_diffuse[i]) + actual_interp = torch.linspace(start[i], start[i]+diff, N) + whole_interp = torch.full((T,), float(start[i]+diff)) + temp=torch.clone(whole_interp) + whole_interp[:N] = actual_interp + + interps.append(whole_interp) + + return torch.stack(interps, dim=0) + + +def th_interpolate_angle_single(start, end, step, T, mindiff=None, radians=True): + """ + + """ + # find the minimum angle to add to get from start to end + angle_diffs = th_min_angle(start, end, radians=radians) + if mindiff is not None: + assert torch.sum(mindiff.flatten()-angle_diffs) == 0. + + # linearly interpolate between x = [0, T-1], y = [start, start + diff] + x_range = T-1 + interps = step / x_range * angle_diffs + start + + return interps + + +def get_aa_schedule(T, L, nsteps=100): + """ + Returns the steps t when each amino acid should be decoded, + as well as how many steps that amino acids chi angles will be diffused + + Parameters: + T (int, required): Total number of steps we are decoding the sequence over + + L (int, required): Length of protein sequence + + nsteps (int, optional): Number of steps over the course of which to decode the amino acids + + Returns: three items + decode_times (list): List of times t when the positions in should be decoded + + decode_order (list): List of lists, each element containing which positions are going to be decoded at + the corresponding time in + + idx2diffusion_steps (np.array): Array mapping the index of the residue to how many diffusion steps it will require + + """ + # nsteps can't be more than T or more than length of protein + if (nsteps > T) or (nsteps > L): + nsteps = min([T,L]) + + + decode_order = [[a] for a in range(L)] + random.shuffle(decode_order) + + while len(decode_order) > nsteps: + # pop an element and then add those positions randomly to some other step + tmp_seqpos = decode_order.pop() + decode_order[random.randint(0,len(decode_order)-1)] += tmp_seqpos + random.shuffle(decode_order) + + decode_times = np.arange(nsteps)+1 + + # now given decode times, calculate number of diffusion steps each position gets + aa_masks = np.full((200,L), False) + + idx2diffusion_steps = np.full((L,),float(np.nan)) + for i,t in enumerate(decode_times): + decode_pos = decode_order[i] # positions to be decoded at this step + + for j,pos in enumerate(decode_pos): + # calculate number of diffusion steps this residue gets + idx2diffusion_steps[pos] = int(t) + aa_masks[t,pos] = True + + aa_masks = np.cumsum(aa_masks, axis=0) + + return decode_times, decode_order, idx2diffusion_steps, ~(aa_masks.astype(bool)) + +#################### +### for SecStruc ### +#################### + +def ss_to_tensor(ss_dict): + """ + Function to convert ss files to indexed tensors + 0 = Helix + 1 = Strand + 2 = Loop + 3 = Mask/unknown + 4 = idx for pdb + """ + ss_conv = {'H':0,'E':1,'L':2} + ss_int = np.array([int(ss_conv[i]) for i in ss_dict['ss']]) + return ss_int + +def mask_ss(ss, min_mask = 0, max_mask = 0.75): + """ + Function to take ss array, find the junctions, and randomly mask these until a random proportion (up to 75%) is masked + Input: numpy array of ss (H=0,E=1,L=2,mask=3) + output: tensor with some proportion of junctions masked + """ + mask_prop = random.uniform(min_mask, max_mask) + transitions = np.where(ss[:-1] - ss[1:] != 0)[0] #gets last index of each block of ss + counter = 0 + #TODO think about masking whole ss elements + while len(ss[ss == 3])/len(ss) < mask_prop and counter < 100: #very hacky - do better + try: + width = random.randint(1,9) + start = random.choice(transitions) + offset = random.randint(-8,1) + ss[start+offset:start+offset+width] = 3 + counter += 1 + except: + counter += 1 + ss = torch.tensor(ss) + mask = torch.where(ss == 3, True, False) + ss = torch.nn.functional.one_hot(ss, num_classes=4) + return ss, mask + +def construct_block_adj_matrix( sstruct, xyz, nan_mask, cutoff=6, include_loops=False ): + ''' + Given a sstruct specification and backbone coordinates, build a block adjacency matrix. + + Input: + + sstruct (torch.FloatTensor): (L) length tensor with numeric encoding of sstruct at each position + + xyz (torch.FloatTensor): (L,3,3) tensor of Cartesian coordinates of backbone N,Ca,C atoms + + cutoff (float): The Cb distance cutoff under which residue pairs are considered adjacent + By eye, Nate thinks 6A is a good Cb distance cutoff + + Output: + + block_adj (torch.FloatTensor): (L,L) boolean matrix where adjacent secondary structure contacts are 1 + ''' + + # Remove nans at this stage, as ss doesn't consider nans + xyz_nonan = xyz[nan_mask] + L = xyz_nonan.shape[0] + assert L == sstruct.shape[0] + # three anchor atoms + N = xyz_nonan[:,0] + Ca = xyz_nonan[:,1] + C = xyz_nonan[:,2] + + # recreate Cb given N,Ca,C + Cb = generate_Cbeta(N,Ca,C) + + dist = get_pair_dist(Cb,Cb) # [L,L] + dist[torch.isnan(dist)] = 999.9 + assert torch.sum(torch.isnan(dist)) == 0 + dist += 999.9*torch.eye(L,device=xyz.device) + + # Now we have dist matrix and sstruct specification, turn this into a block adjacency matrix + + # First: Construct a list of segments and the index at which they begin and end + in_segment = True + segments = [] + + begin = -1 + end = -1 + # need to expand ss out to size L + + + for i in range(sstruct.shape[0]): + # Starting edge case + if i == 0: + begin = 0 + continue + + if not sstruct[i] == sstruct[i-1]: + end = i + segments.append( (sstruct[i-1], begin, end) ) + + begin = i + + # Ending edge case: last segment is length one + if not end == sstruct.shape[0]: + segments.append( (sstruct[-1], begin, sstruct.shape[0]) ) + + # Second: Using segments and dgram, determine adjacent blocks + block_adj = torch.zeros_like(dist) + for i in range(len(segments)): + curr_segment = segments[i] + + if curr_segment[0] == 2 and not include_loops: continue + + begin_i = curr_segment[1] + end_i = curr_segment[2] + for j in range(i+1, len(segments)): + j_segment = segments[j] + + if j_segment[0] == 2 and not include_loops: continue + + begin_j = j_segment[1] + end_j = j_segment[2] + + if torch.any( dist[begin_i:end_i, begin_j:end_j] < cutoff ): + # Matrix is symmetic + block_adj[begin_i:end_i, begin_j:end_j] = torch.ones(end_i - begin_i, end_j - begin_j) + block_adj[begin_j:end_j, begin_i:end_i] = torch.ones(end_j - begin_j, end_i - begin_i) + + return block_adj + +def get_pair_dist(a, b): + """calculate pair distances between two sets of points + + Parameters + ---------- + a,b : pytorch tensors of shape [batch,nres,3] + store Cartesian coordinates of two sets of atoms + Returns + ------- + dist : pytorch tensor of shape [batch,nres,nres] + stores paitwise distances between atoms in a and b + """ + + dist = torch.cdist(a, b, p=2) + return dist diff --git a/diffusion.py b/diffusion.py new file mode 100644 index 0000000..fdf0d5b --- /dev/null +++ b/diffusion.py @@ -0,0 +1,704 @@ +# script for diffusion protocols +import torch +import pickle +import numpy as np +import os +import logging +from typing import List + +from scipy.spatial.transform import Rotation as scipy_R + +from util import rigid_from_3_points + +from util import torsion_indices as TOR_INDICES +from util import torsion_can_flip as TOR_CAN_FLIP +from util import reference_angles as REF_ANGLES + +from util_module import ComputeAllAtomCoords + +from diff_util import th_min_angle, th_interpolate_angles + +from chemical import INIT_CRDS +import igso3 +import time + +torch.set_printoptions(sci_mode=False) + + +def get_beta_schedule(T, b0, bT, schedule_type, schedule_params={}, inference=False): + """ + Given a noise schedule type, create the beta schedule + """ + assert schedule_type in ["linear"] + + # Adjust b0 and bT if T is not 200 + # This is a good approximation, with the beta correction below, unless T is very small + assert T >= 15, "With discrete time and T < 15, the schedule is badly approximated" + b0 *= 200 / T + bT *= 200 / T + + # linear noise schedule + if schedule_type == "linear": + schedule = torch.linspace(b0, bT, T) + + else: + raise NotImplementedError(f"Schedule of type {schedule_type} not implemented.") + + # get alphabar_t for convenience + alpha_schedule = 1 - schedule + alphabar_t_schedule = torch.cumprod(alpha_schedule, dim=0) + + if inference: + print( + f"With this beta schedule ({schedule_type} schedule, beta_0 = {round(b0, 3)}, beta_T = {round(bT,3)}), alpha_bar_T = {alphabar_t_schedule[-1]}" + ) + + return schedule, alpha_schedule, alphabar_t_schedule + + +class EuclideanDiffuser: + # class for diffusing points in 3D + + def __init__( + self, + T, + b_0, + b_T, + schedule_type="linear", + schedule_kwargs={}, + ): + self.T = T + + # make noise/beta schedule + ( + self.beta_schedule, + self.alpha_schedule, + self.alphabar_schedule, + ) = get_beta_schedule(T, b_0, b_T, schedule_type, **schedule_kwargs) + + def diffuse_translations(self, xyz, diffusion_mask=None, var_scale=1): + return self.apply_kernel_recursive(xyz, diffusion_mask, var_scale) + + def apply_kernel(self, x, t, diffusion_mask=None, var_scale=1): + """ + Applies a noising kernel to the points in x + + Parameters: + x (torch.tensor, required): (N,3,3) set of backbone coordinates + + t (int, required): Which timestep + + noise_scale (float, required): scale for noise + """ + t_idx = t - 1 # bring from 1-indexed to 0-indexed + + assert len(x.shape) == 3 + L, _, _ = x.shape + + # c-alpha crds + ca_xyz = x[:, 1, :] + + b_t = self.beta_schedule[t_idx] + + # get the noise at timestep t + mean = torch.sqrt(1 - b_t) * ca_xyz + var = torch.ones(L, 3) * (b_t) * var_scale + + sampled_crds = torch.normal(mean, torch.sqrt(var)) + delta = sampled_crds - ca_xyz + + if not diffusion_mask is None: + delta[diffusion_mask, ...] = 0 + + out_crds = x + delta[:, None, :] + + return out_crds, delta + + def apply_kernel_recursive(self, xyz, diffusion_mask=None, var_scale=1): + """ + Repeatedly apply self.apply_kernel T times and return all crds + """ + bb_stack = [] + T_stack = [] + + cur_xyz = torch.clone(xyz) + + for t in range(1, self.T + 1): + cur_xyz, cur_T = self.apply_kernel( + cur_xyz, t, var_scale=var_scale, diffusion_mask=diffusion_mask + ) + bb_stack.append(cur_xyz) + T_stack.append(cur_T) + + return torch.stack(bb_stack).transpose(0, 1), torch.stack(T_stack).transpose( + 0, 1 + ) + + +def write_pkl(save_path: str, pkl_data): + """Serialize data into a pickle file.""" + with open(save_path, "wb") as handle: + pickle.dump(pkl_data, handle, protocol=pickle.HIGHEST_PROTOCOL) + + +def read_pkl(read_path: str, verbose=False): + """Read data from a pickle file.""" + with open(read_path, "rb") as handle: + try: + return pickle.load(handle) + except Exception as e: + if verbose: + print(f"Failed to read {read_path}") + raise (e) + + +class IGSO3: + """ + Class for taking in a set of backbone crds and performing IGSO3 diffusion + on all of them. + + Unlike the diffusion on translations, much of this class is written for a + scaling between an initial time t=0 and final time t=1. + """ + + def __init__( + self, + *, + T, + min_sigma, + max_sigma, + min_b, + max_b, + cache_dir, + num_omega=1000, + schedule="linear", + L=2000, + ): + """ + + Args: + T: total number of time steps + min_sigma: smallest allowed scale parameter, should be at least 0.01 to maintain numerical stability. Recommended value is 0.05. + max_sigma: for exponential schedule, the largest scale parameter. Ignored for recommeded linear schedule + min_b: lower value of beta in Ho schedule analogue + max_b: upper value of beta in Ho schedule analogue + num_omega: discretization level in the angles across [0, pi] + schedule: currently only linear and exponential are supported. The exponential schedule may be noising too slowly. + L: truncation level + """ + self._log = logging.getLogger(__name__) + + self.T = T + + self.schedule = schedule + self.cache_dir = cache_dir + self.min_sigma = min_sigma + self.max_sigma = max_sigma + + if self.schedule == "linear": + self.min_b = min_b + self.max_b = max_b + self.max_sigma = self.sigma(1.0) + self.num_omega = num_omega + self.num_sigma = 500 + # Calculate igso3 values. + self.L = L # truncation level + self.igso3_vals = self._calc_igso3_vals(L=L) + self.step_size = 1 / self.T + + def _calc_igso3_vals(self, L=2000): + """_calc_igso3_vals computes numerical approximations to the + relevant analytically intractable functionals of the igso3 + distribution. + + The calculated values are cached, or loaded from cache if they already + exist. + + Args: + L: truncation level for power series expansion of the pdf. + """ + replace_period = lambda x: str(x).replace(".", "_") + if self.schedule == "linear": + cache_fname = os.path.join( + self.cache_dir, + f"T_{self.T}_omega_{self.num_omega}_min_sigma_{replace_period(self.min_sigma)}" + + f"_min_b_{replace_period(self.min_b)}_max_b_{replace_period(self.max_b)}_schedule_{self.schedule}.pkl", + ) + elif self.schedule == "exponential": + cache_fname = os.path.join( + self.cache_dir, + f"T_{self.T}_omega_{self.num_omega}_min_sigma_{replace_period(self.min_sigma)}" + f"_max_sigma_{replace_period(self.max_sigma)}_schedule_{self.schedule}", + ) + else: + raise ValueError(f"Unrecognize schedule {self.schedule}") + + if not os.path.isdir(self.cache_dir): + os.makedirs(self.cache_dir) + + if os.path.exists(cache_fname): + self._log.info("Using cached IGSO3.") + igso3_vals = read_pkl(cache_fname) + else: + self._log.info("Calculating IGSO3.") + igso3_vals = igso3.calculate_igso3( + num_sigma=self.num_sigma, + min_sigma=self.min_sigma, + max_sigma=self.max_sigma, + num_omega=self.num_omega, + L=L, + ) + write_pkl(cache_fname, igso3_vals) + + return igso3_vals + + @property + def discrete_sigma(self): + return self.igso3_vals["discrete_sigma"] + + def sigma_idx(self, sigma: np.ndarray): + """ + Calculates the index for discretized sigma during IGSO(3) initialization.""" + return np.digitize(sigma, self.discrete_sigma) - 1 + + def t_to_idx(self, t: np.ndarray): + """ + Helper function to go from discrete time index t to corresponding sigma_idx. + + Args: + t: time index (integer between 1 and 200) + """ + continuous_t = t / self.T + return self.sigma_idx(self.sigma(continuous_t)) + + def sigma(self, t: torch.tensor): + """ + Extract \sigma(t) corresponding to chosen sigma schedule. + + Args: + t: torch tensor with time between 0 and 1 + """ + if not type(t) == torch.Tensor: + t = torch.tensor(t) + if torch.any(t < 0) or torch.any(t > 1): + raise ValueError(f"Invalid t={t}") + if self.schedule == "exponential": + sigma = t * np.log10(self.max_sigma) + (1 - t) * np.log10(self.min_sigma) + return 10**sigma + elif self.schedule == "linear": # Variance exploding analogue of Ho schedule + # add self.min_sigma for stability + return ( + self.min_sigma + + t * self.min_b + + (1 / 2) * (t**2) * (self.max_b - self.min_b) + ) + else: + raise ValueError(f"Unrecognize schedule {self.schedule}") + + def g(self, t): + """ + g returns the drift coefficient at time t + + since + sigma(t)^2 := \int_0^t g(s)^2 ds, + for arbitrary sigma(t) we invert this relationship to compute + g(t) = sqrt(d/dt sigma(t)^2). + + Args: + t: scalar time between 0 and 1 + + Returns: + drift cooeficient as a scalar. + """ + t = torch.tensor(t, requires_grad=True) + sigma_sqr = self.sigma(t) ** 2 + grads = torch.autograd.grad(sigma_sqr.sum(), t)[0] + return torch.sqrt(grads) + + def sample(self, ts, n_samples=1): + """ + sample uses the inverse cdf to sample an angle of rotation from + IGSO(3) + + Args: + ts: array of integer time steps to sample from. + n_samples: number of samples to draw. + Returns: + sampled angles of rotation. [len(ts), N] + """ + assert sum(ts == 0) == 0, "assumes one-indexed, not zero indexed" + all_samples = [] + for t in ts: + sigma_idx = self.t_to_idx(t) + sample_i = np.interp( + np.random.rand(n_samples), + self.igso3_vals["cdf"][sigma_idx], + self.igso3_vals["discrete_omega"], + ) # [N, 1] + all_samples.append(sample_i) + return np.stack(all_samples, axis=0) + + def sample_vec(self, ts, n_samples=1): + """sample_vec generates a rotation vector(s) from IGSO(3) at time steps + ts. + + Return: + Sampled vector of shape [len(ts), N, 3] + """ + x = np.random.randn(len(ts), n_samples, 3) + x /= np.linalg.norm(x, axis=-1, keepdims=True) + return x * self.sample(ts, n_samples=n_samples)[..., None] + + def score_norm(self, t, omega): + """ + score_norm computes the score norm based on the time step and angle + Args: + t: integer time step + omega: angles (scalar or shape [N]) + Return: + score_norm with same shape as omega + """ + sigma_idx = self.t_to_idx(t) + score_norm_t = np.interp( + omega, + self.igso3_vals["discrete_omega"], + self.igso3_vals["score_norm"][sigma_idx], + ) + return score_norm_t + + def score_vec(self, ts, vec): + """score_vec computes the score of the IGSO(3) density as a rotation + vector. This score vector is in the direction of the sampled vector, + and has magnitude given by score_norms. + + In particular, Rt @ hat(score_vec(ts, vec)) is what is referred to as + the score approximation in Algorithm 1 + + + Args: + ts: times of shape [T] + vec: where to compute the score of shape [T, N, 3] + Returns: + score vectors of shape [T, N, 3] + """ + omega = np.linalg.norm(vec, axis=-1) + all_score_norm = [] + for i, t in enumerate(ts): + omega_t = omega[i] + t_idx = t - 1 + sigma_idx = self.t_to_idx(t) + score_norm_t = np.interp( + omega_t, + self.igso3_vals["discrete_omega"], + self.igso3_vals["score_norm"][sigma_idx], + )[:, None] + all_score_norm.append(score_norm_t) + score_norm = np.stack(all_score_norm, axis=0) + return score_norm * vec / omega[..., None] + + def exp_score_norm(self, ts): + """exp_score_norm returns the expected value of norm of the score for + IGSO(3) with time parameter ts of shape [T]. + """ + sigma_idcs = [self.t_to_idx(t) for t in ts] + return self.igso3_vals["exp_score_norms"][sigma_idcs] + + def diffuse_frames(self, xyz, t_list, diffusion_mask=None): + """diffuse_frames samples from the IGSO(3) distribution to noise frames + + Parameters: + xyz (np.array or torch.tensor, required): (L,3,3) set of backbone coordinates + mask (np.array or torch.tensor, required): (L,) set of bools. True/1 is NOT diffused, False/0 IS diffused + Returns: + np.array : N/CA/C coordinates for each residue + (T,L,3,3), where T is num timesteps + """ + + if torch.is_tensor(xyz): + xyz = xyz.numpy() + + t = np.arange(self.T) + 1 # 1-indexed!! + num_res = len(xyz) + + N = torch.from_numpy(xyz[None, :, 0, :]) + Ca = torch.from_numpy(xyz[None, :, 1, :]) # [1, num_res, 3, 3] + C = torch.from_numpy(xyz[None, :, 2, :]) + + # scipy rotation object for true coordinates + R_true, Ca = rigid_from_3_points(N, Ca, C) + R_true = R_true[0] + Ca = Ca[0] + + # Sample rotations and scores from IGSO3 + sampled_rots = self.sample_vec(t, n_samples=num_res) # [T, N, 3] + + if diffusion_mask is not None: + non_diffusion_mask = 1 - diffusion_mask[None, :, None] + sampled_rots = sampled_rots * non_diffusion_mask + + # Apply sampled rot. + R_sampled = ( + scipy_R.from_rotvec(sampled_rots.reshape(-1, 3)) + .as_matrix() + .reshape(self.T, num_res, 3, 3) + ) + R_perturbed = np.einsum("tnij,njk->tnik", R_sampled, R_true) + perturbed_crds = ( + np.einsum( + "tnij,naj->tnai", R_sampled, xyz[:, :3, :] - Ca[:, None, ...].numpy() + ) + + Ca[None, :, None].numpy() + ) + + if t_list != None: + idx = [i - 1 for i in t_list] + perturbed_crds = perturbed_crds[idx] + R_perturbed = R_perturbed[idx] + + return ( + perturbed_crds.transpose(1, 0, 2, 3), # [L, T, 3, 3] + R_perturbed.transpose(1, 0, 2, 3), + ) + + def reverse_sample_vectorized( + self, R_t, R_0, t, noise_level, mask=None, return_perturb=False + ): + """reverse_sample uses an approximation to the IGSO3 score to sample + a rotation at the previous time step. + + Roughly - this update follows the reverse time SDE for Reimannian + manifolds proposed by de Bortoli et al. Theorem 1 [1]. But with an + approximation to the score based on the prediction of R0. + Unlike in reference [1], this diffusion on SO(3) relies on geometric + variance schedule. Specifically we follow [2] (appendix C) and assume + sigma_t = sigma_min * (sigma_max / sigma_min)^{t/T}, + for time step t. When we view this as a discretization of the SDE + from time 0 to 1 with step size (1/T). Following Eq. 5 and Eq. 6, + this maps on to the forward time SDEs + dx = g(t) dBt [FORWARD] + and + dx = g(t)^2 score(xt, t)dt + g(t) B't, [REVERSE] + where g(t) = sigma_t * sqrt(2 * log(sigma_max/ sigma_min)), and Bt and + B't are Brownian motions. The formula for g(t) obtains from equation 9 + of [2], from which this sampling function may be generalized to + alternative noising schedules. + Args: + R_t: noisy rotation of shape [N, 3, 3] + R_0: prediction of un-noised rotation + t: integer time step + noise_level: scaling on the noise added when obtaining sample + (preliminary performance seems empirically better with noise + level=0.5) + mask: whether the residue is to be updated. A value of 1 means the + rotation is not updated from r_t. A value of 0 means the + rotation is updated. + Return: + sampled rotation matrix for time t-1 of shape [3, 3] + Reference: + [1] De Bortoli, V., Mathieu, E., Hutchinson, M., Thornton, J., Teh, Y. + W., & Doucet, A. (2022). Riemannian score-based generative modeling. + arXiv preprint arXiv:2202.02763. + [2] Song, Y., Sohl-Dickstein, J., Kingma, D. P., Kumar, A., Ermon, S., + & Poole, B. (2020). Score-based generative modeling through stochastic + differential equations. arXiv preprint arXiv:2011.13456. + """ + # compute rotation vector corresponding to prediction of how r_t goes to r_0 + R_0, R_t = torch.tensor(R_0), torch.tensor(R_t) + R_0t = torch.einsum("...ij,...kj->...ik", R_t, R_0) + R_0t_rotvec = torch.tensor( + scipy_R.from_matrix(R_0t.cpu().numpy()).as_rotvec() + ).to(R_0.device) + + # Approximate the score based on the prediction of R0. + # R_t @ hat(Score_approx) is the score approximation in the Lie algebra + # SO(3) (i.e. the output of Algorithm 1) + Omega = torch.linalg.norm(R_0t_rotvec, axis=-1).numpy() + Score_approx = R_0t_rotvec * (self.score_norm(t, Omega) / Omega)[:, None] + + # Compute scaling for score and sampled noise (following Eq 6 of [2]) + continuous_t = t / self.T + rot_g = self.g(continuous_t).to(Score_approx.device) + + # Sample and scale noise to add to the rotation perturbation in the + # SO(3) tangent space. Since IG-SO(3) is the Brownian motion on SO(3) + # (up to a deceleration of time by a factor of two), for small enough + # time-steps, this is equivalent to perturbing r_t with IG-SO(3) noise. + # See e.g. Algorithm 1 of De Bortoli et al. + Z = np.random.normal(size=(R_0.shape[0], 3)) + Z = torch.from_numpy(Z).to(Score_approx.device) + Z *= noise_level + + Delta_r = (rot_g**2) * self.step_size * Score_approx + + # Sample perturbation from discretized SDE (following eq. 6 of [2]), + # This approximate sampling from IGSO3(* ; Delta_r, rot_g^2 * + # self.step_size) with tangent Gaussian. + Perturb_tangent = Delta_r + rot_g * np.sqrt(self.step_size) * Z + if mask is not None: + Perturb_tangent *= (1 - mask.long())[:, None, None] + Perturb = igso3.Exp(Perturb_tangent) + + if return_perturb: + return Perturb + + Interp_rot = torch.einsum("...ij,...jk->...ik", Perturb, R_t) + + return Interp_rot + + +class Diffuser: + # wrapper for yielding diffused coordinates + + def __init__( + self, + T, + b_0, + b_T, + min_sigma, + max_sigma, + min_b, + max_b, + schedule_type, + so3_schedule_type, + so3_type, + crd_scale, + schedule_kwargs={}, + var_scale=1.0, + cache_dir=".", + partial_T=None, + truncation_level=2000, + ): + """ + Parameters: + + T (int, required): Number of steps in the schedule + + b_0 (float, required): Starting variance for Euclidean schedule + + b_T (float, required): Ending variance for Euclidean schedule + + """ + self.T = T + self.b_0 = b_0 + self.b_T = b_T + self.min_sigma = min_sigma + self.max_sigma = max_sigma + self.crd_scale = crd_scale + self.var_scale = var_scale + self.cache_dir = cache_dir + + # get backbone frame diffuser + self.so3_diffuser = IGSO3( + T=self.T, + min_sigma=self.min_sigma, + max_sigma=self.max_sigma, + schedule=so3_schedule_type, + min_b=min_b, + max_b=max_b, + cache_dir=self.cache_dir, + L=truncation_level, + ) + + # get backbone translation diffuser + self.eucl_diffuser = EuclideanDiffuser( + self.T, b_0, b_T, schedule_type=schedule_type, **schedule_kwargs + ) + + print("Successful diffuser __init__") + + def diffuse_pose( + self, + xyz, + seq, + atom_mask, + include_motif_sidechains=True, + diffusion_mask=None, + t_list=None, + ): + """ + Given full atom xyz, sequence and atom mask, diffuse the protein frame + translations and rotations + + Parameters: + + xyz (L,14/27,3) set of coordinates + + seq (L,) integer sequence + + atom_mask: mask describing presence/absence of an atom in pdb + + diffusion_mask (torch.tensor, optional): Tensor of bools, True means NOT diffused at this residue, False means diffused + + t_list (list, optional): If present, only return the diffused coordinates at timesteps t within the list + + + """ + + if diffusion_mask is None: + diffusion_mask = torch.zeros(len(xyz.squeeze())).to(dtype=bool) + + get_allatom = ComputeAllAtomCoords().to(device=xyz.device) + L = len(xyz) + + # bring to origin and scale + # check if any BB atoms are nan before centering + nan_mask = ~torch.isnan(xyz.squeeze()[:, :3]).any(dim=-1).any(dim=-1) + assert torch.sum(~nan_mask) == 0 + + # Centre unmasked structure at origin, as in training (to prevent information leak) + if torch.sum(diffusion_mask) != 0: + self.motif_com = xyz[diffusion_mask, 1, :].mean( + dim=0 + ) # This is needed for one of the potentials + xyz = xyz - self.motif_com + elif torch.sum(diffusion_mask) == 0: + xyz = xyz - xyz[:, 1, :].mean(dim=0) + + xyz_true = torch.clone(xyz) + xyz = xyz * self.crd_scale + + # 1 get translations + tick = time.time() + diffused_T, deltas = self.eucl_diffuser.diffuse_translations( + xyz[:, :3, :].clone(), diffusion_mask=diffusion_mask + ) + # print('Time to diffuse coordinates: ',time.time()-tick) + diffused_T /= self.crd_scale + deltas /= self.crd_scale + + # 2 get frames + tick = time.time() + diffused_frame_crds, diffused_frames = self.so3_diffuser.diffuse_frames( + xyz[:, :3, :].clone(), diffusion_mask=diffusion_mask.numpy(), t_list=None + ) + diffused_frame_crds /= self.crd_scale + # print('Time to diffuse frames: ',time.time()-tick) + + ##### Now combine all the diffused quantities to make full atom diffused poses + tick = time.time() + cum_delta = deltas.cumsum(dim=1) + # The coordinates of the translated AND rotated frames + diffused_BB = ( + torch.from_numpy(diffused_frame_crds) + cum_delta[:, :, None, :] + ).transpose( + 0, 1 + ) # [n,L,3,3] + # diffused_BB = torch.from_numpy(diffused_frame_crds).transpose(0,1) + + # diffused_BB is [t_steps,L,3,3] + t_steps, L = diffused_BB.shape[:2] + + diffused_fa = torch.zeros(t_steps, L, 27, 3) + diffused_fa[:, :, :3, :] = diffused_BB + + # Add in sidechains from motif + if include_motif_sidechains: + diffused_fa[:, diffusion_mask, :14, :] = xyz_true[None, diffusion_mask, :14] + + if t_list is None: + fa_stack = diffused_fa + else: + t_idx_list = [t - 1 for t in t_list] + fa_stack = diffused_fa[t_idx_list] + + return fa_stack, xyz_true diff --git a/env/SE3Transformer/.dockerignore b/env/SE3Transformer/.dockerignore new file mode 100644 index 0000000..0c2dd9d --- /dev/null +++ b/env/SE3Transformer/.dockerignore @@ -0,0 +1,123 @@ +.Trash-0 +.git +data/ +.DS_Store +*wandb/ +*.pt +*.swp + +# added by FAFU +.idea/ +cache/ +downloaded/ +*.lprof + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ + +**/benchmark +**/results +*.pkl +*.log diff --git a/env/SE3Transformer/.gitignore b/env/SE3Transformer/.gitignore new file mode 100644 index 0000000..773e775 --- /dev/null +++ b/env/SE3Transformer/.gitignore @@ -0,0 +1,121 @@ +data/ +.DS_Store +*wandb/ +*.pt +*.swp + +# added by FAFU +.idea/ +cache/ +downloaded/ +*.lprof + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ + +**/benchmark +**/results +*.pkl +*.log \ No newline at end of file diff --git a/env/SE3Transformer/Dockerfile b/env/SE3Transformer/Dockerfile new file mode 100644 index 0000000..fcc163b --- /dev/null +++ b/env/SE3Transformer/Dockerfile @@ -0,0 +1,58 @@ +# Copyright (c) 2021, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# +# SPDX-FileCopyrightText: Copyright (c) 2021 NVIDIA CORPORATION & AFFILIATES +# SPDX-License-Identifier: MIT + +# run docker daemon with --default-runtime=nvidia for GPU detection during build +# multistage build for DGL with CUDA and FP16 + +ARG FROM_IMAGE_NAME=nvcr.io/nvidia/pytorch:21.07-py3 + +FROM ${FROM_IMAGE_NAME} AS dgl_builder + +ENV DEBIAN_FRONTEND=noninteractive +RUN apt-get update \ + && apt-get install -y git build-essential python3-dev make cmake \ + && rm -rf /var/lib/apt/lists/* +WORKDIR /dgl +RUN git clone --branch v0.7.0 --recurse-submodules --depth 1 https://github.com/dmlc/dgl.git . +RUN sed -i 's/"35 50 60 70"/"60 70 80"/g' cmake/modules/CUDA.cmake +WORKDIR build +RUN cmake -DUSE_CUDA=ON -DUSE_FP16=ON .. +RUN make -j8 + + +FROM ${FROM_IMAGE_NAME} + +RUN rm -rf /workspace/* +WORKDIR /workspace/se3-transformer + +# copy built DGL and install it +COPY --from=dgl_builder /dgl ./dgl +RUN cd dgl/python && python setup.py install && cd ../.. && rm -rf dgl + +ADD requirements.txt . +RUN pip install --no-cache-dir --upgrade --pre pip +RUN pip install --no-cache-dir -r requirements.txt +ADD . . + +ENV DGLBACKEND=pytorch +ENV OMP_NUM_THREADS=1 diff --git a/env/SE3Transformer/LICENSE b/env/SE3Transformer/LICENSE new file mode 100644 index 0000000..2193d14 --- /dev/null +++ b/env/SE3Transformer/LICENSE @@ -0,0 +1,7 @@ +Copyright 2021 NVIDIA CORPORATION & AFFILIATES + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/env/SE3Transformer/NOTICE b/env/SE3Transformer/NOTICE new file mode 100644 index 0000000..70c56df --- /dev/null +++ b/env/SE3Transformer/NOTICE @@ -0,0 +1,7 @@ +SE(3)-Transformer PyTorch + +This repository includes software from https://github.com/FabianFuchsML/se3-transformer-public +licensed under the MIT License. + +This repository includes software from https://github.com/lucidrains/se3-transformer-pytorch +licensed under the MIT License. diff --git a/env/SE3Transformer/README.md b/env/SE3Transformer/README.md new file mode 100644 index 0000000..a4afc58 --- /dev/null +++ b/env/SE3Transformer/README.md @@ -0,0 +1,580 @@ +# SE(3)-Transformers For PyTorch + +This repository provides a script and recipe to train the SE(3)-Transformer model to achieve state-of-the-art accuracy. The content of this repository is tested and maintained by NVIDIA. + +## Table Of Contents +- [Model overview](#model-overview) + * [Model architecture](#model-architecture) + * [Default configuration](#default-configuration) + * [Feature support matrix](#feature-support-matrix) + * [Features](#features) + * [Mixed precision training](#mixed-precision-training) + * [Enabling mixed precision](#enabling-mixed-precision) + * [Enabling TF32](#enabling-tf32) + * [Glossary](#glossary) +- [Setup](#setup) + * [Requirements](#requirements) +- [Quick Start Guide](#quick-start-guide) +- [Advanced](#advanced) + * [Scripts and sample code](#scripts-and-sample-code) + * [Parameters](#parameters) + * [Command-line options](#command-line-options) + * [Getting the data](#getting-the-data) + * [Dataset guidelines](#dataset-guidelines) + * [Multi-dataset](#multi-dataset) + * [Training process](#training-process) + * [Inference process](#inference-process) +- [Performance](#performance) + * [Benchmarking](#benchmarking) + * [Training performance benchmark](#training-performance-benchmark) + * [Inference performance benchmark](#inference-performance-benchmark) + * [Results](#results) + * [Training accuracy results](#training-accuracy-results) + * [Training accuracy: NVIDIA DGX A100 (8x A100 80GB)](#training-accuracy-nvidia-dgx-a100-8x-a100-80gb) + * [Training accuracy: NVIDIA DGX-1 (8x V100 16GB)](#training-accuracy-nvidia-dgx-1-8x-v100-16gb) + * [Training stability test](#training-stability-test) + * [Training performance results](#training-performance-results) + * [Training performance: NVIDIA DGX A100 (8x A100 80GB)](#training-performance-nvidia-dgx-a100-8x-a100-80gb) + * [Training performance: NVIDIA DGX-1 (8x V100 16GB)](#training-performance-nvidia-dgx-1-8x-v100-16gb) + * [Inference performance results](#inference-performance-results) + * [Inference performance: NVIDIA DGX A100 (1x A100 80GB)](#inference-performance-nvidia-dgx-a100-1x-a100-80gb) + * [Inference performance: NVIDIA DGX-1 (1x V100 16GB)](#inference-performance-nvidia-dgx-1-1x-v100-16gb) +- [Release notes](#release-notes) + * [Changelog](#changelog) + * [Known issues](#known-issues) + + + +## Model overview + + +The **SE(3)-Transformer** is a Graph Neural Network using a variant of [self-attention](https://arxiv.org/abs/1706.03762v5) for 3D points and graphs processing. +This model is [equivariant](https://en.wikipedia.org/wiki/Equivariant_map) under [continuous 3D roto-translations](https://en.wikipedia.org/wiki/Euclidean_group), meaning that when the inputs (graphs or sets of points) rotate in 3D space (or more generally experience a [proper rigid transformation](https://en.wikipedia.org/wiki/Rigid_transformation)), the model outputs either stay invariant or transform with the input. +A mathematical guarantee of equivariance is important to ensure stable and predictable performance in the presence of nuisance transformations of the data input and when the problem has some inherent symmetries we want to exploit. + + +The model is based on the following publications: +- [SE(3)-Transformers: 3D Roto-Translation Equivariant Attention Networks](https://arxiv.org/abs/2006.10503) (NeurIPS 2020) by Fabian B. Fuchs, Daniel E. Worrall, et al. +- [Tensor field networks: Rotation- and translation-equivariant neural networks for 3D point clouds](https://arxiv.org/abs/1802.08219) by Nathaniel Thomas, Tess Smidt, et al. + +A follow-up paper explains how this model can be used iteratively, for example, to predict or refine protein structures: + +- [Iterative SE(3)-Transformers](https://arxiv.org/abs/2102.13419) by Fabian B. Fuchs, Daniel E. Worrall, et al. + +Just like [the official implementation](https://github.com/FabianFuchsML/se3-transformer-public), this implementation uses [PyTorch](https://pytorch.org/) and the [Deep Graph Library (DGL)](https://www.dgl.ai/). + +The main differences between this implementation of SE(3)-Transformers and the official one are the following: + +- Training and inference support for multiple GPUs +- Training and inference support for [Mixed Precision](https://arxiv.org/abs/1710.03740) +- The [QM9 dataset from DGL](https://docs.dgl.ai/en/latest/api/python/dgl.data.html#qm9edge-dataset) is used and automatically downloaded +- Significantly increased throughput +- Significantly reduced memory consumption +- The use of layer normalization in the fully connected radial profile layers is an option (`--use_layer_norm`), off by default +- The use of equivariant normalization between attention layers is an option (`--norm`), off by default +- The [spherical harmonics](https://en.wikipedia.org/wiki/Spherical_harmonic) and [Clebsch–Gordan coefficients](https://en.wikipedia.org/wiki/Clebsch%E2%80%93Gordan_coefficients), used to compute bases matrices, are computed with the [e3nn library](https://e3nn.org/) + + + +This model enables you to predict quantum chemical properties of small organic molecules in the [QM9 dataset](https://www.nature.com/articles/sdata201422). +In this case, the exploited symmetry is that these properties do not depend on the orientation or position of the molecules in space. + + +This model is trained with mixed precision using Tensor Cores on NVIDIA Volta, NVIDIA Turing, and the NVIDIA Ampere GPU architectures. Therefore, researchers can get results up to 1.5x faster than training without Tensor Cores while experiencing the benefits of mixed precision training. This model is tested against each NGC monthly container release to ensure consistent accuracy and performance over time. + +### Model architecture + +The model consists of stacked layers of equivariant graph self-attention and equivariant normalization. +Lastly, a Tensor Field Network convolution is applied to obtain invariant features. Graph pooling (mean or max over the nodes) is applied to these features, and the result is fed to a final MLP to get scalar predictions. + +In this setup, the model is a graph-to-scalar network. The pooling can be removed to obtain a graph-to-graph network, and the final TFN can be modified to output features of any type (invariant scalars, 3D vectors, ...). + + +![Model high-level architecture](./images/se3-transformer.png) + + +### Default configuration + + +SE(3)-Transformers introduce a self-attention layer for graphs that is equivariant to 3D roto-translations. It achieves this by leveraging Tensor Field Networks to build attention weights that are invariant and attention values that are equivariant. +Combining the equivariant values with the invariant weights gives rise to an equivariant output. This output is normalized while preserving equivariance thanks to equivariant normalization layers operating on feature norms. + + +The following features were implemented in this model: + +- Support for edge features of any degree (1D, 3D, 5D, ...), whereas the official implementation only supports scalar invariant edge features (degree 0). Edge features with a degree greater than one are +concatenated to node features of the same degree. This is required in order to reproduce published results on point cloud processing. +- Data-parallel multi-GPU training (DDP) +- Mixed precision training (autocast, gradient scaling) +- Gradient accumulation +- Model checkpointing + + +The following performance optimizations were implemented in this model: + + +**General optimizations** + +- The option is provided to precompute bases at the beginning of the training instead of computing them at the beginning of each forward pass (`--precompute_bases`) +- The bases computation is just-in-time (JIT) compiled with `torch.jit.script` +- The Clebsch-Gordon coefficients are cached in RAM + + +**Tensor Field Network optimizations** + +- The last layer of each radial profile network does not add any bias in order to avoid large broadcasting operations +- The layout (order of dimensions) of the bases tensors is optimized to avoid copies to contiguous memory in the downstream TFN layers +- When Tensor Cores are available, and the output feature dimension of computed bases is odd, then it is padded with zeros to make more effective use of Tensor Cores (AMP and TF32 precisions) +- Multiple levels of fusion for TFN convolutions (and radial profiles) are provided and automatically used when conditions are met +- A low-memory mode is provided that will trade throughput for less memory use (`--low_memory`) + +**Self-attention optimizations** + +- Attention keys and values are computed by a single partial TFN graph convolution in each attention layer instead of two +- Graph operations for different output degrees may be fused together if conditions are met + + +**Normalization optimizations** + +- The equivariant normalization layer is optimized from multiple layer normalizations to a group normalization on fused norms when certain conditions are met + + + +Competitive training results and analysis are provided for the following hyperparameters (identical to the ones in the original publication): +- Number of layers: 7 +- Number of degrees: 4 +- Number of channels: 32 +- Number of attention heads: 8 +- Channels division: 2 +- Use of equivariant normalization: true +- Use of layer normalization: true +- Pooling: max + + +### Feature support matrix + +This model supports the following features:: + +| Feature | SE(3)-Transformer +|-----------------------|-------------------------- +|Automatic mixed precision (AMP) | Yes +|Distributed data parallel (DDP) | Yes + +#### Features + + +**Distributed data parallel (DDP)** + +[DistributedDataParallel (DDP)](https://pytorch.org/docs/stable/generated/torch.nn.parallel.DistributedDataParallel.html#torch.nn.parallel.DistributedDataParallel) implements data parallelism at the module level that can run across multiple GPUs or machines. + +**Automatic Mixed Precision (AMP)** + +This implementation uses the native PyTorch AMP implementation of mixed precision training. It allows us to use FP16 training with FP32 master weights by modifying just a few lines of code. A detailed explanation of mixed precision can be found in the next section. + +### Mixed precision training + +Mixed precision is the combined use of different numerical precisions in a computational method. [Mixed precision](https://arxiv.org/abs/1710.03740) training offers significant computational speedup by performing operations in half-precision format while storing minimal information in single-precision to retain as much information as possible in critical parts of the network. Since the introduction of [Tensor Cores](https://developer.nvidia.com/tensor-cores) in NVIDIA Volta, and following with both the NVIDIA Turing and NVIDIA Ampere Architectures, significant training speedups are experienced by switching to mixed precision -- up to 3x overall speedup on the most arithmetically intense model architectures. Using [mixed precision training](https://docs.nvidia.com/deeplearning/performance/mixed-precision-training/index.html) previously required two steps: +1. Porting the model to use the FP16 data type where appropriate. +2. Adding loss scaling to preserve small gradient values. + +AMP enables mixed precision training on NVIDIA Volta, NVIDIA Turing, and NVIDIA Ampere GPU architectures automatically. The PyTorch framework code makes all necessary model changes internally. + +For information about: +- How to train using mixed precision, refer to the [Mixed Precision Training](https://arxiv.org/abs/1710.03740) paper and [Training With Mixed Precision](https://docs.nvidia.com/deeplearning/performance/mixed-precision-training/index.html) documentation. +- Techniques used for mixed precision training, refer to the [Mixed-Precision Training of Deep Neural Networks](https://devblogs.nvidia.com/mixed-precision-training-deep-neural-networks/) blog. +- APEX tools for mixed precision training, refer to the [NVIDIA Apex: Tools for Easy Mixed-Precision Training in PyTorch](https://devblogs.nvidia.com/apex-pytorch-easy-mixed-precision-training/). + +#### Enabling mixed precision + +Mixed precision is enabled in PyTorch by using the native [Automatic Mixed Precision package](https://pytorch.org/docs/stable/amp.html), which casts variables to half-precision upon retrieval while storing variables in single-precision format. Furthermore, to preserve small gradient magnitudes in backpropagation, a [loss scaling](https://docs.nvidia.com/deeplearning/sdk/mixed-precision-training/index.html#lossscaling) step must be included when applying gradients. In PyTorch, loss scaling can be applied automatically using a `GradScaler`. +Automatic Mixed Precision makes all the adjustments internally in PyTorch, providing two benefits over manual operations. First, programmers need not modify network model code, reducing development and maintenance effort. Second, using AMP maintains forward and backward compatibility with all the APIs for defining and running PyTorch models. + +To enable mixed precision, you can simply use the `--amp` flag when running the training or inference scripts. + +#### Enabling TF32 + +TensorFloat-32 (TF32) is the new math mode in [NVIDIA A100](https://www.nvidia.com/en-us/data-center/a100/) GPUs for handling the matrix math, also called tensor operations. TF32 running on Tensor Cores in A100 GPUs can provide up to 10x speedups compared to single-precision floating-point math (FP32) on NVIDIA Volta GPUs. + +TF32 Tensor Cores can speed up networks using FP32, typically with no loss of accuracy. It is more robust than FP16 for models that require a high dynamic range for weights or activations. + +For more information, refer to the [TensorFloat-32 in the A100 GPU Accelerates AI Training, HPC up to 20x](https://blogs.nvidia.com/blog/2020/05/14/tensorfloat-32-precision-format/) blog post. + +TF32 is supported in the NVIDIA Ampere GPU architecture and is enabled by default. + + + +### Glossary + +**Degree (type)** + +In the model, every feature (input, output and hidden) transforms in an equivariant way in relation to the input graph. When we define a feature, we need to choose, in addition to the number of channels, which transformation rule it obeys. + +The degree or type of a feature is a positive integer that describes how this feature transforms when the input rotates in 3D. + +This is related to [irreducible representations](https://en.wikipedia.org/wiki/Irreducible_representation) of different rotation orders. + +The degree of a feature determines its dimensionality. A type-d feature has a dimensionality of 2d+1. + +Some common examples include: +- Degree 0: 1D scalars invariant to rotation +- Degree 1: 3D vectors that rotate according to 3D rotation matrices +- Degree 2: 5D vectors that rotate according to 5D [Wigner-D matrices](https://en.wikipedia.org/wiki/Wigner_D-matrix). These can represent symmetric traceless 3x3 matrices. + +**Fiber** + +A fiber can be viewed as a representation of a set of features of different types or degrees (positive integers), where each feature type transforms according to its rule. + +In this repository, a fiber can be seen as a dictionary with degrees as keys and numbers of channels as values. + +**Multiplicity** + +The multiplicity of a feature of a given type is the number of channels of this feature. + +**Tensor Field Network** + +A [Tensor Field Network](https://arxiv.org/abs/1802.08219) is a kind of equivariant graph convolution that can combine features of different degrees and produce new ones while preserving equivariance thanks to [tensor products](https://en.wikipedia.org/wiki/Tensor_product). + +**Equivariance** + +[Equivariance](https://en.wikipedia.org/wiki/Equivariant_map) is a property of a function of model stating that applying a symmetry transformation to the input and then computing the function produces the same result as computing the function and then applying the transformation to the output. + +In the case of SE(3)-Transformer, the symmetry group is the group of continuous roto-translations (SE(3)). + +## Setup + +The following section lists the requirements that you need to meet in order to start training the SE(3)-Transformer model. + +### Requirements + +This repository contains a Dockerfile which extends the PyTorch 21.07 NGC container and encapsulates some dependencies. Aside from these dependencies, ensure you have the following components: +- [NVIDIA Docker](https://github.com/NVIDIA/nvidia-docker) +- PyTorch 21.07+ NGC container +- Supported GPUs: + - [NVIDIA Volta architecture](https://www.nvidia.com/en-us/data-center/volta-gpu-architecture/) + - [NVIDIA Turing architecture](https://www.nvidia.com/en-us/design-visualization/technologies/turing-architecture/) + - [NVIDIA Ampere architecture](https://www.nvidia.com/en-us/data-center/nvidia-ampere-gpu-architecture/) + +For more information about how to get started with NGC containers, refer to the following sections from the NVIDIA GPU Cloud Documentation and the Deep Learning Documentation: +- [Getting Started Using NVIDIA GPU Cloud](https://docs.nvidia.com/ngc/ngc-getting-started-guide/index.html) +- [Accessing And Pulling From The NGC Container Registry](https://docs.nvidia.com/deeplearning/frameworks/user-guide/index.html#accessing_registry) +- [Running PyTorch](https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes/running.html#running) + +For those unable to use the PyTorch NGC container to set up the required environment or create your own container, refer to the versioned [NVIDIA Container Support Matrix](https://docs.nvidia.com/deeplearning/frameworks/support-matrix/index.html). + +## Quick Start Guide + +To train your model using mixed or TF32 precision with Tensor Cores or FP32, perform the following steps using the default parameters of the SE(3)-Transformer model on the QM9 dataset. For the specifics concerning training and inference, refer to the [Advanced](#advanced) section. + +1. Clone the repository. + ``` + git clone https://github.com/NVIDIA/DeepLearningExamples + cd DeepLearningExamples/PyTorch/DrugDiscovery/SE3Transformer + ``` + +2. Build the `se3-transformer` PyTorch NGC container. + ``` + docker build -t se3-transformer . + ``` + +3. Start an interactive session in the NGC container to run training/inference. + ``` + mkdir -p results + docker run -it --runtime=nvidia --shm-size=8g --ulimit memlock=-1 --ulimit stack=67108864 --rm -v ${PWD}/results:/results se3-transformer:latest + ``` + +4. Start training. + ``` + bash scripts/train.sh + ``` + +5. Start inference/predictions. + ``` + bash scripts/predict.sh + ``` + + +Now that you have your model trained and evaluated, you can choose to compare your training results with our [Training accuracy results](#training-accuracy-results). You can also choose to benchmark your performance to [Training performance benchmark](#training-performance-results) or [Inference performance benchmark](#inference-performance-results). Following the steps in these sections will ensure that you achieve the same accuracy and performance results as stated in the [Results](#results) section. + +## Advanced + +The following sections provide greater details of the dataset, running training and inference, and the training results. + +### Scripts and sample code + +In the root directory, the most important files are: +- `Dockerfile`: container with the basic set of dependencies to run SE(3)-Transformers +- `requirements.txt`: set of extra requirements to run SE(3)-Transformers +- `se3_transformer/data_loading/qm9.py`: QM9 data loading and preprocessing, as well as bases precomputation +- `se3_transformer/model/layers/`: directory containing model architecture layers +- `se3_transformer/model/transformer.py`: main Transformer module +- `se3_transformer/model/basis.py`: logic for computing bases matrices +- `se3_transformer/runtime/training.py`: training script, to be run as a python module +- `se3_transformer/runtime/inference.py`: inference script, to be run as a python module +- `se3_transformer/runtime/metrics.py`: MAE metric with support for multi-GPU synchronization +- `se3_transformer/runtime/loggers.py`: [DLLogger](https://github.com/NVIDIA/dllogger) and [W&B](wandb.ai/) loggers + + +### Parameters + +The complete list of the available parameters for the `training.py` script contains: + +**General** + +- `--epochs`: Number of training epochs (default: `100` for single-GPU) +- `--batch_size`: Batch size (default: `240`) +- `--seed`: Set a seed globally (default: `None`) +- `--num_workers`: Number of dataloading workers (default: `8`) +- `--amp`: Use Automatic Mixed Precision (default `false`) +- `--gradient_clip`: Clipping of the gradient norms (default: `None`) +- `--accumulate_grad_batches`: Gradient accumulation (default: `1`) +- `--ckpt_interval`: Save a checkpoint every N epochs (default: `-1`) +- `--eval_interval`: Do an evaluation round every N epochs (default: `1`) +- `--silent`: Minimize stdout output (default: `false`) + +**Paths** + +- `--data_dir`: Directory where the data is located or should be downloaded (default: `./data`) +- `--log_dir`: Directory where the results logs should be saved (default: `/results`) +- `--save_ckpt_path`: File where the checkpoint should be saved (default: `None`) +- `--load_ckpt_path`: File of the checkpoint to be loaded (default: `None`) + +**Optimizer** + +- `--optimizer`: Optimizer to use (default: `adam`) +- `--learning_rate`: Learning rate to use (default: `0.002` for single-GPU) +- `--momentum`: Momentum to use (default: `0.9`) +- `--weight_decay`: Weight decay to use (default: `0.1`) + +**QM9 dataset** + +- `--task`: Regression task to train on (default: `homo`) +- `--precompute_bases`: Precompute bases at the beginning of the script during dataset initialization, instead of computing them at the beginning of each forward pass (default: `false`) + +**Model architecture** + +- `--num_layers`: Number of stacked Transformer layers (default: `7`) +- `--num_heads`: Number of heads in self-attention (default: `8`) +- `--channels_div`: Channels division before feeding to attention layer (default: `2`) +- `--pooling`: Type of graph pooling (default: `max`) +- `--norm`: Apply a normalization layer after each attention block (default: `false`) +- `--use_layer_norm`: Apply layer normalization between MLP layers (default: `false`) +- `--low_memory`: If true, will use fused ops that are slower but use less memory (expect 25 percent less memory). Only has an effect if AMP is enabled on NVIDIA Volta GPUs or if running on Ampere GPUs (default: `false`) +- `--num_degrees`: Number of degrees to use. Hidden features will have types [0, ..., num_degrees - 1] (default: `4`) +- `--num_channels`: Number of channels for the hidden features (default: `32`) + + +### Command-line options + +To show the full list of available options and their descriptions, use the `-h` or `--help` command-line option, for example: `python -m se3_transformer.runtime.training --help`. + + +### Dataset guidelines + +#### Demo dataset + +The SE(3)-Transformer was trained on the QM9 dataset. + +The QM9 dataset is hosted on DGL servers and downloaded (38MB) automatically when needed. By default, it is stored in the `./data` directory, but this location can be changed with the `--data_dir` argument. + +The dataset is saved as a `qm9_edge.npz` file and converted to DGL graphs at runtime. + +As input features, we use: +- Node features (6D): + - One-hot-encoded atom type (5D) (atom types: H, C, N, O, F) + - Number of protons of each atom (1D) +- Edge features: one-hot-encoded bond type (4D) (bond types: single, double, triple, aromatic) +- The relative positions between adjacent nodes (atoms) + +#### Custom datasets + +To use this network on a new dataset, you can extend the `DataModule` class present in `se3_transformer/data_loading/data_module.py`. + +Your custom collate function should return a tuple with: + +- A (batched) DGLGraph object +- A dictionary of node features ({‘{degree}’: tensor}) +- A dictionary of edge features ({‘{degree}’: tensor}) +- (Optional) Precomputed bases as a dictionary +- Labels as a tensor + +You can then modify the `training.py` and `inference.py` scripts to use your new data module. + +### Training process + +The training script is `se3_transformer/runtime/training.py`, to be run as a module: `python -m se3_transformer.runtime.training`. + +**Logs** + +By default, the resulting logs are stored in `/results/`. This can be changed with `--log_dir`. + +You can connect your existing Weights & Biases account by setting the `WANDB_API_KEY` environment variable. + +**Checkpoints** + +The argument `--save_ckpt_path` can be set to the path of the file where the checkpoints should be saved. +`--ckpt_interval` can also be set to the interval (in the number of epochs) between checkpoints. + +**Evaluation** + +The evaluation metric is the Mean Absolute Error (MAE). + +`--eval_interval` can be set to the interval (in the number of epochs) between evaluation rounds. By default, an evaluation round is performed after each epoch. + +**Automatic Mixed Precision** + +To enable Mixed Precision training, add the `--amp` flag. + +**Multi-GPU and multi-node** + +The training script supports the PyTorch elastic launcher to run on multiple GPUs or nodes. Refer to the [official documentation](https://pytorch.org/docs/1.9.0/elastic/run.html). + +For example, to train on all available GPUs with AMP: + +``` +python -m torch.distributed.run --nnodes=1 --nproc_per_node=gpu --module se3_transformer.runtime.training --amp +``` + + +### Inference process + +Inference can be run by using the `se3_transformer.runtime.inference` python module. + +The inference script is `se3_transformer/runtime/inference.py`, to be run as a module: `python -m se3_transformer.runtime.inference`. It requires a pre-trained model checkpoint (to be passed as `--load_ckpt_path`). + + +## Performance + +The performance measurements in this document were conducted at the time of publication and may not reflect the performance achieved from NVIDIA’s latest software release. For the most up-to-date performance measurements, go to [NVIDIA Data Center Deep Learning Product Performance](https://developer.nvidia.com/deep-learning-performance-training-inference). + +### Benchmarking + +The following section shows how to run benchmarks measuring the model performance in training and inference modes. + +#### Training performance benchmark + +To benchmark the training performance on a specific batch size, run `bash scripts/benchmarck_train.sh {BATCH_SIZE}` for single GPU, and `bash scripts/benchmarck_train_multi_gpu.sh {BATCH_SIZE}` for multi-GPU. + +#### Inference performance benchmark + +To benchmark the inference performance on a specific batch size, run `bash scripts/benchmarck_inference.sh {BATCH_SIZE}`. + +### Results + + +The following sections provide details on how we achieved our performance and accuracy in training and inference. + +#### Training accuracy results + +##### Training accuracy: NVIDIA DGX A100 (8x A100 80GB) + +Our results were obtained by running the `scripts/train.sh` training script in the PyTorch 21.07 NGC container on NVIDIA DGX A100 (8x A100 80GB) GPUs. + +| GPUs | Batch size / GPU | Absolute error - TF32 | Absolute error - mixed precision | Time to train - TF32 | Time to train - mixed precision | Time to train speedup (mixed precision to TF32) | +|:------------------:|:----------------------:|:--------------------:|:------------------------------------:|:---------------------------------:|:----------------------:|:----------------------------------------------:| +| 1 | 240 | 0.03456 | 0.03460 | 1h23min | 1h03min | 1.32x | +| 8 | 240 | 0.03417 | 0.03424 | 15min | 12min | 1.25x | + + +##### Training accuracy: NVIDIA DGX-1 (8x V100 16GB) + +Our results were obtained by running the `scripts/train.sh` training script in the PyTorch 21.07 NGC container on NVIDIA DGX-1 with (8x V100 16GB) GPUs. + +| GPUs | Batch size / GPU | Absolute error - FP32 | Absolute error - mixed precision | Time to train - FP32 | Time to train - mixed precision | Time to train speedup (mixed precision to FP32) | +|:------------------:|:----------------------:|:--------------------:|:------------------------------------:|:---------------------------------:|:----------------------:|:----------------------------------------------:| +| 1 | 240 | 0.03432 | 0.03439 | 2h25min | 1h33min | 1.56x | +| 8 | 240 | 0.03380 | 0.03495 | 29min | 20min | 1.45x | + + +#### Training performance results + +##### Training performance: NVIDIA DGX A100 (8x A100 80GB) + +Our results were obtained by running the `scripts/benchmark_train.sh` and `scripts/benchmark_train_multi_gpu.sh` benchmarking scripts in the PyTorch 21.07 NGC container on NVIDIA DGX A100 with 8x A100 80GB GPUs. Performance numbers (in molecules per millisecond) were averaged over five entire training epochs after a warmup epoch. + +| GPUs | Batch size / GPU | Throughput - TF32 [mol/ms] | Throughput - mixed precision [mol/ms] | Throughput speedup (mixed precision - TF32) | Weak scaling - TF32 | Weak scaling - mixed precision | +|:------------------:|:----------------------:|:--------------------:|:------------------------------------:|:---------------------------------:|:----------------------:|:----------------------------------------------:| +| 1 | 240 | 2.21 | 2.92 | 1.32x | | | +| 1 | 120 | 1.81 | 2.04 | 1.13x | | | +| 8 | 240 | 17.15 | 22.95 | 1.34x | 7.76 | 7.86 | +| 8 | 120 | 13.89 | 15.62 | 1.12x | 7.67 | 7.66 | + + +To achieve these same results, follow the steps in the [Quick Start Guide](#quick-start-guide). + + +##### Training performance: NVIDIA DGX-1 (8x V100 16GB) + +Our results were obtained by running the `scripts/benchmark_train.sh` and `scripts/benchmark_train_multi_gpu.sh` benchmarking scripts in the PyTorch 21.07 NGC container on NVIDIA DGX-1 with 8x V100 16GB GPUs. Performance numbers (in molecules per millisecond) were averaged over five entire training epochs after a warmup epoch. + +| GPUs | Batch size / GPU | Throughput - FP32 [mol/ms] | Throughput - mixed precision [mol/ms] | Throughput speedup (FP32 - mixed precision) | Weak scaling - FP32 | Weak scaling - mixed precision | +|:------------------:|:----------------------:|:--------------------:|:------------------------------------:|:---------------------------------:|:----------------------:|:----------------------------------------------:| +| 1 | 240 | 1.25 | 1.88 | 1.50x | | | +| 1 | 120 | 1.03 | 1.41 | 1.37x | | | +| 8 | 240 | 9.33 | 14.02 | 1.50x | 7.46 | 7.46 | +| 8 | 120 | 7.39 | 9.41 | 1.27x | 7.17 | 6.67 | + + +To achieve these same results, follow the steps in the [Quick Start Guide](#quick-start-guide). + + +#### Inference performance results + + +##### Inference performance: NVIDIA DGX A100 (1x A100 80GB) + +Our results were obtained by running the `scripts/benchmark_inference.sh` inferencing benchmarking script in the PyTorch 21.07 NGC container on NVIDIA DGX A100 with 1x A100 80GB GPU. + +FP16 + +| Batch size | Throughput Avg [mol/ms] | Latency Avg [ms] | Latency 90% [ms] |Latency 95% [ms] |Latency 99% [ms] | +|:------------:|:------:|:-----:|:-----:|:-----:|:-----:| +| 1600 | 11.60 | 140.94 | 138.29 | 140.12 | 386.40 | +| 800 | 10.74 | 75.69 | 75.74 | 76.50 | 79.77 | +| 400 | 8.86 | 45.57 | 46.11 | 46.60 | 49.97 | + +TF32 + +| Batch size | Throughput Avg [mol/ms] | Latency Avg [ms] | Latency 90% [ms] |Latency 95% [ms] |Latency 99% [ms] | +|:------------:|:------:|:-----:|:-----:|:-----:|:-----:| +| 1600 | 8.58 | 189.20 | 186.39 | 187.71 | 420.28 | +| 800 | 8.28 | 97.56 | 97.20 | 97.73 | 101.13 | +| 400 | 7.55 | 53.38 | 53.72 | 54.48 | 56.62 | + +To achieve these same results, follow the steps in the [Quick Start Guide](#quick-start-guide). + + + +##### Inference performance: NVIDIA DGX-1 (1x V100 16GB) + +Our results were obtained by running the `scripts/benchmark_inference.sh` inferencing benchmarking script in the PyTorch 21.07 NGC container on NVIDIA DGX-1 with 1x V100 16GB GPU. + +FP16 + +| Batch size | Throughput Avg [mol/ms] | Latency Avg [ms] | Latency 90% [ms] |Latency 95% [ms] |Latency 99% [ms] | +|:------------:|:------:|:-----:|:-----:|:-----:|:-----:| +| 1600 | 6.42 | 254.54 | 247.97 | 249.29 | 721.15 | +| 800 | 6.13 | 132.07 | 131.90 | 132.70 | 140.15 | +| 400 | 5.37 | 75.12 | 76.01 | 76.66 | 79.90 | + +FP32 + +| Batch size | Throughput Avg [mol/ms] | Latency Avg [ms] | Latency 90% [ms] |Latency 95% [ms] |Latency 99% [ms] | +|:------------:|:------:|:-----:|:-----:|:-----:|:-----:| +| 1600 | 3.39 | 475.86 | 473.82 | 475.64 | 891.18 | +| 800 | 3.36 | 239.17 | 240.64 | 241.65 | 243.70 | +| 400 | 3.17 | 126.67 | 128.19 | 128.82 | 130.54 | + + +To achieve these same results, follow the steps in the [Quick Start Guide](#quick-start-guide). + + +## Release notes + +### Changelog + +August 2021 +- Initial release + +### Known issues + +If you encounter `OSError: [Errno 12] Cannot allocate memory` during the Dataloader iterator creation (more precisely during the `fork()`, this is most likely due to the use of the `--precompute_bases` flag. If you cannot add more RAM or Swap to your machine, it is recommended to turn off bases precomputation by removing the `--precompute_bases` flag or using `--precompute_bases false`. diff --git a/env/SE3Transformer/images/se3-transformer.png b/env/SE3Transformer/images/se3-transformer.png new file mode 100644 index 0000000000000000000000000000000000000000..1173ac96d9b3cb5dae689ef29906cc23a7e9abc9 GIT binary patch literal 1190831 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

qEMp8V8 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

  • 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%0A%F}~qkaWAw03fF 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�dyyCll97|u z6^i!5IWkg5>94AIzubWYv(MSqbTN%0t`qaplaNK22KDK(J)p`uT2&i3RT)=*Ezl#? zx{SfM^I+KuJE@HTDaYALEkMdO2LSlu@t~r#M)CvTi<*2OcITJB1F<9P=fn6GJt$VJ z01PjIQc|wZAM|ASOs^B1be5T*MmU%tWxq+tWu&6|9bMA73syTnBdo8}TI@0DTpo{DVNCEFZ4-ktX)l0PX{PVJ zFyS{2U7ds*k0nslBcFw?PI`ZZ;5WKD1PexF+l69J#+}5^Pu@EW^SY;-Gp&+9-mJ#l z`vbr!F}(1^T&63&@x-6^FFf(me6Lk1^K#e6_^Q|y+s@oSb{b>~y@k>nHZ57jvjG8F zXbL;2R5128oFn)Jw6}YTcte)5qbB^RU{_<2>>DQwBt49(hObkn`nPJ(J6wKH&2=Yw3SDp@r*0`f4cJR`cPfpDbmd)p|de{W?W(ZaLnQSDw3M1rwD^ z+$eB97xhzN#%2cycNwHU0L?rJ}*jDhQt(|Z;nG+xCJ+jVi+CUfb4t0hL822j|>{k1fQjtrV`zhnuhyE562xV z?(1-?G>4V*7QsQXY=1!xJdimdPgp`-|Uj$N3R7t*{7x>&d@*iIj$_TITi zAjKtQ1r;T3j_+*&EW!x1pFL5%TnP|;OdsWJiLbd@yk)cqI5OgIJLy>%V> z)00SAytEi9A1J9&wQF5@w!!nl(Oy>D-J@6n8v*{V{EWC>wPoR0?-aIRX9 z0QBX<8os$+Y+?fLw-(mIgJ3>79SAZ>M}zmKH6@0%y#ZuC5k-6ssR@He{VE0A94 zyTCdtrGi)xjEmA;Q$(j_swL%zX$*dfDT6fz+36@}B0((s?D%jqyX-d>psza|F5)6k zWqKesE?KehQk7*FH0Ok0*QX{|f}W?GQ;(?rVhO786XeKz8iaU-Ubi_~^fX8N0T{s% zuaHnM=lCwX8crUE^8HQ?$7f>tk=3k`Jq1o3du80_W-f!;I&x_6gnLC+wWVEA-lp0R zJ$o4IKoZ8HEd{+MQ9@r7DCAjGhl9natF?R)4gc1$BHzd`enfF}Q!EHO6Zc~P9sv*2 z2^k~ZF_@LcZe*o#H0rDSA3>O@l!>Z#@gppx7jiu8R(yqL(E)jx4!HOT{969X9L5%f zeicOKV5k#b%Omg>2?v(Q%~s1D1k-_7S&JfXsBleis0+De0It`{_)EX-J;8DW&AYqL zh51JHC5e|tXtk*&$_30q91>t`Fl)J|!t#O#M)i=;P4bO|*951K+hFRv!3``P+hL@; zn@+lN`ecu!9rC4xO{vRV(g}B9*_(G=JCJ*0oO87;*C!}Jl{u&G7+K~qIPp!@cc|Y&slxb+545B(NU-#O7h&H%aR=VlS9l05X_@w zM~_J#DewolY#&tlc`-itbfezqNItOu#%MdBH7VjG*YD_T*(|af*KzX8&qDe1S%}s9 zlgx$TvvjT@|MC$cDp4G2(5qMpMWcY5qjn!5+WD1Vo5ARokS9UuM5g0q$iiEieWXomgc-(FGCO zxiF2FW<4tPqheJNMuw{0;_eM<7gPHL`_rglv(-14yF_h2 z2un&#wx;L?nzem=W6#3NiEMH_sg5WDC2!9qS4tM* zB;{iU%rDATgb*2377f|t(e}y-dfBoVMh+|ShG|(HQ>u3#OY&jwjNiJhZFmEy5qKft zT~)38ZMr(7S-9(+Mf!g-Qn?q8#`GX>Y-c18C|;-aq|*+$*G(qA0%qEAwL5uzx2nc> zmQB?7u%~Bym8*%@Q8Hm#p;^3r&r*^zb0*JwqYWcIrcrx5lLOSjawDvCl133K2)3afkbDXvI@Gq$a}-P- zEPFJgy6p(Byi`xveWX1clg-ziQRqZgSzQYE&NQuIVoqM4JhVKMyn- zh8Y7Do+7gc)3fwcD0HYCKfcr1S)D9F!ef_NU7Yfw;?(SZ;MuSt3Jyg3rBLACE_933 zs77I0Ahp3(X;CY17h@B%&7*goVVN`s`6=W$jU$dJPs0_&%-y&76=ijZJW1fP;j!(B zT3!e<-=UwK+Qc#zEr(pRk+5K5`wZZVENLj|l(fxrws@v~y8G)9Cw9?aCOCDTOobTB@>;Ir=1|3|2Qqqf3B@;5rE< zLcx-h?v`=>C4gO8T}Z7wbg*QLN^$fxftp!>AS2%2;I7hBwvBk|xO-qyx=-ii6!+Ho z_qA59npkMjmPqOe`ZQ}hkJJm*?gjLr&^C-pIRUC~vjEimGR1s=T2(FLRDFx=-aEI|hUSsuBA=Ln;O#*9py&|z@=0v(ccjw*PD9)W z^_idcN8_5ROW3PoDv@t?ZNZa$>m#qs0XnZb_JrAFF0!o<(i~UMM4grHu(Z->e8V6a ze~1V0eIGQ{{qp`cj@iV6lv7=Yn5a2A{=Frj0igMyulBC9K!$4hV>|N&D*E0NM zQSIwkC{prwcI{o#hBULb_q}UW> zLW9GjRitX^$tq}FZEyRkRoH!uq=;t1=n?tp%ib$J9p7l!ao4|9J&;3tx<~fDMg<1j zRg?m1N7-*8uaOU&|P-M9) z{}z(`aip1vhJ}05bu4?^pd#dV-|@;EN)>_3VB)GdprEPlx)@9}%I{Bp)ec#&&#tt_ zhj-@fQg@9zugo2i1AuFxXH$95-Djyy^SvW1<_LDxNQeoN4>ActJV86W9Hldeff7zs zGqfV)G0+@#D~r#9tl>?>{ClXRGcH>epeX#obtyMjnHgDzLX-jLb@}eBJ|b=KauMLc zCzy`_;ZIKZ;(_1&rILA%q!YA9*A}*YNEbU~qA@&H>2oPI&Y$%O60J>w znjW;jz+k-{DTY=0NQTumAkTCh@p?jPc$?BxLn%=0czQVN$EidU_p!0N-ZmFB{m%qk z?G~soEc1&$03z`7Ytb)f(_F#hg-0IEVC#89xX`Ir%N?QY5gY2Z1QNX_;}Y-sbx>0B zZP&X{ON(D~h@5wcEaTn?4EmbG_*6|Qy32Kiy19n=*s?d7&L$pVAw`};*8uYCMxt_y9#3pPzXC_3&N@?NX^NfwZRfD zmF~CN)c4%MXq#j4Vd}VGe-IUQJ&?cAg|||)ZK%vN z=o^$Qi$+Y);irpNv2za~>;Wl4#ayd5aYnopxVapPqzk$@Z>EHWbXJ3`4z(u}2zVu* z>uH~e0pKjM)<20~G=1saSnA^`CJwy{6Wa+LeNCJ68u63RyS9S2))@c!1`lpv;}>7$ z3gH**pj3zf-5HJvO|&jeT?ep;Dq@n$->5VN`@v06mxJgNf6l!v-n|9FycO^xY^F*C zF1tbqUQ1LT>>&z91rcA%fRe1@65&_w^y-**P};<0DG4y{g&1@A)Jt#O@KuZ6zl^96 z{9Rjfr80hX{uNUy~lMK$cM{4)5%T!3CYkJMvTdHQBzpCvrGDbjmeN=R+8& zO0yPKQdNp?dpg*Ao^yPV0L2LsU9tZ8>2x46sUR7xmO1qvM`9cWdS1xPV=Zdtk9C0t zVllGgLl9}@I~SzX1TvWp8E+lxr1S;18xC~vi=KOZ6S(AwYKB#o#RfN~2rmjbd@9J1?DKoX;t8Z`SA%%!nVG9;QRO0PC{TvUH8g168>fDEC@QT1A$0xk@1Hho2R*01i zjLlj~mg?*g-sMO{pLI0FZGJAz?)lsoYxWb#R~WEs7((}z-K>0=dP;({3>zQiEnPXn1BDkCD({H28{PhF4(C%6TGo4aXYlJ;UKRSW>ZI~AWlQi>1W z0D>kt$nNzCG;3r!-Jm_oQj9>$NQpqe>I>(9jCw0tEz(XDiSOU$m6JW>#i_BdmM)-l za}zv6B0CdpqgU-8vysK+bo%K&%2OxLLDhU4z?9sQg8R6oep7kBO}#i27%K3a8_-eK z%Gd`!0S!grxQ38U6C~(3apJ3%0I3y0?vdnEmQiN+39?Ljt45@Ry#_SU<-qOlTn_df z-QN!+^55Y?Y&I~8q-Z2tY}7J35ThU2oS0f9^esY`Sx`)8>XP%CS%!*C`%Q*Y%-oO~ zJ~D`sp6yU|bx3`=Z)2#$ovYo*ApFz?)u??;hjT3O{1qYFI#i#{r526?0IYS1X~eWR zOkFEKa?yL!H;uNT+d`dpBi$m48^op???pic4a3MKK4Ij2^bz4E80%%!=|fV!r)xR488T$tt5ceY=X3(~(*e#Gkdu z`Qrl26&-AfZ8#$R(Im zEB(|5%wd{`bz4exno9ar)p{IV(&K(H=p&ku^BU&TLQ=L(4h#72#_aW&TdLEA+1?4 zr^qyJtDgR`pTmi32RIqaVvj|0A|DzUN;-`ULEPt+@$s5#bVSY*y&R&+c3E$GJghs* zE+fwt7`d`zeO`yRG1!r7n2;VDFb#zlT#ZV0L3Mx(#WK_)e2#rO$+bO}kTe$4YG;Z) zyv(00reWGtePgAqs4grlQ2_YBaID6}wH2lsF~Us5ai@}EkjlA+u*1^{dGys5hK-B+ zoxg~RgoVOr^FLD%j^^68#XRqIEfmen|qq^#f!8Hn13;50QG251Nk$ zS`ztq&1*F@y}(UvM?NS`6(b_z{jD1ge0lkf(piWYKxVp2sAkOs zw>37p;vy6=?q~mS#5j2t`o!8y8Io3x*6#Gv=8-xv`j7G|B?Q78zzU%VV0mt6&PO|} zs{=8=LeuA1ID@+e@;pJJYaJ+ye;nSd4gHxvQrYA~f|C;?6-{?M0EfrrFqb)M8Q!{Lhi>|gDg^@SJ6#5T z6dGF=4{ZmPSHZYC;Ti+c;Kg4+P$bTU9)Q;32>oSZS%7BUUj?3%1*kOD`SH@UMijDd zrHSt#QqT-G<%X&{2r5%F9xV1dS<4Il`MmQ)PFvZAtvkwp!bg1O0@MKznxG$*VZSzOYgAV8Inf#3VAeJ)=Tjsx`; zHrg@Sr`amxB~a&cCQ^;-;UMANf4tAtyWUuZDZ)2j?ICvtd$ZEB-w~k6x1`9l8L}kH zsX~~4Ki8|4q>&8m@>vWPd*UV0TVvOHL6v#*o|5n__S}K&@SQzyxm;(0d&j<2c&(lY zQ+*V{skPIP#TXqXWR+_Fn2Ow%!1CiZBDsL=%0IYXAJ7t?gw_tROTM;pj=BT>Mpm>yMLCX5vg17KU4 zw&QveJ~VT4iHtv_)cB}!@36xZV`sV*X_2qBGTbk zra^xBG#q<(pBzNcI#ZA7y|+%}bM)|-eEA)i$38VvoDS$eWE>HA>v*T!%ETrCT?l4D zUmsCE}@d(?Mm33c>Lu5sn#OaN0l;94JR>RPk=XLOm8j{-H} z#^9B@0R<_J2^AqMNATrHw=Y6DnCkW96RG0xGh-5c!jn@BVRRO*D0fcZd4??Ffzsvd z6MrCWCdARKjoktXg0osrxpNqF+Xbrf%Jop@jQzjJ=EiahC}((Ad6(wInX$17yFEx1Gb{hN_?t+wjXk;x=XyJQV?*iwMu4_OYZWQ|0kN!Zgy#Wqy(m077u@G5n)YfUDeVeN!#~ z7Hp{pw)O75wP?&3$zWc9kpuUOLtsCkp4xL-Jc8S2-^dH(!Q<2%T;q>H``&VB#sDY{ zee`mGwFC*-$m9(HM=*`ko%HHo7l_zpO~TsAn_=o16>yG`9kJ+^x(7D|#EK%shp4{EOn|1|vD!Cxbxe0;41&ZCD{m^Y zLXB*R3FyMF+mtqBVYI0$6k?KJ;42ArazCNFX`f zh9+@N&hlSVbv8Z5t_%^&Nc5jC${2?x#fMiZjz0EF_n?7k@ZZ_v>xPim13P^nn;W1Q zG*kXNDnIx=nON7d6LD_9UXkVwCE|D`E%aXgWE>5B?q`u5$Oh2bO_6djaT|06pv}AM_42RK zE=gztBwXHas#ro^ksn5I(FxAe+p|kVBAm!)01gH$;wUC* zIE8VmRX9R+Mm4;}vr62Gv&&LfaY@9n$x_Z89L-&q5S3F?veG zKS1=no#}4<^W`v?)7@6!CUmy(%Z#}3c-q2MIW{7dpA^9X5o3z4-mmd{~PSv{v zb~pgzYOOr&1M!veBN`HE7Y2?Enyb#J4)<-X_89afHov)cEUUtv<^5Kl_o`*-U<*45 zz2w!11f;Ztq9zU0V}T9((5O4mF~#*uYiE>3J3(9NHo#~U-M0HyEH4l&6VTb}aa|X< zrSfk+-8zUHCV((rJuc+_TTc9pe%wza`WwNX16;_w5X{clXDNtXH|#Fr{HR@Af_nx_ z^XCRRH>tQOO?ZkO>N&8!C>?@V5p*cnzy)+*tSeQ=nWYe9w+($z8?8O)sC1aqN$Ao0 zoUmy@FzX%wMq^D&zM4-Ug)lGl_qN4&^Hl@^URfq(k=N3PuBjh?Joi@U!uWc79?&-0 z;p!ojoqdUANd((qeLg)6O|W?^VONV9LiHQE$=tn4(a$i|%#4R&F_-$1%lo zTpG}FN*j$0;b=$t{Ge+WVsR{jJO&(rpP{QV(@*syzB7PaDNVyyw7Q6?4mnkY9oZu1 zeK-CXLIT2k0@$Z7AD*JL!07>xPW#_sqReBi65`6DEs|A}t{q%$H&HFH zMbj+7#wD)PXvcU^EcHuUWvbdjQACpxQEv%B9VMv&-IB53Ch_=Yj&j|F&OkNtfJs1G zQ%R;u&`^1Om~ZToF3ZOV*KlhMYE^HsiEqbgU7p+0bUcN97Ik zjdz>-vT$XK+PnbrC|;dYCfhRVtE*RhmvMOF5>Mm$zvTcJ>V#%T6egH{I*(&5PP zP0-x%U}=Z0XcAH~ zW^^)GFz>qc1~5g7mTe1S3!QH6idnhXFLsx0Ck$HRb4=}$Rz_ZY4~Z5)Ygx+9wrWbH zM0A_LZx7`k3T$kt7NV5SQ7m2XNQk{KGmJbAm&1l0{v`<8_*{v5L}oz^#(JtwF*Y?4 z7x+0p}>pZky&$>)}IHO>e^7ueKcU7)5u(vyaQzkMK!ULeKa!#r#Sq3L% zKhTW)4w1o6lrBHyAY(UZ471DLK4G%3{3E7_)4>uO7P)HwnZ|5`P*W4UOWa$;?S;`m za{G9cYEI9buk2HF*Hg@ylK!GFC6I;D)F-=G9BaxUW-)hwuhf=TD-NDP{T2||{82KN z7U1_d_eftmc*kdjrZj;domYOuab><%5tvKAd$ls{g0HC_7{)dObKL#7DNB@JlPdXg zEG69oIZ5n7PL2o0eW#kXKg7+(6p@XDO!TT0CrpZl0IYGPM~dYmHbyQqWr7vuV2*_a zzd5qPDND$`0u?Ms`Ns$lyDjzt~;8Sk6pdI37~Rxp;1{KsUuEI~&^O)fwddIeSh z4AgJ9fJ#qR-YbXeqrB@QOV87C6{hm?p_&?o+DkSB0HVNaw4S|Efc7-NNP}6vTP;;{ z`YS@*-UZ@Kh4ViHn*&pjD_Hs6)6~)tu+sh6M|R5iof~4+gt{}T89M`n>Vw!2$j!0= z-jroNN0m8S-7uE2i^3Di0R7JCHr8h^ar=8y8Jt+wMDA<{kwY}r-M_+5{vp08!i+Dv z6S@ErJdWLu-#`?!_nBdAy`br%!5nVi{Aa$I#`=g|0nmpy6_N{| zDRlg7(KCUty&&vRSi%(3!fD=|6dEleFcwNQQz^LNJsOXo8c6$Bt*2I8fZJ{8>=H!X zOoy(CgE+*b!l3SKalwlG$GnKQ)(i-o`_MQT$Yi@WdAd07C+ATOY4ceUP?Y5$Mk#V1 zg#otKn@~&HUQ({_Wanu+_s|@v3EYBVR57Bid0MZEYEcMk1)dLa*ct*Zo0oy;f<`E| z&zvvvdm{>Zuw!Qu{)4yNyQ~2eh zk5Bs+0vX3Bdu!fWW_ucC^?aA(Ni)esAFtSPS&gI77(xh0GK`9GPJy`$j3cfAo_G#l zCEu6a6R>Avidm7W*%;LF1rq)FXcGpQ=BD*sj2cIL6zQXGyouY1hG~`qeHHr|7?YRn z(9Pci|MRS(MDkROSusrETczLMlP$pXesSQX1{=)&Qs)<_GY&3MU61OF3Ta^EIhAO{ z{t3nT^ul=}K+&8oe)AR6Xn_>)arI<fPq)o z0YBGPuu`CLK*wykhug=I=Il_-Yaco8ta>rOu7?l3PHH?b4*I+)rRY`3E8#)S zdP%N>a*5=xEl0lMjbP7ACNXfd7HGWIpOk;e6Et45?eq)k6Rw5>ky{BT&oaNB8+w^J z_KcB<#<#rXFH>u~ba8EepLHxdobwO)g8KLQy$b3Pb+l`@h}=fg14nv=x*K{$e>I z8S3R6^p1wwn!kL$s%dIlQvJF4=ITyvg)4;n%+2%Ef+F6K=~FLT2gJr2_Bf7-A5-fpdgm{L<@$-D-6ee9)J1sPgYP7!Bi$c<|~*R+sC8<2A}eL*?5=s2lvDt z#^qSgyk+$v^ApHLOs-QI`t4q;c!ab+BsCdwNH3SlF2en$30vc7?!q4TS_8u!L3yGm zrW4kHmAd)W{Z$9Q-WiYK5w>D;>7UNdpH5Ti!>2(^<;6v-E~usVyR{6qbmvSt(hfZ_ zU@+%TyxizCEHbfthwk8{Oz5p=vkGZmx8&!Q;0Z4LgHQ0}X~EptYg(B$1~038+J++< zEQWrj9e#3-!JKcXCg@>Dh7Y%Pa$Q>8I`;XI4_W4?9=#Y~7+G|V3H#p0LGYbB`hx?| zR}Un>wPelmd%|Cj`?2G|VSLx0zs$dO44IoL-myP+m(d&Gm$iM`3+en`fy+|epB@uc z_BIi9gC{Uw%FDB@|FV*<*7oF_E6!K6F&!61&TSBg_Bfr#%%!#>3na#CVV-|l;!lfy z5RT8W3O&d;UOg^`k+oA0^FUwUtpE4L^7j{CFl+HF8>c+i+)h|~+x$b%T z+>!pYM!5`k_f0vhFP1*QVZTGRf-mfqVt)=h6AW-Bj_o|0efWzb0oOKlIK{s&e7Y|m zkYvaHAmwdi<|N6y)X#OsTe8URnvbypkN6s66H;Vn^M(SK{ujyO-fg1+>zduvm87@F zr@|sM{)3C4NphPm5AG=YSgqt&KzsYV<5zA=6HOiv>Ch&{@=Tk)eqe3(a!SJBeB@-; zd|#y>#qg9boJc{g#)X(S<_CMh@}(&T3F*kgUQk;8WYf35`B!TL+kqspIw|_`YeX8N(B7W|5 zR@wzGqKRdX069})b<{aq`sba`6}>&}0lcrnkA3vNeqUjR@?00)nd!0TrP&wc-bd}R zm~Kmg==YK--l3gq`1gLUQleG6vfE8_i4E27eS2MrP_%rSZCk`3!vUhxS;72Rc3Qy* z5%}3g{M~=g17AnHfBiScM@XUbv#i5Y({3WVO~cZy>`g0VA8+Z?WGC6NT{eAFHr!O= zy+gM*Vln-uD1A~_`eIblRd{`Yf9i8@`Xl%!OI)ktT;GvDsUDYaYIq&9rc3_d*>P`a zhNlCopL8tD%Ircc>IaqksFl z|9b5&&%ciRTaHyO0tOEDrj0swymqP^vS_|SClWR>r{4b~{H4DaS~9@h)Q-{nsW+}T6P#|R2%_KF z7z&Z_;|7jA1apysASaf+By|5p?)&DFkZ&*)xb-#-4?UbW81BArpNCJ^bDQ^=ZY2Fg zDrU)@eA8m};rUYa{@>%dLf09#Stu6G_5%}pWDzj21+fxs2EIp^<v;X(%xy)7gBd;f7oyg#fHs`!yjVd;2tcCkW`!pwk(dzE}x|MhuM99WL(7H zwdV3zSzGa7$P}??<#HXfGtTF`2NyEWqC$_gc!CYD@e`mjw2F+|617okqP)0z(&G`pbIvOhy(u&D@%qOOe zF3z9Opjk%J*W6iUT(C=X7y7;T3Q*6=89myDHq4y^5J#jou`+~X-)F17g@yhaM2?|&8!^w$q0M*TG;$37q8@j1H-auC?*T-G?O zmUTt9QPH)ISe%stJHNo^`zyD6yL9?8nqdz}I7BKrZ^&COYjw1if_CeMx6jjqjCw_RLf;ilie^L=;BM23+Q+<8*FGGnpZ=m-d#h4@%i zu%aJ-5e>BSpp~~Req^icX4yB@Y1v_~;u0G{Oy|9%-Y?hg_B$NpdYho&Wo%J9c1}Ov z)-m8eueop6^z~9{`-Tp#rrE7_t&@|1-bvQ~@YD2eJl>~B!z*V^C*D6@{!WhVLc;TP z##ad}$#O$Jp~a~I1##=2m-dU_Pa9t}vdCO!#setbS z|1z(Cy?se>4CUoHqVZ1c4XDsBJ7z9DIn;2rW6kNDX9_jWaf_K#bDpYMTX-w9<_e+; zgy@4Qr<`4fG>!UJ%n3luFF-dT8Pk&ej5^vUhm$ATi|hw(b#=}O zgoIct?a&&r^C@kydCFr|V>i!pZQ7@|a(JbwA=<^o$@5vu{i`vf)mfTS4{N2fO{%32B{B@Qtlj^y{&z`u?pJ}15vs2uVMEjuq z(8~ECTGgJX_=i|DM!VhfR0W1|yoiNW&Go+R`Xj6AsPMK@(v8dQ@<1H=&VxY&fNpAb zB-U|WYfq$zcm+$!=64!#6HdBA9hJ2Z@W1y0^_Sa?w3ij-%gO4|uA=9bb56m!bsH8j zq_Om858oPA(GBJ`n`n%xJ3vz*-$%vzKUKUMtVZF^s{GYF9@S1F!TVDfnSWc|aQba) zQrpe>pLJL4WnN9nW`41>#{C38_Vi>02=_9lt=Z5CN%e#Uwp(vv`}J-0o0SPxF)6a{ zlbxP=Fhx~qAD@`_zV#EyU~L0z!=#CGa<{p!Z)kaSzREdg8GO{Ho3YqMXk;^d)X2&T z4(zA|!*4dPxV7>}J}T$dq1R0rMX8eUx7S-+m}~I{W#&HZH_O+syTMm7yX2HIQ#!Zv z<^KGaFO$ly8(pFvXfd^egK&;_|11_g&LI(s&dO?g^aS0ukXiDS`x*c8bABUwM67v` z(f#4FbDiz*dtJ$*hog~_`t!P3&%yOoJew;aMeTNL_lt&8-Me;0wcYIO&25zkh9q0P zB48zU5?P_-$f!6e=#DmduL#toa}hcV#q;+)Me02aB^k9Iyy@SXx6Qz1f`qm=-nZT+ z4XPQZ7j-&D$1liUEMF&ev7o{9+BKA6KMo|eru_!bp|m3MG?uDgLSB1#;i(PwU5N4U zDSZ2A7ryTiuq{D4$8mVkg!U+}rxa_*Ew~umo>*G|<4A$rtp53Hlw{|2`Ux4X{y9|4 zDIkkhKyc!}an2VKux#b|v@|1%c%6@J-G= zSC0Hc=MffJ76)R5Yf5#{>|Pu|YHF|_B)Bi1#Xg5HEQ9r~<$JM%=m5HSf%SJQvFpn> zlR5fmUzHsQj4WeeU{r*y{s2>rCVVdnvhbE){YC6I-l{Dk*{MOPuL>n==fb_=dm*O3 zKD5kilL&cHhiVP>!~_gFtpQl6y9}ecrWH~+f%44>1BDY=QWQoDeP6)^GUb)M*Gfc2isuU$gACY)W%1769T z&(9iJ^kyNEyikT4wzLx-OM={hO;N6G75D+X60+mdJ}4l)85S|PGrnIOgemB6yb}zt zw;i2`H6Zpv143u%G1VW8_w^9(xgp-OKsw#CkWM#BgRVn=KLrExY!R5ZGBE6yZ=~YC z%p!{z65!q_&BDmczWUCpiX^ly|9q=prE9tq-5+yd9H>8rPW^Jd#h0j{5H_|jlasAE4;B{U^}!)4nv2lapB)= zgk*aDyyaQ+-cgI8bhWM6yyZsW-xj$tg_a{T^uKZ1FDSC|KOHpr` zd_?g_DpIzML)ljdIZvST#|L2S`2{fc4D_Nxg7bW_)V~r^f8GB3zkS^Y`k&V1tu0hQ z3Qz&bLk0AYZCtW26B=t<2ZZ|N8}=lg9TGgH|fiV<50WK{O~-V(iW?A~SP({Y3*!9M3k}pDP9x^uGC*;6Sj022+oYzHl3;IK15par) z=(X|KugSxfz%!a~qIduPElgp~9rmNU%x^!In8yjisMq=}YkFz@-eROFIDk-8WhNB8L5M;>dJ|Et4Z|qtMF1E;H7qw zrU1T-DhP>wfV~vJmw8r>CK!BqoC#h^gCLHr>~}99ycA1bxJ%nB#bxP{%ToPUpHb-@ zwzDhoC%6DgQggmd9W!t90+gh6ol7c)2}a$6P$T#(5L?*q{#H+A8H!q~@rUz!?x#EtzD4%iIDpX+OW@Rxqx-UYu@ zNaMO70;;hMY9HevjmB_BprR~kI7sSwjDG1&P^E}i=Xv3)^A~DYD7`CwA{c|Vf zNSE5G@&|`DH_X8xW4eh>skr;rA^23j1Q%$F*VxaiV>)i*LLh0}HmfFs{T32j^d%j` z{+I9nEnX5mKRj>k&DJ*ttY^*GqC((CKYpQXVGi2^(gVkukuLP-Dr(@+KFpq#_@N)T zLm~ubq-w_MS)Nbui*s03qYR(Lu8z0>yicP9x(0h#@(S3~-V2t*-y0H0RF?O{LNs{v zCef4P47F@r(TAWvZW?v|_-a zx)I*f6Sk8w%E^amKP_{4= z^djV4a26!a8Pc$2!d?xn*MIm2aJO-|tdx_H(ls9xb%ziQStVRC%NzSQ)eRs}jYOP7 z*`BmyHSk3UWvRIT_$U7ye6!cQ7{R`(eaXRRj8t|gt_TaO{(oOwt-#;;fWB$oDIZ@i z@n~3=&)Z@n2Yk{j<7*hBVq*eq_EGA3+aCcEnZ-N_Yq3>7C#6qsJPONFR%7mjwFPtG zBy~~vd(kH#=|P9GOhcOeD>Z=sY2#P?%AlPa-qO_gaERP^={dv!F=tQnJ801_fu3VX zN9T4-oj92T5GR*a>e#pbPhawnWheWg2e<3;A{aq35c|9%dXdM2>{OT{`hYJE!zns6 z2x40Hib?QZal>8f`}cX@_g$ZF-+$))_7JYud7bk- z&vVZ6x-J3IQY*pl-bQ}7M*2b(tozwo*l&miz>1)C50ci+=u>+Vth;{@Ll@1W_xPt4 z0D6XTz@a2}B-KcgO4AEqawO}a2o*rTZlE5O_(+oN>wxW{x9aSTBZbl;K=;`B?G(}% zm!ScR%IEI!s1kk2p)kp=Jo`}AxTNRUiY1ng5mOb{o1p$+U)d*tKpHD15E zct9u87Q&qEEnFH82v&eV8e8q5g7B5K5(LsZE`X#gWrf&3ymjAsDD(b?QRL(4Nk)-> zDKiEc#VZI$a`i=SV3eW36w);v4?x)_M4_Y#3dUb{bP#^v#P4;|!pjc`LdXbT?&T#d zoTRRp^G}1ohLr4jf-(Gm|?!x_L;9xc)C?AIlhMs$o6D+)?B83FB56*&xa|EdV zj&fsn;ky>kI3O4V7QVEMQ6??i8?yN93qR7r<)MXl9!~u2g&*HtxSz}tv~ZPd+#Axu zp`xoYHszo69!;u;e%IpdyJ5;f)&yF)t@>MqdL+*ahum=E9jOrb8UY|6TIjmiZ@f#e z48pOSOQg5?=73;0^fp)e>_|p2f{cRowI&(G0y0YX(TU$QiV8Sg4#LH{=Q2wmLkk+U z;7D|Q5nLt_8)umE1hUWrDDHig?i~L;qj&-p0BPY*4hY6UZ*!$TkhE}VXyG$Y6-W#B zg%;j(;{0zVqN4y*qKop85@lnu@nVqvJa68aL_*iWoi{D=EO$wDx)?N^=%~Hm|LcJX zq8PCIiQTu!MApO!-e$CCkqzl>LVzx{5fA1TKh*@nH*|jUZIbvrD7AWkP#Kh3lQ>ii zsi8ywM(JIZA%}k5D-*yK#q0vxAq)LFs?4#eeuHxV!0R)ucnrH%2^= zPat{s^#g#GJM11W{eRsZ^I<%gF}Ubdo2W6V~1^-2SFXU1iys}ygpY^8EbIEGbdD^7Y9H=3Ce?Zcr$hKl9!bJ}Ki93qs ztVJ2V%}j=|Z63y-Hblp7J}gFt7n@Z{2xntyon|VOCOK3dh`89Ygx!O@^}(7Zc~pNV zm|0!OY>IdS#P|jnmox`XaSKbvmTjC^j+9vpBaDyX=GG;T$s$=;X!ggkgixU_>~~^` z7`mp>eH28`k+vIA(3AU!gDFyWM=d8wV`0q(Y9Zlf&D~Pt*NoHoxav{3_pv;~=wnM- zJLSyZU>o!yMfn^opk@q8xa8GZX7cUh3_t#rOPBnov4u#VU>)Vzp>OlZt<23gT2+UPfQP&894ZIT0%%!Y*U@z>MO-;mNWU3 z9@w%nv~`EnMiMLpRySEi<4Jgt2x9up!)L!k`mox@ZJ4sr!9*iJ3$(O$U74!5&&CPS z+#ycK+OI9OZ}(WBr}p2CfgZHK;QCd_imlf{tSfce>XE96MNqYc*_-eCjaZK#Bp067 zK3S>nWOk)=wAOvdZ{uJms_KO--wT((5@B})lm03)$Hx|6SMExYIP{wZA(9AR9m10= z{rn+?raUR%{i4UW>XQX!7IWGexw_d7loXZ-+ZBOIr8S}9p{V^F!tryfKU_bteUX=y z<<%-xY7peM^g5v2cwJ^=4?XfLUEt5w*Jyq6fza7)LLNyD&c5de| z9$|ZUj$fP#@2tIy6~9o5z%#^1FrPTaq?Ub;jBK5zhoOv6PT%JOd)_3WS;yUH^jt`f zwl1wnrPiN;#b%uYXMz15R7b4csm$*KjKG4 zq1xs6LG9wn@P$rnTum4gUy)52+lF!gWe|#g|H_q8gRvvle>Q8LJgS{f$SQWj``({z zE--5mhN5w?HK;o0@t_t#d+!0kvZ|1D@8fw|9(AI%7aI5 za(uLDA*}Uwgx6$D4DqeE#xDo z!tbba^VN-4!ji}I@{(%0V{8;7N2qJPxs~a+Uj%0%j_n}}rFAu3FB+?y^v?b80_j9| zG%k8k^)S}W=@z;yWgSc#BeSQRNlnjn(0prA;k)}!>fEFYFMcDbwkrGBH(ud{vWb&Z zOO|i7FZ&>40|5X7mdH|6W6#S z%@1F9@e8DHHM#4tR=neP2E~2?)eU%b=MCeDNw5ACCf6`8)R1ZQvFb;K7sG{DV`&)nbpB_SbqYmR7_d5%SL#QVN+ z5WieD0`$oXPHN{N?rip%RBEZEZ2b%s7-haL9%Q2jLubjMgf6oeQt3LtVWcisJGg^O z$=-7R?<^vWEXpOr&wHbZKL;^|5pJ07U3s;(_M&ppoNzJ93`QomFIc3&d#cT)8bVe# zvmoBRqkKbzyC7@4<@6B&Yhm2|d;ixX>G&f)dU2a$u1+-pasf$kt|~9_JAv=fC4f!Y zlAp>ZYBahoH@=sP7F`Z59`5nxbC02nln0G-H+NVvDK$z19Nk>GE=T%;4XTE$pZ%M? zpnqQQi`44BM2vo)ux-3qH2PsA?gIETq@5^i4V6qgLOUUH{v}R}G5qFLy(H)S zqwS1%CbFUJA@#A|73xB<2j9L2)vS+MU@5^rTjvre8T5q zL%wq$h|>o@IvX+_kPghC0Y<9Fza0b2FEGpoN-}@{!2c7x){ni-Tl8IcTtZu*)B2D( zVYGuonhro$gUSdO*hYQM#{gMahh~-%2GP+zxxy0Z3cpRi_$heO>CT_+(^)20iI~Tp zfCvD5xu$O5R2`MOk%ZQzmw)+WkjLt8g%r=cSn9iIa(yUu!9ty-zVz@Nc&Iz2C)CmK(F|G$oY28+Iei23;RccT(9h=zws7VQau`Z(HK`3z75rtm@YHEg&wX$7^Qg0?wqC-ytB zNxrXQwHkSU8yi<7)-l1+5&&T8uCb81Dd$Jn)P{B$%<HEj;5hgCnsvoV-_ac<)UiO)HQj%J+UPb=YVp zn-onl(?Y~_e-6@Vwx6R*f4>DE)D3B&+e#EQ86Pq?$~bfxVE)&agP%#E!U_~KB$~$B z`V27tx_`6p{%<`@)rf3ovybL}O;R1@DM`Q>$Jpw&GAe`|p>@?_WB zE6Z$-+x!CW)qQzS#-L3LXx9d5=3lI*dmB28yh8;ARl3fa6!10rl^g>rQ{p~B%E?L> zz<~ORQV~hCa=`#(qZ!St-w~IX@_ck}=vYvxq(ht2(XzPcF-lB(>V#WwT_%Up^4lV8 zcTb*+O9WeAMY)NuGXK5r8`hY> z@@jXunN%`&Q0@5ZcV)cAfIcR0F$L0FHU@)nXA9Dz59FU2_UT&qb^HVjBB*LL)>Wm^ zXlv;axeDEOj;QzM%Z*;u5G{8=2=C8qP~1ny;)GrUuhV-u=VGldzTO;}Ve$GKWxueu zd!z35z$2OqSauhVX)>luls`)mC+=QWxaHYKfMUB#19+E%q(*+F>mrJBb zkYNDW$3*=*$me+g>S%3t*w+^5%n4a!1c4Ws6?8<%E!3#o{-*6eM?8 zVK!9QevTW5T;2AsWQF+n{> z0q5f?j=ATl{9Ibv$~nQd=-z4$a=v-3t(>|}J$;AU85}J?ELF#}m?dh{*~OpHGM;>IrXJl(Q^67=?!;;1MQg$LoiFHiAgzd$=EqmmO66kg zN7juAPt$>8+`SHN~A{NCMtY#?64#LisSC}3vT|aTP>c6#wn6I zDwAvTW?3#4Z?eRF_ZM{^p1075Mfe{8%_3p1t+|4QD!37k>jZgS|4|MqqNN-Ui|4}7 zXm>I%kLXmYya)TB*LY|f=qCAP+2mpmUO`P(jt#LOwLXyt&bcUfjPg+5&HhVZN)r&J zqRcy|NgnP4h!Txp?6W_dfKcjNY_^L)~7c86z#-i4jl zNk8lZdPX%`%=CH=)y1-dC+APE_nvNZv8KyARq53GEMg%Y^!fnDdOuvFbzATBUgS$o zsR-@|XFfhyDlf*5ydbxs>lsTazK?mY-b~%+6X}Olno_&qQu|rRC0`uu zuF>d87oPd)J)+(};4c-k!QKq@bi9xWmmwFm^Z?wic0PxRRHPjOB#ZO=;op%6bgB;9 z&(E9!O*mbLno0?{o)f+&^VvzAw7Whq33MIsX^YLdnFd{^%btq^{O(l|iOT4#*;Cml z4)aE-^sbzFv5gHV=w9LtHVSO)9$Ryhnht%)Qd<3dc-`aC`R0DZzV{hnP9elE{2nu)G8g#xYD<6K# zFj{?&1@;xydjfprgNGX*OI5IG%C$3v8GuLquX!M zeu$nlTMK~hG5tDFAOgL&o6x>pp?3#=#ZvST+-9ey&B4 zX&rZW>+U2m-pgI1LBSt9cR_K>hm(S&&B6cc2DM-@FxX>}9s*dNsytbZ7r1i#?U4E8 z`J1uf;){K$8>x+}SGSha!a`3;&|2C25laI<+He062hw?b;6A@CJh&IOvZ+z=)fGO( zc#-;wdc^$WjTsFdZXRde_U=)s5Y5)z8xKvv58l9Mp&%Y011XbJ4=Vke^a=UsKfcvE z3}WiYpm85K3`&OS;0fXYxNOQRDk7ZK%@F(5J{g;Qd5B`ABVAWhcTWF9W{oF%X8i6o zrC-4h2J{;sp;M%MAf2H)P2{g6lK4*$M=bwTC=bn{j$a^@flI?Sg$4MoE|zz`9#Za7 zF{_})CTkUBU3&IUD}cLxuP$DdtgCxk zw~YksAu)|XyYQZ7|Kd1H9Uz^022(%4A=UZ_dv^50`N!XMgxhaJ4v#AR6YeMTPKFqf zkQJDB!yuHjY{{(BBBOIVgFE1wEh2#vQrA?nK`8O)*}CK<7&#^+Em@^P;s&*79$0HR zA@(glG2@X9IE*EbJ^#?B6>9Q;0X{mUH`A3!9@UVYjC38TPvSH zC-J>s)M7dOzII%_MsKx0gGF78zcd3Sy1xy(`6IWde#5Y527-5pE$${}K<{v?0=gN4A?aRJ9XlQo^#AdU)+B1klQD(1>^a9B}Z zC8C;RUmtgx5vtyU ziE4}Ed4u`)bHGDPE#js^NmyR?Ctd^yCS(rG1>eJyC1&DzZYOJU3V$A5EvcAghd$nQ zps67JmGFL^p|wiKEjD#7NtoPJ+1v*m{_++*F7f1gfSIk4GC4!w`sT^0{_^6599QS9 zt%dfak_Af!d$Xa+(Oa@or<0i+;*SR+OUhm#CX%Rq|%Q7YsX9Kd8gB`g6`mMf~+w5r-Fx<`+9}_#H|$1 z#)oX|tXL>Md%Kq! zNf`U5;OCBoXw zBWeG0s)pZ^L5I%Ka(-;Ed^tc&fleZ2YHh9R34K4MVH=W_+=$P+j+nw_WNW3 zAI$x%^ZbBLd(S!5ok7PTQRBei{becd$ttM1zV%)TISH^@1p7xERisghqZ@|I8s;?` zC^#dG(?(Rqaoo$XY1SS(zLxfnu#_@>p$s%Xm3H#^CCer9o?`5Wr79yQ5@X9UWr&{! zsM1U485nMo`DfdDzw6r4cW%!(Jvhaax@rxzKu^%@5{vtfW_CR6=K>1!XyvO1*YKdl z<;k!U@NwR{-kbW|Y9`>@)p57o)|#Xhwk1qJ_e=NDLc!WO#Lw23NH`I#!%-K;WTS_N zCw8}G6OS$Ago%k)gW*GhtW%2IdUua})vC`Jgbwi6ntuY0>&cmaRLznyXJ%!HRm>)% zepZyT6%ruB+t5LL7cr#D07!i3E+Qq3!rKIN3Vlo=tu z25Rwz?7TtEMZJchl>3n0V!f{MxiVAfiHjG5d7Out`h&kzL;ZnJ!cL_GdPzAFL513@ig_-NcMHK7z^&LP7(znhD-d#R+h7QO30 z=A{QcvX_|>=+G*Re5TT9QIs}}59Ab&JoD3c0Ou5P z_yeWr15oE+nI9HD8mDlPxG3&2N01;d$9hX7IbeV8d+SXtL=(GgKEi5M?r!&h1C-y5$EC+IVpL zw1?O7^yT;oaD}@8(lB6_#Z56|@N%W`Tgj5}^Q-yed6rEE3wg;vhl!e+o;7K#%G0Yo zznVK9+l`q5z38>#xeq%5<4xG7Qa~{nFdpZYZs#u%yB-zHv%x4RSn7;DY0t8bb{uV0 zRA8R^+zzD)yRO?>P$kLp2PiSAIax{(pDBa1;f@o-VnGvEBh{}ISuf<+5}d9WD;tk8 z<)S^#`bup#<#p_lUfV=0R4aBW!E#3`om&GVdE1ATnK z-bDnliSG?;ZVkxehg78coU?)o`c44_*3wuQhaR=Bk?ULle=&OPbgQS6(|mijnf~!w zmBFmox%2{+#qiJi@Y;>N+YjD$XAR_;JKlJZ?&VZ z;feYR4=xViMGwLP1l0k;I%ofZB&r0GsNuj~@L^z-N5cwcU!>x`XWNVY)BI4mgJ*f} z*3(?}Tc77bp6LU1)H0uy{&D3>t7ald5yboRgOZtnV)k?B`?}mC^M&{qPq!b0`o>oB zf)?zICVHmzoe9Vv?)q0|>g=Bl`@?_?3&C$O(PZ`%6Cy?pG;P3R8+0FSNP!87rz&0D zji^Mxxyp=IBk~{BlDf%kkZ$6E3y!3lP=j<6N|w8my??4}N$tgdt$lsip{VlN zyBD10_Japrtc+W|Si)|Ixxxqa@Vo7iS>p!>y&I3Tq2NQOyLMg%e;KYHholyKgCZY> z#qF6EIC$<6d?atMI4B{>Z~$`y&vkD1neFI0G_}N3T!yrVi-RGm+rfy{+Cl?{(K^86 z7mK|Hf}Y>=WUqUNVy_03E0_#L&;Ef*)sGaCm zC*VyJ<(vU}`}pSp*;yB?jEkB*N6T~21^N;*t^V&7>+t6TkYn#nQASrh-LB*;PHNVn zPMPoAJv`@lH{E+M7TkZ(7Ma;nE!*OaGEUhlK0{km7FfaS9)8SPWpbdzLa)(nrT_&- ze2YC5HYT^2J*nvFP4>t3&$pygeu*ko_$E*!VlGq;vwGTf9 z^8ML^x$}c%+~(QE{J|mt;frF$ea}TfR3<1U$MPfA>J;f7R0(C<8l7_C+4g8CeJVw( zvf;=mv9|fhdvFju>qrOyrKrjB%HjSHU&G@TLEG2PAz>{RlZ*4!%>#O)pQf_?O|ug{ zzyP1Nz7$M&><$*XfTHlty(~8a@Sq8Ql=P4uG`MK8Szl`Gp&YZ<$VN{o9Jgm@=VuEf zEu}16p9c8x#zQf8AP3`Maqb1*?i}f0bL-21Hpr*(KpevDFg?Bpbsq1HPd95jj2Gi& zrz-iF!C%9xj3pJIPz`(QBdSwn2hTQ!lQ*POf2P8RxS5VVNu<LCE-$RbQpaMTF!6j#$i7|`>BVnhTQ0cHym7}w zeNmSQo*e6jM{2yDOOYLcYqx7=FQh*_&X-j;|M+;(WbO$vkmLPQ^`1>GNQF47kmCI> z9|fR#&{Al>0yXDaUx98KLvE(uEXt)!zfe!OxHb6}q|>9+k~=G5Md7p?x8poqUNSqFN6mgXn9o7OXNXj3 zeCw(CNhr9eRYhV`9SHQlsNq&$n+^Ge7fI2yWT3b;VP0wDCBY)qES;%Zx5bxb+sbB# zgX?hKBMIDgFL4s+qRpZD9WSen{@ls5yG&+0m_Yy88DczBpTLJ0$ZQhHo^b70kN{Ti z?{0ic$pvGqh%k#0*SdBz1InkW~1G! zEk?(WdDCx|vb=Vm52{$3Uzp>juJH>9s`FC{3coTWal?yu!$tb+jTPyHadE=j08>!q zGE0ujJh&ApqVmN!-{qS`D-|Xy^hFB~NkAa-SkRg`;-OTczziA5_=l0gfRPGJn@EGd zBS0}wa0X+!yMz0`G;HahjWCb-T4MvsG!7p9stHkrJSuwj5gce=nfDLfa4kbU0=V#k z`u3U^GzxwXW;chF^UP;QwM(p&%Ri31&c#9;SJBnIeVEc@^c7{F-sGOKSbcv3)J5r~I=bgj-`TesrE4g^Jh!Frwuu9;^xRVyvT*s&{LuZdncp5a=%-Z53zfZK(X!RG}Afua3)wh_|g_zLxo1S znlB;t^!ybp%l)}3cmuuG+$cz2&m$TtA+$>xPW(B46xL{n(>mK4+XyWD{w6-*sgy-v zDOVEJj_b0RrR6O|sCyfj1XlCKt*5(!C{pvy*LP`uu2T4`UFOC7!hAHMBFXCB2v>| zCjJyCfeKU$Nt+-$GrV&6|-96YTdHFrBWN9@_dE=2*|@-`#&qq{+>@ ze(3}1QYu>xlwb4J6Pe=xly^p5zH03Q>R}w24&dwEwm)Jm6vSHQhfLBoaReubHQv4? z%U_sLf?ZM|);ho~_qP22vSkV(N~$v(fA2VEdjc$!;K!i&h_2Ps)M>i4q{#;AoCLf1 zdj_i#Uk%de@|Hn>0BQ_w;qfME?}R}AAfn^pnH3CU==PQ6O@t%yvr3UT%y;_eUiX)Q z(lHwjiZW%LDv4ycdiQ#xzrHs`aMWQk{Y~uWUYQ1=pn7rIlCqfYe-D*7s=U=X_nS`h{n^9f6P^5S)8`kO`O%tJ=8P_X zo~50{5##$e42+mamP#wAX!($dCQYnZRTV+h=vwQMHZo$Bfh268;P$6qfo?JAq@tuV z|AO3k-B-Wp#gz&M6OHxa08-y*;RVjWI1@4@cl@H=>{9i&s4+q^Ul6FmtHFSRd%vL_ zlhrBZLB{RjB_sc`Q{EL_R-l?Zg^tdV3ib|PN;Qp_)NuhyD90|;77#sQrsmp=o~u*s zI5p_arLXh?8TcCJOZHYGnVxe6BQQ>CkJ>=lvOg&I3me1d%)s^&+UT-=ab-qATQQh0 zacSBh*}wIzUPTg&Z%>dz-9YZ{4XKbqL(**Pp$rcgZrP;5cpz6vfhNcZ^ks6W7Wf;M z|1atXa5GQ5WYja@JY#km;7IF}P^#D6f5c^efUZbVNYXre&G71*aiwujP*qh*t*qyc zgk_Y8*tyQdKm)McI=nQi5))2m^G7$F_fozrkQ<5s<$+?!fqd_U3Rx3k){$f6gY90E zDd}UNOqW0#>!jyY-V24E%q2ds2MuyU%1v=Op16oM7&@cX|6D?nHntEB#~ zu)_2Bne5?-F|p6>Q2f11Q@JDXRbscHQ}FBh~bjniTlR^kx@flR&ghV!l8n45DHyCLcsc}KirHh^CdXtoZ11xp(^8kWov>_ed9!CG zZm&-kbREd&2(j;7c;Eq_yp`kJ*S;5v#iUw9KUhm11A$?w)igncDTOOF7zMwI&H)?b zRPo=#W_L`#ec>;ke~~&EYpB3fZ`64S2$74TS1wAqtxJ8qKi_@vB9w*;(z`s_VKG0L z@I~m1B~++ZGCn0>T?W{T$z zxMMUBC!}aICE88~T5Pj3>ulqC3gMpV;mN3=yWFj@C-kN(A~$t_tQS({Tk>aiS$rW( zB6*xi`5ES(n zGDy7X7{^--8`*xQpsZp$xklHs39 zf%+&Y^-FS5`N<0JRW@#2SF@IA}O-^2)5_!72`@gZa^u2Sn$@vtuc;42GC}@wPH@_K2;35EMxU# z@7#R|1n2Hz>w_oCR6ZCKX@cemVpl@4FBjSne{CQViV#&1P%O*3vr*9Gq3}H688$q$4fG}q=W8YCNyE_K5N;d zIbCwfeqnpmQ}+H+pazBD*@JCyj^jhM)n{nC%Wq{r?X{?`)iSb0;64;C)f&L|5jkboNN~r>&mQpAz=Tngs!s^^k z6B?6z+*{{r&Wav!=?duLC)=5%fp-NMJL(kh1EHUO0F|BoE(J3>j0Nd^orT7+PuK@nN9DZ%423uNa~#+et%aMV)X27ol8 zK@*rSzjW1vB8~-W9LechAG1_Bgd)YKMp1$85*WhyTlso(fnC>&esigvw}6b`N8>>o zE0~&9<~fo)_HHU$!kEg3a5rPWmUeuP=ULnXNSu|~wwwE2L4;Xzv759SQI>dR=+x# z9fuMYt|%S-D@_-OWu9_7Qm0(c?pwS$$$}xSxe{M%LH?|Hza&K?-V^^#Pj{pIe#cm5 z_W+1p9-{dA#|Ez4Y&G_Jc)TQKQ1!*x`NwJ-laUxoNXWvSMgUpN^Jf-=7S~xM3}N%Q zA;{=>y$`#W^!?|T<`WG%zZMUt2Rh#!8>U!M>1lk83A*t|(Gb|S^z6ob%Y5@7-eQ2LNn9-a!>|fJP7wX#J zbF2S?T2Jkg4j{&E`MTcw!bb776T`;I3ZBJ}$(BarE-CM57tDjaBS6y69WaHC!AYzr zfbtIODhM<9kL`W`)%$>CPcmx1hCt(6-&TF$G|lrrhEO`V_{^Cd8#+rBVFajH>SSAt(AaHv7beDe@r_bZyRUK+`B?+#$%(<}aPi|` zGb*Vu1Go34bCIB-90QK`m02bZ-3^IfR;cJM}IQG|A5i(;mnJa!g)jiN&2-uqB_;I9r= zZ};*Ga4&$+DvuiLf6ee5fYKDt8i3M%t(C5Q{BO)s80J3{yaL z-;cjIq_2&G`YbPZPfFE+no6nmFbK@Pq5#3`FS_Xiy{G>i8GFdYXfK?wobSxB@z|_J zCcx{mGzLC3P6*uZUZkVQcrEuaEsbHoesMQ)(i0O4Kq1BQ^Ubxo*q;@}eQy{m&oN3r zXf8Cr2L>}<9gKlQ9Ba)97S(u330;&Rc>J`5deC8+gK!HHfRuLepcaNCpeY!r?e3cN z@xUiX2BS}(JC*5~yEdN%d@!xsmL~c51!rD0CFWyYP>I{}1KSb-wuNnUlXi{wgDFmv zr~j_T@V`9nE4a@!A3{b$^I2_;21%{m_~GHnlzS+%bpUFd05pSC6k%E3tj@SzufKE! z_F+W8Q4!GglTUj)KwDMRrLh2-E~Y(5$vu=W4UUf}Hfalmg6t7-qko1wK@0s!qu1rK z6*Io+DH#szq4a;fwJnVV@vVWF_uLGZIQZ)5@dMA0#q~<6M~@vl`l%s@(FPS-=zf<< zsvxXGZRM`bolZ)j*l4-^f56ibYY)A56{)83Cb^ziEda9ZF)w;CYtPf3$Ny|~`sawoW zW+A$|QHYP`QIna>_`K~ESz2qS)joZ?p%Vdj;|E^CR>}pC{p<*sw08Y1&a8|ft$0bk zyqhkDA8+6~%8D=JQ{_C#F-X(6Y#kGHsnmAF-s@jxulCS3Jq#n$TzzV`$AABbYn-FF z{019%t^=$`Iros^UI$y~L(k>&_UJHm_uC$J_7~9iNdMqJe;lnL)7+DNQz?c9^Ef={ znY!`gI7vzHxUu9JQmb@<@$a%_h;k_NnY61x+~+x)x_B;ee25BZM;X|WWAwV-FOKO6 z+OLR7q0PHJajoR^8fz?BnbN^NgcY+&w7;HtT1i3M)P{KwQJb9U8P~1)Ga}zt25t9W z=J*mtGdfV-SZc&mp*SDbY%g%w$5~_|6{b~%_55sy66o_C^Q@g=oCzX5hs+0X*^InG ztm850-QBn(v zUKvQfYW?6@h0vq{qJ{b7B9gV;hfry^l_b?usmhb71na&LFFD?)bd`ckbDoAu0a^O& z|G^W1$9gG|aQ2~$>Hqh>%3j}6Z0`J;mo!`Yj#8G&?DM#^k&vqV>}qO3L5`lAme(Kt{vdr$Slp4i@3TVR%GdZC2<( zS6{5I+7&$pDWu_%rn;_H{jmaDHMQIam))mh7y1l(AJ^!ayH2+Ds7)a}$Z+p4Fzl0S z(7T*D{fFHZM0K9ny94=r`rai}Xq;W%Lrkqggm-iKV%~mi>_W|JolC$Ve~|_6I`GJA zn#5T3(p5$s975&UN&WPw8yBf&yt;%nr$OkZ<~sZ8c3JC`8CVyJe{fNsR~~cv@-dmG zk7#4uZPjhljhl@WvrgTZQgRejW{qKEvJ`>$-zm9G*{!l7HlU1iuaDNWpNrA=7aqcv z)CGz#w!TQRZcw|Wpk}D)J>d4q+AMKGudt|NxFi5=1z-0!EPIQHT!}>Z68)Z`A3J16 zEM$;p;3;PhZRJ=F}~rmiLjyecl1L><`2Gnv=Gdn6}oIv;wdK^Kk%fXh|%K~Fw7{t!~jFx zF7((t(<_FfkDY&Hfen$Emcm1I;j7o=UvPFNRo`W@zOfDL_r*ecn=d}nsaZMSY-pC` z_D@nCIqN9bFnje}ck|l{$WqD9BklnGRDPl#IIjZtTGitAF8UpV(65(^-S1b?FOjT* z43}DuTW%faiioo_RCJO0U?wqDNOyMd3wj@BpgcV#;4iW^E)rajA6eD%PB~vQ)RmRy zQm$r}i0FQ9*CBh{TH5`7TWTjq8C;yq^pU&{meQEnd0);sBqoY;yi;FaAUAKC1^rwLbl96R6;5UI;>B{^3_ z7`?xCqA?s>B;Y*y{0Y!O+)NQ*hk#S2@xXTqn?~D{G;;qr7yjeB z&($Dn_nrnHjuv0wN*=({ykkB2}!^Zu(lELmU%PyFr0j zQ?`R2mhI8u>}}5!9IPhzp+PVrPAhIp(ahq+Muv^Dh4)qmQN!ISphbA~C12P&S%iZ@ z+i^>g+02vy-X+7iS!}3)rq*HC&UsE;*NU0@M97YsjZI!5v+n3Rou7^IpqYXSE`?K$ zdO9O;s)x74wc&7=5L0Lgg-1-IonK^C#X-D0)-MVD_$J*YJ3T-aKBwx44p~Guhi>nt z$R~P$cNN#rQImK>(!RCFLP>@G^$>{sN)EmL4jA>T?IG|{EWkx};JRiN79KZpm_G93 ze3S%BCq7NX>rQ*H0K#yjsnq?uN8-6e9kNJwmN$}_CM#xKS*`>2#DkuA&8x&uu>{Q} z(Y)60k8DC;M<%@R#H*nRvY3}+vs+uHU#uQaS^*~U*;%}dP9%~HH~GfdB>#hJVT)v` z*YvfZwg~j6$V_+S>R6h+c$$(|#feXPBT^+}2(OV$uI%2V&@z@Kr1#-(mDiXA4oTva zq|?(&3hrdvMkP`=#A=u*#tcm+4VrB+FEaEL(YMUZC(Nu=&FD_Eh(i{exjEti!cOaF z*x3O`7&&EeWjE}OLt%&EW%vIzgRvfc3URYMPVh0-oB}wE&YtuZ&u0>rYgQ9#JbZ3< z&uiEdpWaed=z1zSud1eorN!~itvB&0iwr&ZZWeksb9pmsbIm-W)JI=Ho=0P+oHLe? zWaK!(fH7RS!D>)xX`oh01A@Jd7@#2>G92YMrsVmwB|Mg;>=(2A2iEzu$KRw_(<@Bb?k=S+pu*)M*KWwIh*n zi=|=e6qjfDXD=hz+~oQIp7ER}8bN$cJ>8)a1SsE+06mZle96ID;M8t_9)toEMn`kw zA0hakx$ARqc?by5SE~CkTH(!FN@F9!lo!OxubtQ6#%vNdGki)dJRD6=H3FMIe0UDn z{Ki>JOS18uo)z`%?5J(wrfAHdSl-tTQ)JC7mt<*eH*?Sozk2vGYSo`UDbHF-yBkLdep(-#Z-k}nY~XYY#K!P-lgpC%ltx(R&&l-@B44X z5}Px)+qDEMn6G1=EMyLGMAOTS0!kSDlM)sKO6aQ?=}4mU_tmPfJFiBZ?reU--hK5W zuKzp#ZQ}(UhszQt{A9|qBlrf^UxneK`z8VKv*n>*f+VtY{NqNy#RsXPb+?o)jxde_ zUu!=3lY{RYHl#B^@^|N%89(RX4Hx9djSA^)I*6P6KyWZ>J8db#krzdSX}X1*tR|=$ zd^wb*k?f2T%K#1S(koRHAR__L6|goE!j^c~Rht-9q5Mqt$hA*CGI_eg6tnuMg9E z>6Y9DK-~?HDvK>bX8kQ*pi4?}XkMGbrVxu82uiP*Nf8dMoOU&2YNr&mXx~$Zc*Juw zz=sfG<7O%+!eoDe+S$rznZeK@^RgOTFsH=;i}89slOA z`f?SQ=3dvPnfX9l&-E>4e4P%@O}`hHnaRVIs(WS$-WH~ZSgx*ksMD^N+ga8jn#i6wJNcTA z^SqekaD@a{xYZ~3q2$EXM!JM=7^XDX6-I|9b%sc{i1n?$hjFP$g4@+Dhcfkya^_;3 z%vJ}90UEX~f;yk+N1a~<4r|5PrKr)6V!{qe-gbq-Pyc)D@22+aHz8*kJ_yQu$;ca$ zLSOABg}gRho1(=8B9p%AA3ab4QJe%GOV{!1sj+L6+G)D(A%lq=i?W=A*F;Tr=T2^zfRvL)tOg4~_ zp)iT&+|o9$#LWopN^GYnFgSnbS`$E+XC`1ngkG2Ko&w#XomC9d2}cV{n_W#Wt;kSf z$@4YmQ$g9$muSaeR&pha9GssQfZ79dZc!UbKv9;+ILA`vpP5|&nDbrdhus9!4<(>} z7$@bmUray;@&LqKdb|S{g*al+vpX$^bK|0ElJn%h;4e`Wk&0Bxt6!eZ@}Wmc2Vg0@ z*cDj7tk7(}w>?=$i^uYO+G6{*sVvQNW=#iJ>+<9qdpO4B68hyG`xLl2%Y^Cj_vlHc zZ|Q|OYLhH*ShlNrw#S3gfb5(sDP+a|Nu$Yigr;unRGg~edinbH*me`nYq{fbhT8;kkgIvTWa4aGnf<_LL&xRpVGT^J0+gC*k5o`nGDB4 zv03|E4jUzLl`ggSYRi}@4_wznT`^{GaO30$<+OHb#?o@Us=n)t@V_ zy9YvcSg#o)zEr3A;Ux}g4`n1)$#&_n7l^sgK2lEl6)*7_CI=0&?W&-S9 z)q#WBo_GP~$Ing{#90qwN35+=S5v*VfT0Gqg!{_c``hE6vKXd<8nq8UoB2iS+2)Oe zLp!qdw^C!h=M0-N1Kb@OZfEilQ3K%k=O{4)2`3-5;C5TIP>c8^ivWjxi$o!%0v7F- zYaYECsTSM;L#(d$BXV1#Z&7rfK~-rEXv3nPXH(>qYK=q}L8TV&!kW}r=aV0~I{E}_ zYcpy$DL-V{vu!*<`0uIf2dcBW`nV`g&328JnUYyr7`~>;=it00hI7YO97H}cGCr|- zu9dkaispSP`EgSbSx0f?^D0gn8mNMQSr>mVT^As(;g+eHeH`+HZTwbh!C1l6G}0Od zJ6OLRRpqLt=EuuZY82w{Wmz^ECl#BeG{KjWSkUWiVo@ z8jC5qdQm8;`5xX2oSd9GC^&B?lZj?87C&DyYkGzZw{te24!u`T>zq-m|C;$$%$Vz!%br!4dkTNt%cR{L)XPy?bywfF9?0gaxFiQ zUpJQJRgom~c#eZyG)B^Eo?Nq=RCF!S3kv!yfxus0(%6fN?HuG4(%TXKK2;iDhby#; zTDPgSG+LoBB)*&zHt1-MO*YWrUhxeO=}C)O~IQ=&8lUc%3O1zY63Szcc zpdc-6-9?!_Y%=jN#2>LF4Kn^WoX;;-Ru5$y$kG+3Y;@|`(yT|a}F3)QDJY;qV(MM9>W2q~Cr>@@qK!mJkF`Z0Cl z3A27IH{kMJQYinV6HRT!hIwR|gJ7VjR?u#Py7RPX`kRlmM%^-*kTBZ)^YY}@=j9xD zM7*c(vK@B7D%$QeAs?N!J$cU}L#8isD&&3t!AO4Wk!*ugunG-8HM$p`?GCnm2wl$6@0rUM7LO)-`<+ zDjlv+906VOTx`(tPPb7KruK`Wh?PQRNhD_eYQqshj`!hrQ8)oc>55fbC5Gi{E5z+r z+f@rn*49?7_Gl%j6*M8r!SL1?>DA4O_%@daxt z5qqaO+PBELZMpyCQHQtm=ND(MzI|@;;51b4zaL%qtW7=gqbvnbCi%aEvZ{)Ql@6N9 zWz3OMn?WF7eexP%MKX%rNdo|fe1x+w{J|R!wwfhP>=(PX{C`;c>aZr*wr@d@l2Akx zBrH%7P*P%m1qcGtIYOj{lr$s60E1BJF6kJt(Pe>3Y~*NAWaJoKBfe|E9nbrI&vW}6 z$NSIiKODF2;=0cBcmCp>>sbt^5B$Enyy}w~%gd@(Wqhhc4<^!Co}r-U(r;5~WdB}c zZ#CY0MrFpitYM}46Tyv`>qO#KkQ2T!f>-C=P^G0=?_tlI(YFolyV{tE@gg2 zrSrYZp!CA|Ee{L9BwGo6mwVeRu^6HNdPn%Is3F9;!Gptr(1yy{8Gkv&w<=xm^A&ch zHTR~Mzweb4Ewp{Pyh=WOqGoT4&62+{&T~8>d#g&7=k@m_T0RrmeeA&U(SIR@nWw}YIfbXwKF$8F8^qn*olvH))t*K)KSE64gYiaXbg|3x*g%XxwJ-=9(cJ#h14YF}o zOp?Ah$w(rzq;VEf-~5zy|3qaamU4^-ysC1ho2qYkNkIY6gzJ{yvgl~(do*`m6x9jG zb4^?%WGt?H7w^Kj+$D{PR*fYnt5}ZeKE@GTlP`%8Z62>Ut(ZP%*48RhGN zDT&N23hs5w$l(O*obF+nbwQt{UarocXX_!U{ko#r1i#$E(TdWQ{`dgjyxO}YI&e@s z_u=w#cTcmq>5x_oYN@$`JIf0mT8jYl0kY;%wixG{^F2{jd?y&DTLr7N0g-2+8eHZa z!9i5ybK43pBN~qP4SZ@M!}+DeGDe8eP)YGe9QV4yhb7)KE$Fb1>*|@)B&p? z*|ytlxUT|8%ZsZmf$g5>0TQVocOiDSWB<+&#cc!a6*j0KUR9HuX>N*dwpUf>@a$fC zp>HSPr;fI(ZXI7sqjhMr*y7U3bc37~YrIE)HyNV!ZWc>p@n-ASLy3gJEg$n|6UTNh zBqjYg;$)gn7njH21+}ai^dKA5qlvXncIaM#f{x2#MG?;}nIbe~D$&On6So7{!U(S6 zyr192ku^Vqlc%2D=gefNuG_d-Q$rlT9@s~PGby<48I_y-=?eYVIJVB%yP0yhtAM|7 zRTNyif7lNV%}@`WSroOM=}R6zHqGG)d9lplVzo^Iyz0!8pa8P$6~LovU`qUnm*Cqa z;tEfLrz%!x{ktl|8w@#DBqY~wW+R)S`{CjgM%Lk#WrzWr`dMLdVFh7blPDVBm;-uw zCP39f2qYk48$Q`xP+~ybyVLbbY-h;Z#$RGAk?#tbIH-sZRIM1BlXT`U?%p~O8W}9B zUrcl_FZeud$;el(BOa_bvktX0PtVL>*I+Zj?#s_N9*st?zD>|}Xo|mEyF9{I3JZ9| z$xCHiw&O0uo6uho;8N4)tl?8P@bc1>^fy)AB)fc^S?#ltceSgR`1sL_mq!T|xz3hv zGx5=!!Z(G=^e%s#zJ7T&mgrmxE>tV`TX3Na_AeChXd`)t5=-urE)*F%z%Q_auQPt5 z`R@J*4S%8OmKHwC2-n3en_DL^y9Eixdn$YmZa&pw#f-2)@rwCOOE%)M;l&W2}^U9gqsrOa@Te*Rw^a^R*iU4*Ze7!i(Yay&W+Q9 zkR8%*dMENz&BmVx6iYC#l1GI}?Ob0Z`#freKcz3Q3jEsVNBjdS9Kn#5DbI{q<2uwAB zf^YYv?bL5JJMPnzcbV)-&>fo?*Q>y~Qmx5M9N-WYi$F;&EtE>3Y8F%w&av%;>rjk& zMzL_ELQ6be^_g51^y+F~;8`#=uEe*_4#{Xph*1DpIOfImPh|k(t$IJ}Yq^L&i{7Xt z5p+rHrwRl;vu*R*6_U2p5#B;g(?%b!hH^wSJy1ohxsRr0$W&rr?8Un*17Qd#Iw1}A0zu+ zvNFnBDy2}<>94(7+MivZElG-ha2xLygDFEyFWw{Kzqeip`nClI!*x44t2cvrksZBf z>&Bb87f55_-Ol76bcUAJgWJQsL&=E}<}NKGnVk@#biWVY?TSgzDB=B@B2{0Dmt`gL9bHz-b8S&*dICY8?BlbQB=M4aMb zKped+LgyVN{Z6?R!Nf~{G{pY5pZ)23ZV#XO?zDADK1%JJ_G$$0+~#TG3ne;XD`EGN zLw{DX)JNMoVP`P*=YI_mK5;ydtvIS`4l7g=Hj3Vyj+Plpg0TwIWu+XT6;L*njSqk*5NWyF%fZ(vQE<67;-k@E_R z&bsxlsm*SJkNo1KLOSUqEB~K<?LQh8^UCR7tZL&m)W@n2?b$boFELSzv$oj%GXI z2+yS7qU`&0@?2=7=Lz(yKD-cN+~25ZZh+;h& zm~T7|Q;inqO>F49oec4oI{u9tzNYg{k@|CnTp2uCLbcSI$lHlAGOvjF z8!1(6m&JAqtTr^jnHlj-D=qyZn)}GuCcwDp(9o1hU2>qNO3Z<&kh=2x{ow+c$;M^CIZ##ymC>S{q;L-UuvwH@-9XSkmF|w$FIAs z2A?D&%LF2)8mkc?QTTzf1URqF_SP5|IUu3LFZ54w@n2uCj%mD8JxV|31w@p($fBhI zi|Gu7^91%~u$3FsB7T`V>XN$#lTWcd|ty9r&etWoey1=A% z+A$aP8KxK{R|VhsapZwJI`TX9GlR!+#K}~iuiLGOo*Q-e9eh-*9PtD~1{i;|0Y19v z6StAis+bJXsq=2MQ_MyCGfTU{sZ#f5n(hHzRmwe4jtLDu@~Ee~K0E2(^w=EK0N1;U zzggoC_+Mkrvbpx2SBJ4k=RiC9bOjA z<$M_`)wydKrNR%wNNAYh^Z(f`IqRQOIcQKgtD)T;v1Zh@kG)bYy8tCKJ=kud-#YF% zsER_0!R`L`2O$kpkW_5I_O-?5K^u-ZKrZG)aQwN+z6`PgAtizB>rI~tNcq01vwc=5$&*cNWpR6 z;z{dNENygqoZfGb4(N7fLj{{kQ(%RNje{*FqY%X*)E3j=l^L7m=J{>ny%sYtnj7p_ zYt%2ms&$L+J^4J5xleEw(qC+!DpI&{>e`3VTNTWzCYfOH)_P9- zp3S{qbix=Sl5AC z;}>}5TeJmh5pO?L;JeXwx7@iU_W`{&bNSd{evR4tM0C5Xouce zb_Wg*$cr)#*ILdnx-07k$^>@*5ZM2%&H-OTg4DhwBTFu;7ny>KJcJG6On7u7``gKa zuFNaH-8EDxngiWEmwMqy9`P zqI$#Eal3T!NKQTDFbvUvGr%@@{AwRnQnMi#_|X3DV8%V7RZr2Ya-tP0T7bO_ZC@Qq zRm)|rb<(>_ zgwwv{uDO8*Dz&9f{KHpx1FM3tvflXdSyQP@WS}ejcYg@tADTw*wvB(JQaMX zt_2=zV{W`y1081>nz6C!3!IW%A2M>AIco=5dzD{|WrSw64LX!`HRjBNx7Yzj0XgALJtH8vJG4!R&2WQD#Xvy8d&S`>p#hv5!60R%AS%q2L3s zHcl!;ZEROHp!_ce?N&>b3D(4g{_{H25-uq^CJnwJuiohQ=;UT)BI2A>)wt z=mXx|aeJ#7I?<^0kEfX*ueyEtSn}#@-T}$oY59pLY2+O6b8)ll!fQAKE9%+5 z9%vECq15gEW_|ZQmS38idsRSEcKS~2`)2=}(*^RibV?2+)OK(?( zq`-*~(!G=#;-URqet@jo&u#<|3P{ks5mK>9qH?2fKV8<9&B*apl7_RYW(l0V<32-V zs;csW1s>4Gsivjty&Zi})c1L)UB$OP!dl`xFeXw!j8)ef{%IUSr0eW~?`> z0`?Gg8Rj@7J$C&af{KU3<X}yU5(W@Z;QWf0X zBtjFQ@|v1-$2T@_f}fk!B;6nA9qnR)VQ1l85TJ7$SL z-!j9O!XkW(*hMp;j9aE3jsHAJe?3-!XQ!pUZtiwyBbK!!?StOiT#GlZ&JD8qqzd4v zo~IrY{aswjL>*KAqw**qeXr*C62q~ve;T^o5Tx1HY}ypzm?Q?fvBhJG!waQEOn%zQ z0*>k@&=A`#YGjo>d+|qmN>CRd4-9XmoH)i^e+f9bv&Y4K2FLwXfoY~4Bw%cABvq;P z|EO%Z1OcrKcu?=z+P=mPCW%eZsAUZfTWloe67%wEG|Ht*iX<^u|*T5K5Zl0Oxf1F18t7LG8O}dxcCs7#8 z4gY6cr=TuW3eB6q2~#8{s87%o zo6MXI9|B&E;exo!%-i<%b`MLYGm<79rs6$CQSo!$xYEfa(YyI_2)FEBzqna&eu$GB6!QCgC&ts>>=uZZjVFW4ZpNvG)pp?zZAi z6;2v^+-jRW2{LQ`AMSP+(HylpK`aP%YFsB|sm*%)`Ln;%6|2Za=>x$FK9VnxFr1M~ zW3l{|Guxh#bE|fWQN%BJHB7UG&|;He^G!doR5Up7f$D3>qR{oXhOJw1kA#U7 zqJgH8C+W=ZKWwcoZeMU6r_8lbeQ;Mp!4X+$^`XB|3qs{(_kbp_o0f}opvARlH&|{+&Q-cZOsSVhHTlw{ht3fm-{gXne)$y z9lJUO0)d#1wFlVM6}@&}>b#omG}v(#(XB5Y>V3z@nb%|EGEme(u^;~~{Y3w9%Hb}4O{jneC!S0nm(DZ$e-T`(Z( zW!uM1AS`FPUExJVar7rMt0;IEpt~umMO6QEtt=qJdVRW}|B~S{w_S4x();B(^i8p) zdpc=|u;|Gvaq%|b_Pb}C;x11k2DYLjBc$_4a4S(;$OXNIPrTv-VqX?D9@cNN5LEMp z?)Ld9T0db{kN?bL9}k;*zfw=|_wJ@!@Q91>pY|CwWJS_EJ40XHHgn zu~0ZFEKJPg(&Ep^7z2|P;$!R)#hb#Jwt)h36tj3^+4XY?r-=KY8WBFsxNR#R@S*YQcuO+n^po>rZ`=>8xS9Q~NWxD}&wSa9Y znrErD>A$&W-1qzeHnaX@h0ZNXZ?$E0_NtV)J@{?xU*CPei&Eh7k8hq_=2;?4!;*$> zlVZG{F}GEtZ?s3r!4*%W2l;^>lU)5_0?l-xx);7O(#FmDXxgLse* z>`?~r1WV;uBqjkQfy#xYZ!SyfJ1A0d*zkP>Ff zag~;Hn*U+Q=*wJ%eJMx+AQ+6|oj|+)@7R=ErfoPwRE2lZR9qoo#5UZ_vCV^N<{Ae6s2m%pyC`0whH;i~^bP}V>jeDvvWfyw zat0jgz&H%N&&l|{lvyD95o3^et1gXoc z7hu4&SgKoHFfP`|7?yPEY!9=tT0)w3p$ul(!`6y?)r4!_3Z&FO-#OXnv!56JMGeM1 zF+)mn`ch}5Dt;Zd#&WqlN<9_R&1ONpt0tB0osUvmR3BI!1K9^6>rSmz>xtm$W&SOv zQC*7-kE&)Xtv~GXggj4#jD~K`tG@d&Z(Ndfl^#{v@44fJ!2Yjqcyc_Oi_{|JwFp-! zP%U$TNAQbn0($@??Fqxp@Tgwd3yf7^!tk|qW3h>{X`bAQ^wT3pamcmJyz5ipy~@A@ zamukSj6S$A;Gkc7Q-3WUMfheF(Uo4;4aCekYfWgK2}ly!ZA3#vd{jx+_?~%Ij$Y&F z7KWk~FH>hv5yl(!o8t3BL%dHXPU=PR9ooDFLQvv`4ahz6k(-QUnija3B2HKz4K)!qTPCH!c+oJG5RGnbn%TBm6 z03}K}I$t-9kYhR=kRn0TZ*aG|eW$@;nE?n3q{%0wB}!_mj5TJR`$cajvL!qt>7N z!sN5g#Xs~p&}|_9{s1@j>(SyfH}FrF6;=}-R)m7+*LkiAr>$L}_K5iL>kpO}D+i`q zKQ*De2ng*C$9q*dLryH?!0XyE@zD_U#N4rKAPAxh{9UM0G27{s^NC4r0?c_k3nRRu zR|rBSmXhc@Ji)7P`G$`D)soig7XnS3M5!7E>no5+p}N@n)c zUth`CmE8`I&kF+1XnQr9WjDckjj6|Jjh|nSbxm9oL~II26@A7(hR(R9L4F$^oIc{Q z)xl+r-=@s5$(l280Azy;FxsC!Io){%Fi0DPGx|0A6jIJG1RgFx*f|Tv-80E6+iVpe zGH)K|8M_|qsqpg*hLdJ_;zWmTVS;8~nz>)}^D6STQ>I(UN7*Ep3H)yZx7VzeXm3a5PXe5`A21Men}n&YL9o!{28Cy;5|%L@G;f>pu}D}E2;o|An678z%~5Qknw~t z=7}&VW6f8bn8(t?nIEZ&Ywwl5!~waxAk4s@Zj%5X&zb27sF&(_DB-*$v`p~MZZQ_w z-xu;fofRFtQ^2y+rj{>$gCY#Yvfp$ zw?hOb;U+!Z<95l`j7XxF1H+*fX%iP1R{3nzU{<08s|WuP5Qz-Ea|VsmO+Kw>fkRGs=$VXre-8WihPG4I;%F(H z%oQ}lP=T?8dDrPQ?ku0H;9J-q@#bVLz86&DD&U(BD(l8AhQu`1Z}LgI-VFv3Y!vGD z5AOhEtR9HG>b1lSSMmKJX^DN^VqU!{l~(oV^eUG}5^|S09_%@Z3ur~k#HOf}JD?oq zt?wVXDiWrqP8{32*MD5c|3IdVyqDwVO;ei`*VQCKsAHeYseC$JQ#2arOKFZbffKrzuwUor3a=nBa~6q zzto$;dP)0L0C))x58t3%eGaL+xL64*;HNUtxznYD-Vuhprz+xho2ik~cHqj5ht&hmlkZ0~R-ag>Cqn^q#b``Q%?W z@%5z!aGbV921~H`{6)aS_5<3~z3=^5GiCr>#@h&Kyh6`t97t<8-;bxU?=Vvn&@l5n~5dWn#kg zD)K0sFRtQ{a1-prY#HnZp-Ky5mgQQ+R08+VmXlh!!g(tPYX{$tF`dHgAfPe+&- zJjwt$YF)-eu6s=Foy6oB8;)E-O{Xu@zP524?R0&NE6B3g#+c^;tVX#(ou`14J_@Ln z3ttdEKG`pAFr?Is?~0)7tp4!5M;b~!ggDZXFAk8bhah2A4yqO`ti=?bG%zn&H>VSU zeHbReGBhlDVTabW`N9%Xd@E1D`CboSzon24-)rMVeL~>Krd!+*W(K zfH<7RAN(J#_P^eK$1|8t4FtG*?IvP_mzk9$7pD>-N}9x$E}%L-61sb18PevW1y+`% zg1~PU3e`K^mr3t+V-${N$ffgNDSRY+0<3pT%n;=lTNdy11ABQt|`cG2QBnVV^aJ53Gd~Hnr7L@KLe9Q8P~g zjo{I9yL;FB0A$c7%bLiv1%7Npx!YF<(Tv8s{}oYr76Zm1wM)ibq;MhguZ@w|xH~4lFFy91yUA#*H%de0?QwZ-abF zftz;CD2p&(eu=zGTmjfZ6LEItrsx;1^)Ltc5FA7p4_E3KC`Ed?vt{mwI?~T&67x|N zo3}ybB8v(8>;v5s$esXa_uWQtwp@EFY}SolNvv-#Y%?}d)NMg|lZ0ap*hy9nv@o<# zcNm0{Ku!f@n$PweHCcjt_Ll)!Zx@%NbcP3Bi`roXNw&#Gb4pEa17pS~F;YG^1Pk4U z$!p4&S1_#GR$sO~qhPo!i@%2JdGOu55KgzZqPy@FD0opV;?tjs$Bo#{mFlQOP{TL> z`q{mE{~vL#{H_P*YcCc+d=nG4rDx+0bTWYk0C%na@fa%vW~a{lPmY;4Z&~;;8wmdp zb%>H!`q`c;G1XaMrH4~ZhFoqw4B`>$JWTv#-IUXrFopD0(=>?~p9f_K35Jp+B?p%H z6_g5Iqa-3pR53va-Yatl4t%4N&-sPDhsZ$m4OG#WLImQE%G8UPq0UEOxrBr5j}1QX zeQMEyN4@MvT_yJhI}m#)RbihJWV@2G0wn%li|<#qJvBv~J2m-YdSLFx&WVhx}mPHm*rIsYl<{at?hH{AM~ zv=&N(4r?;YJeqOjHNP4){jCMPn-#|WzKHH9AUS)2T=3R-miW2z-=0l`g&$MwjkaE# zMvWp7UNuu=F7z|3k(C>vEaewlWw-Wr)MVwR(VKewxE| zH`AJi)Z!u%)U!xQ4mNubDiaL69p|t-V2-1EMov>2H_i|0F`)7zA|kmCBhWHD59+|> zN7RY0_F!8*je%-KI~nbN>@_fZ%Hi(B%~4kuj)~>>a}7*GxrO69SB;?(BfS11>GXTZ zjD{3OGAm1bz86NiR9Lxmr)J?>*+Dz|D(FsYn5grTVJWeV?B5*g|2lbpIm%7S>bvyL z1~a;Wkj#=QBNpp#Vt7!i03o{{kVG4H-%)ABKt{{>c+&#GAj;q0sC3W-EF{~Z^BO4d zV_$QQ;ZErXUaGxi5N#Kj=*hZ4i1TYT!K(@oW1=9g304h#e6t9GO4H-Hho-EzWI+1M zBR^>`&nfL34bq&W646X0G{VHnT2V`s*RLQQC5_n8BJzt&{9xCLw0pvm-oKFIqY>Yv ztzt;$Ymr!Y!-s!J=#y|@L!=}keSa%ofR|pASKFMIsl*+&XDX&2DwR>AbC0kMRbcCb zjS)iXuj%&Zb&}U?=8Wy``2e+T`h)Hgk>143E~q-scY`o5^hpH&_kf!rB5Y^pMO9!r6pNi!4j2elqJ~d)e_^v z{eCn-e+FS#m(92$sHJSH8RrBPS0%Oi1C-lV+J4&Ivxf^&Tb4Ul7cA%}y--^rOM6#| z8?5+5@?tDYz?vz*u#8ZA&yj84DUc8>ZzWq28unW2$ZjD+zNh)^xnhM9c-RU+B79Q# z;qjbg{X%~?XN?JRZmqTdBq+ zE?vouP}zLxc>fhZ=9BConX=X2$05gZ1Y2o-@dO9RRdr<&M6dke1#phiSCBr`7iY-6 z44a2~mAL?#7tFt32bI~&C}*LuXBM9`+e3#>5>seP(5|`CuKT!>4&X|sqTtKqq^DM| z;twLakfl&>@j%R~;81pJ%rTHph5CPHUi*c~-B`rMk%my``Q251Y!Vg63+ir2 zf1NwJ3>=4e!L+O*_Wo3`hr-d01>yNpxXcFNQ!UkF?@u-*5ti`AXQ%t}HI>QSF6;A=wgXrPG{gpGbrxgjHe+wki;Qdg7lx#1*KNz?3r@PN{{h#EJZ zY`2INz>6!uLkqe{ysNW7%C(C_lfff=2PTlSFhn| zpCW-Bxd8lRSNWMH59HQiTRa$$aaIQwFOLwEU7A@dq6J-?NQ)^UMrdg5W~v0n9(U@c z)icF9&T>zLW`AORY>nC^*hE;2{U$&CG34xW0-bDe+tdBf**UO6XXW#NyUy+o9aGJb z3VM?^+*85c85WPl*Kl-q)FH?b4=RJ-UHHa5qEH{-yxkB&1$=zDXr18`MT%DACh5rV z%L_C^b1zT%_3Y|1uTM_T!OfVJW{n%7Xpp0&tpcV|u5WV0 zeJfx2_Q06!W3W$9x6>XA!Y@;wimm$ZhRMO}%dXNxnXZ^DECXM^fYx^PufhWCM8;b` z*FO={3sz8V=8MDfcD{@D-mMvpvqrMctXPl6}Z z1vFXvQ`>m~ZZ-12avEah{T$ai>GqUowZ?>}-fiL41I*<&&-);6rQgJE_bq*uG2!`2 zXkdADB@G&?_^fN7Fbymz{9GW1Jk*!Dw^{cv`@;)E2cN{ufc69_PK`qs43;R^!0Ia4 z2F8>>gqO`QXO9Qj1#TArHy_Mz*(=F89_Xr)?^*QTIwvp^@P#4%EDTqjg63*&^fJsUPpsrvV!#iN1q{;GO zbJf>=cElQz0}E@$jDP0#6e9yMF|R~-f>h9{SNYfS=e=x7sSR6hU)J2lmFa;(IujNTsC&Bt}9LojwR6s5!k=(g6OftmVXE3!j zKk2v3v1(cx%WiR=74zU(&9^a~Bkdf_?^za(;DmNq#@a&&YgI4LY+-Z$EBq}Spe^iR3qp~T}=OZ1J9EKdXQ-bH^gHsO5z6sgy{PgcH z+WqcPG0k0?^URvc1go`vEUyBy7}&+;|7N;{BzfEdk_Rtpyo@V3l=1R{ls#DdvA+WF z4Ke!3`9NKd!Kgf>G%zR|t4uh%D>l;Kj&6$zM4&ePR%Q=Y=UkfJSrd$S12(}@P^VB* z*XU*|F|&s}fgZc<;&O;%X7Q39rYKmFA%woj>~@=ao`}tv8fGu+)6e9npPhTwx#KJ} zx~XliGAkibv09bXNHzRz$TokgceQ4fAK@(S(UbVRx3ooMFbxgO|U>)4m_i!z%Mt#$8&%UZ>I$ zPkos!LA?ha9?Mc=Ftd!AUpaRV{qm9M>f};d7qlU|ULue58W?9PVC#e2={{>_K2pflqz(Gbn#N33w;DHjhZyYu4xY@+iF)EYp$<&z= z--iRO_5sC}XkZp8ULL-CUGI&g zHXlPRZcg67ou*2xTAsDcM;-Nvy*$n!-!JjqdiwEMA0;Za0%=>WBPnfcT`NgrtoJFX zp07Pf5GFk+05c*mHOin^qEmB zOAozXOsyb12A3%#FzSCJMBeB@@hp4cr_PdXSI1ng_(fuH#X@q*U~v@L%Tv_eWzz@) zxsUwHQ;65HqGZdS=A@W6L5)D`WKuoiRF>>M#;%-V40%wQ+p_P@C? zev}OHMkxe$$a_d5tK`6Ymf%~9tI`<}HXRYpxHr0(Fm%g>x)f=qhT<*3@8va}ZPYZh z9oh*)nt^Lg$JmV0+E0lfbz|Qg0B1o@IWvH}D{==!onC*a?`ZEY+UBXD2`^}ujU}Z{@!qZy z|9a-+6v$j_JjX6~pmlGg5uh<5bVv6?*KAZ*uytx3gXD5?a)V zx5w(zZ;K$QKJvYSoOxVNpad^$gJ9>^-4GNSZsM|;cM!%buEC1*m6vy}Kq%m;P4pM{#i#4sj9a6PSg)nq)5q5Y9+U8j)u^9_)b#A^OJQp+%$|YHN3Up zCtHk1;qikMxNqM`Ro9MM{64$HjCA)YFXaaQjMji3?~V!UrF=LN(RYX*AMw-tDmk^5 zCRvq8p{j|LQB?^}N^7Ra)Wy@eNKoO9{#%Abqjd4^!|HczQa)i0#;LR?<5n+K%0Cg* ztO^#jZMtUHvU!8@i$n%ouMIOh1&=EFpi}foB&AWhOrSR2RAicMxK1Zs#htC&BN~$r zVa>UdFhom3yJ)eo5P0Dlyih~iW3yPIs+w!*nK0~g*4quun)?v|~nvb1__}+UoLmfIUeB?JrAMQd* z)nlhHfpGlm)w`kr!;pA+Y8+?X~pLgE`ICE7M}cm4OLO?^u6s0 z8%6Lbl!)&3 z2G<~MS2--RRBxrKg$Ey6LB^xJEVRK!Nzm!C%E^) z69%j{CE)BZ+uIF%DEx%(B>~8&V-x@VLz5cX9$CNKIdm;kjp0um+>He>vIal;{oH>G{(Vf9owgptsZ|Tp<3@TOza%B6mKkWsFS>%qc;!>&*XE zZ=nd{snFF~#-_xh7{t3u=36R1GRF2QH@!k_U=I5vE+`-v2n#ESY~9g$S_ax>Sb}z# zyH!h+Q&Voq)grnFaZB?eq^yNnp zWodbNT12(&JY8M-IX9d2O@?_t3@SlZG1`e=N?GM zCu=_C`>xV*YPNRAGnTkA)YO^RDnUz2yW;X~2X|7my1Y6pWQ_2rvilOF?w9__t$N!B z$JcI+JXO)P(G2ip)UwtotDBvuY34;8-ETZ{OrY^Fsm6dh53c9h-I3RJ?$%#E==vNd ztoq+SYdEz{R;BV<&Ga|fGP0c`9!{QC9Nz|Wgd!vd!s|qkJ1(ZNwY^TEL59{fCr@8D ztITRyoEmmX6>qv6r+l-@qVwF11O5k&7HS^Mov#puPgCTp_+ck$C@w0xo{616JY9kN zD8WMnJA+(Vv)&^y)2N0g$;nJ7lOkTWK^};R$3X@>wN?XGIBCRTE`gI{8I}z0!#mO~ z97j(T%n#OSHhJBYhAz~3s`1-ogi%syX9#85<}WyES0@ZHR?A!Zt5GCEyOls)^FG?7 z{-##N9&3R&zREA-zsDuciIcJQZQ*bAGVYFQ+2nj3#;Y55&_l;X)&~xE(K?Lag>ZW< z=%4e?6w!}M*vshyWL}m{ef%|k>&k9S zw-`MT;hz1rtuEXh;u6gxl$U5fvGLsC^WmI(CkHUbr^Su~c2$(M(D2}NreULPOG=qh z4x9J`h38#@NzU$dEw5;I&~;L5d>uoWfkDmhep(tjSsk}~BV>veGFBuZt_p;)h>$UX z$9#+?on|}N6uUAJu}C|t%^?uGC4o^xw5r_#;7tTGY<;t zUJ6M2@+F;8Qr)rMWKPEWz`8)qJ;Fy;C0dwxNjjC_CXO&BUKO_?OUb(N@^pL*i zL1LZGil)xCeUy0Wj%3Ar&5w4sj&LVfiKYFiQFUm;(_^rJhHD9iIy!lI9od{;rrusr zWj!aG->2>UA!=}lQTn6#J2XWpM?#u=cj$t?w1WTkfK_^I=cFBs;mQ9OICW4eeSfv& zx46A{?nX%i=6#@OYL`~YM`qUFZ1Kr#bSKKZ>WVC11id~PG;HA{;@wtn$9hJW9^XKZ z8-;tD80R=OdHS|Fbx3=+>6xf&rkyS_f7)g&xOyARV<%c)rKAi_o8Je=yQWtkLZ8P= z%K*DRrIoJ~H#<5g$!O*6cCInF^V<^&xhaF?W4-10-nNN^Yu9gv@#Nay3Zw0sd8lq_{7R-*S~cC`wvsIBLs}1% z-8jv^g*QSxqfx$8!|YC?8z*sSG{Y_QU3tudNQK+5l2PLI+bbVpU(qxVLiFi0lCpa4 zGwN>Hd8FKU@=-dzMP$E3CZ{A|_b;n4?WXf>H4bni$1b5W%R)FZ4858cy~%|4F8@En zcyjsr@;2hz=U2gZ1B+~kRY0G{4d;4^hHZZQtbew`$$4EgLFOI_#S;hOYHo4a)fQAc z5mrC3(r;_`VurHZte}{Ulc<;MlU*_Gm{}Iqup@HyY7{el^#%{y?Z8sOTwg8r&~6XmZ(ZX# zZ_8Y3%qml+S;s^@guMqb_R@+IHS|$7*!gv#?ZLLWFRMYrjgasXRg;HRHJfDeiHApt zCYftZ+GUoSCmEyGmoHrUhFviqp4bZ3^*WmK(HRsyUAy~e-I}lG`n?%Z)5Pn~-|A09 z)W_Kd+UjO*K#Hq?f-tdi$Tgch6g+q%=tLdz-{1K0c@NN$?hv$y#{U>0guth%1Qu6I1>B zPa0{9A=yQtZDs*pVzs@w&dblK#F6mZt-#G(=>K?-U9Uuq(1E7fN&mtlf?_YDFzK3v zxW1^noAN=lRgylf2*T$VRm!ntVB0=CKY=vpW={ow&4tk)mugSNc=jVb2qmi1)bt@3 z^P9yMo0BbbfUKyZqFKIsBJ%_Ptgg3~l*4xyNq6-8a|7SGhy^O9nHJ+I^=9YT0rl-c zL4o23ux&cs3Msls=Tp3XC?cH2^B6YnPQ$10R+|OhFP#r(TZB5s`?j{~T^=7$yW)A> zjwSL}YzBsRUI#j~?fMsD@;e6RdoHyI$SxZfeW~!0U8QB_01Ora>et1ql~I4PLjPQ! z@A*)uvT(Lx`+03{HYljRp6y-Zp@+GJvUN_~^AW>kXt4F|9PE^~d>n9IMSZ&G2WJvL zJ)TqZDwr-d6_X`J3fWZf@}mp$9YiFzD=dB4Hc%V`=0MGR_g++rRvLe}ept@sr?Tt%X#HaiISA7&YcypbyzOz$JZ>+vlzHgBgN$!RISH17Zwa7Y6`KQGtW&=zH zLp{F~T4oxI6GV~N!>`ptpE=e2(2Ls+QDwDAx-GI#3Mz59X%A!Uk0pWWbR4yo`);&# z)ml&l3IF{090k*yu>VwNJxt`7gY;%fYxpnN?CeG3glA6XmGiw0K`#oUcebiBuLotU zK=qwnMf{?4PI-5wSv1_#4mbzV+V=eQ+UbH-!f^szm0eiIjjgquY<*Kl?ZTz%T7`=~ zU6@2&4=vdlUp;_L9Aj5sF$i}8tj*aq25awb_Tv+UzifBzz9&0O7G6i_Lpr5h9hk?sbS?(Q}~k&y0^Zlqx- zML@b4Y5+x=VUQYX;J=3u-}Ak{S3Tc#uFFeg&OH0stL}BLwf0UL(hzUEXK~=AcO*Q# z?A*C!)}N#G_VMeZB&XQmp{N3G9t?r<~pSJBWJUqgrUV+!X1&M2yzo z74EK-eb#}oKNitFtBg(&<&_h-*z$=Gn{SXPSQhU!c58bxhZH5_>k@o!T*W)w4Vgu= zB=t-rncYS0oJNXid5w6=mINHA-mT@GXeK?*SUs2AEAb3*e`~Q8L7d;ded4b9=1izG zB$`T>Gd4JAQ+IP0FGl@~%=L*cLSJqc_flCtduL4UP}Be;uiJe%%4Xl=wzBeJ()NL4 zaVj;XQX}$trp0n&48pwfesq9~-cY~Mi~jxzK`ZeeS;CG2dUJVI)?e;#Zsw5#@3HE| zHcx1p){FQ}E_BX7DeI^g0Nv5mCsM0m9rhk4DbQ89`_k3Y;;rEU$AvRs=kElV)1pwj zRaJc>=iKB7S>?^XT<}i0;`gF~4jwn+KmW$dPM@Tmgazb^#G3bdJp>-(0MZz>8GoB2 zJ!M-ij+nktrxdWqjB$F7$+zM1f2zl*`xRG5nBqa1$Z5Jxy-zeoW3jJ z)@uDi5NA~MBi?n>o6^&WI43r#m0+$ChyZ-f!}Scpaw0w0r% zos*L(WNjzj4P0hM!oc^OfCe{T*YayDMG*Y2(*WZJV6fyX?#TOf#O9TZWvqFRDH*D~ z7V#t!L3V<-la4M6Bx$o}nU!u=Mdfclfpe@^^<2T<&Xs*?!%)iU0w}7*d-oeO{dliA z=Y4+2$t5xdcae^CykizF@}*-Jq`V%IS^! z-Y-kC*&hJ*vWvl7e^0k=*xxP3(U~N)YiX*Dk*Lk9)TOAKz0oPSN69*tHR;-SLjzaT;5PQp8`jYGq&BJKP}5rBVs2xgsV}|z6#-LLxzD`q>gWX-ARFa$rS^3z73b2W z_+B!c`KYKg!5vZ?K`6tqBm8yUY#T?ugtKLr+eRzV(s&+FxNpIRG%-fa(;J|~Q_OtV z$OBZYV?dnAicJ2{hEN!zEQLtGX@!w5uCcJp-mDj*g!p|i`1pP&R`u;xa(_wiS5r5%&fKPH9wF)dC(gmTI>9{wCF>3#yI(*WQI;0dh^ukkeSaMRzA$ zeWGT8>DN1U5MnUYfV1ic9HI=m?r?z!j(pfaw>GxulJ64VfSY!;Jlef*+N+rB4hzS- z9exPors366s1o!`_ElHq77^CUNiq`C7K4~!#|38)EMi&5delaVDWVD|%;<*qzN+wJ z1Mb;sZ8m?TB4mejI z$|@FmwpXWyR^0K|!btdUr|Mag>Ssn-R2vwuQ^%LQEA@qTAVdK6skpIe*mur+yzjIW z0HF5ZLcyU``*zjvD=@K!w&K5myb`E^4YP{uwZQRAMTAL_ya2-J z?JPok3hM)(yl2{-?R{J%T(TQ2!Wr>R6Sz5~@GhIS);d#Fg;PStFj40M0|0%4c=k-J zcaEqLd^9!k?Z)7Ki11j$P-EhUw&J$OFVDR3@hWzCP^ZQ>_eT2Dukp!&#-^uY%%-s! zY(;%(X5gB#IO93csVNcAom8-b9WbXwvrRp3GpDjrRh|e_UdRUgxk^U^`#b<}#Rd1eb{Maa7_uheV-Qck#j6tV_kp6BSBWNM zv?1RI^<7RA#lLL#`aY=Z;>AfsU}(Sqa=zvwb{%z_Ns|XJq0soPY-y7=^6+hXdN7&# z6`!dZ(x%MaO_p>_gh7)w#g`95gYHx%Z-CKmT%$OweIU26@9wVEvAcIC0LhA$RG8~Q zvO@n>$woY2PkF4Dr)_Q>N?a8l8TEYpmuiOAR1lHZ2`y~3@8H7M`T5PMV-CurF~#H@ zx8=dUzq=`l=X||gLC`ti#WmK7I-8f6FC8!CC1*b@ES2m8%0=9smIxygro8Fl(FEdW z)Zes*Pv-E^4zRiTk&X+S1C!a@uHVq7xIDmRmiAcVFt7Cn=`opc+OyD`??pMWk}ynI ze@75wBlNQVcoR0VKn}9&RIsq$x>kG9(~!pL z4xPSVMtN#X^qq+&f3#)%P6vu-E!cTpi}q0!K}gpUTmB%qH?B*&jXG=5nKLib0cUMv zIvv3Ck(FrGSC}{HNkGEMp1Uz4(Y@Rs`#{>uA~>h+$wTcsOHY^oxz(5&q&xv zPNg^cmY)GLz^no6@i~CN0Nub+D8+}&2c?IH*j6f#FHd+j>U${N(Hp@?v_i}}?fh5$ zC3fJVF#E;G^On*{w7zY9zz-!5^44Bn}j`3(# zmf=39pXFgo!?BkAa!+bUF+k&ju~+@foIi74$*$1)C}y7{`FM6BDu|82K%h{Rq<%wJ z7EoYSrC*rfZJOX3M*|C7p%?uM_u;ujV-wEa)_U2*8LM*FQeZ@g2C9U|&lE{|HyhA_`k;E6_=NqpS1G1#P=Fmg0los+A zFgDE6!9n2!4MlK`+z{qp9fmv2cFrw<^wu_YBP6(^35%DF98zhfU-#<0!`PUDx|1rX zFp{XKqgkOoQi=)dh$nGCpQZ+f?k;cDA?7FAv?b`;96HKxZ*m@Qjr(OF*m$Y%szU?J zM-7xZImedo2|g|rhR)7OBBHAaFaFQjjGxSNK&e&%G$X750yP6LgzK=sLdyvlqw3Rg zW>Q)!FL{?HC?zMt9y%4=$f+E((C=4IW4+?%WJ?yswX^y9*-6Q3*nX#)-jlJU*8Sc0 z`k@U(gcAK^JplZTN|wwg;(wGGRhZfRzu$J0cW~|d+fSyWVZui9O%0d2Tq=|9B%&Y9 zzyb!`+Zy;>wCyiP$2$&p@|kyNN7YQrcz-9W`?{LO*Ftb@@X^v@NcbD34xcAH4?j4d?xMeu8>_Qcl{HOTIVdf* zu^L&H0ZT8ib2u5>vnoXt#WHBvb(CoF2LP63hRDx-g*oZm#0N%yVNeu*>HPpTCBmtH z?#{G$Mcroc$7=@5YAA{!)P`VlkcDMU3T3ESe_iz`!SyZ*X3!^ys%$-u9f#>hn|DxW^blW zMRZzMtM*+p`ay65ng66z|4sP@)M^c8n1~?P!M?y%24*qHpy4J=-W}zp^nzL_Qn%#h(1wCpJQhzRuAiNi9DU zR5IWxpRQ;~$1$G(e7=%RL}HwudG4iAP%Moqot81>-m*>kx>HaFQfGi)lZ>vz>ZrbB zp>LAexDTMI)@?<4VHK6vvi|K|*>n@YxpgN!F8(;t2a+NBhi+5Zo7{y{b7RB1$=N$F zlKRYrt??~-`3A_VTdA(d z#Y?ZxR+*iA@Uk&O10~~w<=0PP>NXs~Wh!KzGMR06t&R{MG+P-y9aE?|3(|V>9M07+ z-wtDYGQP~J)9f`OtoP?Z`0ZLuU9rYL<-pH)0jif6uNIcAy$KP|nai!74>=EOJI;N^ z(0L;gU(bDCIl{1bs*=kKaMq)vS~gnlPB1iG`CX;)q^*#Ltz)XK(oWnGDTs+qDwC+nl zh+2fquA{cgV%fDPHv{LO-=v5Jx6DEDoi1LJ02i+BBW1W4C(^u17=LR9~(F+xHbrh>);-0YPF zJL>pG+q=S_TPsb6BJQ>%;m>w2J*pQeUNN8#2H)+O37klA<~P_hEaa{j|01}0D6Jn7 zYr;|xKm7H>9&1tFBWFR-i~`GLrhMR4pQ+XJx+W5`Q_Hd+YxqEmkQ3Et=Eop)xwAos-Ows%zN_OSL28OcE(zAdmLcR2=OV0P#NEw!%t0}4R*)^XtUx6hc9pgy%$(% ztt9(eRNqQsgf`mpozR#bP^*x$R4 zY=?j@#jrj7;eht8_d77Y7E_i&usJ7eU+q2bczW?O8t-j1bS=tgs*j3ZEmsq#Tk*<` z&l23xJr1s(HvrdmBZkR&|B40>TsKIuslfG(-31rrtYLlju@~RD?j`HWy`lWw!m~#Q zCc0`mS@K#nd^gVLkyJcExR+hLjN0Y&1P&47b5$vv+}HVEfn2!7|Jeh;shvS{Y5{`c zO*^tUNWK(687gLuA9{mFzKe;Vj`Kw(J07q49q3z{ED!i*wr1d$Bnrw8x9OQwi01-i zw>QLSu6w_nIt!#4m!okj?XX=}RnkKGRqDAm1&}OcI39NF{zI;`7aZ(Sw^OdiY8&My zisBhR$jUh0onM-`2kI0+2^dTU)?}GODU1=YB?doRS}fEDmBer=mQSo z%-1#5%gX3rXWOq3YPh)A1d^v08MDLCng{H5+s!|m)(vS)0|UH}V7>VLm8arl13!RH zBYJrnw5nk}{PjOR`s-9Czs94`YaQJLGCqaO)NCW)Hh+fQatb6eQU@gJ&3#IHJn=8w zY?Awf21BC@DS(k-;0h^hpUCu$?((MOO~GDNER( z2voKLzjt2ssshe9AGx{lu43BVNGs7>)**Ns-Bl#@)%2&=0U-R6QI&leOduwu%O-Npp^!!0Iv7+X5+s z?bW;|Ig%B*EsZ__Mu^}_%)45E;8^j?VyfH4=bsN%K#4PaN&H~wliM}0%0qsTQQkO@ z7TXIsy?}#QbGEYDDPOiQJR-{caiM5MSsTuus3f4fr~H7a0E()}K2cuj4gf$j^^M^A zEGz*KRI`wY*Vt3|frj=-Jb*szOfT7!PdlCDTG7=eqBoxfx2FaWwWka~fSVI~4#H~} z#!(4dF$zM|D5pl4YQEKYZJnjuy)Ol(1~p5ogza4-BTv`I@YMWhq7dXsImaxPjmGFa=vEzRgsNa+16|*iE+TO4<6_OM76iMOZ?qx=#??^>waf>r!o{480FZ@xQ(k*^N1H2MRb&7 zC|6_BUJPkSCc}#vkkGv53-cE5+eb0qU%Lkirq9YJ(#-F~MK6 z`;be12<8SPk%+cQctmDT3b9zyxDoQkU`X;(B3joOfRPlWA@wL9^p;1+zdR_hv7kK$|tC$Sv395RN zT!DS|lSr|W!$bL({RLP6!eGgxJq)4=Vq{QS5I90_D?b)oBsEz{IxtP^qS8c@b=qL> zb-c^fos$yG~r^`rXLRc*TM7$b+|we3Oq2W&yKEkhUBGU z#C=F|xEv?q%sMBImcnx1I%KuS(|wCNriTMB-dP!pvqb%P>wheW$-iG|{)08yd!Cs(Ekk)(h~m_s>$MXq@ma#lpqmBIWM>re^nx~G;ap!c7 zV?n}5J8jF24A>u2u12JRQ3`R^p;%U}9_TsysOMgGa+|J1m1RW&cx`#JEP8;a<>kz- zP2)VP7gt-2&p+FzaI#fwY3wuTYVDhZYq1~4tAD;r#^9T^tvPFn4$xIDQSq)$?O&;g zl4qlvubi7qSkE$Ld~_n{bX-t%6M)+8tZKSKR`^W$n1&Mt71)dHjTlt{*_7tQs)o7B zsSw^aeVL@IR|q#Y?Aq1KSt9M+iW(*OOSWzmYkGh*D49K1x~7^8NVwxgc~S%4ln}?W zeQ;r`_;~$fY-k{4aMcA5k1u~1XNBL3#Ara6U8|{s zn|u-~>32P8x5an&f-AknoVZt<^2q0DOLx-F4HHH_vLn{waU3w(slkh2WE`DrTX_m? z$Mu0?Aftvh=w@bNG4z>reE4hT=h%nr|7}2Kytwaq5xa9nPdBLP6oV#8oyP7A(V#3Z zyORd!NcR4Nfn4?xO!Jcvgxpz3Jq2@HxK>rQ_%!W1I%Ohtrn^hW@99dFe`C$E4TgG! zz~Fjqb8nfMt8^3flSlw9?0h4h&w0Pjpa0+nfUR-rCha{p+^amfSc&HMPN%69PzC*C ziNF5Q4u8X8#a7jQLoiKOqkD=J)FbI3p%T1%1ROFJ0*Kric~Cm!V7W^q=}a+_oxa2o zA2mrp(lfVO8l(9b^b%#6Ev%=^3A3yjYCemk$~V~)LuW;j_%_BiIk}6go{p!^59(vM ztHq=T>z~`CjVlzu!{ti`qo@DpyNMqREi};ftoY3`3RV$~nf!2ee;^|}{D{)&3qW_u zdI|tJ@~#V>Hk@NJw;3t`8iXV?dOI_k&@F^xpZGIDn}yT}=#MiN8Zt)r^>O;KA9nZ$ zyI{T-er(r_ne)gQOqe~POEYk2Y0SRkMN4p5*>#4_wZzutCDgehAB+szYD`P<#J2Ms zVB_=Y322b>Li_3gDjCHx;a|@g)wB;}7o%ojzgv+8oTWx$@qQn~?*i`q&t(?Y0>)$w zjF!ZhC0g3pgQi$h+tGJpP;_G*11%zb*YYuOc*%~^4^ArQyjE~BK(D_OY3p6xl zTfA=`es}-27vO*^(Ji84jHw6hSgM;`a(mShXxDx}6u-OqW;T+T&)c&;$xuWXy)E>0(X)a@R7 z64E|Ne3o_;8B+~&teG7g`sCN!2CHE{{^ajRA;?*tb?unt zHw7_atR?d%w!SqZX1a16d6+zg26*SNL%&Obda|wKHnb9;+{pmd=-u2$Ej}%KmTZ8S z_32{^F4b|%jl3qzokPV$s~8Yt-^#Wo`%2rhv|l5ExUrf&cKYKteb%x~*JHZ^j9$C( z;R;(Ymwo(azmv|Z1tHco#ri<6Ek*gm-@fVn2*C^pjl*!msVP=y(k53WD}|DVrAo!h zd%s90h?nn=gZMYo@XU4JrY%b~0zF=!gGU3@5nIYZ%b+Zn0-F)H^amUnB<30zxwc0R zzf=9vfY?24DcSe%hmqC8Cq!l&aKRk}5 z^HfQFYg@en7WIa1dM&ALb6cJZ=XpQ0>f*6O^_ydvt%G7ElF+kZpnUj0>YY};p zjAL_oq#bpnY7CZ6tYqIRt6-?BQ@mPI{@aIr8G$oaqfN|))YMJ(*8oLgEiqFr@SZhz zq+RzJ3X??Z5@PutR(R2-_h}YLi`z@Nu02e2?#rfI<|goxp$ruI^X?MI@bA2gmCFol}92Zo@0+hY71Hp+OCGfby43&BP4z`l^2Q1n-C@c+?C?jP2q(tOxC!5t!o zYlaEPo%!c}N;J$2^%t`?($~>Mj*)U!FvaG>uWFujk@3b;US0IhM|<3(za|ZBvEA)* zp?n)xsL7Bsvsmbmi-F4M=rB@E%lk=_F5E)PBP3XnWNN8aklHvZ38J8@s z3Iu~l3e;wMSF}8RN9dd^9jU~4a^X9H6)crQKkNdWQiL{qnuEjUJgLt+n5h(i(Lg3% z>%0bbV{z}RKY57%bIt$!#bZKGFlOXrXDAkaZ1_#RUlMDp7j&cIx5_}z{EEfPdBYrS zZ*;Q(YrxgTeDw+L zpM{VEB4_2T11(C&@C04Dolx$@_vFl_MQR_#FaDuP=Lgn8uF)$zno^>t`5I<-jW~iZ zC0UO_(W$*+nc$3MZa0XgRmwTbYLU_Xvl`WuH!C1PPft4+$2G0vFMYFHU;mzDqYY(% zEAbG7;wU?EZ`Yf~L2LEw$qvqN{tM$Wm_sqU%Q1VfU`9-zN6W0XmV&W&_;k4*qI=K^ zCWimzo|}r)^mETMSgJ@)dnwITw8sym=**>i2yA7n4b4q`I8}o;eA6xDqLF=;09)9A z!Vz)`pY)q&6M@fZnLz0Sy2fkUc0pN!{piWAAq+8wD80#VIJTV z1@a|W?wMi(1ap{9&A!uFAv6zr9DFb|x{sfK>kpHgOUupGTn<(#EvgN6u{r+V!-wB# z`T)y9oGLj8Wf1j&WJyv~c?UM)dEv*4o~toyPKHAEVpg%BtOJVdhGJHMM~`&_R3mpD z)`93VAC5oxaF4e*IfG&l!cwUUwcGuCtpC5YynR_M+{nK>q3v2WOB9~+Nw}mJhAO$u z!twDOg&a8l%i$&(Z4idp%Pa1ZglGAVC9%21M?H}`G2uGoP*d`B$F}nXIG*9D5Vh5z zvD6{}V>V53;L8OFuwCM;q7_rCo`{|*MXF|k!!~G}g#J`{1!~V>t@}(drE1nn=uL#@mUbS6<^$c#P>iFPDLQyK)brCmwu3&MSfx{k zvcCN`5F*4tkI)f4Wje2w99`jRDoXz^a)|Q-k*rE!ViHjj(lS(&S^e7GhCARan6AL{ zBrwdIeG@VayUbkOhzBa)U+hTmGlj?DYlOyNCY@H4FJnxPHM_6tSbm;`Xl`BMXd7`{ ziZ;2xJbNOAg75r#=ultHr{mB5iL94qL60#dinugIe1=miXAakPe~r?`7?1#l&Q;dB zk;`469U*sSqh#1oJe|nXRAhQ4b}flkbhNmuxFWUZOxU+uM@J@d?C;}YfkuJWV(A-o zRb@c{g#t@XkCOY`O5wi?6gNtjUd8QYJO?;YJq#a!q|$Zu1kfowm}r6yN@p-Y?=Wb{ zP25LWXdsAO9m@nvfJIS8ZH;1F(n%^MWm#DKcD8&lR~6l{x>8qgszchsk=~E0lIRHMh7nFSp>YhXZMSO9s;_UdS+$nYD_ih z;#dJte}lCMFG`8;4t)5(JMMY#zTlhP&pSBkY7z64cf%Fmfh=vPoiszCD$#732?X?3 zf&o_-PreZwzh&%z3W?rB_gT6UA#IC+BTEV$fdweb3N&uCu$0VC|D>*E`|65yVD@Ym z@|VNb#}m%;GFk+H)V;82@y_9G$G;z18MSUOn?p1;SOqqPR7fZw*{H0!=nav8DJIa5 z?!u6N3(o2qXay1RB&&O>JJLW*+Sd=7c?&dw=XT>QEJ}IQ@`zTn9lj98cobR!fcHec zdM$bge#wB6(tyJg^ux&K!MLDC*B82<{Me8E`qhf_-_*8emq)!{cL`{jjdgef4(^cv z=dqCFJ-G!2tRxcvzlT2NN5RnC>AHbS0BOi|?vE3j;zgR{Jvr>?xq3R$k&F*lG{z?7 zetP@}2>FYnudW`hmGa2`bvHqwB~Nk9OEoM2RQvyct^gnQAjV|VbIC^c^;+&5)RX1H zxhwAFjm8n6>_~t=5VTp2PDBfqkq+0#(TX8fm&F^`@nHUx9jR8rtg)9$*hYt|A{qjR zO_Ckm8u6d9$KTLdQO@Dssish1%^KFSU)9w6SGIrg$o8{>xY#RYLBot4?sDQ;$HUarUnsI!;si!hoe zm@lRkxY4?BDJXVmJD8&35zxC0z(|1Y%(|j$IJ_`_PSNB-b`(!KwbHLem8KC7J z&`js0_*yI&8-X|)27x#OlfxS$aXsFA(AdENj6%%XrflQ(m5jBK4HnmNer z?haUpo6&O$XGRjDW|3(6)6Qys@sV1o`MTh4eL-w{~3x|^)w8IVP zevQ3Ue7Y79be|;JnwKPjhd@+D9Q5#cOkybVg|-ij#JWN=f$Un4qW6EPw1-aN=yO1a zLHDT-EuIe>Qk-@`oW9Yo4mjFbT{cYfaTaA+Y@Hk*cx2Ana!c1unCG(T2RT2Us z)R|fF;58p-)P}Wouv*s{v{;n@Bfxi}&!_!2P7BARbwgPUxhDvYMk#X6==ByTCNz*u z3pmZT{RZUx6+;LLX?8}}Hfdm3odxg!IF}mn1VicZvud5uLS)xI#QR}5m5^Q8lC^_LmjE%O5h-9n5gCo5%k`q_+#)W!+>HZAVVCl0AMcprf1})wrtE5^?j9KeyI* z8B@9@v5Ur-=&_Jk6@KMl@ovC9%ztI;P&@CtBuVflj&tJ*zGaFQK#Aw-Rip!|^gWT9&M?JfS#0G8=3;MDF^RrC&$QtxlJ z=jB8tnScCk3188gIN~3Apo#LYYgdcwinxtEb;}PcbnlPV_IDNW=yRC?wZ>Uz3<1~I zf^9~?EsyWi`jdesETbPi`WEZR2ms^z2xY9RC1!n2!by2AplaJAH&c9%clQN3dC`l@ zMmH`Qp2d1-?t^ho>FtH9SGh4{F==nyYLDIQaBn8QbY7n8w$O#Em+tu}$>;yoox+~s ziFyD2*|QYn0*g-TdvVN7O`PcewnJQysl<1+s3!NQp>Ln<)KctpxaEvx|2}jrK9m9pRR(T6hhAF=vwwHpYsbZ@Afxz9 zsVWsN4X=rjgwJ7M{2$>&W8`Y{Q7^#3p8W_d2S0A4)|!V`hX&Z8+Iy!K^OzN#SYvdK zzgnOR+&xJMdwbzPlNdF|CGEn*M|+j&$9N1?;ms-6K4%fzi8YNgrS>JCKZt$*^*R4| z?9V@XAkONHmeV854et<|UuVuK_eq&+8fX^*6NJ4*QJ0R~EfSn9Zy!LGbnw4EuBfd} z)?J>h=8sY>Rq#8}T{CJ3?p{9XBVrcV+z!rz@s&#g!iYr1i+); z*dYT2?_^2jz}TE#t-gsh{{QjfB9Au{6AO5s#AVcLCy|7npi_!e4SssKN#kzdu=+)I z-3JHnB~Do8FcBd>c%90=pin#qr5t>DQ`z(&_6rH`kF#&=Fm~M6Jz5 z90JTKLN)yVSV85jrIyIq<-Wjhi9D2Sw4ZF+ef^$!+4Fx0Mh=%*yMmFHXA-2sUExsu zR^sItdmJUPaR5^l{i#C=rWOT`6Ni~MzdG0t2Z_gBi+onMb&E6BXu{2ICk>f~$|e$s z=ZO7V57>b{(pqt=r?fcy4ZGWl$<64l{~`oVAcVL=U63TBBNPyV%Sy8NW=fc+wP0d0ryjreaZFU!iw={wSL)R%cEhJtysxEyi6Oho)Ce-aRKE=R}76#L+@9v=E25IOgU zcO9tbQdI4SZ=uWI#8y(z3_-4B7DvBx zVp~Ruc|ZvAsOkd3gD)&?V*V;cLq)vrR(R>(?6Rm0YB~N=C=G zp7R`4sQ+*^|e$Mxl`4=yM!w4%kioG zy-z8gJ(~<&uX(g)g^W6uE$C14v|Gu}I5;QR1BzKf)fznM?d6o>Hb%*u;+hj)DI5Ln z58wYt5jJs5c)7(CuakTsNOgN}onpFrKCd_RHpao%MNk1Gz++5(0KLW)JQ?tCgH6v` zS9RB|&{c<&QM*?C`$w;zI!BrJHUP=9NDyb&B{=zgfKxL=;wZ8*Dgoh_kIEm$!YquQ zl9Ip|MX{;K^B{f*4)5HsZMJ8sVmtESf9eaCv124*wAS`Kx6vVP8lVa~hSISoP8vUK z&>q}T;@lXUd9W1@LgVT~W|1X1ej{z*=33ONd?KczwbQSudp@rYp|1-0HyW@JAke&) z#AH7$7-TmeGfRtBfJr;4SY>5s*UT@lw*#2(^yf600CAEE7O1d9koVD8BaZIu)x0=)$DYKM?*ui;n7RG9{ zD5c^|P>w58ZMxq+2VT5@vKQ#mllefG|W z8iTcF4Czb1wV&byST6*e6&1sFmRlGuUc7iKmdlo@uS2dLNbXUX<(pe?qoSzCT#>Oh z3j;Dn{n;uZi4K>KzS-io#r7iIriBt7r>$<1Qb@%o->^}?REHEcp(9k_3{XLpzLf5P zY%8gkzT|pO4x}I|y9FoGHJS1!iGDJcU+sFT2mhI&!otGITF;XOHnXy#4jUTs(OW*c91#xZ(3@Lu;RFaOz zn%*m@X|iT2FNyAHE5L|hLwbkv*!&M+>G0O54JfU`#NN`%B3vJ z8~Q*Mdi}Q4r#7Uj>+fDM7I%4RS^zY^J|+2Vy|Nmo=Yqs8TPFT8+U$D-=<6lMSDruD z(f^8(C$U|xI41i15v=O?=KFCCuw|obX4@uW}SoGZ9ulBYcW>M#mpcZc|k8?Nw?hmbm(&9M^%obIq(9U;e}wuIh8Z&fnv z%7AN!+jGMLMBOusLrlyEyBPy|No|TueB3)`w_&c@X+wDr;~NkVXXSnQ};{+t-nr#YV_)@m>dGw}K8)4u>?OD{b5y%kP!t`Y-zed5y-?>M`$V*g@V z{>nlBHK?Lc;dTov?8 z5w}F4>kw<@@P@gI%)(CWPS6znvZJs3)tYoqxSz{9Z8gLFc6zEM{)|%#&3MPyh3x&2 zGT_=aN@}B$@>&`k5X2mcIVQ}G8E|26#lx!U?TRBA$bn!H{ZahFfy{OU(O@C6D(Q{R zh~$cDT}N{u4!z{`4nN2;i(6xbs)RchR-Vz_J{nT=K&?o{4? ziQS#8!t6Mc=$$MX%XRV6rEekM?8jWG-VidBjB?v8C~L>~`u@E+6>a{_o7C-XZ?F6v zm4f8nOa(D6+c|RhaA`P`ZZpSqer|5HuM-oK;aYBiuG{OPR#pWg<<^ZuY3tDU+9HNs z?_SunODYh=?n7A4BsqbKH-^#gu$jSapf% zFr_yhX-Rv{gVz^j-#-;H>`f1}nd!XuR9l;ZgM*_ZqSOo)bd_1}%KSoWiZS2gS`QcV zK2}jt(YyUR&|Hn6kP!07$VkP!nHd8^Xl`tgVGre4F+Z{w#U&PSr>guzSlJCwf$cdq1W8J|5-F|%#knWgQZ>GK<%~jt*EiFP2L}T+# zv-Wi}T}eV!NAB_lBW9&5le5Fa7k`@<%4CK^*ck;P4>^0RODf51fE!?M055 z0^!SxZoOH-bMo8ZHiZq>ymbM~!|3pzyyriR!Y9ciNnksYSziZub>V#08nL=2hRUU9 zEC!tk0({P%TDXl;@q92WvSG+ji78E;7jE#|w{O*J`V%rwx3VUyO9yNvc(HA-&Ff=2 z)18>cxOVx1{=5N)%E=8WepJzgE3u4Ep4mzg=@1_THg2h=kEe%<8F1gYuMg^5eg9gI zktSPirF)gbBH>eg{Uo*ogu64>bM6$*<mhuuTMr!^96XWJmG`t< z@gs3n}C|kn_yfv4N7~saZ;nfm)j>Ttue&@CU=@HC@Q$vXI zX%a_771Fn-JGOlFfeG&*YIhsa!9H$u%>e3Ae43Uu-w@F~K9w$$OQFBsTQ%1Ys$F@802@tmDfg2u^0e$;BP%hqh#xs!eVPJQ?dwy~@(i>+(J<~2Yc|MOJCmI za}Wuy5-83!bX)JsRAAQ3l+KV%QLn2oGIUf%26?sG=FLx!b?Gv6=EiTo#33X~`^@cZ zcwP(I64~>K7lo2mc86O2F}!S@ln{{+}SSUbL32Gxx+;oj2Yz*P8mt4^Bk+UZTOl z!IPbdf{qv!L`KA%R>>D;>}&>4yOG_xMNUW8R;Cdj;OECGnO4#Z#OdWr%-xTrrAm(* zIo~uw#8O&iQ@OP^FD5S^a>0h*aXI-@W8?JMqxWZ^(r4P1uq2!1=N-3 zLI2~N(@)nbT(?UsnUG-beQTgSpXd^mP|mI=1jNOCZGD~A=0v^E5nK7Gyj1`(CFjXn zp?*j6YkaEZ1yY!{)0|Da>iT67sC9G59Y@WQgcGi=7oPLwS#vq9rhmVGqGiZXSrd8> zSu(k7lTc+oR^33-eD!fIaQDEC0F3?WJ$nEtf1JMiWt}J2($C@IvNrUvLR*#{adB{h zwHy6kM;VW6NPRnpja|^Lb#jtfuk~}`s+z<{+!8rLM@vs zETy)Bs(kA z4*~i37)Ctlb#jpOIoMu=&F_V;rth);mgF?@A0vXiE*8?hURI7gG95X!gk*3R1X4z z;7dyNa)WCSRmAZ)7O+}mA`RZU)_R=i23SEoQ57zBve#*@$Sd8H!T!_`Yc|AWkO>W6 ztU@hV+~HzSB`Is@aBhEB zAzWck#A5K)IAAWOdgCij9oh67{N=)YT>0su85pD#$c9QudJ~O*h-TiLqYbaNc+#CL zTK;UpXfQ>La2A>ue}SvRaaOZidbN?%J;s<}mNzWFvMQk*y`>ROHGEkpFK_SZt(f^Y zXKcpih^At++QaV-&}XWQ;Vmwe+TNM@WaIkf6L5m2E>v?V#;iuYwIL?dDWPtIGMnzGb zLYHPKfQO{6tAWKzxG$<#yTyb#VC&7z%|U>5xZ0sikE>F%K4knZ&5yf+#RTA0`7S^h|)+WL48aq*%yxOy|3NI<%wUE`BuDV6kmbe?0T{MA# zd4G1~-^5%jN(nqvzKc>Q6BmF_%J0LS-Z|xIRxMxQ!j`w6@0W;koQiajVuXHJfSdDD zXz(u9?74Y|ZDq&BzA*pp#Ekz8{v@3^T&X1wT^#yo}vM`TgDUE87m7fRbd;~+Mi zx4 ztpSs3PxY=0s_Qq+B+ixpLzu`7Fk3F;0$bE%;t#_U)Oo*3`osiq#;) zrJbKPKy9t{UtU{Dix-6Pb22!48o4Icm03D+K~g&_AiW79Q79QuzKgcas0hl;91yAb744sQJt7gup z*Cl7{E?p|YRq*!qzIJm21bo8J#?H<8G&ikV#!IwcczHDgw|>))XmS^EQ87oA0(kq< z^>4Q~%<>GKKd9Pc4zXUzzWMdjrw7I=N*IIdJ2s14r7__&o_5YRt(Bg2sX|Au5cw{G zyfL?0GKS+x3{z}i;FFz^(7#GY-8Yt=I3i*8emzZe;WTci%%m?&gsj!SA)K!0)7%*9 zQZAwLohN~YpPV_1*p~~eZp-S-a5(coRtkfcGGv`U&5;YceVSc=nD8pc(8M|hJh!(e zp(ai}uOuuBxC*IH19K?Z&DN@M>rRs*ogW*<$r>7!lfE~+RLqS57YQH< z6%D3TIXP&==C;EP4~ zc2U;6Pt61D;6n+!JC4DmyU&ngj_P_bp}R7XaL=usf?*I zLAurZ5cpNaTO*>@Pzk(*^S_bB*VD$CGVY400lClC+pO@M9#%{N4b%QJKD?wY~P6;h{Waocx#{O z@|Ro^t9iSM|Hs}}hDEiu;cgK`L{vmN6$z!K8$?7Tm6TLKX%LVc!m&X@LFp6$Y3Uq5 zX^`$lQexl$FqT5mkh{nY)uOJf@k^x7JSqP0hoR#tx% z7@M&z4kOc!Jnb-?A4FX3?zfeek)edE5C}{bTS(QeDQY>4nNzx0^<>6*lW|?X9>_Y? z>Yt*Wrx?h3%fPLQ&()f;-Tr|W%w4*ztE+9hY{I~9flTlzf-vp0c!jXKdX7?7 zmpX(nhXxiBWOiOnwIz_|&*7{Z7kNPG1{W8|q4AbMB3_i~H5Ww-xwyDA29$_Wn{Y5& zSfuOs?V4Ig_2H`u3kLxeZc!=WRZi8ovz8}j%;Ab|mO5Gc@X%rKmS(>E)NOmH4p8d8 z`zWw}Ya67DLO{@do`Hc}yiKLb-lL+bN^71AynhLwq;jbB{vBZ0QY`buFJ7$MNK4fz z$kc6$a^I4jXo|Al9iaCUF({^si6*5LKnV0>>c#O#spR#}M$PTU_SZIEii?arcjxT* z7?hMn);Rp9hKU0W+ci%8wpRy;IwjyR1=}>~D)(pW(VI`O4hU&2>68Ps>?40kWBl}2 za7YwzShJXbcTk$eWZ!qBH-ccN7oTSa4{2j#!_Fb)>gt-NQfPU2M~IYQN3Y1CflOQJ zVOPL#PGpwGy?gOr!Ua_v<_9fBMtmiTESrltXU62wY1qA%QWYTQ<4?k-H70axAS86_ zG+f_fx5Fjb@)|!qy%g9xM%)ur9|vPUnGz@$+4hv2DeF0vpT%pjzTT!J&Q`iTFdy#L zpWn2$tch^3cb-Yj^L8^Sn8itw@u6U_?9IOLF_1eUf>fXeUHZvk7m0}e3^pmDbH=qU zh-2O&1ncnFJ$G@FHtEGY`NEIzHK6`=?TIROZqEg^wo_7ALquV@v;75a%-Y>Sqyh-# z{cWHj>~?VoOc4bGw?XddLb&wa=b@qnsxsTDoz=`0PpnN#B*TGK)m#WpT zeJAQiJaHpWye)MwYWyn<^>xjL98;+J>Duqb8}Je4+mz94@<+SYRPAIEIQx#cBO|_9 zSQE_RTpP$y&xPMH#;R;=ZzMm?VHPb4l9D9sI?N!Y5}WhDk4E&$;hwn?9lY$m!I?BY z3xq{^sh06 zxpi)ou`w1Bz}s7p>%6rh{JE!I?>1r&EDetWi%!*H*9jpG$lz?|n0M7>-mOn@_0>BL zmC2kzoSAd1S-d+_5GY!8+2W`**u0jk+2CYL1rMM>w(9s|##$zO?f zoA>%j{~BQYw?hM7=@R{Cu9h{bNb#cs$TeX1rq?~eBf6p#o~!c|?`4r;`s6w}#~g4* zm>v?D- z?|97==6=rp;?AUg&Bhf&o?qcYJd8S;Pd^6x`WXijt8tJ^t4g7M$~547xhO%AdA(9% zJ3`oTEY?rVzaflY+ffbD0D^uu;_)YI;R*MOvN-w{(tW8vz}G;QrtZCLz!j-_mmcBO zehnp)Jjbm(yz*8dbEVAAc6`E=-%lt1>sDn$KrXL7 zYk#@OkIVxw!!M4)9dh>$#{kLc+uEP0HkX$_Y#mTcAQyKpR!!C7?K*Re(xmCjmp349T{kyS zlsZZruVgG@&klmlH!CX-M%O-vTUby^G+7_l_JGCQMwauL4Ca_?IDdUgdY+lNCd5?G z&5s4X2K>>NX^G=z|6!#ch#Ffx(75ef?Mr>hZR>%#tYhh!PYxa@$v7o=#^&pCKt%>v zU9Z*GAieS3eZE`wCIgki3^(g5D~@eS;s$5=<;r)a>4wd3^&QEJjg9r0Ke8(?0K02s zR0FCRW1tM&DPtRX&1z!(F`x1ok9uq`5C*z=UfWz6C(v*^^hmFey-+OByg6EO2_%dJ z;RK@I6{Q+~)5o$3k^>^|}o`SiYhIE0Y5`WCWdhx531 zCmfZ`%#!4TIVJu5{k{9HzhOQLu=w@8hEPG#6(GNNr`r?XeZ7O|Cp6K|vx;E7m08g% z)fTTX4r)$;3k&xXwp()|g&osWKPXF1ccpU>Q1YG8ogW^)JwpaeEWbtfZEPf)Mnfp? zcmw~?o0^(y2{7AB0C(sMy7w(V@Kvch+I8U*uI;zxv#~l*;?yA>_&##x zUmEt-@pfbxe>Lj7czEb-y-!#dSA8NFkg;x)!`xBun7snwsr#UCQ&evxf`NNqY**y_ zH7JxPvRRH(HNhdlP||*`8W_b1KlPCyTO(Orp~{Dn3HTzmBc_A|lpag9OquSxE;GBn zpR1(tvaNfwWhWZKj8pHx&Sh{nn5DazEe5h_d*3$(30ROO^?WwU7GnjI)YW)gn-;z_ zH;ad)P>kR)_3uZ(x`NH_Jo=P-X9`pqYe5;e`9A-_hgV=&Bod#Rvh^UAix-QIbDtvM9Fu%6*RzvUg&A97=<6kZO zr14byN-QKPXF%=@1klxqG;I7m&%Ufq3Mwh&^&3<6cmA;pvexgxrYd%|HNA+`vhLYl z(+j`d2~a|5of#c zR)TTQe82aKPa7jy%exQOoge?jegd+py&Yv!adJW43r3AZ4b(X5FHf6@d!UMKu4hF? zTNR)do{L`t0YrpYoVHZ{eDSjHc_t?9>W`%AdB`jfL{(itx?~n`cY)%e&v5a$Z8aV; zw^3*>7N%_T+YU=(wYFO;rsnv%g%4iC5910^MhI zV_NI+b2sY8r%|1g7UJ~2Yx$PZx>5EFw^Ny3&qTHd(P*;6n!+}Bl~p|=WNrW(wJ+_Q8z?(Zhvz-niQ=zqf24 z9pF4IweJX^0rx2)0;45Xq}}#buUUl`9`#kT)jjm%4LM6~=EGcfO5}&j0nv~!*Z%J( z@J`t7Bfa*YSEoC;vHB@)Hq5sYHLV&UdCfaDt=rmi0MeVU_q@aI&C1O5Ch7$#%6qAC z3EAdRF0C$-K}QUEYqkLbXX)Z|b4WuSWugc4KJp6*^$HN`Dw%V9 z>n(Cjmk;ApXurWB!_*H&(s?K|A&{v61$AjjHu6&7b|MH%a>7ee5B0}LJ--gsKSa~r zn)ZB_U1w0U^dV}le{&(gnk`5B<88P_e?C{28;G>cGk`phbDXGg?kz^#Ln7xv4!eHg zYx%N>cDqCl;yy^9J^z?jO}%Oc%3ZK4>#1q_l0hZkh6fyn-hTNaKdNruZX5=5+t?#` z71}b(ermYG?#`5BFG$;3YJM}8(O>#_x1OY@#I0yCYp28yKXY<@Z#9PnF+6Tjjp$SK z>(+(JS{-D{FPNM$XK|bYrwK$y3}Cz<5NYgryYz;n4$ZkOQt$O=`#*~{+WqhT{O|5z z7e7Qu6e$*hl{Jj;W$^0HneeI?|MS&IkhPMp$S<@B!Uh6_89> zmIUUghNocS0TUgO4<=uE@4IQWg=NiFMo+Tgd@-|@rPRZ+U zFVxe->UMu|r$K2!QAbIc1`q&LlhxURq^@3lmZDQ|6Nq;Z%Xyt<&mL)l>^|YUx|D5Y z`Oj=t-WN-wGZjyObW$6W>`V*MToze|xbON``{MRa0AX9N)5#X}7NuC82L-FFfKLMPbExycVC;7T*>x`t zxo=yh=}{rufRU?*Ok{gz_#aWrlH6EGEhQ=B*10E8$^604crg!M+MVrG?YxOC=OA`n zZ{7}3V^{&ba_Su$H$utAAiS}zgt<7t(eW%XjGR%M zlW|}@oY#<$Mg02tsefdoRfPLgYusHBEuWAY03?H6uq23Rp%XejYo9k@FvS zP-ovq(e6gpZ9Y0wzq_UTA!_-N9xLGj`jz3MAKSO_LgI2SJ88U-jWnYO5 z89are-KLc*^n06pN)w32VRO+Cf*(*U#&mzSb$zLJuzI``iQd6y&^O84OWu?;9}_(Q zt@qJjm>Vk>zV_Nr_@6YMJ3k zF8XLc-HE+u3feQ69^_kBE{hw?P>S;zZsvn)K0(@Tr#XWUS$4ynL8b( zz3$W)bW)ST97HI`Dfzy1+pV#KlvbJ#ssL2hSJz&=IO^%+L%f?j*M)$sPb9`QiR`Yl z0czB`s}d#u==LXSl#s_RO<#!{jGfOuyLe?7a9x5x;gw{g>6qK0rzI~wueHuw49NI) z#+Shhew+^mxOj{oS7%vo**HDvtFo(>fRc3u6Z%l5Xn>2#aDVq4K&3J3`@5ll4^=jb zWt?UeptQCUkge@WlRkbOuFiX;24Xsb&bc&^D#R}VLJIJi5Vx}KT{XF-)YQmvJe=rC zc{*^){l9(t<{ANli7qS(El^F%FxlwskUKm;VN`-fZ7&m4X;pOu_<@KqgsDAJUsv>k z-r@Yfk4eIZkbU*4x~JV+SRvrY5;m zo|-g}R7h~`6HAVnEU=sOn$tDrAQ*E*_I7l41=hF09RNEaDL<0gdj5$M43Rwlf{=bG zd@OQV&k;L`ZFH(0=U!7J8-&jIq)l_b z2Pi1R>}cSC)$MF9Q_uMTR-0^;nAi_ z9QP%s*EVgcP9c1!r1pWS=G2|_lZ|_gQ2RUl(=FQwf%XX0V6H~1E8Xd8zV9xnK|l*x zx1+kC(oHI02MYN)$_@^>v%NWTV%xLa1x||w@SN2nq6pXFGWbmp!6(e+^}hiuZMh)! zx1j7XPARW`lHlI@+<-Pnke>rtaL#A<9YOtk2f(Xg!snXCMqOR|NKiVy5gAaFlNO03 z4%IRM1(`<5OHC<&apF;JH0!J1xEJkfMZ zgq>Yc&vj8+R$l%M#JBVqpOV;?Iw^X-NgQ3g1MX6Vs!dlScxwLemee{(hHUm0uqa2^ zd3Y>Vk^-`Msle)KeBCUFCDz{2@{*9%un#}mkCI=pE|84{B0W)w1fxAP#%4=$aF)l` z9~bR#b94JNdCeKZG=RJ9O{#om#UB^8JGLG%+Kw9#wzpH!HCUy(Tk0i3BG=gm1=Pnf z`UNFAGHsSDmO0*E52>1?3e4Ew(;~hn!Y3!>=z zYYzKFv%LuCrxXx6I;g@c<4bkn&Ye5{fQt^Y$$W~J{rvp+Kc~59*+R7;splsESwq{? z+xtOpWdz(o?gmm8*4E~`%Cia;b53bXeO60SeZ4(bqy&Y4Pcrb24GV>OA2H(4$-n)i zeI41yR9jp7?D;c=)h8~ZtHof`Z^m54F?=EYlEj&(Inoa0Qnv;LrknaDu02NwX7GB2 z^a-eEWWU-^x7(P`0d{C6u*aikR#-IBG;gg`;!s>m(=RP4x7T11ozh+R6-!qS3a5&7;)yx^OdXIo(N+*jIzniJI|oapZa5LZ{^D<`C<8;5j~W z<`c}#plV<_8h3`m1pW0nt#|1(O~z~=C=8G>mCZOR+!4>}En+I6?Vn0N0$ZPZYd_QJ z8JQiq9Ea;e!RrrtDJZw!N6W1TMy^>EXysY40fraH!uU}fpZa-BI{rS^5Dofeiuh*J zXVKYD3DfG|&NcDqGmc*`TzkZEGPj}`V}XYu3+xIHq4{BfOBg}%zy4?rt-Ripd8#Lh zmfMX2!NGe@YfHzP2UDK@se11z|3h-DO`P6_4@v~sSkh%g92N_XVLKqvE5@%sJ;c{6 z21qH+!*E>JL}`~F!CkcG(Qvswwq)Ou=>S}KrJD1XqgmjEpCm7HZu{>&XqXZV(#??i z+m9S8+<<9eJmyX&+nqF}#v+Y!SzC{Y46zDi!wQe=_&cC zX6@x_l%U$vxWGuky@VN}Ia0z^n3t&_b z(GK40P?RV;wIPVoy#;%a(qy*sJ>m6y+ronf(}VHXAueM*SLv()S@&yINS>(K)kv?C zwe$o`vJEe`T{Fc)F!?}3 zcnm0SfSuzIGjEXpp^FQq@a3s(qbZaz!&I+(6fz68TYBAZ3ysX$ZNc=hA80tGL7%st zs$`_hum@-xm>j?Z6Iq_BsjEAk0|JQRCr_T#0FJ^q2*=-o#5ARNS2EzxUjljt9Ql_p zuS>`FM6{cDW3IxZew_(5ktNho#}~j9#uhj|KDXLKV~W{rFFzp0BUznaFqKqNs9yqw zKnn`K$?P?TrQS$;x?;g8Nuf43l_lExOXGhEjbBqRQi?7Q+`L%$kwg(pjDeh-{E}ra zkKp~`hvkPrP01p>Q7>MeeErPbGkbeh!*G9Pgny|aBX3M+ize!=r;m#&s(Y3Q>ZSP4 zAqPQ2&Kdl&*Q!-|3ey3T0JGFymfqBTjHZXUOH*Q|Cw@iqG{7nsy{kkV6#zY*kzLQA z;c~g0+YT4BGXl}D18#djU$r+mJr@_(+=UwEJ&d|doF5p%I^(-*-2?J}O34p=ofT*- zc{&nc?*;cJ#Ow}a@a0e_x8aXJ>|DNG-xHF#v~VqIPHjkYqX>q&02L2zQb3v%mrQlqns`b(zU z&h2Hz7N%(SSH~*>TG4{JFBCtPtMo@XeP>vrAoTTc+iumH`SYNYmA@dtfIn(3VB$cC zz|4I=O*#n)vHiK`x&A?$iL}GGCu%?foymHn%>u52W$x?y+GkP4O)u_>^2Z11X#LjIL61$>bRG=f z;UK%ZAK+q;z5u5)YNyE6V`Ls`F>Y#m;7QJgpj24g6f@ngu+ud+(qIN&O4!U##V*cM z!GUUuITkm4EziZ{H6JhTrVoeDFZTES=lGO$a2(Dz27yxcS4tcHilTUcuBUenp~w z%qv;|k4o_t8>J#ju2E-TnzYRqwC3&_OkVeS5$N8+p|C%*iy+VFhFLrJ3m6AtXk}0! zDM&=qxVSyBxyRZi9@9~bS+@V#{-68x^VPmK;VPnezFdjg926=>+)aoy7GvA2rR&!JT*30Sebqyk!z zy3)7eZ((Lc2SCPQ4V*pv{pQ$D%6f+eUqvY?trZnyCkkE@s`h5=o^xc8DgVp;f8kdY zU9{wy!lKGunGshH6MhZ9^)7N21cl;KQHd!T1}Z)RtJD~|w-E4$gaX0EH%o+;GIbiR zEffjnBymXyb-AmVUCCZ48vOHHn1#d4;sAlwClUzC)#i(E)(1!DjG3nrcPjzZ+9_G& z@l0OQgsze+@ObWjIOxYkOHR8ZYP^ohf72sVZ3VYLH@%UZ4=M z(DqI3m4E%V1#m>5{`VRRUsMF+wtwKJbZM?a?gtb!Al#cm+5Y-#N^O|6eJBdtxmoJfF5y%ezF%k716pUP z5F0)rcL&s2c=EGXOjjbaeP~8n3B=2k4B=*8XLm0RAXb=%e{)=?Hsu+-5+GeTdL+|D{rpu zIGo_|-Pa$`pcAo+8O$LL=-io1(12PH5HX%-=W{&y0@94&Z7%Qg>jfXp+=Wk4{0d$A zFH#i!0c$GH-v~CM)8pWfrh|B^+5WY7&Go+WhZQRxX`xP<@f;dvOgHY);IqJ&J$}~= zgRxyWAQ!-B?pHF`m5`%-N*nY@Tbi8+6dD(H9(emp{I|adIj7w4gXw!cuQy)L%In-# zm-XvtQR#v4x@cSsvKr2yIKDrU4KK*#-NM_#+(6}f>sh)7B~zYNLfFlw0BPvt3}ADv zCsS}-^NhZ&6lkz_BHphfK3J^cbN2yi0=kg0!+G{s;EWHwsZSBo<=}uO5EWeC{`U31 zG9OXU(Hw2{QkWXjFdjUa9B*kgga2;RCPO6I;0jl{)VVltP?oK}&m@D;ySG!T|2Ie0 zJS@UF-Re-AJ}DNcJ4qs2g-o8K8DtsF0ZJy)I!x_(+;8o=8|HKaz#cvghQ;PQy=S2w zcHyisumzxDvup+6AfGOnjmBXYvu(GIsMjRmXW`XRM}m3*jD}*w@fVQUNr!IKA#_#{ zow(zIYI`W)Gk~R@p(?tmPrz7%=-7hwzuHInhaA9KuUD$YFk$pm0Xoyn)oxY^I>#lx zgC|y5SsBmt2J(Wb9{4%kQSa^Fj@j*hp>Wa4P(%lMQJRdDT8;f9-13wSH>RZ^oED|r zk$d#`vRjTc#&bG^Ey4~&e6->W=1Cr>1nlg?QiM^Z;~R0SsOB^|(W}oocm^lBQ>KYd ztCT#JYqI6upVhCgRphA`N(1M%Ib7KRLe_R@dqy&U?ckbEY*%o1Y(l^8eT^*c#l_j4al2|>6;#v8eZ zgYbtWHN|!ckoVj}Ce9E&c?F>k8V5%z<}0dD#SQ=97n%V(v=D?4uM0n z-jXJTX=mC_9fA5-d3>iC)>UWkS=l7*Pw1Cr9{Ww%V*L!{f(e4YW`Keu%63`&A>ALu zfXnY82Ry<<;u?(m&i0wBAQNz>-3fCJyVu(?_!!6CT~Cjif)&w9gTXi{mg})~XgLt< zUVu_Kb#J^ck}TiDWTi09vCRM zt)kB;C45Fs%QrRovTriV09vYbDTdWlOefA3Y=IJ zVOFY>GSOg!G4k-w03tY2sG9b+MU-(wg&iy5Qz_+e!q!T%Rb6Uf-c|#@r z^WmEaon-^#vL~1uVEnIt8X{l--xqUB4=-K{2+!YnyvQ`V)?rY6>b&IAZG?EOls)=< z%%`}Q13Mv{m=#mj1g^rWhG1oHj74qI&AiK`i7F*oz}dg? zj=uMd`AJ61t5<$u8-HAa?FDL^Cj{NbNd+ScWfgUMn7b}}+kipXt6-obYef*V5ZvkeL`r#Fs2EM&MM1SKhg{2gCQZg4JC0fWUzftbvhgq`AEHi<0ReV!HfX>b%2HWyJXF^XH4F&Zu6#7?{LD{Mqom zYa&?-(I9>KJBCXlTA)GZTEWL@=qJyhgd+R6B4uo@CnKbxuW1 zB?LK##-)+*r3Mw?1Mo*rSgaXosd{LAkG!OFd5d^fF^_^90BRSao0XU7$GKL29I`%k zURRi|G(3c{@AQOAme0d9T@dru1*Vu`_tn2iVU3eoRbse6ttI(cs$MSf)zWE_(`WB| z8b8mPp8`~k9-s%qc>$fva!=&$E6d`s-?(`l`ze_R&lTG9l7}p-#xM{5t8n~{IF-3! z_4r#psh__$#E0rH2)p2z$vwU{aJ;rK*2C)BM8u5kOe1fBJ(I50fMP&co(cm!i<*^@ z?rX|hL1R}tr3)gRZ}8N(vn@XY=Y@@y93j6DBmt5Ltr=_eH-Wu2`g1fQfG{;sUUqyR zw#Lph^BY(R3QOgNM_d4Y_TzsoN|2kui1*~_n}8EJSE2KTKz58RAn7K?FrJclC?O2n zHy;a+9+up(GyiPSN zgXY8FeS5ubCR`>sdtdQNC>wkq2NivQJ&;<&zTNrDy0Y&_9d(k3cCW;Z(_K*p4y^1+ z@5Wbu-lP#KW~h5@@2~Yq{P2Q8wOl4wX5rJ~OZOR`{a?g#;C!aub}ClOSp7G^eLU>w z{{@q3Kea#)@WMS?GaHkfsgxRa>6C_&iW>p0yZ0A^d9wCZb$?KQBY*q5BN2TRORbLQ zbtf+_g-6{Jb@tEKL@*Bk)h{dX%sG;~m^X_`l=)!Eu)DJrHM04;$=3G^T$K9Phz{O* zPlmOwKEnYTAzoFzrN#5c;{v&Z4UgFYyf?acLzrjtp0&SGt*R5jy>^)n?{T#JiSDDv z9vvTfa@%}c?&Uyg9&t-a9?X8IulJo>*c^$rN0^nw73@Qw4mFcV-s6$DcJ%DoWs#F= zvJGlzAtp0=@p7>QMKz@E>TFJK45t~k#o5mJ>P%|! zx^L|775;L=gJ(M2fivOb=ExenP@*aDb@zszI@}9d%b>`^G;#`VtGLd3%^4YGb`>2aiej;IjNETdpyVH$u1(o ztk+@r+m6fAnwdynC#&s<46FIr!xoOYKlU1P&Hh(^{( z-cxxdN_!W>C0U|l+?oRitMI-r68sb0$C=?I&D_y6&D>q~p?)#4V^)4Yzw=L}2YwuH zti;o8Fn`%#uzT4+e&7yyolesJ4W1q~G2ysU56ExdhcEFAXD!dlYtnH?AaH&|mUU>e z?c4O+mj$c$ivP5Z|2h3vyzr$=ui(Cgv|!=2SpnNwL9SvK+s<4%{k`V^vL;wpQaIz2 zy^Vck5BE(AbhZE~E z?~Wqc7e3n_0TU0#_Z9i4yZINHZf?R-c~*M%o{zgZ72lSn&BnJjH+-0QSNRg=IoWt7 zCQ91UV;B*=7E%UZi^#awly1-v`P={*`J6XDAw{h9?5{j-@0yhyi8Q!d)dv;Bi4ScC z6Ce1io6i!sMLb&F7lBLXqhmy+D*Z2Fw3Yyije6T)U{J=TpoX683l9?DHw3Z*kMI1cBL2|6PZ*uS z%uNCh+ksk#xGyxYD)(@`0jw>v+x@mPs-v?<^-+(49t%arjhXHraCc&$=jl5nOqg*y ziNYTviwvxnx4QfMVV2%*sg#BuGx6O+g@P1-x~yNo#r`h@qD`Y5WHcdDZY-q)oJ?F_p;> zIc}drT3R|NB6KZZhb1Hz z(H9m8#}*Z_6vhhMoH+6?0PC?ffU9>YDI#@s7vB}9T)J5I?25Frnrfhi%w1=N;}_C> z&Jx?-P`g3eL0tYWDO1es;&Yj~z7F$?GFOqWUf<9V6q-(|ssK9Am3?uYA}Fd_dVl}u z>H*GW>4+9!%=7+?|MdsDN^mO`9je5A9s4DSz`($NUi^Dhzb@Io*Xs9L{i)8sb?{G< z_74d58?XL_;{2AY-*ScVfqz?^f1x%#DRt$wf7zT*5w(O(ya-)r@It@ah? z|1}gP$>x&4Z~^|a(79i@IpD+pFLesU@$tdVo-;6QzA99wLQ8ic11R%LtMsi2beC|S z$es5L^zAqI$adh7)}Dla`)20ro7VYl*6L;2T;sR7xw>Ynxa)trip+Y^Q2D(6V(dGM zYpQ`=6|cN{KO~V+sDXlcyzP~Cbzkqov$3&hNoSv_`S@%l;oZ;|<+|D~?@QRBvOKE$ zUGwN>u#gcA8R_;?v*w#f!N<9&E$zAVCvwLd$!C2hd=Y>Fz+pQ{Xghh_c2u}f>s?ln zXknpnICsq!0iDO+WsK=E%3|z}5Z}0=PW*Pfmcjv-CEqq9%BDR;ZP45?c zYy(Ck=FxcDX>|;cCKx9PZRI~c z99Ft*)X*L*G*SV$P6}LZW3`(>FTbzPit25^q@rK1i{S45IA7b{ml>0w;U3-(3WU@bVy;7Wth#UJXnmSf>XT;%T9I6MhhHqVd!{doR> z16?MO@!pJ;nmi6@ge^JTiKmVNde;UcL>*)8Ta48#8LiF$R5D4{J2MB2M;4-bUYOtu zCt9vT2s0iJi{kkr0O>B-A6VL9ffboZaj$V<52~3pF}^<>jPMV*6@rcP?#3dQBcM`R z&lVXjEsVlog3Af2fM#_azfIe8oT4kpsz@{voD^>%{;@bOkP94Y|9AH*qdOI>S<2~4 z_F>3hjRmKesUPdz( z8EJ*_7atN+{2)Tv`*(a7>&@Q*M12#acJIZlM7Vv9mGE3@2wDKA)pIvB%uv7n*$#Rx-F*55k>RH&FGqv% z=KTPFdYgq{26_-6$wBN_I?@I4~-d;*?$;sMcJBh#U1L))> zHgiF0k%LPEPA>Hd5LUJ33G?^{Gw;o#+L0YX?e15{O^us!z`8`Oc zmL)3N$V@i4?+30f`a>M71J{eMz6~Tq&hVquc?tJ;cnm(5$!ut0V zcQS9Rhyi3qg0tnUSiX=0jVqS}jSgYoNmf53ZeV3eppVp;+xZd<8f*rtm{Q+t1Z_~6QbySp>o!er**bP@mf|; z#saLCi*zF0SUcz3&Uel^GZ)4dX^=#Tqdp7REL9sil!qWL zmC8a;AI%9T7M_2}#P22?XiZ{BltJMx7+jJBb)bJmSnsHoS4p@Y6U5}a_33JB((E7l7cdhZ6v?g(pyTuHAX zWeK65^~OD5w{I>L*qwZPl6HA5n0Gpr%X~%q9c!Ij$uqnItWhidD_BjjOVi;Dv-QJ^ zBXjx{&)k#(MG7v^E56`YC=gK$-f8h~vb+op+Q|*BZ@uN`Q)Y zNG3{uq=i7=Pqbm?dX=iKpvVN@4$#RE;Qz%K*@eCMD?t6}BhkUIAo%ps6$g^(bf;Qr zRARf)-_iiMcLL5@;2u#Ba{D)!zbhdGJX`)ohFjwjeT_~g1LBqRGwGhWjgJ{Z?129w zVAc-}3&( zB@ij_pz*eK{WE_FHMRE23vDMNxXH9Sl)>;?w*l!CHk4n@0!c7#mpdDc*18{H-S&=d z+KNZxSLstNSL>5K_Yp%>FNa`8{=ajPxV?ZkCZ^z4n@d}f)o10?>03o}xLwuPo4;wJ z-l^WZ=_+8_`b}~}Z8Jx*BxE$?zQHI$MW|3Ud_IG!!o5*#}fF_3NMOVgsNA7<= zkhx+dI}FjvTK+{XAw`L})zydP<~zaF+(*}#X11mPXDdSlo?=t-;#7$SSN5KivZelYJ#*=82S z_EnS14ao1X$E-uwRe>t&O|Jlk_bF~E>qt$;@TkqQRzn3#~TCJdIUp44e2 ze|hxD1=^Pd1jg$oG@lMYcx*31%|fK_#%lbG!DeF=2@z^L81nG*XxF+RC)kC@4;tig zRXFf{NlGsRJ1^6@3|LY2MblvH8-2NG@;a#tPNjao)xF#Gq=* z1lMy_1QFURB3K8Y_|Z4lZ`+M>FIH4pSB_Ga^u%89i*S-H9$hH)>F3A&uG(}4p#N&4 z2RuN@x*$=8s#MsRGZ7U`(?EaFj!Rs?&ZX5vfxrxK=%tmMSMu>kyvxyijK_rwzX@Uo zDuU5ZvA&F)Dj`K11G$=i>6;Ebngsc6)o`9wFAzK5_=l0N1WFk8!$T zdP?|28uLYW&@3Tfzm+ih#?(VkwV3W8sdZy}wY{?PyldA^q!<-yVlklAz7#O+=i^AT z7#BQnU;W17BLEVw)F4m62d3`M#m6tE+fD)+Au1Bv#HayYzXUGd1+x>92TARg*6{09 z^y!o7MT`#o;OeOi`>fFv`VuNg96vZoijo4WVpsmi*u<=lMEsV`U6Gv4sz-))hhoj* ztHX?4`4l7965oyB9JpB4@VU9hjgCSzWvSM74!Dz^s*rW)R>ERhkA{qW<;Nf2r(?lN zjZj!@Bi5)Ir9`EEc=KG%2QqrgD`>*IcZsDN&K_VVA4+)Oixi?}fcb%GbrQd=vjNzU zWvowKo>WCj%<;hq09IumG4Un@B;vOgdqDE3Xm}$=iee;{TRh66=AaA(9p@=*p+c?E zPdOUZ99=t7*^V@f`-M^$r$;Qg z)4lS(hGOv;0@wane>sD>MX}W?g8=J z2?%y38xf32uG+90?m(QbMM-EItMnsw+7@RNx`^NQo3@Duh#PZeC&d6+I7p6KS(`hZ z={y>TQ62ghFE%_S8l;_%gekOd=dQimIY!XhtoK2aaMVs=){z7K5|V)XD~kbQr#&8Y zqd{1obI;p0iPqY6e7${j%Q7deD$CO zAg3y6bL615AhH)g5*uL}D76Rnj%TtF%Zu?%fFnyJb_B)NM%36_Q{C=iTBF?Mr z>lsi6^U*yK=iY>o@E$Z-f%WtI2Z1`>LN7>H!A7cCP?y}Zro{2z30bU6Ee^(_=&yDt z?#+26uq<-I-lorv)&~eIhlwY@JZcmq5PHwXg3Uh2Q7F58=G&|p1pg0qyYPEa?SxEK zFuy|fs*}QnVBY$WD~&hj&CqA%ryb;ezE>#hbQ52a!_{!%$xtY$t>8Mi5%2!B;Se_d z>H!W{p%dB2Yw|bsMbEN}ZEXdMPJH?C-DrMnD9H0@jLxt(ADMct?$Z#(4Yl19Rg+!Y zN9~_{C_4)W34^*Q?(Vi?J}z0c%8y{io1+}^REEPWKso2XMl64Un$!P;t0Q}b(7rLKW zSDcJ0eHXoHi)+*vww(?l%#44KlT#bk@J`=do315sKj|=Q<`?4;GCNYm_7ju%UR)a| zA@m#e&A01`0%o~1#OWExSqq?RtSdZK#3BW%Bo6Xnu=TWuW9-pq#NEGooT*p|B#-iO zY(SYwazXeLoq#2-yIA0KAK7&*bRt|3&94}S3VCDz0nFc{H8_(XvVQ}azr3k*Rl`xn zARfvpKnUVlO}X(Li1f>RdXRe@onWASF)r-xFW|CO6ELzvUrG)-h0ptPz54rG16?!1 z0vTWmN7f>dTs}5gl2e5EOvU12`NJ@9cd+U3$fNx`v$zI}o!Y0BxbAfCeK=fs7kDzxZ|uFcwo4 zub~7+@nnrTkstrT!~To|(mEq+cWI#wl&2CgZ`U4qjBo7;3SORu$Ik=gJNq5ICMxIs zK!rh`%3Ns<@_=rQs-#;7JMq;0nceEX>}HMO+E;pv+;(5K^Nk7 z&bzT%xvY(JcV%+f=*+dX4hf7C{aCO=Si4LM%TZ_%tHP=HM@0E!{&FMU+>OivbB>3= zD;4~b(@TUXC@Jwn4Z*91Y$}O0uGrh#OWK%{_xJWvbm_q?S@nuH)Ko$RYz$n#;_HLg zqg-7v?KN#=!?h_V;IG(SA3}#RM(xfT8=`hL-KOtll#pJtP4DdLss_illY>`8&TM0= zWRH}%ZI9IJqiijDG8ydW1uq!*Uq6H;JC~S(*4F()=HBxp!+UZ}Hdxs1EFX<({Wp5M zO4dSYM0e3CAHM^vggTCU&Km6~6N^}wz^;vypSK*zAj#-+>bF1S|2$!L=Za2$_68yY zRP1D*O;(4CZksPokb8tU6~hly=@t25PoE(#;XvI;Cx4JU9`VP?tIB@O#NbOld)Q41 z_E~uNX~cSkBZ>YQWCSjew0B|z@w_O&DZ%ONE29LEt%ajVnR8=yD~Oc5m0U-NZrr+c ztDTX?edFuKT3)H{eT&YpF@K(sz;`i-)KoSar(t-on48O&5N@W|cKYLi%pn?N?_&^} z1#r@!F};pv_YZTjq3Uvrk=zS&mxNt-;pf*?JJG2$$2&BtAE*@+6$$fM4^sJwqnyI+ z8U;gkhvQ3>*(MzOyXs$}XYf|%JUBY_rC{@&m9x;iU%A2imk|&`hxX<&^?v!7w7B@y z(8>>ZP_jIOQ2bLISq4?)93u-j!6k^n<{b}Obzb)GSlqVIxHreYb!(#^U_oWFJht6y zvu1h`Cas`jdhzR1@da0o*MZh1N);=!xqTx=FF6!>`1noMg1JZCmaSj($B>djw*=>@ zbU$0mFs!ap)6gX*ARxf8=IhG7zq{HsNtuR^$Q(Q$^qw$}sUc3V54>Nb(uaRA*xHC~ zjItgkoOjuLcWDvis4fcJ9|`DBrszFOMm31x0-Wp+mTfar8niposC$=57RSF|Hyd&H9|@&$N_ZZ)xnPE5=$aa~)$kd1zF@6PtRaSRg*oK%tL zpbpg&;TA_{h4L?!l&-XD=B>9}!8-|>!%x!M$$T*tU}Jq42xs7n7?HC3r@>m zNBB`w08688GDBpB(Y~JD+t(KEHD;avQVib2qVyGD< z^j1H6vntaOR!AHU+}6&=p`FpP>%5d!%`6c>w#trs*^7CSE=8~g&^899=yziXCq zD=U7uJB7cN!L))czJRA|EX%AT$yKVo?k$VQd{PWzSX*A=2)6$Ym8priYR!3t*7h7Nab{ZfvuNAw?Cc8B^?suD0Y`lvep;d7dE-g6e$dSw-|g!i z6GNrqhvOEyng>gHvxUBIu57e$N#2;h)4loz&w!GZVBwJuHj_*=)^y;%dKVY^*Mvu_ zjM=Yw+kUAyS%o_>bcXQm548My6A`_RJ*Vm5ERwOP?Ma%y@r`n1LpF$!Mw|@S%*4Yd zNxWccXmo8-EOMhnV0i&el+d)5Tro-j0Qe911H3bR&5?bTPf7L2CL>{1pD62i_4M6V zJ6@X`F|X9Q#47n;?Y|r*2VM?EoHyX0jS3SjDl9}jRF#6oI0i4?I(2Qy?tRRzGD84Q zD#=!4z*E>2Uj);uvB9_WGXg12&0=`jcob5ncBa@Rzb0YAhG3Oj8^Xtfr0H95bI{1~!?A{5P5IYznZ z8+hk6?zk2&zwo#wGKjJG5?a_+`Cp&qgLh`N`Trlv-ZHAnw(9~_S{jjVK|ty5Zb3q& zTT(*6O-h55bT=pG{yo9<5OPT4e^3-x*4_x;BCan2714jBWs*L|(E=A3J;dnu-P zTx{A+nRGQb&~pXJe*_)8D8W<4R`z24A5Y?S9-5`tbuiqV(wJ$NIqOk(X|{{^=f{=_ z%cW7AjJcXdU97`A`uWzsOA+WkGBFXl{9H}5?Lw~GUEim3%~S%GSzQsWbaZs6zxZ10 zF@HJJcJVi}b zyOhkeYYOYR(ZAOgSN2F|O}(dXQsn&_`OYf&0UiXe-jvPqL|P$Agq+S@Bl1$ztA4*p z0Bq@*cY{C~bo~S==}q1>8pf}Dv8B4)4JGZH;sJF;6=OHRB68)Y_3&v*Q(lqkF!SHX z^0rv)>Cvmsm-P7DGJDA#>P0$6<0Cgj@df4e4b}#Utd>q$z|nerfa)Mmv`0# zzogohP*V8sD+u(2pAHk>!}ZP-mR^eh6jBO$kiWrzcPmo~c(s$=aXE!-$iW`p?V~$= ze(CUE&^t^Mv9cqszm~6=&r(?!%k51wAmqwnhOt{*Fr&X-9VIBTm4DhxW0w5>L+$Yk zzG5N{(_b5EFUsac-N@(0$MLZQ4@4Exg#j8)9HEwIoq9Mpm{$0qEACHdK#N+6d2|Ux zoS9vsF95&7vq?F+HFj!mOsMsTskbn#Bu_DP=PyP1RsU!x_48z~VHqDAy?bQJA4Qdj zr)9#)$<%cnR6{64gb%xGJGQrr>Y2%1RwBQ%v5+O4h!oJCFWU{T4bxOItlSrS3SszG zQ;Zw)|NqR9k5}}*-jMNZHV4etM@{4oMmE~r((y%rdN=r-Na+q``ilJ~U)pgxQO@~I zc|vTl-UvvQqF)wzZ*IaG2v9Ylqv;OA^G}{tAZIM)fMpRc4)+L(j`qt{n#O zbXmQH@PW`~B#!$}j(&*7IAiB@hbe}p#^UHZcq*IOqy1s=wT#nl60>!`sDs{pGgMt( zYDcpP2L%1a-wZEXEgIz?IWgUuBYcv_`|~62LmT!})HZLGev0Dxg|!0dkRDrzTe~8s++I`&KQd5$P*biA?^B z#w2NPv}^2z(`?o)`G@`IdYR%fu#W5W74Q*Y;tVE&cUc%6-y0Y!h!>l&OiOmw$z)6cXxM#jP&?fw>>pp9Ca>d z^?jAI;EA}=NM8AJAUbWMB0}j)L*F$J=?|0Ok@$1sNL{-o$sl4j@VsgEJ2h{Gs$bhS z9ttquzEsVraXBMcr~UILwqMyTNkUkip#u$cz)JVLqPH`wo(H^kE780F=ymAizx&AB zY5WXB{@eZ`LGt0}hP}VOoCh_a|CMQmnSLjVz0bu-9GCBv#vez#rtIPf%!1%?C`w#1 zzfj^?UXqy_NOZu-qr6`IRhAzk)OYfm2!8a-!y!l zKL$ri6GHpXyR5*Gezmi^@hx)VDVBS5`UP zUc&D-BJHM1ounk@aEO>2NACdm;wqdRv9zANb$<%qVd8)rt%ao}?$3Fr1$VpSKAz^K z$?op%D+&_*8|2P-%>F->^#2}m21TwI|38N;^Y@T9cTH!&A=3wmMx8Df+@@(i%njTK zU9dZk|Hl8Luf3Upg@vvCedhakcw%A*J8x|110Es{Nh98m)nud<%Z7_lc}tWfdZ;Z>AFWu-v%J%r zeA?)`AW(|mv(*%dL+6-6sJFurQ~0F1+U=Evs#W25C91y{l>rJN-0v?d@Ngl!;$mU# zq|;~*t+yE_unl+vt-7r+cQ=Qa7%vOm9L|-4SMp3MDbk*2Kaq(>NC2`pB@Qm;X~4kJJYL{x|j&ruy}jxy2U-5-r%Q2=7tun~LBw>Yc)P8;VF6Z--n_i=2fao4=qiSa23n2 zc3&liLr0E$k=XY|NT|-wq&apUbJwIhCX!0RU$)&JgF2tdNItgM&7S*g8G3I9nJ)kw z^!jW}g6Mx9sB#GQ8SJv~sO=LuoGW}`%Il*?n+t31d5~#8t+B_quBA@q3$D(Mg4HV& zE6srgXq54n6-iHXQr*-d)zL{l|GpPLaPF_Q76U?4=CrQ|c67UH1zw!)v!wDny!eWEZe$6 za-k2e)r$3)45uZ~yS&{$%?s$@B^fXqmC?FJ#z z5Ntp!-VTH3a zU%hO)+!NT>FQM$ViG8Ljcr5@n-Dk-~)6RP;@vX*uH+i$3ZMWPZ5-i*s!J5claktHL zUWZAmLRR?p3Nlq`IWbVuCfJHYdRAdQqxMa`IIYqJ{s8QkI$H4()UL9Mv}wK`PsZvc zxbVMm+#HtL8ZW%$;3GWZRwtbkfWd5rL`(qilro}F;?p`ns)lUpsLZr!N%{>{|JzR-(g z?pRDRe&=J7(-2eGvJM9&J>&I22iP)wI8f>O(b7HPX1g94uH1UIW=H_dHXYftRe-bq z-YkZlNUJ;fX{^=TMTs7vE z>&a2*YEc!1tRFiUs+#O}-(BD#dHc#Zb)7xArL4y)R59`4xFjo_k0ZuQ`sPsR^PhA@ z2zUPRo>9GW#4=j|%tvzOqMHkW5R*QcJz2u_gFRZ09@7HZv^VWpcB?P4OqG?lYq*oBa5ClmrRaz5Y-+)Bl9w4|wlunX0apRrQyOyRqHlQ35j_l&U>k^yG^l zL&`J+Dk#o>3J^7CCA&Eo_*0wK&}uYFoKnpy`18rmgYO+LA|IiJr=bxrD+mmR zkqJCsXmVFwrxqj*C+6yg&?++7GB#~yCmVOiJS7sS;4qdNMb=syinsf0GW`I;{37bn z3mH=5$J$~A_e`%^?Z^Zi71sKa>1-Mf{YeF#mGMf&{ZRFk{lL!cZaKQttnrCwlDi8w zSeUdEx=yJrF3d$EI?CLgiHG>RM;_V`S#{eo&a8JJ71KN^Ce=3Qk*oru|K=aH~%{ncMo|5JmIC_2p?#2oZ-d z*s?~KQm@M{7M5(&qzSf%?rvh0Q{Y!g2y~o*g~r`r>8(O2&T@camE}agb~%>?jhWa$^fs1L1|saqo^_^BZCW-2p!-grx? z(Y0ON%p6R>lHK1qDm4Ctpgb(m?nf$G)vo;ss@83y0J#9UXBZmVZCjlTt1Coh#Iu94 z%S5tc;}I!C<%VC$2%|+96T*zXLZW=(c1svfN3@R zpXy-D7|y|0|Dn40AH8G7#moW{3EF+&ZkoN0T+{`%(gKAV-ioHX_T zSOofRl7z$~CdMtyU0Y$7wL~-efYH~p5vA@eUibB2uo^_n6_$nrpZHa-ci!;lyVVPO zCPksziyJ7NI>w2L87(+vfG55mQ&pFG-;WN%$hiP{-GwMD6W{Y)1fmPrMqdUh#31cb z#5EKuY_}xIBJVuw9RLl+u7S4uNI+*dnqG8d3+b6)8JH#R+^;JN*xvPn5EAy(w7teUUJZ zQpP#kQil4hBAAnOT0RaTW~bWI&^M8=z4;iwD_9W2pswhTNw#HzAO6a;Kjmq0!_o7N zoWbA49V{Ie-!|B#dc`w7f2WKE9tPW3OcXIW%{j!UxWlGiyH3ybb`pHx2b-vKIO-Ru zU;~%?%?mxVVGo_ib>Um40)$2@7nJW^DS_(y%;oYaI|_%S5C`q;jjxOJAW6YF?`3#% zr?^==YI&HZAZmBX=aOF{Bu=w!EzPX^I6qWwiF~taFn4Ptl+uND!8XW8=Ze@m6Ps`g zCEMgD6_q%gEnfZ03W3L`$o-zPMw5_d-Gl{2f0DAO2UW>+y$QSB)av`Qgd5Y5jJ3Y^ zkmJpBF45?5aOv5l7k>=cL=HGM4RzZ07rb4#zD%@M7?W+k)Rh}J7&x?9 z;vK@se8=R;@2|a6Ro)glAJPo|?@PUc1?P%o6A{!?6k*e}kcB!|V&SwoVv(&?oU2A( zg}GZ?Tq}=n?WveLfok$izIpuisac8z&WLKs-~8?pc9-8}?h#gtTx?{fL5wZLU<$mS z$3SpB!q^@9)y+^G1KXYHfksmIeVHSj9@&aq8}tqr6>Z(bz#K{BeJsB4^Ne6Dk1Wgp ztQC(WxVqn8ni%&?^&1ojMvsxq$p>)i?UV zFYmUOESyZ;(8Qc&$5qm96y)WnVG^#it?_NYIE&hAs<_?YLugOo<<#&`wnG-vq@`ft0+9ZoVVfcws zoJZk8G~}6++W*bKxNzt;EeC-=9&nK4Q?*dG*wUDHl1>wG*76gl>n1pJT&alh)mT(T z5l=5dFHiTC=$s5L7*OUlNz_voAe!q-A)QTfNPn+tB911*|6ElTIDLvUoiu&NJW|0r zZL;r(mHRQ4B;o4Yct22o41c+9?`t=K`3H=hGwPNV{IcPY*-9IiE40M>TON)m0CvX; zy9XBCpOF3n+r$$c2b0S0v72I12hb6|V3gMbL>Z>6PiFWjW zb?ttiDExMm+8)rWV)Gi#yPwXby>g9#6H4MR3ya6&#Fde6R$9C_-0df@{GHSUT}yXk z{dhox1?*)X`zC#%3t`5vWb8WeF(3qDSO7=hz0Bk(N?pRo>38Xq^`ZUoTHidMCs;{4 zSS#h|C`rr$*0yJz-!28Sh{NxnVZ7}>lG}T=`LS59u}<*Upv22c3)S_>ih800>+u4j zMkPuPAyy3j5i|Diyf&M;I#s|hVxd#Xn1l%5S{i@g@jh5!GZHUJ0+Br8eUI~reX3tC z|M>K&CksluPuu9N)vO)b!&{vinMX3$X6R8B%__c@*iI#Q3~J7;d{H&U*+u*G-Y>3f zDl6~9qwiqJ&6R>Ry7a!tSYd8R<*tcizjnJj6IhU`vPmVrI+xMI0rkv-!gd%gYUV?d6T zev#qsw{L8NXK?CFgAj}?-CDgA^+f)|1DqB^I0jpX^;9Q4^Tp+mRuoRJb9nN__uTJh z&p4*sYFPtbByk>E)gLr#3WU+DBB;>Kar0!XsV z*p0c1*x11(EbywKl=h2634l_wfE5L`Y)zI&RFZxeD>ag7oyTVUC$ZOBV!Xki`YBWI zxSRX6`&T@|en=y+8Q_@m4OuvoB8E=BOZ#$WsSa_~N=rJeq$YK+@%NE_CL#OY|F;PTF88#Ekw0wTrd5Qu<_qPM&sWSca3J;HY^YFfT#LQ zL&gpD`ysye(GOCE;-wJt+wCHep3ztyPOFx1~Fp0x+pf8D}t$yM_dK1{*HW$9mi&|gwLso*A^8~<3RKN1s(=-zQyvJ({ z#eO@Qi!)}=P1c%W9MTEDKV#FpYjWCe>iw#}#IRj(Sc3uVZ&a8Nk%yVRs^V=$Da(^F zJpRthW(n!N33I>s8n5@fH<7b)p@+F%0rbpiSr+fVDx<=Jp-1F{r~QHf?tkOw*JP;? z`@30QGgjYRR~AvzvSv$H{58w(fjHz-NqxhOu1?-Yjlm^jd#03|pX+79Hi&T9;_SuX z*b_S`g;5yUKm0P+tbV75YSt_@?YmIA)?7T;j?ci zATm8@hf~-0E4-DPKSbr1a4njp{*-ycfh4B_w526X{F8UNg`wc0xZF>RLRs?@f|Hg; z=^d#pHyJiQHOn`i5A z@VyG?`+RRv3U3EAdCY6To#W#tSx8 z&CW7?-rJh2>5~}E)j1%F%_KI4ZL;9b6SqJUKpCW* z-TdG`^Hl(TKe_b$s5D8pMYrDZBoM2QuZohibu#2I5dUT)GrSw*mPx~oqKRft&&|=i z=wnxGT3Z94a=7exEV)4=t`UC*y6n}icf(@|Qbx!y*h+r@vUCc0z)GMdyc2WPw3$#R_^%f@?$YETg4>KF1{ZjBTgmv zcbsZOyh^Ybm;=nQT`04$(P?JJx;#FVDSC7(2yal*|>|(-z?o%{rt&fAf}$>Oj1$c-0Bb7 z_6FPIZzG$#CZ!0vojh-!<6V6_mXTZMKg~b+i*)~H$sc(4{do+WC6PpI(>>37^aa-$ zdEfqc3iUzPeqbyax|LgKr`zfzYb@@0bG|OLzMG5aOm!&zh)(X;Pl0pLf``PwH_{UD zS{R2n0vAJ;PVIXwhZ85>qo#v4G(EK~1=JLJoBCbux8Q=W@EJQJr$+}pWQC=5Lit~r;+im42Qe{ip$Z><$i!TIU>o9fNVmEQD@j73|rZF zWAKY!3vS_}&hU!wE8&i|$@C{|`VoB55Xt5D?w47pc+UodRKPD>n+m10MFZh5JT6d@ z4qy%Fd+JuYw(3EE(Lg>JpQ++${{Ii)VYmNX%Acd9S;h&TeBQTIZ!EqqQN&6Xd z(~c$Ltl}m%&pu`Rib8y(3ki-evaK|(;$^dkd+l11WkbRKSNV9@%6+zAFDzoB2M-^u zkVB=_#THR2)}J}sB29UBo_)e&NTU=gQTvIF8ZZ(rd?EX!x>80TT4FWD4jRHC7aPHK z&bIzK09OzgQ+8w?f{x3&)Uou69W8Oa$UFZXGnhz4fQ-GQGos!gLoXkDS<}@~PYii$ z=^fMB&PmCUSNRS&hQ(5;kKx1@JvN?A=9C0HZb61IJo5BhsCXMqa1a<&QcRS{YV zT1XD^15oR2Ix>^{^2NnDu+uVHkuCP8RbjT-OI)O z#m)orPv|R)DU%tE>6ZQj^V=22TGiPL5_QeSU_S6~(Zs^y$3~=3u#qAx!!RIA*kN`?cnydlSrz#m)TGjNg>A5j?J@woJ zKyuJbEr*$5L@aQBP%AY1hr5B64XB7Xm*JLBaUr*}17(S`G$GgSF?IcGw1|pMYLT9D zH7pDctbBCM)(Tuwl;e$_h+qW)M$Oh<-ACfIa#LlcFEa$y+TUX0uw4hHClt0EE|NVeuN@u&Pr?5_vYztY zX9*PZ#csu3UJVWivdd?A+lzo#OerzLc#@^adxm0?FPjZdNl~3;o^%-M2WNysHh>WL zGIc4D5-th1LgdjRhxs67>$IHuVhsSBoQVQX%!rZM$>tyVu(*bws1mMO8QXim?X2W6 zn4{e20LHNtS6bW_cnnHb=-J_NV+(R~5^QyMNSaShPr#ZMV3;9ufdLh&%jPB_criC$sz^f@ED z()Ww?-3!p<*@%x+5>TIV34h5l@r$C2!%|dR#tzm(f3`j?|9V|`)2?a8K*Rd`ovbR_PkAs-aN6TjsPyfqBG;vScGj&kTbhLf$eF#POhdN+D20pYVn`0yU&ob=ax zyA>lV-pJ$;{0>_mxrzL!M^=s|noLhWIU3{)S6OQp%6%G;rq08hG{mq0-KBCN!S^e& z)6YsY@0$+#y79?yGEZQkiU0wZza_-RXve5!woqrAtjj9lGh;zt#5Z2G*8c{jZ~R+G zERnl&W;*gR-@VEY*I6)*(kceQhmX07cFV10T5#FOufML|D86TY684{ieDnf=^YMdB z7+GLNz(9%203sT`v*!MAEPw&d-yf19Cd$yR8OBmEBslsUSs2Oa`s)}^8BTA}e0+Tls?6w`(%R1w@z=OEe5qNt19G%fXDgpdmra;VrK z)mB9u2H9?zt0L`olHFv0N4s5vYQ9>35uy0~p%eo5AUmZ#tLOTPYRNW{1T-1d!&)bqyJcLH^ z1BMjbqKwp6a{E%_X@B+TJ?aC1uT~SEq^{Upim3QCmTr2==5yG*+Sa`5%|opb;yh32 zTwGLbRH5Zc^~y+zswjQb1?FWRL)G8OdQpV8A0@~1d%HgQJo zu;Zl| z^Y!dF*{`3+U&h>(u*idKU}%44vuWhVfz17h%VL!GJ_V#2ReQfcmn_=Ze@G(V=s#^x ze^EOrgW)6n9s*ah{PyO$pRa}wcUmnP-HMf0$fm3JZZ*<0XH`;jo~`yr*Uz{!uJ*is z^{+DOoe|^(qx4rnCcCfGFTY71cChiOpxaQB$5$~xz;P!6`0|}GMGXC1G)$nV*{Pq= zdox)inAvwrj1f7UR8SIWOnN#j3@P#ty|83tv(5XR^Dfe-X_vD|o)GgM4}Owewe3Y` zpe#MW+J3v9q=YT7_)cE z*xi`ZR0c$JXkM!ExFBEr?WPa3fE(9u*k-@lVjKI6$-+@G?5Bin>RW6Ugw3!GWO&g^C z@ZAotEnX_}q0|W_=0er2o7N?zU`JB$KrZkO_18{m>}X>9SLV9&>kKgNQ3izVIbden zcSW1nUYfkj6koogs0alnm+U)}i?p=ow3Y{NnlM8Gmi#%ps)=%a_*aYCiyx1kl2rY7 z+kOc6ifG~>vb#hneL(bLDsH;4;QaD<)PI?1o)c$KgP~WTd0cvQfhb1|!NNaOwo3jH z2@aIq^TsWa^KBHVh=<@z#!wd$p&rAhlFgm247dGnJ>A5y+Rw$CvUW<2>_R!5eYd^m zyi7-;zUv^&3_7o8T^OxVT(PF)c7_mTE`8o*vhsxf!jyTVZn&$@-n!+3#*B?nch4+N zi!dx?S0FdIC`-XyNj}Y+U$*K1N*(SDbJpTJUx^lSjs0-4<)>y+W5zV%%A7`x9-se{ z;7TZUjto-$ym~$p0mU%-mn2c}7}uYp`_pUSrLx`FASbG?@!b))`pUl}wu}Efb%a0n zM?%<*D zK?}Sdw{kNnzdaNp><4*O_t4GONEWGMh%OJ*B=+zo^jc^|JMSZLZqq$NpB4(Us4^2H zG1l-gEy>~6wRiQH<@ihf?E4<3_vfqeIfZS!tu^fMIozl@>`>o=bi>uF# zRm)X5H&?H2UAJVFl$i>dspzP;aT=Fp9OSC#1j#!W37s$^j#qA?RNA9H1#+ky zX0{UYJV z@sxBW(wc9COJndNY4l2Js-E*&M!T0d@O`ILa)?LCf8wPBMSO&3*8{FMVhB0WT}RV> zxbTT|c;&TheQ>6Jhb#yE0&sjYjN~XeG2hCwG>+D1YX1!xR)m*08r5dm3VL?2sJ(o# z^-!;>pElYS@V@~HDxSBUd|mgNjmS%rjgcekw;H?8E7Sg`2igKA?SPpjsFY7GfNq4l z$v5=={4I0cMh5QHL!av9Ic%Gx#WP(*9Vh_os@jNa?wpfYHF2N;=xkF8Rnw`ne=FwI ze`kTx^Efw|0_^mgv{nnG&+!3S%rn*Jph2+oMA>VZ-beb#)% zs-oj!HPn51NPF9mFiw@yH&u_#)81rJ8fh%zk-?nW&y=Y~Nug$i0 zhcrWv|B}koMnQL9rEF?>NBnVsPsvb-kKg}G?rm0)KLqm`?~jfr>pWdfDTChPcuUB(8njOT75&V zq$}yahV9eo#7pwHoLf7NQFBRZ9)p3Bmg2(()qu+r5=5+OAoU!lY~du1<2{)AiiJ)U z5)uz>={4@c2#f84?P`T<8DReUii4UrY3Z8U^HXI;eMtTFx`n=Q$6MYRfE7_fw?cj( zD40)`eMKkcl#O7btn?a0rrLPM9B@{$Pq_4nk6|f-dD^4pPnlyil?VT)-mbrJU3Tbe=3WVGKsF<`$r1XFp1z^zsS_ZPjpouyF)%(n(_=0pKp10)*`8d$O5j;jQp zm5*boBJMf%vz|L#%Zz^b9dqx|yq&lO86iAa>V8}E23hunm!JQG`2TuVu2|sEZ#xeH z^Agy_jt?=MMQw9X5>kpN<$gpf32&ODVK6YSw=eR5@}y5;)C49GvVgDYEqrjBp5b)G zTXv^C9o1AFo3<8D&{TPUu-IC$+u}kNghEghcX>OsfPp|jUJ|P>fEvyHWzAKg4oo}4U^C|HZGl;ZzG*`KRn3#9E z+|wQaW=(+scmyi3s33cy@klTD`*NIg*EH~7&G`dbS%btXu0NIXpu*)$v0Kc}0p7ZI z7zAMA*$=msqq`{T^$6xSJf&WHho`g8%dp;?xQuu^4%gDMhJK0*F*P&m+WOZO3zXwU zX@f)9gQMvr0o8=*33AG2>#G7S7JY_CngK98eWm#Ln`!yfcucbe>IqIat^W!n;k!Vx z=bvDIkYgI|Xwsq>YS9&e9+Ii_au>lY{ePmTQ*iuZS>a`sRRL+o7wT^iieqPDX=7H! zcSSO*tRb9_@fKR;$StXYeC)ii@7LA>q0-wowr*|xI=pk^y(B6Bal|5gw}&T1z0df2ZugpY(s*I?SP-=eoY=IN^yFoKGO zx8R4@B=dS-v)t6r1B;B1-yUSymww*#FUfetAJ4QNt@a?A1@#!RRT_rgGwFAtWv{Um zmFqL28I){b#DVG^p0B6(04)|_sEsRQa9@Ih(V*iIGSAvg>ufdQIiPoV$5x{Q**Czl z9L)VEq;}3eCEakGI`=u_bnr5_Hz|zMu=}>y+8!?b_|l`CjB9%P6x!@rR+_Gn{8#fo z4{GW0Y*dZ&6jH@&Qp!&p1}2$516>;#It!!#Oe19Q8B7$&dj<5#R@<@Mb>3vSfF zI9@~ins{pckU6Eu+@@P)-naGDV}@T~?w9!Tnt+0x-}^(nu4Ce?{m6^A9PBx$EeNzN zJX%OD{^}247y%-@Rlwpf1rhv(`;;>GPHz;vMnlVv*kliTW|@8c)776uvXKVBLx<3M z);Cs&UKCbB1{A6}iewJc3D-R~lFO-M{ZQ22E9BEOFlN~UjKZ&Pu7EM-#8wU?fwZ#O zzTIGl^&pkuRl@?al|pN5D>G$52~4xMwyj9MkZFRi^T0FD$l=ME!MKlnnvSqc1%wBW z4gs!nYBWm@cfb+-!uJ?{Rxs*zu_=N$(3{B9wz2#Yp`QVv)_X1o@4t@^-FpSw88X*+ zbhywKEqoy~H)@pxI-GGU{QY0zK4nQ<-t}wJ&T48&g{uZ0ILwXkcegmAy*KAqc=YGT zc(+N4x@P%W8c)uN;J^4?nXM=;-8tT+ZUN+0?^=BpROQdl+3+D099myJk| zaip$bGd4;jZ|As>kSf)_v+D_L8{x5hH-cQP%~IeNkuZg_3bEYO{VH`)LmUP^KY{HD@clKriYg#`~=6UMLLp-i)v%SNj>$qA^ zDF=Kd-8WhXWTVYs5Hkz-E#9irmEW41J-28_e`mL6!d69a`TdVnKpBn$2B~p~uHTYO zIoMW09;tSN*Oanc<)^&fiV-9)40?z12n!+X`m9m#P>y5D$vG3!0tN*lTX*B1Z$@pF zi{oQeSjGGe!QWrLgC6$nQp0k8GS2|S%RUxV9K{H^YRRC7{T~#v)oF7@Kons^5vDk6 zl?l9y%=%L{V-`-T@)|?irYPK$zWJJK1lY3sN4w{}{EE;(24~&ASp|%c^SA!K)eP|L z0@=JoZ-{aJVe11^j*lbrBIRZ@j9z- zj^)QwDkGN5c(qGJJU~bud@goK38LoQaFl}QU5Z)s=UDs852H83C#{o)uZ#8O%5(Cx zD!3G(@HVm1l4e^N+$i*hm1WSTObZ4{x0M9z3(f%l!6Ew!w~S76@F1EQnWlcKK~g& z@gZ^B+vug#3?1Q|vAv+Go|Fiu(1Wj9^kr$8X`HtYoh^y1Z6cd)I==wH}I0jCXPi7+E@ zQbTP13`>1)y?pq$1L_ytvTeB+B{h@&%8zjJUDK#gC>DJ_xA{MPl0QvWX%yBg{n1ks zf1ZGHHqzq*>E1`YW1*ycFEJ^ENwsvBixN*Ka*a&pwSQvsfW`vLv8#pQe9WCc>&_XO z0y&E)PL?)}trXvkJM~&zMeMwyMGu-V0XA~B*W;8#IUWYxl z3|SlTXghk{t5b89?54NO9DG6eTtH(=N_+V&O!2(oxmiu1OqXvQk0G+tYHlB zO+BMugmB-yf*f>x2Y*q}Sx5u#j3EE=y22|8rTeIf-}cPpEDpc%_K> zgcfUvJ%z=k3NWcRgzQh+w4*|bO12-mn+txixlG!sD0U~H^-ORN;AWnvjoV&FX^)00 zR~K1I_%Tl zGjx8^7?-)HyOW0NG~0W&R8{C6-yaz|bl*C(_F^n$Afeo6N&W0CR?>wfCJ*%CV zFK_he4=hTOQmTk$6w=E>SC^~hj-%aE?UX3)yc_M>!XMjw!o;|LUDkiRVYAX+F3Ern zEYcIv?Y~ZYA@QI;=5Cs!H&uYA!UDW_XBEhVcnH~w>IqIaxtLby9?WS{ z6bhj?VX&XJnn2USkUnujq7Hp!@6dLTSM(VU+|!%P{!CPb5Y&PKwj|8!k3W$P?Xn#; z&Ko*(2^)cNj2*J3upR?Yybx$F&Ok>xcu6fAAS;Rz!Uk(1b4`9bI{-&Sfr&RhDR0Pm zi#I%?oQj4!WH(xtkrlKVHEV1Q&6|N8zYd**TLEaVV(s4%9*L=0LGjfRgrarhHzXiP zN(AOQ$x1tUpq|KD=G(5}A!K2mg>pbQ~10epD<_#qR7 z#{jPq%vcNq4WO#-AJ^93o)Z+?Tco&2B5p5X$7*$DIM!IUlj~*aP9hO3P9UA&X#gz# z=0ZU8@Pw1DPE|3F?$kl!smb$eK@#IVg&?`VW2MR(D6HYyfCCVFBMxr?+tX=TvcFK> z*Wlrve+c!uq-%`ipY~2OF`GKg2&{n+>2Z;Fu_Inxp01g522K54sFFY}Z7!dPt zBw)UiX=ezUUK_k=rf0w8fZVX|vYJ)05Jg)H#WIeT)lt7^hl+*-Fx|PsL&yZUEj6cn z-LH!>3}ZAx_&IGuWb_nd*R^D}4BK7nHSn5=G2`98+7C@oiznF> zvy#UV1D_kC;3DD0wk=HP{fqXT=$+|l;Mny>_=i<>@M=GE8s2=r;K%TFxT_L(V<_q0 zULVLJpU)n*G!U?J(}^K~w{UD8au#JAzT9jYBNgXr@^e|Aa87?+OL(Oth_;gwaY&dL z&hZpXRh<14{qWO|;Q7hc*b^?_;_)U^h~K`U6PNvlavqo*9oLy&xSNtz61lD@0IwGK z<*M%J5Qi0%sb7k;auyiN)#agiL-|Ue06+;tLbeP2FXD(SMyFF|>0~a`guNMiB9VS) z=~xNpSTofvzIU@1mHJ+pzapq45W?0He<4REx=YO5ju=*gFetVt~yfa0}qv%9#Vs|b*GRqU=%zi~BC%x#)%1^ndg7Q{) zHf;~ETd&@lenXQuhsD{*Wm>4Oj?yHs{v|fG-lDU}BE}wRtcKznl+3j&4_m42CXHw^ z2(W+_2^@Nm42(M<;SPWVFE5yjbTKxXHl*-e?$@2ndU6LOvd_<#2KxnTER8}hT_^dy zjObG!pb<-!|F%E|JEKs$Iu6WB_S~65A}2T;%$tGjaOJ3nCHzVL+9GbYjP02xaC2J48sigQ?{&BZHNe>UZdj(g^NVgyt1! zM27ChU>Jqp4J?D1od#Eo5D9E9p-*~9+wAN0(i;}bif_n&eh<60@45jOVDujdq>7(~If0fb|m=@${UQfD_Sj%F?3KMyH1vw=5 zwqsvru(%i?6f;h$^wOLua_E3=bcbclJsos+^eLgl>)M2nW#R!il5o)Ph3?JOZeo8`AHl^+Q=VV@=yNo ziyeiaHcG~G-AIUZck_Ph_29jF&i9=A`%52Vv-etS&NX9y1J_ zW`0Uz*YzmlGF4E#9QlG!$8m`3{2rWlrP}Ka>Qk4IYRSm5+?z=5Mm(W`5$jd;ikXv+ z7zR$9X1%jm+<1j%ZZrnY`*$K2dr9t*?YN1I7wFY#Shjo@C)Re&)CW46QsOsp$P*#b zZSOgNzA^v}F-_Y(+b_0jL$kLvt0eeFb|#B6)PeAm;6ud)yh~_H|GJaPQ72QH$Y;#Z0rM+*NfpgY^wP2e*P16Pa7R3 z=Za;~#i3DllQBp1R2`RFa3e?o1;Pzh9^YF6iYynJ2CRJ7u+moUIWp7wEF3i=k{}h> zf2;^u4qPOvUTL{sbaF>Tp~Xz?f`Q095WS`K$Le6(eh+JZ2PjHD+%Vj|?Q0uQ@zE<p0X9jG?-mRlctuCf8EX(&rEV?wb@ zAI7RP^II#~{bGpzMKBft>BYbeSn?^^Zr9h@qRnhU?)Deex&)QwSK$xY%?Sd@Li>^U zu3oE6UTZiu2nFUI#g=!XNq^gkIt%pdyos59f_8<3A2wJ%4eXVaGhF89C(uJhNRt^C zAXk2oN0;Sr-7j#_V{;0Z|4APPZ!ARwv2wd=15Rc;ugNmaiYs?Spp?^a_bU?ZY=zaL zmVftr!t3L?&$~wYVp{TZ!x5n&3m;kRjAftnjc|m&T8!l?F-nE>XlC#AN$Pa<)PEo` z^tL38;M^52J2vGlq4tq}!wbki5!K*l7?t74_g80{%q%4b*C`r!nZcP-41K(zryBsZ z6c)F0TO*=)Jj=`^7K8V!+QK~3s`U%5T;OIHUn=QeeNa3bYk$cD_)*b*#LiCv+~L6z zYqrU6sFAm1p)jzlW8bJzAjgr#KD0~gor3n4Po721hsPU`%8Uup-$mcrF}+V^!x>`f z^)lD>wo`I*+(YKqD&xo-f5nQr?{A4vd~w+oS(fLDB+J$txw~xI_A6Xzw_6<`>*vNp zZ`Sc4!;5WybF3q%1v^v)FZIIix;2NB*h?7+G=js^9sgL;Fw#BGeVhYG^)H0hsI zh+9_Kesp3R182REJQRV26e{qu?<^|%9rRrM#9PF?Hy`M)h-bI+eXlNZsG9N{-XRa+ zd&ujsjhY*^wa0>0koMrQaZHuFku9nDXI(=r?LK6~D^W_7*c^C(1-WpIua&h4J`TtM zpvg`E+I^ByVg9X(SOq0MHkG^M!tCv3Eok(70qPTdJv%)!uh0A9cT@?cCRh_BW^R+X zY%;U+x`15h2MGA1fOLe*nc{N4J*d-SYzT-KEAc!93+M@f}}mB-JPU7}NvSdDh-F3d9r-$VGl3bZ%Z-rM7~ zbM{wIjOF@o!7?-hiOIqSHRL{_z=3ZJeTBM3M9;MK&tq>m@e-83 zI#806N)&ku#HqdsxScx&hc@cNHacmy-CdCuw9AWiLi!{j-j;bDN3Wr;A9RqI_^u{) zN@oewCH(9e)`HqXdXogTsHEe5NKwIRh&4a}*Uiap(a_kaFNe$UP7HRg9!jLTYi_)nlRXgTZ&*MH$l}o{sT*oSraGPR6<*^$Ara z;*kngBs)04L7X6~jAyGkXiZ7zY>9tOA&-_lzatfThYK5>kZYhjw41Ny&5xLky-!x3 z1ygCU)0(qA83uMClZVK7F7K@ z&d2(MQz;@q+%E#`Bk#+*oj&vLQ2gH57_TVh8(ut+n)vaI)M~$zx_cl+G60^VZ+Fm}lgRgvY|6ivEO?lR)qW5&n_K_$#z$d38@b>r%W1cdFDvxbY6B-t)94*pLmtXU+gO*U~yP;FC zH_75XH)uWtxxPx6^tr0TioFDCmZ6n4E57d+hhEb2&_6I3ld9_5TjhT!1SP+R?=f_E z%eZHiUm=+6AUSQ8x$Cio`e@Y!uB|gLKXXmcCJ*Xx-L0oyXE?>)eXB9@oyBx-dMHrd zdT%Ewlk1h+O|19buOadyzrkqUc*1Q9H$#iclr@xA3_@r)}h%CU7*N7joxrLItuZ0jAt-!dI`Xj@l{kB#}Rj*s~E9 zHIj(%JhCVisN*de zR^i4T5la|>tM#$l`C-Z?-C~Kw+zkTb7ZBsFr?T=%1SKyOPl|Ap1;usWO87WnOnf`~ z3M!+u*br;#1O~{&9?B!F^fv9!{9y?P6U+`&AtO4cA#Pa^ zkL5yXmj+SbcdXzE1ArVq0ON^BaV zgx7=SBc@$}!`WrTrBBOG1>Uq-Vg|g5h@lR}x%Mbzd~3?P6sh%|p~OCqWQlDG<>#AM+%?{V8gpRcu^ z$=Yww^H&L1R6y}nO)MxZeqy7pcoBybSXZjYeAA0#`_k;GSe=O@!&D+3#Qt^mH)GDUQMK=%ea|B@t3z3zjed76G6qdE zc_lCL-RL`h9e$5=2d(?GGO;XTvmOw)mAg+kK4j-r(H_cR9W#4rE--A;#xcJy8&5Se zgxu+Bm|-rt;^<4%`?cfuNPeopg)nfDn8Wl5pI98!#XFn}-XqaA{p>3gOuDs;Ccf`;Ae zKnU;f5J<{B4;~UqDPA}OjTt`b^Mbph>5oc@s0s?7&lR=u>c4+owS%v+r!jJJNTJ^w z8Pd1HPVCD$7L^W>KWUm*XXexV+3aM!WEx|IwWt9)M)=uZvIXtw4IYceA+Qm~lwukM znZSJQ7lgQ0f{Stq5c80w9fzSfpR40(S<3(h6>#;gCZK?S@t0IxWMj{+&MVf9%z}R4 z(tB;`Ssb!SeGBS0$Mch-=Z!#)oAOmXT?!vcCSWt2U?NyI|J66UF_zE5^8@@u!#D${taM?0Ma4s0ULiR{^r_lt61}8xB$)l=u-)jXI|9ur%I~6p_(ArHC(M zOykzX_Zx0wAQ3-Qe6D~|>Hm}mRG*=GZ#1EnaxKk@pi26pV4*+|@W(+RHmjK7Ah|Cv z%#NcI*bW+n$Z+%l94paV_f7a)9|PJWnr|wG$#?qze@u4{Z7&7b19~w8&PN-S z7lh#mO|&;<%zJ8Z0yCHXJ+r%rE2sUrGcUK_@Rm>L>fh#sLq-9rP*t7j7AxG<^{Lk+ zOQ|-*43DvLwf?$WZdhlJVSAMibh#!nE&L^=ZXNXH*UqJPHP(1jw-&!Wn67mx zj}F6=Spk*UppUiRT3O%h)OVEdfl4LgohR|uzoTW7s*AK)9orX(z6Xk3_=e$_-D^|T zKIOs-h8EZzP0mStOk_qwKGG?7fxdG58^xd9&doY_UKR>Ut4Ye&Ch+yu=XzXnN}A$P zGa4Dm_0NnG}c*z5tL4weKSG*S9S=T#&Y4BDy)(h*|jzrCilS zA`Orf#bdty-8|?>TA+G4;DoJE;^=Nxr%t$t4;uU}6U7W}0KA`0!2jVP`|9+@rV`Th z(FsLwmZyaAa$1o^@0***(5 zHb!g18U2i@WQa??5u>0kp?`k3_EnJvP!@^`KZkHQ+?R;loR{p1LNgd6)*Un&X@9+} zGkoOOrH|qlu|!`!^DtW7I$&5HugcfB%Kz&It^e2*V2Eg~(jQ=|1GqB=`Rdo~`9VTa zq+KfSl=eWM0)-DUr;`l@Dc|S4y19 zyEMZRm;z=&a~BSf7|?LpDusfnvt{N;M}>zfy~s}^QhW98Zp044kLjSw^xywPr^-+a zAv2*pY=In{dm%dSSQ<{YM?{vXQ@)Ry$8_- zqWxpI57|sJ?Gji^2s2ZRMCD@9#hZJVv9(`Gcd!E8e7Onhkd2=sN@l&^(lPR3STT4~t|K_aPNTN6GDeZO;2km*85CeX}i^R;G zwJ^k}<=e{%S}yg{W>HRv{qNFjgQguU{cO0dVH|?S_oq=@ntKt%8=09p@#8qmXaS=& zzhR9Teb&m+kK&LnIOmjV-NpHC5sPa)N;?!HP%{VGpZ)0lFBKBrO`d_6$+zZs%A{}o z!A{Tdmr=cC!LGVe*E4IzYW}+iE%Z*810uh$0D0FjIdk%-BNZ&^7r~RPi+NV`DF}CM z8en)dp1ikRDWhY$b*#o!-;B$i)4&0*GV}Z+?b5r@Mv8TnPd}jG&DcD#Wpf|qFH>pE zCfLV`1vp-Ag@4O2m|6$uEnO^^9C8cQ+p~5>15=K{S0mUMQmzf7^PeD>Ut7 zEwjXMr^!J22JCsy0IsB+K8Q(=*vtF0l9(g5{oyfLH1oB@u?81{mSrRS>jaU7cwdQb z0F;&2kMzZ{)Nbnt7nqt!sRum@=e~R?Nd=Dd`b@hR?x1t7UOv+|AsHs)c^`p{;Ed$` z`LMI|jeI;VjxR2jzIkLtoJFsz{bjja$xR%=h2#!H(&iP|2lP2?pM3B;Ca|bs9&tj5 zO<8!?EP6C*i?ir8ybHPjBWv4Zxu2p_2sT(WJXtS5UF`|^Y`S||u7rLcp@3_}@B%@| zFjOydWrUatk8m)_bzgGSO5MgEe&O97J&?r=z|r@@J^*7Eu%2lO;R)&L1WFAqhrJfb zZeE9d_`RtzTi6@n^(QzP0Jkq%*<7WS+C|{-zm>WT;L!;Rg}SXJ8mUC0{5N)HmE{krMq^k94CC87Uqs z3xBYv+0s|$Ac>fG27*GN6*a-0JS4VwSGUX$ZMO~&4DDgpZv48U=yiJz5g#beetpoGZ^yWYaG~+$?Sy#(bEs zYA>YEhK=g2(92ZMeD_0$#&I!(0H#d{opg7iNxW!ffG2~Zy!7+~Tb8>t`cspKzlZ&D zhnU)?*g&$yA9bfX0CBJ3a$?Lf=lQUi>iZ7+^x`(>!2_#=51h3X)y&AIe z?sD`2vOp7x_`J200c@J@QLp~7{ThO|1K}*0;^wd$C`|9%7hrsS#!}kc1w}7>>P&Ut zYsKpZq1jg|7o(<& zd(H@{$W5OT|3$6544{30fiYcQP)l;j0y|h@{!P_~5`b|23gT@1s&O_4Fk2{JL4{x^ zU8*+OunsSw)K@?Y&OXrj1Hi-t7cQ)QP)^cWLAed5kJI%cT1TU-Ly}TfGJP1 z#AXo^#!Udp$4)ORJ@2%Wrn*NOIri}euU1E%%zyg&9X>W1hd);QYvGB{bdmx;Sbm`D zH;9lveAL8!PyczqT}r-;1CaW51BJOP9&)($6dj+cp8G08eom*}*s~fA-jr|}fd3N`bFNmhR|rTNp)_3Wn0xp}En3(6 zcsvC#*(ia+Z^gZ;UihGGW16OczA20C>VTY|jk3q9b}p?FFFW6>YS0Q4oJJHXTdXSp zE!f-u?0S>W@%Eg0b~BW6pu8{(DM++BX%>Xb**(I(AUd|Aa(pj{E}b94+&Z}f@~jT4 zAqF((|g6!~JCB{5D zw0L5X@EYDlHJU-AhCdgGn#~fm_V*kB@B#8Qvx<|YIk|RtlnR+LG*8zj+KqFG;pJoBR_;~44l-F9)2b|ok;ryoZ)IU7P0O+Z{zeGeH7umz>>ZA; zn$E0+_ZI8UJOjg>SDx9>7-!{OaPrc;3&3-(TV>C~>>U$)VY(yK)E2NussnQu{Tc7{UeqH3~27WjSCaC0-G7aVqQdeXKBvpJZ*;M?tA+n95BrBcQzHo|gnD zfS=Y>^|zID+!{DuH@&-4WIXsVW4keU52(?+zo+i4O8AFT5>T(Y2d!;HQ}QM{JhYXp z^$2^uab+@_661ir1?ZJwg6_6umzI}LX(j;oC|oCjv-34|Qi21vF6>Qd?;bJily{PN zOrs}?Oo?Te!TSw))=oe5<;M46oX?2R=t^1x!zkTio_^BVKiQen0!;hE;-rX3dSr9c zZ|e4|{@?w3f;meQqdKwBdll2A!cOKq1kLfn>Up6AN7zoWar;GQE zPX+ArrhPKT_<>Hi8Pl^af9^19VC%_@H1JeTT2r6xmSk5jf5bKNV%@EbQ;-q)^02&d zV4cSs?V!dvkXi{NlPGlxKCd>kZ2eh;tNdvoa3N56cRVhtH)>l%mMfyJP zR2Z`Yw)hZ#D%ZN89$e%0M|i8~lW|g1+ik$J6-GeG{jonM7`J&`{i~363$9L}Kq2w+ zvk!J4P(}*%t2T`Yr+kKQ48p=tO1NOiVH)55pvwNYxqAC!%Q>Hg?_|tfbZgb_e&y8<2*Y`?%E~!RyR6Hgk!z2^Rxd zS{6`|?+;6&@8PxEnXRog9ms+&gK@l_$Z3&STpdNP<}CR*wZmt#H-bvq+B)~aNy|Ku zpMzdukU~fp&K9$)W~6&;mE?rZ(#8Xah2D8s*EFth@xt=Xk$|XJml2&d{Pr;zdmWHb zec5^h)CsPb8xej=ugtk|mNI(E`e>{H#Gr_dUQr$E$}=jH_&ajp=C^e03wmOc^7wnB zC{CrpneM@l1!vmQ{>YP5pa7p2lmar{A7-`z;OZ*;QQ_~h^*}0<36#_KIq?M`>St>i zBqF?zHTLz-M55~@&sav0#WUYIck=ojt8Dmn)zF9V_$B2J!rzTkG-x?B!zVPRqyA{gcOKX6(Mj35L9&%*RO`YzddE-4l7e%AOjN~Tbj`?gVZ)vcxTqJ_% zuaWZwM3#lk0qP-SZ({t$I*8~6CJw=3Icvm}9J4bJ0WA4XmceT6OA) zPRsa>iD5yo633tkm5I-FRaXx*=o#M&5PyrHvCNcE+5^}~rIQ%IBC&a5wKsb-z zXv;J*Q+^#qcPl+OVzieAUl0Fr3Q7kbsyA8*kuu(W?_0+?=n(|_o@~0s4&=t70KkWT z-(8*>xsWK^n~mgk@Z{7tRB3VceMubhVW-D|+LWqn)`n76$GnCDudMkPu!tqh#kFie z2isxDL7n7->3kC1iU0RZNFWwmwX&}4r@zFe_@nkPif82z@dGh!Gh`BYMyM+p>pu1qR$5^MPc~V$Bzc)QZ%qN)j<= zA$n?I0pEhgNERu2x1&vmP}%}MaVy`yC@rY;uKflycb7WCc0YS(%_)6-AxR7flK|#A z#u(R1*m#WMVjUUIARM-F0k}B;>@-~30mMVxgyx{(M*s5gO9s#@t^}WwWy96ws;2S# zZHMY<33vUU2rMwjP3JyZ5znW0pmuAgnLo@_7xa|nDpQqE=KOFkYc0$;Njl>Iv5x$XfO-Zwy1&p z7_u3LojDM%{x~8%Bu^mUu_qV5=G>C(>SxF&S3H@lVj1@65`Znguvj8Y&s5oEN5`s> z$KrDfnUmi~^xu_=kBP0D;9#NHFZ9`-7!cs^}dhLP?f+SVHqb zAjV$Z46)}udVvr4YYmp7bduc9booW_KxHGTkbwyS=E0q>K?L>1!5IK%a=0t{;zxzS z#qriY5a**RS|*hM4_NB=xVE90%=(50BwE|>p|1ZE#WI%5y<;7Y-M1$0p)XSb=W`zr zce+5PIHcr5+>CV(Yi=0FP->HiZbE>SBu?0OPIIPbF|My=)Xg>8xO4~3U!BI8?aR=CnQ1@bs7u!4k;>Pst4Gj3Z`i%g0y&!WQocr9=y2>uQ}CWZ|h zen}{B%N`lp+5?hmJU;nq<$2LrwID8gy+OwN$ZNy{R7m>lwX2!58*T|NpA`RGxy2q&JE6LC=B$MUo|sBO^P$3lEB7OyK$l#lTASC zWTp4h3MDDGGu!3Wqf@hVnUb7frUR1kvWMnP*y)08k`Io#L2<6u$j=Lspjtppw$=&C ztsC)p@suLIsA1qsxOEKrz}G`@Nt=h4IkPDuete&>;6k-O(1pRY2^w_WbAnu*OfK_H z7lAy{CvkY~fv#;%0kmcLv%XE2i$N75JMx3}@UxoOpLQk(*I|zt7_d&uAs11yuvwjmSa=5nKtPpf8hJrS+E;*DM@;-&#;> z7YQI)4hwR6b+qLFz>{6-8aPX*U_HlE_a9*r)@><7`>+>KneCv7c%CxbL23L;_J?A_ zo>K1ph<@m+9e~bHLE?U@quV!FcilJ{@<@_v#S3!_P%6}Idf8#WBTo3?(94PKRs)@% zPJn>oU#YD40>-3RgCPt~JV|TLhX%JiuYjpJp=U~RGkI3r%0jTFm(fA8%+(O}htCRX zcM!eXhvR48fuUj}iTDP=?brUso&GH$wcI&O zD{tgD3p0cS7o+B#XMtvJTUEn-I8pBG=C)SRxc2gnp4n=Loj`K3W-cS3b;Z`1AY;CI zE7hI+F0|U7;F3UBRA$d9GAAG8s<0&ehByML!IK@PnObzLz3!GSZ;m<;snmR%V(Wvi z81I7m)4&)RZN{H*a!^f6&hW#|ErnlSEI!>2{$zG(vp_6Qc$CEKjXrINC`l}|iSn^OQN+7OSn3+DK1<`A3Zp1sq@y=89~n8!g%4o_i3Xw@j( z6r2V~eZ(YpDw#Zhit4_XPZ~YFzo6|ra6GsZ8WqUULIOR3+O7XsRfRA@yQ})*gIUvK z^B%#tj9wb5ko`Q%`eVow(e1&{SiqiQ558 z?vTl7DA-A92mN3yz80@rqy8Eks(Eu->XSl*TF^Wm$V52zbxY>7lOn{F0|=UnOs_Go zxo14nEvRH0A2;hGtAskm6NW7q!LG!JPDh1$_ys`#XafNLlxI2B=VEP&bNC$CXQUVp zDLgLs+QUA*9{L<`xG~;OzB+#|AyR}Fu2BGk`mB7`nT|y!YlHia#=sb{ez3Dr#_jk3 zHWE9CmGtA|x2+%WTvSlLZ+-(Z6wx3rl?2`PTJGjppJLLSijJpS=Dr+h56(V!h5g{m z1KJ1OmxX{})M0|yvIhqAtl>+iK!vGUd64KxTXZf%8T8;-)448)pq3_X$!Fz#OLUEV zUGzsdl)bHnd5U*@lha^1T5)Ekw&<@GcST~)QH=x<)#n}XN zi8NXX8X4v4u{k}^n53GXeyLbar10b!uHakK7HA}RDjD2e-=9l~80>4rz_s+b zYu}Gy`mb+;FdDaUw)OqNyqThp!rgQwB*+!Itk?I>?1Z|AD%RGo45_dRH5YQwElI#Z-l;*=P~bB&hr6UuAZ?U^osY`t`g}=cu_k4t}8jC#>&{J z2=}sVuz2V?2L``EC+Sze&IoA51(5a3pZXvw@DcmsP!;QQkXY}{!};B!dRRy@c?2Dc zg*Q3M_~1^Hc55Ir?b_|{X!wl_wv9Xs>|n;hhj_HRy^NEg^qr+2EzpVlz<4Qt)k|K- zT~ai$nCn5bOIb0#@6ECMKiaF{P#l`3fX+MNQ4wJ4Ask@vA z(L+dIZj5F-JiM^KyTMG9?(d4eLdk{U&8LS#oF`mFO709scj+43ksZfd#*+V_<+8VXhF`6ZcOQifux*SUx6&C zuH7ptn0N!w%Z*Z$;TAJ_f6d?J1`{-vr!hU91llO)#di5((`{$GpdSe)S=qRgeX{3l zMzrdbI+nqNN)Ljtxzg|JTAoSPCsT^rqHH^Osj>Tvr zC8uEwWC5brPmNF-@PitNCaENBgdyHsly>dXqaRJbYrVS3utd{cC{d-gXZ$zOr0fZ` z#x2poJ=|KYOuj2K6K>%FX(7sR`xPznVV+tZkbt=h9@gk(5};i&4B92cZzpKbJYj|Y zQ#%7d%X0_=Uc!MNY-n56@9dHWOkhu>EfewY$O7Q*bsW|LPH)cJp!pUc$r$<~_bUMs z>&<<*>bLE60LDvG4Ktw+9fqpZj6!V?d9ys!^p47S8t!pTqo&s_6aZh4tLC~o z95$FJ&=D-AlfLpVEI+94{BbEkQ0WK&mFDRtVU=oyZcGl*fOe$}og!Xx=l+W?g@4Q% zyqR{u<)pVIv{D{Da)DP_GF#vFraoD)3&ro4#Dj+l!cm@1D1e)|RR%=F_O&yP;DeHm zZni-i=?5jOqiJjNG6>>mlRT~~C4QWt&v#@ZXRwJz`bNB{>Pe~;Fy`{eeO1`h{WPSI z44VTvzJ50p*$Ydh94NeQUs)^*bB(vhW9&ELqlA1L;MTw8hmGS;H7AUX&KN_&WkPOE z7oUm`8%A^iuu-J`4=;eUts{D&Kkd3vT#kBW5$QDjA+fXP<`BFJDWd+9&yL#OM|afc zD-idw`z8S$^BC!^*O>AqUJRYbER&z`CMh{#BmnO$Eg%|=nQjx1?!3i{*B{SOA)j-< zm{aLZ7W}C^Tn5&cCT7@`ej=p)a{oC@mghYA{j~ZJ9jS>7<~l$haWa8l9DCT_-r6)S ztsjCodmVRlqR6Fi+X7AvsjC5VC>B$G;JLnoFR>8kg6leV^|kZ%K#I4YeE7vvb;5%q z-g(q35la-zRZHVTJ1i4)81e$6Cm0c^+F|*Q@JqgAn6Oydz-%}2Wj9~GqONdZdo$88 z&8j#qBY)pzgjuK`u;`Y#yL9;%d-nQ`aPo=eFHv zNHs#mC6ED|F6NKpv3s*>l;ce|ZSjiV@H*D5n-Y;Lr!#`O`||AIkyYBE9~|M&9^phH zph!?R9;0~*s(T_g>Fci$ym~mn7T#_Q&!PL2;xpx(Bj|qVgL%rTHsPWye(Jmu`@Ja% zXwKM2*QqjfzwpI3UPTVe(N_5Oqzl(faPo{~Mz^5D^rJ7&;y;(YoWR*{N=XQayZ$7u zx71XOfWwhER{yIAdZRB6{iT%{#y7NQ1oO*;x9P3lL-GIo8(?fe%b3&Yq#M%z=pv~1 z8g$t!*csc6o)ExRzH8Xe&*%VxF};t5mR7DH`xq?_Axh*q*Qf!!=L#~kS zl&9hy1 zs81aB7lM9x-<1@qtAm@uuKyu&0G(PbTz^7`Z7ka+!}02LIO+PHEZ?5!$MN({*-k(; zCBFl&Y#-qZC;_d|M(3{i;iqM3j%+UAiczMR$S2jmgQ8l_E?xt3dqSZh+b=8tAvSe_ zt%A=AWy&_-o0mPQ#+KnC3l_XSMQ+btefRi^Utt<{E5K~O@tvA^CFPDYB>}hVj?3H! zFxlco3E_48U-PL+g_7go5m_GK?m$YCt?3J=vLeF3Gq{u61<)@(ZBxW=C3kEU`@v8KXfNfF^}bG zB~HB@=kROcybx6Ls~SW0973A89C{m5dssQr`H9UGUyyGz!FVe3r!E*&rS?*3V=Q+O%=qkwcLlRNqX963*2x-~0Nmm<~CD%7(J~fY_=93tkcTZb6=u zvDI)(r_3=_o*Lx2RCw0;n_+O15kvz(7-sb;?2l19ij8R3(D^yYwZq4;oeH3GC4$cV zS)sbfLdAt__T?R2>FPljn8*$yc4Q+w9-z{sg?TQv9mo}zP(i*!b_W8 zpLC5=n2x5_ih;=JPlZNz?NRWiW1!%t#r`tg0v{nVj5NLp%kE#B^>f#R+;C2{k7iDn zVl?*4<}!vmt@Z^@#*`nrVNbmAywK#Pq++OG+~JxdIkYb^FFR1`HvqG&|JrZQDKan! zqDWnc?#|PCz;gT=H4Lll5jizj)@2~5)HcLF-$GB2lISFkw96e)pb_=f;&YIohM@C2`jxNvqL z8hd5UKH7ei9cZM%SI%%9$f#08(H25N0^0CFv8+bs*9oQH?5CIPi(~{Q1~O!mXgx|& z7-kV$*RwWvx`9}78yMEa>G4*3c&AH00iA39?J5}MNkKxA*{25>+{`*n?`GPcF83u6 zK#PFpj`i5x%Eu>9?PlHDZf2o_N#H&WQ%7`*Mbx~laYx+>89Rg59b7gLiD&YfjW&in z1J`{;0ec%O7t3Z;ld=4hDc^*Dt^ZF0nZ(32?r-DC^!nvbfBtO|oh8IX>qGR)x5V;> z=Lo&Q!29Z#-}#8uk=ZabYV&=cS>r&-p+Ux|Egcj*aH_e)b+jIWM)As$33!468yWlr+b8v7|8`JMM zqW^e5TDsk1M8@_Y#^ZjMNvv;-L9z}INdrH70Z(Vf-P2EkLG80OZ28UQ=&q0KU%Ls_ zmc#z{!ubEZqRP^BC%*C784Z=?&qQxuWGlOU(~qq zx;>JaT#=1!eR==)FJ4c3E9By)ZpV-Phto2Ecjw&pkJ$rr;-gDV>P%dB2Fhu9a}Mr| zxOmbf&eG%N$HlG}NLpq&2JoxX% z{=Qc?4;>Nk#NQFbttW8MpKYo?&6<;_PpFIQTxKCKt~cAvSPW`SQyAnapW>`@*=>Iv& z+27VuL{sIQ=B^W5-Eubj?DYG0|KVPsKkZF^Lw@28_Cd7tGc)ZId%t#-E8>2A?^x6l zMpb6|JohqX%>uoX8ZaEg*_}!rN9?yF<9Ys=bU-snS!?HyMUcbyl$br$33T7Ub7DN( zoA((^m2B@q-B5=;QqXRl65A`LF7Kbd82ILnDY50QQhPYa_WSwy$1;{`&96<4w|Z#S zlUk7Dp~XBPQakKXF9vTYc)cvUSjfrP`{8Jj>_e*9B6{rYmzcjlY`q$K80&8z%KrA= zFt9$zk5#$(^V|*lYcf3YR*tNmMqA+Vd_F)LQS)3`p238~+iT8VGd?(Vww)=HsAV7G z`u(B*d_y(uR*9X~{=^Q5{3Usn)`O(&>xdrqxK5!9_Wo@g6lE#t*7f1FA6!mJF06i8 zq!5znS*tHPdqq*<8ZjSj$mEO zjAqMZrY`y>Jlb{aa_z4E{Jg)drCdK;I>Wic4EMrmjfO`tqe*|VZaYTFt0I`X1l7&wk& zX5zuh_SEnZC+=O1XcCwWv$^xwzGjoj1mv#z& zV+ho9R!?~Jt_OZ9-?7T&vF4Ey?NCGBT+rfi4TGZpd$K?O_up1g=q3F1m&B$ED~ z>z8kex8ini=Xei$rF8UZ2LxQ!Y^)BR-`Rn#+_$58)u;o$N>lnm}W zf-FoCdm=1}9V;ipWELFb`t3?L-NyaSEUr$J2b~`tp#S@!8=>^9ud^2qOmL8R^Srv0 zfY9i~C6%Ex2M>1iq2cN?p3nrnvJt z>XaA{74oFBB6#wU73glIo=!$guWT)OTwL-ClwLtb0^HgEjEnxhBc9T*tkHZ#^-fN5 znxP*Mq=JI!oeg2>Sv`-93?V$%SLY6j@?|DfdYAJBPO(CYaR1}=6t$b%?Do>+>Ghxn z+w7ioLZVmSm!Y&$()Lg;8@{c-p7)yXtYn1v0n}jKPxmL%h0|2OWqkivr$;K6*ua=L z^+-VdK!&!@%H^6C!Tw5yYL^Au7;<&m-?p)H#fkF;(x>$S`?!i8+xY!IJjowUOUMr8 z(&{_j_fa1YSt5JzdacpUkd&$nc4ALey4{sd2*KhCgt_#(wjAObKel2~S|;f8M*#G< zb4)5kn$&PxvG0BK@-@RzBtNe!Ro}!;iWI5gLl7Kt>^8TT2OSXzJ`>|Mn?uyyA*u_# z!zT8}8~x*f$yM;0aV~0nOiLSC&1G+<9=SVCT!Q(-j&N^s8w_Oaf(=Y?KaY7dY1Ri_ z^CrDCxlsJ~TMcgiPR;rD-1m?OnWy|;biCWFCNq@VK#cW~kOkZGcx^}U0W`m1Z0pC+ z!j*nd_Lw^c_8-Ro$Jvp?hJCKo9~`DvwM2AY*kRo4b_vBc<B3{~q5++2c z{lDCwfhR@sCpf#|V8bBQc3D4$+-^8$a=Fk3S@H6K(G7v8{G4aIBKt5%i2v>i){BIS z795NA9P1WW{1`*1(9|L$Q^33YI%+s6uhW$Fic?6U?sfk7<7EBgx~1`Lh_fSU3y~=A z;~jNE3<^ppo36jV6yq&K1x7P)G30rqXw6Q!a~ygbPZ?KBjphH59sF|}USu?cNLb*3 zD%x|R{hlk50OGBXoW4hN{7Rj-w?b;2Uh{!iR1sxoa-n!{^olsgR*&I-I25yc6??7T z-?uO{rRcA0_$~ZJs$8=<%F+$Nov}L;Pq3IYT$jKz#*m8_o82;vQSHiZw+rsUg*aU`IXWMg zW(^;0U4A^Z-l_iZGS~@8UuIr5LN@5m!H#6^#y}okOQDNqL}eA2PyY{>^xL0!#$n#S z8e?1x<8%+@u?<0&Xpg?m$1tG!{oDS+~jtFiYHelhqDVUxpB>{ z|9)gL>0vDx+#kC0+8e*A>?J7w@Z7IPYsmiD17occT~+lf)BKuS(L{9*A8^i;eSS(s z{qJvA2p5&-&I_u4lsmS9#5FXkY-@5k;XNXxtgv)rb$Eg7fkiE)p~cP1#&N@U|bEM_>*=(6CqOEl)Vc9Qof zo0*ya-PE3uS)Rq@71|!fk7V`FKo(X9uQL@Q4P{^{abm8o$*nFb(iBaMhjX5*vl!b; zny_*I`{UlzTVA1DwANryf0l8v-f>BlT~U0mF}8dLR?oxuymfCRCtLB;PW^$36}W%s z@q+{Y$K{ReDJXOKq^4?jCri=8FeHrGaeU`vDx1w+nyiKh)_i|R-~BMv=Gkcv0hx`1 z^6)WZ>wkCc_tfS+A8Ca|FV9BtY=Ls?`~KsKuM-AliTR&BkLQATX$@;2#%~UicI<2j zOS(Cq`ReKZ`vW7NXpg8xx29QK(%7vFB*+9uoK%+I`w|-=BniLmvJ@FpF<&?GAb93# z#p={t@bT-Q|9N2GH61UaPA^6*(q*c_MYd>iA*irf#L=%jBy?dQyLG>NtVh=D`qNd? zhdeWMhX2bFW_`FOa**K?uv?d*KM6j-h*f_-)FYYv8Frk1oEP`82YadS@WnNqvmIaF zXZE=Nv>|@8+TV7)6&G{}&Oo*(qL5)WT4Hm#Tj2257ULRg)!FM@UUm}gb6g)ZM@vNb z(*K_pu=DFA^ZuH7mLjJ=g4G$;Myjy4*)#b>?mLm9+KX*yR-Jl5x_YKk2_7ve#i?co zd6ZfGpa0#4X+A=dO|9aJ$!vwR zI*-2O;5swbZ_D-ndCwvW%OzHqmJ7PMr}S%^w-W=uO%W@Fhd;+P_ORN{-79~z@|mMn zxqVUZ)tpBZT~3OGiRIOk?KW47vA|=_w)?4BBl;?zWKHrxv0zE zy%+IEPvRfWD|rO=q~6}JhHvL2%Yg7E2al|hI>4rhYrtk@4DmB^6|}3nZO=n4b2+jl zmfbG;|5>r$qL+^F29e=kdcVMY=S1$74y7>jqklgf&**p8 zt1((gs1ssT+swBR+9$6PY3yQ`spZ%_)!NYm%5eo_dFEbU%#yh5SU&l`Z0GJ+c*gg! zXvB=Dk*p;JL$=HXbbUD$Y;B3qPDWQxe#V95NWB*{?bxgtc!Jkz5z zkh!Rg6`6_5k13V044LOS^JB_m=36(~@7~$F_x+CJcl`eP{@J^P=f2lo4?v~ka)}f7k6xmb_kJwqA%Gal=US0E9Uc~bH*Xti&+up;Cn2| zD7I!H;vV}azm(;JDGZeR{~D=xYz`(lJjP^qQFr0Da;CD7IXsDCEJ}v8WUVW@G3f&Q zpy*q{&O2djGu4V|93+qa%fkf_qE*L3%3|MiybbxrMEj|NrA6laJ?^JTM0f(+?@nG2 zYd;}aR@UgmOP|mBQpi;Kqurs%9gp-kN6<#KxIQ3nu=XG;fpFb%`n5@Y%(;5H8Ct}RkDz{FSw7@s zf52qhhxmRmSNeU}X{1JTMYXYX>n~j}&Fc|%be(8Tw5;#okd1a5d%f`~g3?dUJlh4s zJTve9#>elv)bD?rp=@vdFzzv7HG5o$Ef!rX6WYAzW`bcBMf`rWFk=CQP@&_UvDOGJ z90U)i*bCnUkNL!j8Ia&=-m@X#cRkbil;p7S?>GDlT$_ z${4$F=YKMuq`ZUx+m~YYtWHYYviXmmrR3K+%0Z}=_#9pznV!Wfrtk0N>mDrsk()Sj zi0!`s&=7+4RtL{)?}L za`DNdh`Zzbu)oU#A*TnHFUKr6A4SSTKIPr3vZgur9M<%J3JaV+e=h9zzwfv{6Ulq_ zSGY_ARH$Y7jCdNKh`ub|)K`a^8kC{4SVC9<>tF*uMVan(EBa&9b_Xn;fjn((XpRp-^=%Z%` z=7N)@^ku2{bE8pl{l<%tW+T-9Vy?@Yi?z9C{TneMjqe9e&NLNmR9>w#WmaOrbGUp) z@GXz?3A+j4W%s+7Z{*Rw=!pK+;(xa$Bs}j!Bm*_~@t)lAsJ)qJ?*DWEFxC3LW>Mo2T38&9^Jg#ow+9O&f(Y6@gpERxvUsBr-(h~y zcK-3JwtrCm9*#i7nUgre*i!t?!&Fu@dyEoXr&P!#HBvO~{>Aw@w*heM%HQ`nO*hOMOItr{h za&0U6w_FD~gC)bbV6uWaF5{#6g@FfO|EFUyI+im4W$vqToK2w(?+s%@mYJukPhvjp zNg94D=u#OiT>rL>cOL&-=<4P)f$w;KP&sX!V7~ml3y`BQQqh#6b8H|-f1XH8O-O$CJg9_*vj%-Hok2i7GV1QxiSqy z1q~?7cHWZN{NHCWZw3?noa=V0y))kv#6wJzmT$Zc^ZC6W@*+;wEEaPYOH>_8_=&dy zUWK2FRwG?CQAyIkxI3AWONzQ`@|(A2s4c`h{vI}{JluYyaz2Sd&LA;|lm4&wv`cCg zpK?EwC~fNRO9$l_`l8p*iN62YoAIl=*o5{##);{F9n3hMNPt)ALR49Mu0628IH16? z_aDFg&zD5G(Ny%$sX_(cU41O-&oBSOAJAX+5@#CQ-#Vyfh~_T3bHxy^;rG}ynhDJ< zp-*MPXEGZ8Ul^@^QsPXSp3Wz22P^tXY1*D%rTXnk&g(My)T$GLDDr?{Bv zBHLoGXao{wES5?Kl3bSgeIWHD$XIk$jV_FiwK?$HXCUzAgOa_g&1oZLCLcZ>L*+}V zzdf^!4qMhpn{tR<|LqZ~NQO$gQRs#1($t7Gq}fi;|Ncq#9@tt!&yX6~-#!Dy@gn%u zGhe?xmq(T`P@Y5ew@awh16D(j9!)o#Pu9pba!=M+aZlDQ=599EpxaNEWG;b^cmvc7 z0qyyFCb{wrNcVK6Nv8x-10@8(~!~LRz6L6_}PxA8LdY`oY|5z)O?!(ak$q%{LTD3B2j?! zR*b0ak9f_7M{tVg#LYfQgMQDI8?!)Y0f0KCo79i|ifDd3d0Gp)LWeUamu*FkIoqB| zC=zg}W)p1kE~En4B~x@^UP_X@=JY z5w1k{_7%lVGn~T{&0JMEk~`Oi^n6L*Gf_JC{!qwH6QlxcXlZ)Zq<(YLf8TVuBe7$_ z{`OPe%mJT=lfdU|IN5-?%?N|&Tce%}pDO#3&!(29t!1{Nv{`O{su!)=P;)YV-0Ng~ zhgU4$1;U-LmURI-|C+gQ@v%3_TetH2+K5fwxu6R<>k;~kyG;{WOHAQb8=1{F? z#kmt1Ry;uX1wFx2Yg^+6s*%XfJlVJl<%Ek0_2KY3a53MwS zCr_8+3hSa6hbh&YSgL1W%3+2?}HW+NS={Js-0v7bXIk%|ylVzK_(jaXEs9TV6 zlxgI+t0rsZ@Q0+lVDwS{>MhOn_Ooa;TUj`{-Xn6g+OEV>B3ofTzp1716xx5PU)m|d zPO(T$O6A;qc23aG`u$;5n#0p{E#j=xn;W+vg2T%D&TxKWv4Knfv8G&9%GFr7OYm3` z*aN5sj*PV4sO9wSgAE1lr3;TVq?k6Xc%cWH!=hBzS7Kxyz8M(oUibtlZj;3yO*?xb zRFYslv#e>8sY#Jzto0?qc8B%P~W9Am`Qv=6;<&0 zaEG7;;~wnl{76p2X#MpLhG+TBmB{f?$|0oYjyhs6+;y0*rceOb?JEgJqB-sC3SA59 zBkv~R8*4Vd@$ZbjojO<#o0?L?$&Rc%XAAoMZ!s>D(vj`tpr$>{YZn?+m^GJOk;X-h znR*vO^-zMgJyXkthg#<`_3zFOc&6DLMc%Jb5-l(u^10!Cnh(3N?*2--axVs?NiS|; zO?{$nR@qChUu=hA&>~24?L!)Mvu6O5Nok&$mi)sTATR&(o#1$H9z>d3GjOm`*#td>Zl7{c5k{Obz-sdiAwj8ug-LgMQm7uK1#&~tUDUI586k6d<;>KM~|HT>znn;;%lyBPHGffz)|HA5; zDs1l=i$dSacTo=rkh9$)o}+k{%FV8L<9zMD@;@J>q?s7$YwldA;-K1BpL}IJw-*S@ z{5D>y$Z>+5hbsRV9IBjVWg%4{5J+iMr^=q~G{j%O5-+@sEb`_BPwmD#d|6SJA4RQ~`~0-A0y66*9l5f@a_-?iUl`M)TF9ZUcBwZNgY^b&=;72`pw9gVas|zH z^lHM%@Nl=?9{LpgqTe zEC)BXe8?75vJ9Tk3Gu@HK1zI|KU%d)wXEFSbcVIkPk8@pJ;n4HiaIhagpkrCO*JRr z1_?!ca!Ec}lEGjDrYu8%bXHF!y4uOgwN_u<-f?&{(4b8z7w3{b-dGj&s1WVO@!-5k z_Y|m^+tBXpUT0c?RJ=`}g^F5+iIh(VI2+@X2BQSav%?^7@`>J|b3byMNm)@`!0$}| zqi?*ZK%+FvaUE8*hJW=U^Ou=OYt^fRNHbgBhbdtQ#==SrEcIypiuqRJU%Ddu>Zj(t+m zg_#cWZhJ)(BSZvJ^T!f3VEoKJ-RMHOTb2^s*`9 zCm(<&_CsbZX%#N@(1}e0-2pm_B{f^?BEWiLvhZO)^pFkG7ebM;ABvTx@pvD1f+0hB zRJ6Dm*XziuBuHSts`)$zOL{p{OgI$=RDAW_n+bMV!{|NS`EpxdLD}s!oLNdlx!9$? zO9yQDv}7d5{jh(*%)J5u`et)S*X(kt7m3;@k?&S2CS-U%JMRefL#O=`J>wx~OhRqO zgq~t|MC$qT5X~dGGX=Re`8X=-Ndi2$Z*0OC5p4G7$=Pp`)}JzXYKLdoj$+Y~+fOE5 zcsNTwT7np1__=i>itd>wv59_KAo}{Gtb;#|{D?DRGql#x>Asf^H;`?*OlGFc)t#=| z1Gl;c%w%P%c5e1oS~&A5^)}|Zn-SfvQk}2u0EG#SNo_NI0`0#(QZ^VFF_t;Tr%~=M z>MV436iQ+ve|#<&X21+*fneqwDQ)c*hZg-D&%bD9;Lv=uUdKey42V0(;mi?s{t+Q-I*ie@8RKQlu* zGgew0r%<1GD{isx`kYw?fx*@pdTjsJ^NeX~zoB3XU`9i`>7%G87Qs2M zk$Z4Q>es&gp_+1V)40=CXb*)IdoiKmGL;ZO6J@dIs10@|+3^GLD0Z&sEOo%6zqsbE zZP)Df`XMOzab56VFGgXDR*1~B34N=;$D-(dH10W&q^-tSwu14~N7`vgW%%VY?GgrSf4Lg(py5{td9 za2wouT)Bogr^_4>Io&QerN%Nxw^g@Q zd00|FUjBKW??<(070rTf57~f9yDm=qE@S!S?!7Ra-Q7!JTvgG!BM~m3+5OA&S7 zEtrL*9=ZD*cCJXf`B``{flr)#7&S;%A2%s0@!`c@eE=mQ!A zRyHW{$#!I@189F7kiA=!A(LUSyfhpY)zO40FsN2?&ggJ}S(q$ss+fW|pgex^#-~S} z`#LJGz;uap=Zp3Wsj2fk_R-=bVKCESzzQ@YhR8fab;DTSxxpZT3)UNh9Vz06Jz##h z6-c@s6mz%U$OItQ>o3SETDXDBDfWetBQ&;27Kv^{RnPLeMuOkGrf=_YnJPp^rS-$u zdrlKSdG=!qIEUhuu8Ypr|LT4Tym_kH#*X@ZGj1Gt`o~C`kz=VS5MeIr`MkMojM}sZWd>?lUPAL0OIF#!I?{3iHO&W zzZ5OrmLf)i{Z!Avt<&`Xi zl*3#V1JKM3`#2+ee6?V%#>a4B)K%sbG6s(UbXIR;GczO7V2UVxi=NA5dFg^|v@1;Z z2%IR1y#ECb1OdCKr6deeh$3EQ6TL=GCz#y%ZZ72251w&(ouX+kzQNLB+3AhXH2PoG zW=Pn>-#LX#;ZJ^^cqP&zr1|EP9VjWBG;h!Bl%Wu$2i>n5f6(%q%t^vjyQ8!MrYb{G zALOs&!0HZjd-er=5KNgz?!m*WnX`%pBO`P3>>^?QaCwcq)MTaK@U2%kxZ?iZv$yh4 zn4jUpg+csXpysBJUDq#gw8D0KfL@h^efQhBxyian*E@a9+Lpc~lx(*dBuSDNz{@|_ zM^B5H$dF6z7V36nVQ~9V-?{ekNTqP)MzVGe??UYo-lVJ>%%;?3m0St)i|K(;&S&)eNVNYo6$@jj1z|21Qww9S*$z zF-NS5s3Ap^HkYIS{~xaY`4EX;bgFrJ55DXy<;XYnRsIF~O>KgEq!*NHSY`vXg-Q$>zi>Z7w7=N1a|@hA?^;x}9~p3ghAH z!WQvVYZm%p%Ag;n`E5w!W)JhcPOq_|1tVAUdQXk`5dF_f6t&MX|9fj183 zc50B?7TmeggmTHC`yo^`<2%w*?9u%elyB2>;njtrPG2jzi;TXJOvlFoGC^kFbRHR$ zw=a+wjrn05Q+ZeRxe&>Qg-DIacrqZ1-tsY7sd;rhr=jlwHW_Bl85r9G2WuQynP*u? z#Ox;3LhlUnv-kn{DPI(Sb0z zKJ=h1M<MfR5}x)OXu-V&Es`K4sP%{u5FeE8trv1X@TPlNb4+Jt%F#JIbAetu;WO(dG>sNP zE@bJzg{-K?R|tO#317k3^QuETf%stvZneFyk0-Dq3E%5PG%mBwQnMmsAdb+y`hgS1 zZk!r{W2V!tpxtT(gS$V+$Oc<0+mAJJ%t2YD2j>iGGUXSqFvW1E6{|^<7e7 zjKgvmn}No$4n|ERcENk@ol26zn~WWKmER(Sj;}?8tnur0 z=g5Z?c%}vjK`hmKJQc&M=dm{5DJ;87ERPWxep5d^^G%Kq38k~?x-G#jSun+g5tBV3 zLmw0|^pK1W_t;2rqd zPQDv=7+0x%iCn%$=krWg&`EmNTk3|i4>DuI>7vH%47x7V?dVE~W`H)1mVwVL%jE=76cchNMOj4@Ukv)vA6ruX=PP~7F9jV+mJPdQ~*zJpX`BcL1o4d@9sbY`Z z#Q*Y;(cLlJzWr8ItM3ZH3V(=gJVA586s{R__H9g7T9h~M4SEr^D+&)iJu?>nhBH%E z;W%rZo;O3Hi(9as*{QnqG>*6!eBl#9@e!}sxYnJ8mKCI!+q|G!3 znA%A_$tLxvO^{(4U07Fgrws+PYQ#X09PeXL=JCMGs0(nm?t^&vyhBw~n3HZ@Ui$;9 zN`d1{zvJ9jAsdV-J98f-GZqqsbtoXVbtq(`a|7N4pj?;-Zi~d_JI6nsPf0+nfYxe1 z1m&+On%02EP6fe;0jqM)Q5cLDkqZNH43=hx^31BR66=tU46nO3TrugD6fVB4QCNUl z@uuSHhvAx4ZjQ{tAlLD9MHn;<3)R2hnnaz1t>&6_JL=DRAwRmh+}1ZXX*j0FVf%X5>n4NE(hJkO ztUvoS?Vd+ukJAm)^ZyHogKA>?>HHH_oSUp-ylJ#JPp2+*`YAMSI}c$5eUVDC;QP)G z$r%}7WbQ`myGo}`6tcT(@M6cjxcS-Oh_^J{8WggRoNyCuc^k6!0s0w+vfVDxVBrI) zX_qTFM6%Zq37#l zWTdMSvv3t@%y5_)WW81&$%H;7r4_w&b~|vs7=|_Ut|3ot*m5&8dXm zqbjmnCjr#v=RbZR?pzn8a& zn}n%S8wNxm=HUxUNJeuC4VAnNNH(SyXBavGaIvgs9hdW5)WPD}Wm1yNP#U!wAMzG&_EhWYJrfER|IUEepeCtJOLHDXibk6qq>(LK z9i$tRQvE+s=6~{&cozgsSjyX}2q0)8FbmLxvU7&={I^&+oA{ge3h9I_o)oVR@y#G{ zWxXI^ms7_0JTf)zt7!hPb_y%16OOXZBX>xQW_s_D!=ZkP#@)aL@N?Jc6{2xG4sm>} zbrPWNbV%^FMyz}K?Zf%N2_1|G-sxSo$SNS^HdCYo$U-Z>zPXG?z)8K`cltw@hSst{ zjCbWnmG>TNqD@;>1pK@)_ExPi=DN?~QeX9HmGrASm@k4vq}D1T;Hw%&h{TCzyva)5 zLD>^RZ3*JS$e=8kB=(5jzLj~Qw$h>#=ABD_2@~R5sD+`GKEUm;(+XMWU{eAJKBNJ2 zbaA(ss)YJTW z_G@F#tyJ?BAAx+rAoVGPa%AioKw(i@flC{UYawo`F!l+Pq+T9zeJ6wQli+;5<=pkb z$lbf4Ju~_OVL_ehn*t)F!vKANWN{_s{Pf!$-Oq;SOFS5>Dx{9T8AMRZQ8P5o@CpF= zP|^*H)_2S~7hqJX+8;;GoLKM(U3+ioHm+?|vU|@{Oo;56b=apqtj~)^O}Y!5!d+)8 z0|_1kZ;1BHRIvDe0$EGU($lM(`0v{t^SzmT+S%L}{Ei&98Ls)7qT1%qq*6}q+~#t< z+9e}kCTI1G6oCF&dyQHlMfd|!7LlM%A3gK^xj}zSumWd{>+pZ}=C8Z;6!YfBUkk*D9Xwx4Nytx=lHqg@xc2PP#5moAea9<@v0_xccv&H2@ka>jAKx0quY{icu1T zT?f6eRfR)NLtfA3|b_lbuHA&RHP$Fwu6rgE2e~ z8j3JL?-24!yH~G!&0+&HUabyx7YzonRPuFkjdmV$|Fk0iwkPsMV(&%18`r zUw!qc>cMwX&QDtu@lQ|sGtoe-gr+^XiL53`GFy5*>0a(a_wRLlm6Y3UgwUhteqz`a zXKIXgOtmpoMRvtlReVzG=C1I8T|vJ-8(RDciQd{l@}d?(AdpO>q@QVW1>1v+=d=Pn zcIkUWWL3KPK#B}|&V>0@5jd)+Xi*_is9=40JS>gx^FDy7%(rq8kJ-&vDd~ZGAN6%o zBGTSc1!r71QCkU0q=x~ExdXLYQ2MH>TW$ypn5NJ8Cmx!C<8}mz!>n@$tuG_Blf3UQ z7eVaAIxf^9Ep+XS)PWGjlQ+)WVmtE!IKuxu4?CW>8E~Y5EMGEz1>^M+eS%yuSFS+gF5R1qj* zvk^|<4k>Tx2+YwR>klEjN6sL2MghoDPpKNf9o2;QgS(1_=ry5s_2ywrPdl(bbTBcZ z$c>jm&qQMdWR|N4tAYbyV2l_3zB5cjWV8oi3}zM21_({{zYVkS2J*|iXrpLt(sI~y zfQtU685dt&iz$6$lM7?pX%uJKBGgMz5)`QF-p^U%9t z!olWAq=RZqNUQ+NuhB$KBDLCCG9*1x>cU%hPqMf&u%pG+H1zIn*XVLfNW!l9v3@d|jK}J@n$3gxj|6?Q- z1%cw=1^0+ERyTNW7Y~)wRKaK6L&~HJS02fW9~3DES2{3L&gj3%PGxzmi#2sxDzW@) zeQ#cVlO1>og|-}wQZd2UySp^`W7GYnz7Y85HA;Fc=N)IV6n;JHkBB$iD$G&68=IMq z8vf*C#f*U;2*3$f&0uk{X2o1)|C3hVwof~R#+@S<=Pz1rN>j_lcY0OK7c}j0z_jO7 zYsCF_AX9#H){GC)R~80NXu+vZvs@p5`H(!kxxJo>u8T}0U)ev*7)Hv=%wG3`@EO;s zv;t|?p<>v=lJ@S_x<&pBVo*%TTd`E`6%!UB8G?kTJE~P$JWpRARB(_Pp9XCiHyO?N zcz~Weest7fb#W%F7W{=1E2G&(3EKMTv-cEF9Ghd6^a0mgYt%7l%t5loZZ`63*!WL8 zI4HMibsV%$B{vC?!&C;|UawSIcER09bbX2fvmZkV?dWcRR*Ll%r3cjKIF3;v{F&yy z%uq5LORZ!nhqD{VG-XFs)uM$N4?I>h!2ywrmfylu2xDZgJgp}^der8M_wjgjB?_!d z^_Rk_!lQO7sKet=y#Mg@667c3;5>FQknO0hGkZWlKtZj?Oyp^H_PD6va5sgbaVOU! z72RfO^O~Z=XI#>HphVGifb5Ccp_cTS6Ot?q0{MkIVI?Ky zNiyAD`niud^WhtE(`Srm`$B}Q709!neCc+EUo3SXTKZ#s{Yc~M}>R#)3EQa%`VQFUaSVdBm<(&rj~dCuIfsP9Ac2vif8;9Z}=4Agc9$Ek0zK5dg7PBdng zm}HmyRK8(qTgJ@7rTr#~a&p1od7huhPU^S#uuH#O-oL@+J7h>f;K49|IJ+dueQcxs z);yh?6j5b9JZ6Cf!Lb@D(*>2Z2c1&|a|&$*PVa@kba?(j8`82&@8G+jQp{U5U4l?0`I-~^8fT7)CoK_ z$KtV0cf83DPmT{Cy?Zy7;CbE6gudvLn?J^Upm&Ame1OWmoj-g&epl_oqqe;!_7#N5 zC;CdO(DsBa^zn8wx65_oqd-&~l55}Efmi5h&;wJqpX#2R4+l-&YM96^&!piHZ~w=& zmPA!K@R96~A3x3;n>qFri!CjR)DCc~%lw6!NCGx$6!KS!BusoK8yPKbb!c5Y_eBe`}?JoHbCfjKjp>`WJQo65* zo2}1>rTjPc+l9AItkJiYXyZbXxpLa`h|ey(5bA4Ep|KAimN6q{CpccRpndmF_=A5i z;A1f0YeS~d3w3yE&+lBHN38%-xCyK#8%44-e)&MTe`vgAy{W`v>A6ujMfO=^~g zPmh0i9NSFAsS*HhS_KZ03nWD{r)pA$zeGvu!?rN;Yl`R)xSS@cB1)})ZZws4qBf7P zX^*+FJ7Ig4MVGW|U#VAyWsgLj^^kYO=TM4l$$P1K&OK1UP{3ikxQuJU)A!^EgzILR zs@`f&evxU}qgNHmH)W-6uinzM>`yOhgykR`ixPKf<}Qc^K4woB#zBab#bnV1Ix^rh z%v%~(Y#~F+xYfW$sn*h)*Zp3=v@rmvs!Jfd!ph8iHr&HsJNq^VNNxn>=AKD2ymjlA zk%L3w1KwTN=qL+&s-JSOKuKDN^ddhfx5Oyd|lK<^?Qh-2cO(c zBUL_l*(`T2;x=}!-PYFvB=OW-i=n9IQT9@6KZ@xOyvrkddGhCcR_mH0G1?lZkRW@+a$paSs38226sXn1p>#G8`$HBqP^lhPvs+*A)AA~yTw%jJe~ zXdIAD(<|H?xJy@hr@#AYP;@ENwa*Jl1ns0BBV-u&A7@2gViHAZLY~5&HI%jsjVpjr z`*RDCTovt0?pznmQ@wWDLqieF*i1*Mb&z2IE4X83--OF|@P&T!ubTfd z_j+S3h(#E!TBW&d28sjdLyw>39(^2iNL}HocT2$D$7C^=DlsueqkdPJ)30AlJ$r12 z#jfe@<|@)ZR%g+*;uXSt_ihxt<}Brx>OO+@bK|n+OI*-r{LbY=%>58@nax2)Vr<_ zDR#@=Skhy?KseiVY4+6hQUVV3)bJJ?;a*0(hkWKw>EpgvMxNHMjQwFyxBYP_g1t|< ztm61nr{879ujY1M$&e<%-DP9>buZo(+IlUldE=rm9`X4nyD0OeL{C=OU1x%kdrs?g90tZQgT1F zZXa}G)Hz?(Uf&CalyNyYV^eva$q`dIo{itNcC7B*yYmE&5{88*UrG1vf7gHCXZqqD zRRW4!yYUd$<LFPbuBe|Sj*!uicW#yXyYOLqJ%dgCU z2M#@HPSNpDjkP_O4WXyt&TxU(X?8BH{PU^8%gHyl(>38*4&y}K)Vjv*;6HmMLmq@N9b) z;kkV{y=0{l&*g6Re$AoCQ;NSMM z*?JB0GSx9KIHbPRh7v`$s3&Z()sX2mYHhzv_f3Ac&)3H}C|1iY~B?MYK^hrk#|GIt8zq?D-lXk$wzn9MYEz4b$#ct%;{VHlv z7zKXl4K0Me6KN3EJSJq>%^$%HVzDYITB-p4c_53goB@czX1J}`3*YIz8xFC%TWC^drvGy+{BCP##JU9H?6DxV zcQw<#b9^;V(lF)FPk`Ye6}Ut#3B?r}K<1;3cLZ>s>BSa2KM zxDf+_rAB)Q=s$vz1EF2s#eJDcz6#0Ee_?3|MM3MnQo_obnvm934S>T>z>(;;XWnA* zr4tfdh)O%A0_lkUyq+$o$)~Pd@R+h4UICIUEWPpM*NTb&IJ1=yC1&~G|7SxkWRV_O z*dSbVA5i;cA0U6-n*+yZ@4{lkiU+ZVRVm>Bf?v;vmG~)p1m}tFxuBghLcV=$364{! zvtEh3ou@JObd>fQ**_q)z60<2S5)yP`|{~>dGUzv>)a*LWoDmGC|xDa1c4=4sNET> z)wNtpi+la52V^P{(V1h%j(s)@>&jABABqC8dscS#YCtqMftbp$8o1!!(o(koc{D5H zJ{8du5Uw>b_9@&txk?tDxqVqF+4w<0LC}W85C|F2iY@)Hx82EIWUf;kIkib~k>gYI zorH1bZ$Y^}0Lh&Z_ZI5bylV~GcPuCHc_7Q%LwBf!3Bzj=ZQepiR6wOW60KkC4x5%H z3VTl}Q;~*w5me(imt6)Dpp14k(sfq${ULm`y(P=&M(vXOT+fr!|8PD`4)iW5@%ys5 zk!*qv&rx#77QQMS6+r@Jm1=og2nGN%WE$B$D{wBVx(rj@%SrTUmp>(UL@=BfNM zySLAp6nj9hjhuy{Ziw8d%wS_v)L_NX)ZnlU*I=pdId@&wqKmSJ>z%Vy5<-E^z+gW((7{0WQ_)UuNc2nOW zW~)n`43qRIIxJ-AbE&l~3r^cCXya4^uy1|U)uS)SS3b8!eM2b`K|6 z@eB13B%kR!+9M+O8C(ZyH)(i5{y8H{ER&FB?2_w{pz4E5VVoahE>ww2M14eWdlw3K zH2$!9<@bT9ikgO~rOxN4KATm?+xN&;o~fOya7_)s|J8${n0mGYaS^#F4Zv#80}vI? z$_^JP9LJvoZYP-Jy?&vyKy-~s^lF=N)HB%l81WwEXgA=KX4hAye2CC%9QkquMD3uD zi=E{s+cWMr7b(?Mq=$5e83{Re(RVA?clC--dSl1u`T51|Co~cO8Fna(5w^Q5V0ofk zXCHSKI5kWzLEVKy_aM{r1G3;67!kCnS>Tvnd)>-749YTLx|5J23@qf1kT@6PM(SAx z7tA1dxpx^$7_dHQk3?IMqJow;0eIc{YI$XY{cE45JYU7 zNn9{<&P>?qSW_I9Kc!XQxpC=Uo9~}dHIVDh;5Ubi*Wqa7@x9h^WsJ| z_DTKv0qAK`jhQu0G;X?wCKLWqiWPtj#o1*|`FOlZ#9;#iBVQ9PJYY;}&6tWg?@uSB zz^R@(k-^|F*+kzR92`8fI5V(YxAS650j!G3phWC6Lu{ov?zb^YuEyF@e@zG z9;dw!C~;p3fxuGrd}E0JE#-OV*yEGYH!?0E@J9cQq+CZLi>pY;y=|Yubc&#v!C8LY z{hFtuZ((sa>*&>Sswlr9re9A01##L|WF(&w|Ih>()_o*7VSdY~>UFd(RaDJm`oo?K zP&x}$x9G@D5u2@G!38V>b{X>FE21DH!f=88=FVCQ0TLF@?9Ql|6>Z~)+Gr+Bt zSrHx_5fL%$4AC(J+Ih>&1Dv4DGYgGWxn!&$`-oz2nK=1=Jl|Ysl1Dqc0sl;A)SZO{{<~edljZ#ROVM2orDRrCR)479Cai1LXN@x*ZPfU@VNJtdwabEW`|R{ z3Iv&ji@e3^U5gqo=9Q19ANdI-1KHmJ+F3Fz-&I*vGu^%zDmoE7`*^;Pp?vp_twN!< zjn2AVJd*(85EB9_mbxsNxK}!Qt?t#iQ% z;zd&NnRAaXgSeI!VB2A18eW}%!>5gMkAwm)swCwr=v|P)-%j}l^VGJ^al??*UJee9 zQ>Kl_6Z9pgNI43pB-R%V+Cbn{n-6ai-Tio?jv@Dm@vq<=7NDNFWW|5vkc{*G0%X+) zdbl>(jZ&@?#&R@E^ZhvtbXPcwy#FxE(&0QNKw@c-2Z3@kDH}{G`9RuJfk`N26=km; zu+vg;*I}>}5z_CF8rr#R@Y@k&O758H=Kx^W9=I}ktXk!WK5*H)n!gu?Ar)6oRFMV6 z*yFSZ?A2?cBrWZ$n@{9n`}J}xbn^!ML}R49_VVI?(W(X5HwgXsPrrQmBGv>PqHd&P zKZ!r)6{E2ACmrQ`i#4&ZRS0l%%#{TVq@%=dIv!2BV1pZDFY#Qewv-Sc5y-*IGsiXJ`Cm3a!OD?C&*R9_^h!vu_*4qAO??M}J5ynaFsg(I4)@ zx+Fw)c8^>AdFKAJLVc9mAPB>ldkW601_FYJ=F{`9;ZNp|FF~RByu&RAUaZupUpbFf z=0$2=o#(@yZ1OKF040J7jvaSo`}i$m2W@(Gh426fMPCU9BIE$}--KumS-_PQe=#rb zc}Ez#bl=u|EME5M{Uv)FG%rSDdJWlQJzV8brdKILN` zG<9DD?fGZJQ)^_IX1(s9Rc;Nn9Wgs6ZJkp4Qn=FcMPV{^FWSD?VpL}jK&IS?$;&`m z(_O{?HUB2QkC0J)?}w|J0l42MH6y8~g}_oGi5Aw*uS%n7aTXhmqAlc^O!WJacEfKQ z7oZZT@A{CD>0BNZEI`G^J|#SB+3=w#%hRV0HG zQb{V-b{)yPLE*g05|3Z2og^7Op4X-Z|qC$#2iE1gPSk*3pcIEo$T%xiF zpCqq?KMr}|Ph#C^vUt@8u!$*=V@!3}1#@#r^i)pC>U<#y-EKJ8|?w3(9gm_rYcuhUCX5C(u^S&itVxNFvL8~_aSf}Az1rJ={x)fhN zCMT|+H!}(I*z8Q9``U7z0(o{}qf9&J)zGaBx%%sKj-BGmtJd1(s zbqoc}J3Rtw5#bjkTvBiIASCI#5Q-Fp3Uj5=$k;fh>A^bX;#^LvSKxwC;T>J0e>J5( zba5LHJvxYX8xE=5)3NM$8+&fv_+mLN--Sz|ChWiNeJ_P=?kT?`U>^%bAp)0bTZ!nd z+0lF>leX0Hx+9*Yj^9JOic>jt>Xaee=Y4(Fb-17Rc>%=F7lP(55%fJ}aqCV207s*T z6L7=g;^oUvIz+N>w;hEG0k%tX&^W6J`r%^@^Wt99x|3{Jjx#Bwd*L?O1#cQYY(o~l zc*PjnUU5M_+ATXm9qNWJApebti5X0+>OrkQGYrevh|Yln2fp+lup4WfX>UZiOBSeA z?Jix=o)&_;l)Yp~r1@q0m9m%2y_#;bxoJiM`Mg)w{n<2u(a}+(8KbpfXkfrO=)ujc z5K(OIIk=(034}#;F%eA1fn5FC>;q@(^<_Sb@xpPxo@xX6b=ukStIR*Qr(a1_j(zYw zn&w>dI}xXJhen%w&MQ1L;n-o=%iD&{2n)a-rTDsO*byQ+kP!eXODFe)KCPtV^tDk) zJW}&N?l)<Vq)U%N;@zoPH?Ha5%4i!XAyv^bHMk%c6YrCL%;4KD#VR!_9OAA%|& zFP~D8tJ8}U*QFW>+fSc9eG~G5tA);X^@QOZ#OH%cUSx`&GB+^r*QISUN@?Wn5`LL4 zufM%IC5mW9MR)Ew`?c-?&5f?L#7|VRv+s@e$?V94JSnz<72(NQ9em(t&V$n=EDaw% z`hlo@&cN7QnDw2Q zHhWY``CmhVSCK&ewJD_F0@&SxtL5Fo^OFWK(2e}c z5_QP*OJ!vs{+@l0B-AC`S91qjN-M9A(1xBb;e9vs$tC03!kwI>H{}`wXXv}8y7wL1 z-YW<9p|#tDhI)!QIF>CPZaOACyP9?zOJ=&+$0Tl8z!@&XwT{39d4;UN~4 zN93e}brK%yuA2F_w;pNRVMMr~oJKDOr2}s5?90$d%`Rk_@6kF%!g}nObeSJL7r3qp zJ7~(V)X5lXInUx@kJ>IdS3sFv$~_GdIN^jL&OvZX%*_9zTT&X)esdNF4p+|JKD*G` zO|dESmNMnF+N!Fc1II2^NUk+V$^w@z)pPemV>~8f{Pa!jsJU@*OCdhP{H$BXm&%)T#8~o!h8S9Bw%y%<;m72W^jUAoVidmI5c6!{W}FpUTT!%)J$+ z5m*OnTQ*_ZXPH|FU5BR(D*|+a?`6u1Bvh!*7-#rmnKppBt%U0HoQf(GI^h6#nmlS( z6C=dzA){q2be^9b+dr{et>=}v%7U+?!a4yqs~bt@zPvbnFW;lIUeV+7(RmGI&k6ru z>^UyA_*wt1y{+@U+@d$4%-HPGo$cEk@(>;up60{$!#vPZ>%kL(o{FhmTcFR5>YuxUa+?1(0~lIXgQuoF*$ayVetG z4QdZBP8vLz=qZ-0?E~9Az4GRQEHKk+#_L3JZny3gmuraErIH>3lgbEMc8ABAL1$GU zK*uYG#7|696&Oxh&Ic|H-^re*yYB_oG5Jg8l# zonJ}WqjHOT!X>p4Uc6Rp?nx~r_55ip+(-+8l&<|rxPqgQ=c>5lC;|&NX?`5NZ|mFZhoe|Ls33}G_B?|eaj+! z$W(4_Sa1M)Z$+AEQA}I<;Xh7#`%e^^sN5)W!miz%D5mq9g`d}{n%T7F#!2bv>8F4# zo4YOek`#?IVbEPRf-%(T=y3V!72a0d+;E3wNMdaJuB|?UyRn28-T7>zn(BiO4J@l) zWV+$9*$(pDwEsiVJMH+4bP%iH+xXa(>+@xkB85s4-Ss`@r>D3(lpkbiU7xq8llXaF zfBNygv0G^%-_x9<5f_+5kmNnmicGLB_0=u1dLtvF@1rHq5yx)cejg{DM}QEs}cPN)SZw&vsUp2Jl4`#LKQLfQj@rpbD z2>5VskBfO!oHP}2rpu6x3$hn%1AU;Y`kZY&K2NHIhuAz8C}E>?GBOpj1l6PvXw*|U zKuI|l{Q*Ix3f?8tACn|Zva@;PNxsf6HQ)bF8ImYT7O_%gciUmsAg~@g} z*IDH)95X!pNLdIP9pa&0y!UB`dpf{u=b{HD0++{iL>#c(`R^SO7vG%cxes7)XMRU2 zZmJ@X#d@Okukjf7 z^<>oKaIWB!AEvwd#2w-nYLexWfQ*7lf?F%cSlj*TIcHwB@^-px+B{XWtOS`(A;w^A z@uAiQ)amgPxRL{P&>tGtJVX%wYY~J9lWL9MH=K6{_S)liSxSQ3MXJI}c2Wa%{zA-{ zY(O$4Oj$Ar2jAtA77njQU=X&h8;9 z4tv8|V!f5|D{4}|$}cRKomIVd?EaLDwzI=+96>*EauzOlW{4Z@r04zp?xNC*0fLUk zOMgCpOhH5c(7hFsF`K7E<12xbR({e^%tdJukFsOzuDd$q8f90dalFOorOLOwOkba~ z+$^aAZAPM{YWYS=AMPGcRZ8;h{nDlUsFdj-E|&0XIo{%zpkei7P;~U=tkOl_nY4Y} z3f$oWTxE!WPhN1rtL6~lO`ELuvmhdvNc{lie-ZS&QouU?eh6IqQ(;-P8%*kJdk>T{ zaLv<#1qC|b3f4u}c5OjA1;5@4V^nlJfH@(dp)A*~U2}MJkcQe0Q)@h}X=l*wREuhJ z&*YMOUl9n{z-r~3GdvYBP|pG8(A_h!SaTTem)&{Y9rKmPtlz+O9G~0LsUJ8v2J0Ku zfX6_A^*WGp6F}GH0Ea91)I#1be*OAPPCOwF@Vl#ilGAf38Pi`mLBLiBDyTu{@R_;1 zT`tq1a#U9)3Uq0xT*kE1a27iEkXcfbYNdi6Hj-_*7r(_%K1-s zgm1nT#hjF)Cto0Rj=j50_5*o>;#*0#tz7e+i^{SLKBN2&cg=?4FT?P~@yc>SVsCG0 ztwyh*E=^$Eq_4$_V+#GbOmU<9ddi02rPEPP%@5vtFMk-*|FK%1=kMPit9UN^eQC$j zKt^t>i+}yoC_|wS90ApQO4}4aF;mbStU>j5+Tqm1&cCNwW5?fv-f&X(-lU>VA%k2`1^@tnx73HkdUelD^;eDE>Q=&}Vc6#E`_h>>L)OZc(@^NOF3 zPmG_Bfuuj}v)kFt5`l3y^aDtSN;nXVZ#H9oXOjM&yp&WBkl;~=P76{^F_osZ=%}0f6R`f8!is^O(#7 zty-}+zUtN$jrd=G&Fj)>%Px1n$d!zCB#!82y9#$0;aMd zj6=0CyTm?+tGYKq;^+)aprKqSex}1N!lh1YX4c11$CRn5yQV&?*_>+weo_X8;Kt_( zB?@V~F=+`cDv${AGyizAUje_9!;(d*`;{*aQ&U|9n=8c&ARB2K&DwP4;o@o*%<7Iy zOWo~NR=na8z6378x{+@$Bmkdo8?!w%foLV*FG>WJ02lRxRiZ@Onb88Zih%s`sXTvM zZ&E7pp^d|8h20(_2PzJ&3$8@Hrr2LLFEd$ikA*h&_DM9OM40&adad+(HLdLO6@R4M z9umyJSd0aw3*D4P$L`)U)71@A~wGJM|=t%pGIM4^5)gDBf=6Hcgx*n zu4|Z~h=K0>>76AA%XrB(IQ(gPocTD_tk>l!^4cQ%qb;*UxiH8?l1TC!a&T}o+@oxd zFPD>BdnRHKY3QqWq1(gyp;i@i1Ti=j(k z@_S?T%Kn%z;kk}A1(5by6<6k`E!}J_gSd}2g(B0o2j)7#&~oI3Hxj3xw?juLJ`tEG zx`l`-%*!`EHrTzy$1=>GF<5s2PINWCm<^snUa%{*F_jc1_)!8X+I?AV7(bAx!=SbX z9*1Xy%c1im^A5Ct%k3)-$cid+;K#!xl57c&1U|9S?d~w&vQ=xOVW1w-4?}Zn;_<_#G@0ut~NUz-iuDhJWps8By%`&r-Ob##mbugoj4w1ZQ!<5*!NqMI_m$H1ftG zlcDl~d$*QsRViv_XUj&73em`SHyIpDU)=c^*IsgP9jf=e^R|*U$92J}*ZOQK+D;SN zCI$&#X~|t`LZ%U5mQM?5-kAr7+VgG_zk;LuFGe!x4Z5YH5!ELsWFjZQdpC6XbOObi z^QGpaM4?x-G%wtH#{>XfZd|4SIj2TZ>+TeIrE13lMYu>v(yz|>UHeNb|3rEJR)0E) zWB;vWG~L{klRem4U}w8|&mN+EK1NAPOHanML1g38xq|XSE9dG|0)3R|gCWHp-}0JP ziJRcrx&lS^M$5~VXuk8CTu8*26|RqaD;wcX|B;Z$s;SOBTHY*K&%&2xnznD|GfD=~ zUz@92rpX)QTF5-D)dc8OUfxaXCUCP%sJ*lANKst%mbT3v0Z6N7sEN12Z>B3F>KM)S z@5$J&;ZxY=7Hlr$&w2gTQSP zl_A_vKqWuN+PMri$sm|3v4PzM{V+QINKriBmfewHJB!B+IWOJM92ntt&T6SOt=aIZ z7CT2VymV7H^r065(4L~WA4UifNe z{;slP_ZDMZ^H@BVkf^WtcaQu(nE6W$pxaME$17f=-~>39ZC_FNmKdH&^{l7TF)Rs~ zh$G~Q87NFaukx2`{Zr}W0Z@L#*laIrmOi>^GRh3@xNdtJaK3e_!a}v3&j#G>$d=o`6Xh}A*85grCqRBhdxEIsnA3)z;3jmA} zVHIBH>R3XBAAj*QEX+%@c8b`fH=#%fiC`1-+Lnt`!d)^$=H)&e`A1+`;3lx=9Q-<0 z{&QMCLhhxY{d~O1VCiF?ChZ-3KFnvwmKR z*M(uAD6I!W(XZ~-if-wTK$~5qxNCd;!&m^`6&3CI=LjImWJ0LoC`@^ai0ifcOJt49 zJNbHSi`qq=+jZN%@MuU0Devr(tV^Nt$9pv44}o}CoJo$0e1gg7x9vtvMz6203r-o> zZ$geh;Ss#;`&qY*aJPkZvw2YeUx(B;4Zj7Ws}+C~abd@0Tl>-4MTEG)(?VUVGnlh3 z@YfJ8MOg-xW8yy?XU>4=E3M&6~}(?;J5 z62>Gq*X9^oxeoo@D6H6N`epMp%6W8V6p+IoSz032_vJkd)fv7JCA-|6w|bHYp!eDx z&`4~rWVun5U2(a@-zH`EtlOdpe|0p~OIsuF#K8T*&Vbo~?ye!RG7$_KXM~=A$8T#C z`|*^)+A}W{qfXKs59;-ZKhNORvGl4=xm%lSj?wt9AI_O^di=VZ8HcLaS&izIklf<~ z(-b1%PhH^sk&p(#lyYp8{6MISR3!*x>8&t;R;|CnR+(*SfrcOXpTNK!;dCntBH|L#| z?#V2hr&{1h1%g|HtGOk4C1zOmN}2AE&;Z3K_@0fQ&lmhimS-$H8lVPPDS@@i>CB_Y z?AbT(xxh=Q_rit~Q7M5XS`l&REC{;9r5@(LP>|r4`zb=l(s?pN=N1&m+$Bu%sB_@7 zb~+T?+&O#mUM;VSCTHT36?s!^NZ?bvv?8bxb($534RQ4!THtGSU0%FE;UnKtA|5Z~ zzU3wAbig3`PrlY&f+&4m*j*GOVRj-C6hmJSqn-UXQKQ;Gs3dpTWI<%C0^aZ=y~Wna z(SU-2l1Do-y*pDoKh8h(vome6U0x(2ehhXC+!uwiSRY#O?ivsVAmSe5 zQK^g1+rOZ>$PeNQglEM$QNyA&65lEuhp_1At}V5L-yBa)mt~4QG#5jwm%XQ@F4MA` z8{{S0Kh4tifCd-&wp%K%K)Du>C*bqx5J_>tI`1nds} z)c2F4U0%x-p~NMh_}{kXKEH)NuWK*!h3+pb|M{v6VM?L z^g57BORAff-4Mk90NrtBS6z}*<{Xz@65ayRQwNb?R%KZ>HjCV?v2WjAaNBH;Ys6eQ zJ~?YWgV>^J_2X!3#l()nynOQ<)jrBe`Pp43zD#At3Aj@&S(8SQUG=sH)&4y!(z4|X)>XA60kq3$M)W;{|X<+>-g*x+`C-Lz9b(tl3gxhLzfGd51 zy@dF=TnJdkBEEE>w5ve^05hCP%v*!#07=JhOI5C#_Nm{5J#-pysFztvyq*Zan_D;RRAXb=Tc@@eU6zCQ%fV+aFQTPrEo%OP zuz%PloLg5_AhcU9n05wzqT~ntVgh+j3qCJ$px-(hYE(eyF#_wOja6-Ea?qEN>jrHhvk|lj}%(%fj6kFGf*X^1F zff9oO7_h=%_?L#Tf<*XH30|f)1iyxJ2QjU55@YZ(!acaz0QuIrlXU`sA4n@IU_i#ACn& zm?=FC(<+Ar^&Kad>i$fWK%2LPad#%?!oq^bF~%uM_XBashuj-k_h+=*?4NOkfw~L3 z*Q|t=N>d9}WY`=&;`p<=AGzuJq;F3QO#oJGZL-F{cTQ+_yKUBieja@3xc=jRZc^fz zzwx-h{;gMU&%3+7f%m8A_xDIptn?i+PfbnLn+p5&%j6E8H@Im-A9O|0Fc(!%v>Nd4 zLIvgiVxxXZv$RMMB2a%6n5t)C)_{<_4GF!*B0L%bc>?lXHrzCe5NmuYX4{aX#3`tP zg5R^Of;-O*>|bry`U*^=Tnbrg96_vPe8JZ!KJL#pae%N3xc{Yd#bT#5nZzSAoH-Q ze7QP4Ypp`*{KVN;{+#UB$koXhe0z+6vFUmLVdT$S@p2y+ovIc;;E{3)luI4QSQ++> zZWi$I*RW8p5NEI6^Z3(Pu3!9O_t|(|!KE-c$D#a*1;9D#%$=e!U6~9K zjeU_3%}I4jZW=3CF!Ww9W0?;$Me*=p-oLPZ5$Q*Lr5=IZo)ZSV5s0zt8=)ruYaIE? z@uUira8x5dy_NS}qAr)6kLS(asD?(%n}{SdBM#K@)CZm&$T;M@yD_y0%beq}OpLKY zBHSY;Vari*X*s!71Kf5aKjp!(`d`49>-F1;9WNCUtPNJxOWCDo#f}QDcwl=ux;IN zrD|zI*p5w_yv>K6xkJ1W&2d46a-mVcU{A~4C?KyFb*c+ty?>?xWQv;RY0!D=zIq?U z)f7keOwkX@OG^hsP^^~;+cFf#hRu~(psZYjVM~;Tx-!uw$+*&oj@eEXn4Xs7FGzSJ zZku!Q&|fz!{oIpI@X@xur}CEGzhMJIMjor+4r-gq-n`ddV4sqF?V?tBDT!h?Xl|Dy zRzYpp2oBbr3hRN0nHzejN1}1Tj3Tc6$-ZwwLUaMTw1NbU5*N4O2NLv@pP>d3v|BPG zw?|Z%)F4PmXf_0_Bo9vGoW7LjI-1E*b< z9UQVi#X6=E8C|~lAU5u#!6J2WsO!U9^e!j>T!R2AvvzfE3;B`wRitib<%0C>Y~4$z z)dd-y&O|6v7z8$2e(3!3l}Y(syru^K?Vb6#hDCxR7RT$Xb~bI>)do7%?dTwF=i`QT zwszGxq~nBudcK4~eoE9SoC`G$Fyyi!Ar|0IU2v8mW=^M_FGPL0IXSvuvB+^)(tDtV zq+sNAr#=8-LCTlSeQx*&8eXt$c{VjbLa{lvvnpGbh$jmytwYJXACr#iJk^0DlzF3Q9ElrMTs6l9lZ z)sxl01gT$#4e2qc3Sy09!q{1nDIUhJ2)AXo+1u%xjcSO4rD^FGeAh@3>H<+r^6udq z7Xqe?KJNe_5)v6{bXu#^TUCgYpNx)<18~w12zPBs)*pXw#J19ZdUz>RU|&R6sYb{b z5^Q^)tDpC>wVm(<+V}#*I1Mi8_u!>;xfE`n{Bpc@cBn8k*Kn(e3s)ZcU3+4@cr_}~ zWlvmzrqn(ob|NqPrn>%lVgU>+%MFRy!+PT@>P5_(lEVD_Dj4NzC+9|5aaqIh1R2suyxm z-VI<^_z+La5>fvOO)=MNEJWNW46=7jc*5%}%w$Qt|2lgR8wBn2uf#pu37%P8Dy9l~ z>(H!G_$ZiMslcAWP~FxmFGWy_+%JsVZEvhD@YxsqsgST3t_2BM>3pS(rsmo38?F>P zd(9>4POr3|-Cy5

    iqrSM=pn$Zy@4daEU^5lsFuRwtaNA?IM$yMcbw?v8oqjqjU3 z((rpyVM=z=@W+S?C=9Ly4ISkAa|RG~CHXyGZqu6ngj@hZYG{xiZ>+_Ty6r(o_IYs) z3(GDC!~>TrwjRhojn%y!lb-VCv=G%4s>+ry0sm+aV`qLzDN!o+0e6qfa3z8D{g~}Z zjegwb7(5DYgj0Q|kIxya)7!o3zEylQZ+867K#~hw&DD>yCw|g??>+Mz^^B?#G!;lZGMhMJ;1ZD9B5IlhHn{5+!=m9W zAu(A~rA42p&<1vSovS|ATQkM1j?ZhAJNGI)OjVMAyk)8^vGpf4b?u11C84E+np2Gh zNbJvyk&J$f(B9)52-9U-CEOu7I<> zzBn&#V#jo?p))GEY2h1QjccWTH3*vU(i9?cTo22*zL(54VO32+@v@s-D>0Ge`1~49-xV6{lef70d;oePr8|f5P19;6!P@YDCt#!rlmL|Vm-O) zXD$EcoGtUne}afMHGm15fvKRkSJN)3O?a-qxP7@7&449=&Fm&-#^B6gb`fc#@p>6( z7xZduqmoO&mLiVCw4iI+M6mS~@`C4t9H(WsOGg}yx9_%+{_mIqGT1oxu(*>{S0wNq;Rkzsgy(7!kDx?KF z_Yn*_JXLWS6oN9iq!F!T0b+vF(cG&07RFkRc(GMfGIi}F#atv=$?4+}Y*oskdQ^;I zh^VlaJfAgFDr9H;wR*R1Q`Vj_+N!0#`Krgtdpph>m~8$2681SLOAu=jH11_|p-A&u zYH)w4?ftH^k<7CJ_qd;~)PsWMGiEoIgCz@7s3j+IPF=2)LqHzld2Cu5%gff~tZpkC zsy{2bnYNq~%Au&Gt+U8guXUz6T-535nP;0X|5wjQmI2BZMhNdvo4d8?EqV?KGB`(X zQ-W}Ll!OEvZWYBx6Cs+a@7FOiZ2my|RTOlSd;J2A%PB1%QqSQ)Y$63hj%UENB-kPd zi67z~a`@U)E?3gQZ<8DgxYI=6x#|bsY$TT;L`dcI70t_FNVxjKG4fcdNVj`Q0k)HC zX^;%sH|w_-C&PhHC=$F$Ca*3*tLp}_dd{>w=D6{{JpW8&`~(~#jHIY5sU!q*2n#k+ z)*0;LmDQpGD(ne3TH!4i4EqGOAwN}SZ+FK&N{$7OeaKi3-Z9 zKq9+r@D0GAt?qp}!uU>qkpC>Gim$ee(cLt7^3(c6q*5S)Fq5gH^8f>4&yId;Xc<+(~oO zs{@3JNEk^9jm&Sm$}rQDl{uc{?z5Sb1*jkSGyhqqrz|_jR-wLdVC;r8T?QVcY82-{ zZmNP!GF{BCsiKB^8EW~u{Y92~&tr5JY=0!-=m(DPf?A|8_eO~|22w3ez$qtm{L2;~ zO^!d>+a>G{sX<-JWcV?#g0j;=;;2Y)PEi*26ZKTc9Ana#cd5ImC{5tfCF#S*&OAXU z=u zNG|%Tkc87VwWOwTXfh6beQgpC%7k>#gYU~AHfM6&oJD%weBdED!&0uXDK@wk*L+&bfN9YZO0My;@H%w z!RsPv4|5`HvR2&oLxR|MPlP`#`LK0FMA!gr-EDj;qeuQQ_g0ikjSZx!WmwdtR@6;7 z#lBrm=OEY03q?ld2QShRYPQiUlD+oh$N4Ot=IiRBuDvj$HD{8@Qu> zBcj%x%Br5#051^l==_yDdp94aqsh|d)sgMG|=0?tawev!P=3**|IB$%pK9dmv!bO}!l z)Z3==KtPoj%C1~Laa99?ID~hWA8f#hHjCRD)b~0+yFda!Y#iT_KHG4I0nxI$yMoA!94k%tU{aju(n zkFaQkZtMI#$Jh^FKxf>9A;5AiZEma8Gz~m57Ag_gLcBCkUq4EhUp_#FtI!$w$rzVB z5;9c+mqApQbb60%z||-=op1S*Mv3M3^4t>4Af^BPAS67%)qmF{U}v|-WMiZUn}B(T zy*)2&NtI~nEtx18vlkk&P)OZmseDtRe0j<;WD~1(-(JIWTn9fGJWFp5(7-Rc>rM}j z@Y$M%7rV}kazC@d&L!zOvle#WZz;Jf$>nmzZ*|8{qi7+mY=G7zE2u}|tm(D~bXCa{ zD2*#|c*onB1A=3=78Jf0qK0?fs~PWhnBkzjpWr<5hlH8w$>ZN;(X1Ei?E^xG3Xn=I zs=glECsUcl+~*3V&an3V(VY>Xc{~onSQcB}MxK{NhGk~i*1fJx3WM%G`DosA;JJUZ zG}SUy@(8%KB*=i!BalCS4fMoF;ts&8xvj}MZ3FE9reC7KE7Ho=3b z48N#&`{s9upE%W~V|z*wdt$6$9<8VMG4%(8Qh+lA3F6vH;(js&6g=W9zDKMg+Vt(ryczm%Wo@lb3Bu^0}8=|tSzwhzw~Kg@WbZ~ z<{PUbd3cuX1#?3cLwWLnP0h^(jCij2IrghrY#-{$`dW+0t2HoTwg@LUdl`Wr`2+;^|s6>=g&9-rzhLq ztEo!Gy4G9xUyeE8xIX*AV=0x6uGYU1dvta!eQW4P*=mJDDOv^X!?z1&%pCi@GsU2p zTYU(7(S4Dd{jTSiLP&lZL%0$b(j(^__c*G2`*+QI$HEKi7Z2{SQ@01c6RD}Dyn+6J zbz!_#cnInj4LdEQQvJ`XE(-Z?i147N*$8F2mi^V5MdGkeRXgKlZIvupM54y z4UqfPp=-qW)L`f27Hzs_aid<=wdMY0byeM6dHK5XT-nAULo(MVZvqn)y@wnyd91E-@dM=F zM9=?;Ul9X=jc{{EZiYsCi7p?VmRZay-~2?9Cjv1Wr%svZ-&S273STCJ+j;Rdp>qXQ zwPJG1|2zx(k4B{km|njRxL2C)!zZiRBrL6&7fNQ=!Q*(ZR{h}6pfA395HtYD=-qp0 z0M*9O6@K|KGvM2+YFS<2)a5i7N8zL*}%wh-43r2 zPOt)%SvK&jkX6h_7mZv!f06>@S}dw9rk2rh`kVs%b zxZHeoY$_Vb&H&;q@LRG#CK7Na9GD*VypYGLf=|E{|}i!`lj-|-|VyIuFMMx zng!x0hffpaOLIN%n7L@o24&t*9od!7RKWNQIdwZJ8-?Lns!&yEpB-DiE@Z#2tD+fI|M255Ekn`JYe3XOem6 zmrev8*nQ0&PKUxEeqb^LSYjY%gAo^03^ofmepgC>B*F22&0`Tn(o%4*?oao3TY>Qh z3ARX8_Z%r`bw;KQ&;lb_eD4@48D{%`2Qf5xVe%op{V}MQnP~^nT(m~us*Q*96saeN z0?w_N4U|MIX;9(j04`*LLnuN4Uw`FOmcI*>qAaLD5@AG0Fzv8{9B{&;pep!;>xF^S z84k-t(h7_17ZS?oZV8y`1M~=Hg0}9Ft2KN9`2nxeN^CX2)68DdbAYuJc3~foFe6N3 zFtdfw((}>^oGTyNA=hvb0k)^q#;kGm_)k|rX43#E8WZ2cGC~w?N*uoFphc@}-!tnF zV9QXvT()hy_00-5Nwd@)WAr*$({?Y5(z-7OOp$(yX9IiWg5;qP=UXrc`D^1_eIV;J!Nr&gF&0#+s+}0;o-HsZGx*^`uV%-}R znG6A*BzZ6H#2Eh>5kf}$j{qz(JLxo0f>LFHEJkN4ogR5@9}fE1Ahyek%gAfHsea(V zU$^?=IGFv}$9WD66e7dgp>O*EY6*Zi2J?bz3HihJ9(j#Ri<(CAe3s9mLOB&BeFpNs zZe!KkVj8;{BhEFP+)m?LF6Va(f~>@Ltl?^$zAh@bYOAL9EyY|^P?1m7ivl$+)-m>y z^lx#Z7?sbP!)|pyJ>7!n>#o@fce~~$vOHWXcA;I~8;i`DTnCP>wmqYJ-Np=BSR60zevWVxu9m_fW(jTIjgCTK40`zrb%%Oc7sGKUqh^sj&~0nKE6yc)yeFAk z&&s)E`tO(7|Nc+Z;vYby=-Pw{QG#Y=Cl@Xtra(eei5lpxdE89KPt{e+T%XTyGWx(u~-va31Asy$;dKw!rwrXU;I8tA-R zhwyU2J-l(W3{v1Hx>ph6dVBCbjul)b?~Di3$DYloI3Xj8mD7MIA&xCGu^y|=-_WFP zs8srh#vx~d8B$KnXxxzZY(@R}aoZ+tF!Lo%{{46oEB(`(_)?++M4ysb z6vERzltG3(-A{|?X3oPuPGKFgzB!zA!c6IiQCnU6v`OJ7_AC8{)tq(C%sTx8yNJ>Jebo$1 z?q#;}^apYIGD95a)iT~PXAj!h0j?G#Zzpt4Bu3K!?P;!J=zh#(GrN1%d+Pw&;N%*y zh0C80DT8cfilY$D7YvkPK4bM<6ChX!H?8lw_A1s>HO(i^nUFtmnvL&P(wkU6K7^VPbbPP~;CU$j4p=0p1cyX1d*~7T-yf1F8~z? zC7tHNAug0MyI?Ytsim7T=66ewOlGe~!;>&9R1LP};0h}uBRN>P!=7gBawUzX6_thH zoy+(7NjI>WLk<4vev?HZmSKtaJ4b$${?O5Tv8J6(A~!Wv8}|Ca;%>p##CRvep4-}D z&3Ld+E^B$pS~1E4rUh}gpM6{rWyPM;dvkJ^Rpbue-0|z+u#TgA<=@a=1IERs=A|^( z4bNz4td6VZ&0Au$VQx~J+^&-3z9n%yAH~*Lx2kJ>K4e8L)l+7%p2wz#g?jxwcQ(IO zRWe>^`D4eQ%cH2+KfKX%T9-^uQLm%xx$vH=9=+bv?3GDeQFpuF8Q_|-j^9B0GSCxe z;MNfcKAuVzRVXAFs<><8kCa{nYRg+EdOncC7Vae{M=o7MP4K) zBf+A!T^96sEc1Ik0w?EFKH+c`GgO4{y$1c3H7Uu&Bi)IgzqI0X_kB4`MKyw{O6%UD zCivo)z~p;~>asgCdjiu%=CZW_IQc}1n8mAO?s1fW<#p@kh#PODt@IW%r$z{FV0Kqy zZ|HS7cIRaMFdJ&F|B4otcSx3YCz5g}Y9!}%dPY5Iiu34reU$jP@9iz4z|pSAmK0x{ z2f>#OpHm)1#AQjO8&!Gdn7QxeD2e^yZM?PIj8a$Cr_W-+C4h-WGA(k*UmPp zJ(Br$eS(%}ck4|vGUn$Eyk%Tr!}6M%fh}l}lus>w#Jg{4b=tDN*gV+cz~80Jqh2Gi za3yCV`15NXdhZSaWuB93>@R6T)&O^mavzR>%KLK+0g4qbLu=L(7GI`OY-Nuxo?`0k zY>K=>(%0VJo()I)fewifJcCAllzCA?hI9EJ;s=~A%PvZ7J9E?}x0Jm(KoayXUk{Ub zEpN^~mQrBREEft(k*b^{d30^~>)d;5PZm+akHowxhJ|yw5>Exv-h|k2*-E!<`st;zj z{oe)j*gfU@ah+nxzS>JwwX+YaLgP_1T`g7YdiVxNca0y{5ufDpEI+O(@xmxDVp5At z40A6e+Ld&vU|CeV@0=IW-Qj?}rntz6mz>Gwzh-X#BzXBm>+)45BFi>^g)6J*ZAYt* zn-MSjCMvM1PU6ZrfutGkq08;H^~C{zDOasb@u>i-%<3(U-t=FechAcew?HFxPL!>@|X0dbBJM%wL(tp z>oeB~#l*z8YTg_!XEJDMYN`U!!UE`6#J+c|-W9{7>Z}@_C+#cq&Ha9&x}}iZX}O>G zU+)OXMZ#^@m((6aW@MkWD-X5!Apa&4A~;o%hULQUr7mk09aiLalorAbf-gK7*}2s~ z$=z3+`oanc=BjR5LsLf72Vj> zsKO{It6E_MF?Ke5*5hdE5zFfiWuMkHGi=la`_NRkJ(=%c$&P=HP9<}@y5MxVpPT;r zTjHkK>Or4eRW$Q8+-LG6Y`RtI=})&^%B+M!c~M^TB&v2(*uu}Lr`r#^v6zdZ%?^iT z#oXqyA|oSv+4HjROz);Zd*{^sI~TwEz&pUKapFGm3I6!HXB$|jvm)W;=Vg~?py<}!A;|?#tvP$;5>aihj1SQdei(b8mzH5lM9>? z8It+cWN}$A@AYmQ|q9kTL4#736VBM0dQcn!NHSN zj$B93A3Vb1k|Ema9GqZ`t2T>{I(+yr^Q~K_M@B|cP?%dR!bt#iTm%CxAt52@%>pU` zQ2EnAXi&FC9~@1WMsxD%N)h2^Z-#yQa(8G$rRoa*G#f8@A+Pok0J2 zJL;CH0)*y9^V^a_O|Ak5YV=`lU*k3>;fI+TG|&m}Lb{Z>$5M8uZ;DIP!lh5z#Sgjc zo?RR1oR^AXR1QODFQ+#^LAv6~ze+C0lF>j>jSW1n+$>qR0}G;E4Jo@pcyXp)bj`M@ zizWZFw8;)7TNHZ@L?DnSePvI(^+W$lz!%=&(&h=PgJkYMui-4sa|0EHb7C7-Rg6T% zFky0@#^?U3T1*6M#E;q-;n$t?Yr9w!MoH{H$Y6xT%}KE|t;(ZW`oahFh;To|@bNGE zJ|rY)5GKYCurlAWU=o!S$nxSLo*(IZK**2wX+RG5R%OPT}rU z2f0cycLMGbvJB4>X($^O4#mCf1w_;zQn{&$KM&NmJTNEjTfxIAI{8<%^8M~156 zG^a(cnNA&kCLW$6bu(_mM%8>ohkO#Gy)jpd>I9%}y(v6*sz6IFuts&OW>kF9aeQ2F zvh0G(r!X_m_xDAvb8a>_HK{0fi1c4mP<9MF_Nr>9iTeHBdy-ydM>dCr{@U zlz!EL%h0yb>2DtwQhtnL&%$07;GtLuFC32HEKDWED|MEMZ3xTcxn09uWg&2XM?CCF z`0Z-Zg2u~QE%xrMNX1sXF@e*VO-#JG@B{w}*b6)Jooqe(Gk zegoRFuN4}!y@TnqWErH<2g%@U>(O`OHuv-|nuype9JxFwKpVkl_=(UNEq9pk;Bzus z%8c*77(NO4oanrJo>*IT zcUhiDxE(lzD}4|3$Bbeg9fsaIL@D0W?9Npf_#;c8=)A!d)l7Og(2oz^^WGqmLpWEL zXQa=pp-Pf=k@H-HV%8sQ{q5h2Sy14C3dT`yCJ#EI^fMM;a`#_QNkTl7%{leZuV@Yt z`J?KsT#ZQ01a}K0>;AaHbrrsaS0Hw--Li!-{bRQo$E~N7EjkZ_ZqIEnWefjP zZf5d7KOH$$TQ6P1b0oIfXPu8&lqs_M_}AfT==kF;?6~X5Bs4k}<)s4pn3Y2OOX??Ip^0#|msySq#?g>24XZ!dR+Z)I&F0JcN!quw@UWQeugBCQ1frIaej;0s8xxkUY#<_q;7Z@EIvjqPnx2d=|5%`XLK&kWr zfV32a_s`WMMucp)H%2Y}JeMIHuBXWIJRB(#2+->t*9$5TO7^{~3S^ll46p^9^=~<6 zS2$(fF0jhJeF8kr&u!gih=q9%UK%5_YcLuFl!>3Hh0(y_SO3j_uYa&_uH7j;#$w@# zR6qM$$n!8PRr!V;x2i+wz5li)kmVhnLyjZ_7ri7zTf6L%KWN1-Nlw3^3$iD9#ULvs zbv1vtvQkvpAOV`z{LM`7=jaD1oNd!qj)H?dJ!e%jDA?L!(R9A zDZii|*}Olob?!nbZKi(G#cXFay#(4j;wv5=Uy70!oD4KKG);ts7#mK?DI}~!_tPnN zRMp?@P?lHEZ~qC>dB3-t?s%y7t0AW!>WQQAWvIcHI@}lp<7%?u*Kgmh!IImNp{{C20u0?Z@K;y> zlBkOQVFpX6nqg2Z&qlUw-+v}FdiJ)X` z86TvTh$7O!CUN#?p9GT#!1!QoMp?Th$%K6c9eMyXv66lfx^-a!*Yb^B8mlA!UN02L zV8TpcTJGtNBSwb(xOJ;5@H+?34;w;VqN4ox`#~blJ30$_-cRO-zYGejYtz1ZzN$^A z^);E>w=UT06vQq*w4@~+2nE6@45$jG?mK0V7z?mZvQnta6{li(IEiPs-fm(q7TC zymPg*N?#6#W_1o=-MY&$f_Y>jj?$3ZJJ^e6MsGNXOFiyabR*?|=yZAL%u)2Q=BNto zhv#3<7Clxrq&~MzM~5Bx6&CZ!WuON;{|MXZ>XHI|e`UeS`tM8P3K^hCec0LlVd=!8 z@Q#QS1NEV=i5MAP-X-IlbTAwS;SBXc6p9$$w!Cy0iBDNnKo~r)<*1jssD#Ot+dtLK z%an7~oWzK5P&BLIjlU@|0}*8JZW=0S=3CZCOifN|L%zbJe50^Q*Rw9miU??Lm*uE! zpDJ@@$>`a)wb1vMZ+lHbVEIYF(~@>gb?-i3g(FO#RKKQ))JD_XU|}I5PeiQIfkZf^ zXRd7t5|4_lk|xO~gryQZz{^o$8`#rhM>4Pe@wL~sJ&*#j z?ZL5zR1g=!Lm5BJDiXeu6{v4G7_k_*t@i34r|7^Iy|Q10csKUCZFsbT-n{wXPz(A8 z6{-&_qX$dfZjkDW%M;?a;FcJ_RX-TkDxFX?Pf0|oysmRH~ZmgKha(UZyCnz@TwY$5hU>lyN<6^s_^|j;& z1y8F+_Fm{n8;1sIeENXB$6gpX`JCUWHC=#tFBlwX|@-_zack?$0lx6ZSYP_ow)M#3KHe3?XZbs3J_5Qzk4>FjS>0f;ZOYUd5yCepVjtN_b2r=H%>L zO73sWr_mH0P5c?$XD2M1WeyuVaiqkf*kfgrmO+Ea%PGO0R0x43)~}Q#oPn9;1*&Fp z7EV_B2GXYVOJ8}&zZIGforSQFyA~D}<(B@R5~7|O7@vQ>3K@JfzI`k7?|~RrA|Y93 zPi~-J^*D*=@AGZ|Nrx8_d4J>c*XgrG-`q`I{0@i=InS0Bsr}Up_n(USTgVV?nn2&8 zy1(nIKDHWwx58V#k`8L3>ZPx%KtnwluJnj}^<|(p7&f0lvOMe~Ddq*>GfBa?)c&1< zfx#bg2NB(y#gVv)KBZQ(;`5hI9Sz|P21$(A=zaR8i};UB78eb!5SNY4I9;_oboy5j zT?Ah@8I973gJzBlBJ>+aLNW&~68%W|8e^Z**-b3E%X_h=bJx=0;9I;KA&DwFt^SvG z)0mHuik{ss%v3+QbG9AJk6f;_@UNaap`XholAKVtdo9uD-u`kr)}5R6slb!2<=d!B z;3u~i02E~2HIGMiDst5NIaMuf?WLs$k;y{XL$GSVL0^B4+xJG>mY&iBDoQbtP9ds=84mH zAgnLOSGdUOf{IC8aE$Me+%7doV0paPbkaBWF*Us$@*+v^w>61eY^P``4UJ|17#q#F zU&sU_4$%>xktF;jV$x&WoooKbaZH_qNnf4zd~UQRO}2mBl>WfOQ&2M#igUQ_xDoO2 zZJ>XOKU-gxq>X_@yUvEu9nwCRmGL68e|g;x{Il}4&k?`$6!!`oeJvv=R}JR6;J0sm zAc8YRWN{AUhiS*M7bnW@FXQc)WNLkWdBaY~e(r^tRn%SWSr`&8B@clom|K$KRN=!r z;YK~HlTiC&uYqx^225M2eBr!F;)$0}NS?avN3jggo~m+5KG7Pu+^XR`mayC(dWWd; zYQBGe0!zj_INPV4)?a)kipN|$i1$#Ps zxgdvmuPw26GLQ3K7kw0wujhds#wxKGYqemccc$0AGKTl*^9cfTRYSY}|Hs%{09CoR z{iBMgfJKLN+a}X(8L~X-m5n1ygBO7e2m?T(Ae%;`_&Lm2(u%N8ADFx9P>AhqEDi zMu%~SM?L-5Cy@;Ske_#wVjPvO?T^TQ889(d2UW2){2Z zDV3Vx+AES!VKz_!r61E!y2LpXPa!)k1!mAdP<~{Q5{O6aNFBFA$Cd1a8rc)QJOk~6 zuKKn|K`EhJtLvZA_wtg7Mj0jRAsZ(jqK&>36?5Toz=CAe-kcb_5o6o}#;V_pHCA@F zW?bSS;PWHQr560$nn7khL!7Bp^;H@!^bbzDk0>ZegRLofXgN^+_;2G1_9NLHEzPJ? z4YftSY`JY%Wm)2q;+lVEy{@@WOuc>+=V0P6`sOdIA=x6Cod~f^GLqY7PslapLc}>N z2vu;d1vJvXbQkHo!xKl<8bkiHXRRZ>wdB9pb|i#OZeLdD(eATMyRoiQdyd#R%uk?M zkq+4?TF)}#&KQBJHky&x_?ct7coVb9-)i2IFaO6YR;|ahLSc>vyGmQEw3zQGbf;MY z-@Q|k(~`9LY2qB!!;e=?Zs=+`fFc67RDygwhZ!DTHP$FpJw0Qd&*LS4lnTkH8qJPJ zcE^i5wuB~QbCLHrRP)b)`sz-#qWZvK+8bW%=GXHkV6;*Y{+*wnUma6wF@f^_tsZRE z9?Xv6(N48yQYiMI2xM2LyE)I&uS0}TvdBj8Tqb=fOaYEi&iK3Qdv?kR$R{Cz+ZRWn z=T5+gblV$g<2b_Nn3do2YkwG#|5<|S$1oWxJ~F693gBCD`V+&1>g@737=6QAVF11m zPb`=kycr4#wp)|8s8Mc_6&y0e3Q}zIarHa!^^0J&vf@Y64N9tf9 zK^<0+MGU_N9TQJh;lk4*dC)SN%E;p6ci>oiQ-qrtL`i)B(TBqPYsq3LR znbEYdsMc(5SnxbGlOn?fudBpF+X#ai{@4lxEUyTw0 zwnQYEA?eC=-ZHF)qGr^Cdm-C1GkaEDP6TKvv0(L_t1Huf1k5PjtRNZGga9;LA5gfg zeKY*7?7c9(9a(S2AJN1V-rx=rbUE3k22Qd*%i56#`h~3G*}Uw{v8)ZW(~-oR)ePeB zuwSU}tIxd@I)WRW>*eU({!cD7cGA^N z5TJZnQa8`g=y>JgW72bCn^@s~9`Ftx1__hKvsk>9<>o{`6ZN$;W!E<^@oXj`r^`m_ z&;!=#C|n^<|Jo5*QpPa{BJt;U#jSBhfBpJ}#JgBgm-xPE?ke?T3fN+Xh)T$tKbP~R z*AYEJb4Y+({ha@mmw~gWHy~B^1Z9_WZSe@~w~Pqtx@D(Iz}cNMiWa=+S)AD?v9$_&PS#A z-&XS;r)w*Xt@7H<&SrxYKN6r8Y;I0TL|T}EHNj|B$+j3?aL+;Ehs&Io;sm^aH9Fjo zam%52cXcdFYOA54!HJWsQ-5lzK(C^j$zOuOq`o&Zm*_T)99V+W5e4NbJF8Rj?id-vZ&uxr^!c zd$+Y1t6~hc#2)KA%oka%%L-L(xSpNtZ7%245gSN4xdk1cn$-vLO4C!aD&rTa-s24zaqQS~B;w2|RbKY(uIvri z@Q>X0rUt}FT+qt)V!xChdzZQk!F-efE6HV43Xw<;hny2$NP2quJb5XM*N87=HATq8 zj^A^gwoc>>=bXXun*rW&Z4Lg9wbA=pAr*?HuC1byyT{O-qzjX|-10z&w#AHJRKUjc zeoRfp9eVL9CEpuYu6zLy@9tYXBUp^@8Uz)G%X)h4hP$1P^Z$*j5|W&kv@jtk9Rf*n zd31vlygbh#o8>4voyE>B=SfP^>Na}@hBqc2F`UO|Aw9oIMxrFM*p4%EHlNm)SCgmQ zQn2;A7>x+A1PW^6r%MYv;4v(#fkBSe-6gZu+>&lQ+D@YPnmB>tGQ=j+Misw2)r)-= zzQ769r4F^sNv`-X6!&WeD1P&Lg?oM#!rlVmM@N-tSJ+&f7C!^oepp!8bH{ttw@i4X z#9-%hiz1vX72E6$%sU1P@D~*wx3mhmoc(iSM%gqbWtUl_W*F7n;Hvvh29+1!?QmC^ zr`Z$jaNb?{hf(_`3~&s6nq54nT9?WW5kr@9s(Swz)?t* zSnI?*v!|vKZF6#UFu|3QT&}ZWXN47YkSu1IqQBFsW!HR=b#&X(Oumg&j~#KXdDTu^ zQ1g|3jGN(!4mD}sAg5U{@cp3wKlA?8pT%l)enYnG}e;E@E{v8v; zEmM8=IHv6mrgaKqzLKop#lI~rDBWhU+~LVlM0k>t0OXir%S+nl>jtk>dN|CWl@gYy zgyf|M!K>sqAH0A(A~d8o@?zWzYn0Ky4Lq@two{W$);wU@l0dp}@q++mGA+DP|DK)8 zTU1ziHGGv{vCX+v1FR=Qo#QAF@~uPH?+xhOG^oeg)91w!IA*$d7&96y8j^yesE$oy)`}) zZ?Y>rD?KYa{91 zIYNV+%b_Ay)xDM=WF_PM#hUl;;4Q9yxV`v6Wu4RGATXe$ms|dq`gY=tMn`z@`T6^| z^UQ(+45@fIhmKHe9^thM7shx0z(*GtPSXIJKbY%fwWsB}Yjb&KyjaG26+)F7LDQF@ zecxHE;&(P{SE<^AA?y8VDc8~?ArxM@2uhjvRz^3rmtY%$-tgTKWVElg+F5smcdIC>hM*YiJ1!vC#& zNlwMh|0ICEE^Urn4Uz!sc^WInXqL_U(u6@b+LKpzoxn)YbW3d&g;! zRc#MKSraWuQv|V7Rt|#AHUVe*MQUiyQ)FDaNe#QrQMZ~6^WQ@Shy@r-j(}?Iz1p_7 zQ)7L?plb+!R^#ARdFdwxT|%ocYmVzN?l!w|gtLddBRB+3j5oLN9xj##bXT`zWa02m$0D<-HLeD%eyA%Z-qdQsmrVn))HECut&G!La{t zO7ndPqaKS&R&B9ie7E~KS*xiGLdrtld&94F>;Bd{EO;M58d5nV)N~lGI;D8`CBtw@ zKynR)e>=jC5OwZphX^6ZKwTP6dGsQ7l~zLBxT62%Fy3o%$(n1aw+UYx3D#fR%u_sn zd69WuCrg=qqKFG$spBTPU{%74kNx*Wp(AJm=7LPS^jUI7^3WEDo=2!P!8IL!XutFw zJ4Gx=SV2Ky(#+ZVVH5)SRM;g}zFXuKI(rSvGILrxPn#d`nu|7j6s!#-E!<_dTO$J& z*3B1#uVnJ*xkJS24U3$6=Pwhe==QE%4h?f7`Y5F6SlWNyuYP>8?+)kly$Vhwa(8B1 zAT%uD!=4S`S7;nS&f@;`r<*C#IoKvDc9H$cBHj?_Xc8|sk~CXl($MON546Rb> z=bzYi3n(wHs@>v}IG)SZ(@_y3R)ER@r95pde)`!XIj8R4|K&NTr^Z(3;n3MPOwatb z=q%QdDWL6U>k`gcIps7@IeVNO<_U;#EL31{N#__8+ls>|^AOJ_55m9*f|Zy^Hn%J7 zmNy`6nXja`V>ercXq=omd47W5i)Q~CR3m8L#S8|g^{}LFd`w4eu|5= z%1wv=Z8a}eQ>Yp*!4NP8)X)sLNp5>(jHx9of;AyMDYM0Jn;84KkTRI zxa}aL9JM=OI@ya1OU!%x@S(bYb6R6niW9eTy~%`_m(?N<$axtNJcSUEtOtSbp@@lK zCSi}vH7W{<_;p4VuU(MqWQv^M{q!Q|oRu`azDCbmZEw1m~o^Ez2UmSoK!RXp*&l-Dr*4!^`M*13G{U|XAQrn}x}dfv8i|vYeVF}d>jtAY z$@A)*J1!kkdmqIoJf1I}a`8I9u%jxi_tX{fjeN56-oCu(r%YsEHLdcQ%{r)4j&2p& z^bM2~Sd93zg>FenoOQlV&p-Wcj){p$cmLCMw9wQh?38@$SBRH=>z-_h=|B&ZK}0n@ z377ic?(KRVEQKC9p{lxZ!@PCvWwLkzEU&d%!y|n4A5q^85cR>7G>M6Z!#6n2 z;}whZjLkBb@2Ln?`3IRivcgJ6rAYMpV&0k^Uw(m2NZFnACu9->5a^rFm}25Qg+ z80bE<%$k~ziG}Y$Eurqsj3zO5lCz7jC+GpFg4%F_;&i2L=ZpKc2v$ z%~nv);+;&mh+mJ++NYWqL_)VebPTFY8!~X|0(Ph*lcFDfVg2z$phNM>xC})_InEXP z@t|+{A^g7}u|yn;c^MDs(;@W?yMWn=eqmqd5vyX1O>tK~0<8{bI(io4+9W?J!DGu8?`A_L)OmeF}EK?Pk>FAT4+Hxvf*nktR9T$$h8 zpB>anWmDlj6~mr13~oLW(?9dE+?vCCUX@)U*<980sqZ%1$R2NaE~QGIL(UF`^U&E1 zFANI?2Z;`urscY_#@TI0i8?W&!=H&v>-2P~=9`V2sUr!Pt1O_n#mgVV8ECd1 zQ{L7+X9|0hgvbN7|4g^%un8&8Xp4*>SscB`pdgHrDBoz^n4{%Ahn7v#V zSqH*lM_C`zId%Tp5qEN(f;YMLm{Y1Bzi@00SX;$J@11!YnBMsgLFb8n2{LLr6oXVo z7*S&OU~?N$Y=&J|Bbo~*TdYe8Pg(l2DZBA!_M&p$C5EGY0A#mb?m%jqlFq)FVSTjs z`7LLFRJL|DKSzwJTwI;LO37nE!BGEN*#=1XoS8&^hyPs5lT0*pdmx<1U`V60iV?tf zUC;E#omuxdt4g032?13e12D4&_=Ir>{P5eJocdJ=;nTdPW5QM6r1%uKzHKJt0^$+q z8j)tyM%S&s_F0*hhkQMRTs-f2yzRA-qRUS|YOuD{pYoQ#FCn}DtUW@Y04qW(HjKA2 z1AyFX8hV)Ct&=q_w3{MZN9n9Zg~?i+*G0_aA;|Xu8vjX;*~XtEPl(kfO>=lGXvJzIz_(=ps;lfTNDC!LfXzpQGn`{;g> zyF7{3YGIjPy=)#m2MXH@L-ZY0=#VlZPp3nsrSOeMbFO#ymOB+GZmP)ANQIhd!aY5U zmbSsEIfASXbxzQA7TfJ0>-<7h$H%sx+(q?F=>&64J(dbjo^bz#&&&(?3Oi>v?*1>t z+6EG4Mi5qIIg}|3CWM8(25=IlI7+G@PMsAX2sN-}(ETyG=@H_AEI(n5;gHMtbeo>G z>ZSXoS47Q{`&|@(@&-|~i17{C8r*!a@r}3b(Z|(XD-E;j{Kjd1BalO={Vo0hL2JlV zo3MEinzC6bc9!dhj*v{6^XvsxIh9ombOmMG+pnrOTgbmIu9~P{_n_CtPvy5;Qfhl2 z{5i_)2y_KakO-A9s*F;?hWXUjK$J({2vHnZv{gE0@dd*Fl=9!CwEwn*^&R1KCC31m zVvY7k4r?F&Rzw7Nd176?PW8wSg8KErqDm!u3)!p0phC>y%7L1eO8Op=n>fqDQApq?4=kl%$}P>|^OK zS9Q8sAS7ANoIpy^ztzOUX~siuv%|pAKyG~zDi2U5^^jjE<9|rWlZjj$9c+nfhmoi@ zKLTd~DaC_dJf_E~IiXhZ7Qc$NuAfi+dF!(_S7nl7@|?Yfyss zrs+wg*~gC`5u3hE1JK6a&#Xt|z{J*=X2!hH;r~LSTS`%54Y@vr%jLM3|5dg4NGL2P z#dL9ybYzK76zAN*IDh^%>aa3#c5Y4((P+u{ z8&8??h$p;XJ`=G_nZ^GZg%bCbka?l|n6~Pd>K(DKJKXzoKQLDw@A>pAm4URBf2r0p zKY775&p+9{b5mvWS1-x;ZgLe;&p{-Wh~DUP^9TIYF{dgMC#9ojH)w_M%5!!Z9P)e( zNBOWvBRXg{$IeHq={)BUL6kbIjv|{oM8(92=ahiD{O@>+;{(_LkUw9Wx0;0*xeNRV z%b*i#aH~0%R%aZr=4aR=x7KX0B&m>-AnokAh3&^$NPA`n=ywkq9>HYrS#5P;~qI`+sP(#g?jtC>y0HJL}xBZ@syHm=1THt`k)AsAv{2U-QS~1=dKP{t&Ko-O7=hiXllNMA4EaI9UDV@drJQ47=dei$ z&?=Br3 z29TegSYJgW=Ysu{Jm5-Gt$dYf6lLtt5Rx_RH+58XJ8EhsuJ&Z>>!qm?j0 zNm~_!d7(03PfqovJuq9-28WQ%1A(PD{Th7)50dyC{}Sjs=8C%jHWCb{@q3n}yalH#XC~o+gUsKn zRkI|tX+4l1c8A>Me(76~jdE!52JJy`15st$k<5cnmiWoZ6Fl8PSxf*KyJOs^t&;UN zY(96NoRME3r`m$kq%7U}UrlG|lwq+9D*guWO?1NdSWROv_rn*^K`h!21U+zz1E&BD zSVj2PFe5W4g@EjiUzuD;1xvWU_U zC~$0^fA41G^e|?`{pm$F<3{6s=QG~aGkHHMLec<1Oj_RCGS~xPvkr~5Ww(T6_APMd zXdu)0xsPs^CY@jkP>7zm-(cbB!y>dWe5=v(`7X9t)Y^J{e6VQC`WqZZ{H=t#jJ-wG)@ogNg*N zafoy1%8lZEd|IK}XRBjsJ=(=>vxuvuB1moEC_m?NL(SP61_2O7)XUaZExMlN7 zK_6ZYM1X9W@e_E|Y~e*4`asTn_6!r8PG{V6*8@X5vF29JB*M;*!FHtKZnQm>SUU%x z?%b=A$xqI1@V16)^hp?XeoE*>={eR*`4wCJUzg#gb&~a-hqZi=NIg(c$+ZY#8echG zrxS@1rkt*_GrR-o5q7i~WgvI|1p>5Z$X}G5)R?PaZEprHhgQ!+g~@-mnR*hoQmhno zI54AQ8IK2kG2}iz<7tQ+thtA;K|W#Y;!aq6Ci#Tbs5Rj|iOSx{x1*8TP5@m8iUb2r z96ua?1W*~ZAOv=(39ZDTF*sGv&wOV0^|~bhP<`6?J3rZEyY2U{*l$5miIUH--{%yviZ} z)quC^?yKCN?8SwuepO(l8$Vp-cG2`1Tm$e;LRJ=;^lYnj*YZFkF&2U--!e4Z%4lwC z`r*%<=-E`!_xE7{WVU|kk9B8asjQ`Y&;jC`sv$d9LQ2Y}g4>$n{);}5i*?8x^#Mbd z`z#MJd=wLEXyA?A1-tw!hk6ntgkQ4Ot}z3f{Ww(UX^px;jyh_(Dn+uy_P|DiqFkLx z&IS*;K2b#il!l5N3W6Cw!v9#bD(^NnHr_pQlJ0TeT~R}7X>$hFoXi9d%T4nkT*wpkPM*MROqyG)dido|R)say6 zK<=R>tRL_+BCn#AD=cI)71FRNdEx&lBj6BN zKUPF9`ln0;vEmZj&V6eD!1V4sUavDC7(Gx5f^NW0I@7V_fW>Gwp7B9lc7N0&_V<*O zl&Fw8C_p&ywJNI_JO)1jLa`q7GB~e1Qi~W^p@0WrAS3Pq>MxqTq270E30VdwYm)+F z<7-XUj$5@>c3o?=90lB4kHSP=7g9MiuLADovvC6l$Hu`luQVoL$+qlOYg%!N)H^M( zCi~tyQaxdBv~(e8*iEnU{kf2q6m@RAR|JciNFC3CC-IHCAzv0^UQc>2r~zC&OH<(Z z`?XnWrtlc`deMzgsmGn2m5kbg+Vhtr4}Ppt$cqrXoM?JPvDe``w~GCA(ZmgqDypR# zKJ-Yu@>V(OZHh`wjKah0fc{F+jkAt+vSF*Gm&hD`wsJx$^8zL8Q?~|J(H;xmG}qm) zM>bFkw$u#?vz@POP3gIepSFpe>UhFy^FQuSWu`w?Ddk!&_tN{;7S$V#S3cKbh9m0G z+IZk{ei;+Gdhku=cCB55;Q?`>()G;U$@Vfl&*VrI2hH@b##=X6ieT;X=htDc{-s%@z&_u%Bkr4vvJ$*j{v(L_}=@ItW$nu>u<{zAr8+`heED70o@xE)&)sAisEkxABavPCP z(bjkKOg&)D1&iJP&8YnIe~zQ-bG52Apo8^E_~j1;9;d&PP*Su(aFqGb7rFzl4dE0s zaLrey(!Wx|E06I0dCAmM@S+m$-ZgbqfybFH8%{GY94-+!KfpFu4+-3_oB}sw!mUI_ z#&H!Neqi4`hWjN!n_zPk1PGTmtE9uO=hVU;Nd?UbJn2Kln5%RaZjk+*?{;LLj*h}t zc6VggDb@c4&wZA`f%+V~P?b_KQA3fkojsnJz|Qw)mHs0;O?|LN!DxjLs#1RRmfq}^ z4NdcP3R%>CK=MREXrT60Z#)8rwKzUKS2729Zz9ARdS|*i_(7jr&~FC+sq`nTTZze0 z?}ZUb(tUoP?)vLI0F&j+5s^Q3*q#sT>#A|`3IUstfR5C@!!Fw-R<1H|dc1tpXTMsIiCQ*B?);AXy4UR1 zNrLi-D*zU@$d((JIeArx7eNV9li_D!?sZPDS${Zu_4PiR0PlIajoJ^^+BFC{?R?i|pO+i>#YkaovGo;B6Bd&*5?Hmq zUfr|Y!Y>wbuZ>FnGN=3>W#KgDOjW$?d{>2Ln$k?fx_0VKN;uNVKhR)61DOrx84dbK zpV4$^p^r4v>rWY77RqfFW9eWjxCndXsfYoe*&v(N#|*4j5N7TUIaE)cMRL?G-g@?# z=JDgnMRl|~I|SM{MCv~qin(jU34ON->!4W+{sQ(#%6X!x@lX#5S$u z_e@id?)MQq*3jzVa1fmy0yTxvzF#O}9DdAZz{BE47a5s0e3P}%DO_X_PP}s0($TRz zp!s%$iJbS~6=Jq}kk7`q^afros2M`5h1y$?&)4_XStA~bH8oi`bblzl|XdMW7W4>U%SilwK4k-rpv8;UG zLmnzqr=ViQeIkdN664~6>^#0Tex*MX5!*#Z;skxE>3l2DEA>VcoRFk8Uq}mr^M0Qf#!BeEfWH#)(z57NwM_S9%4#82>$H3x?tU;eqLD zFc=-~WGb);o2aN=oedmD*HnKeSz?Sa+FTtc9~imvq|Ji9(KC0tid;Ekp03%x|q$G#m zznlqt5SrY2f#Lt80x-ULaCiH(W&w)R=#`(_E99BIx3d$gSJl1*Wo@7kX9^=mSp`b(5`k=M9K{v zQFdy0+1KFA@H^s$x^!7ufE3;#=#K!q*R@#k-sLzGl{y0ix@3 z3FO;XZbd_$g0AD+chhRy(?SMb$W;00{yk+4i0`#4zS7}SE&`)mSZ_IUl~$J^3Zkxf|0z<&!7veLH0{pu zdb*MRL4)ykLbN_oN8J^oQtn+#m+7eXCh_1%AN|f|dj;%QLdcH}hIghKC%zQSkL!6~ z5>3(h@?t@C)mmjD;AAJ9&V;0AD>1TrZnlG%;u6FE(E`L|?G=$loFzFzxZSm>Wuuno z|D-nj_4TsAK=_aFo0PeeD*+4Y%&-9atC7AF-o8H9Rj4vo!p7`S0Ns0b86<4#gQ)6S|t& zO}f8*Q<6IYW5mOk14uh3`H}o2JG5o5()df%-_M|+Bm<4mPpC_O-;pDY(d2PS>0C8t&1TvXG$--->tIY-3=MO2lW$URp`S8F_h>|3{QIk`n9v+gY+nG!)@K zR)S-{;2-f)GflW`zsMGbm)v)WFe+Wu0-Znu_cII+Tv*BHq8f93!R^LG%-}`}1^{WBP)B){&1wMoqv6 z%X(SMWZ9_8T5H|fJ=#2_+nji_0PX2^B-lH*Qp=B z1HaG6>}e|9I4BjD|6H5@1F52YF@H?y$>Pbk;TcnEv(U);V<7B!9Mm+sRk@$le8%Cf z;zB@MMd-qd_KWu3#P&`@9D(jOcxJ|+ll3FBNg1{=Fo9Vk=t@S?$F95#ixoBgq0aDv zkb=IZu#ZP#+tJArZF`U&T$Xk3(#4Cj8gCh_&sK`MBUM#8T!nf#mU9(TE+slI-GUb8 z$rt2eKG#4&?Cnp$EUd>*fxdXjh8E04JlUh#zy%gRNaG-J$N`E>Zep?Nnp8`)bm!o} zD_Lu@_1R~cURRx)1zZ6GxX-Jq^JY#*W#oA|^U6#IaKNZJm~)BKI_fFK6UT=inl4L* z;nZ-m1jy^U2)Tfq;G@SEGOTNTwFJS-)<8R+6xrU%r+-fScMw3zsP#syxodDs;uNr5nnK;oR0O= z8<5s-=zL#)+L5p|6RS=O$sMzjAI_-Ujpm5Z9?FXLNTmH+StX-f)&QP^BRp)d$U6K*k#LI`^G>b2%X69xv~3rhk~D@=fXEp#91;sbW4`DIK)PVfvDR z?9)y6o@AjV2Z84-Q8|oG?!aqt5Tr2di}_#N4!_{I#o<77MUVU$!f*ehq_-ep@K*hxXl?TP86j-`;aw09?3Vgk~9-a?gkK2b5ZCi-1$mM7?Fq z6=Agy#b;^bmRU2a6wc5k+2t?-TaP7&*^e|tg6!tbz7U9XlDLb z$Lv*v(mT@`8_T|WxNPY^)1zYnHhz%CxcPL%xKKBg7F|&~dfxe1ECuI8YnOHH5@U&Q zRZx}dX8;DJxlcP!&1cA1xk`7jIRlPXcm@75uYyVsoj}C5Zuk)&_wtvivr`A~$u4x! z>v%~I>Ra#jWJ}g3EUh%t8k8yO3&z}Am$%OO8s}v{@+OR6gi@#~=q+z)GhV4-2XWMd z*6Enh^bAph1K>N~i+cObJGQPy%dF8Q#yn_JWA2(69##eQ*u?k!>C_0sPjD$&J(QwP zuevJ-*q$6;yV$x(c$yZ)NiHIde1dwU8{884V7XWU`zr|Iox1e!&H|r-wXqc4LOUkZ zuZ&yVF&VU0pzJAXT{FdN`4i2;{@j{f`1_>8JD%V+e%!DaCF~zKiRmyhILbl(j#F1K z|4HCKj{d;g4o_faWruj5uCz;;vFmQOSpd?- zDUBhaAo{2uaKPf2jY_CBk0eYkyoSdxnIjad2vu1!BxTxRKL*g;nY6`r-z#}y#kQV}JB2g|v9-{ z-W>Om>__Bp&VWilwU1LZU;lQlAtNna`8#~~DJ5DDy7Na3<0QrN)6Ge&g1gM04n_?h z>VwK_psrID^5{P2n0aQA&EpbiUkfQdP{cmfQiFBtc#89$6+1U}??-DXES)qZ=|2M~ zXmc)viqLGG5#}ZqJ^iSKDCz&-c6-FXpe&;7i~JDnh{=@8I{%jmCvMx^Bt5p>m$8{$ z+VSvarvbkI2>BD^&tHM_8qE1P=MitgPw?01x`Fc=N)|IyOT&j1y1{AU7o+Vgi7ZG# zf6HR%Z@DF?<~Zb^Z#m?Sg9v=f*C4l{OIsDdp-D721cK6C)~LZL_oJ6uVVO#rBtK&r z3d&-S-RYxL)Arv~F%b=?O_%5oEdOi#VR`oX-CXF?95uuj%c`#FZ`V0NZU^dxa{ zhY0X$N)B3U;pt5CujUgRrgN*-Ku;R_^L8zrNsO!n<00CVOC+)39g<}m)kOHOoSL8P zu@1G9fHcOtX!byzg?I?|fvCR5o-d@Y*ag52TC9Tz+SA!cO<(>x9v{}&> zL0qeYv|XcpqW$`DzjZe%J2L+8r|sCz}6mu zApgDyAgebOBNp=)d8`uu3ZQpCIeoc9J(KW(+je)(ACDeG?*%`1nTB5j2DOe&nEKG= z`IV8E8-E;l{M_6GfYf~f--g|~HYC{G)@$-}#n6^VX!8J zN&jTs%!h2YSBVa!(3Igrd2er(DaldyY}gg&Jj7^t{ZnpY0FOUlTW(!_oo9n^IZ>YzSxGP5{8q$ZRcmVcB{bp`#xaV{Byz7H0g9SUdRV0 zx$AbXxUWvneT#8YAWvL>vU|~!y!X_$vuDK~c^PLQsPZ}_?!q4+M>Q1g88$~2P5l3y zOQ@WXG(Cc!;U<2jVu~+HSA-sflJ6ixZ0jAl%K+5 zI9kI-=yB=dYU36(xB%;OlS8{Y!(Z9k7^>&QAtZjQ#vP2i)&FMW{0#HceF;)rbapRF z8Lc z6n+5j#R=0##m&}sJOYvF{Q>ct?V4rdHdg@U$BoyzaLBq$xJw=Rx>*?u9!)Wf2y=od6n7wQhNN1|!;)(## zrCLc4c3yD7s)x8tc~R&jrO;7&)mm$pw~r~mEbH|~hzF#-P182(>@KiF98DeXxe_na zHcBDeVy5|1?rtFYJ0_ybbJ%;`S`&c~Zt7PvA0v#I3~Uzr-eQ|@1OCh5*=l7IL7}6h zbebeL&YJD;jx!!dXol!X5x>DoK|S=JWr0DV@y`t9f?XHsQ{iTPNz(oqf5b{9P}riN zLdCHqqo_KES&S;uPy`H@?m{Jw)i7k^pf4v~HQ=&~R(h?T|9w>nVw}-$0P>;-H;(V4 z)15qzifkjXWcXvFfD+?cUcwP96shCZmn1RHQyfg>a;w8r&dOY~AdIzSL2%~T)6 z!A86spvp)rCb9}?QwLo_O_}gcLh2deWil}`W)6wYunl~$tXjR#c!^lCx)b78(@~9l zAN-V98JLUS3`;H3jY9h)hrYS!c35cws{Nib*Z%hcaMAjpr&ZhyTz8 zi6gk_$YGOAR`6?6TMPChMt8!Y3M;l*WrV6$-_3MEvZvHZZY^XbRNEHjQ~}S5j)qe& zvj~Emh04lsxxAxK@N-~0QFlDB7%3F3sWV?UbJ9}%jzV6ceE3QbKE;GYY$KuegfMFe z3(B2ClPQ4ZNA6t>-z!pb&wG|0?A%Rgz)@s|kf_?uCUmv^aZ4h~nw_g`aG2 z{!NHGwz~I=!X_+kDBJQ)=7N%byitkWQ9-VucB8QiRpaRu9)#YI-=d%5OLsv>t5eJi zMi*Ddy4?dfcOPYA?$N%+BOS87GX05s`BT_EW-Y$g)Ys3hRdu-q$B&y2D2p7wL_PA> zFyjw=X-urUQxNleRo+q%Z&%zmx^@40oFdaFBcb3_iKC}IiPUATmn0eqBxybwZ;`S1 zYnuG`^e`xl|9cIVTlyq*aq0w|!5I>jk_uS6K34qV4VQk4p!e!sGyMF#E(^nd-=R(+ z<%oZ-)7M^jFiSV=7x4V|8vIERD!6fWx>x5*Ajv3J<8<&y$== zeyD%J%^9eSV2fGL=+MB-N6sb zK?R-NdKxp7HeG(~4?ZrgRd*p+g3zk$1nj_#U%ejaI6aAGhXR|hoehzrDTqbt$`?MY z{oS!~F!|P+{kNEKn14bD&HcjQ@2=f^#2|;uj(>G*{PG^?wUkaqRon>Q#8sy_6&H%( z)tuSrRUX>1v#OOuNUeeM#dHEZgB@*h$f%j2#Q5O&cp0S6gm$&%GBe%&U=(#za*O5B zxE&m`gEofVPQapc9iz9%=(x)MH=!$w+`oWoJWpfDyquhzGI)FMqm1PrZF+w-k}6_4 zuVH7egIhR;btk#wgM)w8pO7K&%DUGQy`y&duj!KT+G{|O$l!JzOjsGzuxtiFXn+w{ zybtE_KQE!83$yl*n9#&g2+x;bI1%pR_2zcF(}aa%$-kYJ9EL*3w?aX^N9CnohA%6K z`SUV|YhaYPj-ayrVGgvDk_!{BucfeU8hSLCpXf7s{0VP9Zk1g-z2UZ$(@+#l@$@4y9; z-U&+Iw{P{qK?AW1+0@TAR&&_3DhXjU+sb4MySlKo%GWyZ=fgH3_%Tlo7wg}YjwdIs zYJuKGVh+uWs_!5Rej)-sSIF+g-Z-M&i!FHTfse*WJi_O4;YoNz`vdi`iU?#BZktX^ z?bt;j0%%3~u58RnvgvTxZPGt1l{FZ-7tpg)iD@zDym)_2I=ehohAHxn?-oF zi)5J5f^-odWreesmaP%)ipatKB90U#6UKL|8+?$G`BWBMCw-?UFHfu>10FTo# zd-K@u+=a^Hh1(TGf9~H$FcL13U_CdYrHFe)B-={*$H^ zlD_NDHz&oztnA8A#~jLtZ2S++6K|kbJL!-Ip6V37e3v~7nWV>BW&VU`&VV7{-c&D) zpxbZ*yyLHlRl)V&!C-&w%~V%4^m(FVPC%Ud!G#UNltE#0Mngx}Xh~+J-~0sqS$;_< z`g61iAx6BGh(jm%KMoy+AN&{qz!F7s)F@I)cRzCll&b6emuo&wLoX8NAP7Kc6xnxxnJ5oS)%&=lDG6rg-&{${XORz|R&Ps|R*^2r5NYocpo`;v9L>m= z7_R@I%7dI!>?X5)6zhkO@aU2}1a@zcJ?5wz|Apq}=B;7<5J{uCSb@SHt2eog-horV zR~-BAwlrzXSLjyiiE#0TkvHy;a>~sr};n4Ycd21LR3TxT$SIcE8P~;Vr0lef^n?^&rRK^FieY07dTJJqq(0I zn?&#FS#g7c53 z%nKDFp~Ct9S@`n&+5#0`t+26`pMECosB@X&? z1wCrmjT@_B$=a=>JsUmDU~Z#oL*_Z7#(S;9R=U-h1Iw;Od>gMx97BnSh;f&R{U0rW z)Kg8?gQWk9vhR+k`j7tSqRfya6e2qmNoF@AD|^eTY?5rrxD5?Sb}}$t&o`& zLb7Gc`kgoW|V_3$Bq(1)@?e}B=t|6gH{Wb6-b1Tb9SbxF^_f^=DenU z8q1Ed|CM(q_S_a{NguBoxp*HlinAQBN*mu*x>PK^`PVa;*ayX}&#fm%$?;RkX4apy z=sjH_;z=0v4?x?c9)aIa2*s;Zb2X%}eWmG#E)D9kp|>>w8S)lJ!|xSyL=8Tv2>zceJA*j&+o?qi)u?WyoVHhy9X=tF+fb zhU+oj>4cFFZm#iSHR};`rr{Bak}2me5JbGchlg?N3z9c9d?vB6Jm?Am8{?;zhWMu(!eoy7GG`|(e^7`$sp*!tU} z2m9yvK2*5`VH4IYqYB1xaRR#NyTu5TOZID7$`9@JjhSGC5~|Vm2BmH<2V|#<2KSA&Wk${& zeR}B|(YGdAH>W+au(*qg_%>erwM%GAVw^={ErcdMD;5S&F}dW6?6fE2FRIG_{fihM zc3Z4JVbqNh-2;RMh8TN6fiOfg!Vnj!$Ic-SJ+YsQhd*pB(cYkBj(%mM!!tzdi9z#x zdu!pbg73`if~+MylVcV2F_N=g&+LXB7Z*d~`-AZNQu0`&k<)|C$JQ9^d-C(E*%5$Q)|S|67)Ndn4K)4-2=oDT%T#=WUjH?*C^Ffxqh*7Azlg4_9^5^twlU;W4c?U@GY##ZF!qIy8 zp+wszWJvCXcrXbKN3}p@%*v0ZZedubKH5_(q)q&kA1p|V;wZ9%6^$kUm3K;?PzhdZ z_jMBM_d^jYGDzxAb?*8R_nxEWHx@{X&N9HpNQ_$?K4AmtucColZOGM4a8*rfiDxqi zBU=Hd4xYJwqq2T|W4~xz^iPb(n+}@?S(?HuVV!+$Ve?t>l2@loX4q`>Mn3sXC4Hqw zE-n5Jw20OM?u(oerf(?jp=6qM=-Z!C;1l5b$ij116s)bEu%LL(mQP-DHcc_x17ZVN^7h^zSs478*|*16 zJ|BnN=qhvkBYk_RtVKM7d%qi>JBLAf2J(D2eR2-K=qo{|Aq9XF1a_xC^(7_*QABB% zY>8s7kzb=oU8EoCpY7lJbc+gR_D4alP2bF8D0dn?d)lvUjCK59OkpP@Qofd0IMPuQhmVqWMT85+t4Z8o70 zMcqib9~c-8L(3E)AKs(-aZQE=>?~D6GdmE`&u!E}w(+Ca zp2^mJaG#WTI5J6j_)CFE&FH)1s@9YWSuSkAYG0wljROIbU3w27@j8HXt+~sR?dE&r zUM?JL`t1#D9!l3a*=u2GSqsxi_y8R6TPZj!>=^VvK7n5Q;@F2P_t1V6#z)bv8j;}P z*LJx4z?g}DBykBk1TcO=wSLwH>^DdAVX#HKNwsH4;E)X6qJPKCy~xEU{IiVa?H zOgCGeL`RR$QF`cR>Z$-9WaNL7RDM`x$f5Gg{E)SpqT+9RZMLSVMNalpb5=5X)<(U} zg=VBzc`J|kWrk6mQk1MJ15Zw{#Ut)?vzo{#*)B)k4xnjdVJk>B(^ zRAFMuYa-Ci1NPS~@8O|TX+b$_=|y-VyNnwSK3$)@>(oEgsA*($to)(`d%5AGIq?A* zPLZ0rOs^ZaW^~vFEhcE`_aC7jUy@>2(*x6KruN?0y_eng+S9KKg_Y}p1Zt?HWLhld z_VatNV|0F?TEab4V`HIT=&;nyZ@l+N^C{^CWm{`XjEJA|fpUH=*W1zucnNbDOc(cL zp)(UARY90~>|+`=e<-a|b`=(?)c^pQ2V&(oliq{Ydd{k9YLQR}Qns|Te2~@kK@zn6 zgPG zHZSP27~{_sAuD#-ku7&Q*(+=xt`)beHfLG7zn2agnF@99Sc;VVtfvHyNpkxnZ{dpy zwqTvah3J@1wA9v=_SczUm9~Z#RbV!qiO0DN7=Wv9l`oBLZqP9FVO#&%Tp#`U2(dAQ zyx?-s*uu^Y&|d+a zKt_T|p86bBSJR4{o)6?8B_%Pi0sTgXWrpNAnPAFGvdLYMo8F~*JZNC~yfemc1r&{W z1-E3E7Wy*<-C|g>Eg_X-DbS*KgYbkeLYO#IG0|s>DR<*x#|D8ot*%Txm0+eX{>t}m ztS4I*aIlBga#x4N%173Scv;qcAM8^+_thr-ppMKQz zd+Gf#Hn#V!zd6Y}<0l7&Sk#PpnN-x8&MA9@_tE_PBnEe-hx#g3doL zAgj(5!+FdkApNAMqS996w93MDT-PA;Kcj<-8!tK zi-dNz$Ug>^KI=okTpi}aTr!;C2)RIbvgM8b`>h#HP} zSJSKGV}o;F#JtX*$Cf~16HsF_mOU81vvAH?&JT^fh_g;s_)SO+juwHOvmma14|2|= zs+zLfvu#uKd6U(?$0Y5HMQ<^jq+n;ScsXyg8Z$z;l*XgeTWww&Lz2Ju(;2IV!v^Iy z3N8%-^j@34 z$FN~i`kBZz2jtYk7`JK6BD4e6K)P z2mzYGfz0O{;M;M@B%boy1o({;E&Eh21mWRTk|5sg$N%Bo5{J=N3)Bafz0(TOa?Coc z>S7+F9guZ&tS?hm_Ld$Ak~A4uA?l_AYE`S*lp(=WMyUVe&XihdIB>d>ktph zHgqPKOgf@7^S(ydWxPqOPm1KpR<4RHgPUT3xES&ArWuPc>_rLYx{;4KgHPr;aF@;;+PjCl z$Qe&xfW^y_-uwo6vH%9x<~d`$xQF&M(0n!J(tCgW)pQns)Yc6_ts@my_6hc{YFDj; z>R4Li6%*^4sQ~Cl9qep4CMj929Sw!8#+n6aa9FILjCKG1n{d9)1bTLy1_MQE0n$#8 zJ!vmP`w(`MJf>LQt#Hr}e`5@KLzX*$L+ zM6*COc**93VLk*qAQ|91gHF1*381t(aEd7y&n|wu;sli0(@y^qM<-F8P~7qN4UI}f z+0Y5GoNtwo#7O$JoL6lReju2z;Q)aOE}bG$8kpx`)XLp?KC%++1;>cLSugllsLdDNTs zncnkFGXWuj$-R_JVWQ4I6$}jxb1gi&^wKrukYE@|RWz!5S)e9iV(%01o|GIM9MTy8 zI>qhYbNyc53GcfcpH$u)0G$v~cm69DPx{$G?yS^pG|Gb*Q~=kVBA2VYh;{o$`s6YM z?3g~nW$)Ugzb*p?;ol1nfh|>W{TSk$?I`u$620S^HDTA0$`6KWPbiEH1%h-xrZ+7j zsRn2QP8rkWOo2Hrd95S^7Gz7b*34%d6Gl!sn)+UCW4t3KY24cl9ZxcxwD0sdD|}(z zU-+9cm}#B@<8t@Y(;H+9m}1;qgTyo>goIjh_t0AEr3R?QOG*9``$D=UvXJVr0Qktc z4#z19TVu!p9s|&Z|GG9uQ}!5euTyc8H%sHC6pl|{-p~L&+?3D1#imCl(VJ_1{4|`Z zr%qY7WrQQ(wd~WEXNd`UL1N!N{Q5n8OJXyG=fIJ(A_Ix-9Iu<$kytH6VxIw1IVa-i zd9=rlM^o15Hz*IWz%qOLja%T+-0;ljaR8W7T$MARTGC5kxFZJ)(8}pZSnBkzKuwOB zyBAz4w6DZmkYZ>5Nb^EXRdun;DE8+|=^wD|8RIhYS_Kf&7BDX(5jA8Xkc2K3E0^No zQG)hl@>MCXcjaP=-!ssqq#Kz{m86@|*Ih@O<(NGB@im<1+;ljaO!W1+pm_8Qwnryw zcZ|6#AC>W6CU1^DDe@;b2t39`174nOY5C7+QZ+7JLEH|i6M7I))Gs89tRg9qcNNdH zALF4M4njl`truUs9gtAPAf64ZL3zfG%;>l@2r$4^i3yHe4eS5m^f_)v2~0f<&0Rs@ z2s2Utb%Z~e6gfVJZh<1BuZ6vC(MHZ+grztKd7FHu0+9lE%&qSg-d<|x4e$(SJFVhj zV1TkLQB=8cxz|zzh**J9f=Pki+tJ~=$jDNaSXQ4F6_FYkyXK{+pfIy$)b=zYf@8XD z?y(iYtHNtTk-Wa#ig;80ckYJ%*rR{ zzY?{>d}f?rLEQ}bYzvT5MW;ndnoujkXT%FJqs*YIi0^_IBJ*4+e*61pwis2G*jiCltKh!J*kFg}HwXpHq*!)Z-0J8F+ zaOfmQ$#}YcIvoI`U66#3riUH_*t`(IAVZYaRwPidoR}t7YjU15l^He=fDd<^o}NC% zL4(sXlgcN@r2H5wYod`a%r}Tz6%-PxTh9V`RCB6YywhfxAja*Q_f&6b2hEA4g9oSk zDl5~dDsyIvnmZHu{sNs3%#GCcfYgS$=AAa&>hu8-?1u?(;>M zlu-lOuL;+~Nl)BWRUaP~b5VdHTWqCnlfb)iPoHv8N-ZaR`25*xvQE!qGb1xQM0~pJ zb&ogPMw{Zu*muCPd8vl#aaLPdS$Uz>#)jsca~$_}g-=6AlkDA<@UJ zt?47*Z*69LhsiWGpmSxvR89Hsums2U1ZVc#3YqJZ??l^e1mfsWP7w<(9@r>!=w8M|UA+%H;GR6Ag4y)dH=a(NXtaSG{7t!b(tW`m182W%jWH`||Z#YdXr> zZnixb{hnRBrz`N&g1g{Nxse+0Ma1~Ujh}DBI;xwmG<;1`OJ8xBP^p?)Z5hF2M z&6arULj}JnW)Uq@UGWE5cLoi=O05rm)0S&*0-`<)u)ap^*~a6d=gKEiP+drx?CH~| znrCO}tShHV#%1p=2C9k)h(B(?EWS=H&b0ag_ZFO=e=27Pnxi8DKIFA-08vtLaq%n+ z*Qx`rwsv8fSHbkF)$P>@Zt$ZdI|4Jds$Ks%J%wQC-N$Q%rqxLyoyO%l+O3MHqufyD z0wfP-MHIJ|STaN#CrB98G?%O$_-OBcQS=j;)YCPP;iq8N{Lx+0Dh1(WX@vt*8#CP<-xymH$dcR73#^)4j^0DdVmz>r9{4XQrqklvkH(-Ufd@j8p zjjB?68PiMiXf;ngZ=_!j+V_pJ_tBa&gRVGb(|n9Yh_+TY^$YBo?w(62B0Zl;(;x8g z;mz-+!DufRmwedkV$_vyL!*8*BUlyVMmqs}Nz&|lOWLj!*tBqn!aC2s;yZ${EWmSC zIJ+;=rk@KU~pt@=f{gaQ~&2AAtN>kWD}|lW zvD^H{lQ&MHCbNAB@&5fH@+tp7)9-a2j2j;_?dn0fgx(6fkvp}WO~ZF|$kz``{rSb_ z2_1oT6fSK#dNtsBj~3#Y;twH|x_yXfoIrHgnCP|6Auqto=UpE>4?g+ti|(C!K(NAL z$E$+2wst!6irDjV0K~?%42Fh=5->H6p;y7!4MC@PC_tRfgT@+M$iLwmS_}jIlA!=$ z60Ng%$E_`0gSo@hw|suQqtVoJt%nFQ+{I?WQLMYOOf3B@pkMbHUU-oh2nNpP^??JI zUm;ny;~bYffVK(JsFn&FzI(3=8NX*r+wjEvO9|Oa%=^y%R1;y8&Q}^^_Z=iQ;YUWXf&@1I49FhIb2lM=)TAX>v%Cf2^3BXg zOiS2_cj7x2!O1Q9NZ&{SM;h|iv3!g{i~{SE5*x&>{^FQ<`(p2KX?`Sm-B|k&^=OOR zV+RW@${lXdXGu`C(o4-}H12qFLpR%As_RzmJVOY&)MWgeFwSY9h5in|`8mb3thHYsYG7t%;Kq;a*;T%DfxO;YT zYHDO@5W3V8@P+`3RjEc^oB&ausct3pkWDVPi>zW+L1Vf`v! zrJ^BmY@R*>T`FaFjva?Mo8Xin>L5;C3+z&Kt)kUA(%k2~3MV2@Q(7dHLjelOnRE{UqYYS`FBw7)Wj^Wb{Y~w;$4^g_q3l8t2j^`nQ@Yqjvh7C!$wIgaaHwjXS zVo~c?Ipb3(%Z4u6gm|PMNtOTdmq;O1e{Khuzb!fYXJRs)H%Q6eg)j7c{xuP#fCPC5 z234~U_o~DKlkH~T zkqO)vyHq}*Q|fkAEukF7;Q5g0yd8&`b&+1V`Ha1Tc6kHj`OKnDvaNOa3kKSY83wOkNITP!8-6D6nn zf?#e0T2qTbD&%fMyP_mx>?5XMqk|B*@|a0&C*~Ivb=B2bpm8CT*=PB=kvMG;tTFSb z86AK$eO!VoBr}TNz*N^@WGOBJ;e9-ksmr;it4$dLg(Xm~e+@Xy}}H;~AU$(UnK*Ld{xyKzG`C~us%mI#;$Kc66Zv;EN> zP;a{&7pfx2c<4c*x56i%91ThlPvI0v6a-h&=f~3?SFZeI^c)V?tNoG=*&ad1el*O( z{Vi&0di1($5~&I@7X%U-Hs2Z{AeKD30J8)l>{?(JT`>gz%2P{i?R^hMp_VaAScVMq zbvO(Z32fI@`L4%hynYiTjVW_&ZOuvdIeGr-jW{NsA_Kp)+C}8GGTrfgYXCk*FtA-|j zelJOhmxEcFO>HImx$nZYzhX#+iPSS@7k}(C`np{sayrED)ffAd@#=Jn36ibv=5f$L z>eNu;%Gqz7Q?29_^c;!o_w7XX-k(m3eJq98PS9h<>_K4Qf+#&Cz>12_sCkq?)MT>C z&CeeJfucUx-l2sN=u3=u0q<_e3Xlaf3wM`5@75IvF!~5|qhs+l0m^kl@>S0R%p!~t zsb#!YHqh3lccv^iSN&&Wynw0idO?Sm483(@O--=DYfDem!idS&uU`dWgMdaOJ00k% z-{iaQ7ZJB_h@{2p1{h8vlICW>Jw{%D7;tGxt3Tk|5lVBYS})O7!z{=`1kjyYNScuUj*%`As{%`{xY-C*E8*dAaLdJBr7wV(~?4g zCkKzAkOhESU<+iiY{BcQXY-YHUgMh+&ZJO#9)6z9o8lwAS6nT;Ye%)SpfQv35!IQQ zIg8zYHu#lO!7`MsD>aRq3&+ER{*>w$p z=gSUQD4K#-i#^JB-|IXzy8G4J7>U5wd90DKc}gIT5=X~io#M(^X3o&&#`I>He`lMd zNRQ*~9;Z4!#As?t1AwJIT12hYX8b!ptxx6PWAS8w=s=?{t*G0?)0>N(R&h_>h z8iQ$2fbu{?X;(@3H*JCl>D$%W*)~(?Y~nQko^PXt#3K+{ym!u9FFv|phCZq3=+M;pf%J0eg4Dw%XI0q)adu}(vH(_TSs2rh7?#W)QBV- zKNm-eMR`MwVi>jjVx122*q$9izn2jKNS=2W4|b4Ed@sKUy}?$$5;o2Z!UkvKX+k{I zTPT*RL+acW&`6B@F%w^UAc1}a)#%%y)2zDo%Q+7mnxXFv@k(E8EBaDOWgZ!9`;GlZ z2ySS&piNKNtzxNM&&uk%)G)`2b1G#FnFb~*oxtwqyVuXB)-FwSw#?llZCD@N^S1TEMJveV{mfc0M{qg+jDueb zcx2+>`o+_Ni)?;Z?8+DyVxEu0rXjdz;`3(CpFYnP7Kr>QPjOh78(!Q;2LD|2>2Cge z4-=fZbKmq3kfRfi!24^zAu42p=s>C!}nVk zeiRgaqj1_q)XhdE{u}hP$`J+Enf#YJ{X9o&9TX4{3Ozt|;QHRmC)pOKv%07~|OU*&D7?I*>Wi@Lkaf^q#VCOE6w2cN~y5DD!w_8v5&(HNDi$ zqO_KpMw7RDKDBXABSmHa16K})UrqR=_k208V<%q|+2QD!yAVFP`npjn6k*?|ll7`kP0A8Qk98m8|Km*M4_L?D=b^m@(5WCK0|43{>iGB^$jovmI7k&{um~e?gXb z!Lz>(YWqr)51d0Ood3E2J9N!e-BuMZy_gP*LJm`&Kl3WbM}PkAaSipFF4qG$n8I$J)*2~3OThHDJhQjA{8W$W-A>c0VTOErasMr{n2t*xyg zZb0IIfPi6WURt{Iq0WCfaF5=2FMyYAV3f$`BKx#*Fl>oqnsz#iq;D#mrv;8559=`T zQqj%Q*T}edjk9g_ZW1PmX!)k|{H&lTHV<8gSoKI@@&yF~D1$efQFEOm+k#Nx%OGV; zG&|8O>1&GycRIyS=`ZmYS_{5CHh1PCc>Tt4H z5!+S;u$aTbMK|A2`9ck7%+uaJs|>*Dv%`_5f5>%Ue}V2)#j1lwYRX2C-dLJ4 zZcb*!To?Y1l$2ql_mX&=p|eF(h7PZ&)6o43aS{fCf`UrnY2@J1UIJ{Xb8$1TW?!eO zc9m&hWJH8+hN-LcdjH$ol8w}KC?x5b~E4mfMXCttKRR?2HkY3`Ec68J1@OHz^#alan9i>aP!+BHAuw~xKaIr;>H!j*x8!AI35CzL zO@kqkyyWTHyaw}XC6+R0oWc1SuI0@M1AD6oP&Va1>(CuO6s~8&EuspQEJ=JH*Sxh( z-UFCL=T#HX-N;tnkhnPhu{%z*2Xl~uzC({bKXfvTHa))$IrGR?t*9yw2Z!vD`8g=G zw9_!0WqgsNlNm8`U^z3pM5%Rj+^QoXA)$(+r&m45bog6g9Y>HaJvGfsx3(E-K0A41mDwnW`h1T`%p{<3AqB)8>5iu7UM{o zrQ&<>yRolVlg#NH*W!Go62oWhYq70?*91sTV%EMo>cwrF&(a|p~w?= zPO%qXOHYo~r*%2Iq z@vT1OnR2Tc)PgCD83Z2tr+^Zvqv2?1XyDf|?xcBF7r|tmVEmq2E5s7@eWM8taFUTA zp0u;7Rd=flkU;7n&eQ+5Kx*KidTK#M<>-bIMW*Vtpa&V$^UUr!tqDDUYcRuv4+8>@ z74{ba;9FN|q%l_N$s)IiP6lOap9DaHJ7G!pz^QnTA0#$VWo@B<%8YIJ{VcaFT6U+* z$ z-agD!#mI?dAppQ>nusm20ZM}@*o-Jbz?2`#H#gF|Vf_^!AdW+j{eF{=(O$W=`AZy* z%QKgvBs}wAAVJul-;zr`Y?3$T@hC8wNVtOD?RIR1D`pTK%?^dCF+^NI0%66MB?!Or z^PW4RONJC_ZD~Gj#Vzc)gTEs4tOv`TPFd-t`6rm}yl|6#f<_?!>}N8Q$Qx~1!r7Yf z&BXcRuMcY9`sd#upJq(AL%ICPV0Zi!iD9u(;a=#Kzf%P8N5-Bx+7T zoGtOlCdBUjOpampUDJTQeHSwjWM>Uh5IB1D?W3c=-k*c>h+3bFBE`C&ex!s4Nz50A z+zs$rYG_r`fbBa1^v z_34Ro0PdlCZ`;a@ceOJwg`-V#57rO)`CZ&jYxMG|nLhmqVeEw_@mp)kLpF|d~2||x~4d@GM z>*nMKx?4CW4iX0m_{iL=P&wbuGGvAvhbuFkqF z-xQ(`o5Hy*X&!WfWOA9ylqT?>)95>)Nhd@rm_;Gq6Ct&)T~=s6;-Pn%>5qErrs}|7 zH)xgQgB+*gYFKo#*80U1i^;gfXg^C@8tV@Gb6hy>dR377MCuk2F)yI#CK4Xna0~F9 zdQZ$w2~bzp)`q~0zuJaaapetw5-v!j=5s?MQ1r2nIZEf&@M2#~Xe06W)f|>sIeU*_xPmaP%Ta^^mo8mV5gRC~XucJ@pxQZHa zkUnBQThaRceV%a;qljuN(@8*`V}+K4?{*Tf12<7dCk|rV=#J-o(lVEc{1kBIc5{1< zsQ@fj2rert3$ZPaeWsGoyC)$1`h&lhsf~<)rH9?(P_?l&5>7GTgZLGJcwwCpiBtik zbUxq>F(C)AA{3)*w-mW!g_sc1IdY3meY2arl1u(!%9-WpVuU-9m%Km&L&7zM1yvI> zw1r-(iOupO7_Yzocjp{v`E9M&@mulLbrr&{t7RVhxMC@c_vy=$rK$sz=34ne#7*e^ zX4gSrhfrzN9UHPoO&;VA`EsuTE)zB&)BzYm*|HgC#}=CsRT^$ z&$H{`f8Uu7D>}dTJb!Ivh(oKA?Oao7wpxJ7IBSzb%Ux%M&Xv2OvmfZL`@enw{jM}# z7UJe_E^HB^iVx*^H+85+AcIl0(AK={!Y|KezQgr2J0$!|Bxlgs&jhH3JCSxrzR18t z85YDqd}E~v?BHM0uKZ~ zJa|GJb<>sFWBYHuDY1xe-iH!vXYS8$zYJ$v!{x6Eb3VilGN>H0A(9-)<`a6Y3h(5) z_$Vt9Nn_0KPh`L$8!ytd`n=&O)*IoWHg;aAFXQ)I0(@ofN4Y^N;^kF2@r{fN=?B9P z-3lJvzeNX36Y=4i??<&NZEU`Iez8?CpPyd3W9fJU=Z(-T3iy!fM2hhc4l|nPoRZ(d zBlebW)NfRxHog<6PIxLMvJJ8TG8F3_S+Y<_uMt>P#>b*NKyiJ$%O|kD1b?$#JR52L zTRbBo_%52&ZJAEfw=3b&PCU_IbW~uYsn>DFUzk7aTx9mE7iZ4nzI4K) zD!`GN!!*)Qo4&`P`b1B73)(4|PSJ~;(MA|?Uy3CzkDWv05f$(PhoYBgwi7$Ke3jyR z0OJ4HwcRs9;HGc-gycr~r3Xt!^AGYBD|AP=)fu-fbqZnoi%RzC?CEQ1&2JhOoR;n~ zCt;gDX!JPDjB=$L#9-iohR0!4k7R9 zH%BP7I;?0=;+#0}f!|I-eWS@Cdyb>w5soUf=LXhC;F!nCx9Wu5L-fSh z_l>>?^3=soareK<@D?Srp;rqj0P39$`KcC%E?s#se<-HP*N2|dbmC^$%!>w!sSqE! zddh4q!)+*@+4HKt_U~NLLXXtUrdt+8N88Px+@%#fh3yC7p*Cs1Rr*!}fWGTVGE6fN z1YAWm6`F+@-U1h~yqo2S75ZU2Y8d1j8Q#R6xO5A_VSD?$eJCsPI!D~KJS2Nc;uyT8$0=3f~g>X9A+ZE z1G>fw!Ku6i2IwuBtuM_&?p>dK_bVco4*+}IB>ykS&LI|9Op5z-Hh4sVbd5(-n7?## zYgIT5IG;}9?_)2x94%`8X-5mzprA)NLbT8Ix9G>;dKOAB4}nwYgb2&AaPuchNZL$p^H%N!v(W~tq1UEyCk|Jh1OMjNbi2MTGr{)t|4UG+>jK#u z2~j_R^F;c>m?pQ{I=qxLg|S(|FA9ZBc|sgLe`8oNtHB`RVE^;UJT7q4ZzmR5Dz!gF zd>-xr(!>~XN8@n<>LKqJ$5Q>Ri`i`mE$}%oIa-}re|N=9`-*i zq=HOp_$QuQpVG3>H*S<5`ww!Xq3}>QR1?Z8PQJv}&jZYuZRo%;E`#2a_M!1F7625` z@hvIb?GZ!ys0c>Z&`V3q)eAMJX|N^W{tR*EP9(iR?YLn^*cDs($?fSt*L>kn@4~uw zgxJ`uu_o`Es3R|A0=M{%pZ1&k<%0T^?10A3KIgBT%^WL+k)$WD;&8wb@V3T_cv{Wf z;ceYa&y9&d{egnc@=Kr(&Kpc19flQl^21nc?T2(UBX+PxEr!S$d|Z4nnFyL{zBBxT z5$*HbEtwzBjQ0NEp5K00lWzZezM$&ba%YP1fWT~aHDgch?myiB;j*?#TNR7QNAXm> zSU!A^8CRZOq()Mz-t%c&b2a|i8WwHj3+&33Snq^~3a8%I+qGF-OA$!(n9TElsy^R8 z%$<(E2;MvGzdTk$BiZcA9Vxc`UR>-?Vtuta_;UpA%6a+=8Z&Ol{dwa{gq?hZpUvMt zLuZ|%mlFs3;N&u&aqq$JMd(){-Ac!g z+<9}NEp~qg*#7Yja!Ovxwp|5~L16xk49(Wx%0Ysi**mWXn(2+cyPR;@{xfUNnRwGr zwRGZ~%URL6x}5V6bTJ)8Vcgu$GS^pJ272*A*|h-ynckfX zi=xJQSwD0xeBm~25)Og{eP-KIOCIK(PCN;CMC(^qPqZnT3M0O^e>jKsOI|kLN@ZxH z>M}dMts?plVvx}zLpjl_60zkwl3sN84o;6O@izr zpL$^lheoHVAis56E>RYXhpX=HBre|VJsGA2i3{*h_vs>9X85%!(~{@KAWOEPl6I|I zlg}2nA9&|N|GLUj9i>gq^2Fv(H-XxeKxSeC3S4NeA6gDBS5N!#D%A<_9~xRPyE>eA zU-II9edwS9cra4jRN=h|J&;Im`1=ijr5uA%NhhvK2;YP7D7u~b2+j?i*}+1^u4EaU z=7kv-Uxjk%Fg>?uX6tA7gy?zHrZ&nL>nXK7t9-vT5C9Lqj_A$djlz0U=ki7|TV1>3 zNxqdGvxeONWMb#jH5Af`0j-3Gezd;4sP{rOmXry~5l10ZBtHI3YzuMlc#oA67L6hJ zf&~i4k$(L;fl4EXl2Hzz8Zww3jX4BYcKL>r*u;;Id= zF%^l-YT0{pU&qTDmeH2QV#lx#hqm9$gVy8P``A3o&1flC%^!`C&wEd^Vp~b@xZZ$V z6&N#+zJ3KhAEN+MO7vEaNQ+a!3g>*6sLyyQtrp+b;rPasfnF_!!9N8VTEn8TlE;Hc zZtv18pf%oX7arZZ&+6V#0XaedYF305YSEmVJ@bC1kE6TFSt{+;p7gn$+EK0c7y);c z5VgXf-`$gwNBTndxvs8UmB-Ee6J{Z)}orYDlul0D@?Vj@HX! z^z=;Gx`Wm}Ukh?~xoOIuwtCj5`|HjHy(ZM1j277Z<`L94CDuC5S?KQ3cukxEn;gU} zW+}+bJM-n40e^NFtzQjj{H)`_uc&il;a9r(=!xzrAm;7pGoD^t$e?~zH}~YoKKcu} z-hj?Z+-OSuDh%nS^oxbref0E1osHkCM<;wpZ2tKuTb~>sZ` zJlK)K1Tsnoyhu0C8}^!<7`N!-Vajzz#Y>(mj&%usmVK3jtcowYMH1fZ)XEZAQJIUI zDjTl`ru-b%`&ujO$4K$>{ktU*UB$oSgGZ)*=5U2_agB6wQT<)Usff1K&4W*> zn7h7&*D+9%r||`D(+x`2o!K?BHH%;Id$(#&SE4)rk^SFW=#njy<#(iO$-~|>2iK@a zL4Ge0=hwEF>-3#1=XbzmlmSaCpjpUKm>6Jk`tP?UVRR1NLV4O(;j3Mz0ENiCa{a_P zH&>d}*Y^g_nPJb|slx17rmDSPYPqSc3pL|k5zuf&RBkjGFPdkQr>$71Fh!ir_m=vP z;8pQx=ty4~d9fF@G01Z@WHY|U`D^96Yh5GGjZ-z9XMy1j5Sm-+Q)1k%Mm&_ZM{s55 z1LV?=(jo>_f%C%1zf*60I!Z_UGi=d0Kvd*gb_JzQUjT#g80F23X}Q}JdGV7$EuAtO zhfeIaY%o$qVLO}TK9pqHn+$0OtHx>!+2OiQK0u&xkM$80Gqn9;6?qfO{>9dfGFkNM z_GQfQ_KOR)U~<3uT7a@uW5c>>kZ>2U?Ah;m)Ni-IRfu1e zi&B$Al)A>(Vn^JXixlcDqHl(IzEuE5Tol0Z19vv&Q_t3n#QQ=B%{=jObOKu7aAslk zgXADMxVf8urIhS>RRv%^+S)o4+%|&!Ywf2oknH!e-d0!8NiCCS{`t(x zR7WK0Q`!-)xV4lytB?a7g8zNxAG!SYfsS|8C$e>Xh6uq+uDSHBc~U%LbW=F_ktX?s z#MJ!w*mJV7cMj0e-7}YtX<*u~D~6rQFxn|QXM4=Q6H!D>4!pKZt|goJvZlN7=1ovc zE#+E{$tO9^8rm=NN=q+-6wPH_h657zZV~r0X$*gLNX}Ayh(&4Y{Vtcozf#^!xEn7A zx4!%?)pXGs=4xOuhu>+`#%W&;PR=@*DwCfcDNU7o8%`mfwO`nOtI9j@ROAYdw!LGL zAefqeFGEb#iZcB8I<`WcqS_Aq-6gy(MYCfTb2WsXC?Y{=FwwX}aFS^0tuYOvZUGyY zN*5cC$YY-i_Kle^Y(;@*E+YCf&$h2`Xf@vxoFJaGns&8cEbHR@AwxyF=X&L@{15&C z&`oxolKQ<+gnw*=qm(U>;Z7P+D~p+oB*Gt zbb@h!MZ$d+qQ}Ei!S22l#%@;G#Ip@TUoN&*Xm+KpoipS#=5_tit(`{cu$5BJEv&+X zGMbMMsF}Asr{rDpY!+KFEEZnidk~O)^%{8wj<4ZZ;8z(KAJa57_W5>=o;rl2L<2=% zt|KbQ@vtDx-z@$1QH_o#v~W+xG)(>28=Q_ED6sE|d?6>*uHt3Ej9)`c3e zSblkDH|0<1e0eY}qSI?l90o?|roSr@ra$K0C8d`xRYZ@iBk}N$0PV+fNn86*A?E6$ z#!oE`Bqq{!;qSrWwuE@U%IVYZ4NijA)QWzEZTGBp(!E0Q!gZF=Ln3%%&uPW}ZqrR3 zW(ObHhbh&`Ortx!E>|#5(+F2&x<^u+Z;M~TrWhczHBs@$%q05<+*p|-Q7ln56QvVr!j~$OIPWLaQ{UFI< ziDHd|*BJRPQuQ{?f(hs{s-}T3H&v^gs(06Mpl49M+XAhQocmkhw0u<+v}zKH%)A^d zwmGQxZf5Igs{0il+wqlOlwyw^>m5tBIZ1~rLK2|7JgKNon8Is8n$B8ntI13&1gGhW z@FvNHXQvba#&?-yf9mUte`oIfeP=(m9k)L?=$UIMWb0!k+3uZ(yg0g|N7$gEOH#&( zOi)IMxO|HoMba!sUsSABjH<7AzkZ(mR3H>L0h;Ou{pkP{umJeR)Q3y$#M=Lhq)^S= z0pxY>!+@5~m+Dp*u#Q<3wPTR$t-j`x=~32)Ab`C`9sN8X390Y4n;pOrMDam?eabwc?%jwU^hUkW?BOZN328)=Fe6?^o<5l{TRtw@vz+Q0? zA;HhVf}AJqih9bWVj@bivf=9ceQ1?^iOq|VpDFk9nkueNQ1>h;I2#@cbxck(sSa~XYy2aSWOuv>GdWyRbi6&4l)koTMfOs z))p#FNzMT0@EpW<<`7vHx%BoI&TznlupJlW$zK-*$7$HnPKesA(gkU~T3~d*js|q? zX#=iW@?u1nNlV%6+4VIfc7nkAaB9A@SZRuKJ$5MVcV$OZUj;=A(?IGjP&^5T2X-0! z1jHRUqKjdO0dn`+@YdesK_b|IhYfdEv9E@3;waT)tuE2nUZzHr4)zn>whJn5rIK>b zI+PQP=ZF#|aH;$6Y0_N%0!=2bEmb_HibtgN@r~K~CE&ab7qu+4Pj1;3dyXEQOs^Ry zMm-LZFt;1~(`d15R4&xh5GSyEoW8lj5b6~I)I`{?xBIrJ1TppX7d&B|4aF*F6O-T# zF}GYG!CnD=EixrUw$G{fecJs8NIZUkco;F$4t4Uk60v=Yi#xsrAJdW51BwZ~Qg(7F zIDftCU!U>;k?l49$e{0_#j$5q?)p}d49kJ7yA_W+Vu=kS*Jt03^mHXD_8o~tm&(vZ z*x=-zc3m!&A51{Ndt!YH{R9~6HUMORH(&spzC8y{^-5i7`zOUI=@F^_=S712Z{>R= z!+59ORgmPDI)053#Qw^^FXN#qNgxX2Lc+ju|^-7GKmi!h1=xhIleOOnA z2I+`Gjw((`hy74=+RpE`W=`d8!0+0>jpE1t%I@DCAwCTKVlZ>V+#0m(XCh2LsK~w7 zJ{@T|fT&2Jlqj5`7=9x7LR&g0?j$y&!tmwo9*8u(UW;`aYxmAuLdMu%*?oit1Q$N& z2Q$nFyS|8|$a`(gqlgR94&42E0Hf5v7ur(E567HwVjuL0ZS%!cPYOT;;KfSWowN=j z=s0qZu6hN(bfh%@LcKJ|%)uW*`MQXjZ6dvY8Rxsw{AQmJu4S6FxQvJMAnLDM1w1B| zzeWJ-(y?Csn^OOW2Q<(t9(1VPDCsJf4^z8kWbyG@{z7!nFRj)6IvXGI zZcSR5Q=L8U;j#7ykqoXs*k7qGIBz(Y9ebg@IT;_nLO@bx%rdFKQ^R9uWdKf3` z$J5cY!&^Fy3q$ zA|nAfGcsiBD1_upFvv7N1u-o4B=nyW$!5tcHs8DtsaVgQ*qk)o>(0E&SLLHgIv4Ox zUuD@}Ok^#tIX~i*b@*`#L(ce>CEc3+#(X?CKc3jXTORMoCa?lR2qMipBs9nP`T36t ze}&1X*ykVF_J+h8)6#*9Rfdy=z7Wj@IGHPdy4>kDbT)79m!N1&x$)dXZe+9@nk5Xy z{d+_isvrvE$(bp}v5f4jiAr4elCI&NFaH2kaMTnOo)kNe*cyn-9ZkptE-=>fFL}3x zm33tNC1x^JQznF2xVlM^ow>PM^_ZcLuF zo3oLX)d2KnT4u?|abwX5`?p2c6pro{Uv}^WSNtS&q%$ zVR)txyzk*HS~8we;)iKm*<388tHtedujq39zERQ2(J`_T-=F`k%t9s2g*leIG%IO! z`EpT@U}1f^v(vqU>kNMvrM0#@Q0*j+p-xANj#hsU&Np@ZMo+@VxJ=z3OoF|oGngq>#-#?_bI0C@D6e&nZA2J<9Bar%<3)fBNGJh z_jD}?_hq$%o3`sP>8GhThKbSh7Xc-DgD35=oZ!droIhSFz?1 z9w45KXlE2D;fH+_cB*CfT}N{gvv|~q*nUs}MM%}FjESVzew;Y*`#QP(N>OP<)pf1^ z==GN_$4O5#IRxLQ;4&+~Bbd|;{Y@B1irfXCX5@jeO?orBql=+uUae*wtaIspwqNWc zYjF;7A*Vv+Jz1iXt9*ygAhiGctb7(0t4O!0hU~jhmK0cL!XxTYLkGs^z?=!6afLQE z%LL=LmiKQBxN|4x@99S^o|>%_d?^w7g?sy9FNhKey06G~r+$4o8f%`ob-{ms1o=H{ z)hf*d$unmTL4$jnQSb5lC?z;Xb~68}8z;W-cgF!$pP!#@^as&=tNdAXz)Y>%(~#F< zH1TnS@iW$RQ&urb`@pb)tF9VC0m-|b?e~muXp8V|r>-0(+kG(j&2{2!x-Y!mh|%OG zm{h&=Q|`dQY92Aac+J#7g+-^kIUlCBULW0vGQRxTOnX(2in>X&kvuE*FOU8`!YK}Q zZS6bIga0(^A;v9GMaykO>e_Fj9fd#!cvb^q^Yfqh85367H{KM_r6 z1}cTk(13dZg*fVfcjF7%KV@qJxl{B_Elzu;ixC>}QE6ulOke4!h+pL=Ff40l?f6Zc zi=4PY!c!DmLDLhBJmO7I8U^_0>r~X)p+AhhVZ$)ANT!yLX?&8Bj*gDIc&_=%)Go|4 z)dR_`vdGQLGq+o6^~--u0`XKvNJ4=%KOvRALy`K?uYmvfB#eKg0?i{(YTE0kANfN> z*@Mm1@I$WfHAxdHvts3X=z;KyS``X^iBrbplkUqk8&^psE6)1PE&o)L4!fh9sZ@}b zJc3|OX~xlF-sygzZib=!u1Z1#_1meUY=UH^e~#4k=~4{=24b6l7A<23T#cQ>echN` zWZSBlhTnRh0w&u}7rzo#9x&eJ1E6blA&w4>MD4GI4Hozph1o9dlv_P4ebs!TzSpPa`cZm{fy^o& zV!H49C>;s398#0i2|d1&q3;*Iw{mwy#nWW2FW|w1>!Yo-`zmDEV z_-e?8OXfVxpB?hd#35ODKk#Dg{Dk?%gnHqdqz`%Cl(`i`?;7BZEIZHQOEYJO=KkmS z|NmYAnv>;cNjgP~TJv$q`QOhVDXa#RLDIfLwHUonc<$Z!s7p^VhFAg9pVhB8X=yN77zu)g^3~7Dy>Y<@T zbLW0tk;9DLjrtI~hB0=DpIdX0i8BRxg>-XgGc-k;_nH3}qJ^n@6~;W=WgN4OKY}yE z;(al?-l+X21l3_*oh?%0wv0INMy2*mWGh5%ZDY@4ye5KYA03LghBF*bYYDh$&Pq@J znfa1zCVKPY300GV4;T((-sPD)94Qit&~`{Nq3F#euTR|)E_*kwJ{`C%;Gcf;VDU!kH<`#bAckNhb-*N-NiZ_+Bn`t8>n!=<{WR=z5De;@Io z_Z2Lf$0pJI)cUjN++_RP{(Lerk!@|>BDNe_No)W<^^^bX!{v_y3?^(~PBlfi*HnNu zp6nkA)@fm2Zk3%HE~(f6c7)=*P%Qa=oH9AW`eGzI+cxKJw~je%%-3}a_4e*#`{5T8 z>&he031mu)0;&eM8ODAC%^^X*kk?is9eudI6>fo_|JpxaI)=LU>GWnnq^}#}asZS6>g<=du%BvO=$9q)U$;|AtU9-t4W4X*|H*zZSd{$} zXLk=|a>f3wvpvSX4cF*{9-}g;Lyscd+DFQ6C25x)or08*Uh3TWfbSEJ)NMsp?%QbZ z{BmW2Ri5YU*~|U+^Dhl71oH497M=g5%sW}rR71SNCcd&n;DpzO&1v$UAbjt=Z+f}Q zUQ?rUPhOuktqc7AlfbY;-H)a{IZWi>D_EM%le|U)-3eIChlj}ym$}os@^8Z{ zYzp^!%RGJ)?o@D({0Q{szuxG-XeAbb!P3e#(KyXve^Q#_fNiXxHF3iSn`Oq640i>Z zk)G7ug@y;q;Xd%kJtd|qUY9G$xO};bEf2;)8#p**M}c!25b9M4qQLb&Y32@UMEdCG zHMCbn6=1K%Z}K`S1?p?*3tyosots(T*;-36=mw^pw`N3Uf;S&qewF z3_~<7My8HfHGzRbzXNMJeymp*_t!ACIch6NjHDxr2Z=q4QrtIR-N%4aDNH4b&y@t> z$+$;4S02r@Un9i?GSN?`0$Ox_*dNfu+pc#cI1x(_Yb88;Oe%yMR$4LACT4K$qJVdl z1Yi|`Kz7S+lIDDXdZM|E6w9KCtaNgDx4h2Ev7j7BxamH z-&hUH9Z2J7lOsAaCz=0w21o9mFC$YfvVRjXHy2Q5#{JpF{Qr63)TdVtGb8@f zcBDC&ld(|s*&iB3>7+=H-6qzO?hh8pd|uF!`tnbLA0v--`@hQDS9$HRPHQM78&l@; zf4^`navU-o2?@y?$VD57$r&XgJ0g;^vB#7cIj=7QYnDdg1lhuSlf8uQ*FH;Cn(_O8 z_i}JxG0V@CQS@~^xTz~MAuDm}z{*od9C!b^gM4mJWN z_SlX|La1ho4s=JvtZb}}B85XHgAH&k(y0QwPb9Vkm|KM_62jMqbNUH%!kT<8GGG>I zulVbgKT?H+AeXxP6KJ=n{5G-VeEDz0s++hv$LlrUHG~5}*b-)>Q4XnlMmscZ)0Iai ze->9jl4R}#8;-`if(X$!hXapp`3IPMZeFhtuBP?!I{j%TE_@9f{(bARC&7R}zp_25 z2XK>Nwm?Tk4yo!K9{KOzCQip*cet8=ZxH-kzXNkqXKPF5ugYC>8&<7E4iiak8Y&!` zUiz(G5V^)*hL;g!d01anAZ{UhWoccg!d6uwmSOa;@)a#2lpcv9mX81q6VwrGMhBN> z=5?NK$z3n`3hH+|4mG_GVJ8Jj2CQPwKpcA$xJ9tM;UIRu#1BbU@3cQo-3R~LUJw>S za^>?mgeQ*H5}=*|U6rHRlWz~DY9wuZ6;hA3rUp#8k4n5B!2dY=Uzk*?3{;54YA*gu z+*D7E_#Y1UsA|Iy_zJOIA&0i|DIP0NqM$ei{0k0srvHmgDU z0dy+=-Me5AaW1MC=~nugr~ExX`d@0hjA#m3dT+&Ov2sdVd%iy<&X^6I7tu7p3cG(1 z&Gg6*Y|p*dB(}ee@F${rG|in7*d#sM{VxDRtUxd|&imL{Q!tD44#(#He(Ui@?M4f! z>k4(;h(0qYPE-ea>)ku-B|z_3CHd}(ee}S%Y;mp-+NlR zCtWjs3upS{vESVK;*U3jaZ%R*Hh5>GwhW{0qq#{(Yj0ljt#Hf-MGJx@=~uxEf&^`d z;I#kcjZvG~E#vX{#To}l70Hg6C73ED{|Bl-9$tBZw*o&JYbb4oX1-=u&Bs1fG1nXw zuu>Rd$`PTfagF@RF|&E`-H=t}SfO-pb8``k_^%(icEJkuNYAL{y5&n4k;Qz*YrF0uVr7*MF^-XZ;gBi) zKA?VUqE?|bVb!wK`sz?!t_~~n751|&@fhVnf!|H?j*T2pb*etRZGKU?P*5yDcea%dBuU+l60Z!jXgt=Y|mn_Fy2xqTE zit#=F!r7Nud^-*zIK2U|9H-GrSEj=BD8{jleJeT%FUi5_w&8*EXbhR@=Z|5t#kA@( zGc%?zF6ygK-C=Elw4Dm-srb9=>M#_#QwTi1V*s$Sp`IG;7bL+ z{b>-1g7r75en4uBXg$T`-%q;S!2e^z%jO4L&m&1&&n!Kkhv;?HdBBaIxRBCNT`cU< zW0U3jW0;Uz%}9aM`X={LkvGIiFem}CmQ8HPQ{|B0P~yp?^}|M!H}*^ z1F=)@NiJb7huGZRwM5V?Rj!CoOs?i8^0CbD%E#M^YW@XfnVzFeon;plyfEgTM2O5G zWz~TKhsKab0%x`E122hDugpms9iIPwFk)THpb#G)vGv;Xz<0MSQz!85yph#N0_XjE z;!XTE`3rdaG-6{)C&tMtkI(OejF(qybzYQ~FYB5y2C}h4_05i{3Hy@1H}CSA47-hT zQSjm(Tteu4Ba`m(ynOEsok*4v%+;u^iL)@mTG9V`eJl+P^11#Akr|sV_DGb<^0~?- z;_kA{9*EtRye>=T|NW$M3)B#s7SexV`2Uo8WOZ3&U~PP$*EVAmDa?P?2QcW{P()H=X5@Tsz@E8W^3og zbzx&+)dMo$Yap;=$z%U-WqMp2#LfLA@o0l;#QE`Z6y;yMI6us2KO;GKzwIho@$j8y zSN2*u+cAgL*Ld7{U9-=bOa-g6AIyU%L@aqvzRD|1uXnvDiqt);8zts3J?v%aEcv^Q zUoTrN^7*N=weNMlI=z6*#3|ur7sMuLzfLi3i~hsG`s|ceBy)Pxkkh%s1OwmbfKI_p zYsO;oK6y-N{N?7WBlF3$+fa*<(3;)91u~p_YIRSq%q#P8trT|?m^Zqh3)hU({4*z= z-Pnom=AC$MBA1vsXoTH**=V>+rsH`)1Y%U{S4gl5YBJs1Y;(pqWuzg@EWREiUEP<( zc0-TSmcM?zJyf^(9S_+TyT}dhGIL#WH&H^ko1r1{?Zs^*2Lnlx{QF?p?23l9IxbGz z!;Pd`ntJNF_=KwGrFrCJU%Q`W#)rLaG?}_f;w|_G&p<-krr__fQ7s+H#!7}PW!zPf zke6FkUH`>mkW=Vv1di3q^_3&ECm*AkZ(SdFDk9Ohr#NKmg7gozcQzYp(UWF=wEju7VB-D9zuagnYy)npoHWFjQ4L0*Gs=%t%A(SS&ZZRd7Y|5{N3Y0|^qTWr7t zMb#jWp?jmFdNh*0ButQ`4L<`goB?=P+%V`iXjIar0c{hK4KVntmqohIAD!bHk*?{QoyvA5F)Ql@y7D8%%th1J-)>CAu zYcMg|0ErEGWkKYo`{Tz^w?SAYCV%!pahb8Ft2i^dxJB*i&j%3gA3f{PIag~0Z1LF> z^;Ebxbqc?&hlk#wOg4WQuzwd{w)%mH;t)d599CE3!JZ%3Zsfn&#{X_G>^{a!5=y`O z_r`*&N_ad@RrxpZE|PWOhjWXx&pv3UGq#C@USerP&qXOUqXe7hv=`mSlJX7*&b|{= z7v*t~q4{l21xDx``H-p43N9#St1V%##a$SI0W;we@yj=Gqo&xc3=w?i!C`O1ee$c) z&3VNWO*G&wZ11{@CycD#?5yE)b_?_B&1^=g*fpKGFoJ0*pJ&Dg;^JX>pd`)QVsKE0I%2aUAMyM!>t)34EfcRQy0x$)~f z&x{`oumYd~eAfhe(UPNZRUYI&*bZ}c)Q_(oyp zbEcyOil5O0O76Yyi#I*Ld?_>N`wVlwj5!QKf)<2%UG-3Cg(}w+ZknVf;nWWzm#4R; zvrK#tzdBfkk{U)SR|iXN+PxmXs<=FU#IqZ>6A?q2YlZ=$aefv2@mZBERiwFlaW4)E zd^ABp>pFuDh9k$u#+HE*=1QKxYTzXj>b1aCuX?TP9;RQOC9w*YbssQo?PFCFvGMrJ zAF^ZYVyJt$>d>9)#m#~6L#yndfWT;e*Z>P5 z^*E7vCFir@ooEa+nycgF)%2?%1|1l9IfVgNzR0Sbf6b!jyGEOv?_aeZ)4T5S`UG6U z_+Wde^^mZPOEcO#_{K&tl><{)+jWJ zSWVfT8q5s7g9~eG)t3m73_lv3>RyzcnWk$C)hh ze6!*RvfGd*r0Xy=b1#w5;lB7-3LV0D40Yl(L92UQ+enVQ+UvY> zmz^l_92yZS5bPZVb*X4q@>uE?Xs|6nMcSPj&J0w*91UgP zwLe+AiC7d*Qj3{+tSz3@ih>pk4jw0!SIMLF=2rMxt`uwf*2s3`@TP{=paPxUlR1GI z@_D;|A#o8WgQqEJCG4X(-C8vrSL3nW2Wati9(rTif6KJ0A}vHWQsH=g-Z9&Ns{obV z?h(wSb?`xLnUU6UOVmk~>}x_#=8vczatT2aC)Kh@o6rO;*}tfW&G*C%@Akyu=whrC zB?Xnk*V=KW9!^q5NM)t1*hLW(CcEVlP~@nqii*J(d_=z}?bF&XbZE0*s~G^RO36L} zec;ma7QOJ!FZHXv`az`QvUZ+-bg+GgXA)Eq$A@QVhj62{(}VGWhejBbdl`vR+%Jf@ zHp;a*t>4)Mk|(Lw-N~4^xbAH|Txg@!)zw=-UFYt+-sgAVs?S`*3mgjGVEXyHxUsa~ zlz~?oe2j%L&venmx!qiiRS0^umU}mu2BiFFNz0DQvtwznkAFiUnwCPs{?!CHnWy0( zenyh=JP5j3gCzBD&H(8^2H3a-VBw8x#&nOBAy3EWrM?OJH zOG~qvs*wb0(XW6EMMFmiPDv;jfSc{IIW1#9T7(6N`7(}<+_tv1)62^*+u9y{1JlHh zzkm^weI81*X8w6qet@D8eh1PF}fij?$Qk+M;I_^=*G$4oCS zh7}a>hxhaYaWt2`HQn%0|A2tr&+<4xe~}!_dAP5mlhDj3{3AWE>T?Xx8{q_#09|he zfcdJa3NdsPcimad%*|(JTn^PkRu`SYpiEJqmeQ3X&6C6t9UhJe?hm4C8+wo;#QCBI zN52G~$#nv;E>>1no25#{c<#Poy%Kx2sK?5w6Fnl_-1tCG`R$)LAi4)6&{DxnXR460 zJusctGFHRD;1!r2YYN8ti@MCBK2lVq{_X2;Gsv8O%?0q6K*y&E2ZMJSr>4#e&OR0I zS&%l|zm8a7a!FN*ew8=hkMad7gMi&ZPmHnb@86w4`S&BumoLb0rna*Quc?R7J#FIv zQZO+Z-^0|JMD-m4f_=n`ZjQYKtue=XHQ^C`k0RqYcXl9oYVCcFaIVT0UHfiCrQpGo z7d{8Mee+S?-cRhp$ZblS#k*JK?;9M^r_><2o4oz(H!k`L{+IIGKTh&x9f86bbeCmH zP}d>lpuMbo&hKuo$%hi`6K@NuGtt9}wf?Y@GjjCX%Ce~{UqONL^(Ee5L9j{s{IJT? zSuF6F7^`?Pb|zV~xv16Z5`w9ujV)7?>;}_7+!KHQE@^~;*UymY?@xZEJ2! zC27{l_bz>)a}>mP61}Q&m;D{N6Wu7S`th23=d`ybwhaVwg1Zg$cpoxSxP@VINQ0rL z!X= zPr)xVf(y?kC1gZxwO~>&ADC`^aF8&W-ma5+3Z@+&0M#1mhNY-_xuu|$fp3_Ym^KG? zGaOw+jDG=(II^a`zP{{mA(0O#{}!5OZ?t_plPC0_ZF>16>yZSF3{3_d=kyw+5_6hI zw*Zw|#8J?8j6(SU933rw+bZ;=;yq4frt5+QYifAiT#R%ym|x5G%h4&{a2et^$52^E zNWlG3@abD7ZV;kvi9jge5~z16(?bwcSf4V9^cYEpww0+G__(pWN*KoJvadQ&E~ECjki4B3*@7vUq=7uD7_drN(VSSRQ& zo^Hs^4X*Hg3UAdqva2c~mq5Fl5@_LcHP6^0DW0bVSlQ5>RC8^REw9}5zJd;rYKZbf zs)ZaUyPLPirI8BJlW$X?v6_Sg4+orpBj7NcKKg_l)VTVh;b3gCgN-eB54UG6*~~r= z_10fGdYcz%IHvH50y+kC2@86P3-2|zAj846_Qo*!!0?C&Y~9_Rl|dXZ#(jzzX{UvS z3Vk#Tk2*9Z=xoH|oQaeB-tXP8VW9vZQgZ+T#n*}TT(Kq;l%`=hla2w#hBc-HM|KmZ zwJM-88QyaO2Ir^qWHW*Xa1R3dlCOaVd*Xu}8JPGgymShGD;U{D)DGTGcl)23>9i^m zO!4>`8V=PFN#46AyNpD~iuRSH?pW+1YV?s+jE;#B+6t245060iU3Xe@AS3 zyD?&B&hp4QAd_IY3rCOICa=~Y68|ypfs>?jbC$((5j>b1iG*P!vX8F(Fzkd^i+eZ} z@Jbxm-+)WN!`?S9!j6s7G`zF=jc$IYh35XQ!AnoIMjICl~ zZ;*0%-RfMBpVVbRd^{M9bf=Ke{$z4t<2ecu50&`!{?p3vz|rxgP@d~mS=$nL`#De3 zONJ(i{VKM9H(*~EX9dZS*Lo4J>(={^x*XMy<7SZvs=SLmWXQS7^3gBAqO%k9?N1ts z!aJiDL`YIZ-o6ih_>s5ws@I_*14)V|yS(a9Fpn)XJ2L4Tm`xmk&j79(=AS?1ai z1a|Nd6N8kTT(J}AnuP&rA-f?ASctEyYr&2X(E~CeL8&1st44^Qs_N^aLN8t24+Bxd zurn~}I~MtD7L=AE^_m@*<7~6eE4~F6VM3>z8}SIC-Y%VBw1O%4(u3ovb3}Yub|(@h zw~8d^sk!}&j*RS1XWB5Ap+qp``9||0hgMFRJ%(4W6{6ISvTtStf}h{RI-?zFAesVZ zOrX@%)U~Au;uBLf5YQqsPyZepAVShYBsJtd-Hxy23QyLk=a#3apzK?2^rzmHn8`^H0VH_K=ROdo-zx=rS-~9>#RE+crWf| z<**6qt8MorCyZKG-v4ez*>zQ!6?a2hn$`n}l*wC712anxwzJd3WkYg*36#x~&6}j! zb!k^1mzz8*i@W9gl+1o1YMnts zsYy+jfef!b-AgPI_dD&HVJdP%4C5EiJ3crt_^o1TnNCt+RN?-#QH)8I)03GTiOIb6 zXDmm$-2nZ9XJn}-7lpvhfN;K-ckf5j_~_~wJ^uyf8GAid*gkSDwK<;-A^7aIF&U3n zuajzcppqzz2V^>|!Z^DS6aTr(qcLr!Tv};CFQ|6SfUl%8QABZjSkzkzp}#;!H0mg1$*ZZo;DU`{=lT&t8KMLS#7686@vd$joH-amGuT;~kzCixHgShMWQrd1vF zuyIIbIfGxo)OgZ_%XWA202fGND;C4PxFugSD++x5P~f}fk*{#%pG=|dR0(5sjw;+L z(4|0@Jp}_rkF{O~d)F@RyuoP`ef{FpE@lpJaxGGhR*_QnaNj{a{dT-BGdCOg>E%Hp z)?EJ6>RoABS5Uq97VD~uaSfsQQIidpUySPYC+2n1sbQ%Q^e2|Km!T%ws7~M8BC0A# zb0j8qYYi9fHt|l(@@v?0_Hbw7 zn+v(G4HE(FplW*-cXOyGkv|m}FgbEa;s(ME81iCoV{I?uXP!i{Ug5~@%PDHV4p@J zIPgYe>S4h)J=^NzR(4@D>}6VeRD`>c*Qe&DqesMBtmrp)#ECWr$1Cc22CU7T zyT2KMk_JJ$ni(~sA|8svJV8rp<0R2?hwIks9yYB}SapA}R=6^zg1djhTg!YW790Z! z{cxPjzs~l4ccL9Tn!bhTilzki&U^vM;mp^yOGG)Y3USI)nQ)E}wYaJ>^rIad)h*9| zESo;Ze_WrTzWwWWpQIyAi|3&d@ooX;#c!1vK>XijSXFdX^JRy)hd(AFT z8d7Gu{PgKlZy>Fs`s7L9CbKzo4}cFvaq}U1Ha4~deoO3=6V45P=7v$gh<<_TH$)HA zuHH7>4Gk+qft!*0sVP7p!6TY#1_qpHUGjtvY0MOSVI5xJvzQkt!A7E>CHwz<2*gi6 z!q0(%r#Fae)Xzp2?wyCyQsUT0=9geP4AGn6%kdf-D9}KmP{Qr;jK|cG=Ts$*6A^$e zRyt#f^#i*o5(5Vz_7RWT|3`uoLgEebrz)V()7Ftarq(okr0ELRm9s)AL@q8K9QIhp zp=moJ3oDHO@;&2~8E}RzsE9P5CV=*C>*TW^u%LkRKAjJotuK({JfAvA2&&h6DndQC zs7`=7c16x3FvsSIxLmvvha8&+?v7L=J@4*nqwt|FbHt?s(C#bwL2RBYdBd%{0kCTV z&Gs%Emg_vJr9+wP(&jmry+hX2svE}itWG(_9PhRM%!~;2W_`;Q*44{0c9WPqzj0E1 zX!0nxQ+gEvb$WD6wkBZ+7+c61v|2)vlsJA*6uXV=(i|*R=&64qz;*P^F;-?^4)5Pu z)?S*!BZN7mOXcOtLr+fp5wn&>11i=tlwtb2K=GM~%<2#?$h(X~t1%$|otyOAco82z#2mm%$u6vwoi!K1@#D2->qhN)^a~tv;UZcAD_qC2 znNY1Ob^>NA=iNBa9r>C7pbASfW3Pd!hM=8c+#tkrL>rug+S{Yqk!yau^IKAH* zEHpLn{{7IM-G+vH%d5X7Ue`GXl(YA6w{YKE21*Z4@c8)n`WlgexD{7dN`fEJPxABo zdZmt0AP4yjR8IRsuvQ3|hmxC-3ZQDxssda@^IuE#O_Wn#9Cq*rf2a6{liLP7~(-eNlppy^z^g2-rK3F>jkJfE3>C4BwdKCNoN zj%eM#M}?8tZ18`@!*_U~p!s4s(J+@X1+&m=DJ4A4aF%c?4GUbsAS79jspAbo4gDBY z+wyTWKNpUi{^AcS7rVk%Gyi*%_lyA>x}V0q@LNGQxV(sFOx)2uBR+_ z*DLL{gR2;2BbQwFvhv_bqm+t6cb9{!n3jpTxeHZK5b}8QICEh(D2z^6zuzH=?6bC8 ze@gXJ?B~r0gwg}MPD8XH&qw65k}%NbL0M%NTsCmEj)7ZXfh;QWWfaNHX*@&h`U3q+ zC<_#sYs=rKkPoE>nQwEG-|J&X129Ea%P6&871eU@C}6 zy~ia5HuGma*+^Q72%DS$pOu~c?b&xAZt1<07B;=QI;Q%}G!>zmQ?{7wH$B5x62u>f zXvP3}$l+qU_yNfCDeGSejCT7wM|92jf6c=7fpqwTAZ9u%20B{?I!6ZlMht8UoVi4* zlo=E}15%s#Ij3%EC$QU+bA5B=e>7j{c%10wCo?y_? z#Y^1?dq9#eU-!{)lzQKo-kv;<_7Aw9j8!mX98+01#$PDWnuK<6_FBA~u66yv1zD%< z2=}-EG)|zic*Yye5d(M;9q(r#L(3`@1@g@H|M2p-e@&` zCn=2iem-94`H)*T*|hr#8n|c?_iXj4xXPD|ir+9jI*3KT>MP$edi2RbJoURZ5unoX zZU{sO*vVSdWrs zRTv=5joxii{!?h(-7->Wo&Hw8*!Be&%Y2KKH49n??8=%O*CA)br|PUhQ&ZC$h)=*g zR<)M%n!4u9>_6Xk0Yd4>Ag6GoSp53%-B()3AG)Y+FHKOQ@?7dkqmT})8o$X|q7J-! zl_<3!CZImB0gC0zhQDqa2nWc3C5K+r;sIYwRa~QpP_1)Bvh#ZC$GEO1(HE8H=1+PVhsFhQ!cm|08+M zATNQEGiO3@W$Y3D!xiz*PccXLA`}cNS({jdWR&iSo`eLrO1x?%AhSf}btC{hwiZCN~4{u*zhTC^BCqhe`qx#XA zD_?du8g!W0H2$Z4*Mt`II{|A5rE56&?z zh#&!=r4@!a==&_uO1Dd5&$3>^Lr3VRx8@0jHAy3ZfW8?8IIg1sT%M@}NJ2GImZ^sH zcHK`k!L=ztTcft{8%|5J1(znog}r&4NM;=?RQ{xnH(cBi)X*sS?(MzCr;}iXuN$hX z-%2v4upt*W@BScwVV3FX0;ZRlfH`WL+uQE~@EUo`zo{0zO*3oc)6owzO_jVVHG0bC zN#n{6xh~vOu60e7KAb1cF*+UUkD~7WQl8hotiQu?L>QJ0ih~g0ptFg%j@)>%rS|CZRCh@_!l|^G7Y9Cm@O`8v@_8Dvl zU;S;_g3t2;vx)zNd9NH~bSu`Iskgr0cdCyS@vuGkyF6fTe>jC?f4)rEmHy}RPbG?x z+2&mP>6sZ|xZlYdHT`+b$JYw5cz>g4G&|DMmX#B!yW3f}Kbo{l4>1%hj9awb`| zMIDs~;%KuZd^z|$`OvqVp`$B$?N5Gz%V^)x2M2{% zYjh$$N2arKaVk8O5yN(kP-6=0=Dy!@=GG>r&hTO^iBd;Ic&MRYq>g&4{V}h<84n=U zQ-a1wykPG4td=T_n&!O}{6s@;rwu<`)5p&Yi@$msUU_PE)SbN}4bmkV)XNMH0t5mA zQvYH-8QBCKTN2Q@{nW1JVeg94;-#Napynoe5zSMJ>RMiT<*#kty2JC1@Hd9~kMXZN zyu-EkQ3no=-h=CWoZQ9l>p^SY>R!qm2-QcQytELz2Z)F#XBoScRsmgP`65e+adCIx zbw*lRckm2(pnE{D+#Hl;Huv`8ge-mWi=4(v@HVQpqvz+pgJP`VY_n*YY-NsR_R;-i zpVh6Abw1YbqIpL!*I+{dcAti3!Fz#omJzTtOCtk%Q^nPjAhaC!nw zVv06qGObqXPnetP3g8MOqUd0$^0==YU^wpXl%G!f$i|PUFydUg&s$(KS}bLdTCssT z8Ae|9o}O$b7)#m!s;Jz@Orez#AdVIm6l?-@O(qc$?G*twHY`Nejf{+JVf+O&VpeVe zaqPQb-~>A0N8JV}muFeF-LRmeql3>2OxEG~ufNq)FfyXE>Q2Vn68Ox9q3>w}s)a3J z9_lLqn-YroMA|@+80aSw09Bv29}ka@&0Ahk+Vp2c?VM}p=sZZEd(E-Ui?fmz5i?n3)B8z+~$ z(4)zuD4OQ^LYgEYal&)eTG0dFusT_LhgN{K0V&MEA!=tsvUW|7`#nwl@-z5@4#P;m zcF3i30vXNt*qpVXW!8kPc(N)>YKGxxxwyD?dNKllC0nNyi-1f9bj-VY{%KyCk#AR~ zRHDna?mx%mP8648@EeN>gIN!%t(~8ik=T=0y69tbbLieW_N)pXR-5c-C1zBE+Dzn9 zJ_#+AkFk48NJVV1XEr;7l^D0)*uWC__V;|2qftp@A20BQ>A7zS6ni`%2+0pyv+w?MpmlK8EgnEjZdiV_; zf{EZ;U|8-00<{N9O3xE&K{Z)qlf8Uz{#V-MC?Fj)0o18eEa3Mp)nX?)<+eX*xM%Xr5(`L&L*QEBvN-VlsoBP~HJnmzZG@okc$R`-PT@aI3&<2VW#l5T-D+UU0 zOwspkuNCgKToObmEAswCX0Zwd6h3JzmJH^&?^Tzpf-hq*#;Pm(9Z({+46U7=PqEev zlR^PyL{(D_4aVm6xcJD+IbQRtGS$m4s&K-};TP4q$2RVC<5b$OR)WcB6YKgrPGs>{ zUUDaMG`(F6Y|L=l|B}&i(zUj`2q@U^&|3H}QBn>frE(Sfr;@81oJYV(4Qn<=<~gB@ zdG@#e&O^Ycl(ncc-e2vxy!*Fv3oQ3-1nZmg02b)iD_9m82+{f0iEQg10Iu_P_O}y9 zft;$#W9AV+*nb`cfIBaU4S$cQx*>qK5!&DF?X5mVo|&EH3IY@*c%b92%!&#skZLmu z12ODPOOR%nQmd$_NStgoE{zms+Pf0nNtO-@l=U+=b>5O^mTe9N6u*$UP;=0NqX9~C zE-#@#g0;6E)a+t_T(9ts2ck%p=2jjygTDx-e|m!vP=thp3?6U(Y56*`*f-`SRw_Sz z%4QUF>Je@iF6#)!!h+Hdf6mnK`s!Ye8;oPjIwc@kZ%LZ=y?~18r0aF1!9&Y2AJAxF^dKN$D9{DBCKFRZg@1I{5vpZ4 zM@YD0J$QrtC;QgwiNk@<`h5~Z&f*mVklN3hnO_8io-Bj`*t%2cUR{fZJ2dcHkvPe((c!N3lF4Do+JK zB+ENK(GL;iB2fc2P$|6pOtRnX=K`3nU;BwR&*r8gCJ}8cuvwYrMEM`WRYksaQ>q z6fy!c_hW6)E;O`}(ON{@8q9i0(A;!l0=fm!Dt)F4poMO^nKq7LTobAtUs2k0;lj9^az*x*-`kko)0D zk0gr#J*lM`%f24lQkSe4(iYt(%zVFNU&cF(G+0Syy%l}}Ma#W3o$t)2>F04EYh8|~ z6ip%6CFkxG#!`jY<<{6a8#e%#K^V4m`_jM?E)2~6NC*E44H6;MNU1*8EKG8(wgES; zK}#5dREah@CQQh}eddvpZ5l>k0K?B^;+!I|-G>ZA5%6jk9k8-$a|SfQN3VP&sE!I1 z0eZA8lr~;DEPm=*!O*>q0B~Q`vs0|l3l#S<*r#yxXDS+hc2ya;#kvEW#1nO*jfbH@X2FApb2w44sXlM*r znyX*b_}5ogIV9)PL9_Z!k{q6y0cbV*$Wjx1PUba528~T_v2I{ZFx7n^!Wsn>Dvdnx z8lmfx)zqMNEH5wrVkf<>4$`juyo8z_d_;5QM$H&60h1t)r%TMMSAx2gurQ*8F`t0; zx6FtxAk`7Iq_3c3^{!T-U6ZrHtOa=Ft^LrMqk{wQ@CnV%L5775K#FP-ney-F<=!Gh zAv$vMXD#2``8&lZ=HV!PN>n4otEQ|zKKc~thfQGK<-JoI6_e9;k*&rzL2c}78xuA1 znRi4w5La$&IH!MJAdn#@v>P?jO_~ts-Am6jJ`DPX^y>B{;zv`zNr_w-J@GW3 z582s4fBt1>8%TCxz-cY9o?Y5gvY_pj*L68eKOI6A!mUaajHjbuI~!ts#eJsye8BwX zt)B1tG^2a36jtdv32Eu^>4Th>C2#3BtVUs|Ij2zsagKyck;5Cx=gK{EvCv21vvZfX zSW}6Rs;i|2+lpYgS2*@FBBx-@Te!RE+dKZgfC2H}_{5-uWct2h<3UuO2)Kc8THwwJ z3?_Ql!s$2GW+?Y+6=$(k>cm^Z+8=j-cj8IG16a1`9-JDdwsvH(wUEt33G%#Oe)