From 31608f0e1150863d3ed2e42a3920f8f44dc2ff84 Mon Sep 17 00:00:00 2001 From: fabiobocchini Date: Wed, 12 Apr 2023 16:18:08 +0200 Subject: [PATCH 01/57] feat(algoritmi avanzati) aggiunti appunti pinotti --- .../Pinotti/Readme.md | 1085 +++++++++++++++++ .../Pinotti/imgs/hirschberg.png | Bin 0 -> 294635 bytes .../Pinotti/imgs/matrixmultiplication.png | Bin 0 -> 257251 bytes .../Pinotti/imgs/pathological_example.png | Bin 0 -> 174591 bytes 4 files changed, 1085 insertions(+) create mode 100644 magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/Readme.md create mode 100644 magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/hirschberg.png create mode 100644 magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/matrixmultiplication.png create mode 100644 magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/pathological_example.png diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/Readme.md b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/Readme.md new file mode 100644 index 000000000..8d1cd73bf --- /dev/null +++ b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/Readme.md @@ -0,0 +1,1085 @@ +# Algoritmi - Pinotti + + + +## Indice + +- [Dynamic Programming](#Dynamic-Programming) + - [Weighted Interval Scheduling](#Weighted-Interval-Scheduling) + - [Segmented Least Squares](#Segmented-Least-Squares) + - [Knapsack Problem](#Knapsack-Problem) + - [RNA Secondary Stucture](#RNA-Secondary-Stucture) + - [Pole Cutting](#Pole-Cutting) + - [Matrix Chain Parentesizathion](#Matrix-Chain-Parentesizathion) + - [Optimal Binary Search Tree](#Optimal-Binary-Search-Tree) + - [String Similarity](#String-Similarity) + - [Hirschberg's Algorithm](#Hirschbergs-Algorithm) +- [Network Flow](#Network-Flow) + - [Max-Flow and Min-Cut Problems](#Max-Flow-and-Min-Cut-Problems) + - [Capacity Scaling Algorithm](#Capacity-Scaling-Algorithm) + - [Ford-Fulkerson pathological example](#Ford-Fulkerson-pathological-example) + - [Matching su Grafi Bipartiti](#Matching-su-Grafi-Bipartiti) + - [Disjoint Paths](#Disjoint-Paths) + - [Network Connectivity](#Network-Connectivity) + +# Dynamic Programming + +Suddividere i problemi in sottoproblemi che si sovrappongono e costruire la soluzione verso l'alto di sottoproblemi sempre più grandi. + +I risultati intermedi vengono salvati in cache e riutilizzati più avanti. + +--- + +# Weighted Interval Scheduling + +- Job $j$ che iniziano al tempo $s_j$, finiscono al tempo $f_j$ e hanno peso $v_j$. +- Due job sono compatibili se non si sovrappongono temporalmente. +- **Obiettivo:** trovare il subset di job compatibili con peso massimo. + +## Greedy Version - Earliest Finish Time First + +Considero i job in ordine ascendente di $f_j$, aggiungo un job alla soluzione se è compatibile con il precedente. + +È corretto se i pesi sono tutti 1, ma fallisce clamorosamente nella versione pesata. + +## Dynamic Version + +Considero i job in base al loro $f_j$. Il job 3 sarà quello con $f_j = 3$ + +**Def.** $p(j) = max(i < j)$ tale che $i$ è compatibile con $j$ + +Ovvero l'ultimo job che finisce prima che inizi il job $j$, il job "più compatibile". +$$ +OPT(j) = \begin{cases} +0 & \mbox{if }j = 0 \\ +max\{v_j + OPT(p(j)), OPT(j -1)\} & \mbox{otherwise} +\end{cases} +$$ + +## Brute Force + +```pseudocode +Input: n, s[1..n], f[1..n], v[1..n] +Sort jobs by finish time so that f[1] ≤ f[2] ≤ ... ≤ f[n]. +Compute p[1], p[2], ..., p[n]. + +Compute-Opt(j) + if j = 0 + return 0 + else + return max(v[j] + Compute-Opt(p[j], Compute-Opt(j–1))) +``` + +In questo modo calcolo più volte gli stessi sottoproblemi che si espandono come un albero binario. Il numero di chiamate ricorsive cresce come la sequenza di fibonacci. + +## Memoization + +```pseudocode +Input: n, s[1..n], f[1..n], v[1..n] +Sort jobs by finish time so that f[1] ≤ f[2] ≤ ... ≤ f[n]. +Compute p[1], p[2], ..., p[n]. + +for j = 1 to n + M[j] ← empty. +M[0] ← 0. + +M-Compute-Opt(j) + if M[j] is empty + M[j] ← max(v[j] + M-Compute-Opt(p[j]), M-Compute-Opt(j – 1)) + return M[j] +``` + +Costruisco una matrice dove salvo i risultati dei sottoproblemi. Quando devo accedere ad un sottoproblema prima di ricalcolarlo controllo se è presente nella matrice. + +Costo computazionale = $O(n\log{n})$: + +- Sort: $O(n\log{n})$ +- Computazione di p[i]: $O(n\log{n})$ +- M-Compute-Opt( j ): $O(1)$ ogni iterazione, al massimo $2n$ ricorsioni = $O(n)$ + +Se i job sono già ordinati = $O(n)$ + +## Finding a solution + +```pseudocode +Find-Solution(j) + if j = 0 + return ∅ + else if (v[j] + M[p[j]] > M[j–1]) + return { j } ∪ Find-Solution(p[j]) + else + return Find-Solution(j–1) +``` + +Numero di chiamate ricorsive $\leq n = O(n)$ + +## Bottom-Up + +```pseudocode +Sort jobs by finish time so that f1 ≤ f2 ≤ ... ≤ fn. +Compute p(1), p(2), ..., p(n). + +M[0] ← 0 +for j = 1 TO n + M[j] ← max { vj + M[p(j)], M[j–1] } +``` + +## Riepilogo + +- $OPT[j] = max\{ v_j + OPT[p_j], OPT[j-1] \}$ +- per ogni j scelgo se prenderlo o meno +- alcuni sottoproblemi vengono scartati (quelli che si sovrappongono al j scelto) +- per ogni scelta ho due possibilità **TEMPO =** $O(n \log n)$ +- lo spazio è un vettore di $OPT[j]$ **SPAZIO =** $O(n)$ +- per ricostruire la soluzione uso un vettore dove per ogni $j$ ho un valore booleano che indica se il job fa parte della soluzione **SPAZIO_S =** $O(n)$ + +--- + +# Segmented Least Squares + +### Least Squares + +Data una lista di punti nel piano $(x_1, y_1), ..., (x_n, y_n)$, trovare una retta $y=ax+b$ che minimizza l'errore quadrato medio. + +## Segmented Least Squares + +Data una lista di punti nel piano $(x_1, y_1), ..., (x_n, y_n)$, trovare una sequenza di segmenti che minimizzano $f(x)$. + +$f(x)$ deve bilanciare accuratezza (errore quadrato medio) e numero di segmenti. + +$f(x)= E + cL$ + +- E = somma della somma degli errori quadrati medi + +- c = costante $\gt0$ + +- L = numero di segmenti + +## Dynamic version + +$e(i,j)$ = somma degli errori quadrati per i punti $p_i, p_{i+1},..., p_j$ +$$ +OPT(j) = \begin{cases} +0 & \mbox{if } j = 0 \\ +min_{1 \leq i \leq j}\{ e(i,j) + c + OPT(i-1)\} & \mbox{otherwise} +\end{cases} +$$ + +```pseudocode +for j = 1 to n + for i = 1 to j + Compute the least squares e(i, j) for the segment pi, pi+1, ..., pj + +M[0] ← 0 +for j = 1 to n + M [ j ] ← min (1 ≤ i ≤ j) { eij + c + M [i – 1] } +return M[n] +``` + +Costo computazionale = $O(n^3)$ time, $O(n^2)$ space. + +Il collo di bottiglia è la computazione di $e(i, j)$. $O(n^2)$ per punto per $O(n)$ punti. + +Può essere migliorato in $O(n^2)$ time, $O(n)$ space grazie ad alcune precomputazioni. + +## Riepilogo + +- trovare il numero di segmenti su un piano cartesiamo per minimizzare i quadrati degli errori +- $OPT[j] = min_{1 \le i \le j } \{ OPT[i-1] + e(i,j) + c \}$ + - $c$: il costo da pagare per ogni segmento + - $e$: il costo degli errori +- risolvo n problemi **SPAZIO =** $O(n)$ +- per ogni problema ho n scelte ( $O(n^2)$) ma per computare $e(i,j)$$ **TEMPO =** $O(n^3)$ +- per ricostruire la soluzione salvo un vettore dove $S[j] = min_i$ **SPAZIO_S** = $O(n)$ + +--- + +# Knapsack Problem + +Dati uno zaino di capacità W e una lista di oggetti $i$ con peso $w_i$ e valore $v_i$. + +**Goal:** Trovare l'insieme di $i$ con peso $\leq W$ e valore massimo. + +Posso cercare algoritmi greedy, (by value, by weight, by ratio $v_i/w_i$) ma nessuno di questi è ottimo. + +## Dynamic Version + +Non posso usare una funzione $OPT(j)$ perchè senza sapere quali altri oggetti ho nello zaino non so se posso prendere $j$. + +$OPT(j, w)$ = miglior soluzione nel subset di oggetti da 1 a $j$ con peso massimo $w$. +$$ +OPT(j, w) = \begin{cases} +0 & \mbox{if } j = 0 \\ +OPT(j-1, w) & \mbox{if } w_j \gt w \\ +max\{OPT(j-1, w), v_j + OPT(j-1, w-w_j)\} & \mbox{otherwise} +\end{cases} +$$ + + +## Bottom-Up + +```pseudocode +for w = 0 to W + M[0, w] ← 0 + +for j = 1 to n + for w = 1 to W + if(wj>w) + M[j,w]←M[j–1,w] + else + M[j, w] ← max { M [j – 1, w], vj + M [j – 1, w – wj] } +return M[n,W] +``` + +Complessità computazionale = $\Theta(nW)$ space e $\Theta(nW)$ time + +- $O(1)$ per ogni elemento inserito nella tabella +- $\Theta(nW)$ elementi della tabella +- Dopo aver computato il valore ottimo, per trovare la soluzione completa: prendo $i$ in $OPT(i, w)$ iff $M[i, w] \gt M[i-1, w]$ + +## Osservazioni + +Dimensione dell'input non polinomiale, pseudopolinomiale, perchè dipende da due variabili. + +La versione del problema con decisione è NP-Completo + +Esiste un algoritmo che trova una soluzione in tempo polinomiale entro l'1% di quella ottima. + +## Riepilogo + +- scegliere gli oggetti da mettere nello zaino per massimizzare il valore, non superando il peso massimo. +- $OPT[i,w] = max\{ v_i + OPT[i-1, w-w_i], OPT[i-1,w] \}$ +- scelgo se prendere o meno l'oggetto $i$ +- ho bisogno di una matrice $n \times z$ ($z$ è la capacità dello zaino). problema pseudopolinomiale perchè varia in base a $z$ **SPAZIO =** $O(nz)$ +- per riempire una cella devo solo controllare due valori **TEMPO =** $O(nz)$ +- per costruire una soluzione ho una matrice dove per ogni $S[i,j]$ ho un booleano che indica se appartiene alla soluzione **SPAZIO_S =** $O(n^2)$ **TEMPO_S =** $O(n+z)$ +- in questo problema la matrice può essere costruita per righe o per colonne +- per trovare $(i,w)$ leggo solo da una riga, per costrure la riga $i$ ho solo bisogno della riga $i-1$, la soluzione è in $S[n,z]$. Posso quindi trovare una soluzione utilizzando una matrice con sole due righe **SPAZIO =** $O(z)$ ma cosí non posso ricostruire la soluzione. + +--- + +# RNA Secondary Stucture + +**RNA:** stringa $b_0b_1...b_n$ su alfabeto {A, C, G, U} + +**Secondary Structure:** set di coppie $S = \{(b_i,b_j)\}$ che soddisfa le seguenti proprietà: + +- Ogni coppia è del tipo **A-U, U-A, C-G** o **G-C** +- se $(b_i,b_j)\in S \implies i \lt j-4$ (no sharp turns) +- se $(b_i,b_j)$ e $(b_k, b_l) \in S$ allora **NON** può essere $i < k < j < l$ (non crossing) + +**Goal:** Data una molecola di RNA trovare una struttura secondaria che massimizza il numero di coppie. + +## Dynamic Version + +$OPT(i,j)$ = massimo numero di coppie nella sottostringa $b_ib_{i+1}...b_j$ + +distinguo 3 diversi casi: + +1. if $i \ge j -4$: + + $OPT(i,j) = 0$ + +2. $b_j$ non viene accoppiata: + + $OPT(i,j) = OPT(i,j-1)$ + +3. $b_j$ si accoppia con $b_t$ per una qualche $i \le t \lt j -4$: + + $OPT(i,j) = 1 + max_t\{OPT(i, t-1) + OPT(t+1, j-1)\}$ + +```pseudocode +for k = 5 to n – 1 + for i = 1 to n – k + j← i+k + Compute M[i, j] using formula +return M[1,n] +``` + +Risolvere prima i sottoproblemi più piccoli. + +Costo computazionale: $O(n^3)$ time e $O(n^2)$ space + +## Riepilogo + +- trovare il modo di accoppiare le basi di RNA con delle regole +- $OPT[i,j] = max\{ max_{i \le t \le j-5} \{ 1 + OPT[i, t-1] + OPT[t+1, j] \}, OPT[i, j-1] \}$ +- spazio = matrice riempita per diagonali **SPAZIO =** $O(n^2)$ +- per calcolare ogni OPT pago n **TEMPO =** $O(n^3)$ +- per costruire una soluzione mi serve una matrice dove $S[i,j] = max_t$ **SPAZIO_S =** $O(n^2)$ + +--- + +# Pole Cutting + +Pole di lunghezza n. Può essere tagiato in più parti di lunghezza intera. Poles di lunghezza $i$ vengono venduti al prezzo $p(i)$. + +**Goal:** Trovare il maggior possibile guadagno tramite il taglio del pole. + +possiamo tagliare il pole il $2^{n-1}$ modi diversi + +## Recursive Top-Down + +Considero la soluzione per input $n$: $n = i_1 + i_2 + ... i_k $ per qualche k + +Ma allora $n - i_1 = i_2 + ... + i_k$ è una soluzione ottima per input $n - i_1$. + +Posso quindi calcolare il massimo guadagno $r_n = max\{p_n, r_1 + r_{n-1}, r_2 + r_{n-2}, ..., r_{n-1} + r_1\}$. $p_n$ è il guadagno del pole intero, senza tagli. +$$ +r_n = max_{1 \le i \le n}(p_i + r_{n-i}) +$$ + +```pseudocode +Cut-Pole(p, n) { + if n = 0 then + return 0 + q ← −∞ + for i = 1 . . . n do + q ← max{q, p[i] + Cut-Pole(p, n − i)} + return q +} +``` + +Costo computazionale: $O(n2^n)$ + +- $2^i$ chiamate ricorsive +- $O(n)$ per ogni chiamata + +## Memoization Top-Down + +```pseudocode +Let r[0...n] be a new array +for i = 0 . . . n do + r[i] ← −∞ +return Memoized-Cut-Pole-Aux(p,n,r) + +Memoized-Cut-Pole-Aux(p,n,r){ + if r[n] ≥ 0 then + return r[n] + if n = 0 then + q←0 + else + q ← −∞ + for i = 1 . . . n do + q ← max{q, p[i] + Memoized-Cut-Pole-Aux(p, n − i,r)} + r[n] ← q + return q +} +``` + +## Bottom-Up + +```pseudocode +Let r[0...n] be a new array +r[0] ← 0 +for j = 1 . . . n do + q ← −∞ + for i = 1 . . . j do + q ← max{q, p[i] + r[j − i]} + r[j] ← q +return r[n] +``` + +Costo computazionale = $O(n^2)$ + +## Riepilogo + +- massimizzare il reward in base ai tagli +- $OPT[j] - max_{i \le l \le j} \{ OPT[j-l] + p_l \}$ +- devo calcolare OPT per ogni n, per ognuno pago n **TEMPO =** $O(n^2)$ +- salvo i dati in un vettore che contiene OPT dei vari segmenti **SPAZIO =** $O(n)$ +- per ricostruire la soluzione uso un vettore dove $S[j] = max_l$ **SPAZIO_S =** $O(n)$ + +--- + +# Matrix Chain Parentesizathion + +moltiplicazione tra 2 matrici $(p \times r)(r \times q) = (p \times q)$. $i,j = $ riga $i$ x colonna $j$ = $O(n^3)$ time + +**Goal:** data una sequenza di matrici, trovare il modo migliore di parentesizzarla per calcolare la moltiplicazione tra tutte le matrici con meno moltiplicazioni scalari possibili. + +### Quante possibili parentesizzazioni? + +$$ +P(n) = +\begin{cases} +1 & \mbox{if }n = 0 \\ +\sum_{k=1}^{n-1}P(k)P(n-k) & \mbox{otherwise} +\end{cases} +$$ + +Ovvero $\Omega(2^n)$ + +### Optimal Substructure + +Un problema P si dice in sottostruttura ottima se una soluzione ottima di P contiene soluzioni ottime dei sottoproblemi di P. + +MCP è un problema in sottostruttura ottima. + +## Recursive + +- $m[i,j]$ = minimo numero di moltiplicazioni scalari per computare la moltiplicazione $A_i \times A_{i+1} \times ... \times A_j$ + +- $m[i,i] = 0$ se i = j + +- se $i \lt j$ e nella soluzione ottimale c'è la moltiplicazione $A_{ik} \times A_{(k+1) j}$ per qualche j allora $m[i,j] = m[i,k] + m[k+1,j] + p_{i-1} p_k p_j$ + - $p_{i-1} p_k p_j$ è il costo della moltiplicazione di $A_{ik} \times A_{(k+1)j}$ + +$$ +m[i,j] = +\begin{cases} +0 & \mbox{if } i = j \\ +min_{i \le k \lt j} \{ m[i,k] + m[k+1, j] + p_{i-1} p_k p_j\} & \mbox{if } i \lt j +\end{cases} +$$ + +Se implementassimo questa formula direttamente il costo computazionale diventerebbe esponenziale + +## Bottom-Up + +```pseudocode +matrix Ai has dimensions p(i−1) × p(i) + +Let m[1...n,1...n] be a new array +for i ← 1 . . . n do + m[i,i] ← 0 +for l ← 2...n do {chain length} + for i ← 1 . . . n − l + 1 do {left position} + j ← i + l − 1 {right position} + m[i,j] ← ∞ + for k ← i . . . j − 1 do + m[i,j] ← min{m[i,j],m[i,k]+m[k +1,j]+pi−1pkpj} +return m +``` + +Meno di $n^2$ sottoproblemi, ognuno costa $O(n)$: l'algoritmo intero costa $O(n^3)$ + +Troviamo la soluzione in $m[0,n]$ + +Per conosccere la parentesizzazione dobbiamo modificare l'algoritmo e portarci dietro le coppie che decidiamo di moltiplicare + +![matrixmultiplication](./imgs/matrixmultiplication.png) + +Possiamo poi utilizzare s per risalire alla soluzione + +```pseudocode +Print-Optimal-Parens(s, i, j) + if i = j then + print “Ai” + else + print “(” + Print-Optimal-Parens(s, i, s [i , j]) + Print-Optimal-Parens(s, s[i , j] + 1, j) + print “)” +``` + +## Riepilogo + +- minimizzare i prodotti scalari con parentesizzazione + +- $m[i,j] = min_{i \le k \lt j} \{ m[i,k] + m[k+1, j] + p_{i-1} p_k p_j\}$ + +- spazio necessario: + + ho bisogno di una matrice (triangolare superiore) per ricordrmi i valori calcolati precedentemente, riempita per diagonali. + +- spazio matrice $n \times n$ **SPAZIO =** $O(n^2)$ + +- per ogni cella pago n **TEMPO =** $O(n^3)$ + +- per ricorstruire la soluzione **SPAZIO_S** = $O(n^2)$ + + uso una matrice dove segno quale k per ogni $(i,j)$ ha dato il risultato migliore + +--- + +# Optimal Binary Search Tree + +**BST:** + +- ogni nodo ha una chiave + +- la chiave di un nodo interno **u** è maggiore di tutte le chiavi del suo sottoalbero di sinistra e maggiore di tutte le chiavi del suo sottoalbero di destra + + + +- il **livello** di un nodo **u** in un albero **T**, $level_T (u)$, è il numero di archi dalla radice di T fino al nodo **u** + +- la **profondità** di **T** è il suo livello massimo + +- la **ricerca** di un nodo u ha un costo proporzionale a $1 + level_T(u)$ + +un BST **bilanciato** con n elementi ha profondità $O(\log n)$. Questo è buono se assumiamo che i nodi vengano cercato con probabilità uguali. Se non è cosí vogliamo rendere i nodi più cercati più facili da trovare. + +**Goal:** Vogliamo costruire un BST, conoscendo le frequenze con cui i nodi vengono cercati, che minimizza il costo medio di ricerca. + +## Optimal BST Problem + +input: + +- un set $S$ di n interi +- un array $W$ con n elementi che contiene interi positivi ($W[i]$ = frequenza di $i$) +- $a$, $b$ interi tali che $1 \le a \le b \le n$ + +Output: + +- un BST su $S$ con **avgCost** il più piccolo possibile + +$$ +avgCost(T) = \sum_{i = a}^{b} W[i] * cost_T(i) +$$ + +- $cost_T(i)$ = numero di nodi da controllare per trovare $i$ in T + +## Costruzione dell'algoritmo + +### 1. Trovare tutte le opzioni per la prima scelta + +Scegliamo una root **r**, il suo sottoalbero di sinistra sarà un BST $T_1$ su $S_1 = \{a ... r-1 \}$ e quello di destra un BST $T_2$ su $S_2 = \{ r+1 ... b \}$ + +### 2. Data la prima scelta, trovare la soluzione migliore + +Per trovare la soluzione migliore per T dobbiamo scegliere le soluzioni migliori per $T_1$ e $T_2$ +$$ +avgCost(T) = \sum_{i=a}^{b} W[i] * cost_T(i) += \left( \sum_{i=a}^{b} W[i] \right) + avgCost(T_1) + avgCost(T_2) +$$ +$optAvg(a,b)$ + +- 0 se $a \gt b$ +- min BST su $\{a .. b\}$ altrimenti + +$optAvg(a,b | r)$ è la soluzione ottima dato $r$ come radice. +$$ +optAvg(a,b | r ) = \left( \sum_{i=a}^{b} W[i] \right) +optAvg(a,r-1) + optAvg(r+1, b) +$$ + + +### 3. Prendere la prima scelta che porta alla soluzione migliore + +$$ +optAvg(a,b) = +\begin{cases} +0 & \mbox{if } a\gt b \\ +\left( \sum_{i=a}^{b} W[i] \right) + min_{r=a}^b \{ optAvg(a,r-1) + optAvg(r+1, b) \} & \mbox{otherwise} +\end{cases} +$$ + +## Riepilogo + +- Costruire un albero di ricerca massimizzando la velocità di ricerca in base alla probabilità +- $OPT[i,j] - min_{i \le r \le j} \{ OPT[i, r-1] + OPT[r+1, j] + w[i,j] \}$ +- $r$ è la radice sei sottoalberi creati ricorsivmente +- spazio = matrice n x n **SPAZIO =** $O(n^2)$ +- per ogni operazione pagno n **TEMPO =** $O(n^3)$ +- per ricostruire la soluzione uso un'altra matrice dove $S[i,j] = min_r$ **SPAZIO_S =** $O(n^2)$ + +# String Similarity + +Operazioni: + +- **mismatch:** cambio una lettera in un'altra. Penalità $\alpha_{pq}$ (passare dalla lettera $p$ alla lettera $q$, $\alpha_{pp} = 0$) +- **gap:** aggiungo o rimuovo una lettera. Penalità $\delta$ + +Costo totale = somma delle penalità + +Date due stringhe $x_1x_2...x_m$ e $y_1y_2...y_n$ un **allineamento** è una set di coppie ordinate $x_i - y_i$ tale che ogni lettera compaia in una sola coppia e non ci siano incroci ($x_i-y_j$ e $x_{i'}-y_{j'}$ si incrociano se $i \lt i'$ e $j > j'$) + +Il costo dell'allineamento è dato dalla somma dei costi dei mismatch e dei costi dei gap +$$ +cost(M) = \sum_{(x_i,y_j) \in M} \alpha_{x_j y_j} + \sum_{i:x_i unmatched} \delta + \sum_{j:y_j unmatched} \delta +$$ +**Goal:** Date due stringhe, trovare l'allineamento di costo minimo. + + ## Stuttura del Problema + +$OPT(i,j)$ = costo minimo dell'allineamento delle stringhe $x_1x_2...x_i$ e $y_1y_2...y_j$ + +- aggiungo $x_i-y_j$ al match: + + ​ pago $\alpha_{x_iy_j}$ + il costo $OPT(i-1,j-1)$ + +- lascio $x_i$ senza match: + + ​ pago $\delta$ + il costo di $OPT(i, j-1)$ + +- lascio $y_j$ senza match: + + ​ pago $\delta$ + il costo di $OPT(i-1, j)$ + +$$ +OPT(i,j) = +\begin{cases} +j\delta & \mbox{if } i = 0 \\ +i\delta & \mbox{if } j = 0 \\ +min +\begin{cases} +\alpha_{x_iy_j}+ OPT(i-1,j-1) \\ +\delta + OPT(i, j-1)\\ +\delta + OPT(i-1, j) +\end{cases} & \mbox{otherwise} +\end{cases} +$$ + +## Bottom-Up + +```pseudocode +for i = 0 to m + M[i, 0] ← i δ +for j = 0 to n + M[0, j] ← j δ + +for i = 1 to m + for j = 1 to n + M[i, j] ← min { + α(xi yj) + M[i – 1, j – 1], + δ + M [i – 1, j], + δ + M [i, j – 1] + } + +RETURN M[m, n] +``` + +Costo computazionale = $\Theta(nm)$ + +## Riepilogo + +- trovare il numero di operazioni da fare per allineare due sequenze +- $OPT[i,j] = min\{ \alpha_{ij} + OPT[i-1,j-1], \delta + OPT[i, j-1], \delta + OPT[i-1, j] \}$ +- Ho bisogno di una matrice $i \times j$ **TEMPO =** $O(nm)$ +- per ogni sottoproblema faccio solo un controllo. Posso anche utilizzare una matrice con sole due righe o sole due colonne **SPAZIO =** $O(nm)$ +- per costrure la soluzione ho bisogno di una matrice dove salvo le operazioni fatte, posso risalire in diagonale. **SPAZIO_S =** $O(nm)$ **TEMPO_S =** $O(n+m)$ + +--- + +# Hirschberg's Algorithm + +permette di risparmiare spazio nella costruzione della soluzione del problema Longest Common Subsequence + +- serve una marice $n \times m$ + + non si può calcolare la soluzione di LCS in meno di $n^{2-\epsilon}$ a meno che LCS non sia risolvibile in meno + +**Teorema di Hirschberg:** esiste un algoritmo per ricostruire la soluzione di LCS in $O(nm)$ tempo e $O(n+m)$ spazio (basato su divide et impera) + +risolvere LCS è come risolvere il cammino minimo su un grafo $n \times m$ da (0,0) a (n,m) + +**Lemma:** $f(i,j) = $ shortest path from $(0,0)$ to $(i,j) = OPT(i,j)$ + +**Dimostrazione** per induzione + +- caso base: $f(o,o) = OPT(0,0) = 0$ + +- ipotesi induttiva: assum vero per ogni $(i', j')$ con $i'+j' \lt i+j$ + +- l'ultimo arco nello shortest path verso $(i,j)$ è $(i-1, j-1)$, $(i, j-1)$ o $(i-1, j)$ + +- quindi + + $f(i,j) = min\{ \alpha_{x_i y_j} + f(i-1, j-1), \delta + f(i-1, j), \delta +f(i, j-1)\} = $ + + $= min\{ \alpha_{x_i y_j} + OPT(i-1, j-1), \delta + OPT(i-1, j), \delta + OPT(i, j-1)\} =$ + + $= OPT(i,j)$ + +per calcolare lo shortest path da un $(i,j)$ a $(n,m)$ posso cambiare la direzione degli archi e calcolare lo shortest path da $(n,m)$ a tutti i vertici $(i,j)$ + +il costo per andare da $(0,0)$ a $(n,m)$ posso scomporlo da $(0,0)$ a $(i,j)$ e da $(m,n)$ a $(i,j)$ + +nel commino incontrerò per forza la colonna n/2 ma non su per quale vertice (riga q): voglio trovare q. divido quindi il problema in 2: + +​ $f((0,0)(n/2,q)) + f((n/2,q)(n,m))$ + +e posso quindi renderlo ricorsivo, in ogni ricorsione mi ricordo solo q. + +### Algoritmo + +per prima cosa calcolo shortest path su tutta la matrice (Dijkstra in $O(nm)$). Cerco poi q sulla colonna n/2 e lo salvo ricorsivamente n volte. + +Chiamo poi ricorsivamente f per trovare le soluzioni da sinistra a n/2 e da destra a n/2. + +### Costo computazionale + +$T(m,n) \le 2T(m, n/2) + O(nm) = O(mn \log n)$ Costo troppo elevato. + +i due sottoinsiemi però non sono $2T(m, n/2)$ ma $(q, n/2) + (m-q, n/2)$ + +![hirsberg](./imgs/hirschberg.png) + +## Riepilogo + +si può trovare un allineamento ottimo in tempo $O(nm)$ e spazio $O(n+m)$ con spazio_s = $O(n+m)$ + +--- + +# Network Flow + +Una rete di flusso è una quintupla **G = (V, E, s, t, c)** + +- Digrafo **(V, E)** con source **s** $\in V$ e sink **t** $\in V$ +- Capacità $c(e) \gt 0$ per ogni $e \in E$ + +# Max-Flow and Min-Cut Problems + +## Minimun Cut Problem + +un **st-Cut** (cut) è una partizione $(A,B)$ con $s \in A$ e $t \in B$ + +la sua capacità è la somma delle capacità degli archi da A a B + +**Min-Cut Problem:** trovare un cut con capacità minima + +--- + +## Maximum Flow Problem + +un **st-Flow** (flow) $f$ è una funzione che soddisfa: + +- **Capcaity:** Per ogni $e \in E$: $0 \le f(e) \le c(e)$ +- **Flow Conservation:** Per ogni $v \in V - \{s, t\}$: $\sum_{e\mbox{ in to }v} f(e) = \sum_{e\mbox{ out of }v} f(e)$ + +il **valore** del flow $f$ è $val(f) = \sum_{e\mbox{ out of }s} f(e) - \sum_{e\mbox{ in to }s} f(e)$ + +**Max-Flow Problem:** trovare un flow di valore massimo + +--- + +# Ford-Fulkerson Algorithm + +## Greedy Algorithm + +1. Inizia con $f(e) = 0$ per ogni $e \in E$ +2. Trova un path $P$ da $s$ a $t$ dove ogni arco ha $f(e) \lt c(e)$ +3. Aumenta il flow lungo $P$ (vanno riguardati anche i flow per mantenera la proprietà della conservazione) +4. Ripeti 2 e 3 finchè puoi + +Non funziona perchè non ho alcun modo di diminuire il flow sugli archi, se prendo decisioni sbagliate non posso tornare indietro. + +## Residual Network + +Invece di un arco $(u,v)$ su cui segno flow/capacity, ho due archi + +1. $e=(u,v)$ dove segno $c(e) - f(e)$ +2. $e^{reverse} = (v,u)$ dove segno $f(e)$ + +### Capacità residua: + +$$ +c_f(e) = +\begin{cases} +c(e) - f(e) & \mbox{if } e \in E \\ +f(e) & \mbox{if } e^{reverse} \in E +\end{cases} +$$ + +### Residual Network: + +$G_f = (V, E_f, s, t, c_f)$ + +- $E_f = \{ e: f(e) \lt c(e) \} \cup \{ e^{reverse}: f(e) \gt 0 \}$ +- key property: $f'$ è un flow in $G_f \iff f+f'$ è un flow in $G$ + +**Augmenting Path:** un path da $s$ a $t$ nel resiudal network $G_f$. + +**Bottleneck Capacity** di un augmenting path: minima capacità residua degli archi nel path. + +```pseudocode +AUGMENT(f, c, P) { + δ ← bottleneck capacity of augmenting path P. + forEach edge e ∈ P : + if (e ∈ E) + f(e) ← f(e) + δ. + else + f(e_reverse) ← f(e_reverse) – δ. + return f. +} +``` + +f = flow. P = augmenting path. + +$f' = AUGMENT(f,c,P)$ è un flow e $val(f') = val(f) + bottleneck(G_f, P)$ + +quindi risco a trovare un flow con valore maggiore di quello precedente. + +```pseudocode +FORD–FULKERSON(G) { + forEach edge e ∈ E: + f(e) ← 0 + Gf ← residual network of G with respect to flow f. + while(there exists an s↝t path P in Gf ) + f ← AUGMENT(f, c, P) + Update Gf + return f +} +``` + +L'algoritmo continua a chiamare AUGMENT sugli augmenting path finchè può. + +--- + +# Max-Flow Min-Cut Theorem + +### Flow Value Lemma + +sia $f$ un qualsiasi flow e $(A,B)$ un qualsiasi cut. Il valore del flow è uguale al flow passante per il cut. +$$ +val(f) = \sum_{e \mbox { out of } A} f(e) - \sum_{e \mbox { in to } A} f(e) +$$ +**Dimostrazione:** + + $ val(f) = \sum_{e \mbox { out of } s} f(e) - \sum_{e \mbox { in to } s} f(e) =$ + +$ =\sum_{v \in A} \left( \sum_{e \mbox { out of } v} f(e) - \sum_{e \mbox { in to } v} f(e) \right) =$ per la prorpietà della conservazione del flusso, ogni valore con $v \ne s$ è 0 + +$= \sum_{e \mbox { out of } A} f(e) - \sum_{e \mbox { in to } A} f(e)$ + +### Weak Duality + +Sia $f$ un qualsiasi flow e $(A,B)$ un qualsiasi cut. Allora $val(f) \le cap(A,B)$ + +**Dimostrazione:** + +$val(f) = \sum_{e \mbox { out of } A} f(e) - \sum_{e \mbox { in to } A} f(e) \le$ + +$\le \sum_{e \mbox { out of } A} f(e) \le \sum_{e \mbox { out of } A} c(e) = cap(A,B)$ + +**Corollario** + +Sia $f$ un qualsiasi flow e $(A,B)$ un qualsiasi cut. Se $val(f) = cap(A,B)$ allora $f$ è max-flow e $(A,B)$ è min-cut + +**Dimostrazione** (weak duality)**:** + +- per ogni flow $f'$: $val(f') \le cap(A,B) = val(f)$ + + Se f è max-flow è il più grande possibile + +- per ogni $(A',B')$: $cap(A',B') \ge val(f) = cap(A,B)$ + + Se (A,B) è min-cut la sua capacità è la più piccola possibile + +### Max-Flow Min-Cut Theorem + +Il valore del Max-Flow è uguale alla capacità del Min-Cut + +### Augmenting Path Theorem + +Un flow è max-flow se e solo se non ci sono Augmenting Path + +**Dimostrazione:** + +1. Esiste un cut $(A,B)$ tale che $cap(A,B) = val(f)$ + +2. $f$ è max-flow + + $1\to 2$ : corollario di weak duality + +3. Non ci sono augmenting path per $f$ + + $2\to3$: se ci fosse un augmenting path potremmo mandare più flow su questo path con AUGMENT, quindi $f$ non sarebbe un max-flow + + $3 \to 1$: $val(f) = \sum_{e \mbox { out of } A} f(e) - \sum_{e \mbox { in to } A} f(e) = \sum_{e \mbox { out of } A} c(e) - 0 = cap(A,B)$ + + Dato che non ci sono augmenting path, gli archi che escono da A hanno $f(e) = c(e)$ e gli archi che entrano in A hanno $f(e) = 0$ + +--- + +# Capacity Scaling Algorithm + +Assumiamo che per ogni $e \in E$, $c(e)$ è un intero tra 0 e C, quindi anche ogni $f(e)$ ed ogni $c_f(e)$ è un intero. + +### Teorema: + +Ford-Fulkerson termina dopo al più $val(f^*) \le nC$ augmenting paths, dove $f^*$ è il flusso massimo. + +**Dimostrazione:** ogni ciclo dell'algoritmo aumenta il flow di almeno 1. + +**Corollario:** Ford-Fulkerson impiega $O(mnC)$ tempo. + +**Dimostrazione:** Si possono usare DFS o BFS per trovare un augmenting path in $O(m)$ + +### Integrality Theorem: + +Esiste un max-flow dove ogni $f(e)$ è intero. + +## Scegliere Augmenting Paths + +Alcune scelte degli augmenting paths portano a tempi polinomiali, altre a tempo esponenziali. + +Quando le capacità sono irrazionali non è garantito che Ford-Fulkerson termini. + +Sceglo augmenting path con: + +- bottleneck capacity massima + - uso un parametro $\Delta$. Prendo in considerazione solo gli archi con capacità $\ge \Delta$. + - ogni augmenting path ora ha bottleneck capacity $\ge \Delta$ +- bottleneck capacity abbastanza grande +- minor numero di archi + +```pseudocode +CAPACITY-SCALING(G) { + forEach edge e ∈ E: + f(e) ← 0 + Δ ← largest power of 2 ≤ C + + while (Δ ≥ 1) + Gf(Δ) ← Δ-residual network of G with respect to flow f + while (there exists an s↝t path P in Gf(Δ)) + f ← AUGMENT(f, c, P) + Update Gf (Δ) + Δ ← Δ / 2 + + return f +} +``` + +Assumo che tutte le capacità siano intere e che $\Delta$ sia una potenza di 2. + +**Teorema:** Se CAPACITY-SCALING termina allora f è un max-flow + +**Dimosrazione:** + +- quando $\Delta = 1 \implies G_f(\Delta) = G_f $ +- quando termina la fase con $\Delta = 1$ non ci sono più augmenting paths +- se non ci sono augmenting paths allora il flusso è massimo + +**Lemma:** (non so se si dice lemmi) + +- Ci sono $1 + \lfloor \log_2 C \rfloor$ fasi di scaling + + + +- sia $f$ il flow dopo una fase di scaling. $val(f^*) \lt val(f) + m \Delta$ + + - Esiste un cut $(A,B)$ tale che $cap(A,B) \le val(f) + m\Delta$ + + - $val(f) = \sum_{e \mbox { out of } A} f(e) - \sum_{e \mbox { in to } A} f(e) \ge$ + + $\ge \sum_{e \mbox { out of } A} (c(e) - \Delta) - \sum_{e \mbox { in to } A} \Delta \ge$ + + $\ge \sum_{e \mbox { out of } A} c(e) - \sum_{e \mbox { out of } A} \Delta - \sum_{e \mbox { in to } A} \Delta \ge$ + + $\ge cap(A,B) + m\Delta$ + + + +- ci sono $\lt 2m $ augmentation per ogni fase di scaling + + - ogni augmentation aumenta il flow di almeno $\Delta$ + + + +- CAPACITY-SCALING impiega $O(m^2 \log C)$ + + - $O(m \log C)$ augmetations + - ogni augmentation $O(m)$ + +--- + +# Ford-Fulkerson pathological example + +sia $r$ tale che $r^2 = 1-r$ + +- le capacità iniziali sono $\{1, r\}$ +- dopo qualche augmentation diventano $\{1,r,r^2\}$ ($1-r$) +- dopo altre diventano $\{1,r,r^2, r^3\}$ ($r-r^2$) + +![pathological_example](./imgs/pathological_example.png) + +augment 1: $s \to v \to w \to t$. Bottleneck capacity = 1 (v,w). + +continuo ad aumentare path che passano per (v,w) e per (w,v) alternati, quindi aggiungo e tolgo la bottleneck ogni volta. La bottleneck diminuisce sempre ma va da r a $r^2$ a $r^3$ e cosí via, cosí l'algoritmo non termina mai. + +**Teorema:** Ford-Fulkerson può non terminare e può convergere ad un valore che non è il flusso massimo. + +--- + +# Matching su Grafi Bipartiti + +Dato un grafo non diretto $G=(V,E)$, $M \subseteq E$ è un **matching** se ogni vertice $v \in V$ compare in $M$ al più una volta. + +**Max Matching:** Trovare un matching di cardinalità massima + +**Grafo Bipartito:** Un grafo si dice bipartito se può essere diviso in due subset $L$ e $R$ tali che ogni arco connette un nodo in $L$ e uno in $R$ + +**Bipartite Matching:** Dato un grafo bipartito $G=(L \cup R, E)$ trovare un max matching. + +## Max-Flow Formulation + +- Creo un grafo $G' = (L \cup R \cup \{ s, t\}, E')$ +- Direziono tutti gli archi da L a R, do loro capacità infinita. +- Aggiungo archi da s a L con capacità 1. Aggiungo archi da R a t con capacità 1. + +### Teorema: + +La cardinalità di un max-matching su $G$ è uguale al max flow su $G'$ + +**Dimostrazione:** + +$\le$: Considero un max-matching di valore k. Considero un flow che manda un unità in ognuno dei corrispondendi k archi. f è un flow di valore k. + +$\ge$: Considero f max flow su G' di valore k. Per l'Integrality Theorem k è un intero e posso assumere che i valori di f siano $\{0,1 \}$. Considero M come l'insieme degli archi da L a R con $f(e) = 1$. Ogni nodo in L e R appare al più una volta in M. $|M| = k$ per il flow-value lemma sul cut $(L \cup \{s\}, R \cup \{t\})$. + +## Perfect Matching + +Dato un grafo non diretto $G=(V,E)$, $M \subseteq E$ è un **matching perfetto** se ogni vertice $v \in V$ compare in $M$ esattamente una volta. + +Dobbiamo avere |L| = |R| + +Se G ha un perfect matching, possiamo vedere che $|N(S)| \ge |S|$. con S subset di nodi e N(S) nodi adiacenti ad S. + +### Teorema: + +Sia $G=(L \cup R, E)$ un grafo bipartito con $|L| = |R|$. G ha perfect matching $\iff$ per ogni possibile $S \subseteq L$: $|N(S)| \ge |S|$. + +**Dimostrazione:** + +$\Rightarrow:$ ogni nodo in S deve essere collegato almeno ad un nodo al di fuori di S. + +$\Leftarrow:$ Suppongo che G **non** abbia perfect matching. sia $(A,B)$ un min-cut di $G'$. Dal max-flow min-cut theorem $cap(A,B) \lt |L|$. + +- Definisco $L_A = L \cap A$, $L_B = L \cap B$, $R_A = R \cap A$ +- $cap(A,B) = |L_B| + |R_A| \implies |R_A| \lt |L_A|$ +- min-cut non può usare archi con capacità infinita \implies $N(L_A) \subseteq R_A$ +- $|N(L_A)| \le |R_A| \lt |L_A|$ +- scelgo $S = L_A$. assurdo. + +--- + +# Disjoint Paths + +Due path sono **edge-disjoint** se non hanno archi in comune + +**Edge-Disjoint Paths Problem:** dato un grafo G e due nodi s e t, trovare il massimo numero di edge-disjoint path da s a t. + +## Max-Flow Formulation + +assegno capacità 1 ad ogni arco + +### Teorema: + +massimo numero di edge-disjoint paths = valore del max-flow + +**Dimostrazione:** + +$\le:$ Suppongo che ci siano k edge-disjoint paths da s a t. Pongo $f(e)=1$ per tutti gli archi che compaiono in questi path, altrimenti pongo $f(e)=0$. Dato che non ci sono archi in comune, f è un flow di valore k. + +$\ge:$ Suppongo che il max-flow abbia valore k. Per l'integrality theorem esiste un flow 0-1 di valore k. Considero gli archi $(s, u)$ con flow = 1. Per la conservazione del flusso esiste un arco $(u,v)$ con flow =1. Continuo scegliendo sempre nuovi archi fino a raggiungere t. Produco k edge-disjoint paths. + +--- + +# Network Connectivity + +Un set di archi $F \subseteq E$ disconnette t da s se ogni path da t a s passa per un arco di F. + +**Network Connectivity:** dato un arco G e due nodi s e t, trovare il minor numero di archi che disconnette s da t. + +### Teorema di Menger: + +numero massimo di edge-disjoint paths = numero minimo di archi che disconnettono s da t. + +**Dimostrazione:** + +$\le:$ Suppongo che $F \subseteq E$ disconnetta s da t e |F| = k. Ogni path da s a t passa per almeno un arco di F. Quindi il numero di edge-disjoint path è $\le k$ + +$\ge :$ Suppongo che il massimo numero di edge-disjoint path sia k. Max-flow value è quindi k. Per il max-flow min-cut theorem esiste un cut $(A,B)$ di capacità k. Sia F l'insieme di archi da A a B. |F| = k e disconnette s da t. + diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/hirschberg.png b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/hirschberg.png new file mode 100644 index 0000000000000000000000000000000000000000..c1aaf7481ce8808644b2d99efc6edd2e5c5ced05 GIT binary patch literal 294635 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�Am?M5lrdd_!h z#S|E~--MIV<_`e!TZ*YJcpa0jg6bo22!L%f^TwSIrkVR9fQ!fn4^hV|9lY*zB7GOT zPW~s_q3ZE6%iXE>vTC`_;B2&**|E3|ig3>&->JhC{$nRzL4X7$5AMj!FM$}qhfh9I zveRPJA=lrs%>}8}ts7InY^tRJm_qka{*EtasaR-I&<-A;;%e1fwuQNu= zdvBG#E6of!6(AI%X__Y1oj$v&fkN2Cosb5JsFLd9=AOJVtYFw`dSA)2>?-v)y3RsmBj zo?{;KzaCrQpBst{o^Ghf1;xr8l7;>dkTTWsu3d}SYNSw=TJ1bGi2kq~N{`VtsP`@Es6i6a$Df(aCnR!!TUUGch8Oowe!kaSmfq#*`zY3VIlP6Um7i+P8IIp7ho&Xnfq7enxW4`6a;s3_Euc~4q?0Xr`n?l56BD=@ zYMa-|jw}-5NHD_GZ?@Mxbc-&1tAW_jAdB9acz^i8a`k}+ztgYq6!&cdt;oTI!8|=a zpPvZbv=RL3^n3yRrZ??_2`g&;J>k60d2`Wy44bUwsrRfUWFZTn>30W{i0Hu)h3pT8Iy`teQ z^!0||4#a&Fv5;_Y#apZX8T1)!5Xg+0L)*m^M~~cbK1gIr5;oFd#_U9M!%L-dKKVvi+SN*n z*T$FvGg9g6Pebr3qR%~l(gCYo3fcSQ(5O5Xjs+2AyTF|;uR2?f$9#ax^8z{Y?$`jS z{Q25F4ndW-Duim;%N zNCA1^#(Cmn-;HxdxJ*zdiW_a?;e%F_>bwJ)gmB0)$SMPBe#rb`CN`*wc}005BhduB z+$Cn2>0kzAOAoVOd!n_~j061(OmueTOG6ofjRJ%gQ8^-fzgwz3J_^X)5ifu44yQaL z(kT6Ptw0-e_b;*g5(eXfYS*UBpDd`~t6=K_^Rk__tPi@&6x+W>@UC;g&NGB(Ow*t{ zbJXwxC;;$DAPdf)X(=CFHZ#6k-5Ng-Vt2T)eJ%C{0K=zcKCd5c{KaZcef1QUD|1*d zjaP$LS|h7K-c~Eaiff7BB*bV!7Fo2RN`Tu;6ey=Zo__8)G%v=C(J;e(7V*>tD9cTn za5(6{g+&NtaNH+x10<;p@Y>7UTsG92;jTN$K{Xy$3HJ;p;J2C~qknX7dl*a5H19sh zE7nrfx;BorQ@qpJd}!(fAb2WBk916e_i!=u=$#lIk@FHv)r<{==2Ne=sq)zjJTEj! zVyT4tXeglVi@9bcbPFfsZHzF{r4Bpiy5swA9C`B4JMbRZYL0DRvpaeCPlye?z)jR? z31{UHy(WB?hh4q!QKo7Zy&Vs#0A3uwIq-1pcn=l&l&YuK-!6$*7s>hJb6c!QB8Hx@0puM&c)_Bz^e%Lk+GsBwszUp1>RQC>Y#N;<8Wok6hvC`D~3! zna?~{Y!Ev1JnxzEO}ThhGU1J2eB54%V{ZeAQks+84j6&A!R%QS2m&{}+rIPc05q?s z#DEAmtQOAmf%ok8y3z2Eli^{u)IUD|?{BNxM9fTUigF_kkhv)!s`S$Y9xc#cUk*PF z5z%P+@|d8}(0!Y3u3L^PxD>FhghJy zez6blZ~wZU<4`e4ZY=+Ifkpq;hI4{m56+D{0-yZ*vin_OoPcU@#=Xal!+XHrUfx6{r~F>TZ@q4gXU*EOA^tV@W zq*#K3CJ+_#{mg&;baHa=H;)_4-uTxo{tv%;y#)@QN@4FtKs9X`ufPpZTx*DkcW){cobf{`MXodGaV|h>P+U{^y7Mr!VaF8kpmd5OcE} z=}i9iZ~t$B{%?W)Ycc-aul|2qpn%c74VwR%-OWXiobpjIUH(!3WT)ss_@fV(q<{VR zz?7+TA58r&1s=n`pU_!^k}q?q56oO|=m?Y^?Bm@vqmjint-@QQQ=9i-#W1<6;dCX= zK6M?^?rb&oU5#I8Nxg_6`Ggl`#1Zbem;NdWBIN6L{Cn}guurIq*MY6|-{5((jDLO380}{f$Vw;#50e0Xbnr6P%D5w=Mn)`OKr&M;Zgu!3CKIFfSSWFd zbKO^5D(K+WJcIjv`G{SBeNhXUegTRI4FFq;7B`xrl2R`)@c$N281kd6a?MJdb;^VN z#I#SjkT$3U63CyZgDvs$z~Ob0?+~3FBn1RG}$bDT%Un1GL|ILSIvv=F7_=%*%k9j@0 zM2y3Wv%{p`H1L_%?!kJ#s+=$20xdv@ipAj1j29NFd7*$O5G{&Y+c-AglNO~>fR_IL z>!;3gT{*kJ`7LXQ%XZ}N^Nw}aZlB8+J#kh79Ab4P9fg@uuf=W=pIj$=!Jz3bo*VZT1RfRNE1?v5ZJ6^Me65;Ncdg70S&f%B zAI!c<^LmqarX@~_*M`tRYf#r;Re_{cDRHI~R+p%uJRx+(J+bK?`Fl5T4u*IJm|Z_~ zWQt#&>n|w3=oY6Ruji9vC_;Tlfe+sB()}aF?Hf`-v`#~+1*%rj+}Ms-SKPJxpO7U6 z!caWK^hC(M6+)KZbp^&tKX({iKZPcdb+!J~L=kwgj->SLZ{Fx_4Eusvz{xzIkxn=j6 zI(Xev<;rnNNspv&tA7g~Em@6P8ZMBkqTMQ`6>#aA`L5?OPeHx6Odf^2ALfkIp#i|y zRkrIB=a0wxR4GnV5#NB+V`rxXdSwnBd)|Kpiz;wHWh|sb%(n%|A`nKjx|&k6FUGzL zprV+nD2d^DTI?$;5XT4!W!IVSMrRxajREz60jixd2F*Q5fy#U28O zwHWeTE~`UG0weJWFc6JMdVB7Z2|b|}tYC{`DvNus>eSZU^60w}p4BFK(=8E#npMVo zfM&C1yWsoipr-6^Nok)wY2{;hb4oi7POyBb*Hg{Wt`$hk;t$LT00FgP-j|36@Zurh zwH#2x@K242HgEI2{^~&(53eHZ!c}U)hAazQG}sKHA6dio->(lr&%N9DjKGxfPv%z_`qT5J zb?&onjX5VQ?e4=flrk##?t1klLz z+Dt3yO97_^Him$mAJ;o!%!K-kR2kr_;@-e!FaHA)9eEM(?JrzAbVQdf(@BP0q4lyt zB4jpMBeKKbc5*p&7c0Ju@B9sc&0Fhf??V;+)>*lpTq}z#*8}+EW7xhYr{?0mCh-Pd z9GO^;SqoelqzFL1;sXRUh5k%~7 zeq)ja7^ zyKm!Gqvd;ejs{MaYjrZGbfY0{*da#t|VW>_zF zIi^0;WjyIkab>O0s>(%luGB@!g_XXdL1AYsKRby( zLxW2gZVAN>+`^rPW-2F{QU~oj1*d-&URna{)_UX<2gwfcn*ea8ek*p^%92~{q-1G#QdE&$0 z4a+UZ_v4mOo0S`$>sA>m_}ji~0w&{t_z?!Nuc326mvFi#2Tm4MFK8i#&03xEzwV^g z0@P-I^k?=5BQPVfReSMUH|!pilBszd5S)k23OCEKh!41Md7!rB$9^N+E@YV>`kwH4 zaIPhyRjI`GqFH}g!1GM)pH=Gqt>&M9Gy2&2QY7?$Gx}(oLt-7C$dml)h!bu#hd;%* ze}$c=7Bx_M8dHB$4_RS3uf*@ZAXRER=?$|1b1BVybklV@0iiq8T*m%tT6LKH3qJ@H zoQj5MMY3}{zX)F>t6ZgiOcPo=MO%R`)u{O54I$XC66i!~APZIcNIHoulhZ1Y+W!ft zBx41}tv7*auy}x|l$>?E6;K_X%zT__`?^>#*%dOCB-(K9c|OBzpHl~zJ4gd(HmfXa zQ6GZ!6v`0}OR~C9yd_n5`i=PMPH`;fCGbDc>;Oa=ykLo*M5dyLD}pN}KqzO_yq!J_ zZ>ggB3o1;QaVj<5%p|R3z;Akj4AMoc6T{dxD9W3FVBjSd#W3wF3^&4(!5Y*2-34&sZ|(6OzTm?Yux^bX?s zJrF??*l`_8QjjCrhTgG98;um+mSl7er4_atvMPr#anjqlwehSfS*3gTUL%R#G)WSe zcK(KhILfJ(t9`EkM6BJcm-G)MrAsKH_^`=6y4)7q z%{MPRo`+rJYTTY|0KB3$AwstdVD;rVOJhX{{sw5ZXwlE#>1=+aZ>7S6;t?v<9`6>m z)^hmp*E$0(8Y9bTMBmf!>=IQAJYd-Si=Andu)XRJ#0YT`@#PWvRmc+OF`ei)TUfy@ zn*FgB`@73kLT9F|8{>&@Jcr7g&6Zy4L*>mwG5zkkQ$3kKxx3AiYCHZ(f=mV^NIz07 zV_Cp~3>wH9K(y~G6P*T{jBud%K#CwW<)cI@flj(*iN|5ShuKWMI*^*U=-d#yQETMb z63o2y_fWM(mh=7T3hmS=U6>q-`u;8vVI}#|TR+GOz4Fgv1pB+8^!I`}K z7iZGmWV!xR%g{erlL&KMpOD+enyPH zX1NnySYc0x6Tc%Q{-^svoNXB+LO<_ zNI-kG%bAWSTcB_SJ=Nex`fTTU&O*|0wwwgg5ctyEGpN{H{3h^xx?j}h)8a@0h^sg- z;aFt&U_aenN%>7ils401%Jo9q?JjYq_t#$HnksGg zE0CY(S9;h3uu542Igg1BLV^dfb(z6bulQY9$H9-wNunuDvHX4#>#Qob?u=tc&1Q$}YcB6~vkq;k?CDfKxzuqI z{T6h1knwuTGauLdWn@t(i;ajziRp*o`scnwOI^7ED!N1(XGj?$nEfcF{Y>I{eY*%< zbG7EzULb6}_8MZ#8*|p;${ZrdL}(3j&bZdXtYx&YDTk=4Uw%_ndC=Eo|4CIHIZRdU z>y5XZ4By|LBC|JD!IWmNla|X0h<^2OF66T=U86X0wc?c;i=I^skNrCb%wF~;(c4kj z8jZcG&HI5Vb+nuZn~tV$?}A(3Zsi*9TO@(H3E!$Ei(gBmy|VTb)PW0G&TrbS3hzB# zK{nXdBA$O!yslAbRGPwbBCKP6NkLQ^H5w?&(F1dA3hJO^_$U9rO=OYU-V&fIsjivGGWe&Pdac2Qb ziDO=$pjp%n36VpG81c4>m`@DNw1d2!+fGEGW&a4jV1pxCEE!N@Q3Xbc$ z+lshGu|e35;TbgVyzP`g>=yzVwFou7w9sO_w$wCxanix_^zQygicUE%MUrzn3xqFn zTm6C$fy+xWS*l(Fs?79j_-*BuSt}&7Y-FRA25Ca|{+i!(OGy89o4q&Ev$x1dqmQef zO~uZHrOGxzaeAtqvBGNcnaX^}PB_aaDzgD5@efyy)F&Yi5!g|75Z1m{Mq2Au{0i&p zQCc@on1p3{tA(P!pbz#Pog-XG%X$p}WBmuj)xUW(LZv3}1YiUr6Q1}c^_5x(%i-1) z=0)E6T?q+@8QY3?aJ0k&e|mVcQmQ|FN@t6`a5*r16Z#{@-_W?}Q};-bL-PwekW6Jk z=tsF5d0ku)blrG=!NnxFVr^kebk~9rm@h=CYUm7AIF_4s=IW>X#rT!4{6CD}Ec-{s z@X^(vF-Rx&E`Uamwth^eWm=kU7MQ9fCc)^P@o(yQD;r#M#(>}CUu563FR#lDeS3H@ za(cjfx727)tTysA&AM2%W!o7#_G;yd9pNmmkF=e zuiPy6$g}cReb}@ht&c-ZAT%Ur?}2xL=duC2tdoyWh`mZPgr8s$+#8t#a3b zm~S*Ch0JkNPEc6+YkP160(#O*Jl(rBs=i`jv&)0)dq5{Yg}$F4t^t zKfi-jGZN-)h2L4QU-{x}G}PssQ*TDD-3tUjGZ-&yQ&wK3wN>vaH0%UOhtRdJ8hf6h z#2;>796JBq0h$qJz3<@P84J`Ia82g`3GnJNRQBu(&NsfM)V}{sJ4R{%+Od5J=2Oc% zdyla+^X6U0aZR}{)Q2-cw3L|1+0HB0TPAmxIZY0VEL2-T26${ia*oYN;j^0_JgAmI z22B^PD`g(&YXAYjpchX;MV)Syi_~0K^Gr)*BAtYTld*>S_JZmy44+Bm_GlDBgQ#79XdRN4Gk+^g~cF9oWSwyMOr9z%Fl zyqQ@1!(Oq?b3AT$o^o||ygE1cMyI$M>-6>4uUP=0B=iOFQ7|`==^jq z%yMKmj)$!vN9_9_Z>Q6N#XK{~RR#agFSJOuO+fcx1g6{rFl;$iq+kt4#ZgFuk*+eejzwec>;{v{P)@aH-{k9OUdf z1mr;P3CLV{wrVzCaAf%7TdAwmC%tD)k9X`;X&+#=vOMNB=CihZ5dCUcVoY?F7q6BK zVEZnO6m%N&oksHFJ0WllNSU&;2LmPyJel58`CmCVE^Fmn)IyQN-?S;5j;$BFLEr#U z|wXjT_L zTzYwUmR6H?0*s!y&^!(zb3HS6QXc-4=@`D3ySP#_;#2RT+q=MH{&~H+p(MuR*McJwn1pYpfDJ*kSy-b6*iOv(;>RrJ6EP9EJ((xwDG?i$Y1HX9A}_;uKpT zCO5e@S!yL)vGw@89Y+)3WCa78VGR?1S;eI1ACf@a`SC@npcGja7LST+6GgmlR=jZ= z5QfZ?unbJvM+a2lR>i!o81tHk@Pc>tc2yqIVK*a)d;>q%hv3U~puJ{s->&NPBsiY? z@#1oBtAXmE%)W22@Swsi0Z>;1_H6_T1hXw{5G-pmyq;`^$ZzJDGE*!ulGoGYUCY*5 zRDx$Dpw&jp$pJzT|7dg4f{wF;>cj3u7`&ss2FqIkRZQSYI8KxQsr}c82?4%!D zE$E6omW)J1;q(3L9pjG`oR$VErD8oS8|+sCt+n?Fi*7nDqym2507V`JW|W(fe))&y z28cZwv73>rxWHJ@Zww)(_ODH@Jyli+SlhiQ0@5 zcZUqu>Z^Q`DzC;VchZj;t)+ZWb>c9jLSdZ`^g-#Gs0GY%tum)l05ftZygIoEuLv%|&Cc}24S10=5t?uUY(-b5)J+X!EL}n z(n;mU^x8X8YBq_}WOnI;P2CLdaT}}7=Zf*%>RVCkj$PO5I%7Y$KUp7Zs2G;L%3kO+ zs2|mFhEA)8;dTX}%XUk0zPA!pK;YL1U(kM?f)9N)1`H%IVJxD?B@XkUS2%(@KWC|I zk!`qr$2pQlU{l>~*%g^oERhJ6g@If%+(1VNQ<|xmB)of+Qp8SkIxCp3Z032tPZpWHlT8KO@6F#sC6fQU;KJMQP5)cLifA9fZMNW zkZ0q3i8_EU_R_Gkv+4K{4vHtX*A>Rw?MjW)mE%e-XnFwd2@DevwdB`2Mk5wG1`q1`c|u~&4yNuD$T5{&BJq>@0LXYx7Wy(O1x|F<3TnS1Y~=~_c8bGEBEiUp z102RvNev>0_akx>uTpzsS-@{g#^fE67cA``o5k!o=52YXh!9-->&>L7jt?$NPV}po z15p{9PX5qHiYJwz+fqs^s+6Xw|8=f=k8ab*HGV2HEScz&VJ>Dmd7UI9X^nF0WQlmf z$Muz-W$!^8o}bf%Z$H=*XeRGy9i*4I{baQe?z!r)Je{G;(i)zAi{EJ}9XZ=?GxP)~ z%m69IHKsj_)OAQkolIK{tpo@=s8cjMgj0(W!~F6e4fBf33T=fU!=UHEh#r5u4~~Wn3^KK${_Jsp z`{5IovExLp$2`_5PZJ*|I+*4A^z%wYLyG8J2=bLM zfmYc3O$EW&)A!e(s$aXNf*e|5*GCQ_qWCLOHRWZ(p*K_K(%3iMmSNPqd&_&FAmVFp z6bQBWZxo!)av*+!zOrz9Y!7C~e_=f4*0VoKU3SQ-FBC6YUY6f7`35RWZkquK_FL17 zTRxgUHtAjg`#c!vlFxM1J^t9#(2k^CTT*kF+lO3O=nZdK;5PuykiS_ThtoK&1@@7b z1z!Vx55ddF2&OHRcXtDGmCN6O&{bK74WFN~)sTQ0=3t6pt}@8 z73UHnY%6KOAv?%U?7`7lTRzChaj;)mz7@wD@6+)I5EQ;H1}nLeB3bBgS@}bj(I%JH z4!5L0+Bo;3O+|3zQvokWvr15IT!U?M>H2iQrmczRuJqch(-Ot#pW0jP`jnCdiyh_Ru6sVmVA+ZOx8X?&_nMj z->jyZ=Nai@{5w8HjH;sP>zzPYu~~Fs36eMbmSj!tX?+&BuZ@LRuF4{ zv*ZED_nQ@Qh~!pd;RQ$o(qIajjNx;iwan1U^C)yv;Bt8Il#aARMD9;Dh)C;9zCD>H z`$l_9zY;N5Xo?A*ZyRK(CrkmqaybKh)YjOBTJ!^mILp*>! zq+`44v0U`k{C4|°_kXPf3m3q`Qjr_I^O}C{XVqW6Z)t4P4jBG05YKh2q4-sLq{YD6<1vbiQiQL|K>Qz zznN8q6>S+b*ea|c<1tjw$a-Lo6ArlAlv%65Ri%5< z9t^Dh!4O8M_$rVLQE)0XUAO5Uaa1aEpr&41W~AO-)?X)U_lsn+AMWk$zZ*RU$AwNZ zN&Zw9^$p|CVbiF1qA4^*HLY80P;doUSZ7SfsgN|7ec1y(Hv_ng1|bj?x1&3lhgYTP z%VMJDG72Y&DV7;246F~;6x=(g!zW9%Xc5N0<)5eEV2eSxndGocpQ6iGhKHLePDl&(Tmt3tM~z@=28q__Ecx8GLUkJFwb}UHsMVdh68N zy-g3rppptE?Ni>490NX*SS2*x5ny0FJHw>2iU)D!PC(2(x-;n)kFPz$5Z-IzNfAfN zh`1u%>5fMrxIJj^V-GxO@7s3i!*(JD!6P)%7}uzDb&6_kASV8-3$M)U%T{UCcG{{I z^`F4Q3_Z5MEc#RD9djD5}tdEz6XR&8Ba>lL8HOL}p30nmq8vEHxgzFNP z;+|-P?;2rVTTO>-mN1hk5mLN0F* zRtI8i)YnTE=g0v#S>zp6rWaSX`6CP!AA%b#j-D^-pNu>JzMtF{gJk$Nw6|4xo(Q}e z_fdjTIJdFiBu4)6M04=kZ*Z`|?JWR7F51gJG(6ua9#XQ8A9OkeBOST1{pgt2HgL8I z$YaDGA;xE)*!3L+q8!1Ko0fuOkj2*0kK59Ckip58Ckpaitxx+|RZ16a^)>gJByT3= zi+;;8m>wl5t^n>EW&?%a9f|3TH99XUe=*Rib_%DGG{UzZu=SZRjG!~p2G_h+bKIu2X%f3Lt?oWP$4NlBa1R)s!UNRg+Isrc z+~rh756>UFFVEWnCe@3;`@b;No*2$+e-+6hP?4P6SaqaGPKFBc#|ING+bag$`g33i z`+_Y76r>r-dGY*d=AhtC1rsMot9>uhxu_QAfn1gRG9Nw5u1&$SE=lFN=ia!@^o`w2 zVHgZ>8i($n9Sy676arv|RvCa6l@CH#AxUFrg9kA0UQ;S`qtkS)O-i+fBh2%p+;1AFV*J^>6460-9#NUCD(wlode&Ay7(Jt zQ2}QRs(xu~wz(=%@!jj?xGdY9wU-$x$(iZC_C0WwYD&;?Mipg9wreJdAAIsy(Wme? zxE_vGK(n4%-?z*4D_-o_GO=7Yhr{n$>*FKP<*goRGlPr2E(H+ z30^CJs{{nm;}2_9#r#hQq)imijr=ST{z?L|p<*9whRtceMcts=%?Bzf)z0+KMdq!s zu=6j39)Yswdk=+S#Y}1*B(E>2EcNqFwTaeI6xCvy#c1_O3FUGmWTFn$S z;FK0*1)oAm4>H!}&GiQ(dqj8BhnWgqq_!Zk)kR}KJ$6UU%`j3nUZ`|w%=4C|E809& zheVjpBDwP4Bv-BfMRJuso`Ay;&k|nh1(mSn0RarnK%NC=Bu&o~mh8Dyc{zvfR|)wX zV0QH)o!{h`0gE%#rPyehZ7)wBWb9KD3Wmu*rE>NAB=Wu*6( z%sz&rt8yxft;a%_f=u$?dVeD*Kz?!sY&dm3OBiJCeht8Eeh`p|!& z*{F>{`6t`eQz1 zB6F)5o}iSua1QC@Vo@Uo%W-BvvL+a?+SYE1ERErPz=TZ!fDRU!GiF#AnscI@i5Eaf14P>+WM zhp*Se*g0#*`@|pM2T>vDFO{cTfsLac7+WSHR%TA|50rkw6MXzW-|U4WTb|f)0<&AR($5)_ zWb~J>e}W!F>O|uS<{+_DscI<>RSEbAAuO$t>jY^xw;#>V!ct7Oa%Z181~#`hD8>YV z(dSfw?E`R8HG;=IE15*-*F!ek2|QU`WI`*iA%Qe7pzH&3|Le2~cvK;$cI%q;c~r#u zVCA)ntB+C9Fj7erk7NHI@jlRKhw(1hn2Dy^G>&xJuTKEm$6#0BF;-+T*v9y)Y%`{g z_fvX3QZ-jyS3W_6IY+ZNq_Z)A?2FN;e5%An@Z0j%qa_BUz{AGUl^bh4+R>s5uKTsg ziG3HTzAR;}0r&EOOfldCVYFZObD)gx{N(oN)>rpQ%}8ghmAqKd<*|ukRy*?=`@43z zFQ2kc@>7Lf*daa%rGx0l@}EE4k)Bl72U+V4qwbrJ&>3u+*`M4B?BrtMGN(!w2IhZD z;4W|fn*?rz{^NOQa0%SvbR33+a~6Rz9`bKXR99I55BRKlO%(P$Xd_ytqUpo5imf%0 zBzyyc(eVcfMa%OKABb!TTWLLrni{(*pw=0+Wj$BOx(7}9_wo!Z*}=#^h8%fu1?UiU z4zAgsKC;?EYrq^LMWeR?0zYMeXUof;>5Sh@(F|TxoYNuQ+#_IlF0{EAO!kC9#6gjU z&yo>1Tk^&^?l*BML~iCzhC?KR6E`NZoPPkjlN1p7L|TL@wFm-C^FiPU5Mk@K+&J*{ z$xuf*`$le3-tt(Ng~s;4d$j(xuAqW>$3I4Tf4?RldD%pAhRM?*TY)_E2FS1Gav!j4 zjuTWMx0oKzfZ}RN76wD2bUjp{9Gqc!ake60@&KEizi9`~z2->v@~41N2^d*aKWJW= zgX?E>I<8m2q=|5myvnJqAIAnH$95Ad&n(7z-`c{L;Ul@W9F67d4tepM;A>jxZ1?+v zuc^bWV9{pZrF^^P`rm&|BQMBvHeR?4lAANsxF+nv&ta zW0VcRAFhr?yNcl~)*Q+kVup=bmMk^C&7B_-)+dg=u6jr+$H zz-M0AAME|w^4+k}2syx>v$_;P==Foic-{?u(i5vd4tUK|BJhZ;>(6fnta7bU6}N*#LM5%o z%4S|!1jRjI2EvTKskPrS@rN3KE_zFkZULBvgg{b}&^!*SBhAjAOLirr28@Xw!P8-( z%V4|;%B~MAk8eXh9RDI~9zXfV6Yx%+)Oq^(zX}dRn8AnT=d$GdH#M0TF=SsQP8s&~ z5Cin@F7>sT5fp!!y(n#Qc)$8PB^{$TfDt9Tex}?$`~d&%A0^iSTOiY-YY)xgSN9MS z^Ur_&JtJ5X7ai`IojbfA{oQwd1bGxRmBkkxaU1-*@BF{p`M=xw|F)X`w>tknyzEb( z$VCgh%xBXq>`H770IYVP8sMM){$F+~u?IjOOM=d#JndKw^!s~2-nIsr`aM`B3Kftu z2Sf54=t$8m!UD=2l=n1A#aTU~b-IeX>3R^wf7vwZpoowMdX?na`0ivWqy37~eACGj z{I1jQO~nRP%CJ><{|Rdv?vfa0*{ipe3O`+8*W5T55{ot2-d zThLPy8OrcQ$7lVeDyviCasga5?Cao zfn8``9%sZVyG8#e(+ejUkNwA=_(#XQ!ND1Mt$njOtnqp2LzwHzMAdS(2dkz(aO{+$ zV10grG%@==F1O4X%W-NOA6C8Xyxn!Y%mec||EzeI%A{EB@sn<{QN&T?lLm5D8$+vo z8TOQ8#rcE z2{Y4M0rWiHs(EYY*O|Tm7FExWX647axHs}~O!BAy;{||g>tFl2U@l>(fEd*+o{m;vBLS}J7Ua9^|9I%gp? zhSx$IM5QbBCr;3u0A4JK4k+Cp43rN>cr8aB0^cN+xY>1dXJ0-{d8F7m==pdKT!BW| zDK?Yj+@!<=SPd!0a@Ts7;{;QVTMXn%v_|HI*WLB)q`v!+3G&-|4?21l_a*)LZRs%P zu}i z@>rkcdD-@<`Tt?>tHYvPyM8ScNs*FNK&3(HMoPLFIz_rmVhBY#MY>CB=x%TW(lB&) zcXxU2*?Yg=`ObT7-gEvv*Y*90qBHZ%^Q?QVU#+D#?eb<%(J@rtA>2?yntrYlhX)cO zAObfFY%`Y|_|frFmj7gfm?MQB328>2?G*+^gUz8bb;K@6(qIt$=@ZbmNLFThuCQ>a zQb8r3*0-3&NCj4g+Tz+=a+RC*<$$eFTzIx>ecqfQKSAP&biO)EI*?0CQs!LR@v6V( z;}IZLZhKp4v=oTXAeVt+;Q!0Xj9zht&VFSIse@v2qQMyRKYfKe65uwhEeMM54HTk? z1{`bWX-)!pU{#jz4IGDBktUa<0#jgA&zR!Z&qQvACkvZQ>*{LeiLAgqsJV+jZFbrb zAMg3~9;A&%DNi`Q(o$vE=F6`skVDeH3_^JHiCwOKrc(HPqLaHmup_}Tyh>35DM3^l z!?lI;9G{3qKilC{T1`&Oan7bH8pXX7JZhQ>yd(OVO8v*Td5VDN9#>&;EM_uDC^$bf zt8E8I3mX;Ry}LuNUG{lrYUI8DT<-cvI({%I^GH1dTIt=}zt1~&xsl)XmEYI?xHXX{ zPVqH5{@}uKYeLAtwTmW~xCVT}R40n7x$)AEX&?(rzRbAaZ+99Ht()4+mGc#?fQ7^f zcedgD=#+u7{Da}E4_d~}{fFY0TdyXnVGzFAG@|4EsmT4h#{1}vb+mq}twR##7 z?u){9zK>(p8Wa! zD0nnd#9X6<`c^+r1Nv&G*lUmniD;GSN}FBJ_P*TQY%)UPW705v&ma@I(TwY04!1wG zeB(V;D@v#PLozuj0O#BvnC=*KgJy8FtNS^+&!2Qu019`O&* zzGrO<+NuDU4ZAnNy|b|r|Hd%RiEBs^0p z9fO2h9D+$Yl?7;~!8nM!5A^+b)G2Ulh?g3|u?6kP7KO^pRxuVFB82V{vCk!>^=MQ) zJtU@I{>I8jiq%>2=tUqe-9=1kW)p?meEWnbN>(2mKn8SSI!y%(-H z7YXiX^N$vw1yVT+K61;nD*35k^;l<5u>;c=bygTbleS&VnWV}+s)92=3MN92zWwD> z#t5$R$}Yy=fPEaWYw~y`o4_Rrc9~$<$t3@J#DV06OiXwoJp5^C?d?#ykrjjlv=#`c2(<(B4%xXI2b+SDzgs7Ub z$$Z|=(0dYCMIlC-Vo@A-!6x&Nk^EV)?xaJR*&1g>)7I5G zmu;V4&mTPt4KBHU(3{LJy4)GTg!Zu`j*w9FGf6`wCJE0w+FzoSP{-Xg2?%T;u6$F= z-C(gTIQ4D%dxcUwdXwI%b3C}{PS#dmiXMe}+0rb}c&7`9%e=jf`>PV9LG-`0{f3>t z`K4BBkRBL)t;HgAY%>0pLu5c$fkSOMEP3-0MHj}IvwB!ZiE|lv zeoYH3^-Fd41~BS0^Z`RR6$Cb9D9VJ1U=NLOc$C|)GI#|nd_ri)?_$rPZ4T4V?5aubLBv|5%>FP#WY;)fbmaXC7V(5leM zX2~Qy@i;9|KYlx?JTC%2pNXna^ORwCK3)QVI~H_!C#YU3V8lPULip8w;Em zQzc%$%9(0Q80X^W6>!|^(_^vhHWsSVUUpWCxVkzIZw*wkWOlp}TqxJ5*4)f#of)Q9 zbP-RL;M~nk(rO@l7wi3ofIu3)8QM%~_sl@D`LKlY;|}roT7SClQ^AJW9exy%9ZmMC zRE{!Eeyftor57IFlvFtfn&VelWN7?-mx_6%&`EeO9 ztO`u4lW7(1wy(D0{in9PDgMrb>Alyce>eeIWZJr7^U1+ds(QJJB(q^}g|1Q?8(=y~ zk9Wqk?7j<$hAM)s7A(gh1x1iIkw{v2)RX1A@6d@@M{rjW?%9p0VqS}>6m%gjn**hd zv7FLz$ub9b7texye+3uk{_KAJ9KhJLoV%$7E!S1)i<%uC+Bz98e*5F<%g=AA&D2&6 zt_r;?;1p7v9LawP=UB8u$LI8b`cE~6^>;?o3$6Ah$!lH6iUjt55fW8$SV3t``ig{t z_anVcHg+=&x&>}H`_&VR8vAu}tvV+Gr&FC&V8|9f{akY2S6HXay5Z~@nU`u&p>q90 zFxSbm*D<5IfnC2(Qyno;F!zj;xClo zsA{sM$7MC6X%fum>LlxYuoNj69!;b5e!P2$kNH?4N!aztzMAPF;=C@8uk^QjDf(cs zXn=0Pa=fhHIykdnGx`GExP!@|*Gkc1x;UxcWxQ6!gxhg9W5B>Q5;9)_H$UAO7YZfi zO95#Y;&63vKvB8*pbe#o&@MQZ@vex&YnhWEP}MZXTOWL39MGt06@9PwdQ&5Z{3A;B z`XRc>{=jk+i-U3eTR}Qv{!e8q#Fh8HQahMhN!O>-n&V1co~(;Na+N70g_8kmu5iJU z!$KCv{b@%Kn^O8M)W4#akxrn}xl4JVnlquKnALLV^C$C3Q%ws5cazBRyf8`h7##c^ zlvWJEXI-oDylo}WVe2&HqQm_~(F3s3Xdh(4x;{8wpPXHw&6Dd@S;pnG-g`p$#@agO zTJ48UeP?KaPUHL0d-v8Z%I|!*t89|hn~=rhd?*1SeqSTIn^coDR{zV@*Wa0TyJcU0 zNMh-!JDH#}Z7^>i;*bHSxq>pcYjV8--0$05f>Df6zn!se20`N^e0t4y_b-mgFpvsa zl75G1K@syur)l`5t)EV{z^G2`;MhL)Qd*mZPJ@$x*+||~!5tJ73=|e_5BKNRYkR<= zsz5MXQj^v=es^kZ4hW30J!WTM1l~MOQsUoVLx#r{b;BHh(v`)c^P>xum*)8QEHQz` zz}4MmUrYtu#&}AsMrwpoUCz-@=&9g;}cKUNM zgNZY673epJLxNpSHv~|<*b|EDulLkC`%N`>*GfQzDnB$GPK#}ojONv6w-`74M5VE6 zB-6M3cMrVe?6^H8fWA38$O}?B%}siL1w{Ap_D1%^vt`o9v*(0F)2k#^Y>#EY0@1t^ zxhoXYA2u2@ME>e^<>QNUsYk(cQpl3Z?1XloqR;Z{5ukRi*VV6q`D(}_jzx{BhUnlM zhu0x^=yHJY@U@+7mSnW{0Z-&3^*Up+*H^VG_S%&Xi>xDmF6Ewf0Nhddv-^9PHbZwW3R{S^}4++rzG2 zx~}M32EF7Ahh;4GRr}9&lr3i~%G*)vI^X0U;L;34S#YBnKpib-sss|b%ki}rqkp76 zeJv%XRqKFXT{MX;Dxhmd&-ZPt=w|lYG;!SZ&(w6K>>@6-vLU%u{-mS2+6}egKYVCz z9sm54{ya3QlYM*?PV!=#uI3Ye5&qs}r*^wQV~EMPhyVyd%JJq1jAs1Ozdl7%uL31= zq}QQkPmjfU!3n}H*|amk#jogTxmmGod=aDubAE>J`Soi%W#~xh_g_dS>U3(bG8=q| z^Hz+!LV>oyD=5?MM5(MAF7-*RN z&ARV*fU~ClSyE%c- zlp2}AcN!%w>0AujW5VzPx$uw-auM@m!vVjIRDt7ClpXpZaY2CGKsihW;!I(;w&p9F zgazfZeRc$Kr_Er^mMeaGz657%8kHr(2xEwU1<#rq;dse5s!{s>fTLjS;Y>BX@Koe? zQ3mK(JTnHxwA>UkNWOZFcSaGn43GBpytgYB{p<8{{4knIv^QbiHdYkld0H#_CQ*~J z5&rqec{AE#J5GiKP6ll>BT?^oo`_@|vtvUl@kmG(&u)Q>a`S@k;;rZWlm5r=`W*UE zPM@Tqpi-{{)n~6TYMK}L4~DEeFF%9ca9S`e2>Tl92%zDY1URclOjoZstUr zRtFkbNuDpF;C)h)qm?g-u>Z7JG_u^Ok^-g|b(Yf0Qz0tH5OY{XsWP3OOqva$CYN!Dd1@jP#%SdirQL+CZ)5GtG4S{_K%B2usX z6ug55Q_7WbC-0_$W>tUP*W}E~8UXnmLb5t_%F3J;v&w%AO+4K^%H%_Ml;Q_;$$ZP@<+*x|0uCBdxNJDwfsEe6;QM}8}jwhvruQ^z59az60%K$hh5I?4V z6VJb|;6|lDteVYkrSp|P^_Ia2XjE#QKK)LdQGNM6lm~kL{;AqhNomDA^;(1Tb==i; z;Xt|B-J^|V+KavY`)*G?2Xx3EY(;iO`w4xdMfWWD{=Q{W#pji>_H_MasGr@ax+&cr zfJ@DdlPImUxg1*SR5DVFKZwT0hv%Z=(Y)jl(~t*pp_i#QWzWLx8au&S0nBMIAu%ZI zHe8$3KDo#F@^mjOJzHh>cU_U%3v-|%N~PaT;B*YLUGB|?*(uLYRhKHwRF-Yn6Cc#N z*Vi1iJ@@FFxqbxsu(PRBNTo$s?o?^o!v#~ztuRHi^L8rM&pvouD$0}GrWG{$eRL>c z-)$W1_%j_VvZ?ZmUFltxX)_GO#DD0A`Rt=cqYX18M_rm>qRwFV3gr3qYwZ8=)to|@ z;WCLltDc(Md4WSZj^hjIRHLke@Yn&!teSk84edPK2{0PQfezg|i@o~@Fj01_dOf08Ym~yGS^x9x|jWze0>gVh%j6krj93{GqwSckd z=`Pm1e`M=DO4P)WXV5s?5RGxVYOAG+gA)*bo_b`Wh>aRuViPh6oEYNwD18@{SKhnt zUvU~pCBL_%u|UP8q4Qo{PADaYsS>!1avar`J9|PXQGA=$mJTIPMa&Y~Q0L%&G%jL*27Fu>z!x$8ZCYZIFGeM=qk`1u0r8+oCUuNfvo z%y0ONR=dv0o_me7_)!r>Pk54}3Qumx$I#+i(fgm%hN>_+-)fY9yBvH}rKSYJSU_84{ahJcsX5 zFnJ||cT3M~KEQ-IIPvo`^sQ^n?%q|}$`Y*63aYoL?!Ry_%aP8-i#yTQ&RILEM)fJ` zw!NQRS52*o>{C*#TIaeIc#TPv^=GUz5r zOXLcY4CUrXIvML)f-DY()`uE|L>Encqb;zc)bh+mGjT1Zie{FszQ2@~SRcqt$07H! zFb`wi2fOTHb$(M=o(1Brq#j_k{a{PARj>uT;l5JZM`}c|#lY-tDq@|k1-&{eT=t%Po_|Am)f&>5N| zY)u+aPY&0rlbV?^h3oT0v8!MpsEu8T5m_f=47{Yc5!KXt=W8eVzio*QxnC@S#K1yU zea;$ssC5#TbJI83)6LOBL)ng*@nG*!2Grv%144Q8CBJzVlO~RJ+c65~!;x(qR?{Kt zYM#YQviCvH>^EhKM4a2V6F>jeLu@Yx-rU+l%yodC&*fl)(`IK2YdMnVvD?j+nuBuk z)%p5a2Q!Sz2*(`DzSe$6j5dmXSc(y7p%i2W08FOv#S;laK7QqFmm^z93gdfX58)tJ z5}?NEz{dk!xC_q36wM!NAcHE+YyU%+keG(#4iV&$e717NQ=24y$T*q^`X-y zyi#Vv!m8sd$Xtk;=uIG)mX>CU6RoJa|Q1Db@`f5;p#5+;zgQyR#&>Qd6A%S~v8&UXR zM#Fk@Z{OU058grCgGFLHOut+l%mzVH1k2$3R9b@mP^@7-IN+afGNu(Tx5tK$Zh)G6xH?M;$g3wD z<%Vqp;DLP30XX*Ctri~`h4eRvih0lTRV}l7U)t*FU~v{}8Ej8h;Bn>;&nKbcpZjBw zaAtD9vg~sEs4uIHH#1H#PI#GPeYeKux+Yb!WT|7_vRz1M9Q%{1pCacMXI|Nim%TIi+6UIyWz+{THd_uzAzeGKVW?-~qO*J31KG@fV&U7?R3 zNw1;}p~UBKy#S2OGC2g7G<$QziY0=6x+9T-Xu9$F2je7G4YnGm@maZ(A0#Jev$aN* zdlOm$uD`86BH6X-RV{z(CeHbpNdIz)^gN1z`tb;zL}^SezRzTmnXz0W>Gn*u5Npdx zVr@sIIVU8M0ww97uJ%C9;elh&<6CK|Btg)`WaUK=b%!5%8cMB7BY@W)A3NrUsG)3j zO+dlQfs==8A6&oZgc4t2o*ocM6Q3BIBxWeSrfIfHDVwI?ZEJrqBwkHrK`9j{n8@WQ zKfI26WSeGNdx@E>8u8m^q2(WF) zSih<+^&vE~D?Qnqj9=+ZGFXFihkMOU2p|`_C^u?rO_V~T=j9Nn&EAgN^y+tSO+5R^ zR_*q!;4PF|_iaL4dIdQLQw$IHqcdtqVu>!X_C$hH{+3Z)GM|O1%ke=*YK`jt(*>bW zA)k`0oxMxlV^ezVUT}dJmwVw{zK#Z=oTE_S&wmqWtJ-`@bQC3oA<`-f2Ov(K*KjpUg zq{a1i@%&B z=iu;jJy=pGuM}}IvJ`*XN-@(pk|U`S_r|6~Gw8`=snH*VxrP7A0+5j;i#<$N_Q_#ZY;K4RNO!!Ac{ouiJZw^71CWlJ(es&mz@xocLt^5QYoswS&u_Ck| zM(F3sdZ>7EEDUBMUPhgoA9ZLZ$-L_l(fh+gwPqqCQUp{iNB*WRCtld2hiCP4O<+~} zcZdT<{XPEs0B)BfF&#;J)f3CD10M0-$Fg$=4H?U6Wy{crT?nt)bP1=0YGbdp*m+nJ zSe~hG1{g9*ozVH=a(}{fQYg+$ox8M2eZ7)?!JdZ2 zi4anCaq%Pi(OrJ0m;gLl26lOiwqO!zebG>+A;h^aNXo;ut`) zF`aWUyTyPX#?~Y#>XzSBU`n>w!zZA{T-x=3xO@u0p%w(>jtWU-=1+18D8Ai|3b3&6 zil?`Qga^ja!)+#`dVDUFEhYwnVoNg)h_N!`lBcJkr;5O#i*9lBi9?vx7p6>z+8pKg zM<-uW)pHyiDz9l=a?E`in%6tIk+~yP!v@wjvnxGuVw=SD>MRo_7NRkmIdz`_4wR#R zS)uUE27}VlpI}yHYE`C>Hyr+j=e4Lu43l#jvK47K7b>QeS4fgMtUZ0 z^V|D;ZBUE0Up*7QJl!4j1y?x-dMq8smOkTlDer?u;1EhndoFr;|MK)PnPW|-5Tj9n z=KSlmgLB)DJyM~hyh=&x6O1~k|NYje^*1k^FPJi)D3vk=97gSVff>FSp{>9I}2FKYO7V|S?q46P% z)dK@riSaWE&!2No!tYsl+cvc5IT)A?RXs*5nqh!d&@C;)<24|TYil+%npMcbB+LP= z!36Y=jR3wsd@MDDT0MbKG*H>{dH_!i%!ZyCSh&LpuhLFh`P~oD0G3ubnfQwtuXDD+ zS)ZdpeaR!A?BHh-hkFnRMHK|ZQGW;XD!3_yeb`*M0r{Aj`t=b3#&U1CuS{~iE|sVc z2?l#lQqk7kO@>yp?hi?`0m}ms96vm~18|!YW+<_=e`mD&x~|RLUBC<-W3!wA8`V@E zmol>V1-3s?#;`jvHkywCv&ZAJ>f({9b7vLpz|v$0a*f2r*rQu&oZl8`kl&wh|7_h{ zeLfZcxLcE#Vod(NM^(zPj zyT+==8(kaF3|wVq`p?K^5;zoYra)4y!l_Q}w`dg_u2(H`CkL!-Cus(|+9!N$6(-Dv z2su4{IW<+E`9Y(7*n=!#6=;dSv|{q`w%xKfre zj(t@p)C~G?0U9ghs6ohd-nrbR1SVQsGt$KcT#xCifva9!%w5z4D>bmp&5u6_d6VMa z;-<~&>aD3sY zaNH6O&yoU_Y`ePDDBE?M3FdMV#N%+__0p74y(EZ`#ry|Xfy!L@svLYPv9ooP#C7*e z!MFU;Sv7}*!AQGWu7N3P-yN`0+4!Jkf8MtG{zLT4FJFCBS(P2b;+_55`}0_Oq4oCT zDC@j%_^9ao<2pgF*j1dn#5D=OrYyJ}G5I|jFq z1z*~w?s!^$)V{W^Ik_gEef@jSltH+dHH+pzQJ#?JBUL0#KAuH{{up`8LFk@?+2~6= zuO_CG5fWCzgr)qpr0?V2RBiXZC3VbeN4A;AK0g)3(0V1(w&m+Jm9E9@D5tCYqWIax z!7tQs$`7(zG{Z2gRVC?fFYXRsS0}X+O@3Vc&99p<`^o=_k9*GS&ySVjg58AF!t~=~ ziYGJIqOa@GF8y7LJ25d1&d>V%6^)j6;uRO4JQ=Q%hkrsI;0+6GSTWWJa~Xrj*UV5PVY6az<*b+L)AT zQj0-i(mAy5Q&PJn{93^AFO>bKwE+Bdv4>lrg>-i0ndrA{)tTs++G3lR4;$bJ0=bzC zV-o%xE9T;JQ(s?82si(3Cw1+Dns-XB=G|M>4#J-h{p%&k6PeN92tW{U2qq_a1onrm z=((Z>jO`LllHU$@@fhWqx^EJ>$|xEmX_dBHLz3TVd2AQJm>G(wCiBgVsQIa(&xnWu z@8HrXr`^5(DAy|=8AkVKnQKxMLk^_`2Rl|89lrzW|0 zJuHXlxeK5fmv?O3q8%iq7dy6>0#UJwV(kyxeaZ@yAG{+;}Lvr52c}t0sZ9m z=k{SxW#?oYqK46=1}A!N2KF6&Se?-+1NFyz*8~v*Flt(_IsZ@OI2$v*{ zAYPeP$W_dJNWxR3V~QXUYupb*CY@IgmW~9aG+ctCDspF2$mq3erUq6p%#0H3CX%p= zN6$0qC(Q{xXAc)!LsCr?U-$pMIpv>z8-U9wAmodlh0xHER+bGQIsz`u{XCb6S-e=> zircE!i#dewl0<;@dnf^plP_XN@r_nQT>^rCZ*;o}{?HO6(DD6M7TB_JQ!9P48zu7N z9ujKY(L4JGGQD?Q#Fl!O5~_h1LB1 zhU;bWiWe`ioL=n|0`RK8C!U>(g+-~8F%f9NJLztUM;o$Y>fyD#qb9qhrts>1{M!lR zrvO91GGVo$2N%y$GR1kY^}7*=>>D~pt;%}jME~JJmFO`joHSG{QIAA@SZqmprutfE zSNf!As&w~G@gp|0TmS37WZY9>K&$PjiQE17!MhhtSWc%qB)HTO$w?@({1phzjMca; zsaxXRn;WINwZ@tHM;Ihnq&vT+Zd^E&xP66<7Oz^2dbLx4X0+zI?ybNrU}DLz?$@Z?eQ9>Eqwewk=vGSP?{4N2Aj;**WWZtv-dW(|1WvaA)8Xv* z2^vhvp_tqJPF^2c{Pb)*9F3iTW|5lG8fe97UuELY#fdF)E zroMJSbJS{z&Q|v_&OG$~t#|WZ>hC!Q1e@F?p-T#WG0f*D$QaJno}M@Y@pT9RqA@5J z0YvNtqME;fI66ln1LX+lN2#p}W;e<$8O0s}9e26eND9!UiYKsJP0NV5(`;bXy%qnD zSNQIe&nbb>Kh^P??{t4R)DP7d*j?<+-v|4FV@E8egu&(tn?I!TxR(JIl>Ppg2BFe} z&8DO}Bx?0t00bDpHm`vNkP!@8F6yP0_m{gPyO5awpuV-2|4WJglMOt-7K=XGh-;$D z{v|6lbtp$4%H_KDB12|d8ekRMq}cbbMCTB6#z%i_vH5%;6_5ncb?Hv~3)iD}p#Qgv zc^3iG{v_860KbS8{}Yhj)b3YjO6i9Aer~A@RW;{_D+;Ya1Q~rJ3>>^Nw}VW7z0N1> z&naf?f@rtv^#ASsgph$b|E=a*np**ue-rGENdquz8u{&i5byn;f5qVgp2IflU)lfm z%D4Wg%ML2TCyJIkxBkYzeY&}4h$7pJo9_94zVg4l^Z)(h=V@@!CxV~c|KES~pa11& zeK49kps56*+zRsj+nfELFXBI6(ZBxof4+!+yKVmY$NzaE{-3JT{~x94a~HDf)fq@s zU3;I*=fT!Z=2B){21r>U0`7nQ_W!JQNdlnk8s%Xd{io-EKuO0tfRZS|`>TF?}3sDv;)>yNR5;x@JpHo+#}`U*J%@N6WoTzyGiA@AERK zyz0Fu^tYb7|HYM;o{!V4bw*?HySu8_*>eIzidsR_Ut-{&&B#~4H`fyOOm_!#UImv0 z!LOK`nGGMmD*NYm`UNC{g9c4))4Ey#ilmh!Jd`bOG92filwn$K9gF?&uYYAtcNe2_ zx6&4Ay1^~biJ#@@afU=>9Ad}K&GJhf9UYoQjgjK;pKHok;E=^-h-PnPUO9O6^OipJ zXFh`T-(0q7>{x$XqgG;=4lF-d&~VqAtJs-3XKBpmd_Pneb>iyo;5o1ZXBbdHy%~S_ zw+&HK^1s>G(yeA2ViTnhQrLy1oQOAif~DKmeVpJ*a`~3l8~wp-$S831&oI}Qc5vTV zE~&0s*GljTR2uCzuzXme8s=1;s<+=Kx0o)8UFlBBp?$D~L%s*JY)aR1e>I-gnD-EZ zHZUFZgVb-jB)Nf)9mb29`AgyajlbOb`raa5+{er*B*2J{$K(UuKR0iFW8l}`Zylqb z=9Vh;L6V$iXLu3Bl$QM5)h}9wb{PZc-*a(Q)K9QsG8<&&A=*fF-Y}`y(!N+bd<1}| zd@AC*2j~d)D^;!!FM0GsQUc!o^X>Cu0r-cAY(_`OR15=Cy0F12d9vfR5eRb@!b$h5 z!}0sH%TZdte(MIQP=+0%7r-#m==C(}#xq^J|IaN!7($ueUVo#kQ=jj-1Bgp1qYApX zL+NDBc=bw?+#FG)Kc9)uX2^7!Z<0YZc%3*k$&H?`UK#?x4dd6%Gqs2jlsf#i80SzV zdc*GR zD^O~9)Z>(>*S04sVPDj!vVq(P)~iVd2v6QBk7Pk1p>^QjT$sha*giB0z-C7*Lh$U2 z*w66vMp2BQlJ7>>?=J?ELw|-O{yH#U9;seI!5xhw$ReNC67fb}Py+BO23=8!Odq?& zw*D{-1jKJJP|dstBThPK`UgRS-ZJLj4$2MF$96FUUSZsyHqK;Ub?SV0!AipYNvX&~ z5TFu~E1jnnd1J-Y(s3+^uDw{Awql*i=KD+K#OIr)xC}!2qEqRvvJK2GGUs0WenvE) zZT7L#r~L4A&WOvSfd_{eM=W9072fbQ;)TGyQvAt3u}Y(g%$|{L?i|f?lsFer2*(C5 zV#!N?8|HJR!Ije_8!?lU8lF!_$Vf;?{q<1Cj7Dh?7#eo-dbuZFc2Ju&#TyB)ACq)U z_K!aVj^_Tj@A7+x)Iy0%0{7K-DN8^z3Z{Z^j$AQEtlR`XJ>2(C9Dza@gp0 z?hI!y96w}=2kY$yF!pzMrgcj#&UNdY_Ota@3s`jLUVLDDYZeTDYq5c&Uh9IpPv~vH zf3CH!yuA*|FOElcEIz+dggX>kI9>AhX{L(Zh*(XA-cj)QIuz(r$|&C4+j!n9eXIx1 z2m4#U(=EiCX62oBBqxtpjY)NQz3Gcbm^+G# zKF8~E?HcAeHV^zoB%|e>X9r*m2o;c~!nb5xS*KRbd&rbXf5Q;}UibT6-4Rg14_u@@ z_L5&LRnAcl93A4-r5kjx)a zQ88n+qsp5@8MM+d9OG#_0HOWPGw6P~%^o;GOQc4##^-+J*BM1E0vB%oU`8)FVs3wM zq?YAm+30km8ArLwS25iExJGsKceZ+IL2s2P+1gDdTbNCu?XLs-jitvmPUkcRxMa)p z<@pQEp@!0gIdSY3GoCBG8YwVTxM%4Mg^TA7NS5{EwVNz671-i63zm*$`#Mp+t1FLx zqam+}+({fVt1cPE!?|CpY4XHAl0~z0R~#N=hCH8l+b!h+p7ITO8*38i_Zp znTL|&-cSeLzhLEe!$V`-rwaxi5;1R5VKY^_S6_KopGDb@uCxoNdH*D!RhFuG{#4LN zCi!)5vavaW%%{COn!(rF7S#1Gg}I8N1S2C%D~kcqu{5}zOLxv*uFVV8SlG+_W3ssC}opsU~*LWV5eQ`lles21%yf!;>jTG4dp(w^2 zrtH||5TU;8@PY_xZcPyW^Fe#O=ffPG3CE`bvV8{fp8$O0bDGFH+RoYfb!Ue1=JI1N zhYmwyAg6F)5(K8{4URuK^DsDgEhGD-cCs3W!%S^OA(97L_fev^od%d!n8Y~V{;Q$< zw<+^80&GBk+NL7)j6dpqD6w9@zx(#c*VZ5+D|rngmXh~fmN>N~ zwMBYUJ&Wq#A47-@4vZJ9Bf*Cqw!Z}G;vBoSlQNrTm!4w(@GJ>uRMtm0xWxCkf%^~v zX^GHd9X@|m=XY$oZ_B5K_gOZHM+Tjc<-3;-#3;Q9eEJ+w_WY{;Is@7`R%iiDAvx3_ z@{m6N@nXlhix4T_V?|_ku5!pPut;0%-0hePlC3I^f*&V_+~?A|X?@ad!sUL&!D=>> z0FKG*(V(J&jlI06yjJC!db>+Dts46;Rs^(t)V{*$}3UJk&UCbzMS&NzeRmv{4`X)hq2ZtJzYt-i z$CJim)RH-N&nbklL)Ip<@FBRVS@h>N(aqYKvf&cgY1R6x3@kPSIEq={HqJ$@7d5{o zU`O*>H8&%4KL`?a?}J+kVS)QsAB7Ncyz1a!k8h{+5YHKu0*QDE!5B8|R4Ed@E#4%4 zE6We?H~I*Vib;WO4+v)xAXKs<(&yVn=SbqVJLlf^(E!ziy{8Ib>CF2D$F?w{NBI}fIO!Q+ab_p2yX z$arJPA1|>QY{F)-xR45*;7SimN-;-tK}gVrjjeW<(as zg;khOrsknkUjJ=+VOfOW&#S29Yv*qM$~M{hjFLwi2CAC#_>A9^2@vf0Ezrjzfx{+a zufPWdf7iO|5JY;^Jb%77G#0oI6qg-`iTnZCYV`pxnbxJbwQ7#+w^uBh$xbqNhtuO* z^>r-!(p8@CGZ4|^=g&MuLNetWDsp+kOp+!VD1#u72g$E6_b-EI?MgTgcwZ$qPvqzC zV%d2XfMAa@hf9W1d2E<+f!NiT&jTD2Els~9BO$PB<}6u%>n;O`gXUbL_*G@c(|9g} zr|3jXs>4HJo|cR6(T&?G@?nS6s9T9$>!@S#4S{<+CmO|?&Z_0JB@RS!oMs`g-ne^7 zZ_SKT>2E8hl!)Qp6Y>F$d-G-N>7)nHLencxeb1CJ(a%lcwrqO2F>tKn3%B{xD3-=0 zeEhe$wL1yA9XC7#oH&qpK*kM@+u=9=YVHRi4UUD}nz1iHTh3|K6K z)ODAO@=@{V$uKU}t3PnoI4}Af?LQFZts)|pdW5;f-W|-l#Q&#TY*ZJ%^SdEeHKP05 zTMBwShb;p}B4{q7&UvyE^{7S-2&@SNb~ZW-OU2sJT|Nb13NYU=lgt8f3(pR|GQ&$( z8LN*HQytMO8bqZY*ML}n%(=R3e=b zIM0aFP~e58x=M3zT9>pg|LH|Rm>PtKIivu^;;tbDDn<8 zsI?yX?i#le|;WB zpG7zr*91m1Dj_Z_>1g!$3a?nv7?F_&Hu_k<9rvgiS!ORsUDUAIIC|OME%MbJ-fB)Ds|m@3 z%RzgIFw~2%`&%-%n`le@_j)7p#Rm;pto|UcUSreHm<2r?18O=YJRuzfVEH<`HT$Ax zfFU}2A{N`8-}UUBi9$wS-RWe-?mNY-9=Txsf|S!<>mMn(38<(YuI}R>LoL*ljP#-@ zjI5V1Do~bPGp;smFTpYuWcX^LZT|*+(%amy)c?Y>{=NN(2mH%s8j{QP1}-FDLB5kU ziyaB$ZjIw_fdh$1iQS^EjiU$CAAU*tz3KE8F6b~i+8SpDO?w z^crl{cax@JlJaM~O&66o@8rDNt01XG1d$A^Uk27C+8JKscQz<2)36wBafEG_RV_iP zT((_c%Jn`&C&5mXKXBnG1DWsy>HNtuh_YJw^RSlJy_H&hl!XF&A=s1{T6J5ypFC=v zzL>j(u05_vU~kAmuD9@4qg{&&SSU7w^93GsblDADPA;MeMDxExh-r!OwAgOmc_#DY z-RQT4(EFEnCNx)<7`^J9XVCcDsrLW)RWu=eU`#+nH3Te6u2(-19OpqVKI3N6(k}0VLHscCm%z!y1dxT(Y^6<60i#bDh&TFBJgmM*oP2Ym zvOZCM2S}Z9-OkRw@cBOv`TaDNv{17_SXM{~BBV~fX6s8$Ubt@^HanJ3Jo>~pgh8XA zuG$c$pQ~~%@B7I@$w9MSC*{ud-Zf^N%VGd3elL+q80!bm%u;`pUZRO~4V9k$&B`6Q ziL!N;<9V$w4jFGohviR=oeDEb+x|=Asvct5S0_TdF_821h?LiDrEV#fmYqtoPxSb$ zG{TGqLemtUEzK`zjY!rFew=*05zl5xg`crafEAF~yggxx-5Q#4Nk&%j3A0qEY^^_I zYBMCjD<$ElIav_qlY7ZyMjI2oZN&B(wS9^7+Zj{+8*A9S8-O+sZJ;;Y2 z4Z7Z1CK5**CVnG7Pa~kh2)Ps3f4n)I0dO^;3sq_Am4io?>jT;R+NGyLp=14*6-~O|+qVbXpPXY_XNR29hYvLdxXytzAF+#P5S_8_-E}ZY8zU!0?;DJ2Ll0zN5;8?xU_M*2M+a+-pBF8b=-ABK!6taY3 z`P%kjSL<_f>xSvQUTntDU2zRZ=T;tnf|XmyN~}nLO#0Q7VAL>}A!#`ix{yk^=1G)q zl(~OZ-io|L;B`?9YEod8ONQg_OvkXYMLw3j^BkxS{b$AL^jxCoSOHEezkR>645vZ@ z4G{y9qOS$aYOtVw>5Gw~5q2VwE&~+MQjSC#Avm7CW<<-}NFhPW%jM&d9A&NBmA@W$ zdcR%%`3{I!Bb)9ZgihL~1N*r`yfQt@c72^f|GFJMnqKVkLq2CaMQgbf&6jwA(S@1@ zRH7p!?mnEtmtc;0`2hH_Q$ZXx2d*!e+dH%O8CJg%(VApEYB}?|{#(OV^%Q7(NM>FKW89YDL&wYc4De8hkNO;LH^=;$1Wl1N>jrd=QeS24l4h5dV z@5RM!k@+L3iui=owj4fL>pkK1SzmW~k>P_+Muu5r%tlywcI5||ZGTe?da0bt&1+ej zLtx734h#BN8I|;v^Lwkr54B7{0Z(;%glWdJ!-?abiDnWhZSuGI7NYf$j*0>^VxL|T zB%C?MP&Sh47&V9{(66y!ku`8Ws2Tv${ zMjdSZ+wNA7T9dqYKuT9vPf=TaK@hlgWpn+{P{^DmVpf|Bs5*Du!m_slSqCC0%cGj} zbE(Y$cKi}|!H~#35MUt5dJN|8$OHY60>x;M(476$d<7ma>E?1QcU&ye7x{<-y22uz z$P^30|8md2s9QE`08g9A>W*8B9diYUgboMNVb})1l*Q+n6T=o296m53)jO9wJGqz^ zz1VMi-g8v81Fj>Nwq7|#D3m47uIg~#6hhMvr2P=ZrK?4tQeX2i@A*z${~CVsO|Ln} zs_`!DZB@!@50rZifv>0!vN1uZgq98-(StkbHQrW&Nv|v73Em!SpwBin?xsZE$nO9k2wsu>Pvy(t_S~&tA!#| z8v0S4ysu3|Q@T{Xu_``9L3c~5i9w_rE@X5;94JGcrvpzWY@_NMg^>(G;gTU+cym|P z^4W}M0S^NdbAJph1^m%?b0JxvZ1D(Uy zVJLnn{&{U^qnh_PuBRo~KPOUf34uA|F&to%aM?-$uSXUAX;?5nniB~2I&-1Ot!`$< zQyX8b`RAeXXCi_cSsk`%t{$gdQ>N32>P_Iws9`#3(UX5?!dvrO0ud~zEUsO&_1KU> zsW|OO45N^N)Ew)zQ5aV|O%-9r;6wn%#b&>lb&{jAZ^8wm&d@M@v9#_xg>)g_J3+t-_{S zuesXVeDfn8p>6I@X&s801f3N-bQ(2YAWQP2+3A~0kx8NYK4Yx?t!M4=?qB=Q`eO|p-gDkp zoab>KF=OGe zPBIBQRkKlXTvn<5x9pAWb&d$9n>HLHuH47=xr05iIwjPFlu%AKJ&J z=83Un9_QE|XzYYToh{EdFr+WY+noEo$7N>OCHo^A_5|srT0^0wc?xZ9#gTP{p3Z)n zi6_M3P+@m)>4xZu$BE)n@@znGdnkU?mjk|^fRKj2vqp$p*VOcVG)FFVjrzan)e1ql z5_bq}vK)TYhIV$f9rCFgXV*+0i={v@j~9#&sMiq}!7T;s9V3V1!F(JV8~&RALzVgD z@OdKptj6X~nt$EFTpn%<+FYz^HvNmt12VlBOwmLeyg%PPnFp4C!=-P1RZiJ2-{N|Y z{Tlo-f?z$zoS-N)O<(BAYoLeGYWvSOF0d@T*P@N8_H~?Ai4E;vSm0^ayF_jv{cXH9 zwg^0KukAKjqt^-T^$6D4GepCG0(h)P#7wJH{w=rNUS|Hl0zzQe261l~-Ptvb#1Uh0 zDzhsI3UPjaiA6u!S*HPaI`|s1dav%Scqq-sa@kXHcg$BRAf3N1W6AfP^{`DOuC}?2J+_d_i zzS2gAxLw-WR z@aq-317m+GG!?Jd;{wQb#INbO4zn!h_%-zR(eC__aI)bfeH52W)y~4&+YGHG#TrdL zSLj*d3E#hbP*<_9cI-8-cihFTG9TA8w<)FrQ{Ux3`W+cVoAo-=1+-!l(r34D_x@ub z02rNfMZVVsB^tQl?3w+^?h-0#VsqTs&;U|>%_gU&j`Ti=H#`gTb6N3*8cCs};~5|I zVDZ0oYjvhm+$(L*+m_h(Ub+vRpuc|gX^Cqm3=^3-CpmF!>y^QejBKX8Zk5k z9F;RRNbWA#kG$2f{C3|5t-J`wxcQyhe>qg-V)tTTJxFq)gC9Z*bZn6Y@1uI(&w8_nL8sh_UYHOKcD_~FddI+qYteq7LADa}_YnEc7U5@>|W7$%~08|eXZk6HER zUasaT0DV2Fo~r%Q9gVScDz%p>@lW@7KKN8csb$^C$m_FLI*p%vCQ2YQIyP+qVP<<* zh;IFR#Vj0yq4+Grz+fmEc-+jNmOkjT*9Karll9a4;y!mqPe+9_^Gnw5PN;h{#TpfY zAV^X%0|Mu#KVi$Fz;H{#r&^c`!tK6MndX_%DZ_f1QKx%sz4Xvs@(Uc4Uhqw&K zzhq_w_H~H_?+OjT#ZfCfWHe}cA?Tg;4rVWYJfP#9Wj<~$4|{yPJ=_-Pa0}zo1a^ab zC@5@8t1Xa|KoYyGjK}kTgIaR$tRhl*GiZ2Eg_>JN+}wv}Ic#2dUiqfI0s~xdUS-a; z{97kSdpp(5_$_dca~1zI`m!#N7C-yH(7yg_c})-Y?PS&!-{BhYDJ)Wpq;<9HZlePd zvBbBX$iE%>aw8Mn>RM-c!q(v3%a6mnOJip#YhK@!InGw!JJ+7jX@#eYMHKT&m#b$N zt`RqL^_h1{Cy=JyfI;6(i#KtT*SX}h^h^W+2R$L5*LP-@<>McU=0d=b`+uKE1oq5o5xV$WcS9qvMJ*AbgUq1CUY5$)+uiu9P!15cf5&ARjCF@;ZVDT z(ptKC?}9J5N0gdquG;*7^=G;{1>TjfAL{?(p)sLTQkrw~`DmSn`+Q@rgwJ3$ASC5SqlaX>aw5*-Y3Sfn#{*cL_z z6!8AJq6i{?Na>Iv!SV3a>3y13-HydqS3T9x$5aKy*VYAu=4sDrr4n`VLvTQUh%jo zmzoMiJW+x@k$KtqTfCP_Y3pR$R;P$TxO8_%h2Y#5;bW;h`vse{`YhcP?B0+qF{8pe^JyE>Jh(#kQ-!4dDU+KIBS zH_8s(HC#XDIp3k7xsb-Ne7rZ?5SJ~RES>6kQpTtSllp^=#&?E}gH!Msg5K;2q1TFa ziK)QDl;xT>F=&Q8!M;n6@ndK=vEPiv#h5%N$8DG#FJPZ3wz2?-+Fn1xtxbX8?=O{3 za8V@}T7*}PP*hJ=8|$Sp$AvsGV629=N5J8t|3^}fUMFV4YF24bw`p8w^bpi=dE(1o z>Y>kQazw+4RyA5!aC$O6rw`&}f*!EJj$L;gHjQ_x(=8Pntagc!AbhzhCy;YeqWle~ z7keVZo#Pd^`r&D#SDPrShaX&mkHw#1bvQ$Gs4PQF=DOgazaKtqy9aUkoM~LMVBx11w$W$0^dh7nCrXdEMY_%7CiFM$&C1n1Zr` zl7ptyfUMkZ!L}>;EK}b4lo;A$NN<@kQM^>o-B7GsqtGzP61hUi?+{dNvnUGsTnbR5 zL9RmSqs7Oia_jHcKU-~+`^8Y&`)3`eD+r!IrQRBGozX+;`fKkuCX zdU^l#YhwiYt;B>k|1S^mmlWymA6LFSz^=Eo#g~8n&!^jeSB^2>@7BJ@Z~y!M{m*}b zj(5K1Xud6oJLxv!52V=;vyq+{nysV) zHJOh3^9e1gN#G`sH^QJ0kfBP9mMA9<=pSR(hEQebpTt(5Oazs`3#_g<~Uvjn*f^?7^ZuTv4^ zd;34fj+Y#IB;)xyVt4_`Yhn+q-d*e1kG=f&1*R{vbWf@uNah}DM_ksTLwKfX?;TAw|l70Kd7&zV(Do6|-X3 zS1Z)L8qU+7FymH3j_4D7lYky{-tc^ZB1+=@d$zykDIVa;(Sc}ZUr`y_x!d{*bGTVC z)Kz6|MZzdd8VyB~O1)3TW`kfe%U(EK@7MmiMZbAGFND;@QmazRNk~X!OWwzxW#8kF zVT(3H<1}grw&3ngJ0bnG{Sv$hIqLPOsJ+FS2+@dFLX*Whps!0(n6_K@RJ1eckhVT| z6qQJ!o`9nqMxE?p%2LjFb5_m;BX1mh`aln^@?$Y@C0;d<+v=pNqmecRJo2|b3!#Xo_`Vb8AWv3E`P5Au)M5$OSu}gxq%%_rY~5b@9!#voHfoqIR>wDw$pXUT6jn6fJ337GC3P#6m|r!Foj&IQcA+GF?I-Se+E5l4Fz#~ncRcE{R&}ea97`9fD+Ank~W(x{9JHkx95Et0pCh@ z5uHfHngG`-8O@9zJV{_ibZrv#vfvMXrv++`Y;xw!`3`2wnax}yoo>kXtQ}5Ys+hv9 zOe#|nkgP4wx{+>vsYvL$C%*uhPEZYlPQ7^Jcjm59xsaA0%H@UUpLN z{P8_9R{zcuiuUtTvwFl|kK*F-k8s-`*&)VZ@H1%$AlNmjW_?HPsymIt?kJ{b6mr`8 z*T)JW{Qvf`eq6~3z&`-oBfTrtc~YyL-lq6?&wgO! zs#Y-F$MBIGX{oA!@9_H82fr~Y~=%({#l(SZQeg4E}O$032HOHoR#YF^< zx`U9H^`3%~U(cJ>h8|^WG7f~A7kWJ2d>K>FEDC~<*u+pVna$Te-CSk3*1rT3mMoCu zu+v&<5b+?|>4Ni`Dpt!A#p>NjK{!-p4bX3zp$9yYspKlZOwwNwg)PeQL%;OIcy~mf z1CLh8!?8ROz|U3*ukvVNJKvsM#727Qp3}H(tAa{9%%#9FZk0k?M6pw%#8%DC^KJ@e!dwwfHBPH1C+lZ}m{?7|LKEP#4Ws=YV*Sf(FD(i=5_{Eb0)aoI?_q)Jo%>bqt>U#oiOr zKzkooyV{=Ich5;7_eb!e#bNHo@yW_Y?hz`cP?|*myT=sz&O}wnfneTW8>;>%U*NyY9;_r4SBOvYAIw;AcI@@cTS9Qo}$vQeg~!0MB#mN8KdI0Csk&j z6Yj8b#bl*izgyg}H9FX$+;;`Y+lQ^NT{3R_jTikt_+vm^RG{FTH#oK&mQOew4x28Y zwz~L^mZt07qf4Ju*UE+QF!>PfF1_!>&UYrV8CtHixw~$=H1|wCx>+Ymn({W8kgMSLAG=pXl;L6K^+QU&%_Pq?rn%krT=Fk&2oztt+6%k~o%|%B`}TVI*>xPUgI;4>&m72^ z96Hcxh&C9+p^~IgD;e)Fcrs2f4pN@R3!;yR^vR?N%1EAKdLry))GGKoKZ@mg#bG7t z>mRHu?tyUyM7sA#iBB*#z|VM^bQ)0C2O*#B*4+X?z@jq%m<41~&fXFN>`e12wrJ+w zU?#H*J)RddR=Xv;dw(sgt*h$I`jvB7a^0mLf>9EVbA~pTlyiYyE0Ck16oySI#tLqCyI9vkhbZbR;j;QVS@n z*fhveG!pe5Lt)%b^=2|()I7#K3b^TTXu8yO>9y!fN7N91wd7)b6ex_*_4J=8fr<^^ z3SANb`|6zBR6L4OxsNM>Sh+FWCFmfFc;blq9R=Qwx*BkzmyInU-~( z$nm4=ErW=Jk+*ML0j@9!nVkM>#S9%oSv(gPn%Y%0gus-Qii|kGalP^#I zgTttUPoboE6#D|-Pv6pE#Ao1ua)6W@be~voqy}w)90uz<_@VdqW~$dn%mz^zbD#{h zxxd=eqrhe?3fZCU(VQ)g<;`%2H6Y-8sI%W>>X^)~YUn3Uo2nV@j-uF_tFu4LP#-^C zdXF}o5y3BdkNV+-#L4rs+Iz|3)I04G6!tCZv=sArG+bSI0`2K`>)yd9T_D-R%BEr% z0np9%tWC25|F2^<@g#P-EV)!6STT*^HpQ3@t<6?NxgC><-V%(C~_|y^5cE zo*n1RyfK2tYT0B3KGsS&>eDhViQ)05>UTe=6C?NlW4>&=T-VK2<_eTMeDqy35hW*e2FJa9y#H0YFWr}?9pq$Z5Hi-^z~4Vx8MM(*8`9QhYg& z9A5k4c!65zMQM-?9&SiDcpj>f>oG@y3)5K7SrN&0F~CLYbN_WL?XAaBrm9!?BaG5zd>_(d z?ZLQB4I`ENSXNR%O$o zl3q@AE#BF>b8XmSGVmkYUSGS{`YF9`c+!{JFk0yF!uvUK7y7z&C&LX;coov zSkS<4MLC7Cz*i$S6yR=-G3EkytsyI34b0k)o4+1bHtUAsPqp?gt~B^j-!<>Ey9v%k z?S0)#`Mvn$_PoSJ~7 zpnx?WFZZW6kI63??whuE)Jt>1Mcx2T!`Z+94y)zy6h`r4sD^#?xRg1}c`@&Oss}8x z-U7-2#FLfohhAo|>@b26V7l(mrHMQm$LEhIUG(DBRI1zMUK)xbwmlS$&~^-UEEFU- zN%%fJQ*w@3#L5|Xdal!6@mnnXrDzm|tTKQ07N&)hBJaubCZ!U7$E~UE7>VbJg>)Q7 zk`1P3WjMV+%9S4@v%bWxbk5e)!m5<{<{_Ah=KyE(9sNBX7j=bi1wQ3ax!DWCJoktc zN$iVYE|(#}tfm69(3V2e674MNb7IDzAH_sSIgl(5n618dB)FsbvoIys1E{DY#I|XIQbX$U${MXAH4?H z_KB?q_&P@2BedB_pu8P+N6v_F@3 zhNb%a*fVlbLb$s`f5pfv?ePYpujcl64nvjsyefg;{$mRHv$`)1g7K?PB#=IcxRI_K zm+6RUcvB?>D%-@GbH10S8y1a2*vTpb2f`rXDiZ}1wwEYyC#6Yw>+%{yQXO$TQv-Qt ztWHY(tC2>s(V=1IDUXavAH^K}gG=`1)`Cpgr(ceDXQvE#U>v`!f20Bv-y!H{Y6DZ; z?T*cmE%g)Vavlq0_Targ@+;JHnw$;xpcJYV@+m@vq}gKS(=yf9Dem=WIfv#C`r*kQLyP z1Tyt+PhzQ}$4K|IEWa_*Y<;lJ+rS8efZM42;nELRVx{E5J)y1&`Xc37#E%4-wDPAtUIXbNmNk#zPSeBg5hKi^Vb zfdVgqKcK+X|AvivGyPccV-1}ZmL&fw+tSJG^_78&oNiVkos=jDpVoYX-3io~+?oxRynp)t#jU#hn3)~BW^6z{`X zT~+_{`PMVf=1^C;;edzLY3}i?i2SG-7HPeJxRp*B9L=Y4B?Zo>^~v_l@6I#b(56a} zSiZyYvJG@S{l*;mc8%a9qzF{7-KF>i+F-fkT_}9V&42{B2j_KAARn;OLIe%n<9F*_Yr0hqb6l5u@0GDLmjbTULGAnX?OI-1HI~^k zRpw8>p6m8r=J~6~KYZxpa*t?*7Js!IPb;IensNLI>t0R$qfrmwGKi&7KwzXilxz0@`j&=d3UVA}t<^A>~By}`~ z=SQ-O;+9=q2sXVS2$UOA@sZgq&l9C!Rx4bv7+ccO8Tq*Ja60ZC%X&3-@sT++EU9Kh zr}c*eYez3XxfWMflpHD%S9bgXYE6oba)D%TEd4N?k|{?7K<@ zE2|1bd-h&)6V(g?_*dlfX7#c$twQZ`%o5#SP4#zf(ZjC^38 za8OEv8uo}`pAOEH`&Y~>Q~Etc>i9+&InJevQy+XHJqWd=?|@^qbT!fxR*=~)zT2W~W<%WK=8g-*2;8L(WrGYM2W`Pi~A@}~IofEw$BuNX>QRGGRa|7XJ ze8xa2&xAs!g)w+er&#+YnbWH;nhn~em#UKI@7jKE9D-W5^M|u74vWol&MyF!Ku_|} z_;Z=;59i98mq|$lXFD|6D>a8x3H)0V^VmeRpW*Ykf8xaO)~Dy{%tmAP>lqg!s}kH+ z-u)T7>t|*oE5-Pgo#hlf{-xZagdAi!i{s;yl`w)9s^-ms5GdiLiX*!RD^C3|J>KM` z9ForJdD%={(UrmJl%*)w>(R!>o8yF>if6Q+KM4r9-(q@fYWiFKYF@nENzr17Ik%M0XJq?8N5S&guwL=NjVtpV@th1GOp!jylM!WChH=YV~pJV}8) zFSP^Kdcwfra732NHzJoKp>-{}N(y*D{p~RSfv9H&mvKDn@q2SR+9WgoLov&KvgpPe zNiNM6>msUG-UM9E%XZ=dXPrzQ2fVKBA3jxZIr9r~!dW91C}ci);x36oohy2}h0+LY z`rb8p?bUysUqm6|6x{K8h%_&bxG0V0e;|W9_0{`+vbglBEOn~7XrFHOkY07G8i&Sl zRpfq&_tGj+nno1N#&iT;ax4}WU+udc{SL&2#9Pf)elIRgrsIdHU=ly@?FJcPc_J0$ z*_8K46fz!NR*t{^D5d2}jjiuZyRonl<{;8Ma37%J*EL%A0?@_Ryd7*|L@KP5kH3gt za#&6YR_%@rU(=6wPNE`=f1-gf?AT7*a9RZmd@=5hr~mm`;k4qkOen12wx*k)>?BaD zn6GGbz%VV;UU3x4f%(ITNGiX5^@_799;K6^Rp-mVm_5*^W!veOi^dje;G`xLHWH8; zGxxxfZQU-E+O4J}3vX~BYV3EnHv~32GY>c0vh@i78HEl~Jr+&pZ8%HjAyu(G`Eli6 zouujRs>-4s*$q}i)*I_MP1h15nw|NY)Jnb+F(K6lHgmN;`D)%F>c<4qhE@z?@U9R$ z+k`M;-!Zo-9m1cT5jl&@S(50B1yv{7k?ECoRo58_?BTYvwRVi&J_wc8ZR7@(-=K5V zF6o`cIy`1M@r@NWheSI!Le9x0t^1l%t|nWqbN0%gaF+#^1ryI@Z4L%$N7hi$|!16p}BoBdNPt(2qQ z*y=(*JhM`Fbk*uVeqA!Wd1I1SI-~|StnJ3@D%%qo6jc_B3iIP|?tL3C@6<7&Po-G9 zoAm_yi$Ya&QKqx+8w-cRy4=Ib1kuor);OzaIUSDPtT>TkrAS}&pA$!ymF~H)w&~B; zq$||8C~VcwQ>6b!a_vk3R}xe0(|tdUSj1M|5W-*%VrAK9-_x*>c-4tmoL=L26$c?A zdpj`P3M)iGKJXMgOr?p29Mk;lj~0N@Lh8srhAX&B&)=@cL85WeQax{iUtwQ`srl1G z5eMR+_@g@-^j82WRa5OLC!tat2Ai-ky=Z9t^v{h9((frCYcbn0lB$MuN{WEE-k*x%m z4ys7CZ4Upq(NJ`QLt~%QACGe;l04W=uBBR}oko{kZe_xjsO8zeTm2j7to-l~%(6mG zTi10r_RoxNZbY(fbjWU;DUyyZS2FqdYLDTI{d44tNGSrj2Dsw(_xhM`$^HTrvaKZ= zl*@RgDW-NuOAk9%fYl4M+jJnQ=y@sILtNE`Qx@|LhYFFe)hlh<&c{BoG!QFwxpO}O zy$q>mUZUPrW;DR1Sc-seXSVUgC?tNU!z~M?-VB3RVjU&`}t(`6cK$IoYzeVQ?@vEgZ??E1SYeR7vl=;F_Z^*|;%Vg{}6e z9Pxn=OVIJ}G6PYit_v&2EKd7_F9o;(R~Z;u7WjZ_Wi5Sig(Ww1n0|L0=os73VJ>%} z22qo)uXyLRyIZzX;G}N8`XPTPY<)`VqH%Jf$Va~TVsBh5VJjWQ*}cKDf&Hw92FFt7 z`||h@{zx`^f~oaLAr}fJ{B87~o!91}ZLZuhc=^1lU0B-*15p!py#2Tp2Q~S{Cd;~W zYIC_ZtX(f)MP`@9I@}v+xT>YwN(YZrF?-H`b(XNpUzam%e?P><@^Zxtl>TwSAB75HP6{dm`#ic@D368sA!uzfNt zlaDpYEp^$`O6z%ja18!M(-zipxghL{0u=i%iWPED_s#mYBC7}b3fMYj;!SCa@gjeq zlKN6%pKSDsLFm)}y6eqxZ z+GWhsiqxJ{VKPjGlvrab0e{v5FX{2vFF%Qo`BNxe{T+3sZG-dJM~Ma?1_{maE%F3w zJJpk(p&A>1Vy7#q%fB4iaLHZORlZB+ar!x&ah9DM_lY3MryWY1a)x>ZFF@Pz6Tnj2ov+I6PV()W)sB%;T&{8%Xfl#ZMNt-1 z4zA6$Yr1#>(FifI)LuQ|udb+y!lhfpYc3@i_H8w!3Ymbsk*n3Lb0fr|&E$Ag6e|ba zt!XAIXwEk>HsMk9x2EmVE#GX?++=SxS4Gp~qan%y4(Zt{^$c-zVz4=6vU2XgSF4{= zWJmp}Blb8`wwb99{I1uVF##a6B=jg(4XtVRr+n0VBTrd(5#cbiDWv(p){$W9Jp^-* zVhI?~lV;whr_fBqFJTW__$IBCyT>VKF3@TGiy;SG#b0V7@x3`#xD%A$I*1mTvW0I~U&l$sY?`>9aW?HS8_vbR%QiEI9TlGo|X*JcQz! zRM-II3_VJ!WM88NpX9^&2fchv8rZ`=Qv`YU##r@WE=UDtR0QAgT2xP$@N|!)m8N5o z$!OWOSP{T1IH;(C%T2mTVefUva8;%kstsz!Dl4hd`ycGTk(XKV7mgcLN%PQ{DfLQr z(_F6s>iJ5y`KLPZs8j9lN|0hCbjwzzYs<;UJ|GN$H5p+tTy`jW zzM8S;5$V^F9-&g8sc~&uM8`21CGe-B6?9Y*D`1Yh(G=fw8BW~}ut-!Wf zyEN$Q^9pAt!@ezro*rg{IS|b>3@w`3`U0*2Z)tw2Xf7wUfWZ{Ds6A`gRPH5_ux6YC}1RJWh4) zZ{y7-Y<6gu(G-oegc|Pca8*I%HUHTf0p82fJbB}*|@gY6Qc>$?CHGWP2{NzUxD zuniWjh)>0lZUgFfL;_CAl(r_+GR)=%7TD)9p{4>ph!y_6^=g83obuH%%nlL^ zsv;0gq5K9ygvFcE-oF?T+G;?aa@BQM@!N3opedTp9aRatdC&;!@V91`OfKR(S!hz~ zB8AM7<2^|zWJJq$5scNf+i)ik1rMGsW z3(Fr4waOH?(&avs^piUbw9H+xAbKw_Ux8V9RQuO3(&5rCx4{~o5&|%ombMP@aoVu5 z@o_6&c_{D&Wy-?(I-Ch+E&91$*1?cMk>+F=JC8}q%WR<2wd+W_p(y+93Sh>+#2^M;4v2^ ziq*E1v*Y#icdjR09_J{E&WQ@gK;q@tvT!!!eY2yg@RuprOkWvrU8Q8`0w2%@lvjx- zWjksp1RP8qY$;+5-s`i6-~Cpm9dwr=jHdixY+N!MFzG4gl)7O-=Wmwzq(hZs4@mGu{97<`%;smcY^O9M z)-1R5r>BqD_v2yIdAWG!M}TN{<4C}suwp$`EAmQh9~rD@$RfqKo7l;2&88cvV^xys zERmluhiOtpk_qYY%5@5sMAKg8`mqHtuKC`c`Ee93NGK2-TqSW%z%I${wBpcL5>qW3 zJW~_8$l))=F<1w@G1IIJrcn6~-U%Y1P`wKEvuVkM9yAP|bkf1h$mk$-Gp9*nx%J$H z;yu_%up=Z#{&SaFqyYdlN=(y(jGPOu>$!5YljGbWIIQ={$jwP0drX>E%Z$)Z?x7>e zv|g;&?X((7I=d6@9EN=UXj)3#UicL&Bn=nZkTSPF%wg;d87J|hsKi_|s+v~(PBl#j z2HNz^fIpBKYyk$AUnZhrc44;CRsyhI$uIVJ^v`5A&u$G2O_hHhUHcR3jMf$10Lwv0 z!pf^by*Y1q7>DEey1gA&=y4_V?Qa2knXtp{OIdjd>W4v{) z?1`k=S}o!q@fE5Gy#_V~P)@mMHvUQ1K0NCt*w|##LBVo)=!Z0de=R@a5Hz=CW@284 z+Jl9DICCU+y-T*(U6M-UqFOqiF{A9OC4S{{WwY%Hzb@{biU@E2EXsBKEEMF}W}^c3 z`ZN8GZ1CnHCiS&zx!Y^H`~MSo>3zN?X4!XU>_Z^+K9)?tgJhk6!h z8HXRC@&3f^K7(qf!5p@hehYFY?awyb%Y9s|Wiq*-H3tcBOz~5x14T7+=13e*_om9` zUw+WXd{l*di;?kG_mZg!Rg`7Iy!Ps)lt>6)$-$17QL_l}?v;EWkmxCBfyLc)XL`D{ z|Eg7BQ-3)}iN^9)r|@jzDOEGQ5nQqm9cgxP`PV~uu3SkYc+~_v>>VdsBSWiqnUGSclRig(6`d)$UppMJXdw>$^$0* z+hciAK1)Eflr5vxceyV3I0U80MmD_Fppx5hR{=nf_cV#DeiFHhsBFnJ1Xp0u+_pm> z98*-e)XT87){Qlmp=M(~TJ511fw!RIk%m3he#FvZX)eNelKiW#DkTlJ|o%d;iABg{xW{h~-cL0h%N$Zi+Qyy0i7Zl+6MyWs@ppC=uItZs*49;pknbNgd}%bta>n zL?6y_pC)xOLBL2R4th6xRNqYOuulS;LK(&pDMVF>7Aa)4Q>ye8WP>o^)T@Z}L-8nY# z8Q2LmTvez*7?nO(m!j(Ys71B8^WNuFWH{Y3xCxN0aaw}+v>4+#o9Y+FE74b{^M8*JgF@BMZ_rQeZ7 zt?&PsPNzIx{db*dH#252%Gmp}e!xPbdO!1v-{yH#V>_0|)Fv(TcFm-Mx@f^$?l`UB zfae&eFxzppCL*4eO)l6bF-3idKJ+VRb1r`U@Xkkv ze@m2*$I&(`za-i{p?Rj1{~Mm%1drPaYcS3)AI2IE*uI|_|jn_uio$QAe@Zi z2s5zQ%i745U#En!NqVHFfGAA(&2Gua7VP$Dpy3=xq`1$fhE*XH0X|g&BL3bldYsCL z>nCy8q;D(bJYG5WtP4NVc`bQ$bNr=3oUHCFSe)xETmWdfM5LaFd>-}5oJ8_>veF7k zkTY;}l!_v!Bjk4y#=|x5VnCXA-Wf|Dar_xmXyH z6qRD;H^K>jk(rBh6?&bwp3SG;`u-T+rEq|hIvD46aeArQ)wc||MHZe+7ozh-BQL&K5;+UFw?Cml9^$02fCUN6W zU90n0#ld;hNd#EL4Q^RM(%@Bjvl+#K+Km zpHzZ-N58%#F)aVo8@Iw6b57Vhg{_`Wblvc#IhTdNHc8w#3Qo2{2*XypVzXK{p0#5N zI{DopPC;R{^>jMRa?dsSS7E$C2Mroqjy|+YoZ_-${N;;yA@+xt3+{(1g%L+cBC+?< z1c0nk&cfubMzef;Z_A=DK;Eq4%$VF(Gml|^Y_cEPm7qt4MYyK^9EWV^opA7|d(__b zMtgnYSF&f5}v=k0DK7^yi?gCkK1qi>9GY)&gF^I_z*UYV|NA{FNth^{S%*wx{vLCQvXb&P7ltV zFW+3qjub@xLnmid=B|u<@43oyA;NO%YqXu~j9d*0zZ=kVH24#BI#)OCdJ^V>jiSY>W3QV0EgY2q(^Gv9WyfNQ_{;MS1&jc!!wxdG+(4rALa@Bk%Jgo+dskbzXTrCi14MTVWE`pC8$` zQTV4x8UvG53V2id+Nt`Y7S%h3si51K0$a#+H)(r2T|$QiT!Bb5js;4)-O zTP;J;{&mV-CR>^!Y#soZ#&O%bbh-@EgewzfstXG-YGXvd!C#by`WAo9EXia%MU)`%~rU~l#EkR()KNh#}o_0p8oZ;iSS6c0&{Rknl*j45i z*x7XaQR78JYSDLhNxSc2d%;E(Vy{&dsdky~<+mMp?zvmumF<4nMs z{y58hkp#5Y)@fhDNhq=(KGLetdXyI~kWvyLWJTv|FdW{n*-ARdR z{`Gl#kR-=~nkYpI~zXl2nVW7lY1l_j5!(W1sTg-xkNa zv82PA z+d31ZYA~;aovNT#y0)Dgk1PPF6!FbdVq;m|i;@fv{pTcND8`6W_NNom;q>wa>XOYY zt5Hs33K1pWoe!5Ey{6MoUX1mIO#J$aQ6m~#F7cu!h0?oY&d~^^p zUg>wF#!<)GA8zJiP)n< zJcr4!< z`I#pZ58^jn->ygxRw|?GD*Nr0wPkp;QC zaH?xxjLt2TIil+qkh;@4>h7xNf-XAv+#hb$ks+tgudJDlHUkNH{RWU1YWhUsmQ;QEW;C$xI-$hS$hab9SS#~-_~9*h!>c|!7TeL zNf+Z;{t?o0yYtEg+2VZzSv-qVVl0!XfH5Br1-))h3dpt&Av~P1P3w7uXt4Q6Ck#Jt z(%qP`Fg9pA3P!FYau#loq4s0M`;R;=My35a>-C{bxh3zSQ;p>K+p>{%DY&gVPr78S z46ZJ$?a*-C`fm>B806feP|uemiXp_lCloatSNnKu=acuTiNSRA08|C>v6qonihabR zt6#cm6FK|B=Lgby8796M)p`9R$b~$sPM;{3=RNMrq?_NJ$)1Q`gFcP3)|kXibJ$St zG%{gXvPG~kt3BPR^iU^V^5I(iFr)6)VYS+wIzg{D2wH4BBM(Oa8hy7m$g}O>a{k0< z?EBS_fyRz|PgC)p-RYzCieGXY_#a(E?VCjzTE$)1BV8EdjR>5g9x+-7^~@PQSr{3o znCx>ZPn2tD!}yNV7brN&Bfq{FV>+TqhU4gh*e~OJrN@ebm9631> z#N1(0vBYQA|!=PpwKRu5ESTn15|=YDW?EKnYK zqqOix{Wod%<3JTkt(5h8a1%V98ajJ(;+!|Wf>8rcJszZwiyqhOT+6LTd}6LXdsIHN z#LNb^!*A^r6YaJv!N*D|jra-vH-hJjaNJKxPGhf^_N_Th6nTa+_s@;^ch*;@_*{GC z!&gjnk)Ayk;nWAIyAQbno(omWRjG3Bf~J9kPSi>sRwS7t?IQ}HX)a}F0%I`| zp6t$-^E&K8Lv>bl$%toS=}?7Qqdj4j6B%;45Z|ot;@Lz$GZ!9yD`2)LRb`|2~3+%C_%*Ak#^? z#gL6hT7i=ybo7!c`?isLvtTz$^pMHO(rSe|%BRQYu#WiUAHWZ8`I&4_@@MvW&Gp~Q z7I`jupJU;f_88`()c^J^bNrQy ziohNjUuXC^#HKY^EqAbY2BBXR28?wz1R-?0JC;F{ZpE zhvs0Dti_=(ny_MWE5Jznm5z&fv!!+`MM;%mzl>(Wprbs>oKtu6&D8P;*KRr`T3J^* z*On(zZ>wS_TaTtx7~jOz)ir5&lqlW=o;uBr!nP>ic_a7RubiI8r3~tdq8`{^_-rs4 z-r>voTu}w@ioxV2F?D>!=S^|sU-j4)sLs{VwZ!`65wtaL7(mjBCCI|jGZ$>P$4xbL z__N!6C7H^T8Snql)dme9M+1sSJ4!FQ`5z`7jUcaBQ^*cm9h#AO?e@R%{J~%8Ci2v1 z2yp0y!VxlSQ@l=W(>oT;;)aL|G_n+Iue5Jzt`B+&KrqyHt+-LIQ|gK#S-hqu!Qo$8 z{aN-4`Off%HZ_V&Th8EDM}DiWl$X)P9L6^+rSGQ<7(7k<+pok#vO6cAsQH2J>*mpJ z-qWF9x!)(YOXMbP)_G>2XZ;8dEAl6~fHuQAOzzV4nLzr)e2|rKrqtD4chu6PfV6gT zv^Yow`XA={dy8~#n7{faIlla2u1ouOPe|&o!xCgGDe7K7d8gf%t26%16dUI^dx#y8 zABlhrn56tLLcr^xq6H!wjfL%Baxn0o&{FN5mvq>P{Sj1tv*H>>BN}u%*OMpM*?{zH z(5miA4EJ(*Dd=8%8Ei3#^ClVJ?c8Jhwm@D=^_+L+eB@i>#;5#rdNC=%C~9_GHcQIj zo9XJ(7LAmz^0})HBw5sxWmu)(IUPx$`&OY-WE6Ileu5-9En%OcVEm=Lo=>;N(8To> zitNcTUb;r?2zdgX;mMCds5^Po>XlE~B*ifj*Y{!K4TDsb)2Rs6H-7+VUQ?e7V89P{ znl@Ecw!M7&&RriI=I9G2#=_Y;$HC;guwlqb6lfQvL?-^7`2TVED{v`>I&D!bT5Xr2 zxsk`T`Ghnw(jo|ta_5=Fe5Wy^|~l~mM$<=(?2$UO-evD zbaq`;&xmK_SROufy}XEmlX}}QFBc9~Xm^iyjz!WYj#d^NM31<>&s?FX6#`TU0wDQV zBvkNtO|g~I7@6fYx*rEguD1n39VJSiwysWQgoCo;YZL$mKoL*4B#-4Vvh9ypH>NxE z(&V+yb^8FQ3pgyd-xiB=#XK;&pVsD|X17^KA)NX30P(7`u>R9jWn7Q*l%m(FoSGl+ z6jEEyPW{meX3|gy5&w_Gs+Zzy7wIb}5~#nfhYsovKzMHWVyG~0$4hG6QIeWkzZ4L- zt{xj?(oMmFjfB=M8UgnynOdTrs2*%RtZyB|BFW|*XdV{Z_}ammKhAh$s>0pnP;_uxT3XYGq9i~4oDoZ;L#cfP>a zY1@Gqx;d=KRwKr-`v9JiE1BM4oEj@CYvhIT(>Ar!VLijm4$|Urk|TX>4K1!MJ+DuAWld z*@JGG8j{G_dlMbZj+NW^=%|fE{_M3)N1jpF`mP^T7tgl0^S=1GxBO0)^YR<%;V%y# z4&u_y!xhQbe$*9@&Ze= zR0FZ{L>i2`Mn32Hn-IzU>ipVn&o=s)WQjAL$80PIm(q7Pdgx|#?Mx8&P8=)nC#Ld3 za|b{f_+&_-O?ID&ZfQ?8jV~Zw5I?X|g`mk7qFUUw1S!O*=}0ld+KWn=^)XQy4VJ9k ze(ri}`T||o(r>>jfHQ0#5y5t<5nzAyuqB|J2a>GX*y#1bHU=MpES{5m6UmCq6|F(Z zJpR;##ZdQtDDthGPVC@8wO2>W+k?A|23-{ig3X-rq5HS7Z?CsV9%Tel*V|i+?pP_M z^gne}r9N`!{w%WbAz#5FjKSuzI~_<}kOJ{!YJ*=zXoBKv-Q)pX2jy-ln_X)dC{s2D zWgGN5o$+t4+m#|=%Ntfgm)jpL-`2?thBRM-IwyayIanMw3!Q6oq&E(sE-_BPH=k8-@qRr9m*BT1JtLdw^^qf zs&LJ*e<)N74FW~DFxT@7=I3)pbGPBcKsRKAFm^~XEYkT#qz$q> z@-ppbG1$WFGNGN|Q*zb#@?r6i^Ju#iS_=fR^eMy_rj(<^oL`7v0=OCF(CaJ5BE9up z7es3Zt0{~EwD4Ll2gj9YiFjhz@z&np(SZVQ-ClM>KpfL!rF!)-d9q&73ljigaWw7q z{>TvEx@^U5akj+YRnw{` z&DjxFC>BsEw{`i&nQ|oRG#jU$ki=rli{!aa240%1=o5_rZ? zkSE$|rN$h|9O*Km5Giq0QgZ0>MuuhQ0KR|%;R~pICD58xG`1|$wGo!mElfk|^N8l| zw`+eKT0;@3&UXB$Hu)UY8H%X|bNoq_S z`%Oc+EgW~V=_DU~^^#hB!Sii8(+`-&{`$lMP;HqQ~Eug#Ij$Vt#3j?3u%v$Il#VtWs2 z)eqvvfsyjsMc;!4ju+C&;B61^-?OY-Y=gE5wy4n?-Kn=%T` zj~OTY%m7)1bR&N>;9kCE1fz}G7;Ovk5)>R z$P}TLU*DPMT}J1r(9P)?vN28B%j8vQSQRb!=JmWfnwM=L7LG!rs2v;tC=DUwL?e)s zV8IVCe61RBF|wNfM&8rQ@P6&K# zX1)b*iym}>rGf#41N#@(Vj_(n5rNcs<`&_LZ^z~DhhAs@$mJbz9`}8q9EL=4jUz%M zcY0{05<$`vJCxk?c?2>;)0gA2*%1zP5&?9ZeDu!S*gmi|u_UI5S+~NE2d~tJB2A>M zwrhPO<(>D1h|`|ne~jH^*4KZ6Qf;PE-1`zWF!6&<%t0T z9ft-q(}w<-yNrYwrd^trVJ2Z6PPTiQi!?7r4p!L4p#j|u40C-BUd%P}Xkjk}Mf{6Q z7`?V$_PIdXI3itSJgh}+Bb?T{e|eTsU+1Jq@*G*M)fYXk z=c?iMs{JxZN87?(biH9J`K}ITB#uzzyL|r||APc@9I-52?Cg?G($ARIjoAAzAxLcL zoQ-YKer~9*%XXXN0Ma!8Zi<4-PR*W)V7oII!-squO{d|9Y25J^$0xnv;=+XvhYz@B z-qOsKi*1fx1xammrnGjkeQ*w`rS^ani{?u-<)vUBg&#b6eQG6T1!TfYZz-#f^A+;? zPfEnkFKR-^P%dwc|D5Xumb_R)3l|B-@snX$}*1x}vD3QmM3V5F;KW3n}!wve1M!xZ> zX}ow*J&|<0BO;BNG9c(pT1G1g8SjO3Kj--ja z^r9TD=>{S+CbbUarM-qLv5s$~D*M7Tw@QyFB2=C0zwesAx9Wmx_>QUNqJQrTV>-u? zTRlg7x-Aaqbdg%tN@`UqaEg6Q6IF_|Cxp;*H}AKXV*??ac6!}zp5{w$Kqe8@{$cw_ z4x_jv{@WAWg56lxN|TvSIzkcsUPtx@fI{iTN^?5-&=1FeO6ztVR%h76F#VN*&Vms& zC8hwzM9Fb6lGbg(_8Ma>x)DB<-N`!ZjVD5t6mPMmJB!@~L0;{w*~FJjk=P%?KV1v6 z#NxO$%fso&eR~dipXsjh2jCQl#A@m6Ui13-a29zJmE63bae>GMDV)eEDt_{+PU&B< zs-pddWVgMt?11mf|DnCQ7lR_4$TVp|z{@v+Of;6E(_1aq8dOy!E<+BghFAb^0$alj zjK?W+D!=lzxNV zpW|p*^|!E|y}d9w5&wk}4)nf08?B4F@u2cgW8zv^GzH!XR@aAJGz^l_8hDJBJo5>1 zabgO&A!4J0Z9dklaKk0Dt^$Ompl1W47v4L4h29+mSccC9c_aw-$` zg2faCWdi<$9p zpl&gP7=wPv8`sUhQYtlv^cZxUtmR0;o+<%(2FJ-pnyUn*(wp4I`k?@Um_r9o@{IUM zVNuL3j?74I*b3Iy82WTZ@@qvO$N7E9gC_F)*Pwzr0rQs6!2M{caQ-?*os~u-Re8e* zq^iwWpYr>sKSc_&XK-oD3-_jZ zoHI?fjcCx6n!!zqe}Ft7vN-$hxt!AeV|HR#){uz8?WJcc^M%EJy0al2%xIk=XsEZ!|CwtYc7qJc|T0xDsFC$ z)U)|wj{CRQLi*aGY!2%pLAol}x6L5k;nIYXD4*xa{fh|>okO12w9c;}SEo~4g0;XJ zqv~~>M|q~a3&vcU#peRfXVKZ>VZ2bGTprXPeZPMK|{(xjH{-Djnf!!DAt6$<8#zNo8 zXXiXfVsrR%$Pp)u%`3@w!2gc5d9}ICA1^z4YavFKt|N{H|G+a92$QxT)4WU*Bu9B% zSs$+pSg{yvHnlIe!-BjVbS^GF;yo@5?1*Z(Q>Z(A+Tg8RKvNHuo9L$xP-RT z79X`igw!E4mS~k0G`OdQI3U75)?M{o~`J<(_SYK-A z_0atV6XYPB#;ip}nL^W@BEQDIHhMKRYwer_PV=?Skcjj9AG?HUqGTyG6fjboYWDj1 zk5&;-#^7zwSgagHX4CUQyVp--h{IEFf#joRD}PgCr;J!T@^DC6`?w>=F4; z8TTn_sNJmCDZ`Yv6Fo#nbDGb{R3Y6r3GKEds@)fo~! zgL{KC+n}cQn!~zivHo*pAgQ*^^S)b9;pjk_LiRhWFUaSiyvnJ-v8~k6vaDb$vN&R@ zQH);nqW|_?dwV4FgRh57<5rLk93ik1m~MDUn&#UiX(WgfHF~$BhOK^ttNTU+yr5$ z{9 zqb`0?Q@4cS5xr>=yVEzIqbDZcx|uTPdL=9AsMixKd!F8%V|>K#&GQ^<2r#O8N@Y6x z<2g}goQn#IBV}l;QYuo(+Y-NiUe3||O;kNsS8QZIf67j>SLN~%`X()F1IRo}IyCP% z!Jsz2_*%PjxAiA;;Up$X#ho;`2Z-vb8heqirtY|Xt+!aR8%UD!krm7)*J|?*mp!&% zCPurA4Z)rZn%-nJ*1ZLy*JXfnX*}xWWNXeRDAw)W*jvzzl8T!yziU&Q+A8cbX6evD z5V@xLkgDN($^Mc4Rqssmm{VXh#s)xvmAPCo@sh{UsJSjU)k`SoXoSUYXT`}cxgH+y zA5UZ@1xMlQoPYjO(yY{tBA&$IGJYl}_qyazA_9c)QZ=WzBarJafGJ-dABWA}9R;6* zCyE*()t0k49=f;U8Z2<-m~P`=R>4x%s%O=Nyp-~dYE|ZmFT0Zp)2pv`ox*7)4$z6o{Om~u9|)G|IaZCe>}k21Z~4)F zu4?(zF8=kbqrco=%wK_XEKNH1yq6KJozC>xT1Oq5peN*e@k8u}$Cr^XitikNn}e_& zw2*`pQg0%_8K-Fp-dnc32T94W-EQMZ-yUgRLfaS6kmaB<@S=}!vRHm>rx0m@#t&Jj zYic8fv4gGITMELu0-BmMg|hjik+|As%ZFt2RKn26tg$8cijMzdQz>cyhRUy1>5NkR3CBr7)n z3g?673V-B}#qJAwsmBi zXo8#v=o>M3)MT82cboHx+MX<+e|CnC3jCkP@+UZ7tYwCzIQ;MLba!tAl0ZBACEvN! zXeR*0WDAXqm2n4Fr1aZ-ed+^v`xzco7|-%VP{9tS^trGxFdNeo!BwE9mlX{$q4nm^}b< zn78nF5ZvIt!wv2k{$FYh1RnumG4n@=$uI`|QmTOZpCF|fEO0yuIHBUC!ucyPceN3b zA*92>2tZ0hKz%26W&lYI+Vxjz!R1p~GNjbG~!a zidL(wb)PQ5=_8XN#S1lGsBOMDqQR6{So3WmR(pZ``$iho9$a6GphlH}$z2#l)B0xa z^M>Our35ZZBGAEYS+n?q27ZahqcO?tMzC+W8*g7cJ5lre*MLkz6Xy;3$os4Y00<%W zwg!gJcaI{HCJoM$#|b-ruG1Uu#c_E|-x*4rORF@!<95}{#j;P(_hc z%mrtPV$PAxz<0Y28O-YAvf{k_YPs5}JU zdB7VnTqZ~a^pY^x|74V6|K@O#OFj~{)o zFH)(y)-$L|NYA|Qn-3a*kcdPKR1ED*7|?@r#qbBk&h705C7*9{LjC5 ze1LQA#;YK`xc}FB_`lUb{_7QgxOxeC)8EGVPxsXF2(DhT{3-d>|N9~Tnznzvst(A> z3PO-h|K4u@LC=Fg46a^6ig~Z~fAq}o5g`Ki6u?vTx9R@hH}PMuSitwO57p1e5dK<| z|Mb|e;OZrBzx=gu{_)PfKL^`)TZb1H?LR#2-?Pyu0N~q1Xxsmt6#f6#NVwwRf<9u@ z4}AZ}fggsn>y39}=Z)sSbN9hBuK)A{hmebF><#mmq5t@<-=D$u z5NX}f_kGZvdq@QC|LMmE9(VVG&!!KuJpR+Wet(8N^0WSv7aDl~beqr2zu&nF@t#H! zyZ?`G-G4!lyhYy3_D{D-F#qiCJt#^wT0Fu(zm*&elk``Ie;CbYT#aw;J+Q{LB>M35 zpWiAChA9i_=pROtz}@}x1Eh79Wj^!Q|NPc0FihfTt7!i?o!&^#`fYv%%rpFF`+&bH z4u&a_u$$;VPC9%#QP9B12V*xG{Ac@sznTb!>3#SzfTprL%TCv z@eq?t{kkw&ra(mzbatcf(F#RT>LPq0&lG~_55gV| zHkjelvsMB%YdYI${^C&`-o?lIa@Ig3bQyrqnLV?zdgG%Ihq6%Dxzr%gx1SLjsE0De zLf|dwy)K};Tx1sSqY}`%e{NJqip>}-OCc|?Ih?I?u1u8f;vHB#Dk?@{Zx=Q+v#Rv@ z4H!XWoxp!{8Mvmw2riv!Q2p@~8suDj66R*uiWW^LHqEnzs&(&xM$d~KWae?5)9DMT z+|%c@C`UkUK%j;xUmH}MSD|?9YQb-Qerx~H{$(DSQmKkdiOI|mFI^;tUwh}9=v`cM z&@MNa*CDN|K0Ah+?zGPxLvQEtf=04=i^L6f5>;k8@+p!^(YT<{OdCZ!7RSW)=eCWf zc2Te$GuE^=HSO}fGS4@pYwrJcDz`i%NXGX3`tXlS4@kf*tD7!VVJKQG*pFSau3a3h z3SkpTtSZszcE4T0a}u#!>mb?~WY^afGt||-b#++*8L$G`m5M3Tu#ZPCqp=cVCmcF{ zb+b90=JAN%$N+T{#F~P@*2`9T`Q={Ly|So{uckvkxY;M5I;GVr_p4v`XM9zipRhI2 zKFy0+_3%bt_{({$~y zy4fbqK^&Hv`GA3>uoC7yMK?QRUZWLn_5rCM<=aolBF?}33POmxyJ`BIMgc0^AtQKu zPy2z_*9lt0Hx#|Jm4y1FgZV~!MCU9W(+vp9?am*>5}h{<3fn1E%ZlPz9GXoaC$AZG zX1`!-6+jF6)lGk1+GvC1=jtMVS7g|T(O8Wft*5Iv=Y#-A<7-j7?F2LpUbS+V+C)DJ zaIfEr&34(DWIS^B4#bPfQ!Kr(*$0>j=}r!*Nt8=~n-Ef}FeM@ujtu?eh1>-~d1^!y zoM3Sh=eO-axS$~ougMVNf@hFSZSZOVzrcB<_qUjX0_19>gq3K~~qkM*0gZy^SNwuMd^OfAzyr78FRSnW-G+&{xR~(>lMzG;QS87og6nyxXv6I&fzi!1Xh%W9V$_ z#?-Li63w{|#rFl%reSf3#4+X9CHnLuTQl#Pgj)oaALGB5xIDq1AA7X^s+-ssgOA~GeZqn(8y?6g@{?P70K^XJf?RxtKJeZIBtIQe#3ThEE6`U*+9T~%Y5l?-K z2sx^_uI5|(n&F(Y{hx{}`?P1&(fKx`eR+J$^={Z$F_<)v$T+k536Fq<*H4PwU5i49lwVd~&e*Mn*zMk^fZcn3OmTanZmKqmMecAlKPg7B z{$OW5O3gJSl<(R3UgOnk1>#Yvl#p%nlV0Y{e?| z`t2L%2JOB?qS3A)PHVlMcy4%ovyx>e(S&9%=%U{wX06-vY>qS{MDh_zaHuKTQ!a?1=m6-Pzw{CIGydu=>3dt$r3`Y^ZI*g|$c)>*BgWGii0I2F_Mr9nQ1kZ?@Ziz-zbYV7S?;IXe% zuQ^Q~HN}EsEE4dR7Xah*n7c?fM7+CA2mygB+{Gg){|a5!InF81WoYBO9P z@W~g3zk^JwaIV76(gBzSFrdw16Ya2Cm#xJh)iny!)DtYV&mwi7G0BoNm~CKl%)R zdh=Rfvw;n~Z$5I9YPWhVe}b`n*DVG#Zc3?XY1*wN8B(RE&*@y+C^^p-yEkV`$jYy@ zclaifs7*(Hn0q)|9xOgQ`eX*(Ao*x_5c=NMba2KF_likvH{Q0geT&(&*mLhDKEgH) z){2Rlp$bE|F(v`!yQucg8|I1<)9ckKq73D;HRs8`ihSjC-IE;K8ONuuI{_SX=R#fl z1AA~&4fZyvJBn-wHvIw?hMMOP9b#_DJb`rtED;f&p3*Mieptsxth>yE#PCPaHCIclA4sHdib%uL1 zMis`EK=yC)C?y_9h2eu^XQsqxOl;uEdd)7h3rBeT1n1b{HM41+!R?SZr%(tXZ-#?k z38J1Or9X5y9FRR9&3OrFd{Y`{@g;7$T9 z?0)Lff#EME!wr)LrL|B7IndePhwdumLtpw*Mm15^=m0EMvdf2IQDSI`LOnmDUh%;ERL!WxP zOPu~yIc_z4jvZaIx8l#uKbQ^V8AyVzx@8IBq5cOhcYgxJ>8}JypTPV)yf|E(sY7_i z@Bs^#QPFz)gBdZHn6Uy#7$w$_pY9kmQeMpoqPjUWW+PcU1ZXB~k2X2glaIGJ31)W| zbN729Cve;JS!Ql&MziI*`@<^g*Lp2K?9#2G3Pz13 z+%{QDXYA#yx94G3r#`Mo^GdM{CL~GDEEB2>3rj)ib6qqYpblU_GvpIaF5S79(X~>1 zh%p_B$a1vVc=xdP2ioc?Zh-s5kAXb|Xs&w&I5%hqEBpLRrxMw3z1V`O6Q)Y4bn|u- z^I2HF?G!Q3mFRk24t01uA+4=(yMZcp-wYc&}R$%pRcR`!|jUURsA`(pgB!80Y@fy$EgfOLrK`(uyxc5cb8O!P9au zeteAjBZi)hY_dEeY?h+%6_%UHWCcCFg|$l| zUf&c1xn|d{s{&W5Oo4WcmpjgMpf;OQwTfUA#xI^g{S=$=rAsB$Zi`Ube~q$YaChSL z@Fp5tYqm|UeQX7|6lI=WU2=J$$U*YQHbXqwW7$7T`E0LboYY2g#)2;%V@@5_i#%DM z6Q6amD}%_=7l_5P81*4qH5+(588fnJuF2(IF;=AORC9x^I2xW>LlN=AhxBNo6&FDK zRySOzJas+aR4`8$LZxg=e>JIe-0?Li!>$l-l~s$%3O12@CVbd7|E9o?&^Ffgy+&mu z_~9yMh!}*!K{*4prE_c?*HV=Mf@90oc~w3a zvw~Z#=a2rJq}49VKPQQ+5uG5}NO1r8Z(qcN067@##if68`Xy-CFJ1g{j?_M0uFDPx zaz~Js`8u-0NHz29Ai*p)hS|!6^%Hew8J)7Vwy2v*oH&_Ir}knbuRWfRg`VDAtxS8- zz&2y;S`T#&kHZ2~?1%u#dc^jGRTUt==kv6G-CgQyTMX6SKz4ZV;%F3dVHJWVU}Eq< z2I8mdp7_yjpwP&CW_He?$9!~q!G#aA^ywzYLS)7dNT=%gq0xYGiYbJpW0-tk)j_sU zQrb6)?9E;v9x-t3YFvJCL2D|QZDZiEYB;q6QE~#P_z!d|z?N*ugncx5mq8@6`ldX0 zt~~2Y(y{eTkna`f&fKU!Fe+y~Uidt7KX20Ooc}qA zuj_Z2Tt3+Wb^i*QOYUyKKBNuAT2FO0jx2V@IJ+Hs)ZJ3nj#kTD9|RNWiCwfP=<2L* z`TmYw(r&L58uM^GZc}hY#zix5MWT~TcfxIdM|wb2?aH&}`XTan*AI~&tzK68IoCQX zUO4ZmIw=}0-7i9I53F2UibKj`>hS?fY^}@jui4`QZvP?9AKAKR_wLet`ILkfE(7TH zbmUZu@O7Rd=cyD=zrtn~0)*peX*C*sOGfUZ?fN56x_|=Ml$DJ_A7*Egd~Xuxn(b2$ zZTyD8!ou3yS=Lk6vaNZuhFkLaJB#{har4}Kc1?2Rz~84-tdJUf?IGA_xzR;KY-W1a zSR9zks-f9!3SqB&+E%MagCHljxmEZyG{mgI0KxVosDFim%@l98Gx9dY6>X%uw>jj|y>04j8_ppZKzjZ~}y z5Gkc^42j3$ch~A^=P1u)yd;mFdu4Uz54oK{!Cjd-Ya2fb`M}L8z^cza)=`HWPwy0I zZG7twljH}Y6godMsc2nEhh}B*gw}4Hz637h->zONH|L95b?)Kaut?+o>A#19-1f|} z!(6o?d|Eu7J^rt2=tLn2XqO-@^2K3Q&$%9n#(O)QFXRn&|DraUP4&{3PYzLF_>jtt z-gkIFnj}=ZO2vlR{&5d0e7IYsC-q6Xzr!v22B=WhZ2-k+qA9!GNJ>S#il}Nam77bW zjtHXMEy7Y(AS)-lWaqWI(QcZQE@~8w@D|s{aQ&&I$H;?%={~%OUxi9CS*IPPn zHGPhK(JSNLUuh+EP(xS&?`UIK6A<^&=29ekE;*%gbCqsKNwP+v%oicFtVx;Fd63vm<7Ef0<#~UZ`Y*8)S?CMNegLK*$=d=3C5k^6%KB{0y zdb5b?&jsNmQrC+Ba0S5~(oKa@*W22)-l^$CpY~4q_f)XikRGP+#ojnoY&E`*m#xHC+xM$s2{=>SJKW0$hbzlYOKB*%wWj_FurIXVY>jmQ z2|eB7PUZ4-wbkIS_1L<;E|;D}TFqSisY7$aq4>iZe&a~Wzl(kUrBKI3__zuINyRQ9 ze8PF*_@p*hkzgq0=J(9pJ2;r;qi0DCASgh%XU$eN?u&4XSE$hOWN|cijv$%yvbDl2 zi^fdT+6X$mK092l@6L0d_~vDg(1-Xni6~xKXx1 z^yif0(??qEeeA>0{gl%;j79k?jW;m5^%Lgh)+p7Av5l{KB+kAs$h!}0f%czjrQ=O+ zRbWjv#0&TdyL;643JNE}c^|Jtf!xi&bUVd;wTOC{>LYtMs79vuU&t&BA@PJ$j6rP>D#Npky3=d5q5=EgFOICxuF2vdoN*JP48IR zb`Eufdr+}Jll~hFyh8o_P@ttG+`GMtbp{l9XgQ$+#Tn&JGA42PgI%x0<=gwqg$S0M zm8V!>q&vycGbUSAOJ$zB;zpLnh)F+WKLejn|FeD&E?}xd+c|j?O*}oxkafL_*6q|> z|7RFSPy+mFzERk+;qO`-4jG7h26Z10w~n0&Mm!DeZ&xd=XSkv$NX7aAf!c=Y_9#6V zerl|8h2m|)5?F+w!RR?reoR-QI{Usv?V5bDb)n8~hWZjwB3EIlP3frq8thcDSh*G0-qPV5v29#>Q0wMQN)#DO0HXQW_Xkn=`c@ko$yAxXYm#cAROzrxkcg{LT zjC#1d>IS3N51j2Tj>B%-DnoZ8Bynf}n2`xJ zN&!N&)|DV#e|`A)3jG*1B67$jd_d^cEz-|bd8Sjd=UVkLJWrprz6S0)TLwj*b}q)4 z+ZtD&wTAfD1hZv)VhO7CBp?^ znmA9Iv-mYo^dLp#2paCyX*?&eX`3ccRMtw@vH6IMH8 z8jz455UiQD?4l~M?18@8E2yL`xsUr?8a2}+_QwywQwvYpfovr@82)kBj37eh(ZQRS=$QpCR1I`amNu$Ju7gFsK#ek8&=qX%Jm zsSxW;`{GzE>`gkmUSor?Oj-Y*V$mN2W0{Qbw5k!(0Jr}_g>w(|sj1dBH2>IQbt$M# zcu$qRdy>&;Bod_8&#QErbE<9eAyoosL_`jdR2#pIi5r8{(}=yBt;MN1dek-dg0NXg zSDn~SZ0b@y^d&B{JpFc^OFTXu{+5yY_v(u6ba)CNIEuhnrynQ(nq{4HBS%{+evn9OuGvi8_W?^#$w%V zC>Vo`5uaLr_`}AF_wHW(PWu3F=hsV6SeQ7A%Kd#oKoj_&Jm{fl;r&xlzz=oO<$udS zL7jr)VO%(K$84r#0#E!5&;We5VrB`{dQ4;l2>3>dCke~#Z!{DNrAs&91oQpGPP$fC z^e+o-OY>&@p)b{L%&!1oPdMbu#dfih&6PwD=9Xh`0t*|(P*%0wedW~RD9#^iz+-$&#HZr@R4Ysx`p&mmRU#;SH0=cA=Bf_7P*K;EH#OsM5~{~ISe z)J$=jtUlGEHCRG_5PSVO;SF`%8MYQajdIEOY#l-lV<~5SC-` z(-9k%)P0BwxwyQz@jR_}^Qc0g(Uw`%l=Z^t@G;=dqZbS!| zsbkRDCrsj{&8|k=MG~MV>9Si)QpHj$-#0@Q@27x9ithuA=EiqlnQ$>a;XeM#xX?z21P}syF)^x zC5J{(>8^nph5_judW0d~&nS4#^SsZw-ap{|{&Fr3UVF3m{?vW1d#!czaD#?YRr{2U z>->&`S3Si;PVN0<0xi$YuJi-XfV)*JN}dOMFBV&8Y`|Y*iVWoPEbzu93XK+?a4a@) zADUT$W<4pF6bC-fx%zx|wO)i!)KmNkr9z;QZ87UXphT_|^4eEhCw97AgxJ!V z2N1Y-iDY5te7}uqR;~N<7uA}z$C#Z+{egtN37}r$jCGu9rPCVt{6qjYs%P1kEgj%E z@K^4MXUEtc0jM*z+AQkjd9G~; z^>CKl*C(eFwMYtHc&-q2lZBSw##w)oe`$EhT2G1tPBsw}dx4Gxv{B@R%sy!rW_7sh zf1+t)bV2ZoWp8>YsB|eLRc~L|3mFb%+=OGijImnB%z)QK>5MPmc!^Jb->AMbtfI@G zd&`&07H;(Fy#10ji9t;yt1@5IR9h4>hj+!j!OgD5bjFHN>sV#JwCDM5jKuZ4ZZO}| z2=jdy%=eA00}&ueWr^i6e@AyCbnq330Y#Doql@)4LAP-9AUXGhhZcRl5x7^7OPL@kcPN}jzsYT9sCAeum4_H5- zT07;_LzfR>fBZRRai|nvh|M2C=TV>?B)1nC9oasUA=9B_+m;)vmZ|hUXkuRH!iC51 zt#$Q@H$@KL9US@dQ{prvu1SExvw0S1Y65E6${YGmD!n2v-ZB`;)Ss`rwSdTrJV8e5 z-tof;{Vr&HUoy_~0Zb~)uQx?*c~Ko{sfr*-&D`bq;=jlqd#!k}FImN))J*%|>b(+Zwh9MCQ{3%~y` z7_~mrl}xEWt=z*H>ylv;XzH;$NlnOQC8|~`^6Ar5d_9URCrp&sxqHES6ipme%PI$6TNWZTpYtJ}~0yoE>Qck;Q`#UAR0?UkG zcTsi#fn*!V%aD|Q8XLwzSlABB>{mkq0{#jkmh1UVnXr@m+UFSn*KOZI<;w5yMgoAT z^2j5cPHNXp)K_z}cnQ_c8O!%LOW(^g%ARaCN%Xm%{KZ>8+=aLuxAfdomC#geQ2i8r zR!H=Rd={%#Ud#TUatLXzj}n+FE&4l#gEsEN4#6$id4}4*(R!M|CWue4Xi%g8i!a26K zYKPqO)*+~b$|2;ujtMgaVvNDGaOkavnmrUYxxKJ2l5+@{kI+86_I{35ehA1&NSD4I zUns8!%fjt`jLY3EHV&{Tk`83D1MV=eTNd!A$<*37jeA!)@pw3_zz=t)UA~XvM>se-F{gFi--Mi$8?l_+>-rr+i#;V0ZgK)vhXCgDPU1`sdAvSJyuKsDbY8$*jNE= zQsQ3zN=x)O&yj$Pd{>B;uJQ;faKp={IwEY>w%)1`InR_^&t0(GDe)Zh04c9(^@CFd znW-@Q!7&_8s{px>Nj*He8IX(Zi07BD5iVu9|0bZw6i+S(YTo*6weJRHd?57)r0)zF zL?0N;?x}jk|Ew|Ss?kMsa({PYD5>6XkjOGfdm}`LfO+%3!~*NnF+!bhx--^BGm*#c zMSre_NPb7VGd6&py@1^9d%hM3Vu!beIX%T=D3wnC$_ZTQ{B=$!o;{QCWuENz-3Vvw#S z=9hQxi?|(&1S98n3yhpE#!Y|JyRW7x5FP+at8!VOzZGV-w9s^K$Lvhbd!A+Q-0ZV^ivOpGfq&Yrlp!RZe*!; zHcR>^35%(0(Pk&kGKj2CwXkEL_&n6LJ}RlNXJioYQyiLRS)~kQgO=T#wW-5-5>)z` zm6tpEY4~>Zd3-gSbfL~;x3;Ki;%BzWvQU=Mv&GZ9(W~>7cMz5xsROwZWGQY@ zhh^Rky{lNSf~2lCHU^jpqAh~G_OBd013y!x~d&q(j!HrEru(6n8g`@9Y4_0 zz8=mdXe6IYjX+?bh#@CZ}(h@-}3FA`m z!jOr1VNYZ~dvArYr>B-H+BsUtd)dSo)UCQ)uR!0F(J+WvMAINpizWNBj2#jHb`wgRw^!??NV1gUpE4P z>+mlzr7ge#>^g|^LrQQMJC4({0A0)@GQPF04(-&hzR1)!=s1%^%{Az;H<6cw0x`X5 z@R=NHVY_Z7>BsA!CYwXmwitHo+QlL6UJ_@fx^4+i=V<^t z-bSd6H{qr`BcMYZ&6Ov~ero2Oez)JwyzgNme7>wROmjqB4rY<6!zj%FlZ5@m1B9vGG|Aa!X8hb0VVio^VL}R|MDD zXpw(C1xBOzrX{Jdcy&uD-J)dxk3RY+W0fFVo^Qj3Qr3e%`hyJ1Z^*FHkMb-dG$!ITof(cY#EJCPeu8k5?9V zr{ZsEJrk>Ik1dv65_W#j#8LxF#ObTy%5s3CXPn1?I^D&^%|-)rgI3D*4Q0o-ZC1-i z-ZmqBS)(y{yZZTr1b@{my2w4;LTfVrJAzANbGSKn?eoF@3?rIZ5hD>Rz!-i}-McxLE5~>L_|E{#TI-4}93=h6< zg}&A2ih6elz21(vE%SR{BO>{6350NW&R_a{R;}m*D2i5d--N^+Uxc|p0dKEM?>tdB zLcEs++r6ch?UoXcFVPna_>g1VDc)CBs*IS>nFH8dRPmMCi*#*+m{fGZ<<{h;&ZInp zw2$q&pKpw!7xBA}#@2&M4zpuY@X8%h6w-OVm6Rc%w3r)@gK9TcALQ#R^Ej0FKQ(L% zskdvcYAnwMVR0skb%*pvLB1CoyV^%5U3x?S#4LBP&nVoC&WhF2T3TYid-V<9XGkPq za|#p(-4r$G(V1LV?f@(Wd)6wH6`i4GarA{^x1ivJ5GW*S3WVfPq;%SeO+sbP3{8-= zk<$s;N|1^#F}{c#EYQ8Rxgh=&oADbV`^n?KL`Ix&($5wCwRp*7I^du((XMZqdVB2a z^Fo8?6K^(6f!uy;=Ze81Q$ZcqP!cXd@cC{`1T?)QF)?pp^Zq+rqZi|F@ytpt{rUA0 z-xA+Z`pHQodG_nA&bwYikKN7tPi|ul_Gbbgwu)&Q7|?CRMex08kd-|JYI&#XJej}6 z+5F+u01DW#!zDxru|r>(kVvae8>*W7GOwuc7YhLnggV#C5?^x~jA|ftI7Y-38(F=* z)>L(W&v*%d%_f-It`3QjsGAx(@{ycO$eL^jyFq$Lg0OS1L4O5AfcmLP*^Zj`&K%ot z`O})%KoJn{#)_DiSv=OLN+Or;$-T}4*@?Gf)-AK1W=O}DPXzgp=S@%ue8RmF+Q;nS zBp882_LPN$5^5HB-kOb}gbR+S6>(GM=SYa5uDNCh7>uG5)GzXgW!cLEat_s}-N@nh+?#^(w;7R`dXg&zP7WYGCHs|=L zm^x2Enz-;opoysI4A6z_a{M6q^}PW7NG3$~9?#3`EbDi&!2Yt6e|RK@bfdpjK*K+F zOol77HEFX66*$pR^dfHS8&+4NbvynVG$zrB6CHTMi~642-Xj_O-KF*nuRx=hLD8%X zYk`>oXj7-d>zQyt?}brKRlV54WT`8%e$uhdk~F-lW?KGev|day12&=%+9v-JAtYx^ zCArSQbYq0)p!vkRPl#JBoHE5S4D9;%YPq>BOF-A~N5E_%Zft$qs2$&nor+%E8}V4k zOP$ce03>sZ8^%h$h`AFSSrfVm_gM09FR>Pa@n_nGkbHdbP!7>a*HN=Dl#2?qO=oBg zxhDJ27@kjD@8PN+T<_FCVnIqdeT7rEkNizr;t$cI=OZH71xtRRfNJyiZ|p-P)6Ga; z8&5L~Gm?97HSDSb#GT363K3%Hz5V@cqYbi}qh6{)xD?X*F_6|8^qbFV0j6(D?l9Jp zGfnR=(TDqAxg!fqXs6OnQSJ>VR7zdw=41y)IU8(u)o+-k%;g$g^H777aE(bJ%BZ@k zg_!ff6*&>A>$A+FXP1mF{BX25%4Pm~kpjk&Oqh%GutMiX92#@}Vo)s1#Fqq1t(@;U zT5FTTRSTi(d5!|q4^Ge>fkH5T3*_T#_8vQWwg1Hxa7E9vVHIrkmdFaXiXEK6*7htq@gCa$y}ExFDFj zuI%H|Em2^ft0+PhQvlIvO&l=18$f#zx1TM}CkuX5)tak34D zl|XkUP%&GgII13jRzRmO-@N#ZsR&|t{K5o!bMr~Rzabzbd#BmwNr_P9y9TZQ;~Q#$ zZ&>%N|2LHI}U9!gc@(SnVPb>%f_yP{KEQd=3 zsb;vh2ongN^;vSXoDUgjtdTi2utITro69woc z05D1xM^aMh6bZL|K_G#gxY^|L z`|J?Z184gfnz2agrFmNtCFcsT2Y74tX9O=rSYpU;CVa|MxxrF&+MM8vXi* z|C>wyw~qeDwD`xQ`M*8n|Mrl7Oo#t5S^odAhvX9zD6Sxw(_RL)-UP^Y;pWHi&@TiU zTOHLw-xa_Nhq!n9*@iA7za1DhblpAd`4 z5YU=-QXkO$`OOOxj+L2Ym^}81hkSp!@`Upz4g4wUgH^ULR>e5C1=VZS$9Z+RAk$}4 zwd3QYJ?Goq0V{dOhjTthA=;#Q3}FgTPD0%Nts zc5q9^W;110eVUCy_#5Npi`UYLmHDk0a{?$rRWp@1zG7&u0oBggxz$9syGT2>(Mz32 zL=})ba)MCm`P^snKS3+w@ENb|sVltzyCkrHlR0?P92U0d2*hgW=$rTBY@aR0i7kh# zv)q4}wu)W{2>I#R>jZ3rpyD~v?uC{jkj#Y~ugC&N8!z-L5ATyJqy7X>&|c8vO}pY* z1v?^b<_x#VkiEpktoe&CfCIAv5IbFKi@MFPoK@Qs{w2Mo$4sDINvP>@GU<}*r|&}a ze*!_tdm!LsRS#MEJJ-CfIR;qOs(DtX+xznxbp?gaD3`VIp;d3YrW4~#E7n!~gyP!z ztG{KRm?PQe*pI(upOx#by7Nt(Up()a4Z0IB9MBk&HR6N=Uy8yh!xsyPf;Ju--L{w8 z>+Sv)yOV0%>{jwcbk}{hM7)wsJFgynKG}SN@L(ZvrtgsYJKn2#6tIFpcfJDz6{^vR~? zc8W1<%5WGVZrQ6rnB(WzXj>{vA&)*GMyYPs7%ox@&_KT4lWdY)CZLXdj&Iy+f2%%m zOD%cb-fVD@&donzdgwI(Ja8{FY5grp4rwMvlG*N6D#v)*;H*8VMNMKx9J|E0f>Na_ z_V)~;f}4W<3xif!jYA%^zvRo&dS`amia_W7CEtYLf2OVWR%uZyn+~ zA(c8pE6<%|BkFi|6EDjyL$|l%DHmXCH!5xAbPD$xKk!$o$;TkMU*JuDXqn zOinr-7WEAt9S|MMFgzgg){hbA0Xof4H8y40`g^ZUwp;leFi_n0ieT|On^Dghyw9a| z0y28KRp~reRPh%HqEXM#BN6DUHXs7s{%{XjV!7v=UN&*OBnQ`esSPzFp@#fmK89HU<5i6C$Uj3ti@qbF^D%wlx}$a9EzBNcoV47#t3+hGQ_WG*8?l2$ zj<}hyI!U5BPW!H9wCdby(`1ycZD@zC1W&Qo1gic{-R^akK*kl8v?@EqT4TtE-i6m! z^sjKy`A9mzusG;`#rC85^*k1jc_+)EPtX4fv%Wx1Og2AIST*2%pJa0gIZm%_dll0dXX{9bLzu{BM}eim;B5&eNh7eXRdZzc*5x<0hd^}- zqqRA`@`2lFg|@fSMr7N5(JdJcFLOkvSQbxngQ^KaIw*GE8qaTu&VCIQ@50TpcZp&8 zl3aTqICx`Ab+JGO%H_$@?HMNKNxoh&ZG4eU?87@xP5?rNWJl7&U9<0>sg{_&?L3SRXpDR2JdRx{|BdNPzIc;pJ<*=s-su5ul_REmuYgS`Qw#+7FoGT`$}38A#4bP zX&&-b?V^_JNv8m=za>f;dTpiG|4#GILIGk1vB37BdYL!5b<)QgXr2t!xF%0_L}O+; zuCyn!0dcBp4tBCIF8WY(nQRxFbf-Dw>DQ%g*_gMlaA42C${o}~7g4L7p2h?_0>a(d zA0LV~q0blit)qHPTYpIx@JkqdMRJ>R*!90(CQJ#uOz*Ix$({F&8gp{ zCxG0JrT17Rg?T3<#<0f9aL0J+R`Yue$f7%IgP~+oZAY|7CVFXgCr~$CeXiHrFvi6W zPmoVVLX=OxJ~K(c31hmxD+-{Q zXE+TmGXgO4AA|SZqGZ>$e0>p9&{Yq^sJOlEHg@!jnq$ z`SB&h^1VD`PVKUL0FAWn5S}+rCp~t3yaw04Gg$alz#2J^bKC&YM)Rt1lS%Mu((-7H z!WI^MbgCZ})YskeY_CYe4u@Y%D2yA(oKnz;y4ly{s{ulN(TPzNX)IUBdT zFxS)Yt*%qpv;$?PKchmVpLDb|0BBoxytcwY`lE8P6^TRIWPc0gbKB%YO&Ik`j(Wv= zgaopw!uKv{Gddf(Ht(agSgZ&re-4vFaupLnB8#S{V!I_SEA2R?R`Xb;>)j=;(3Csq zzQ2aItD`1rPi~hMHo)pK$;hExx}IoU*j2;29(dnr6J@f1?d>=_!gl-)P_|Wyykn^u z%9wo_L?WcaD5v7f&#t#BSlJm){XFeDZ>#Ac7p6Y^Y$%hAkwvnFz-WGkT%Xxm3+R|4 zO)0)FyHm3pMi60aaVN^ga%bE&sMO=t73ONqIYvr_GkR5#6C`uas(;p%(ikp|o%l-8 zD2oxlQ#l~vxqk*&7zo2nm15te8~F(I$+}?y_i%AA=icGjGs=mu877d0363N8{m5JE zkC9Gx*B^87G}0KUgl1l3*Xd8#>#)cysY1=Ra5Z^)7b+W4Zy*;2&8E8mDWjEV3E2#q zN1&q?L~7g@%vC=>z6PHP6{cL=Ld@@@*ZR2f{c5(O_-I#@*~-RCF#DKJd%Lf`n^kJ% zr7$HghCLX~F!AAF0d?5fKMU*RPv(>t)seTNXpJXiTCyW=J*b)s$Pv{kOQ8N{GxVu2 z^t-#Op2k;iw5v>%bx*_b#guG=$Io1RJttS5&JC7^i;3GE$_xX!I7M23(h{;G1|bnQ z>#FS0nC=k3+|EJR%0?8P(<;zmPZTb@QX|9RQLPn_Tg7jKiXC>YtOX>kCC;}U@&^aW z94Hsro@d|nu562$7H`6keu0YE+f=kg=&Y|owQEt{5=;EcRJuZR9>cG69 zf;Rt4oED_fprFkH6cV!wAK$4KsQH-(7G`B4@!6U+Z`uvZhmu^856Vf8{a6clg)@*K zA#fFX@-6Z}VW5FZyL3<(kxUQ=A1N{`hmr=lz9}cy7@2(rVGd5U&empq;%wE+wg+X_ z!yWC9Aw6uA;!&V4SPT|k+P-OCFnXtj*4M9`^L_K&^cU>ETuEY z678SSD&dz7&}V1(MPuqjUhCp#zTtWfGDA6j1ND+VKAc@gF#?bYBoMO&G4Q-B?=h2E z22@K*bN!`{g|R)~Z9uil2d{mkx0F28TaqRD6m*%&N6Ft*G zN4O87$LoSFb=Ld*TMWK~Ph9`8Kiu7PB5_b8xR~ro(d2=-R{1 zgtd2t?elb!TD;zC?6Ft(Fn(laQz!AtpOA)Kobbq=WOGJ-m&{VIcnZ;3<SIBRvWxj?OeABd6CsKa8yj)ZN)~(G= z#EF(>IEMFFl}8>yZmGGtc&`jZwnaug7a;3CFmeX|2XDxzt!*(y8W3t+&nq9?rRFzD zFV@oqNnu?gdcH)f`sV4?xPpy^Ti7~W5VQiBxC+M{Oyc}bBgwq#z1$b~X1}F>VxO)f z13_abaNvJi7U&;+o2Myha2bUvv$aGZDAWm5-nJ;t(2vRzmM$F!Nue5c&UA+9M&8El zXdah6a}lQqR}8Ij*F)rk8z_w9OsD)f@%G3`iM!$_dJU*9sqR~gWVEjJurm*$~(b}LSC6PO{Gor4312s25J zvdYkEy{6ziV2W^6!lk{s9nat<34-n$LJpIUR!kRaKB)m&N&7&dn}E%**$HV;*L*ZN zL@O+xD43!N%AAKP+032q+l|3t!uO&0A!lsG4E=DeBiy8A?Q>1L^AEuMSIEDrt$(HE zo1BUnYZ9vAFEid8W`)L$R5Y!Q^f57-Cxf|0dnuAf63o|YGm(IqI=rr5CBbG_Bi5Vr zuR=^Tk|4yaZ6c7W07uA>+pKjGS9`BQO7O(7AM5YZaii-Kq#f-8i;rM!pjCEzuyXFw z2IlR$p%=@2zv^oY!3^duHMRDu+<4!R+D117Ly$Wro0Fg}`SA4(?b4jF8UH?SnxC(* z^Fr(b!Ldr4$Nclc{I@DBjIpZ>J63jE)$AU6-viIs+?ua+RxPsxtd$q&4*Re1QGG{V z0FbZYKU_2Itqu~_#7}JT7F{|F*nswu`gdiQFj#kw2hj^%HtaiWY!D4S|JTGLh zVf972;2q{rO{+JtW^tB1g{IL3dQ5RGaowr)&0q%$#|BEi(J&Bb^!KW#65uW?GF@k- zUft4l*dGzHG;w-}oSCX6I*#NE&o@X!+8S#qC5o$oPDfOz4;}eQrETUp7I$ZW0=;8d zBhU23{z%~jPnKpyDr#CGx*&o;Q770kY3AxoTy7tDu2?L#NIw~X-9@|5w*{PN<5PI- ze5NAX`bOG{reDcG;gf@spTZ4qLMjlj^YqoEIYV zP!r3M_3@z#RHK!(Aas^_GsDwc12ONR&@ZFL_ZMpCr5+5<)(L64gY#b7#7oxcpZd!i zJrn^tphdU_AIuh0D58SYfhP(Zv1TDLp3Bu8c^$A^uj9owif1pd{Td2Pi@nv?@cG}L ze?|PnK5r4rzkGhBB++XufvZB`aKk*2=JnA)P%&tNodSeu!yIP0kxX9SKZV-0K?=xu z3sj5EOGTcMJ!6(}Pt_zFuC`38xz!OO=CbxE)oH>S+u!!eB~h<)R(uEKwZjnSYK4xn zz#KQTh&jPBkcJ4Pf^Tyyi?j6P4V8NMo-{pLVR) zCo5-5FAp*w{;XpB4iGA@RjosGJ09QGxlyj!$N%tja87(FN%dPl#)N;j=j=~n30C}gWD=s6@(vN3)T##3b8aeIgBwT4pw3g{5x z81#W;{oXIu5DS5RmN1Mi-cyL?G2?BT`esQU75S-GDl(B%-9hJ=dIMYWv_6o3QnBO^JeCV2Xr&1`ITIE zIU2XPI{QN1FW0XjtOBpiRZ?^q(1HLl-~T0dUTnqALxY?VkV+R}zdVJv3qukYx(HTU zn+th%D|Wn1~SwcBProX7Z9N*p$kR1B9k+-j@5c3NP@D60_Y zUL(iW)(a)|tS9yK${r3I>ODRhH{QEsqRXE`wX4iZ-OIl%p60tYV^}SFjVGS_8vd;v zilCwFy*>N0ldX5u6I!-hv)}>`cFSGOnkcr{FPJzL?b(lSx}7v!R*44wW$Al7Hu|nl zmCV~?0I#1^V9X`$IU(q{oXQuUlB{I$ z)w0fbv_Tf^GlYo_IY?L$Z}g(ketGz5|I;}T1XA1=x&wScf{mJ(+Xqa!=LR)qTBUc3 zTsA3|;uL9GOaUWo4Jb3r9;^6P2uE2>-PE953j3{I+!uH=WdldE0xNXxDh|aGU$@~N zfcbPRIOq?+5B_pD{StWF1TmH07pI}gXlUE_Rj1bFD=WL&^mz#XSaMu!9EXAo+$Vhb z5$NGu=vjc^g8E;+$!Ol0P!=3ZRS%RAJMs=Q?Pkk704_9hZSx@iaKo;8KQ6!xQtp1E z<9#yRC=}TLabNTcTBi!VeD>}7v%tvEpQDiIskjdd!Ui4#Rs$VeSrhB_`Uk&Lsu=1C zB+E}=)NgFk>#{sFx@+I;%m92L{d4t-Ic2KGZM>Exn@AB~6hMND_{zHDl-a3Iyz_-U z3uV{^bETJ!R_aVTxbubfMg%3&9%+Ylz0-@d?=lxu2LY=B2(MmHjy}XHGbtQGs9&@I zMqMkf^2^wYu&v8}BqoH>0M2TOm~F9*4I33C0Nn&`c!Ycv1zM3R029S$i)IbqCFwK^uEoV}wmcFb@Na*T4fe z|8y{4JEyEY7XGD)gHp4j6hGS_{ho@tW#Q%MQdxodRm*yx@_Z3h3}`U7uiHD~n2E|D z?VWN+MDj^Dc{_6m+vc0$JQwCgmGc+Z1~L@#2TaFO5CPBY@D&_=)ON$wKv*3GhOFrm zE#{?MvQh+4R0bC4yc~R}7|R++BQb{%Pw3wFFk7<3p4Fd}@}VBQ=e+Er7ajq)~hGMCdhR znJR^8PzLhMxuDqwx>c|#_h)m`jFHQj|srBm?=R@P|EU$s;)-uh|e_ z^|iA>a2WIy?>_bGkQ~JtFqe+Yfy7v_6t;6wa2yIK=tUO~Q)4dzJuc_s=3!0-=Cn0Y z$D&T5S8Ql0EelBLFVgvQ<)@;tI{MrIIYvL%aGtEBYzmg!w9=ULOgl4Xblh>XA)ep8 zmE&hd+hq>zs89OB3*ut_=G_kvcl4^&v(@vawFhi!ac9J)CRQg#q5|m-3S&PkmEHBB zUfL2d-|{06okz-o7OI8IU@~UFQv(5OXug~*1PKyjXny6Q62k;BD^{2Ta8e99$sU3$N#Ebw=d(G6sDME=fI&dhU>@C8S{dMtgU)pq zhNHM4AB}279mX5nA(}_5_AWfnDjJSy4WdilE`En`ZUdB7Ag~j!D|5Vu*F98hLPy=# zr^3;mIMn)!N54b*$<7KpO7dSb{-V-SGT2#gZ2m%r^ZO()Ww&Ltvi3bXFd2=`%u@OF zeN+qu;%o=tOY2zye+SUl<_+rN>O6NQlWMax;w0uJ#pH z@ZHuq^7_B*cw5G65DSCmHkk?`eV9Tu!{znVfIXuC+VPW2W60r?)gHGLldNuoMu??a zmMiP8dd%F~ItL{4PdMqf2d4=oQYk785Hw4CtDYS2CP=5nHZkM_XSxXhBfxGK_7wH-829A^* zDLt}jEBhvd(K0Yt?a067f7y}Y45F_A<+U$bF;ZEm2+%OSz15i%7ZE%#t!=(P*ISvW z6q+h+y0DdK+ooq;;yD0L#x|lf5q*SeijmZCA*5g-)hF{v7K!p+-hKVcHqLagJxh(P zgNrE7eJ?BaP2BUC5W@NUOBs3P`SI)v4rd`KV3ek9g~(+EIDuKw9sOE)!1%Py3tG=~ zfz^Q4tCk?WMzl8z3XuP3wLf{n&A{8i4Vwp99?kQApt#c?_Y2(>(1LBapIro&Veiej zf#}gd%ze6=Pyrjfj?XL$)aL$p1=^X{yH`Qay_*Nm(}pMS*vSc`wVCG3mX8>EIe+Jx zkky@u3;{6*Y_nE$1-6Jj9&xehvd_5xo#lEo`r3<-b0epue5)EST{uZ|QfXz3{&sm) z6^W}WTlspWhoL}UadF$ukl~Ez$DB%JZT4Jrv1|5CDLs{B87tiP=-x~$sgkWYRhSF| z(}}5E_dRb|Wn(_e1EoXgz2mv{GoXIZT7BGqx5lI?85Z{R{=r7^!Gc{~bW$B|O^rU` z<$L5#VLZR>T?&n~hye@JgWe&ov?)|U9j|MqV!RSLy^z_o#$$uX<1ATU)R5{e9h*|Y ziGm#Lsvpm`vJ>lT9dD7qmtpf%Bv+f;x6uk#+%!Y_2ff7lwe7up#7Mq)7x)-pWMn{C?89XwKv~|hga1cB%$|EzQ{I-q^<4YaT%(wi*{sNQb-(Kmxrza zbIAUO!inOpDh#I75qP_yl%)1#eDGAr7n1V>NDF`*4t(SYytY&tsv#xkiCYW}_P#vlAH$Mwj%F|%M&j5Hr4W^&`+v@tUL!W1misBrYtp9 z1=JwNW|qZ3L`iH}^i=sGAwzKxNz-f?pA^nZM72-gEuh!u!2){dgrP2IO0;_$`Lh z#SGe12(mV1Ew_Vg_Rjm-AxYFd^|V24~`|05l=PKq$G2NfmI=f_ax-CWzjxC}+HX^XK2djxqB&9Daaa*7! zaM6ahN?u}rM5Q(AR;C^4M%OWpnEV~|yvD7~GA(EG10Lm8txr_lPseM!=w1??{*J1} zmC=0|B7IG$+L`rGNH~XZ>Q}|OAMp1#8}KzCWUZDKC)m1vibz+-)sDIqWE;;9*fGKa zsm-t2ZmUa>+zb(bXIO7mlBuRQ<9ioy^u2go(oQgaKc4fp`Q6VWl2j&OZHZVI!M5}I z3a0y}I>R59S)(kceT&CWW9>&V^_D_)P32!jMyL;#CY7)fT0g~imb4>|0$qDR(>d`l z(D+XTMscy+dnvBOy5|wY-bKw|t!yXDZJGEeghu#j!JJU}o3fX~(qEpvSx(cRE(3}D z`6(s?Jen+f)zePVL($n*BCVaCVerJ zp$<;c=;sPVnYoOS06`6>~06XFY2Q$}30~QPIWX;tOie4PXQy65Wr} zywGAo_&vPkKx>iN=FRX`3Y(>ol+Fz!`rQLE^SZC@Fce&NWgRRo3haT4100uJTo+uA zgR$fPz6}9DAeG zH4#s1LpSss>G8QtF3()ZfOa)UMk#AfZlM2jIIB{~H5hqsCbLHU$hQAw1rR9NP@LH) z+mof7ki5kE?y69cUX90hy@#5CRJMRhpDq{M&ONpErT%_;2EUa6uWJ6Hwsf95Bz@2Z zC3isN8<3mawS+2@k5x^6(yAc|UH=&9@t0+L`6*T0x<}L=wslD9ejJ}J|8VIH#+B~E zDT~0!h502dEbG zD6Df|oW|zck*4*P9teJ$$%Kv_)w;*d6OYn&FRiQx1F>_+Irx+^op)$wo%5+JcVNoP zHq{z&ae#iSrK#y5#ccN6(?Io))Dbrd<@W1 zYr;qGSV}yY&EI3Jm!03U2e}yR;oF1VJ__z`@ z$;p-p&QdYCrbuukb(-t-o8`4CQO6q8wWSd4JqToUig*uwqUXKPtMUFazPo3cF?tDA zrKQ_eT6$H~{)GztsdeU#mXrBflcQU?q0sBLv;v|}DxgVLy15HGV{7ZDs} zEfoXJ--R4!{3b6xby)-in@zr~z%x!iGs1U~EzU9*Jn^_uiz|H24q%P6tKdxABBNo` z9Cuyt+tz>#*xo&ORzP*)V~5GmN~p|WmwDj)0HNQ6*|w|1E;G6kcXxe@7PK0OOvPT| ze;Aa#XVt%#eBV!QXM=h%rwTf%jm30{=iSWF%WW5?#|aUg`pTcE_P54R4 zRNGEvsCJP_Xgl(t_oL#Kd4ziXgfj%uTnqKwlyvxT?{&uG@$0D{1xpoyH%VAHn{te_ z4YD-a8!7w5oR!Z?`}m}th1pzh2IZxdAiz2OY%7cpE}s05OJfBphSH#GtNlz zlIh$i#&d#R!$RE_oS_Aj;eOvM z$3ym)&q*SE52B+*OkgUL=zQsswdD&_4xDAW=HugeW+;DVCtsyJ)ub+N?kQ+;dVyV)8TV>D|L*|j+zK%O-3+>$MX&$k&L3FrKGHQWPb(Y!43aW` z)++^i(X%~iw9;PJeSG3if9eUuUg2caDxoG)*ZFMmF5_#Hor2O*5l4;e zoOl!^$8gj$bTL)|-@lujk%3%k!;23#iU?m}XR~0M12b6Sm+(m>B zLVD5~bkEj(SXuPR`QrLi*PUCMd8QX@!%=+Tc@X&qk-&4&Kdw?pCV&c8 z=H~p5UUDx8=@=Eu{GW;afq7+PALih&uEX)RN}h8G0Ef>5)gBIf%(daOOMKAt@iWV{ zvG>I5)B8+;H2uXR$RsG9X2kYS|czp_K(>2+=@7u8l#A5QLe+O@v8Vs_`z~Ziy~wy zo#q`LYwNx~ANf_JS+6KTeSX*PEA-;^vD3uKh&&GeE1Y-j0ByD3Ve+ROPZ#Jh=N9$l z{Zt!p+iqL~ycIcM6KC4EC`2F>ba}`MxW|Q5!+@>s^-_p8D{dJb4))A8fWK2Q+Qw5G*jOKob}M-8TdaCiK-_b3e#-bqRa0 zx;a;z1Jk_!hMa-@`9!00r?0)n(Vr#Y(IrVsWTeu|F=Z;A#M80qD{# z-rLs1R>^DK{{(E0Q~mhqAHb4|pE#UNF~V*2hunZw@|%w1f;sHxkXVcg(?i+D0P4-G z;tv1Me=~K#6t`soofGon{NoR^Od>5xH@BH6{?iCo=H*CV{AA!|k~2!Js@c`*i~S;k zehz1epI%=9o0VLg;EQUnZSL+F3Fql*X1O@t?%%RN#xX4)T!A5_{GUh~d^;Dy1Q|W% z=6!^-h5FQr=ku4Yow9+Bd{N3!uXTE5Oe(4(m1|{anH!E*^fBO z;I+}|p-xER|M8iQ{uc`@t`?v+os>tXnc&IASTPO$AgYzlThjj23dy!Ys*^Xcxe7=2 z_D5G9-tGUrAPc`NYpa>`HNS|;c@S__`x%S;bzFgdS%mp5UF}xa#i#5{e?y*szX;(c zD)263r^Js=f)|g^4T(XDF1OQ}2&sL$5t<>7lX95oR~hEFePwD`I(naF56_^}+WcpK z`may)28`AHmw&9J7+(=rnJI+5uXWyeV*9TAb zal|uQ|LZ?DW{mLjRA?*8g|YZW;49*7xKRIi)qj3cAA+lwx9p8SPd>`=*%x#WcP1Zux)crw9a62D)Ic(|uw?`ZFeH^rmf4{|lJe^M+n0*0SdrjuD<;|)3OaMb41E%3`=3#=vRRNC#XoR<~JR`nzOB#s=MCjWim z@8@T90-yLz5R>`QxKdnsyfC^P^D}yio#~-J>wx-Q0mG*XLjU$H7)uD(M={SFT_1dD zNcegBVhk^G&Ff|ievaWji^k}^CzlfiLBSj$BMCi`pn3ZSv(6`e`=(#A; znO7X#5bv4l6Ti=5YWuR{GS$Dl_qmT?*uO?ZhaYZ$J|d@P>qnk{H9?fDMxh3ME1-UI zt$N!WQ~xq3=VS27)E3o1Ej3;LBc)=u$hHcSm`c z$2e?i-^;gxsl*6uM*lu(2+rhhGWikr4i|p(g>K&pm}UJ)>{k5<)taRQM@&3Zumbvy zz`yL-qio<%$0HNijx+^|gqPpvd$QG;V7>a5M(m9`Rzfw*yvv52?O$$jQt&?b6g>SE zM*)?fh9t#w5Dl}Zxnki6X}#VV(tnxs_C#PC;p{#+a%6!2D%t1sv@Mm;1M z>6TcK#-KZvSX#PsL0A^vv)1+A-}U{+&*EqI8)xFonR%X>D?knqv8vhwOs9P-`fYtc zT0wLyo4LZDB~eEL%(vn$t2OZtqXc@%@}|=Ak=T&fu2m~+`|+x$QYf3;x&P-9YPd_t z%30I=yaXfe5)LMM0ynK*%p7z-%?c?89_Yp&G`VgD_j{c%>w7ZLym75YgtMJwlTahzjo~p;^zSLp#dKX zU+o`MORtI3nU7av#ExD+J7c7&FmZ{sl)6nmR3J7j?(9$3{4WPKkqvAZf-ro~`BMOq zI6p9=eU2jzDvz2`sshz0XGh@JOD zK;$l$A>z+wr~@W1=I4~1-~EYw^1A4>wU5Z9&h;)odbD_{4PpKI4<^iy3%`tr8diR0 z`}Ocd-U!V*3Y0kI8)hiR-L9dt<2EY%^SwuKZltp0^6pPJa*jatrX$ib!PaR(xYeDc zEl#pCuIq>n$A2!VqkOs_;<)3*0>lDJQEA z@iG4CQ~u@mhygEa$t$o0nEUjTd7A8lS6 zXR%AOQ$OZ%uXEs@xH}_<5>no@IdSVt{ea|b5aSzjr9WwH0xi(mOIjhu-*@l2Gx)l- zE)1*~;4hxG_AY+V;pO6op7?)^^%5{Pm%FT+XTKYp(|h2#^5=Ucg7UPUI`>@NxHR9( z#`GX;?9XyrzYOG-&=V^BBVwUu0Y-Q9RX!+B*Ub4Y*z(T(VauCH2IeAC^2C|#`@#xK zOe}7E;wpygJEsKp@G1x3qnbv%^ckMS*h^kW{NW7#WpbXLQefLhHyO<&fA<3GY+fqb z{jFa(#OCinyvq}irNTu2ZLat@zTjh;ou4Z2e<}`DrO;2j!ivNMhCk2ht!RSS{GJ;5 zefJk1#6=t0dL2POqK)Jm>zjLaew4gsHxfcrevuOY_0;+7KwOAn-^y=J<`jch|A@!scG?A;|tAwPZD|DKYpVPKu}$L@~M;NC|(^Ay|SPFS2)t*n?vs6~0|*vsZ* zTU~{3;Jk^NV*nH$B1yCqOT3O87;lQwgX@1w58+p7dOD`^mx*@%d~l$+W;nN%C-I&J z$e~W2K*2(XZqCtaU`Sr-O|?b-^-BC2vz{8^&ErqL?fz?4Qnld zi*UoPPNhjR$Y*faXEAL=;@sFXIT)cOu-7VG&&NIkj(C3oqV`{SV0G4(#c5%zc5O#MjNV?O&`(pYrYRRoyk8@MdhaG6!?fI=)s z{O4CBt!=&rQ=k}7WW38URBq?Hj4D?F#Ub{v427~dWr)Xg(}g1Vu=?Iwt!pTgqHdN( zt(Tk5mrHUY8qH41@2=-!rU8+9X0SV@NPFpcrNc_N$L>l5nC2&4zDdH?UhX=;LB{P8 z4tg3%9_gy)E30XhnX-bEKuMoUv{W#4^H&>v19Y~U?FvebSuHyNmklX0>|D*Td`Ku< zSa4!y4}!3Kw5uf5NtLknKyleIVLM0_OUH&u5~`+)@L}4~K8}Yy-o2G`XBNzZR0#9Vl|XxYz!&`jsuxaXaobm)3| z-8kqbX@Ts2BVzmY9ck4tQ-(r3k3x<|e-@@ZfJ&^Jje>ihbK&b&FfOHB`~Z62@1g`L zhb{{Z=~0vNDj}I8vHEkvM7NDEKHnzyQ47=JrdK{Yxf2U-H>qsbc9c%2az-!fuL!MA z5sx=d`&|kcot^ttuSFEvd~z}EFDcZib!b=4-*0VbAI2r$A~!v`#=10)ySQtNU5SMA zB+Z=*c1-8r7IO5E$`-w-4)2N|3u*a4v7h6jaPg-P0=ooodgU-@zHdTMse>G^7|sX^ zflf)zcV4)rOuuJ@w%m#y6sKjwSBSgK;kY_-+Fxa9Zrg8`4gkB(6mR(={fKD<=~spk z{gRpc?k6wNOVjGPV*^V}hP1xa`)BBtmXpTC@b)^wSEW(Au$e`e@_Xr!^W!}LHIxR+ zA+?pGIGr0>F;;+TYHE;=S)`*y9$M8N%5vz{OwVZn7&&pNBi03GICb0p$N>Wn!7rAynIVY86Es?`PnK^Wzw-OJ)~XeFE^OFGVs#)x1>oyy2i@+Gq;@l8YYbw#F;nBn$4T;ZA%4X;Z#`tDunOtGlWt0hJl8%>>%ob{)4Yo$(rVM=wT*k~<~xAyzZgSTrS#vzgO7^(t7*cx*8s zi@F%zyblBD0nWWMmtO-~ViTyaw8_CAmb@XI&^4ch7=D60Bbh`pAv1?7QN+T1Jmb|K zWhWjXRZ##HkfAuNnXF?fVjX%@>3SAOhk|+8%3!YC6TV`?{V|Vi)y|xdk#YD|L=6NK zC7S_bg=-A(Wjf0xzV2X(2+n)+T)rw()qWrs!oDWs2t_DQ8&Zz**=x`f^!kBC^wF z_oJqBw!AC37)(nh?v{UQi-z>Yw02rK7yH+j%;86%9fS(0=}na5<@lB6M3W_vgpp|q z>zC(mc^j~+-Fa)0a+)fwGK#aM9$vW(2|@6(6-VS>ecUxYl;Ugq^pjb+%U4f6_$JIb zo!~{EjZG+H)a_8fdF2DJq5i>yjdv2ju7RwIN^;rYgn7NOj+1F>Zf7cm{PrKl#Q znpgKo4+y9zzcVoA6#Py3*RG@?GK${C?Y+$R_+U8Q*)vA1YQ*!%j85XmvJ)-V3POr z=LPC#WqMaPkI9)ZtC;&|*I8Nj*5P4O<>nM-C(CW;A|>P^|U&unTWA?-DMwbY%1-9@( zD~#wOI8@YU*&i7gKxTWXo{@CShnc0#{WEWiaQ{d~f1c z<6aU&UL})q!U&F@@}+B3Y{AV1wOonWcd76&qbm(GZQh!0%g-x!MdglH8M2Zc%su3$ z2`5rq$+>gO+5uv`t%Ppta5Hu>tF>!%OkF%PIeKz*fhx;Q7*U&T{3CJ(F4gxf@vbjpks%46%F86i@Nhzi^|%*olA3U>&n(3X>p|7@@JX0s+9)6Kyw3$HHFR1 zthIUiVR-3qTFnxDc}`!KzxvMFHQ%T<#OR83<>(jri|j^hc8MM<>+`ErWZD^VRqm6O zJ4U5NYN>9GtFtzE(1Wde6y@)XeRb2egKK5-Um@9%G-DOaTY@D~+8KFE=HwBo9+@Kc z-k$^3_)i)3P4>b-fL;SVgBa5R1;6&kmThlt;U*)xOe{j#$Jr5*dNm^g?02#z>5f7r z17im@h*aI@UyIE|ofC_OO*I6vYCA56_GR_rP-3`9<^fp`inRIt>9FnY(8!OE4f-+@ z`j|ss#pw1(vs}$M)@r6|o%^V8`|%2f<}$B?94K_pjFcA})r?-zlLeia+pBUc-fO@6 zs0rU(Tj<@U;k&w$E;*7==_KL4HUyCjCeKn_67iV4xYc-qsss`4OHB1tHENTDrDd(! zMb0l+v`@-K5#ySUi)+R`FgsA0Se9~44d_{Ft_OgzZ_0e;K|>hE>~X?4$>QytV8N~U zg=TEW=vc_2&_uv@|1{MM{1eR|{nH`AMX1#WzNFZVDP>T~BG60^jDur)_?t|$2L=_w zuZ8h+c^51OHwN{TGV2>)oW^;LKtB{!(geKG(PGBdbfsq!V^xJCvd>>$Kr7{z`jq00 zsvUP}O0G}7(xo<_i7HN^)GOAhHK2!nw#XS`9VcU}g&zhyu>3+{5R^|49@D9l9HzwhSh^uOQY_vGHD*AbbbYT&Wq%$gr7iodB8z&KLZaDhgnMtAjA_4u^_hzM@VylIs$8t*!=Dl(0s89RLRq(*)0-Qk=O z1W^dXa46CBJc|)7FF1kxNQRC_O2uP4wx`|a6xO7XbMeTNqcc=l0m9|A*>ivN2DF)Y zqmNJ~{ZfvWEwLH}5(NC*9?I%{s!e4I@!{Oyw710+++JBAwr}OksiMwpWkIQ3rW^@7 z8fseXCAnfcBH82dP^aY7I~{?q1(dpcTH+2h(VRq^D8EHW%!Afx@5U8wPeY5-f7UEPc%J4 zf=t&5vWO(;I~PTaWi76;Fzd&@Yv)(aRM6*MGto!Zjn8zw71+=BM#su*km|)C$4uxh zGV$ee>~cW5T5;8tM7L2TF8Cv58k=g54;Dk*cA=VL=FzgslTit{gOrYDlCqC&5eP!J zNRg+8z+_dq<-x-CqIZK2RhX`@YTdUSuP{u|&6CNN96k}gER~T3vjANz$h)q2jSUn_ zIWF{K9E;r(s%m;?){b`d7JBk357wuKci(06SgnfnWZn@ecE7(en$|xYc!e`TleC{= zsXsqtY2f%_vR{QSyEb3z=Z&eh;k|cXrL>YZS6q8Wo|IjX$2^fkce;5jKP_WzE9zJb zvnrvXPg9JQRZSX`HVYh1lOtWi!-Bo5S&Am=rb9E@e1KlxWl4JTqmO@6N4(Jeyu#e{ z*-~sse;LZ9!i)$)mql|elZI}v|JF|RQZE%|u`;1Ken%)J7+|)+pYcpJbV$c~vhP84 z6BQ<>!s=I0?diEQw|X)-QPcNq@^^Nc_)Yv{g!JSY#Z<}W;aOQTbcFXM5af$cUB!LLFK>9piY_7sV$-uxjb}G z02bEjdc-KD!O>HeA{oq)H&JZqBxke5N+_5C zcB07Y=vwQ%lz!rhF|I)qh;fa&JE=UtvC@Nk>)Ozb4W(N{#h8^!rqCVHhbnyTAmRkG z3{jmXOMn@7w;`BHUspMBR;SWEESfl&NHJD$BpSX6P^-$z&pw`uZFeup%jU6b7{?)R z#n37M^Qm3B#*<;l$1>d+s|_eamIe|8{!9u9X0y+VCWGL-H#+B9V8GTPlkp2d*p6P{ zz$+(nMdyLh&rAnl)kgV$IdEJz2KcwMKW#Yv7>TrMR3Y*F{%1cr*bDhc{H$C$XI)`e z77w_VGBJJjRFOs|5n`3tjUeX#LcD zLXRXF=i+vrGsVIy(kMj_kIICk@+m5cWU4Nack?uw-0LehhRonEWcEMSQ;zwFLbj#H zFMNnDxzHEkv812H4=RY|@SPIfNLr|isqiFCt9wMb%W_h`g4MGPP!A0cpmG0_K}~S# zeW>`P_ue$G2k9x4Z5tr%`}T|p5=?=)Mi1LJ<3p9U6*6pL#WLCRgf;333^It z5*Lw^XcP?7O1!GFGI)l~>gSh_67=CSuR`-DnWb*-KwK&F7h=K8CeR2u+_}B$EJrL8 zyzxZ_aLq_2lC2~!>`a+L?f!*=M_EN}Z+II!gS}BDX4gQ=lfu5>+;;jxHzc_jyr&!0 z`2pgJqQYbo;>*YIe0WNNitdM^WM|tn?_x^aJLUpJ7YWxMI4(P8ZwRkYWhFF|!5=~f zAV6NaqaZ?aW%@glb-pW&_*)9>d8qiqFX&js(hGE$ z$5FH;^|1AUg-rPB$_+ic#v^`GQ#yA=Q#ubdWfdX*t0GfJu4C>xBJPijN=zS<_FcUx zt31c~bQa1Vl&{Iy>U#K;6!8Y3Ls1>`xs7uPDTB*J&K?(x(ro@9X>!sYX)=6^w{=nF zdQNK^GCd=Itko(>Q$9nu#+{@b)K}d#5WeyyCCHRYM}uwSv^F7*zIQ%ugSpkwWusSh zDw6mRJFL|=9MKiZi>yoAxuvin$-1FqEU$A8Z&<{V^I2Y}ldOrq*zcfc0?oNl;6pfF z9H6S&yH73VJR83>;n435eTGPi4e9G^0R5FN@P_iGns$KJ5+xhMG@V!HD7Y=X`>+Qq zB`uQWgdE20aUXz1g9hrwxrOFKWRhfxgzC3*6v^dP%AYzbnTMko5tjMn0;?wED{Rp{ zt)T4;G)E4!&_VE~32C*cHgube0e>&k5}tL?2iNct+CiR1*^leNyH_E>pCjKSV`XYFjKI;Of%8*kr%K_W)LX1j`n0O#rWxAO!i zll^a5Oz|71@p+SCg^hKyxciQjnAZsBJ1{e>0%g!J_uX5U7{k@=+@!|$cW+Npb;a+g zaYKp5;rlE11F7$!I7h#X=Mg-jM&UtVg}nFno4lNB@Sq3|t721sdWD|pNX%`7b3EJP zLA>scZsfAEM;}kCI|l6(HrK+`Y^VL~aRXjuMj$^Q0_M#sU9V8xCQNbaeT+C5%9*Co zNgX-7C}#aGQ_1p4H29s_;=|#~Z^SnNA(CFP!@_oLOl0dJqI79G%gST@>FTKlNzmTR zaGz&syG&y2NL;-DvbJuKoiErRZAQNaXae^GyUuo|O1{*sny;*J6d%B9XrFXye(Pft zG2*-_9g&S}tMZ@_6&2k?^N;V5#V_h%Uxy3jC}z95AABuLl})&xAm(A|{2cGuVK|`L zK59{&{k);COq+=I)shKg2s`c@^oo4JG7*Jq)Md1I_4>Y3?m|!hUm>dTn>ZS!Bbqm3B*-2YjH7 zZMe{P`iAyU(b4)ViK5Nmq=L?c@t2QVo0~!5li(_cj*}xT+k5_nsY~+ief=qcnb?NK)VoY~z2`U}Wu zT63Aj%z!o-O@T`_Yg|*5c%vFQr0vsd3sxR~DQC&5Mc=Y3waILSbMymzf;rTZo+Nbz zbP@}J`6(KsWzg%a8f;PI$UMB&vt(Q?t8fg}i3O=20Ooq=#Kg58&{jn*I;1(8-9Jvu zqoYX{42DZR^1Ndt`i^21rC~K%#S9X-XO{I(`^z1C-FODGcuZ_7Ndxn7Ot0Lj ztSimQo;$ZD4NL5pf3{e$x*4RpyZG-!h}S7%YBATTX5yyr$)@MQ;y@r$s>~dn)S`Vf z9ELS_mE~e<1d=X~;f-F1Kww;_T|JuZX1gWn6wl7@9E@He#aYMDI3iRIe%GT%DE>wHg-C|ky<-|_o$;}WD!QrR`D0iv1tOCaS0EBOC%dXqQK zgXQezZEZ>!uK7SLrE+Xo%mrr%eEX`ay21tHFJe00?~Pjx^df4@JU5?^bcqz&1hOq` zK675Mt=$e^He^}Yi@;X2PNr>buUwbclIw18&p--SIQX!wb$<}9sp1Q?<%0?uhGNb* zxr+0 zz*w6;Y4f958QT-IMQKE362^`c8~QkyH~}T>rPB4K6g&NfvJ)|Vcsu6vq}k&SL@hSb zMn}V7Qg~Lx^Q6q-dVNhAbXl~$@ki7z7A|-HU{0DpjQWwn8hMe}86VPbN_OMNjw741r{}m-XdSYo4ojq4o==(D1B~MN{*6 z#_s+eSh#MD6Gw54nb8T)OU5nNi6m>WbVW98$SGe#$=DN;>e;&#%%*2*tY!lPV>1-z z=UflJhA5@VYg!P^TY_qi!-Ip?5xp-ti41z^3Y5=@rBE#+T)w1f)&z1zx>HL)KgJyj)m6U)?#fUE%vUEgXbEYGBiZYa%OKF4Q zms*U`^IMLbDyC3YIepSt7J0MsTID5vi-(G{o!CZYm*vlFn@{pl24wFP_# zi?gOj^}|W&a1p7!YS*2n#(IA(2NL$3oRca_MAd7v=S(Uzgww)c3@bIvRV7{kS?tsqLJc?3? zPn+V5--b~mxeIh^9_*}$ZFj6Clx?eBY9ZkNSo!S~s=XgCR7Ho>xL$=xsz|Q{A3;*f zL#v2c5TkVqI-?SxuXhIQFQ5``qOEmoaSn| zE8Ey1R@E?DF&Lt6RA|>~=;rncPtYL&4f18LPke1y>&cy%My8fGn&d&zra->h#){41 zMu>pi%U`Sf-1-*HxeNGK$KNw@5A$f!tadP{0wK-xW!@sLi* z?Jb2b{-WL7_C}Fm+rwf|UTUT9aFuDV!b(0yeYib4xf07&sz3m$?)_@au6x zT)T+^M*f+w=-@=*DJ#!Xi-pi4XwKSEW6ram)JtlsN*lm1W(M3#Xh^PZ*_~IHo%LL> zWA|K+##D};c<*ya1YGS_?i8J3ha(TmA`6`|X8GXqQAC@Gi#Q=`F4-HN7(~I;&MG zDRFeHg5|4Vw$^Fq{dF&0-W^w&>0&$&8SijYV4(6#22<N(m8eYou7LP^h|#I?du+8`BtP^%rRmXdx+@*&GAW^ zgNRr{`;0E{J$if{HSxd$7LaIwhbP$tgE`~j5Z5Ev`_j3*SpGDHJo2I+%uwoZLWMfz zz!%jy^0&-m`%Vqu9X}~&0G-BwaDKY1qqZgW^b{acg2N2xn$RK~+x^*WdaG@yzq`J4 z?o7)LXv@H$FI5|FNNd=ls^z&CUYl_n9FeEn4dEW~APvnCC&md{Y+fSS)>Kzuk1q0lNGH*mvglp{N5=JUBu4M7r*s0~QpPa3ZFC9`6 z-`&|O=DMf7H1Hv|}gHisW6cPZbO-E18ZH*pHGN)=o6{A-3at`t>j zXymD>ZbVB<&RnOOdWm$F`Wm-PHi0|RS!ITqcFnM5u~HGke{>NvYyjj5@2 zs+Goak5p0kjiro{8c?iR#lgJf3X2pHxD)ARqm*<_Jw`l|5;nTr%WbU_)f1#BqD8uu z6VD#YXIu{~J-2)tD)MMJTtH5pOzcT07=0;q^uar3(W&S2X|CzcJNqStEN_H7x}VB~ zG3Kp2@fs_oSc6j^*nWk9ca2Yg$D^0X8Jg2)QmLJ;p%uT;R{&hv-K=HDpPe3I;>&HsP z?1`6Ho(VkpvMRSBKQi$1EU>B)?@h;_r%+IuFba^BtrC-!5 zvPhe5H->1SaxKaxfiqYwgm6#*XYfNAz!5_4<@)!cHQ!i|9X6}e;z1Zu;pm@J%2Z;e1gkeYD-fc*yKRr8e=MEV;x#=zIIa|g=&UZ zJB@P$Vzu$!NF{L%Dm&fSk4~loG&2jw$CYXuoGIb6xyrqY;u^?eJ*k16!5*c!ksYobF1Yc!yn-<9HK)o~#(m8-Uw<|sEWSop3s(~$Ju=3G=@ zY#C14DUw02X=;!96`iY`HVi(zP4l8|UXh0*i6i|NzF-hP< zgg-x816}n;Q_UqG>^=LYK`ul#MgcNEw|J)VfHs3azq@rD@nUs)7BRg;HohQ2m6vQD zrz0O$W!iRLpvI_NxG#MRA-|!V9!VU7h{{b2k060pwuBg-*&f9suvhaDy3*NNMKin~ zt+iLpHiTgIsSW2L7>mMT*WM~v9bH|~6W54Wl;^F2Z(bEBw=6e&Wr9#ldx@H_Ox3iL z9wSE|P=PKLJ)=VAMZ$Y)V&l&aj|$-8I6D>aiX7s%O3$U)^wm7bH;r$9#Yf?*!4?X) z%ZN=$f;ue3nhDMt3~fnAg4(pA+EPW_4y>6Dkkia~EPk+Xr;$ek(WSKoPiaV_#w+Y2 z-qwqjjFaRZ)Kt5s!7KZ1*X!_FH&||H721-J@mV|ruHc(APRFTFgRB>4Y%`xRxai_&(FZ}JBoS}pNZ z!MBQ{;TL&OQRMuUkp2haVZ!hji?z#4(;Yaz5)L|G)4+Caz?SH2Yb?Ljbcc_fEp}ST z51`BGrQ;PYrfx#y_-{4}Wp901xP*-Zl&~;k;x)Md{L>5$Z+Gt#B&6Kmvax@ewwy-# zxZ*3I2&T#(QHod!uekTTa_KmAflg~tfO~5k!MZt)ltXEi^Oszx31Kku#=l7Ce%B8a z6Ltc+C??zk^2aefU z^qRiwLnxR0QR2S*J@eSjxn>4%BE9L4DlzB8mV~_Pcwp976yvh{!YGmhBB+G72AXLI zZbb@jq9#X~J`rxLC*Ld5Z**|pS&qJZ$@^E&IF=febC|&XAj*Qhm=m0b;~V(&9N%(h10*?kaprU4u6$Q;(X#K2<|Vuf(w~Cg;k(kPKVo=a$0NC zfscPX$Uowe-Btun#x;n?zab6*Y7sY75mQR#_#1@M@YwF!coYwFSThhtJJZ@|2Ed!m zXne;({)MN9Hx|8(|MwjMR`Fk`S#USc#xrfPm|z~Whn<^ot~)DHZJI?tX=N|hJ5sOw z4nXzH07E;_;gQn9P@8L6l;q-%+3EomlIHw(1t;u2;y?r*14iG< zI#`S|YL{6=Y82@1IoE)p#IhYa<)44!ab}z&z`cCNne~qCZPMAjzu)Klx+MS~jg1}( zi~NMod3yQ-KJ?CmP(}q>kRds{O_d;Mrwh3KG=Kl~r%yVnK->KJ&X(c$P`9-wx<`jMH;1^fd~Q!0 zLriYz3t)h)?%#GbDBgVdyL5khK=I7e0IbX_tALvr4#>t;=k%J&skFC!Wz~{i_AQIG z6jOIeB%Cn5VtUH*_-{+}w@C5NTPp!kaG-9EkOEOmSl|td>u<(6r*(9l?xEh|(S@8Z$H9{S;Rt^GS;vkeib!zVgn=uIe?8-5mUQcY;dss4 z48coXMDIt3{Qr5+Un_#I4){uszxRlBiuTMnLH?xM0`(;0z=U-+r9o^G`1E z|15`B5^jXgD^eJav&wmKoihou+)XF&6N0B#%VHBsAC@{~Cl_QJ!C)5fhBVnYn7U;H z#@b%w#H=j4=;qT7&IM7#D`CTP9gAwAhONwg+y?z+oK%B!jvR3VWmAlb*GxCBbeCBr zin01eadz#*N6eu_YND89={qAdl&4#mZcQD#)|gETe6q^ zB5oGaKS)$6ie%#~yu@VV6eD+Xw4%xu_towa_EMi z2(()3VTVP+B`B($loY*IEwp~lO zA4sP1wlR=%LnR}`V8~V`=GdB$U^v&GbZ!cVn0C9g<%!d|b$pBCfmwu?Lt?N}%~^RA z28IO+Z;v5%m}UAYH#HL{UEXyL?k>)pAyX+1z(r}*Hzd9Bd!Eh`vL}%ZWqw&#q2fQ> zl0^xY@T0K|wOG&{H!sVoV0l3P9A|ui71M*LJLCb;%;vs35rBgvAgp0PLz6WEPfBIo z_WFdCOm<1Hhq%8!2^@uOd<5HKS}}J3`ElDkq1Joz&K540t{2q4;`$Q&(_sNn16oQM~!< zB$NBjaH&ew<*d{N)p4}_3hP+8y)G$iUy}I6@EZ4~AD2Ps3w^4x0wv#H1m}O*Y8{T) z=3>^mse@axQv_hi$iz4pG-cIa8;S@vEkzxk+*O^BCwN3>;-yHJM{`RY$C@)hPne~D zaX;>9L;#)YDk3P#w$iA+@q(|SbT7aV*DXNAisHtD1n%I^{gS6>03>UCZd~jF;xAjD z4iD+sU|E4&+oJ~F=<&%jaQd82gbqHMt*W6#Vz9!15(saSFQpb`k*B3}T%fjU3gjnG z@bVr;b9T-$wAf9}7emYu&y<6K?G|(11&E+oqKYCFirFL3i;R5vnai1p83t~ zpnb!?4H##)PRU>!;Iy!(Cc`l#0z9GO{E>X^>nTF~XmMSDEo0bXGGwqxXR}@ElMzUf zkHCOb>sB~g>L^d%F%H?5ll7X3f3K}AgI)PS_R+025cOtyPSfWdj-Hv@hTzgf*U{Q< zkQT=)SRR_=zrk_Fb7!*Wd;c02bkvI7af;`YSm)h(KW{T7>#xb$UiYqWDuOgAVennd zNUcNtjnF=n$ygO~NmdqGF>6dr(^QXjHNbpUiWC%JQI9GTJ2awB@%{+#P5_6i(Nu_( zL)#jvrOnY62ce|3GcygJ+nNYaToI_UEzDiUI>gNN5sXI>Yr8X??nw<}_1$eH{2dMh#SdGCz}Y0xKZeKP_G!uVs&T3k4kFkOxa8fA1~S&%44@v zM8criuQO}Y@B&Ps;=jB5xq-LnJ_QLhHBQY;cC{t3*_Eug$=_IUW^BgaRw?$yUI-s# zTPm-HFMH!B@9f{waEbteC@{06CdCP&$`hK@eVaw0=&~|m?y*d69+P?M)RIPXkEIxy zCiB>iHk4&t(nuHDc2MM}BT%Bpsd7hw_Y0rHmt8hkKpQi=cvWU^nG2uU_I!`qtgXmP zljSm^%jAX&2$&A5{j#a%Ck=w98D&t~-4d8VplazoM`+$Si=_IIaFLl`ZdZB;pK`_9 z`ZU=xyvXh{vvCitI>()X_7d6+SamibBY$F{s-E7!ZFRV1qM&4HAVu;OiSMAIVTZEB zl`i{I;ulOEaq^4j;!RFJ&0!A8;K?&R@p0U$UqRGlu*X)9<&9vK@+~`h%X$tty_{cB zq#)?dRT}1jH!83HqG@&E(zXhNbeKB1V%%kdo{-vp|C{x%*) zJOvN{m5m1tWL~!j#;6b+9qyN;Rypn87qi(RM5c}?LfEeel(;2>X$|#kuC=Dxdr3;H z+*Xyhru-Rg)hJ}Lm1|;%QtxBdppO2~q=zd_+9?U)CcD*{;)U=EfT(FR!SKD0)1k1@ zHg0l~Lol;1na~9)&Krijl?>@W$_+6=ndnI^Os6A?zLu5ks=RaOW*++@Cx?7}!v5YD z3$ZT<QChVu5*tb%FliS>6snSRUR3;BcYYW)h|58!{grVR5A3dh7CLysp3Zb>p#SP^ zE#>K^sda-(CCvVTA@2bEg=Jo7zqsdZ{{uB<0D9=L*nirpRhfOTnGEMzYBe%bi9L5a zl;_CRk1v$pFME&Om$8{;Il+7HSO#MRys%KCE;$C0gEHM)k}iG}w~ zvwG4Jqszvf(3?I1`AS*|W3>fqucEjRJn=FOs0>)$Ynxa}EvVaH&k^&sH3(+Fwg)8H_`V*f@f3H)6l0xaLKU=EP(D4_4#N(eg{%A}oJlkgupBwXU6> zf6?dMK@6RKTbiGjaQ%LlRKJ$x>QQv-(dsR!J2`I|Rj$Y$T+U)s;}51{sZ7_D;% zBM>mqo<9b_W!3IqG9Oq$I;(6OE*h3}zk|0Q0LB0s0SWYeF=Y%016Bizye-GSy|3c1 zDO^oA@N7^{;Ii7nM9*GPg&sd#8>@mCIN!W}#|8%=MNf>`T7O`((`fZjm&wKVYpdcu zUNI$FK);JXxIc?o#PUKyO_o+rjJ)K|GP~z&wPKA>qFIQ*tpVuUyoiy9i7Z3zwJj%0 z<8j&BGeYhRor%I5cH|@z9Am56lFR!cV5|DiXs1dB2$mng*NHpA#@-piCW|1Q8dL zG5;7Afty)7T^pfn<{V;bdVts}lpY)f2QckoU#m`Y)qq67JP?s9JZ(^Xd^tMtj%fx3 zQ*iT%JSq-s<*@LW!_*X~d-wrLtNB-M?_Y0PM}Z4X^mDe_aG?n;{>SS{m;$~cSUlfH zq%;izqf6LlMoV16Yl+k!Zq`E72rV@crwG5dPeNB;HPoignzO+djnRfidgJ3dWOoLQ~k+ONK? zH9k<)Olz4*yHR__sKslqxCH&u>QRuw8;)mvG$Qx3a|XzT&zT8jh3N{ulXB>cV>3pU z3|oyo%2%mTv1(S&u1X8|1F4*Lf(WOa$q~+yIOV*0>#WL*fzJ^s6&UvAcKLT6n*M8=*qnvEc}K5`s8J0xiNX6VJD zD&j>zSa|uSb_aQ%Ly^eW9UnWC>L3J1q%pE-aq~&-uj~GqE%{$T!CNjnG+lOkff|A&y$1Z&poZ6T1*r zq`X%qI?J3W=FFyV7T%qYeZ(mj$L!D3B^kRP)wkEs&&+A1Tic(L%B-U*y2L%AJj$1p zw7`SP)D3}m1*p;K5YUhgUf!Z=4 z0B^5Cost#OJa^zBNtVN0VHGc$6?Oj=xde(G#TJqx2~&;#U#{GpTSir?zLRz>s0!& z5rZAYVwm|GPiOIN>tUS%-!~TTmy@{CI0#p!^SA+|uqHGmh9q6){b6F2ia$n5vs9{pmABxr*SAyzR z_eJ}fl)O)s5@&Shx>46*hu3#}n*mK?G6JRbQ8Ig{@u7^~w8zRQERF;@)v)24M*8|Z zebl)-1`8L%Eg#}ZC{?6d;Ge1Gk@mau@+HqPWm#EiS-Mf_44#WceO4V`E2pZpM{<@8 zqp)pD1dbhGa&1SI?-6x}fMVsVodS&Gs~cUACj_OZ!-U_uAA2 z;kONC5ntWMM56j&#Doy4H`u4WbL|D&9|%^4Dx~;wy9?VX>>CN$+MgIXiVo|)wiQMP zERhC}6JRUN8%M|#Al~==!V9f!3{P>;7q6{tv{U3^b@+uQ-R8{Pq|gQ(-zBt`^uo{bJlZ7{|p z*K8avI5#C5%7w^J5KHlI3|gF6G^}vnc)NJ+KudGPd-zgishMphfvd z3a+zjldzm+k>`+B1t!@9op#2yLhm8^4x#8vyK9$~l7#Y9gs3!YweU8knDswAb!j8) zRxxPG6x&%Ty}LldC8tvvq|82?bN^Xn{`J~FsIhqN1=_Aa-o%(IxVCa`m)?)xNx}3M zK&l?EL6-=1+7Yhp2C&gJ>dP?=yg^wUVpY?3!CYWA zXRbpKoqtJx!>OEw#fY5&xVmzRvBLG@1eEB~8bdxEp?z5=Mrk-NEmv`EXtFKcVU5*! zKY(RhnQo>)P0D7f-m&(xz<;0cY0sPEpR(6)&zP0K9Si2^tTFxafoAJ*hX+&PBAIv5 z8!>ItTx$=;lhyD=(x7h+A?g{ywJ{~$pYI-Wwq<}T-~{G{7b#cmS1t6^{qUO6bE8^x|qEMH7TB7;HZCJNu2h?sq^y< zp245b<5tjDrmn4l5;^Y-5p^DM&tu9K&M~7oq*`^^O2DreyV3oJ-Yr01p8(T?KdPZ$ z!{z)xpZ8kX^5_8>zPN5aa$dDy!}iJWHQ3!GSI%qsKYA;Hul*}&BmCePeg$#wz%&Fr zrI!iEW23nsQ{_ffFgjDDCzl~nJzi9AkH_p7B=NmT!2kaI`_;~W0!yR+^`ya9aCz|u z7YB>&y=EO;$H{D~Ii**7fiDm9m< zaMh9jyyuUDo!28K@XaMr0nR_Z;Lok(mV~D`f4UoU!=JJ)zgD+U0erI`ZmauiviF~k zkxyU!(hAfP0&W83YVbx`AGly=`$#@jlS7TyZWbG`>$Vr21$?6 zN4w3=PkybD*Aa{L?kc3-@6ueY!zb*2-e5$XD{rNe69`$GK^^8tnE zt*ORfX8nc-Etu)B{zSLzhsoZ!ApyhDP9DE*^tV{NZkz|3$T8K5zh&ig8()D^EI&b{ z!W8t^sIZ$;NaaM^Vm11#>WpQhxeQZR-oN}Wee~o63SDE;jZ1rde>&R!QwK#(A-c}x z3Hgx9S+r1wOsu-tgLqIGe&qxwCc>2tet!4Yr2_*x&xaa@y?>+S0W$jSJ!<=wV80sjWYxYWBoXMCNlxLwN>*L2ATYYV_&?esS3nGigv(uqWPd&-q{b>E zh>FLeY2qf-=-{?o1dGOL6-9zykM+BxYJl_Ge=DK=Yt6lUwH|-kN3-bdm;#`LVyi~J zy7l3~uG=`PMt)`{$uSx+_qG)1ZbJ2TN9CGxpVEKHOB^>S4x(3Y@~f36?RpoX8!98p z1wEhNARlYm)KyUJt~dZ+)$J)_q0lCQ<4 zgV7E1<#Xnk?I3MFtNz|JS*MXL(^@>UqkRf$*yX?P{@bT@HBa#Yja#VS{P}s=y0%5$ zV%O1NO}p7Fojt-;H6@1{hZXYnSRoCmb2L35kPfH4a||b@mIONA7(QtJ**kZR7KT8J z6+ow|EP3+DB~PzbA(kJT-jQgp1V;Xe?DM*w5B@r9PIcS5j{07naiYo+AC%<$`HAk1 z%lW$1*=v$PU2lEPz`!I?wcJOVf#m$%mz=8;$*9tMj|$#fPkQrd=|jpa^ZE<4Gg4*3 z%$C3UQMW6`3uis~^ui4ERIadJcuRQsMy3V@kLr-^j0kG4_;Fk<)kfgmyLa8(Ef9;y z2ySDJ#I>p4&ru`38q0wYbz$Fsq#&ur&nMnU*u zxD@>Vio4FRCbO+OqlkzF6wyHhbW~78=?DpJETB}81cnaR0i;HR&>|qVaX^eCy*KG3 zC@u7;s0bm19zjWLkU$6^C4q#%J-IW8*U{_u@8ef^czJW`-fOLM_TC`Art0#r=kUfY ztU|o?TXOv2O3%Ks!P@h`i)$ddmv~%l-;mm+!yHz9m)X!Q#7#ys8#?wpM$#-@OPRFn z!LrxknMj~RBg8>Un$oO*qUFB#9Fg7kK^1de399zfMV(LUKL-aK!t9dn?N!VIphcx` z-*GXy+d&4lwMKB$%!OFXCaN5?8ez>1#9(X+CC9Or`6fljD4}*o?5eDywjUa=+hOGl zah=`|+V{GKpS(RPams!NB*!n=S=nwROUOMcADB$Ou}IVO3s_nV(OLH13_ZQM4DUTq z?!~y{&~ZR@ZB;WA(JIjWR%$YUUO1r>dNb(IlRCk&ezLi$`^n&;_703CdmT5q42LN3 zJ8xk4vKm}u=S-LE-Rg*L+bB?HQDjX0a{D~B=esd3^QToPs;{>7;JLyptcd|1^z-X! zpzwQV?85Y^R(d$NF1^_?#KszH|By=pUMB?-mapR4HvX}poD|oMkUR!K#-wWW+|71^ z4x`eOY;ZeE9|X21S&a1%RGrn0#YAM3&$)TL2m8ELpuI>MWun+<@5E&@d!DS*gAPfe z3D(Qy1UI+wdIa7hGqn?H*pbHRFRn*25_*|}V%zKnR{M?1b>4u_ytb6@^;WSs+d zAVs?358`ys@96Zn4{3fnoB2_o2^_1jjgY46{k|czK^2RJ^8ZL=Y4^q+(N62tM@%_C*$4F*6Y(6Z$?l;D5TWexp0t4q z*mB-ZCNBX0!0l08!j+?ULB4+4#H1N_2gb37=5%>DE=;EgTr+A^#4>cr-lM(_^%wN< z=1ga@rnY5%>CkHEr+Sz4BHySz@PUO;ccuW4=~rpWkMO3Atsy z1R3zPTzv2CKU3-btSm5T7stg->;3VC8Ljs!Ihf%@&h;xwpI|JJ}CK zr*D`W8*rdr)@k2DcVAL7EIP-N+7sc-G=+XBQFI`}F`=91#)b@s+q8X1Y3WnE-}*vX zT3k-8KP^t(Qm_D{wXjHd?AcWwZ(ejQlc{H^;cL^%^~{9=ctymD&)mR&EWj--U4o9i{%<`KU|s) z4XlX@E$dm&@p~S?)e{b2Qcg%w7$59YJ^GG$PDNR2$N_j{4LrFtlCq<})CSWg-WH;k zsT0)Xh-F^|mL@wyPcaUagkrTzxDwt;G@&y!&ydL2_g%l^g$3%C?u}^u*X)DE@Kk|s z5at?x`UH4H^S~fbW>N<7)?J$!18KlmrZN%JdSO#|Ufa$0o+bmAu*Q5_e#wpWE{=HSMxIhrio0UaILx4{HH#!jk4SIsfM^hm%u`g<+f4>F%BuM8TH8QO z(NUY|RP*Zrqqx~ZJ>>NLOT#b5EZ7M4f_i$AM9+ZA`qp;&K)rT_5p~8fd4D%ja&x}v z<2Q11+(~Zw$fTWWDb!9CBh&j!7B}ld$k8v`-(?5d9~vQJu##I=XpbmS;C13C(JAYS z`i#F{+>tQvtM+2_IvEf{*VpN?tYA4F&J52a7h9MT5{`bP_m8L6dk_L|;1v8O><5tV z=KavD%z#l(CY76Qn11N`vD6?kh1Zs(Y?)L|ftm1JqEgg7w&#!D`ZE`{93PPY4^-C- zA5WUr&S-{LM(jN5`0il~w&j%Gc3>5*wD0?eRfyzUg{fTS-&U-`50UHlJpg#Huhi-p zMGq96wMHVhQ&*5=4e4bVJ?@-c=Eu0|b2T0bHc2XS>Wx5as8{~@NG z=ylX$`p^-Mt4EDPa`lKb*~M*IS}WYh&EO*t#RFvGv`H(KC{~)fCv>AI-C%OEnZDYs zoIf5#uEm!euT_Bru}W10)(yD$1{3Bfq__PMwHXBs-U~ncu2{P_P ziyKk#+G9C658lugSh|lV!cs+1Aa&H+n;A|blErtVD1Hbmsg!rmuCaeGw*&ryebQG- z_woxk48%{XIltLcFi!Zx#!U;va&g|zdZ1sqEveaoQf;h4e{n~z0eh->+8g=ekqVMW z_XnA@>1&#MJHtfBw7=x5ZoU~P9=Mp#?ip$h(7P$p+HZf;p>%VjKCy%~Hi?AQ$D8_$uBWTt)SY?on` z`|{(9?zEIWWP!SgmJc%dt>Z*4;*O6Ut{B$(FKOJ4BUUEH37FYJf5q#L(vb400bWy~ zwp?e7kppLymHzELMudSX^%~LgVuh(ha*ryF)&B{(^x;L=B)QMU+4(qfd^U2;nl<+D zt|c}}Zy6Tj8DACBBYVI&!K8w=R0^0TN__&-flB|jcXz&Pg%*WXl1 zk;d4n^~ANt1_0=gEK$-VeIQD_ze5U|_R3@`WT`v;pvY6S3^ZRGjk=k-0!z>P>Dg4c zRmoc)q&emRvwHU7yJtFM_BVDAQ(hj$UTQ5c8ZiDfb=oO{mj`O;ycowbm=?{0KY*?-JwoV%l}?`zCTxhuXv0G@Z3tIAPdRI8mAm`Sqp#QRld_WBlHYn=YbtOELlK5l9yq|m6>_@rf zqB0z&(b3Qr)l?_LCsUIKF&3cM>bOlsA}0Cqc>{EJqSL1GL=_E}iFTWc_yfjP>{ktt zV|yh?5d8Tnd-gBX zV6B6-T@sSeajNj$!m>=9jf|tt~P`iOR_~wa~!H_+({{)1By@ip8G8 z!a%$*O!8f`b}dt%4VY?2RU5px?fSi@j&>xnlPX+MZ$FJW$)9v{L6>olHnl?ixDD-)+8N7AJ z0UA^s-1Q*x;f5UU=6MsJQvIZ_T*<#>#utA^y_8nNE+W^C?A3vlDs0tmQHQJABKs;f%V^;*UDOi)VY@IDNlkXSdOdhiRS zg58`Cd^G)-G?P9SL}lFf9YSdicgmpxC(i-B)|JwVO!|QpT_$)KRJ6y+mxa?hl6@4F znV#OqT~wi(jt#-sVkN$e6t~bJ`w}VT(UVuydV0|pg*7>JRW?aWnt^{r2O!2fY1(ptV$ zB32CNYO^T-H-sKO1zkaLpVZ<{3-9mmctirT7cNNiTm9c}e7b_;(>kNBRblH}FP*9Y z8g=I5klicx`=9Om`#auXz>~Ohm4DZ{_+0V*Vhk1)z#zF_lwQUB-+Jl)=WyOaf+Clc zUXU9zUc&(bj%!*bC(W}ML6@YzdNA_2meK`(1F(SYG~r*SX-bYDa;s<5vLFB)`sAJd z^Y}C4IM{-)cpsL>5Ec>=nh};=^clSWr|(dm_=s(=_z~Mm;0ybn)PLyRN{4Ju`)o~r zb(HkIcfPD~xdz}Z^YL9Jm*Yb zz2WFJBwH@~b7xH4@6q2_AfI|8nkrzDWmk0Erm;IKdzXgy{mYLR;uUOEe5lo?h^8(x z1{qVKrMp;Dq05;U6WJxk(Y33nGjyOoX%&+Tpm+XK&mlZM(N`K0-D#@bCQv86`|HB{ zXG?jH#zy;wV2eaWr*j~k+!Ljw;lzz25$AyLXu;PDf=8#7d?w%@7c11~2=7iACF(Y6 z_zrsh{_M}86IqhUTgYE5wy*qpY~{3pC0!?HmI(*j`8C!c91_ya_5}4-hc3LnJ_!fl z`UT@SnfcAl zMF%=JufHMxeS71OHDf3<7ERKtD9I>sFg)L4diHgV-%#pxl=QZ3IUu96CzYZDsCR7m zt8&vnwjB`0`2@!c)V(b_`~9uIh}Wl@qe|S_zJW!ybGuSBJ)+1c+7>$1dZ=!Z)D-kL zgwd_t2C_PyI{&@K-ZEXoTB0ocMbLz>LaE zeYX6)UV?In5ejhFw)ja3{pK3*U87TKQ_CwIs2wQ;`z~g;`g2Bd?MQ}f%&rTZ%Ayfi zkNeVn;MWIfO^c_p7|}a?K2e@;w0e(~(Cp}tB}irSfLi4-vxASffvuS043RMoC7`C~ zOJ?-;BgJ`yh&hfU`zGL~yVAabz5lDl`lbJ|6Y_B=18^{90Zfb<;B%RYM&S>AeR$dt z89rL!@Am6B)py`89q8m)d%xyK_5DxlBa*8RU_i!E_;H{r!N5UnAakIs)3P&tRXlVfi)TsFP2py z$Oh*P(dA`G`g~JeAVb<0ijdzB&}fnKje0DrU3e-S3Ao;cwhw0<8yT5o-|MfAY9gei zAOW3C)xoWo#1$=mejP}GZKH!UU6S9JnooZ6miQVV_+uyK%xY-$&(ShYG)0FEJrhrE zY;4;d*MSug66zeS*g2k;+N?HPepR1rd@$vETmFYNOZ=lzoF?h}KD1#wcye2m+y9;+ z@YgGNAX@W|bj*Ck5Ps1|Metb+ad(0f2*KSwxWg&3 z-@U(m&pCIDjQjic=uQ_^wQ5zZY0sSV>4YdNN@JjrpuxexVaUozs=~n`L*U>L-=ZJ^ zd(4?abK&67Ut7I-qb&R84W+V^y}6YQ7!FP*Bu)!iTdj{ET`&5}Ys)No)MivFo{zCu zx?5!JZ)FeyaLgzRrUtV8-iu2;wb?5CWQyG7M->_m+9*F3THig2W}1ZS(oEW_|po8Z;&yyj|c{t&ux5hgHzZ{d%7gy zw1Z|^6Wk`@scg&mWvcI|AB@6~A~Qx1;X-`*(-KC8{4XitKJaK!v%-C(UmwaR_>@DW znMo4_FVUnO%C%mn8#=!Jp=^-$Wdx!lDV!YRiwJ&PxC!|$`GihfSwYrfU5XOvuTegd zkeMzvHT4O98mFxB<)!+RdmVmC0pWbeOA;;aTYmT4>`MQg6oc{?w*Ga{gV^{{tGr?9 zyYIpH#f&;Dqx{>cCJS~Opyvsu_@8b9wpD&$y_dKZZ;P3J6RuiGofYEb@$*Z{h@Zd{ zK`fyoe&1y*Qi&JLgP%i{e{U1}8S{2I1ZIvuMcjM(>5S5Fa0D|{Ysv;kDMIa1f|Rq1 zInPgQ0DIt8&TBqljhYkxx(s${6DXRe8yoipodeM{OhQ~0ud5JCXk)W0n8~IG4_uKQ zWYZPRZ*@z6)q52965h$HnElO*7y0FEeFGH9Y&8t>Z4s(VcZfQuS;x1=w)zpw-u#4n zI7Z(=FUFQPBR>-*KZ~RwqRtRH4`%~~Yi)UA;Xm!_>s`T9u?z1Y=Ud$jl7Vu4GB|m* zif?w5gHT7ge*Gb+fRa|6oX#+I2sJFK*S`!7`y(O(JeiEK0&Hqo z$MOBC=TfF|&|B&O_kiCdn4xVMSV!Xbzw6+1*eLKM?swUlS_MC%>)2=6NIw67;7E>w zT>smUij?NXdHhrIH*bGq9=_17XJ63Q&b@m`r!Z~h0)3aHC+hnm-7xcohT{{F3_1-G zuC3#fIl_ycS4$HVnii?P9?yqX8%35;v%-FVariu{P{$+7Zgi^_8SO@RWW{^cedw?v`C?22tNiP}yT4}~7r5#i0jfu1?)z^0hm15Hy zn^A?Xg?62cWBLz?6wu=B&MR|_i`%`7vp46^a*T&*9KCR|wwa2UDSq?i7bSV-C82r}@vCZ{?M zX<_Z^?6`wZx-;>L;oiTdnL?@gNM_78g-Oz`;((J1PuND|fHCJ=l#kp5ceg}#8BU3U znnlGeNx>n`jP21yY(m*0gN5VU^^!q`Bsv5I8H~#eyGKoar^9=rq0I6VrCLHd3q3X@=qu{hQ*PWeKZ2}hKfsoVy8Z_eq@yugh^Hho zpIcrdvwvhT6HH{-_{hOdK=3)&lsJ(n<#U|zx;BPpBv0q2C*p3;b$KK|cK$MC4!(3r zSr~hBMeXE?~c)0zjvnatR`OAho zFPmQBga}H$&qkgLW9YJ3L0?f_abF={K{X{j!gl;9NwpobCo7s`i4&~;nvu5T)jn1A z7uFbe8H(80I8bbAoL`)3T!7q3Tz{M^Bbio1@u~VYmrk0E>^YTm40LUKZGEj|&HPx( z3G<3e%HLGsD2rOTlHr6NKi0k9s^6fW6buG)ftA*^!M?}(>uBrE{T6W)^gil8)GO3X zzJ+T=6)>w!mpVzT$M=&m##u|9<>#qBD;OxK{;Br!<|k$$w}!Mv4Wp7vgms*?{|v%q|hvHfM}yojZI#k-05NzVc-A9COE8@BQS@ zKLW+%SmhGu^o{Em)JvVjZoDFS%avbYsXv1-qd8-x8%dxtpc_^aSE5l^tyiR0WTdAy zt05%ok?b0G&arPt2I`dyE{Q3E>07i8yQC>Kylns(v>f2fyU!0a9G<=1y4pQDlRG`% zG8n(fQJTaY8~I`MZLz>-1dgwq>l06+b$Rs^<_b41^v3RPu!nsmS z>blE29ooK6(Razbs~X;lRmrG`sAzSpIkH||?P;dv#x=tA?X!*{h}neL3dW?%mu1%e zxKY4Rc%wj*m!cq~AeN$&LX$kiH*4lPl4?54KEiHfyI{RwZ(@pV#W9{eyi!9m9c_{X zuK!gzf7~2btx-8aRrI#V;+Oj`n_a41!QDn)byBeu23{UsE!&V9^w}4)XEh0X%0hgN z%#DnVVdn+Sjm>S|&0do-9Wo+x7i$YDRpYuk#IqEO zVi~iI(kq(Pa>I11@M!iZ3l5Y{magu_2qJhDR1xd=D`ts!Nuc+nU{jjStqh^;&d>)c z^kMVE;i)%ok2|{0;4h9y&p}Uq(G;%+uk9AAmK4v%JJ21!H;*^w-OwHMe)cwl(>7^( z&|okDUJ-uf;~V%x9m8UsVq9NsV;N&vV~a25%BITT(K}<<(%@3V(mht~7vh(65~x|r zSxj&2%Rf))yRtNj4ZgC`)Yhw$`{4NjeA$W8h~g;eOie;eP|tX57YmMMFXSMRgniYL zS`4d*NWyWZjwd3;)x*D`wu8(K)}4RQz0J8yJ37Qcz=@}uldY1CrLLj6SO9udbwyGe>L73x9Y1%=w0#X9dDl+)cFO z^Xfazmui=49cr_1u&5g5P7|=-@YfmCNwIhZ8@H$(=E#6KD2~j1sTbN%*;pUE@oE{r zt-P`)q-L`;w5)PC=#Xv=xK-6E)@5dGsrc^kqo@1Qw0&imhE@I-%avvalYr5Vx~}0h zn89uP%1HV__h@&iG8~*XFrQ$rEw2Ak-_a{~v7Zb~0+s?tYD$$_YbzKTR9^2V%f26u zYmB$om)Bv^nKi&x`B61&Iv?s{#0X<7(?C?;|HfNvsCwruVt==eaZkF#M`Fu7e`ytC zJU%q^GKJK-*t)+Ks}|1=TFGPe{>DCh(Ylt{hH3uXrP0CTBBGAWwwk=US_s39wd~C< zwM%nj&tXHAkb|3A^P9U35kU{R3%};*=8=os{l*qCPoG`*9^Y&Kc;q6?AJ5~sDKW-L zuSsDfjVY?h4bOwg>}=2NL?K;A-_O71Nf$*}QRsQ6I(aT1wZ~`2`{HKfdeLzyiCU-q zbl?0rrKUA&IxDCYoFVE#dpY>c)!bu1Cj%xu0!sj1t>1({&(>y5As(ohf z)53MZx@^}ca^|sqfpIu_YjV?@Zg+8DhKWD{5f1nHu!()~Bdqr-vh|eNQ^HI2{^y$2 zKG&v&w1>Y3n+U~4(`MjS_h!qA7|(sNx7Eq=SX_1MA`Z<^>JKso37-_sgk!hO6=M5w+GYE$W`tcQdyvx3lx@P3_{?(t}ZVXvXE) z#Kdq-3(w(r5aCFKGgNx|Mtmy$zK;}hKE20{&%g$ElYMl*d?24iez3EHD|cfO_7?Z5 zK7#8~hL`#Mv>_>ou3$}uL`p-Fv z!1v?p3-Eay^RMqG(Lr#?z+X7P=R+pKzt2X7WIp-#HsV|07@WA;8(CT4Tg}V~47PK& zw1D6+nV!_O`4h@9a&%tRHM09{Oy? zl$4ahPVdYGRVCm4GaUF!gvt^EaS&um{Scd}sP5D*YxW9MY!$ngmd?lqjOq`3MA_`Nj5 zDYEXXS~?k7N12aH3J$>t6nOM@zN*49^mv$>FZ^(uEG2&6oEpuM`875oVzlRCQDX^H zT-4kE=t4)x;;gB4vti+4Z}?z%c#ccxd{B7Y?6%C5nu-$PFW+&mM&F>#_veNnQ2*@^ za(D(v9Jb`^r+@X%%zm0PT4LEjul<*IL`4}`di)XP)8D<-V?W|G;42Uz%KzQ%ynZTy z-*B<$(|UEiTP7v*w}T`pr4hJBgkd_6A5v-dC>mSCVh^_)aax9sqSVsZSnz-M_O(H= zX}Q|iSP5fubtfns-Jgc#U)|pvreXG}{QaGfA~+9n1VdLp^QEQ-GD0@fJ?u_^he^4= zyGiN96q~y$e8v_f`3JUP`jc*SAR+d~>7vE)yDxO2865W39`CZs#Tpny1*B z4~yQ|Y<4=~{pDlAV_SZ1d${p=7zuwNFlJM~9>3A?j1A&W6T?z7HQIdqk8Sb4(yE3O zrgnI$w)G!D6-sB$GC_JjlUlIWEg_tY$+IP~wcb|lmi zfxd(IILuJLIK<0!*bwI%gw>;8Y}YuEP;&N(#ePzU+)X&@cN@3(xG4qZ=&m| zcQFd)zYINWxjZj_k9rh(noO0OZ1mA(*r2Q+JYzOS!X%$t%ESHFgWaM)5(MeQ{El`0 zF{8Ps&qXhdx!g~;g2I~J&p6)%Keu%lm)*qKI!BxLeS+-%gcM50A-8a~kup*Y8x}M_ z8RFxE4e{zNl*K;aQ#&krT|l9ftd_{+A2N~BS14Vk&KB? z{>P8Jrb6JGhr~>qMT!j4Wq3w!-9tB$dWDa=a6=ACW)!%F`M&~F*^~HHuY@v@(5mSricUEH zoEt3u+uxl-z~a3iU6vv=_&MkEa944$9W?wBa3-5Mxu#VA_$v*{-)ECXqBC5tN{bl{vyz`Sxyq`l!WD+prVs-f7f^Fqp85&AJ313 z?pIHm9*$$Ay#WRe%gT34{v*c1*T#+eHS#5cG;^w3y!q*P4MU){Xc2e@{7MT(im+Fs zWV@*=TRRF+9Oda0I)f_~1gbAQfHQ*8>WV!yR7+f>xh))>*RTjpYZLhNlDQ=&S)|wR zWp3RG;7)np><_Ic7?Iz^Tji(yYPvh0{lBgV7?+5{G+^5D>*v(=MCW0Fp^S%Hi#M}o z9jJ8N8D8f}!~#w^^}yg}vzid-UPW)}h~|6+S*Xo>rdtM_FrvXIzkA)cW5>f!C5 zr+aoss?)Rcs`^LxfHeZHe_=a8YAbitz@eR)zh)nqYuW0l64wy7?F|iPp*-a`i3I#v z5dRkl1rWJhGpaN}|5z@i5`tN81P|nR!Q-$wXc8oPwYFjOaGjt7U5_K3yNk*2xt|uk z-ujwnF_Lb6)J=Gi_Wq11(5@s}-nSY>=9@A64=WZF$fjUE0cy_c9$@uI!({jXfTaHE z5&X!7NBdC)+DQbmqSah&W{7bod0(v)0w%JUSk`jg?|IxuXFgZwm~|0kpzS&h9xAC_ zAaT_>AbSnmu-o-^KA(Nl(Ocv$Z50_gK%hA}kc@u^tJiqGZ=MTup_B3!FB4pIP8#_% z>)2FulgtV2OQOvy%KtdPr(nQu&~kT^vuSir8)vYZnqSSTtZm$c>o$72BL!T}Jy(l7 zD^7whOX8wt){bj{83xMcHg>%!Dr>PmXgm~kzQ5Y^pdG{!x!hGiuPUw@lasZd^x}C{ z-b?P0crq-+#`_aCBH9RD4kY})>Rdl{`BK>(>Fn5mFEY6$;AZsA%h8~2LTCnwC4i?0 znlP_P1y;a(-es~n&4m>q2}hZH5HDYt>Ck78Yq0(B$Mt5EPp|U;1TlnX z!6FhP!G|1Z$4(bcA+~@{CioMbn6s-qluuE4Bl~9@gw_}E2jhFK5BC*Ov&Q}ygNTIs zSRNU6TQ3mO3Py|9UcY^M%#4{kYO9zd4CQMr@g!t` zIBRZQ%cerWv=?H4BQalqZk|z0*dt?Kp3mA3Y3c!4PV1ekMKRz~O$fA&;q853-gnmm zhf!u0I9uw02RDbU_JD_L36gx3A$GF|%d=l>!8j1a{)6xwaFum-HmD}e5kT1_?8dLh z1Aly#PO-{M%Ij+$e~~k~UxlaP2|QIHD6?@=KtnNwvm@`^n)v6LA~u#UBhGi2aI8eF zK=;Yo{B6y#LCz?POxDeIeug`2#elYH&&FX`U^7vHce=~<7Ze%Wc;mY?h1WYEAm*29 zE3mgeHGd3CA|B^^PUGSiFGthx8gh03NBt{jYhUzRN#dUc5kx3`jwV{btk7E_H0Sk0 ziZBWAd({ku8J@?owU%abS+lXHPLHVEcMb(|AxOtp&U2={KaotE>i6h$1bl@D-Y`H? zVwjW`hU}RZrO@X6@EWMk3_bS2L6{WeDLeDv$Rcg52Jxp2*nop-R54{Le8g8@qF=l1 zX6AH#oqh6DQD~q0jZp^y1H`^OYD@o*56o0Rm~S4o!Zqp@DLuFDrTIn$WL2Y7|4fHV z^PlMu@EbaVFt~zWILX))V!q%XEuSm|+-T+v7T{%Wa;i-kA6>i^Dx~(goUUlYgU{3Z zqe!1b|L1~RKF=RSq9wG@=JP-=|Ab}BnAdJ)&NE$;j*&&pGmf%_C?OwFs$?ifj+N2o zHzfOF+)ifu-J&FFUk4s&Xc>TOfOtQpzS-FX#5gm+j{_6^KV5kxpo4<+Iw!k|_bwOh zE=l?aiuDGL`0&{DDUUPtZx~fy6gBHs19e> zH0+jg>DkqTZ3@{M_bNAj>Dhm7R(f<=kmtaP3emCP|3L%alOI>~-B6j()#N<#WbWwx z|A)B%C!arUk>O>k<^=#9?#&Dz?>#RSKF{Cn$QyuLU>^~^DZbi+jSMDom<<9)?Ep|C z#5JL=mSouMp7a<{1_d@#%>(f@*`Kjgec1-oJvM>Gh*ZqGseO>tWaY`~hm{aIUamoQ ze;w;@xlO;P(jQL8l{VUuDNYY4`0Vs2!5zYfO()5K`)wU45u&&SV*4Y8GC;{ob&}&+ z4#0Iy3nu$Q@QBtDXmh%Obj{xVe2>_*alBa$I!N4>EFhPq2YagK@E9>NUn9(y_^VRR zM0jYpQRpW~)UH-mJ!+D&$)kFGa~O-o;jY$_Z!b*%tU>+D>-6<3Al9O$(;aTq0*OGN zoiCcf`3RU|o_`v;nKtCuOGfCXH|`Q!v)Amg9;cPex9ADmc8`66w(w|%d)1SM=79M{ zHt_tYK5Tthn1hTfY-ESA9^=92$qhK$pW+f}Qd2l~VgHFuc2~>66odUtWj5(P_t42# z>9fFUk~UHtX&HHehlLJ>PkKo06U$of8wSc2Z#VeNACV9JFd-=M{=PE+wS~g_G7GiG zYUf)%uk#R3!nFHt$q;}ZHx>_Wfxv7(1o%>8L+CpG8zQf(eS4qx06676Noc+89u(Xy zZh@U#06~-oh@-WHe0UozAnqTM=IPK44!ZOY*}W5Pn+Z2ExU|paye{Vd;M@lE{Lj2I z1-rs~nS;XTN4*p&Un50l%m~6^6qnkdo%;Ft>CEvZG{UfPsBUI%dv;R#s<$?^d)x{wcb zbAYXt`&NaO^N8m28kx^Any|k_eQ!Vt{Yy6G0~K0(pllF?O0R)SE8+!+N}=5p0mmhn z<>CIKb*Mn)>!8qK)9S>t7)8Nv+mmG(2_pp-(V+5*yPweAr^mxLDlcCx8ixc5D;ipi z;V!bTvn?X;Kc)T3()7E-JU34BxPONJVedUSHrJcTQVpke($HfljL`9GGY0_jKlp&2 z>jQwI+4E2==Dap$Adc!15$ZO!B)C7EVCdc#PA)Q|yr9U@jkl1aPMfXzt0BiG&~C<+ zXc2cG>7JgeK;Ej1xx5X5RzWEII?O)S71IYOoxnCRZ3S;bi@q8#$JDJG9OSJhxiu2d zf`rXiPJtT6-nvr1#aKiOK3K#SsqRGjCbEUqw!Kg$3LHIFcB#(B=@nuCfXS+>%F=c2 zvyK=gQLA+K9fq<3^5?i5UpPJ1IflJpND&-T34FGb8CayFz5xY{&u|E z-3w2P`Q2_~{Yw74yZ%IEv&2}waQJcBOqTMk>@f4AQ2kqaF0!!FMkjbnXtD(~@okoT zLq`G!)3rKt@__psAJG}-4*5a`-J$Vqp%e2X`dYB9oqyEzr1TVHRzKPxNM;@W}$*GvgxYnjsH zSaf;m(8gDPIwtRN9zfe)K8K2_uTQp=)|U_ z^&2E*Q8-QJ6fjONpnAm%XcuVKKh={0zB|71!Uck$}XKmc$JQ;n135@|KlV48wa*J(c`VYF!+G=@pv%1iL zgIIhnJ1Nj{i)ZkQL)a?@2rjQ;n)lwfpJX3<|4zF<+OJ(aP{?aMY`GCe3_T=2lfUuj zMT==8di_iezhAZEjh?^z1rTS>i<_TzZV8(Ek%Kz{Fqlq1WFsb6qR$XY0sirDxA?%b zl=Joe(R0)}O59M|l*ga%!Xv*JJq77JuUce?w69x6vad{HdO`n)k62m7OusRua6Ja~=Z1*DA(&AT($txvz%Qrd-^zHT?Kd)~B?o zNOYk{cR7P5ZQcn6u1B;(NM+UT`s(#50T$%@x`YXUYw1aK>Sr));LuKatDHQFoHG~s z{-GuX*p-4r7`mdttshhnsnRG+SZ=UAeh(& z8XK|}H78qma70$}?RrbFV{}A>6=pzvRL)Gb^}`%mfoeetvn6Lp$~l}IhY>k+4cmTK zvPYI^7L}CG{5A=ZpP92DG&U|mYQg~O%=%RrGGWF{|Jr_eVAj5MpQX}_Ink+|#;VuL z!28k;(5t2*^abx1MW;ZfB#vf)BthI3fh#ySxQ42>F+IZd1fB*y?TQ%@w+VekiUG8L z@k2WY`@?3M+e`vZ1{ePzrA4$jE*c{mb3(w-VELiQ@3tqnWm}RaokppWfnlN1zIpsv z@GU@jM$q0&ld8yMa=N zridBOS6mFn|Mtqg8()k2gH-Ylekqgg%&V+m@|__&`#Oe|0Q@BSn(fO8jYRs+9PUQ5 z{(iOoIoH*<(+4xwezG{RVk)Zd7BGYS6|wt$G)rqmC}y4(zT{RtBO<`8*&`^o~g7hn=gc3`xj?YIBH#KC0Bnd zU|S1C8M76XD(~t^ySYYOONPGS+no+++m1)DJM=uwD-iw6G<;5Jkj##!Lp#0f)ZP6+ zF359dg9ObWOlnC}-IQD(5KI_X61%J7i;AzY8co(u7MAhI;MJeY4z8Rjg4PfkTxCyG z@|Af@=<5>bh!N_r^>ho3>;iryrWUKiyZ7#5@sOpe-S1TlR%egM-X_0=r*Gf#X;OcD zdI0auEs zV!>4Bpe6gN*q-jF5mIiV)FBS2vND=V@jFHFIe3FG4?mk4l%kx2`l-zh3f?|%mRsOCLt+%Ipr z2O|*+7dm7SyjLN!8mu=yPnBg*QPl`!U57PuK9ho9#60T;k}d-LlF|1bdlkXXh}K(A z@SEBs*%A=ZXni;;iZ#R;+No(gz{Ev|>_&rOiTZgTu|Uq zbonj&Ol3B!otNO( zpdCKn!Fx0MhCljJvuY6N+-lRIOZ7}ie{6M9$9kAyY;eKU=oQj2(P&Xh<{H&=S?ZEL zFcSTAYt(Q*P_{|7j2E~$sUTE}7ID?y?n6$6Xb>^+sCXZTO96J(qxE)S3@(fh_`lvXzZaQn9|1I8O%n}cPr?`F@|!Ue~iGz%MRcGX`e|5 zWW4J@^j0PaD6z)$kS;p#95A`DPQZRBkKjhL14+{9sOU=tvd%s&S6v`zVL%!(@YtQX z2ud?sNzrNC%hl3qA6x(;+ytKIxgvN)x5#fSQr5nvi=lns`%M70vo5{!?EDH9krAzt z35I{19yl&HAeb|~J+q)P`Ub^9X7b~JK?je^ z+A{7U7zkx8X!*GauxL+*vT4a1SLQ-hv%)$1B4A9cQm68_4zW?*_l+m_EU&zTa)%w) z2O1K_*IbHkrK*=L?JFbcTED*i99m@)=#&_UW)lAdszm&&{@8}C;aF;>lJC%4Lc3n| z-Q8T@df`w42X~K2b_>%@68GjBTMx=iMRN3pSG&i6TrcNNsd3W@|6>%4)7tX5KHJ^Y zd16DCo})5`dehbXy&?ERTzex~I#dJ*e?aMPga0dNJvxhikK-Z)ih;B=UTP=9)%H0W zfBdf?*nhk0W;YI==+vjBOtdE=b`ibh7)$@#s`!A#1Vdd{t`CEO>V zQm>2KO)YH`#7=T5*5w=U#~uQt8hxfN6`Md8EH5$bkYTwL_VyQe=Hdnt&|XG2bKy#4 zI$ZNlr2gHB4=};{wvu)!Bf(omCIL#M>`oxy3xoMWfNLv!((8VqmH(;XO#NEWK z^wZ0uKD$boPBW3XQc4p~;#u@OfkM+D7TH)H`$4vM?H3aD16(RA{m3qiTKy}%_w_Y_ zXtZ{!9t($94pZrwU{ z2&w)$hQ8I1Uc1;XaMt?~{>k8>cbZIqL<);4J%uG-0BQ_1{rd_-EW8<`(=(!i{P}Kb z>Y4XdS{(r)+@;MwIuF>2<`nw5c3n$GeD7=CJ8`*C*d~elBk|b6OA08?CR9fD`O%N~ z)7Dfx?TDu^SqXJc7XH)-ACnRyQKq1glwU{4dx$MqWSdR z;p1TIaJpFHEe02^6x3x@99cl9AaPjS3Y*3x&w`Z&dD%gzX4SLs-TL*gakt_}1$WA7v4B|1#zH@i_e za~`xZix`gQzWITi0S+YIhxe$aOIrpov&e_{la4x2iXvJ-(F-R94$(kMAFC|v2MbUg z<|6zO>MHuX7r(|IuI9ujqFw&-Ow`ipPe~m0mq3yF!UEznIlBX@cD6=4f^>?B8TlgH z$%8T^i$Ly*6zG=tvtIujLM!E@&+RIOAsHcLHPN%TR)Z%Cv#nNYbB+c;Va>H}0yhbq zeSHM9N#(Typ+W55k|h!<@wmKPJ$!$gk&s9&1Le4m?D2KQS$JH%(h#HH?^Ivh@h51| z(oUFe_jOn8B0h-F7tO7ofotDe;m(|4&vE#W?Fmf}`fcXW;IdtsRdNe|?ZV&WmJ4Kz zlP#^AavXsfslL6QJ{q`glG~P_+tJ*_+MvFwv|Hys(lt*44+5#{mcsMA`JT%eednR> zT;(ip%F@z6@}DZ<&jJ<7Awa6{5qGgZZ3tNp%K_W#+y!v%Y$`Hq89<5oXj?eE$!I-a zox)qyPS39VXa%bh#?XGnYYg9~t0*KQ2-2JnQ|v9AFeq`7KhXzDaz#y*odgptrWNp- z;xM9%5{daYb0=%Iu#%2?yapO3NK%@-G$~h{?0T8cUD0Gnctb`I@{J+2N>kTWFPv}@ zyS@|93gRo-gUkod8r>fg+UF*}|LwO+Pci+5-zEIg8Iq^=`rYa87A-XyO;vwtR{l0eI=3pPjca1mKw>k1g%B5; zvvbQiE(NDKO)jWm(r^`7b@nr8{xBgJBbZwOiH#dmQOtH2Gs~@Tt7_h&nvF$p%BNLO=_t!;=`4G0)YXa>FIqWT$Cp ztxeypuRIn-lb?Cdn)Q{!oTbf0%r3SpG370G_iNqQj@X+MM)@OBE`L_F@+w@*O&Tlt zl@XxTe3)e6l;rn$76uz$m&3noUrcDgD22Jx7w;>j1i9np+NGuf-GlV#pDspmcnzMr zD!-&r9^PPztd;z7U@-MRdR1bO_uKzM((w_2D?Hra`PT|X4luf*f~NO%`^7!NzG~K{ zn2w@@!-~i;{M@<)zNy0d6sptKui%8gU$~3r9AhJD6^t!FNLAU z&wFYadsVmMb4J0LDM3_E=B>`t+aLr?WGjM~dldooKd5o?GEqcH^Mo;&V*N*)2I2S) zEAWHQy}B@IzP@LlYvE%C&E<f z3caUj&#c2H1^2wOi#$`dMqtTX(509k27YX{zX?LGNPF+5D9~Z!rDxZCrU~1t9GDr- z+N9^!ky4`LqgMlQ1oCBeG1BVw_unLH_vm9Umb1*-z&_Vt=ZbfAcsVGxA~TB~!TRleJr2QQ_7!5%FDr*MSEPN61olzM`W41!`WLG; zi{3X-mq@Q>Ml^%i$>NSryO`MCNYdKV9>TGZJvPCWy=CU~!tEH{x z%c{2&n+fdqK4VhX4wV&ZkKU{hY|HW1W2YGCZ^(((@|f`PN#B>!YLQVrkDpMY|LT3v zy^);XlNLOg95=Ca_t^h<(4n#u<;`3(^deq$S?8GI1F+c6fzAGP%Mn? z^)t!E?n2`ONi=9iWaqrgAO&sIjD?`K6os!+0Y<8|$B-ha9rC@9Ll1~CBF;byZyFFP zpiaf-Zb`ZAc&r|GIoL?@3^D#4h7#z%>H|=D04*>6kT0Ggsr(7X$VR{S?7QKLZ0_JC zZckkVw+FYWoNM8?JUNowu|u;=szFJ<4SE$xlX=PzW7m{s2OARv!W+q71|7vT1L%d#REcJNE*qVBvmMKfiB!i>J=)miv2~U4~72 zQSYANVk9|iMK{DVX)F`I)6H*pp_Q!LQKEHaR}SH1`CRTp=5JG@E|rx6kz!unB+U_Z zM71?Mw~!ZHrm~4Nt?_Gbk6XdvXer_D7E;<^&wzV0qW`=xP=qm>#% zkB_1>(NC?V?`fBo?CpJfd|9Gf_-SmKBu_imcG0(%C^{)qLcVZY+ETd8~i z8SZN=KKw~nqjL6GiZYbn-sx*LZ{_<$wbDBon4O1X7~8(GA|1r!ifJS+f}qAPB(537 z;-y7s6gP$%r&&O^7|U+?*XLV~7h}5ZHC-@GfW{$#2 z6^f;0%0)y_EsZx)HP#17BFAW11Y39KqM(YdQhYt_2AQeKR+h1O%Vwp7(=)BnPtgKZ zSV>HEhDaJThv2!`S_#73mwEcp#c1#h8){b6Q+~4mS;0mqINieFTcrgnIJ8;U6wrt> z&6q$W>NNz9!L!}TG830mRe6^6q~cnNtP0;GPmf3$5QCZ>O%%H`D8u{Oii+z8xMwla zNMHK8a)9;ZeBkV`tdk855$_qR3FZ~MT4U)==Z+d^(v+a+z^_k+)_3|w3pUA!iyK{< z*NKh=?IxHZU=0K%K`91amdX-Jl{O4FFb4|7BkITOC(Z%oLCh*)flzp?u`eM$;wA(_ zXbxH)4H4^dahHe!lVFECprwAX}UGvd2QuaqEong_?Nu z?9N$agy&dnzdUFE=#g{znATj>EGHygl!n-1@F6Oevsdib%p&REJAbz>2KZdnee-Vg zu(`8NtR7f_D@)AJy-FJ(3F3B}cS!)~G0SPySVchD-2P4Z!)5;pXrvV&}%|* zYTu%BB|7h*eMA^KYf}0MZ&2|YY|JC96ccXm4tVQXy4ywmJ z7|_c~d50NDDXp1RNisozL`b})#HgcHXtJR@mY7uAX;+pEE1S+cfy|g`;pWJRIsD+ZX5v*5*!zpC}Yl+lS8|Z z7A3cw=%UkKq{P4cbn_kFjGGDWi)f@PK!3RN(_D4O_X+hKd@XW&T9kX8a^-IQgm*dX zhP}_U>&n5EeY7XE%G4E%W@38a$0phop^>M_V*^wubV0z2xA>4cuKXA`OvN+C1m|2I z+m=-fWa2Mu1r3T@cih*dZDuF3dN$iQYN!3aq#DN-Y$`_KauDi_lPiHg0Qi$n9(4Ie z>N7RYC868$o;#|WPp2*7*ou@Dkyj@U920Yend^Qi%2PqBwEPc;V9i_ogpOc)?fGao zv8=)C`fzuSMC4Gxw|)InRV-F?9>^I0ZRu(V=oS$|jw2qMPGv^FATOnZ|D`AqmW@rr zu*d2}Q(eKih88s!|M%>JmqgIxVantrkC%a^Z%mf6U*wL0%>{0R>(R_-%eZfTPmef7 z5U&gqEQb3K|9putV8iXKPoBlg^c%nFH*BPs-^$_~dI ziN61~j45J|q9fE^FE7K}-QGxhwz+hZ-oU^`UKN&Cr8f2OBfjA7#X$d!wp6=QAWNck zBrMTXY>IE@6z^*8lXxtwn5Cy#Px=mz*H}Zn(G{RsX3aWaDS|iw7FUls zz_sQAx`FRjSR(x#t0D~?Bh(m|r2j}Ctw?xvJGx3=zJ0_mXi}*9FrA+VwLGi zpyQZq79r5%I(*ht04cVfk7Js9a8LgeN=!X#fmJTB(uJWG#EZqZ(Gq-50$D>G z&nC1;k-TG2^2iLh##YlYV9xepy^Lj50~gy{Fg~lqI?$I&w9R-uJ5-OHfjgkve}=bU z@SFo#b&JHl8{J&rz^`5c34MjSHeHh+bBhl_=@TbG*vn&-d34)Zk; z%e}tdZ2;lnFeC4}q*8)!$Xin~8MVn|{UwuMqGX)9G8~t{WITVMozA))d#cG3O{wbl zz2U@W>}84XR(O}qRS7rvzP;K$1W@u^`xdpJYqx;nH|2@PC_o8ux~7p^i{;bc@d|kh zL;=dR;knDNq&!M{epKg0Gn_NzwJHpVi#3u9Si z=~iY(9EStU6To;iZl>$@QL2)Hn)L^aelEZ6E{qcm*6}C9tc?&m#||6`0Icvm#;wtD za23h`;Zog-=7+>?v-hGFE!2%v2W$U?(PJyq#=b1|LbwO2XEZY~97O7(ndnfwhG}|; z-n4wZHI&&ZeLLXhSaXZh>Ip8JY;GYyU}-nQw_I=nZ~*bSNG&4n@vFDtmJZL=l)2|l z7jY-=3mwV2GsVEY8RY>ChBHYeB;jU1dQEN`j1Nu#i{=FwWS|$+=D#ZYe-fCh0JN5S z!0(N8));&WW0IStiPz3%IB;~))Pef6eS}A1VyVGPTZA2C2E-kKh|KK2Grt4qxP0gY zPXikw@Y`yBmgs*YX{8(iO!Q=^@tEW$`p2QARAKQbn8!2OTR%}E!K;5dnB{X-;V4Vd z97Yd|OAUhXWf@W-yU@0I&<==fl`{jUPU1|nu(QtYwc7%y2tA9oAotL zWW!GZ@ePx!%7}FcyI~2rncy|RYTy9a$(8kM(elYn-~1)`!d&Z_jJo2Q!DqPrr5RzR zgejch;pZk{mPC^qK=pir?zoV}s&=eA!~RV85K`9yGBFb z^3!L2e|jIN(24ONa<$}-sk$!)P`-H4<~0Xh)mb9zkJa)U)&cr3(AGycH;R$dUMNnG$VGz)2a#UMCyOAFcLW=>+GakcoaoPz0_$iNEYS-a?VZc5;1l7o= zqt~sSYF=d>prXa2uy2b2Jg28=@3l(RKO1408z4<`{1|>6&7vfF^-jKs}0UX!Z&L4oGox475*BI}$>ISedCGT#HFYnBDq93`dKf`N$C|XPT zdviTB{sdsNKQ36eF!|puxUxS%gB}29XhQb@tE#CFf_}yHc&udpYDCEmN8 z&+I<{zx_$2eSNnJy{n8S8t;D>pBcbo=y%}&dJ{Fh_E;#j!D}c1kre2X%O_h1F1Iw{ zH`oK|d114{EZODpIQ6a^KKKW~$=mSAn6;l`UIaL2<6KZXrV8zep8k1Mx>R;DI31p>hW^kY04orGNa z9OBsW+`38b8QdDo zvXPnl5?yjw=Vafe>K3iM!Fe@!MO-;i-!G(q8L@j#5?5jEl+)%Aw;wXNf4(zOv@8IM zAa`hkSIm8h#sS)+j$`av%>7{1{q)@!|E3qkhEGz7-Lt&r@t?We=>|-^(@L1I;WT>4 z{r8KSfPJ&>9OS|H*^Y~LBjCTmxag!Un+FQf3*;dxCd0?NzsT@3$#D7f^!03}E~rI% zt>I&?Z5;O>bZVV)t#AFp0fbF{Zd(oGOTuetPyOAx`Y&NVJgfJpW}F-#DJKzfEf%kD zU)a$$lw|@ew+sqUM_<(%I$?};|0B?`?d=3!CF=Ut!fpAfT>v`^JYwg9QSgY;bvKZR znP+qKQ6`kH7BWF#JO7&?r$^YNeumvQhF)X9sGI>GNm5!(Wm2S}GAylAYrSqzA{-1 zcwNSGL%U0W%#E`zB~NRv)Y}wzM*}dF4yGnEJx$IOQ~~C%aG>49vG$noIO+wElr!V2 zkY`Dvp>dfV0#v3p)NWe@D20>>EjyR0rgd`XsS@?Qau>IP`VtZ)3z+Pcm_m7M#@{l?-BjP-cTh+ zY&&$6DQP%mjRP{3&x~USp+#*eH((|uPVqK*dC?s&S13(M1Kq<+zTzZL2T1PLilkB7 zlRI^L#6wLe!ID-^7}NR?(5c3K-;y(!JkhsHvAc(e?E<8ZqVl`S-2R=D_I|@-QC5KN zuIr-&(fbT%zBcWRM#7?L6&COpRbrd$Dr~9&A;nwpBvjTOA~#BHivha2oxHKaZO$Ab zGK^H{t^KT_bpO*`2@0=IK%MyZxUKUa$^jzhMA|+paliZ+&`Wr*_YH~2XW&4*;WzI$ zo?>uAH-HaHJR(E(}m~h#jX#PAbc)Y=xVcz z7Buj+B9|A=(XYz3V)$o$}#rpm8H+3_w@Y<3_eT@B{rc-`sS1t&Ihv=45~+>wIH>xD;K{D(qzI| zXQ|qrh)i)TvFm+rQiK~KH?ND7hNtPemwmAoFhD9sR(v<2#C2o8|A_A-i&!hqJ0q>o zn)3%cZHh{q+I|0SyAVHy6rLkkp)40O2|gNoA>xQX=mA9&GkU}#Jrywk8+^w`iQG@;48GPK2iNsCr01hfms~MkSza{QDM6f$ zGs&8kuQ;$yxicW}V=Xi-Sqc{=VcryrsB{H=CXE$Na~-L7Tw@Y;s{`o z3K;hF<3MtlIAs<960l&SQ4KM`N%X4z?TxmnwQQdvdavz!2mM2>hVP)#t;B^mThm6b zC;RZPC2kizwLg3oWZIadFQ&!?(vrBA<8-}c#a-$AiU}18Xl+67#-}v5%Ts|#QY^I8 z*%s)y9-p5vq=)Faz{LWhk8rx`Ef_Wr$S3AZ^b=wYX#y%FO3ZFSnxGcadanlpcgBD| zS?6Pu!k>Cpfm|{``gf}-H0^%vL2e9Jjsx>BWpN|?=UFDY%#I*ZDpj-dyZ9%wbSMkx z5_u>sIHy-F8{dznxNMKx>ciHu4=S)X#>)(czUT8~N_FIqsEh3Oe!1BW;4N@2B=$3p zUMHzq?3`TD$kL>?o#vdV{-+m!4Jey_fHtjh1_584%Lzw6-+|;R-L#f}6W0`>aUOZ4FNAl5cT96Znn(3HZj^{pz z+>PD*^vOXTEU;7oy{y4=dYe3as+NnxwV_q3=CW@KGE5t}jwmhNzuW06rv`1gw4(>3`I)i zA{2I^wS=Rqf%s3IY~R|CY2UM8&m?xQ-y_Ep+g!P{kqm9_nb}F& zpyC30H2j;9;@MjWWE63K)Ca6P>v$V`yw7okdJ4h2F=rT6FnLTDa&k z6AL9M15u=sG&Vs{#74Z#(*d0oH0>goP%IN!QRb{iO3$?i?oh1qNLC+8_8Y~sZ=iuQ zp;j(trUL#V2C8UR7&(whID_K)%9rL>zu11%MhZ=ILGi9OTzqFyMG5B-xW^26J5tJ? zcy{6xZ{^+R-DFy6ol};fwR|-QVI2wx&3xxO?p0;^9YDXOn78c(+9__^3g`oPsFhZ`rC9>pwka@1pzm zgRJzc*5^cw-;vuQaehLv@nnEK=WIGQwh<9+ZPk2@5*PgD8>8GbE(`?iCR=TaNANvy zTefcURG7<2HqtE!-aO(C@~bmIFNzd-Q1pYPn@(2)EWW>}EV4FS&aK8vC3PUM0mxcm zwfg_NpvFs6fPt~AM$Pfr|D;C2ak z@&xrts<}R$Lt?E*b(FH%XYMsAEAQVUDk|V0g6d15fkb?R8;$I*48Y%K>OXFgbSz&Qd{jiD4YQNM^(pu-~!BN~*!3o+-PZZ8T zO8+)?!+|D{F)#a_Z#jTHh`@#dgXtyLT4v;V*zj^?4Ylppnr)ty8FDeK5Vyz5;U;Jl zLh5DITNe}D9comOcCOsNJ>e62fK;PNDQkbC+RE`G4=p*0>)JWk%0}Fw(ReM!?$6 z#DJfaw4-T=PJ+E`)r{jGWjjR|)g})D#Wv--rxE(EGp9L&#qztAl`mo!Erl-yNP=0v1u z_7Y=QbcuZ+O3_x8S-d2!aC+O==kM8M*%RdMuJ;i0b4N4tpo1HWC=YA10jVQ7JnWiR zz2Ao3?4les7_OOE;d*I$dHzae&(zM3@=B>ts!a+;QOJ;P2Guj1D)8gh-Sn?0nQG>f z*f14~B(2*JrHvW_c(PJyN%fW#!3NR*8|cy&sua?bNPrw&Te3R_Tbk?X&*Kl*Hc<+Y z#DuTgxjykG@pXD4XzgQ4{Bs+<9*%T6#?F{YG`v!K4K;6P8V;2R&@53Vl`@Ucv@*^B z-r(T0Bt>Jm_ipO6>R>K}=pz7oM$`$kLk=nW_XiX-9>!%%C@B=U1iGZu?ll;LTdohF zJV|#;p`uZCqHMHK;_RX8DWJM@k`om?$?&aPi=$so2;Xwv1{&RC$wH>z259i1n@0NG zpoW_(+P3V~`nIEw_oD0vMVuDgMTA2rTtbuG<90D}@pQt9%h_Z6$gv*05G)*CsG|8r zk1@(42r<-`TRySOtk}l&VHJ^6w4~yt5`^}@n=ij79JO>J~|H~MMcC__9#Q0>@z>=1!8^d^P}Iq zhi$+xQa>tiLMVS-ee?0mW0Xeg#(6h3db*fjl;Dj4Q~J74a>!sSUPYuQyDC0{-`0KQ zrX)qc5|JgArRZlyNdqFkpf4@P20UklzG)bK`VR|Je8n{M*BoZu3}ZCion-dR8xoHv zK%-I@2+N5IN(|=7PW-p(ByzBaJhbKhh(c;03iTmKQ@Dka@bf%E+=)BK-MF_=SSCHh zKIwHSTH|f+BLQq_-252$K;G))Fb=OMIi)LsIT5X#@Mf|@E2G>bdI|{bbnU0@lrqN1 zi@7LeX@1Mz5&)15W#L2hGeOrzB0mN|hSGMSsSJMvrZwKQ!0&$1HXzxOn8)?gE|A>g z{3OKr^*Eoj;SUx-`9D|yQ$|bqsgQ7?5XcWIhsxE&t7yYm;)R~S(Y~d0B(sK}==BV@C6u$q7MqEE4j}%skTZ|xS zxX%VM%(OdX4@*(PGK$UjL6j$F5FVGP7{2R*%BYy3HNz}zkZh;ep9I_u_@7xw!QO`t zGxv;tXM;~uT5o<6pz56QOPLa|f|)L{=v zsBP09FzPF9+9MNWs((oLGc~jjAT>aoz!p)q`Bj?jqW6g!FmTIT`c9 zi9TM;+xixcns4pp+ylUVrQZ2M-`}M&QNW;0%F$y`hM6f*^1cxdk71~Hs=rJ3I9X?2 z?oYlZpw7w9vhLziB$~tW07vI2MLgvb6{`Stn32EHsn zzvSD1=$D22`nWi-Lro*ivn%EK6*N>rB&RR!c<~SHK-u>C{T<0K1EAL|Ui$|_e(<*C zNN{9B8B=i0iCuvk=#hMVpVp#?bay!g$!}EdguL72gX!~Fkw$gwQuw%wysg2E!!ccQXRkWZ6}}QxHzt+_{KEQ z?nb3$CWt~@VLVpPxtEHWGeG*WMy75OY!0MkqwcVA zl2#@0^HPb3?X8dTVI@~OWxFl76-Gi|0*Tg?C%x63oxvl^nRKy>&uO1irjILK9!OD4wRzEZxD$bg=;Y@Nfbid@Ci0lJB`PbEnxc!R9TD`_tnxCI8kxddl z{K{n2#w|s1cvU0>K>>3T7yQ4duUxO4ZWN!o1?d8@I0!@vT}BkXgJC};2B~aOUZwm) z-W6VPdsDuH_;PVdGxyIw>Ts+niZ!i7kn8}Abw(&7^JK+IGk#4u8b&KqFW7KE1Ko%_ z^cikT9bZ9ZH`n#Cl5~aU%HG6};bNHi3rA2|AVy+(;-b^GHZHtN1qA_>t_<<OW5|o!)(5#p*df z(`2U@Tats^U>S<7cnzp<{Z6Wbb#6fCcsOu(fbP-~iJ`d^)kzX{IuHR>EnldO1Ub~f z5hy|(mjbs^7L&w-kqo1loZu0=0hyZAPBp`%uw;SPaK|P#&yY`Bfq7Z<;DLd({7luc z5UPvj&%OS#XT*3Nh12m#3khsK)FNH8Y><|_Kf~t=ouY3Ly%=1t_((vx;P#@&74mJl z8me&r*mvQs<-};9r4pau$5j2fNWv8RuwvFJHmep>1RhU%b9lpEdA_eSu+bexH5l=R zGK#jfjLu!K-Hu3&@=~%~yZK!KHuKt0spbhtAc$J$h$At-C<-HyTK+@o(s5G`Pp2S@ zgD`HXW_!E-INsV9vlEhoNvWWYm_ew|HB_^bj=bjsWX_-gCv-Y^Tlqh^sSWFv)|^-B z;GqOzAj_JkNdG&V6KjzWXaBMBZQ}hQ>vjVO-);bkh6?8$yHWL(!c>T^W%140vLK0V zN2_TBz@=+PUkCYOSL*Zusdl}X?+odxui%#AR2c|bZte>CF33t6wLVtGT~@&1D*}1b zqb0b5s>u~A8$07TCD8eWK!Rxr!Q;rLtbaBg?47oJ)!bQ+2R=*U&pZ06Lb_W$EC)6gEnB}={ zH2?AWsYc!J3&P8#Nkhh=a@2-2Qn65@!!qyieTqDshaLiSAW^?^SiF*`Ya}OEEqUW9 z#PW%0yqg^*2=*i>3*$yT8Q`xwPxjx$mCUDfYO08ZI|)28h>|W}W1=J)WZO)6nwoUBW3269nz(kH%{sUX|5=xY=iOQ~TH;7wQCTTnm}xS75jv9g@T6rk9Q ze-j+P&-ShTu}K`TacfDOTK^XD%+LISBGzXO2#ZziYhqwT67c11%$PIz1Du%{LC<5j ztlFw^v%GIoSfD07veIqRo!VcQJIgW@%QaHk*9l5FvGi^{(qDdYa?-Si{PF1Qz`THq zQY1@Zb$MLl53*cQOr8EA_L~zjAQ_=oipOz;EKb~BQ~^MKVg?SbU3duDOs<}^q989J zDmhetR9z%XR0EQUkV%8u-}QF)$ZOPIohq(X0-HY-sZRIrI0kyHX_CNPBL%|^=`^yK z3Hikik3m}t2p!AR8si(DJ$N{ZY+A*Zr@M3M1$;gylO3l{pgZnT;5YV>MXCdvH5CVS zQ}_GN*M#2-8!19d6v&pKr$=3 zr|mxbkurEhRz*j5{E(pH+uZqu$!gSI*+SwchSYwwlE1%!-)`^t=#c|;%I3wT&9TFG zrE+PWwagik@3tcmsI$zGblzu4hT~;1ZcT%zPHsR?%MAQcj2FLbZoKk|kB)%2ZHslq zA0-F0vnD}GtP|0bvFJt>5?}jmKnSh6cGLRHm+s&)G6b7`$@l3b;?JDgXEEt{q=6IYY!FW6yEe~sQT3WZZC+g^F{IQcGQ@)XtsP(2BhW}iviQWmjpN4<8G0HM z_Z&2(DF{BS1Me5NysZPW{d(HZwh3>^WjV&qfPlpgH(Q^2Va$YcORp&dSU~iNuS1}! ziF`YCQJyB%f~+-ogM-DnqA)w5Y8}y%H||XiWm2eRS!U^)jly~PXta9}v~1yT7jD-Pdq@=-2j5iNh1@`iQ^+V!zb#y2!wdGsOvQ?O-^HXTb1qTFiUU4s%kN zNpJw~TrEnoNc`cFxgy`B*(i%j{EK6N=j)utWb7M!rVLg)k2(aPob~MuiC!<@sP-D% zkrK4CuaXBDf7Je1U>S@(9sXmR7bU%p7gc$s$z{$AA9MQ1BW=q+i?&cri@_1l_AI(8 z=t9%#rJgx`|3`{cqi^x^3PIpgaBk|yLi{VorL*q12WXk5+Di;E9HqNK)-m=&fWxFS zJ7U=v$D}(Y`7-TBRiB!dxI4clSTd5Y3*_wzuP;zTq0lKqQoC1aJiqav0u;3tR++S} z{O)GxAr9)wmQ9HKBCCK1yUhMr?c_%hADrI&!)LD_9ee8mVs6Kid+>o&aUZaDn9a!^O26yN<8dJin3=RIw+K=lKPT0 zgvh->OTT=@-9aaQtz0dYlX$XcR%RWslk_cYM?m_+R6r3Y98<>*f`iHNGvtrXBw`NqYp{dqsdog6;> znskfre6ZXkep4jAA0Z__`qOlsWWLLJ+tS5$O1+gUti^7^SW-x54^>wa*-WM#7FW`H zO!@0eh{qDO2*{a3Bx>C8$7PWHzvrG;Z!gj4vb&NVFRHZ%#bru*^x?OcmA+}yvp;tW zVP!6jwz9i^q^m>rk~pi!cJmNcz#A2ykmquG41>3zw%t(fvUiL-c(-cL#UmnvApC?9 z4%j2rj#5|D83Lwq2eBb97?SX07w8sQ;;!qpi3^;2J%L&hQwk>`uxwV)pK!}swm_UnG zsE+HfP*QgCB_K5znDFK%r9LpFNp>+$e5iW?U%~kKZ+)uuBs}T+0H8BUAp?v?<@=9-FpKj@473jMsT_BYP5W9@)KQ&CYix~%9y@c9k zHAQu)V>Xf3_e&9&ItZseDlfF<>*)_cji9Mw4*61N8$#T3NKMR9-7N?i z({)jR=NqR^JK=l?{N+%Bh`_&zlUo8)MV^yyz@$i~mpoE3LhQ$_CyRj9WEsd!dnZ-L z>_?qe9%}9IA8!)?FEo7ac-8G%HpLL|fB)qx|COhk1;hu>z5{{u{wSkZ&}Ynj47}b7 zV#rX#BpGNiA;-$#Mu0;aD}t*dn+f=**rntxW~0$_CAl4s8-S>0=DZL5o7f<4*T@#Z$WSQKJXzMjRWO6QnEbht(_w1RB`CGhZs59Ls|>4 zIK_}BoKKB3Ph=xNNzLzb{q`*W(K%&}k4pSE8vyu7Hq&L5vc%%T{&)>!&})dJndXyZ zsh;X(^~_*|!zE_|Ni{?U;_x#Krp{)9di%Fs^Wrvct@p8pkY&;)K{{V|3Jg4rWfCWB z<|zX3(B!p&Qv1^I>ZSW)??hhxbtQz;B5th-ZGgWdho4yhu{{&8M$-Xr6I!w~RIvYw zglMSHF~B!wjp@LI&kOZ|R>Kr9SDk^vW#0f@#h4D{m&p#y%2FUZu>+FX@GF(#y5sj2 zc00gr%yq?oR>d%RSj*c1q&Vi5qrj=R3V7^(N+pFXrYwf-SK1YsvH#mG+-o1%6kz}U z?p5?FNj9P5!1m4b4`1Gw&!JTc(tG>F8+^1GzG{T-V;N`JV^#U*C9{qFi3g-q^oa()H#S zpCRFQ*1HfoyZvnh;9PP(`@B!V3kS@P*#Rp1Av2)R*#%@Py$INn51djNZllr&LOXDO zzAtcTDYMsQg*RAfp;-p>LXRoRC0RPjRUD}W{&Fz?{7*VKz@KJMa)x*%jRL;G(VAlMD?d6{zo?7FeCGsU+YqjRQ+==Sq2X`#I(i+5r`v zp>|iuX1jWYr}wZG@dM;QeRXkif>TXfR32gA*?xD(?(g6KhsZ_%FIj~0tmjf_0t&o< z4ambd{}HS5g@A2rex`5pPvPGXb?P|b68vyYvG%$5a5anDPe0*%;PvA^*#&iC99a1= zKH!FB@GDn#85qT~f*4eN(h)of?azxu{TP)V)3V-WVkikS0ElJb%T-*2zyDCHBnV8^ zJ#nAt-Odl0K@OL-RcHhKWG*^5ytI)xsDb~q#r@y>=-IG9kPQ#$`}5uZFW;oGK!;LN zj_S!@ud2V?Tz~%Oz#H(6UX$?r%^CaeQwQ0gc0su z@#Vi_{~u3B1GzzWk^8~@)13N$eU?v91X@gI{rlzk*RlEM6aBx1`2VyP|8F7wxncf$ z3;pX~{(pZWsFE82uieys*3IDn+|3+*`j7=J@UPQ|bfM%S0^YXJ?S&z`F*RJk8JgF23aK;3Kb@vnCcF2$p6=J{Q13C-xH9k8fJdcc?wtkpbALLdH~II z=g$ZUAJS1Orbo%|vfI{^Mj{|=^ z2C%(1myMODEs#o->?N~6&EOsbr@g8S_Cxh=SJ5`iI($jlH5 zJ}@Qreb+;IAB-buQK-jz_0rCSIq3-R|MF|eA@g@RV;Tms&&+o*cns0m+If4>blcBC zry;1;23)Occo#oF?>rs@b|eDKrS0}dU+m|r{=@A1@1ik|G>EOu;TwKrZ%M%?W#A|p zQP#yc`0*^Pwcd7IKbF06#@S@k&8|TZbsCnV5peyAg@=Mi1QW*-BqEu8l;mfwOmbXM$KJpxouF zb(5nkiV-42-JA5x5&d&W#((Vgv_$AGPNb;KQ0Makd3@g#AQ@mVrkKOl(3fqVPbW44 zvqJ-E?xiRs)k6oNI54SBhJYKa52ER`fq(y)e_YIO zIiZK82Tr&XSdKt&)C-Ql=!0vJ=fwdb%*f%^WMz{&<#a$J$Rv$o-WyXNfCjOx$Yc5L z%`EV04ic7PRQvdDE)Ud4FX3?-K@C>qF%jMXwv*mB11xHwt!tu^`H#o@&%4+d%A69& zqr6o-;28WEN}WN6H36sYD6B~5b5!GNLNmSBA&-7qUVza9N;V*KcQywfq`De-Ts|(g zfec}7z^>=4c8CB%kL0L?@pee%;!0glwbcq0ANqYSEh#2MV**72r4*g|I)U*G?V&zML#WKzb6B-qS z;!s+vDJuGSMy?erg#YmZihRY>Jj2MmmkO|13+kVE$aHkHk zbR+=Alqp{$XaBmR2e!aeq{*!^&pSBK0Edh>N;mw_R;&hxgAk4f+NYu2dWv9>8XVQM6$2ZLiZxD~3a zq`_|}KH$4we>#tLup)3X&Ibk&q?{FwT<JsOk-eskJo zK%2r*cN0uoYzebj05-wqpoSVc>;a#i(*|&J*sC3aUp@9?D3G6VJ&*z_q@6fu?t;}q zdptBH=xt~ZP$TDcWs+ZZ(TE1FKum%kqM)#em?O--yaG8w&o6lyGp0$Yq%&w(Ll1Dl zFj)q~baGjmEs}i>tEbacVL5R+s6z!xjAZ~VkB25gv?x>vRo489eQ{Z;+mQgcmNSr& zS%Y7y{!3qa-wyETQ8BMxs`a`8zp>qeeAwcBiZVmmOvbjZz&>C75zNCRDgdzllSk__ z>e@+zW4M>&S}qbnzR(L^|4x=>e(N{$Vx5VHt+1R_zv?XcF2(xDFoEl_&(g|>>E>zD z%0M=tx-XBZ5P8Rr%8X*aj*)k>#D^P<;<*}<^f1$BNMSwu{6b_}WL9cg{_Pz8pNRq# zefl6+%P_|xf2=x+vZwZXwBdSqsUO5zgFgNfHSi%;9N~r4@eARR=1(R}7%eIs!IY!I zf*WrA*C&4X8mmR`gyYw-kVs_Cy`^0-2P{m=@ z>-h!V(!_R~G?BpW4DSFUShU^Bq4Cvi!>nawdSJ55NtByp z`)6AuF907;m9TKeEkk;%*gkEyQbnC@xn-905E!4bOy#`8NdIb0XF~4fU#=gjM1Te9 z=e+crA!VoPcrrJT{_1v|0&gy12$pzlH$zPika45YP96h0nejS^pSZ%UyV+vA&=_6~FJmhngVjWd+lN-a8b* z(==#%mC?)S-_k=gfor^wPd#vhbA;DF#weV^kdV2U;Ykr);*VOOa-fPFbR7ju@(RvU zAB8ld%vEdhM;wJHrT|Y1kNn_$5U7yFkv+*C%7=XVn!dUTJUh_M{vQv*t``mkKr{z$ix!BYm3}T z3_|~<2?DK?j)3af$j8eOHLK8k)djN9{m}C^1<`i?Zo3JBU$TNrS`jO1d%F#OWJ94P zc=7IHV|q^gz~+5X%An*50w*z4IZ8gkW9to;qm(qiB1|riwMDv1VOx@8_BO9(+I}(~ zOhD*N+#NKh+sN#BUVLsoA!WtS_@5nsx9lKGQ=}IWN0%8(Bl6iU426Nb>pd!Q*^SDy z&$lfwo`08Dpg&kRIfYS0Psg}XkK`MAC`9+jpbJV1mCFsx{AYvG_W~AVzj>)J1?d(U2-x?W% zqGUr)=Y#}HZ~L=zZk6`#%s;2M#n0?#!qzmR_?3}Ah>YnvgM{Q5$G;-piQ+-25LJ-x zQqk}A9V!pCe(bM2qp?k=ENkn4%#F^I#Y2&N+FnBTS-9CTBTa|*PS>d-d2gl0VdZkL z4UpVG-pwXCS@Bcz^PR@-6#CkJ&+@9~n=0SxO*|aQ7-FPOE!;lfH5I)1Apg_7F&KR^ zrkt$27it-obXu#k;ja?~6D|wZ@;`)eGyu{#YO`aB#!soxFM-ybf zPi#v1f{#>V4^QpBiyg?-Xzu6@lerw5f@~(miF35Yx&ZU;Xc|#A19QMs{(Nf~e?k6R zwNliyVL{5-ui#>zq$_R3x;9#5^dZ=6A|(1%LK+9AKh^QKof5MfzgsjWk7_CO51bgS z6i1zg27#2o4nV9e`!a2tk|l)SFZ;N(xf>7XD|#QRW%9d6k7l4Qj5%fRcI`o*Fl|mE z3B#CIw0xmEDymN@x=@D{PorzL$q}1-IB9{wJj0_7`%ra#EQ5h@r6T}98+Dj`?aSB} zC)1C5=KJwPPOPlMF>aT*)Pi`JP5)@JAt9|DRVc1RuAy*PnM#XUG&PeC70n~cWgHZ7 zqp>e0`H#n1l7Oecwb3dgHd)5HBApFXy##epj#l>RF;yTsf>Kqe6Rv#4Lq$C}{@X!%qc za-29cTqJ9Ix&vHdIXltZcx-ggJ@l?nlp+{?DBkiM>5A#gWR47}3_(+u`Z2FFsE`P^ z(NeT{LR6N;^dSI#!Xk`cjB`v2-a=DKa`=q)=+PzwNAoYK#0}nM4J|Z4#zvY7jHRbi z1x^dZlj9H&5ss=uq9sC0LD%9t%yf)Op(s>#GY4{H+~c^FK9XoEUx-z{@}jQTHC%5X zKDwzeLrhl(Xd)s`@com|yDG zq+CA=`RPi9q+O;brC*ZGGTnuSu&Ha*9*w9XMONt})0!|R6F!e~(Qm$w-Trn;cN^bt z28;?I%*$=>XER#wQWfiB7uYObxiV>*g$>6tlAAAF7I0a)%fMb* zzqiBoQugjcTtXdD;iv+Shb3xNxnsDzcvX1956}Xss5oA>dE=r5>j=IrR6@WJ5tKCz zMBEF810rBks-*K-&KaVJPCd@?Uh|0Q6BiP$L@}25GbxJ1WQXO8^_LF@>Mmgf(!HUY64lJA+0em3P)$CN|h&=YOFAuRCG}W=A=s#CSQlQKe}XW&&Y4E z0W9vBdFFQfA*6-d(Fg6tbdEuTFW9AHSPHm1v-kKc0esMux? z(|jSa==dl?6V}n##zLW4Rm9ZNM>7_PauXBEf~7`Dm~17mC&PtqZIZr1K;@ zIL}VJy#>HUdpi0V9vaXCWG-o zBx%uO9{ybiN5Zq)w_p%Q?zi(3&@w(OeAbm~1FEd&yX4_LwnuNnWR8>i%C{_wm?mV3 zbU7-SgC1ISOry_wSoVfFSh8m#w(?1CuL0StoHl+6A=AU)7)^xsP-2rQd_~zxmy_-G z9lB|k$oCgj!PU9a5@KeYl9+{-QoU%#o(ETPPN0L(={-Bl2@NR z2vay9?8aXa6&&yjL=+_SDNy!WXtO=>OBFOM#M&M!{X(bmt<{RV>iAdNM4Q(KR^*ot z78F{#TESy0NQEwP2#Zuz%VU`TD4pp2DEP=?qCD^TZDDRxSAryZBq~#G@#F32<=(`C zPVUK(X_t|YuLc61g!lZ8r~x~%0+(ia?*Sjvo$a<}$Ix=4q4vE?G0xVzz6^)Y3#U+9 zn3!A4*q=-|fpKOj^IDV_8i5gMgdIB)k|l#q*^T@@D5`nB{8LJndtcj`+kLZuE=-g6 zVNWf7%l3x$A-j6=m1|{lTO|V#(zT9OP>-P$9{2x-E1E*Kjri-gScN_mk}!OX7MAUxpUnfaCUch^Sdb_ z+Vwu!7nFQ1=~x;JQyveS)#((T=K5IuyWJhTb-IP`jVHpte`P?&_Sbvz)_roqs1_|g zgY6va#K8Gir;YjdISxT;Y{k1Lz9357p(S zByN}m4nF#zQDGXtHK>gHNnr*S9asTRPxwJVUGpWWphoF|_}x@uU^gkhnyDB&vl)dGm&tcsW$#~XuF z+oQS2FssY@OMt_a7u3&*-Pu}EAoBfaT4HETN9mT#Wk5)Fgio(>fnh}$LBWN;vEU43_t(*#9 zBcKT&F)spW$u0>Fzg8J>OO!~FwJEKJ2K8AV&3uu+5zM8Z4zpFQb^lNY8tXnMq|T35 z8b24xG#S%pgV0aZI;yzki!IGGHC(VJJJXJ87kEG43{*RCPaigaCw*nAhfI(!A~Nu4 z;p92evE8=fLq?MAy{ktQw%R(e!^Ktes7-nZoM>f#E)ePt?y0mAeI!?|a%oPYFrp0B zF4dd?%sH-Od7hhC@gm-?=U5ZDnn#d$_G}mS`^asAZbct3k}Z9T%fO(^cYy9lK3zOf zo?FlO3y03W~dtZG@H85Z(M<$lo zeoT-;DnYNxqx?SCQ&RNzLR7mjImtTv;>xG~kgd-*_bcbgtf#`-T1@eYypt$5la_?0 z9p;5;;+*$cyY6M@4}{`IV^c^D;6675i-w7BF_;;&C%He*e5XTq>A}7nh7mLgFCi(~ ztP)1<5~@XpG-al02ADvRMnl=15VuJxbklH36RO}#^Tp`Nf&Te>tfmdN?L#GHyOWKW z%3}UYzERtih4Wo;46fwLmml^orgfI#?;^~~th3%bIlMeOP^ZLLTlWG#Z(pVOXe(f2xp``a zc(T&M!jW@V)gPBu@dqH|8ekvw@G+rac&8?coVhg>^|%l2%~ad2$?48hQ&ek{VQsq& z&(o}CkUThmhCr)cw6HTb6TJM@dyg6aNUz~8;^Y5FXFk7tft8k)7*>>EkUWL7RNE?0 zrh(;i_rbF5G4Nz~tdne>%Fx@3@k9-y*-e=Nz1X9)OZYoLBjrN*kCoZS?Iz7EpJFrj z)jsOFEBMY(86_AueJx?TewSr+)1JR_xYANHKmjiIBaF=X%O{SA&Pd8`a4BxYm@N*< za4+F}=`n8lt$_z$>W(oVJ4uezD%#T3Yr6?5)L+H6pS(>pr|SZE&fO^JHENZQ0j_p0 zWu!=z5H3(x6c20ADYU9B*=(#NU2B+`!bn+ZSTB8yz%Xbm4=|D9o~438Cf(kMXnKJ6 zWWOm9{Xk!Ebf=EMZ%3kXM@7J@ewf3D*Ji`_fh4kOy=%3F>;PlG?S=CrH>nfXgZ*h9 zfTck*#}yV?tQX&y)!KJ>iD5xH=mi&LeuN!W9{heTX(i0emHgXW19P<3uiELn3QU$; z@+UNZQ-JI^`~I6=(83hJ)ljz?IX~`Sc&oNfN;D%`@Y|p%MvbBnhj6MJmR0NRUk6XQAKm>K}GskUm8+o)? zX!7|t+tmR<09|e(P2^1ro6gaHFkj%29~ZT<)6pK`IDJO%hT0C;qjX z4r2xsyTy0Cei~b1Zg7m#ZvLYh=ysr;|MAQ}$Jl12FPhk4N>=Ll`xeFa0`Y^Biay(; zMyqO9>42Z^Jb2@8Y!XXOfCUnlTB1wc3$=`vg&<=%7kIld|rbx%7IENv9mE z^l=>o@sGrhrHw{-i**>f`rUOa$ZjJ3E%66Mz#`#YRM^=_2Enfmv$uUR=xl2B-@Xkh zC^xPXpg(YAM{Z2!b+9K&kq{g;i*X=AP;V9SCHyWa3GN~STWNc#sb>!|e)DidYa^m6 zX0*2buE5zADLsG79!Ozn7Z=)_#4TS#gXW|ULsiAK2{*)1bYI`*kHRpYoU5NMxB?il zKbrENXntDyg>oG20z>^_jKoJX-c%*9WSP3xGi` z6&jQmw3az`MNzM@`F*vq#4ste-RRUlIbu3bDDKOvSKTZ0r`5H?eLA(=pUBxC%vRJ7 zc4^LB{TR#|lRz7hjv{MKQVEkNwtL0)(N>P`L)*s_gxdq9*6-NM9biwX&X2bWj;t4! z+-UQ6&}c{nCe6JW=5Y#&SHmq{Aj5L+xpy4y%#xB4;~6r?UbX*BlKl648hrob8I)4z zGP4#1gDXYRyWDhq(B>HYlBs1f`&d#m`2j!Lo@iR7F0j;3p_yx6#;hLLvZ^#`D=Ir^ zWI!g2aMsDE6A7=?OxveDjMrr2D;nI?U@$4QfpF%XLax6 zyv?)w!@+O*^}ujgxkqC?^kN>E@UkgdWf3Y3b=yS{!z=xU1re^nNIJe}(5<%bU0~7f z&2>JVm z8RV080aU1HNQSJ;({AC?s_R{zaly())u!Vt9ot|wyYTOQ>{9#%om`nj4l}*2iSOL> z)^*NDA*WH#pFiiWGp}IGt~s%kYUn5Dd`KRM3#)bvg*cUvtLpgt^qF?pi{sTVVK7+p zNo4G-?$5BN<+;b8F3+m-=IZh;o^@eGosE5P?QuGH?|Ts3?CYu5t$3p<@6MeWF8?Ap{4%+WkW4LI0XsMQXH6#S2{) zz&h4g{c#Qc?uay-EzxSk9Y#*euSE%(nDFaoXH|9J^(+;oeVpYLCAN$D;{Kt-d>TeT z;%@8qVtuQ}9s3AR=j`8W2=G12)0cvr*v?M&#gl1MAhB7YMJkxQ!>+UP)IWt3?frls zuV591@aF5D63t5UA_+^avFuW)b|(v7MUjiAcVnq52CLTV++oa;ZB( z;)>rMeg@lojKBUu`zKbUm1dYbM{xnzW634H-X*EeEagLA>;X=0H%P{J2+v4dHlGHz zg;aS~vlQM3M>LE$wwwI=8KU|<>1R);QQiicT!6;q1dB+`953q|pUS|&K{>M+*^P~A zC^ySFHy6)kcXRRjOyIi(M*B_dKKh8y$T9UZe{^6NzQgw@sr|dnPxmV6ir(Iq zCfcvHWMi?R)kXX5t)XDB5?wOg!FiG^j_uQB9jqUKaiBhFuWI%^nh4|ao>68!#=@3Ebl2nNSWC%e(kdp2cM5H^UyQMp%yBq27{2upy z_xrw{?>paj{ypog<=Sh;J%cLoGvw0)z~WCUwSTw!%)5E=p}q-b-Jdi|K`v;+6Pc2t65RHC03=A!Wvd3BsPDH z)7)X!{In}lGBZEhu1D?fDLF~CA1iT%E|_vSzr}q>$$4HSO;ID~0UW>rENzg+{_U7RH<3a=C69uxE0T&tp8`!##jS(2 zagQ-4ovU&)N~p-2S2BLuvD;y0<*%)OlIxQ^rK!CDd{k-jysk-qvLxy8#zWiX@1X6x zMJG9Vdq-;a&7O~bN&ZC|tQkke%dvsIuvO4gWc52)B9Uot;+D*D*tIWI;k*UoS|!hW z7c=VEGY&D$gg&F`R%17G7sbbzbNLr%bpAgERV+|YHD2_3hy^@v0As-TVV?d%;99eft^2j38WvvG_}dpgSlNzVw^VuzP^Bq zgmd8|zaCNS4X^=FEE2G$oq!X~6`|nVo0Z}u=5zY_YO7;U!O-|w-*A~ur3agup21S7 z893|TxJ+lXnO0JI)h0fn$*OS$BawqR;@-AbfvI$6oe?2q@dB3TXH2lDJS zDU9S3l}<0DpQG!VGjP2YHGlNuB!^(wIsrO+<{l4JEYk-I(}4=u*oEiK+&&X_&2sj| z;CYru3Jv~zhmYK&@{FvouCR==Gs%lJy&9f!D?i>1@ZFcw)vZvzcSK%navJ?dNU)7| zf3>v+9rc0R(+_Wy@sUEvRT>aF+rh+hDj-?AhRys~rfgCY`KP3FKwp<*m0CAcf~nXE zoRsMy+ZKG(-f@at?XoD4zhSF|O0|PJnS5PRY);&5(+@lfPu^$b=Jho4)|>n&GMT^E z^8+-$rt?iTCDRcQ=Lza~q5HHqMFDLpLqxi(bbtRCkm*BtusT5Dq9OQg4G`HKa|lwG zN0eWaveTpTk~WB<30WNSK@0E87L+G}AkIpWTZ6#F8jQ--It|54GI917cCM8-96BAR zGxs7wsTqBLf>J2GTWKT_O84z12o>| zkB87cPSLM(H7l|dTHnDgZM;z)is!MNrJ9YyIXYez{;`7bQG$S9djU9E+>ECQx{Ko6 zepo5ozK}<`EA}6MLh`|bT{iDbQ_fGiv6M`+TGB9N_dhtcK_Q2<4!Ca*{zNf<$M9$x%r1qK`d+*wD?6`CYt=g1P z!DK$I8t*pl@Wo_ZrE{l$jH%u;het=JgoVkwE+5~NnU6l%6)q;5WHV}U1rbJWyXGmy z9VlB)iJEcY@!F&I&@PGt&o(<@s}!hvjiwgwixC7aiG8e zbUi{jJn-nTkW>RlMo@!Ywt?3JHHP`QI9yw8m-pt1p9GX?oSZo)9e@<5bgK`n9vx8a zBB-quLk@P80Ya?g6N|+&Al=2Qyk2X|`Gs)pM@;!Ez0n>0Bl5at zN8vvr77EO#eSt>VCYfDu+zv^2UxJ`r)+gkE>@5{g{SyLU55a+{+Xdo3p>9SkpSXe# zSym0jewHr;aVzCt`fF}$1jc=o)a~;+H<)@q2V{>qgq;n^m6cjFXam}A6{c2rU^3coMk=+&`O`FsKpou+(L!@hI&>O#}yEwk+M9j{`A@3$is;-m1WiY zlHx6Ze2hV_cwUJ(q~pSA3D6X_`w_BOq(A;HJvpQk8$V&9Lyg*KJ-0eM%XbHLQ%!wt zx#A9TkQfP0Z1n}b{t8WIXuy4Z^7TuFVy1E_4{^q3A;iFqZgn=JEJ_QNT z{_qpuc>l2&!N;3A&3$&6hc~ZAj==f2FTUNof{-FjTk6|7Cuq z<&W6dAnDY&M?jXBcOFN zd$V;kkSdRk>ZoC|WU5SroSP@};6>BQHW0f_2W`z3ilr{zU#=m+f-fyAeP-55q|3e<5w-)>Kl%;M}{xhwZ46~X@)ezKTU9i z)46^M3A67B50Roz{Y2N@MaDny7=FJS^ZvXqm{q6z>1^zE59Q7%Ruh1LU->Jhz42+F7j=9EWD* zz7{#vcj-L|LS>~#vAz|ijDpI?K$FYK$SDOMGO6R#_H+AVoc3d{0q;$O?q@q}CgoqSWR7`S(!z zK)10%$34SQ)jP_BNc@d`;Lu0B`;E*~31@!?q$?xFTQ6}mjO_ZxOUy0LIY}`2-%|=A z3sP4MQCW=bvb#C10VsJUhv+(jFL%#7m$=CjJ;z(Y#P_9N4vf!G^73N$4r*8CB!%HD;fGU_p)#_b57^6Tit$?E#aE=gToG;E zv$gnCcgR36DzXS%dWg%>$|{4Nr!Fn+owOU&HNk{>mLk3nPj^ADGIuEvT z9;<1c*>RN;P*q9Jvddw82A&Z)+W;slp@od*x4vk^Vm64sRKA0ZX4gmH@Ud%`b}1WU ztix_rkAq{y!dKIJ<~1*lz~lN!V95Z^;LCuch7YzNPcPjN`{cd4$X}YkN`OaR9t?!s z=1lDD4ivalu&ZaWh$SX9+u7RSF!VzOIrTnt|AIvNReng9UHTBRKWJcPojiuk@8R{r zgqy7Ko+JwYup`_6M!L+aN)@Gkepp5=eSoo8aeA%5^}cf-lux(CT%gcipQlN5@jcBx za^t1Ps*J^~oc*}-$$o1b^DLmJPl|-6&EZ~cKGZ^kKJ8v2)2{d)P#d%Zx#Fe(Aps`r ze9*F9w5yg1N(FxeCt-gVv}wVjCV-EBdu?>l>cG@sSlWf@=*^s6VCzbZr7|>mgv)~ zH@_UWg0@$?3w|79o@Zs81Aaf2n1p@lBRDHDUz~`%e_8k%?pI-&Sh@1#j>Ocv4Sq(e zt3PN-n(I)OqDF>(_3*DGWiU36KGpJV&Eb({7KGukM0CrMF4}=ETNyn9zO+^yy8_n37o6tr%aJH`XAA<1xd&knH z?=Xnlf@9Kzs3Z4T3?-M&2gYe&Q~0AKoFpH<0cDvQ2Pym|d`}_$Z*tKVFOH(Hh;o`% zMbVKXSm}_s7qeO2NBSB&SV}zy6T}0rf0MsWCB+6XQ~U`&ZEp@bfY07>%930$j;VDo-3z^z4qd__{=+CC)-2zM_0#z9ED#UjOW%$Wbn+w?o`l@ z<1pXMJKH91Uouy5kseF(>=Gd9ms)saBP11_xOR@B=AExmC?0M1WS~HNsynbc8l_pX z&&vVLcO}i_Sr>2q7r)Bg`hqu09XZZfocUIl@m80uTKukm=vMxF0s~aT+A1J2**bM| zl;Z@w{{^V_8}Yjd9=kOymhymNj2#OkvRVQ)Eqtak8$ln#lKcf?eWNqUCbgOZdC+2! zxLc5;4LKrnSa{ZhC^;)$Ug^-WZo=ATveZ($ftfp-_Qw9^k7C^8uOmM#T&V<+8MHyG zdG5nnpj+0^R+i%9NrUXCsK;>{yiirp2o-@B9+ZX?BAc9o>W3NBI^YHGJLi$Oducau z$&8zyEAR)?^gh0@P_Wn&`X2o96zrZ>&4eQ@p=nUs>VG6X`4jdgdNHw>%uKrBX`7mwTI83{={ zLwN@{-{KIk!p<6k=iYvFQ1i`pWgR?5&)K~M)Cj$G)hF}EBv`wG;8+^0Md|>Mqsib6 z{WRe$8TA*!f!9`bNjb@EI#k-~80XzA;R^@3GscY`D}Rzn{LpbSRa- z_{Ky)l;?tqFTY>;S67g~xN`4*7IkwSct-o)aQ9ZWE=Xj5rL=(xjf#E1%#Q~(Y+gX^ zT}rcgHO;V$9w#OY_?i1Qd4liV?Oq^ey<61#`KD;zCWo$!(aw7*Yr6C)I`=W(&??;+CkuJVAQBm zWHfcOwjTOK|NFPCr?r4UAP-g;?01-UIo6ftbM$Gf!t+%2EsmM=7!GO2F?_(-J3ED* z_w7>a(=_qLNcYB`4am``n_F6qMSia7c+oc4;p?Frh|Rhf`LmXasq_S1GOm1o3;!co z4S^V3OkwtTXA})hO#IuZcuX&M1(KO4&c7r^F%Xre$$-C; zt`_hmUKYjKH>#)Vg*8XE-i0Y7y)U?J(!{K*aJLbS7{kYrj}Ky>6h5rjoF8qW=SjVu zBd9k{iRFGt7GBNKZ$8)P)!Gbu=RnK14U81nVIf+j7EIQ~6b}B*`r1I=RQQIl_rXPz zCyPQzy+jF!49T|8t~0Lp`XYC}3Y1b;m(M0VPk85fg~q>%OU9GY;w~!{^UC|9Gk^j( z&gjw3670v@Pkd^9F;QYkW{8`2+1~FkW;aaW2(R=d!vO_OwpFk4CsgYV0_#cZWmSl! zp}CC)lP27*%C!gGX;Oe@Hx5rU{9pWSiuAR-ubiQhB?US^_FddP@|@VEY~n8&{c;<* z{uFrngD(b`~}P2u1Zp>FHq z&9TrWv|4sR!0odV$sBF+yT34I{4dBz422V7kQi}W4595n42A|9d;{>-63yXkb)_ga zU1ncuMf!g!ZZLcxGhRC24`ZYAuGtq~O2Mox=)t{Ra07@at3t7&mvxwE^xU-n`utzS zsxKzkSU6wbCklsfKrV(|aIlgW9_F0VjI0BRUykgB!oNVQ5F->{XCa4eoi^1O03tvr z)SOJODas7-RazBb$4K|4a&t%@kIK#X@8=!3u^y5C>TbANLY#sNGJ_Cyvu+5}LK;z{_a z{Ga@5VE%f{Aw*y#UmGmQLcb3aMFEg@IIsE05K%QqH;P{MCy!gY{`;Oq+(G^C_vViT zl*G_}z678VyOftgU%-unu;m=lp?9^(|HG*B(;tCYvMdP1cqY73e~+OUX1xi`jaNWq zX@0N;;#1Jv3cF>qbU4Z)_;LPbP>JYPw~@Z_wzGUqbG_+ zD^dc>|2*I=`XBq}Dn0=FYWNI3{`1iPdV%%6ekk+V67cMLGxQB40{fu+OK>0-Ts%#q zYg5&K6O=MZFfg%Lo7G+>{PA4G?^y$1q7G1dyLi9t{dH91-Pwj9BqP{^d<$lF+5UO( zf4#Ub0agNb;jre*Kd!P5v)*nKbfu$Q8gtsnH32d++Z1khG#N3^OK*qke@t>(zyoUg z=Jp8wvvd8i<^A!t*#m4=8axEpe>~%VhUX#yFgkW$+|&F$~} zC?wVS<%fd3!_4GwvLh(Qe;n)yhy3OMX&#|p6Mcw=@6Y^N7shu#P#4u+CZ_jl0$_^cgmhaCoPn&veZ z`|q!Z(x5$rXjJ0Az9PvQ+K?wpM@OoG7soz$76M0G00w;n+~@?LZM*{dqS5BJBESDV zn>#@2RZM$+5)ntRMSqc|CO!dn)>o`OXV6CWUdVl4 zzBhcm_mRD5ebGHRwrDE=(wqX_18XWlrh0y&Ft7$G<@pb3fLJZ0(8y?A2h!Sw9iF=JQ5rjl+DP?ivq`WJJ6!0xSSs$ zmpL?ui095c7M>)kfXO5LwWPc>aLWJ1(X>ppZgXf@i8 z7E2a=-uw9;?@Uj0oc`^)DmP7fmFIVhTB1~jj9Hk*->@)E+u?;)9_~k9HzyKwkK@fw zSw2S(dh`5|bvk`1A_8s7C|E=d*x(^p901a2a=O3t|Mpbwucl!Jr7s1%k53YEyL#6^ zgDAyGZU8gTBY9@uOlfQ4bzjy9^j3zJ9LyjN&ZTK(WBI8_%xEL1QY=#hsjJ&kzU zH_V?KpQL?Uk*P9N{_!g1nhGu1^GP0=EYZ{Y@41U7&r&zT8ueHyuc?{hOQX2uMfyo^ zhp+SByXQIS=^Nk0m&eX<(=H;cDJW{*Nut~C>&Gu;S|}f^d4rOdU4-cPq;^3txHT?I@-t; zEg`*+{4jYqSN3dcyv&bO)YOy%<=CaBVp$q=u4f>Sb#z^~oi$5ec;Wd(oS~g(S4IYHr~%XzEK>R}ygb znMVrUN+?So*u&Qy(r>C&3_RtV7#QfX)nyN>*;CGngC(=F zk?BKek-E0U5lG=``*>;@8W|8;d`M}p{&)OI;|TrLOR^0Lrq$NUQ>^4&5ELfIYPMrQ zvFexB7s|o}VE9Q@rzvH?ou}ME9_qx%q5PnEAGyBd(u1FwQSh?P#wF7hbkm*OhJ_~6 zo!2(2b+enN?0>1kiCzjyFcq%}Oxe!3m-4DDq5IAigL^%MBH%D^L(%(Rf828b3m#9H zv)3KrvF%;@A-*5zHmqc1-kAaZ?VHuibX05L-&3xd4D7W_A~0!i*$ZQ44H2;(d5J(Y zCqkSS1~MEoGh>(F@D$U2hteE>GD|j-vPqVfs?vhg4Zf_j>M-9LA%(kp&d*;;3hgl3 zNe7Q^8IoZdL#(9Ki6hs)rfE3hY1R~c4T72_`fX=Lq6Irn-*61nBQ12R+jvK!+ zoSYQDg8M1O2|Pw?6hb5c!l08~q}S$4GHY4Xyoi?Ep8HMmJv)}2s%{$`T{fW*4%%Lf z=Wb_TBJ^F|bJZjR<7E=6s0qupj?8>z1K*jA)LLhL>DHR< zcdFQQ!lVuEuL}NkGn2@Y=ZenVYS~4uA5s@r^GbQx$yI;7)ni7~DLcQCO=nZ#6DahH zmO{A>_84*+1=GJ`lix9&CKTIaKVA650B$8$8t#DVf8Pa5rSDLM9jj9B{$7muy?R%b zRR^)3>q>BbC(E$x+sb{z;kTam4eK{X$-zgxKahKg&mQZW=#DnsF0}15H`f_LYG(=^ zNrny#jPvwTn`N0?zD<|!c9;=RVqyueBuJA{Zj$P8QJ{6_fgUXZh0=dKS_-g6;_3Tr zDsaH{uuA@QJ;_PrsUt5mWoE6w6n%S7A`ncaj1rmcj>ljFjsvq5`7vpX;Da0oL=ep3@q`TTnT+1b8f%Z$6N)Mgu!}l{kJYHo#qn zK*0wYuUQ1&(K`Z&;J*iam%~4_scBm>*sTxQq^LiC{vANu?7x7Un+d=tRdjS7;F9y* znWP5=x%orc>b*8W+9-K7FB(u{Mcrya9jyczKf>Z0!MGX7?4y!_N8mHcwL3^knHYeC zxthB? z+(!oZA7h(`?Ny|uNkQIJrvO+rS?Y*X(bHp7jN{>~ZGsvpeSH@cjv}K`Y#IplLjwd8nU9pG8NhlInKKs_+ zs`3qr`rZ*UAqu1K{93psTb;DVAu#aQMly_Ll)MKVqb-yf!hYo6Xz6%gzx?Qj>p*qPY;2-I7(_ ztE%yS7O19gjm_^6%A2UTxb&EzCOIh4g5plVjFvGzd}O5KFkSt&)#`V{jn!Z4@E={; zHEL|JnWMLis<`ky41vwnK0w__dkw#}0S<_HczC$=gsb%{Cu4vcWHkW}KRr-IQO4od zVIC%y17>KTs;x;~fif|2&k$v^%HX+GA7wE`! z3cSzJMc*TDz}LYPi3T3vl~`4d4FIzH7CBAgh%K>N$@perjqb4g? zJseEgmJ_8Any39l(Br(t5LnS;0Bl>nTH8duW zGn>aRw4X`YRl4iO48&;cR59}e+)D&Kh0NY`Y)#iVlM__r-n?3%{>9;XtUXx$uC;sx z7&|YKC{;lU zLIOY|ior>~U#8qv2V_4?m+kS&UiCMUSn+m-ZqGovYG6}3D?n+aSze~vWDB(+ihy*u z2Ua@VcmeoE!Zp&tR7`Et-L@yuXjssJCvLuX=PROgn#+^Xq@KgZb z(nUxmnHo>N+(lz6tc}vo0>NmqoApL04Rw+MyEJ&VD!-s3` zCS;w+oUJaTKJx$$!o%Tk2>3Lw9|eTk3A16aVMj>J`$DnA8Upst;;*xtK%_Eu;kr z=H+QNU2ngH6SK@9K#TLYz$^_XpGt2B#qn*EhD=)!WliF|lTK-Cjt+ZFDy8x}X$jTh z7UIN3sGjj=H|i|`F`)IglXfaXb4(emiMIkyINmEl2@ci9r!~N>UQ3zu_zV7HFi>LZM0rMpZnTg@#@Wj-r_Ng(Mb1ubSrG*TPX~SP&fS@yc`uH2R!- zqRwyaLkJ_d_vB}ya=o-3C}C*L>PHrP$q$0evJ=>mE`Lvc3e+lk4RV^<2G_trMjZ)+ zn;npO>eSNd0cd}54>YXzv=P>ceQ`7k)Zh!J?>5|HbbU1K+XFlhT!NF)*eD1W%xfaD8iA1GCH_MGJOb2cwZ{aKhrIu1f8o|&1R7M-6IdJ zGj*oZtA;L)%xR+Ui=3k{DduP(xv?q{#xaR3C>y=PYGzSaFRFBGvRzUwW^q+G-xWM} z+l#gQJQ_GKSSkOySD0!uJ2T2ox|CSfS2b&x)V}NvwPQ$J*A@u@M%CwL)jqG6DWE+j zsX^kvYgbeBP$xRti8fAVnLN8iAqVW5nx;_gIE%!|IW51qr>>SQ5=9IP$rKAKwTiJ^)Y} z9R#ImalfyWQ10{ke!ZVFa!wv?J}2H_X=1TG+!AqWZ9xkvDc1T+vmiM@t2|3>5;rG? z2Iz(nsRN795FyR?q-6BX zTy2|$O7pFc@nGd^`e0Pv_nj)^od+>3!5ZQx{*Fi1E}Nz>A5JC~RUD?n zcT+EP!D)t;*A8prC-@M3OO$P$rk?Ji1q4V5?IyatfpJON2OI1vuKhngo+R1ZWS63R z+(D&RLp0_-2+BQuZ8GnrN`0eAAU#87{n4S{9bP-?v9C$m^3l}dH19uRZv+bs*(}Yw z9EHb8&d7F??Id2Kh>eJno3hC#b7?JP$Ge>+8q2zL=_F_#cCw}IFnJfkyjC8iHHV4a zIg_P8*X6O#Dx_iON0ZQXq&AaZ`Qu#i}z#2@ZP*Y|bV-As>r*srYU zFd=on5G;ddRpcyYg+(LTv=#)OJa(z{j6G>pG))^N!wZd9m-CFPbnhmBE!Wx_zo$N& zf3VuN8z6ZT2CiM}?WSdhpC-+Lu~bY#8gVJ4V1qjPf$tGd7*_ zKH59+r*rITx=pBz09vho0z4NIq#LXx75gM{)SAtPNt^MS)9P{fPd3}I1)9ZhZcGCU zP%VdaYi@Va#~LjLWVJ|+_nBn1Iz;SxIgI3n@>%d_<>vi0ID%ZA%8j7iGA-1qqa%A* zzFefqf;ob^7zP9}^uC4I(IM@IL<^4A=<oQ*^CKRhH@^H&7#;9 zKk-Xv>5+VfIgJhxWjoIN3Kw(`)~L!o7lW%yd%dopdn$4+!cs*`I%{7&dR>ZiID9VOrXpnZR5l1n|-H|?~)!iqMe zGTJADINk663@^v3G%E&i+_rZ?AvnXysyI$5c5tjk;w&DZtaQh4KIUMXAAZAWx>WK2 zPDz~V(5$oP0y3qNx~5#JHI+TDGSYy|%FAh=7%%7kY=aB26)XxH`9i~oqeRO)#0g0g zx!U}21(N_y#^T)4@eUY1WOGf=m+fT1chJMj?U>qJlS8JX+++#r`)BmCWVGXA6ns?Y zUzm>rih%_R6e~2(iSxo6s79r!3&;}NNF3U%bRN_<8e?pXaaSwQ1&N$%x(+YVj^atv>OW(AIo{;xj$ zJKb>UvXRWJEG|=Nqr+^olP>`uRofXQGFKc)bI7@jeK`wnoo0JKr2s%ZuiDS7^8%G+ zAin*%h;{3O>aVlWI-Q#u_!GBm+VTBmi5+lu2*#|u-JW)OYym-?>R`HD%V7_^JdCYP zR!*A~ff<{?rM zJwJzO#j4~SCtkbI%4SyZ0k80@ve$xd_>6B*5w zW~=ag8sD~^xbgOMi`&`SJ#sG5LMzU?3M9LgSQnrQAOfHM6M+NN>Bh+8Yi`oR zF^q#_|0hUAH4|a%0y;9I;FyTGuA*3nyx5AV4 zjz4J;IFDd@X7L*43VCvFbr?*z|C*>DI{>YH0^BfIQ?S}AZDXWR{w5Ti!UUzkJd!U* zFkq=w*ML-71teE@c~6~*b*yGJvf%+O0jbaRjZg2cHU`cCia(dc;xj%ysW?+D#}p3B zM_^>Czg3@mNWpF+2IkT0Y7Na^Zcz~Ss$2npAU-|_pl(pA{}?6n?DkO;gJO~9ls^$G zms-PyT7i}$Z7I^81}hW~^nR(u+|*%QhG}$vA%@ckEg8WKWQFI8psaI% ziiiPTcHyU|avAEf{0_j)@>BQpJbPs_u>d?yoYoG$m*< zK7F)nn0fUgZ9|oV_KQWmo$QWL&QtxFnrxX7Q6rYuId4+5~B7*&>b~N@o$U zM5wYL9DIjJ1yvN6?Yl6+w%e@P=e1G_Mf5bE!>RlhQ~~KbUK>(`{aimP0o~L~B^fZzy^me8bwSOq)^W**QCDvo$t%PHyLc`Q z;x!4h>EtJ~Fh&}B2s5TKl7|=WcbZODn0jN@pIBBHx8F7=4D8i_I|E&c&_FnY*d1!n zJPz=mTzLX+$Da<@)`xT{16Ec2?VbDyjko-yqc$EOa2<^C-RwF=FD5CZkIj`B> z7+SQ?=XyBXC%dq8EF7LxRlSPnoaPd>R zafYn(#h8hZh$ipSW%*-baN>wpgFwcPzUik9OlBl{_f0^wG5d{C*-Cd0AOlj!1M*RJ zO^J09tjbWcpgwGZ-&+ZBq6BQ5W_XcH*T^u+7T7mXR>9VXTu%#qv`^SUGrr_!%h>w46gziq6h|D@p-9+5t8EIj9_KM5)n7)$}9#c(HKD|f} zCV>AUI$lyaJpYoRY?OJhTiz_U%oyaN;LHE_0Ymb$?IbXo6Ze2^ZKken?y!5Z^a_lh zIynX|gY z2zSK;vR_0-F&O%3WRoL}E{NY_&YsNT`hjk_P#>Qo{;f{~&fG5;y9RFn+yFga9jdnv z*fm%eN6T^betCamM`QArbzM#+xr4v0}QK;50fMsW5@{H5bt$!gv5p*1cT}! z%nV)vIr3X$n+A5KP<@?{($O!kQDiN0@(Rp_0>Dr6~~tCG-^DNi6-?NgA8H|1t~O*x`+xJYe*U?4CnpL zFjhu^$Er4$Ycv9gno4;rK3O+ndat0h-GVeyf73wwJB#-*DjnaByPj`RaywV|7(dfS zFXRAyllJOuN@yg;V{M z72u;R22{j6?#3?d{@FI>Z;{)xh18Arb>v(A-n7-HGk%7@BSQ8&Ay6$LiQg>vWW`cH z2n^}<@aNB+3V}_7LX{u-X*R0H$i+y$zE$;3W^t_z&iup|+{?K5B<$!HW*E2X-rlr% zw>0KMU?Z{PV66IPeoe)`@Yk6jms}Xgx-coWJDA+ zdKtHHBFI0<)^gJhnbOAjWx48C$Jz9XZ_atA^2I>2Z8FbZb-ozdCTS7)w1U^Y^#EJ6<@IubIBc{fL=c6{YmUO!bMecyMOJ8RDW z5J0J;uK3w)aT5reZ4So($2PTS^5ut>btKg-o2< zaHrXh(f6-T5(1GKg`H2amZT)6@`ehNNM`(9J&#Z4s4`!Y$gfG5h7!4VoFl?JRubQQ z(jF=Z9dcP04O`s|azS8jD2d9=R_c^gF6f5?&QUGgs7$x`=S`-%MV(B|!|<=0sZ;C` z1GY{;eHcQGmOP+@rP$Z9=vLjdI9!S?A-xre9Jjm}<*jYjKeK^fF8Vd03SEi1ZT} z;>}9Eqts5E<9V>!qJ8%b@eVv@G-Gm5tYq4|EE~6h+r;vE*0g0ciOY4P0gU4nhEGaG zZ)~VBLx8;D{_6gd0(@VOBq7kB1?X3tEtVQ@=s8|gPIGg^bvi@orQ_mT_0cqZHtz6u z62nKkOE{Ztd>8e)6+K%{t))Gq@8^4~mj8CZng%r>v7jE9ekyME$RkkGFb1FKn{ozL z+^cs7wj1(5QElDTs;DO4tn5B|Z5S#-gP4!uMGcGM&&|oPZ&bcRE14K+mwm0T-a62W zdR(u|vfx%>dXK;Y4!b5v+XVpAwHyvI(WXG``HVv#O$)Fq#uq1hz<6W}#BIZ$-I$kL zer;(*CwG^Hggud#fzY4~6LY3s%LzTaC!jt@mu4}wGGi^o%D2YL;>MGR$IB8W)bS~p(}Obd!LBE`OmPCF&4ez1 zR6ICu3tmkVk=)9I1jmDO)>I|xfafwUK0Qv}qdY-XT{DDNZi9(Um zC@-P8&Y(|$jvsmux+=YJgLc&rw)XkgMLNAz8Csbvb0(VZu(MyR=(-)~q!1rpdnKjY zr}&^G#7?>-+SC8G(joJ>6FJipjH(vPDN>fT8PBg09#JV)J_X4$p6f z?jHup4_BNfHoGK@t@LNje5PGeKeVIJeK*^n@-k+sJ9Qz+_uf#>*~3Dv;~5Xa%B;wv zav8baCp)nj%Pm{Jw|$?AGD*OR!@nbUC>^6EFfbA%O}gaNOKAos(WZ22=)Jp-LD6kA zfX{zCH8i0W{=PbCZ3M@Xc$E#GY;3k7VZ2cd*q)Io?=kFt^_QU1DFUd$e%Qm&TFc|9 z^Iw$W&=rKX?-29%6E+?LdMH|X3yh)^y8Ne4nB3)?-W!PFSwV`#ut^*P8;;EDg^sy5 ztZrD-Z=0HrsH|Zzro|L6n7+2& zq-sC-nmvYHDq=^wZ^9jbs6wlsXgg|;3uAQf_k!Kbk_~5k+ubT~i_?YHBXij#6(Bj0 zWM#JS`dsz~hSf$dZ1h5j>hZrt_VyG()b8qfZ&T?-ZeaqYNT1vfcB6+?EPzxMRlB6`}A3@bg@fi|JG0G|rk7(J4 z3#p&!&@tR}2m^AT$mHA$=eu8$%-h;?Ct(>^ril^9Lpdk;WuZgPuPg7)&p5LAYR`PE zn$;|Rml<(f_tY$kwXj%5A&#}`T|or0AMa!WZ&~dVrbOoFJIP7s0Lzwb3+fsE1^Ey0 z-C)=*$q3Li*{F3OK-wM#k?`r4MSA&*JWNe9+7i#P>Mp+W%X zsMS5KVYyv8U_amdu_PQn=bqEY%L~xSmu&ulghAa%k%_#KFwWK*@2Af*=DUu!zY_yl z!$B$oYL+ypC>CyZJ85_*^e~Be#Pq`$fiHZ{^ps|G-m4fC0R=G|!U(suE@I*_oCg*8 zWoK%8e(bmJw`NgdbY#&2nL~rI6r7)wa=ViV!fvD868!Uwm#hgm^&IEW*Fd&h^o+hL z*aKl4&zO$xuOj*}JIP-|^MtMWJ?T7ou0~-a%zBTQZC2${;Ffrw*Mva%`(rcU-{eE_ z#&=e_&WuDu(ZSmum>Ong0&PW2%Gux#v*8*`D;@oH95UvXty_Ec7r%m%lQyu4@oxEw z4a*ax7%o~%BVs;1wZF6s`e}>_am9x|J(09_h#GyrV^NMDnW0na2UBjT7k>UJriZ;p zTq83Q>yy@1g@QA+AGA+pXyh(az#0#bfALP7w^<}X_-#>~g@rU&liKCiZcqKaCe>HO zNi~#!+3j1vU|4z^5w%l9m0)N?CUuIb8?K zS_E$AC6wfmfjYm(75FdMz6Q<$Qum8u%d{KbG~kSmC^CvU0T=@64R^B25fGl;`>6b8 z+s*@amS#>qH1#913%xcko!hfaSeFWAWYbG`7{kRHfRaVqS~0P@5yVXK{8rmBfl<{% zYg>xE;Vjf>Q;;7*mB&r}$rF@gBLv+hD3mk-Hb%RjhJgaPB$-w3Rp9_^uyVGE5Q4X zb71O`vtz)I0rqe}=)(+3AlXVeLQ=^F;&^0xOROJ&3igv@{nU#}mejLwyrFgHi6@R; z8RzxSRE8|>S+(7RMw65f4<|&drF&FvI6|G`VH9q8&vD1#VH+hgZ{6kk_w4D;K}kN# zS(#ub@k3(UD|_0@ww==C#$mxp<@2?fQk-&pAr$5HdtM-ftZ91@nSz)nMHKvAil%=r zMf6%AD*Vh@G0;I`r1s+4ac7!h31%DIxq7#y0%xY@QSAD8+xy>YKusMfqGK>&abt}R zNTm%SVPpU~JGo@AN0NVeslMxJYOYhv7u4fha54$PX1CubrXBm240atYqmd+aTLJ@o zeuusJmfA^!>Z`Mjff94|w$z%+kS|FaVr`xjFpMnrxtp_(&NmnCbDADD>RRdqdLVSP z*~Z>TXMS#m_gw-yG|+)up{Nn>g66>!54P#8N5CUMx@4t0{vOmJ4On}LTY%wXoKwN0 zGhZrJlIu?1seayTub_OOo3g#S7e=D`Ew#!Lz$XCXu(++^*7H%Ncx){)eVc$?uHSxI zeTb%X^Nc&#?oP?8iLKP_aCV`AuZd4D8x)wR-*|mLvnx#|+8Gh=pjqZKvyfkrawYIp z`Ri=#0Gzi~o1!=7R?MsPVla|x9YhjZV;+b*C$~tsBnp_-N)~xF}ZL&kbn9<@P;X1lm*QPaIcTXm4iMzoxt}vS9Tyxkv#U1OC>97PGEs+-KxYW zP{(}VHH~2Mw^$A=@@nZ?oG0=Dzr4dcFBIQ4w*y*|(VS4`j(5d!m-NaW3Tzw!Sq<%p zCDu-eAYR~zk=^G)YmCv{1$tp0HtMv{e@u?y3Baa_juGATKm#{hVA}QE()@q0_onew zw_n?MgbXPvnTL{jN~X+2giz)&ks--E%h-fWnUf)zMO&0<8!MSJvt<^t*@n!S|Lc4G zuKRxO`+wK(dY%{0yXQ?GpKSX(oakkmLiIHIK`uhVN9m! z(r9pc|BXFawI=a&9qv@8P?4U zm2=E9Am3HnLRZhC|M=TLV#Pw_yu_VV5c_7J4B1FYzxJoIZkhGeY1nsIIgxNf^953( z#1a_cT|mk7Md}0()1-GnVPX6AO9%6-pB3?|w_ZM7Gb+7jYKB{pRbQ&0H&3Im%S|Yx%wXlXm^KaPrNi@O zd?VGBUq3{~rWd$!9bb-w<8+sj+0^|EH5(NwL^gjpD<07Nd)-tjJXLbG7 zld^m7)^V85GG_Xaf+|Sm!)upPeVUJ4O#cC&4qFj zLW9x=jkF(Y?LJCUE!lZFDF%F;c1o2e3$(k-dp!f9()&O#^*l=EuSx-FC0Y4Nbo@)u zA&Y^E;*Y{qSg znGIgi(i4G48Rnc3p*m3bx+R`Dpqasq{T|H2E?}-ycke|@6mwf{s>jO}scWL4d~nRd zOv5(7AW;?+rXzw)^86&;tXQM@V5%xA{mp^K6MTQ+Lkx+9o^vy{!M+qltJCW)l)&&~9;PW}0 z?3_mGvyB5I0UrseX--prwcjg!X7xfb9rdE&7wzMzi+rSYW+iOshjyZ?k@!M5=|_T` z;aBsCmP3Cn5>`Rskb%tOV#_Z8fm$wW6#JOsHbMT!3P61q2x^UE?PSLREJP-i_B*VB z=x87@q3IZ*C_aQGlMnF&zfBWSXf0a8 zI@x?6E9Qwi5+Lre91d z!kN4>uc?IAIE--9{IwkHSc`|IP~{09x0qMY4SRHt=`?JR_fqnQeTiq$YHw2xUjI%7}5W^$7al$dL!^PNl5vG z%&*(ZEk@-I_6?_<7ea306OPh|=p{U(EA>BhRUR1|c**2#zItGVA|jMpq{0Y7FVP6B z@|9ap(2a79bZN?MCHCUGKs=(l99O?!sT1PU6d&vF-+xtU$U~2chO|Ix1ZHTU|PNsDnYU}3wk~(I}T@`2o~HQErvamr+?;` z#d*=jYm-a^_mDbm^`yD^Cq(3?ifrmJjewg_Mf?}99FYXBPxuqtriB0YoGb{>*|w?SmlX=#($6`y?~NDhK!Br^qC-*-I(MDHyeb4 zs&X#VgA9K8tshoV7P6tpscb{D^tSKYPQK9$@GWAIX}Hb?DHhm_pGaC;4S{f^Pu6bj zv2ypj5BkBOLh8bY)0E&X)+uk*6RCLnWY_3_UFT)IZ0nA8)#VbNp*Q(`e%3Lp(uP<1 z)jCzbG@C~%s78vbwDM!B6xq0`2>XSh=19}Mdi7jSW|peiQ6%P>j&xQk|}saf_fV$lggf$ovo&egrhIb2Ci)! z6GHm8&VQME+fd-UC!g=TfTvtDKO(00Z0r8aH4NL0uKi@y{$a;!8|xUP`Alo%o*CD{ zthrXTF&SftT<<3|KR0D#X~C&*9+amB>gW46BliQJ89%)SRjaSilVWug6&u6fF@CS~ z7$-CI_nhxv?tK0-o+pd57+sz`7KO`qF&6P8GwA*co>|x89HcPX=OyrB>GUUNsPft6$ zP4d}5Z+)4Yz}TLfv+88e*{u;|Y+2jMbM`+Sm~*bqY^il+6vW$hc`H9jDvkUxE4fsm zfY5ARdw+#J4}KvPNL8)(i27={hpjNoJAn)96nQV~Iq^k{`i9Ik%7G#rbvw~8#4?QMrLE~7egpo*LVnp9 zw=cg|(p^hK`;8C;mLqbGVfx2+A+sVfCHYOZH8OpxD3udvs*QQ)!Nv>E1n)Eg9!wrTSr16O ze1&k|5JkMjTLsYk+gD^}=2VnSq(5Q6h1=NT>iDc`^jM|AK$^W>*tVyky`$GmEU^m` zx>y;%9k13$$D-w4Q(SCH6r98(qjuMe^P0@>UL1tcx8cFNfc)`013DKF>IRrRN!1SvAo+Qv*$>Y z$o7)tY`xr~O6W-%lgE;z{XeaOla$}6F;A11=jY)1phiaa{otv&6J=J%l7jfdQ|8^) z6y_`0%l%0F<)i{SfqS<bSoRu9oKm?)$Arg#C&Bhx?x2pk@>? zJ25VPxG%dy0fZ{oE}ueU=1+oN1MRP5$6pxQN^|JHf=Pa7hxY08{J!q;sO~rLYM+5L zmt#-%!4@9J)o2;ty>Cyxun`ByDL%BMq7c7W{et4=#q^kn+gB(kt`bn5PS0TA_L<>MUUl&WGGRbnHY)QE!VAE=` z8=y>dwqxj>UZgvk?;@^fRvfbzN7Bpowqk#_&5STrmW-;s-ybL3JrK9{vfYrwIFh-u z@@|g55!tbsEVC}T9&Wu8t!-^em&}A(-bfm5%)7hv?lx?pS6t-ucYlI5ODm#gjEkJP zdH5Dy1(sN%D(mCrR12M>FEzAE0^YmyG>*hMtI1*bYIi($fFn$wpp~devL)s-@o`5o zbM$L?kk$G)0f3j0^J3-oQ+GB-_zwL;-Md7(I0j}t!VGUSAAJ>^oLaBH1Xw%y?y`_s zWxcYgwvo;Co~$}`(C$kGO}ug%A0YbIepd%#u;2^ow4#R&(;v2->LkZoK zuh0iC$GUUuF{1OPSACS@BH#79e{-YsbnOu!z zh%SXfMUt3f+T90!wyV=EjVD8D7Zs(S(vcMSMe0)MDW4uvPh~(wNu)*}Oy1V$)_6sU z3q&1sGtP??+4o~&MrD7kpCsLn7T4*)ly343s3==JO`bP$6umgULK`MJUGCG*o3PB5 zN?Y#`mxQXy6f?T4;-mcxl}yVmUc)2Zw=%iv{pxY=wjJ|wY#p!5TI%Vrt79ng!F4cS2bfcg=QHV@8p*JtYSm@Xr~w_y4MDUOiWucAD}GPZZ# z1T4>yXGwgmJ|Om3omQD*-r6Z203Q9_2eGls27cG|aSPjzb!5zwSt>1GK>ur=se_*k9H+uYS z0PF5hQmJi?VE+fl;jI@QMzpMXi^HO_Il6@x2w#>8+st|!E8EO-e!Y?3h0A0l{HDOj z%q?rUaqmHlo@dAIT609AT1Sz~M_%#6vn_k)If#=_hr7QlN#KvUBfVUH1~ZXI6r7qB z`%3fq)S=fo%kGDxOz{ux@06!>bPuRs*u~T-RX#4fOeE>DW=Me=%Brz;p^Gm>$LczE zP$w0Panxd-V2+}PPS&j4N<>#e^(|sN7-4pdtY_DmVOKBgI9A`7JJ?;0st``x9<)5L zwsKG_EE_%5)qha&Q9t)Ve=^~xY=~e(_yvDluzkndqtoicFP%#tLw~S;3YTt|ZYR~T zNc6s5hDhe5r%**gZ$J~yaYTaUqwP?oYp&ob22~xo*-u~JDL%`e7VHEmx1UGI!C((A^X))daNlJ0p11C35_pV5#w3 zV5wE5svjbkMysIdE%+eFuw24fdXQV)sr?#B_aPob#{hDis(hS^ltLEqiPT*dZw z*_h<@Uuh$TA!K&Az~nA^ec%2Qzv+X;Qs@Nj-mm#FEn=^)Um;~`bX_(!wc`cFlF5Ps zOFscIHfMz#lRny!BSxxUMEef?a@YcJjC7|B_XK0(S{MPyh}7HC#gzR?;t*~w18 zW|3j+o;Rmhz_QO#!sLeAsPhYD2S;r;=KB*a0duGPx|u!Kndg()flGk0L{vRI`tsFm z?&|@MfzvoUV~jJGu_&6^J5`vwuD^i2*jE4?sfOEyB=Na31sabeCv!{&*7OPux;Le* zQ9@$FE61^`GA&=JNMzUzmo@F543BZh(3TUqmHL6c`z59Logun5-`+u1L z)R^oLv4TeLLmdDW6UBlpCAw3@Ert-)Eh;iieNBRejI-zH596*W=IX zvh=t&so`B4{rLgwSe^G%O;J&oOVgHV)-n&wcR)i;g6U(P_Rc6!Hf|oXKHMy?qt!0K z8qtSppbhqbR?OSaE=2qQ+jXvc?vy)uTzwXf8_TIzv({?c3b9J+k3G=)EKV)a4rmy# z^_+@cHLkfw)3&7rB63%AUkh@i_6*PIi0&M8*Z%~Lc6+X1nb4(6;Wr(2PSzW66cM_u z4dX-%_xmwPU<0+7+T^2Xbljt{?fagwu|@l@nKmA1%i`RP0;=k>6Tt!7qiu>rGKZCZA*Sg3M2Z-X`yPpOhC?Ve2O+`z|_J`YEUtLdk_ ztSXgRdmyKe>5x7!VHOwPwQIAxmOI=JHy#tCTjas6;?5kfEiS%2qey0>)S2r#@VxYJ zrAzBq0IjlPtzOC2QrW`5kwPL1#_SY#+o+92HpB6bGJ&+U<>&2lWD)hXenD858ip?Q z0lP*DjUIS1KabJf=>P#&FlP58K1ND05STcmi_{pe^vT?T#FQeoR5f-bIlk9lNxLHg z&(uEPlHZ1B1NieV2{&zQd$Q#-RM5WqdD)5lAd&YxlOr>qHNh%&e>u^M(6pcP)~rUE zVFhqrn6bF)xmhQ#OI*7Rlero{v;}Qzq~RQmB}z;lRiU#q9JF6wc`}`!n?_nSV&KsE z)tNZ!*%7=^oyr)&`QT+j%FNy;(h)?=Zo;oSQkm6z?yR580a8gQ5h*L1=_8G!1wgnG z9WV{k8LK{oR`^6jZ?Hn4qguep7*{#@ls^2)xBwcPQEy7(hq5EZ4SoD^X7QSVbS(&k zmOSwM8O2#i@@alF4*etbpqt`_TOVq4=R=THd*>a-uKrS$4AYZ?BRMyQS7^NR+~;I1 zpPpoP7`a;QyX`V1F_&sbXVAUD|2-ZotJp_?QPQK`;AF4V{B>C&QHK$l{uv3M^}ORW z7wf&ou{N)X9vOeQdk&$3I4f6bY-9x-X_8oxaprH`ovzdC_MdH7^~>OMas?-xTNDdn zJZ(Vdi#mGufZIKFiR;Tk`^JhkJl)ZGJ2h728i}a)cICG`C$@b%-QS3EH^%h0k>%Ug{kwTi_M!uZ5i7)|nYAg)Q>R~r?~d;@$f_EBX>IhWA#}8Tb-F!ld|Wf8 z(5Donpmqnfr7z&dU3n8Lx+JIAY8u58_MX#nM7BjI)6MwaW;($gqgN7_vO3qEUL8U& zzFc{Fx#k>4U9!Np;WCk_El_a7zKFjT$)}d$GL%irX2qVWl3oK^~AEk!G zF->tLMu>7uicFQO>W!-8Vd9r#Q^+Pa1DAj`WRpaybEwhN9gdVq?jE`7Xo*R#USE!N zQb{cE{vOJq=(zLDU3J}2uh^l^_)uwmLx{E(MxZ4WpwO)tg2OvO_=MqX)v5`+bDgfM zmQaFk45X?m+3|dL;D;-VYY(U!tl4t6mT;B3Bxb!L<$3ArdBbYx;%IbK3z~r`k@Oy+ z<@F`6)1dU(*~mgrV{Q%@-l?T=*Pz+1@#6JzzJ0Nh$lDy}0_E=FneA!Z!IN0aG*xZe ze$926bgfPcBp)bijw&oG_8g%n2~s4zo30yhae$d=Lzdh!<+Ae?;cFRoQ}@!RkoJ1l zPHD`Gk_!U%y#dFuQCa94yC~Bt#ekoEKI_cn5^oFxK1cygZ%vD^N#ab1yBx;6^o&A% zDgI6r&3K3~xpf0;I&P?=_aea+;tJ_>oZaSAa(YXUX>Ak^0xp(diTk2^YX6l-Sw45- z4<-yg+`W%Ez0tq?LzywV0MBMWS}&lYx9-b&(y0M)%~Z_{`jk@&9-jX84?I0MB%{BRVY5lR)_0gLTv) z$~JA=y@Pm^hS05sRZfla9Vy(Hoqe%i_ z<<<2f|7L)8kxqULHa!nq1#MmF?$BpeeB#GvS<>l;o=Ow5Ok9D}jK7*wm@6Ouy-lZR z4hc78Z!5trTJ#Dt#1)G5Jb0#wPTk?YEOK&U%qEs-ns~W^EwbssOw;gV5O$?orcvmSWk56-`}U=z1muyJtY zUsPZ@hfm;k`qOnbVwONTEkZ=zdG6bLn;Z0?40}I3hP>4h1~Qv)$;n~j6Q3x7A#%b) zzP4=cEW$_2`~vKc#eV1mrD<63<0J4z-sCK|&;BGVYTwSi{(|2&+cn3V{oM0Tg2=;~ zS1BnnhNQx^dY5*{TWxA`tB407_%HQ5M~z27ag7bn6m1PU9|!z%mt;Yj+b=DVXZ_W4 z4tN9la6#vpnQ8dZ4t^{?JL7xn>}7DIf|v9$Cw*q(^|L^2;MUR!du0}D{OgqrLaG{Z z=iz3wr?2!x3=%WQvMU>z^0{EsE!VxSkbbCO6P=ymCH6823`8{vuzXcMf=6(km>1?L zqtNqj(zT8rI}r!Zb&)fQ9Nu5i5j@kaTl7XxkKl{KciP`*ZY{@0DkLL-ZpNgg@wX)k zB(}!$%o>wPM9QVZIVDG)#>#Rm@pb7R6I&@#CVA+rncYE||066$gnhszUzG{0T$ja-%*E_-07NCx*O z2Y+*fNOP^U9y+PBk@mrlBbBb%&=I~p^r(ZCf)kAE#-mwcimn-vz(7qFyD>4BLNkFo z@4JSlF6SZWLpzYxX}gOfCW)#dH%|b@P&(b-7W7O z#tTmCAq~qw&&Ofna++J}|&J{m8_JTzq@8Tsl; zK+#MI_uU3Nf#N5s9v+Va$V0`MCq`h1{UsRmplrnj`+MmW*aQkEZ$}}=@(?VYSZ+bX z7O!SlYZ=|w2a;Y%7tJ49T3Tkgy_#dduY_+*rWc7+v4U5V@9REid?BbXJ8asZb2q|b zj#~Knl}ERzxePA$m@g=^jFSKk;F*|mf;CW%ltc=qGOa?%Kyl&bC};)&aW5t*iME)R z5Vn9Htof*?`dv!!yp+ULU2g%Mw!dBAI9}@lp5UoCYZb-M$UuSg;SaXjv_jV5XZVcz zBqMUOi5uk8VZvYI8Lc1MxFPwvy;Zdvo522OhXx-~FukC?^Az0a$^IT4J4S?W#fYdD zeg^jGr1k!X7Qo$!u*Y)T#J}*-bL9N7SN6?LahY78LSJR3XfCZ^soRQOSd=x4>>MlA zF4W?Txg5>~XM>HoRHPq!Wl&7C)>9FX? ziRpL>?bL7*(wUvUC$>%OrNOehbu>n=`tjd?RA0R7m{_=B$B_Cm5XH()dJcAh3bg@@ z;|-@5)9_drJO@^j06=0ZXz*k?O@7kKR;98XudVsuFlyA((-SkMM+bjW2`(Y|fn=oO zk)R8(*VXYQbkD;ekJ@!8}cJOAtUfAh}@yf%6>vyRAr`XKQ%;-#CXpNX4y!I!Tbsi8@1EwbJ8dq7M>6SkX8DKL3DJQWIGUA>nT3CTBouNM zy^K8i&+GY%l%gx5NWcaO68`+&kvnxkLM)6ML&!g_XM;Yhr>~#53QX|#3&Z7_n@gj1QcSY`CK}>1XSi-=Jl1(@qzjWm*}puaQmd@( zJ@*ec`*$qLROkp(tS?zK5GP4LC@VB7RV{h{o^|tk;roslV~5JCFv0osUoIbc^G=WI zA)B=V8RindT@P`W>5w`V$RJ`~irBS+1QSnEQqqBM+HZE*U$ziR0d`4j6*W){C6l@S zf<$B{LrF=AOMe((f2x%(GcNAD$7a+gz^}yRYv&H7O{aQ}MZ*-*!6jCq4TAN3NvO7V zCkw$8*GqtDsn5H|Fr9m@jF;;Ey?U)9Rw4Mr6De&7OQvCVCwb*7#y?n~oD|@ljS3=! z9paz|j5L&4LeI4KJPZzO3+H;V=632tM|>a=6J#ED#r2dE7YBf z=fYq&jd@W`6_A9jfE|#Jx#{y*j)_p_*Tm5|2*?`VV`papHlZtKfRpmK1{-7m2W>>W zC26V+2$&%9(T^Fkr$1B?xTUIoDN8}wnE>>X&ZXcdf=%{^bGKHVN!#G|kM<;`K<=N7 z$MMlzz8~j|(g>b{AR7>kBD^B0c=WEtbL*Z@$o!MtQ}BQh7sp(WUcy(^ri_Q_-rWw=-drr{ABTZ_d1DN+fNhA0`QW2==gu9)Q;ZvOT;!DK?>!EqR<3s$A+te8OshbT51E!^1-RcT zbPl(G_QEtowg*!r*d4A@JBpa*{*9=`o)AjbETGqWR5h=K1de$XyW{l4ohAYo#_P;P z?+>y-U0f8uVkb?~`MY9s8buem%I8R5esBV>>W*M#e!I8%ky!qFSZsJs>D}%ta5hnu z&BMPf09|I?czq?o1)0>A;{|WyZL#K2bs(alvl(btsIWcRVQ^G;l*P=nC8_~vX1^6Z zM;-)uni_<}uKfn!B`l`W|1+`ttq%%R2CwI{{^?8Rw+CBG@z5=CO;1m6ur~l`M=q03 zsGst>0&?oTR5=?i=g^rZ&Bn*aXKCospe%<8`ap(F;JkT77^|^b1__a)nXJ*W1}y7R zHU9_F-+M+yV(cpSPco!Ou5qXG;CM0zT?)b!WRsR2wH7dhEPxokAoNB~u9u3dt9uLJ-2>y`KaG9So`1PFfboSX{asmgC9UHAYhm}4q=zMy`nl`e;eL}YRNrbdwX*+}i&JHXT(u)(Tr*zYhSHsl2Y%wT;iCq#e059_bO z>1*mH7&96dus6lrQx|af?kj`?3Bjqv6-p2X+3^#SuY|xoMVWBE4E^0}k&}VIG5Mr` zPagm2E^;;n|MP?cFz+)Qzv#y6htQbA8m*hFV+u*|yh~3K0TQkqxupAh2PubwH~ixn zpUBDc>B%oK{c1Hpm`&`1=t(2x@;O>s+7gQ|q}}!WTt2X1-O0|12go^JS0r2W+f%Xr zD-xpnx}O>m#YdA6*M8Wp`D`^7n_OoMES6Dyi5gZ@`yUpZLRjdW(FO zk5x<;%97A+YjKzZCh)vPOsd4DlW7~QDdG^=geP0t+v5&*>keZfYgWzI%AQ8NG9p_6 z$5H~vYbYbM!F=ESS)`hNhVw>!9piip=rvkF`kN6Y@$dso7geHHi06=%2m&Ffo4^pU zV{qG<%WVUYD?<`5dmnCN|BO^iF8;S~-!d`}pv-u0Zwuyds)e3n%ew!q#09!E!%!s5 zFHTW)sW*Dwx-IMdhq!JG;$mEl-Pzu=c3p1Bd3LX#dmH2iFYxg2ENsK%Cr)GnYu$Ap zAN0zU7bGXs8DadZv&udh8?~UYxe5b(TH(}F4DgC#PjzmjRg!cQwh?B%44e)=n7w-m z|4EShy}Aylz0yi~y`#K%;(l1dE=+qtu*p?8-w0?UXauhemD$r9q|8>H>8e))FSuVj z|E4x;1WCeDjk%fKr<*CKa%f$dMd}UnZk%&1TNtg<7j+!FPoNNRux-Pol@;PFqz-N< z+v3Z!NQZ~TDZ(AJplTKa3OB9T?#zhJZ2%>P2J*yyBE%sH&m~?Ml`iVg6>1|VW;pI$ zmdbJZ_fA6!Ng-Slc|FJn5 z_4MrMK>ZYqIIx1=>c)1GAhFtCt+>pNl%I%{H3%b`QV#ahQs44jx!P?zoVoAN?T+rZ zhR!Es%p8$N@8%eShe%1xAKKo&ULTPA9m04X{S zu&moBL-A*Zx)Mg7DLy(@tRZ2cf7D=7iDY@K#`s=e9%b=7oLscME(g#S-UD;}x)*QQ z!qA6Ru(YQ`sXzCC&S#o)J;?&tn(h!t@oqb`R)8+!eo+M6UK`pS7k<;#;a+Cq&=on1 znm&)9eg6bbnc44*jvdkhlnwew(Tm#%k0HElr1(zo;(>wXeAJ4>RmX|AuAo_PzV?HGMMZ_EXyZZy!Aii` zBl4B}wmqU8$gl|AvGHYekUgJvPWb(i3c-tQ?wxfz^E{Os1IGJ{^T5pA139EE$F&Rp za&g%^l;9d-)ssaD-PdB&_yv`6AsX2)x&85Bx}S!a&pOt;J!ayAFK^piTo#-p z&Uk-LZBvoMkdJ#$?$pctVNDZ|)6=x*McF0<92t1^z-Vchu123NI(X-xfp*9wiWIpq zf5G;mZm!ILTvp_nUdj>}J?H9@2RMcfguphEr!cm1TR>`g4iri)XqbB+;*JK=#K%>@ z0u6_JVX(WQ(u^S~o1g-wx-YsPCLD_yy=EnH&oa&8`Vc#4si_0V!RbUU^N5kUfI6Lg ztuI<;u$v-mx7JprpGQZVU)M#%E84cFl3tISL%i0}+dMMzK|l+5QRCi~bM#HWKScs1 zA-q7Zp)VBbO1%9ER6px*#eQ4w)bMoZq|GSy&k)th&F3{PD-=Yp!VLLh`>oF>WqDbZ zBR`B%zsUdC3}>zyG$rtAFT&_B<)_DK&kNaf9G7a?+(sa=ao@EFK|kx;c)7qi>$xX~ zQRxw(hwgy+th*y^zTka(YW*IlNuxWgUdi}@HMe+yOhAN4yx(HCyW1<^A&;|1RU#** zTE!XZ`w-dofQ^ULw86mvN4%NaG-~W;Ca!yas06LF18(dJldSnCf=cM#y0R426gl}h zSn}Y0um9YKc8Q2u|KPbD+)iq`T@FsCSHqF6$6t{Yi=L4bVEU2r2geozb}c5pgeu%% zKKvEDzC12#F$|98fjCI~oKNV*ml)DLdNf)qQz>E^R6{T3NSx3Wm6S9VzD#@1XtsXp zg8=ldnB7iTnewX;@$h>Rc82RbxZ+$#q3Ju|TV^1d6;omk=8dao^jZ8c{zDjI((Vo0 z(HCwPP?7I?qdi`_>1=|4_vhLZBZDW!%0dHC^hK(xL&6|z(VeXODI3PI)&F7`5NY|U zf_c=RY=7nJhv(R2W8otOV#^Fr{TR_{^8o*8Ia1-=I2&eVqtOWK6;Y2&5WZhN97D~Y zj>}n=Qv2NU`@93M6Y}Vdh3qiD&r_6Le%RN+;oX{(Mg>7P$rnIR+;;LA?XGa%Faq6t zxO;Q3M55$+TUK`VcAGfkYn*KTdKPfr8i|D&YxF>-MRtyMP=XH`;X>d}m&k86G=ka8eW^s$&9149SI=+PRvqm`aF7i zTj;pwY(mG*WNMQp$NCS{!C1E+3l;Wt`q+>d!d^jp?6m12Nc>FJwv#F3OhL4(H^2DLxy?atRXb&nS$eE)3*bOMolX&{BM z+&d%@{oAs?eHvmfC?}viQMx0>bU<1H zpK~7Rc5U!TK3WugqANWc6_h96?vxME>MBI!yJ6Gp=?|cLnZB0>C*1C!0mZ9K?1zjW zZjfZOAq@5ojrlT^A#_KnLG}_=$4K`J;~oY3e!g=`WekZ!zY4@hj+I!2^}RL5l&L)- zrHX-;2pXXigJ&;VdBEU{7qx?N_SZ4v1^NQ69wue(J2o7>2bjE@3JJW1-z&(y$+74~ z$xi1cuHPm>NAOWdVPi)vu7U^{eY?M=qUg1~p5lTuLaQOa12{vm!Xm*B&0mDlrQx6Z z&swdda4s|`KSmVnMx3bgua_)JLu@KJ@q$G zB!t?AI=4>V1oBh}*fe@kx8ovsl)0|gkL*3+06B*UfiB8awcn7}^s5s9v%ZjjQH z6tPH1&;|d`Nb!T_}Tf(2dd3Olua}pj5f_Q44L~1(hHazC)0NpG!h@x6i#zztG?u z;6AP+ZBU?~5u1E*(g5Z_3A#QMmt`83So;LyjLxU|V7p#NT8I8jXEI2z^FA?X zRF=Nh-?+H^*Z$})bX^_o?Z;a+r=LbP^iQ-Q9WIdelfT)4DtjUVEv&m=c~%1n+F-KJ zMmUTWh<-vwZS=B8`@3CNukBEkXAu@X@*@iujzbTIs!GrY#cq_jD+S)rRv#`E`PU!x5i@9PzixD?Ughz*#jWPCM!Yc`v)!TBo=9{h%@@bkBLi(=h3l~3H!TS!=mz-wvC9i zGQNqR>#3Jac5lA7R=@Lj9gv^-mwKnW+`ndDyQdJzEbDOH2DPl>+LQmHsPYG$t4H(V z4Q)ml{05SmFQkWFADHCH&xGEE&)7KG5=ZdMX{Mbq-01gG#U_b zYT%Ork(=l87@x?!zL3F9s7<#5jB!3eh}sMG`b=>XlaP&Z*~W-bFnccEsNP$n7RU_v zW?k$Wk+ENZq9y!rUl_c33tDH@{Lf#4Op9IOtDV29#E^mG4JWnp>9_m(DCzEsH)A zC&vQT_9!EWtSIZoM{RPSanJ)-nR|+A`v#29Z=h+QHLvNGEup24G1*jKPQ~sl&a;a#Hy$|#ZbH3yud_DD?s7sxJsd71MCE<{1;Yrs1`6~N3~k< zJFxo^JptBX2pyq!()|ptC?>ve@dTqph(_u?4RF6P(CyWflKRd*^}Ft))}rdwXILZj zkF3lE$Th7yHb=^c!aHPk@53P&Sums_htW-BwT+nj86~#!(4h!QttHA}-$_AHOd~XsgdPTAmBf#`~5WapF?5rk${La85 zuro1-5zY-9CTg&Z-l0MsS%i?8c0#x5w;F4-T!ch?DMW6^j?=Kf-ge5;uCfk*vSCEN z_EGvQyGn=gT2r^_yCtzifyiu??&yb*q^*f5V>p>W-8O)rG~k$~#d(O%*u&FgLp$Qq zGnK#E!mUTw&cCnL&p>%fEKa|CUc{ z3tU1fY#?k!Ih-Tg4pOtZlx<05Fqgpqn2F-9Wmd+IzR(E|#680sg`KVjz-ssb;Xx7f z&Ws-F%8mMObW{LFe-znubH=#b zA!7b%RFv$20a$Ns`WjZrA@^%}3g@%%vwTL)FdO?k)9Y8;ux4TZ=Z_J3nu8%CyoWkn zynZ%I0ifXc*9yT(yl@EURKj?O2$y`CuKgWc(Z06oF$<)(FU|W$Qa!J}6bAD};iU8h zy8Fkk!xNU9&I-Ld-kJHYJexZKwD!xeMwLIZw9f`Wm+y~-cf%lg5)I+EaVsJuh3JN; z`AZ31Q5SMVX=7H)swTgfbd;z5Yp?k3f2aICu23xiY2_~FqP290m7G3(HmjR^pH_uV zg_HR=$R*G48eB9HY^zOnK&t@OeWyjt2IwGz2ID$w+Jb+HztLWHO0OJle3=BjbeU}9 zz0ajt;X6oSDldKBk zMs9aR;x>`dnUKx;G)TbI_X`lK>HfVR=EX-gQ)hA1QGeL)e(?Qcbx#Fx@`Xpy5>&G= zx%zyWBM`<`%j@>}EX2)%3JZDjA=yF#_C%}QyxwQ?!gX}KeTX@MUugxgOTPUmk2g2l zNKQRp0rgc{dA4!4cj$ra+Or)}YwZMmX*;@r6zXvqV6t4ObPc z7@+I}VGWCNBm)U|hS>LokxK1LLPC#Lr)pkn&v`D5h+ByGOf_dl$igwuT zSlb9w{=->Wi$EM^pI>aS4B(9dk@PB(s)sE0`YaAuA9tSs+r{2h9CXK+axnX?M;{7< zRh80H>cRO4ienLV;|~57Ot!hq*Cf6R@bP{9`gK!r7^0x>m%fxn+oZZD0160x-sIxOUKVV4O7(q{sy4F=&P2@JZnM&O! z{wMUd7hIFH-?qi@FCacr^BS-KP!KVA&2&l+gLZ!@e63J6MOhU{7}ajeW20ug{rG4& zx1u58+}WLdkkNb7?qVm|9MCeAoNn!YR|BXl0glIQQSbI_h)GO7WjC8c)}9C;tg%n# zd-}p#HA6AX{8Lb=pfXJyPI2QKKBw^X#rvsRKWK6hpG|Q^sz~NIiT(B7tByxno12M^ zJIdex%T-+&w{8Y0AJ7Vz@8{cv$Fi|yq5Xq>8G?PK)wmTqdVzfnT_GQszx(Fe98wd5 z=2BKI!8=3Ka7r8H90)UewQ}V)1K6HrQt5JFnt!%yAKI&?L5yZ&t8;4_gqe!TYkzH4 zEjn*5d_%CbfcL^TGVI)ys!%0|1X6+oBMiW$RR@})#Jr6nFmVtrk#n8PcK$8X*d6dz zWiQI^f760A{Z7lt#BSL1!^w(cUQ^_i0D*pHq$~FWZKxO6Eu}2*H3BN2baP$-T&&Pr!0TZGuNP z_g~-UUx(%W7KtyK7}m6jOqT><>}Ou{8CSzvA;sneev)@{33Q$%0B|?D(mdk?VVd9U zlZA_te+biD@oUFzm(e)>?j(&xEh7(&lHr@V8jRa;&2Z)`$Y}ej^V8nfSeWoefiu_w zm9@FMaVV|+yqlkCR@}k&hG`^j!=;-+Blv;@o%_;AWu!0}H9zmpokLh(S{)fMYmA9& z#9cYIi`luk^qEXyR6J*2Ebh!6JHhZAvep)W+#|{m<&R6QKdxiShrg1$-2pzkheKC- z(4b#7cGm+|J|h!%Cl%<@^SO2*hr8p4WjFl6>6kxC{&93&$Us)@eM!kf58HG%IJ7ff ziMOcwJc`=n(CWb?L|z(54nz760#*Q|YK85Dpdg7*rS5&jJf~6-h)S+qJHPR0{}0yA zh)Jrs+d8Fhyvgpx5PM-G7tA6oK|At6l^`%-&H8P;aG;qH(AwbD4>Gg-B8J` z9+33?9=%>e>)?ik<6E&V&H{Pv*D}n)zuw3jkT*)GL#|2r*A8zeh`s%0yTZW1akxw! z$n;m*W^Y$WtSg-(pI?FsyvNdr?E_c&iYa$9c+4fwHqW%OC%`58-IL~@gV06XL_H~<-7--;B?9()JgOZye?%k!2zaj~0V~CJzEp=J0dh%J}83%yf5X%1QmEPDMB~w=qsFFM9 z8$a>~Rfc=*oo|K2*Ox{mr@ia8f6yy0cLTArn6<9I3fd1Vp;eie4(jk_;q&EZE?Hr9 zexdox#pi6Y{Pox+kzxfCC<&PmTDuN!f)`f-IOG%4($nSYcjT5FzkOt4FIC7QbNTgs z=_Re(X%J~7R=o@yc>=$wgoU^(UMkUcq~y|bc!VU+8SkoV(dSpei#%a8tbn3YcXx1f z3`*?*$dxN`C-m*pHNd+G&L*exof|BMqo0hnDT-MP)d}hv*23kGX=G#`RoTRcE+Hh) zd`2zcVCKx^B0`aqxv>}%iNYlFwi=Iq)#@ffAXj4*b zannLhfBX>$Ek#{Vx!m0|1DJ>$DEwHqL|s+#FA)3bcLtmL{-PU{l`ryqcTH_H&1Dxw zx@@X7Dl4y_FLzfg9Gfly)52@B%G%*@GUkO^u8OP?s zG^|7js0BXPNRc_G z*21xn{==5JPlT0~m2+H;9vI#U0Lbqq7k&gJZT?re_iAE23?e(dv0fR#$ar8_t%SYz zcBc|>9H%5<+ZbopYY}uJ;n5p(kNa5stF`>!V3yY8O=mk_Iga#w?=x^j=L2rE2i0r& zVCX(lLK;TmW}lL$_8bBt{5;@b?Ny^hS@cj=ri=SM&;52xr#j;##0h4|7`=%4cc`li zYCDX1+Il$837A7S(dM!DqHtNNi9CztH*XK#Xa&&9Pz3^-2X|96KJFnr2#68G57&d2 zfzJ|p@B$^Tx_{2}kOxZLf-ajdbjz*3`Q4s#{Hb0wMwNW|4Jhd$wOlIzceLK!{@9?S z!3RbCQ}{dLC2n(C-7|P@K9>8Mvf9G76#9?)5aI`DCSB$dtN)prcuGJ>;G*A3g>YuGjEDr(4yn{->?~|Li}|70#}Xx17Hv2K=|rUeE!m z*_F!tw$_Q037ZE9@h5vz)4aA-pHr8+t3>H zU!2>2KSig-V9RYUKI=6jIN(SRYDCHz#Z3_FWJAaS%;=wW_)u?(1HPH$_sfePdMzQK z`){P^|LOQvgTc@4Ij7FC;hznc%#iqasS4#1a*PyQy6}CEGQ14 z7QJXwlM@r{=z}(tKRkfk8^j6q^QhHPgdp8i_&35m#OwyH|LA!2${+p| zzH=I3ByP{U^coTzoPr*L{``1Q)!Ntpcqm<9T2+<;Gf)$Jb7>Ju$n{i-{<2@7{l;q5 z8dp3z`{O!?-%!niawIA5i2yLqXkdUX-OjvKj24oaSkOsp1{#(X)a+fpH<08bT&y>` zYQQkyfj8MHcGm68pFA6j0l4aS$Bc=m>4R?Ijs8tcwOIO#&tBp5dZrpkt|fPxPP8;P zzguv9pmb|z9cG_~5z&PZuORN) zCv7VCgI@4B(B4&txZ$ksRcceWX!uN{m+Vz{mM6bQb-`$)5W@fa#K@FKqxZ9y6S6Ay>yNYs{uli#C_Ao^$ZXMgL z0F>ZW9TlXdbMB?WC}(tTtn0-;SzurRzz67gmo6HDQykBm109fY3s4;|OEs?btprMR zzsIX&p|v3ne3;XOUa=j9SaAk;SP3x7)tI}>-GyGvffwn5(m|ORB0M{!i*ig%f^LL= z&Ip6h+^`|0r~Y(xxp~C?NA1))DTsNHtB=?E*&ju-sm48LQ%iVkpKI*-uQ%vpHHAU_ z4fpa=o#E0_JlH4-K&-<4TP`gGdhw9Lr~tFkDgZXP)u+cK8F(Nl`G@x^cMrMjSDb1Q zMF=Ny*@njH&#-mZFjp~wZ&B3t8UQtk;+IgHI0bqCf9!o_RF&)YuOdKh_ zNXkM=x;sSaly(s!ASwnTDc#-OAu65Ht;C_KtI)$W;2tNdqk{zj_$5N5Gue z$CeLa@Y){y7C${(|NH^2AdNOX`{h_MnmAXk zL_d9Z|K~3)2oggGnFm1~>dgERE}%Q3MucC24^HPK5RfF|qimr(!dqcM;tlJ|eG`lo#K{!5UL76oP- zP1h?ymq`cuKc3mA3sqGS2Ck9xQ#YFcf=dO~BRpw0&Tg`%l0N?AZx+LmqxMjhZ*FZS zZ~o=3x$St18Qa;u=9^TckXzm-hdFP^8AarO1=#+G{ywP)!|Vvj+_P54Mj7^;s$XgD}<@S zSy(0m%FiEDhx_p$&5~Ri%DXNiSQWOz%{%ZnEs zO6)FSRk`+cTD5EC>e2&cM=*hZb}c|7zJ|I7nRP8`f4e8;^82A&Jx0MWj>W4!NaGCE z+d_Zm$&55m zUag!teWz*!Uc%lG8R7Wa3>p|+6Ht0c^@4FnWwmBq@v_X^jJ8uGkh2D>017*~_PD}R zgEpvap})o_6AUp;CA~gqLwD+IQM5q99$XNupoCwlw?QzV`osOT1KYSCS|6d%i~ycQ z?^+dzYOmIA1k+!SI=Nr-n%6pfmN<5DBs+PEEf%~Qzu9;V;KXS^any$iduwgVKF7;i zbOxE`jhI~#Ky8wIU<=d%CO}qT8jhW60p2fJkgwn_NV=c%dc1w{`nj8!8`J{e;K*$- zqv+0uz{_?#b2-`wvv);GhJ*`CE#IE8SGCl$=L9N(`ZO|>MXM`Siw)h$gCRV`?Ep9WgeCAs{{wn-XJ*YCO2%>leS)GlI|K73i5? z7w?aKgP1DHMDSj356ydE5D_szsh-hs?$1r*YbblXK*wkbQnrKTwEcTcQcTX@))XtGQ}}rG{&TzbGI@f{xVqq|9K1e^dk#Ma40yAPV5#qhPm#3 zY$)L6wdfJ!333{>OxJ0%yrp%lRxqje<_F6V+*8!7lr(_Zg;xUMR%AaVy3T&b1F8ha zPTry6)xM5dtHQWhQr1_u?^1pDQylSd~I zJprPt%{+usA{hJwx|rG^l6FxvTSB$%7+>YLrt^sH{6H@CvdfB;@!pAlE6jVGI`Su2D*8Y%Cj`DZy~rX+M=BD0|PHkgbLS*_8?$s^|Li zKuaJ%9ecq!;RN693C63(on5>@Ll?a_)H%?eIJQf9$^XnbQO}B%jn7s0^YW6TBQ{|1 zAW9w9^zQ&1rUFeE?#cC=#R7g>q*|{Y3Jhn|z6CcH1gsg1>AJ|yAe189UN+m&+%AMV zgj>U@FsJ4G^2!-j?H;>wdL=)8;EGCStP2$U>=IRlp#Y~UQ53ONL@M4I__F70lx&)- zlnn6~AktSA9K4n}6JM&80o)IUwyR0IZzQ5QS>t0oOvGA<>YYpJE3+2kySfP3zy*XE z-I3hQuaDAPouAYG-7-Jw24)7Aq0Izd_A@=amNyiPbCyl&K;apvchSl@HtrT!WIzIJ z-3;@Mg5_pFPhAjd1OxCaKC-Dl1(!m9r4filK;R;m!B8o9eb5Ud4p-|&9cV-Sq#i6k z`3eFifjab?fwR0_FA%}wENH4q`%gb3sX`ia5Tf)r+Fi|8v0Xg*8@d(R@kg+X4e{`< zks)Gb$#hP>bYT9T1>SycW-!c>SJCLY^a;wSfWQJdIXP~vJJnv`%RmzKAll`UMSb3< zYD7 z&keqMJ2ykuav}eLUB-jbK+!m;9V;{Ah6APJ$H^d2u@(fqNPfZyNbOg6ujrO!EVS5P zWu)54+s}Y1jnnrB9QZG+-9TPJ52Qpve=o>dk;$~kCqNq2$&$o1POtn|zulm!pwG2i z(wB2TE$svJ*a(iTOO+{MqnU}xwLF7#+p-glhCrxdAcag&^yQg;UN0A0BPU0$5B!Eu zG9FzHq!Ma_uiwfpi?M9Fmy!Rt^Nm^t5eEmy5g7yTEfDZ@&-Qi^K~B{xeHfD)-dGh_ zlE)Yuk>Yck@LY6Ao#xxzSX=h)-=B7Wk~F>IXYs(3C6tuB)R74Q6PNpjg_G;>iZW^# zdPKu2w>9c5?e(tu{S|vDv5}a1Fr2}i|5QN8LI`=zH*etFP;-vbzM6J#qgCOkfmiLq zlWrjJ(BCi;6J}JI+147(9(2o~7hxi# ze``SukQSuYwM5tlOEAd}8v1ZbkZ-fEjFuM9JZ{G$e`o+$3@5ow#hqi@i~SX@s4)mj zXa)5n*0WL3ms*g;(4Z^L5(jd+GFt}^GvVEtv+%O&lU&fXAEAu;rUHyz9ont$o) z6fN%q*)9i%#^*^$D=e3T-^8}L;QkKyrLr065TFbRp(b?ep+%(7U>A9UlXLT*8)#VH znTXB6C68VtAi2T+tRWM$hsFH`Fl@TF;b|WkGhQ|-4XRHm@+Uj+)uw`MB|Iyd$MO;w zBr@rzVn|>aL%GLx)YKqb-A~Vukmr4}68L9!4KG5PUp6OIL7?n)*DtTH>JgAJ(I7(+ zKvy;v-yHH4i}D;I7-sW#rkVn@X>NBvVMtQ?lbN|WZfrHYAaJ>5B?$jUPXnOPpZcsI z>UTO~eq5AHoS@00cxa0#2jT6gY?}O0sfe|6R*9}bonQ$PEl8v~&wMMl@2z5-@W?ne z+$Y&ec7zMN>}`l-;iWL<2~=xuBTR)w{}74B!vlz)7=Dp5@ByesKidNSjmU%1Wd4W+ z1%^52R{Dq*5L9)H{6=35XUG3e40>7rK=H*W$Xeti3r{wJA6^flysR@X>p#jv3wrH3 z%e_KGch2tPGFL!ep`854W9!Qmn295w!cghxU9&s0^&rpiIS4;nZh#c-aCfNQH%|d3 zK-mt35;4DfM4PZ|(;Xwwm&Ey}1%-7-k;{44Ef!}o#@XsFm863B-@(^E4hR`G1j2I> zSyZ@yjRUnCA~K)tfQJM*u;|j}O{klh0h=r?u?Doq5h?dDofIH{c|^&Zb2J0IkG+4s zNJEgs9RKiY5d<}ereQZ<3))g3c~v&ja8&OdEiFD#M0Acr4Cdy3`ilE_cnrE=3P|xc zT|;u>5$V|fQS%LV^pRH3wpeCf2}ccs1Vaua-)t@q+jp0`n zpMWUq%BHv!yuz>td25ulFz%s=$#JTG8VLhHug}f8kKUR>tL>|#tJcGD!#2@>{=$aT z;2yvcyWt8R%Z1WV@A>r%l zP=9IW8`^?8>02vfd<$d{SYJWv2?~G`>8IE)Qy(>`R(T6}M+88^!@O@u(chLrhOnyK z3!QD}pbMMup4d1ck)EO`C$~QTjZXU`U^Yqli2#{nue7wZa7>ejDX}&0KNa23a}c^z?EG< z){{BzvO8lDoL5S9ZNGF)+hAFH>hND04iI-nyAOp@zgHF;!bfgIHssOx_^mAsojQLy z@O4Ic{}hh0?YL5ae*xCx4;a)e14zkA)W>T|>1nZiwow)jYN6##y8P-YEN2)w=|b5DAbtD46zyUJh=JPYnatVGj9;N@ewIgNr3kxfX}1PeZ)N4vpfN_p zm>|e+dJ-6ZQvNsrSrGhEfIuX%if@R%bose}LDeA#SCM$xM4_c&?@ z8pMPj+V=0Vl|~gIe6w@~>A697v7~kxI%9b#ZPvzSdg;ExRoMoq5iGESxmQT;EIC(` zl+XF<=;$DNwU(5dAsy8-z9-m&pjFfPm-b195IH0qs1_w-u#u4wJKOb#wgMhGz6Fbm zi&Dg8;Cl}j6gSNQ%#-g(&QVY{&0kL>DxLv9lQqAU_Fj6j6-d3zGN*1zWz;PdrpGuw zEi|)$`#L6uS!Fy<2Au)*zCHj@U!O=l+~)gi}=1@^>l|qaw6r?DVPY0 zyK;zh|D_H9*smmbPDzcG*-Bm~mHGVzjRfDghvl3Y%DU1q2NJ4Ho3aKlT@!VE|cC!m1D1br>)1| ze^4_6w_hC}S_CX-l(>P+D}CuNh2h?-Tm5DM$&KSn8HWJ=j(#CWL?-$W%dA@IXxgi? zcb?BC2nKDmK)Yw?kty_2*YcH`I3;2)IO#{?@v zqIa*;tf|*hO@DXcZ{K+UasXYkw!*w_0Nljlc_25xP$X&?$d8*)Qz6Ft3>`rQq!dm8 zgD-056W?u$9ztHLd!Tt#1=i?pCtkJEUS_f<0QR@_*e_qc0areYrKM%r-g+=azUa>A z%;tlbs7#$j03F=7$t&JqN;g3O6L5e?dN9rY_NBs%D6t{Gvo9DJ zr9Q$w2m{Ymo2pL9W#dh30QQ3>s@-s7S@==f2Ht9Z*C2)fHUB}S8X&AwZO=+b+8^Y_ zYM7a&k(dl7SQ~zTF>j^~4~|M50vE|>9*0gVfw&Pv59mNNb6!JSfh3$%p%KhBFJG9) zmo%#5E&O$WZtuZazy`6R-@pr9(g533QhIOfMcFB@P#M^glIdDQy^Fs;>VF^{h_}AE zd%y!p8gM_gw@$|-z9~S=r5Tda3r$e5&9kQf&}+}y^Qyx=*(Yx=%csdgDxi66cx7Je zdTiP**va|qsPRk7@}kNt`=p@2Fvgm*tIsGo^&3p_i63-t*Ag6Mv1@2P&OXSqH?aUm zEW*GVek?2DB$ryy6_k|9I}XJ)Bdm4~U!W9ix$RUlG;^a06&(OunF&=>Y~8FB_-(#c z!x+|Kd@Z+6{q4!a!}BU5sst(}+Okz9Xl?u8FV?1V5zcJ%9#4Ww_4OTBipprLFWEV? zo;jUJrV?1J{`SXK z+6M{IG1iiDw93j@H_teG01E>(g>z#M;+Z)%vGeq$PW0dZ>3{sdRtESfU!eY> z1&TI>psN1xpqlj2764>LV3BBrZP#Bz5$Y(7J)!zxe*8cF;ott~Gea!aqtI2FluFFR zg#4((gYEhiC?$#kV4gq%2=r_UB~g{{TsW{NDrB6ffB(^lABYv<(=0IT?e@Ck%_z`h z`mVmgy=X(qAYTB$_ZXyWV^+O0-6VS0HpxH!_}i2G$4m1uK_05fB`J)U>6#B6LDik6 z=YzsY-@dN@d`c#7EWD~&?-v%d*iXf2Zu+hQ$CCrL z#lR=kqgL4?z?6J^QZ0Fuv=2q%dNzn+j;rwzL5Lx*2AWayC#H=>K8 zRyVk~&R@HGt8RildY{<2eNMH9_+MYT4yjlV+j9GjX&Pl=teYgxMsSP>eJOZ*ff%v} zUWx#YR0b~jGpFR`rKNga;Pa&W{L{kx>yy&O9Pzblgw)l?Vs+S!*b`K)!?emAR2;V+ zxB$sA)i+yfB-=9q$G#2ZMU(+kI^&h2`ehhUk!YY8*80KvSqgsOlrVmq;T}}k7AuP4-)ja^SEmt{@eHV z=PNiZ0}I{Y2{z&7NGI{Ei!{M&=|pM<@_ zJ1y8J_is!0&woba1MiOXUatk$KOC69e#Oe%cr*)x&zI$|{_8pW$3OGIJ`D%SN6F;Y zUw_O$?DYTtqW|ml|G$0FrV6(}s>}x_{XMXR*+O9ljJt3)h~B~a@D?a1wL#l-2jp91 zj%@(Y-xfs8Y28r%=z*_17dVnZu+L@#aGB~Be}MY$-OVHbD>v8(i}HWIbSnlQD5!gp z;^jP`BAo!{0CX^Sj1zdCF$iM!ngtC%Yzi??Y-D}_QlYIqgd~taOJ!qlHWdK((@V*3 z_a*zr(f@jB@Eg?QVN-2VIAZ_L%J;c|=LrM?9~=cRv90+F;GXL%$fN^Zpn-GXq4@xT zMuctoM8|(FRN{+AC6y`=pEIZlfsg0egC@p{QH#evL{YF6!Lp)liURC~{`lMf^RZ}x zuER(DF*491g5*FkVt)p{!WKf{)4CCz;IUlbZHs|?5;|4@V|eXe%-l%-YZu`$7J$>P z8pc-I0F<`{#-bFB@q5!RR-pDOgdmu4U{zzwUXcI%R7@AK+{3%0c-vQNA$l7uRbW`5 z%XK*I3eF-626=3;w$NlwauSFmU%l4G;*9Qpq-eqI6|Df9p8Qn|e)WPZ6D|yy5 zyKU>z>4l;E_{$B|N`;f|%Oeo>xX6B+;^!%KK*s^ChMG((STsjlNnZPYNI)HHRx5#@ zI^(E-YF$_RB=~;V8eDgQAaj`-H1x1tODi&}2Nz3BP5tVlwzuDn4tFD}pP1sQlYETJ z6n`U*jWv6}o>jl12iiPg55P0MYAb<+&rymOt#c&!_4cB1gR`xYJDbx3nK9P|QO+Jf zci6)6MQ`qbt(yL&s^LsleTZ3`ec6av8IYC$f=Gn$ByFUiLb_tC4X|RF8lp~g zcj51iAyYrccYBcs*#mW>Xr)Y9Z{THlA9OL^l|>tLiVb%hD8$6a-9cSFBQRgueZ z#<9EqU3Q#ze8}B;rqAM#MitAkI~lj+p*9tN?r%%^C9;&iYkZl6BJM8cq8I$qfu-bk z^s^0bKQnSb0KyoAE_pF(E)*lkq?RJe5ub@{7d#esltgz@E`KTRAZiCF{}zB%+; z(3kawn+06z1xK2v0o8;S7v#eiNy`u$sppw^*La zKymvwt59Pm4jI!5Ue;zHxD101Xcx|4-!a5hvFHImR9pEPgg+_J78aV21~GjA&dLL} zZ}tEQz8WS_2r|gBT`ssj68nJ9lyCjoEwS1jBMv=VYW0&@JnT^4PXO7-W+O((F~BJL z+JY;B$qG}4ZAhGxN$27Mx}HXv-K;XATe1TbR&fbyyR;e*w-v}aaXVZ1x4TsUF0f7# z?Nlvq1}WeGIc=UQ_qQk@5SAsV>md4gLfg9t~2Yaj{ z?i&T58SOL(ZJDJDV0(}K91_;px80<&be+QI^VIb|P+9l$ldZm#vp zgWBO8$rcQ%H~BJ#bO0czEH53@ZP!`@JD!`kCbL_f4RGjXy;A3QmQ7WZe!aEjFV%)D1?^9 zdzeBLkSl|8%R056n8Ib`(OIZ@8eS&o>CZV_G*Cei34P%}MiY6aYg%|KP`*2Wy~yq+ z&W;`ITCa{-7mZk!GWeex=4VOf4_%?2MH0SfT+R2HH<7J$WL^N2mBBNcXEl|bCRJV- z2QkH)Ap-w?(S-y*&sj1$KSZ)Fe`+NZ*E4GX+)s`e`n7_$M43rF-N@i(I=siIsve8o_Wna|FfcTxXLHE(u#+{3Ves(#KMG3Vu1ybo1pjr~9)o^?q>5#XY zt=f9*$4yebryi*S?qpcw+$v1;>0Q89-kDrrh{Dd!V6Lo*_usr`xh+S3eeG=?$?Pvr z`5DUZ^SHAQWA3yB(WV8}MB2o<3>E^FVVczlFE!}w{9LrX9UNVEbmctfe`GdybMrQDQr8TyY?yI(T?|J53-20{1VFJDSg!rqR2h-y)bjuY2 zgH68R``Sqfn-;1VRshGIoX=)Z<;)pyPn!#$secEMD_ejIJT!2T8Lb|$Kx{!Nl*9b2 zDnWk)Zm0<096QU~b**zvftD`-;o)wX$`Kz~`kzZw?;l5B+Aop?f2dCpa(nI?m~Z;rbHIRAZ#rF#i{?W-(T z(|vc==f{Abwgv(2-5N!>cCAjkaynrOR^Wlkz+j8p4CJgmn1Nf{g@!s2BmWlM`<2gP zW}&L;f)y~$l70j$Ocr@Ot+M}{$Ag~x4gTBZ$wWB&(%z&&VNms~-EL&re;3p&k&Og* z4yDE5c}|}Dm_x?gZHrV0AoLV{2crUzAeJ{;ibt`T!;lj`--iCw*UMex+mo5^lAXHM z2Q?&n6zb!`e$*(fU9tXk&BM2S{_0whs9q-a1PtmOgRO4~@N^l(Fhx1~FHM1s-5LluS9xrcU+{6w9&7r5k7P9< zfdfeCc(Xq@FBSqz_yBF6GA0uJeoO7U-ASyQ^hgmKGIR)G+p*pliF{=CM9sG*#W;uA zhi-cMzIIpY*2ni*2ONLCjIgCV*;RCCG{b=)Y1Kk~w4rFR4REwgd0v+7Yf z-+{3l1`*^62x=TxT|{tsZz^`L!l!O0f?Oi=Bop>#mm!75&0ep>y?sakb7RZ+KT7*YJI=JLcrs@K>2 zMkOfzyP)=wMUWhPEzWLHi-H@+NKdN+6~xplwg|O(>^EgfbxH^Xo`5jTu8%TJZ6tiM zPr_b%0vDqPG5p-Ci3hSAp&TS;1Z&wG^;h~H@&wsX6~^XNgQmZw53P{3av zk}7@;i%|0^UpXbR5yZWqt!SI`t}F&Z9DU*{7~}3GO#l@ZHatr?#<(`6P4Es5wPksW z-l~Vqh*zVMkxT&9-ANPj-33IRqgT>nRL?Z#Nj!(mI7wD!aBQvebrR*17ZUkk>0n;Y zyXg7Vr_^SI%UVQ(Y1Yj!1*b_nQ~lVFwu|0F25uur$f);^Z_+8$%M;?C7I-OSFPZZ_ zyVT_cNqt?|f?nk}iBE6^$RmhszyJi2omZ!KjGQzAwLY~uS5#7*1Sh&69&YzR$ltE< zpFn5|lHT!o&_=v40A_kM>3KU!m|py;LEDB~-gYaHw!PBFg13->1m5VuB7`6Y7+^zDBG(M%gOjB55G5GkGYv;>}|e# zfP~I&F7~Bcsb(ihg)eQZGnr8TO$aX7ZU8#tcbPq*|NE*dwcoi(8?*b*k!Ra-7_Lgn3d8eX))@ zs=R*+J+e!(y;Xtxoqo>3H-sTtquCWE0#|>2%5veX+642a`*bNIr4`rhrg-c zZ=rpB&G(D@a&AOsl>Hc})a|3*rQV-+6y5fLt5ygW;ogOprf%raS$Wo^FZqI~W*PiP zOCgtPn3}6=n38qtgp;YS54oefHVB+mUSY1=g64WA97kUJo(j#_Cg3+}NHioJ z;>dH8&8mvX>+t6AAoqkwB=>WlBtdYau>|saYsY%Fk&}oS4n(p(K`-48*rN!^jLo!l zxW1+~KTG<{shi`+h%(CAuFYMOqI6vsVU`iExefmpDX@~ z?R4MMM(Nj{KoHUpzFfL;a%9fhG-sxF4hE45OqsEJu7jSWB7;5QdiJL9vQ%kE5 zx_bculw*5(21GRb_mhE?_!@h*^t!{qGbcEHn`gd-x6eGZx!|lo9w*$=`0mVXUPQWW zowpwDg}V?@YZ-7JNh-7s zcIl(dgbZEEa5p*WduAQS5#|0jv2N3gZU&OWD!U=j&P^G_I0$5{q}GW7RqyyAO=7dL zd-zSzi{0p+wb!8OdD!2QUm@sg2b&>7 zE=`ZYHb7_bSPynQ&K!42WS&ob=o-+)Mfke4k6jPX)=2tFOXLHb_q=$^yaBkoLds0K zIb3)TMK1Di>`*IzS48t)xoRAfw#GsDP^+1nKYq)M)VUpUgX8PSo#HESzJrRu zR=Pvu+^Trwq#WJM!`X?Grz^-7lfh{dxNYPzibS|D3fqLdo3S@d;N<7n<{w-C*i~9#pSabvHmPa8R{b)k36?OgYy^NJa>R+!L z;2QO=XmNGlXUh2sUJ)ydga+Om6LksYUDbmtkvIV}g_ll+-U$?7C?H4RvXHlIcayV~ zX?-APQC#Trlgplou3>wt2wGMP&`X|(?^)g+F5otd4$3op^CWcft5oC#&V!h5gGu9= z;e2X@VG+AQ)%PwZgi3Eau{g$=<_m(P;nvI;!B}wYuJQcEd9>?H*W}P@uAA~>(-O*1{4QkDm>mkU8>fcI_l4b?zK7{ z!a#65@)G)j`$A&Zb%hIkd+iX96|<)wqD@vg1N*BOTDsJgyqYosHfl2zmX@sC-SHV39w>XY*mz_*{Uqq&6YZShsnIGYpaO)&BzL$my zR_ZX|S5vWryOg_>5XCR)tMp5oaj8TM=*7*&KKWJG|7s@Gl*cL`?Kr8X<+t7 zM4374j_NM?mgn7aqhp8eMC~5k)@``it$fC>&U}s=zjRbH#4YKbF(9^iTOg~yrgE`n z|HCe5wk{Zd4`7VL8~wu4PPY)==N6a$iJrY@U8=Akon8CW?-iOdAQ zg@b{29J3bPCa3Qifda43;~hx0VzK}c%tG>i6RRaj^gQeX8gs21tz2@eI!^37 z5BP9af$1FQZ3$fskwe6n{SS;R4L^cuf6H1JeNXJ%Ex63uymy848h-NWEf6-n&WtKn z@ViP`pmD!Oo}rs-z~NMk6uI-;z%dAkZa${KeK1yPZLT}?z_Rjn4V=qQ$P{^3l`~Xc zGliB3r;=efP2DEZ>7X3-O~p_jLqM^Y}n#4;oVlTK=CWa9W`K;QE|Cu z8EhCNUCN-0{>Si9FsCX?s3-e^WtD#o^khL6Z6q3#H%l0E~K{%v?FU)q`;wP%wMl#+c z(wxHL7xv#h4?KJ|({xcIyEKIj8esC+yH1&Yvn&gCCB0H7djo$q zewI&NK>0c-0B*+%&QDu6Xjke@`0eRNG;?cuV(ogIAXrQHFc8RSHPZiKO}tIv8+R&` z@50@Nqh|($NXuJC zU}5&>7ez>AV$oNqW@%+cx_0>JT{B#%+nh*HVuZi{cBu&9p93t(_i3a$1?85 zjWs%!Lx7+82{t*iQYCSNWPjy(M|fR)s+ar&Pq{`L+CR7^6Giu7}Jt zi*7t2&8ZL?bhd6RboUMn)tjkk`860$t^!N123zR<9Q*%=7GK`9m4_cWnHtv zK2Rkdza+Xo3b2cHGqp!f`L%o(uPNLB4hMALV|@M7k3-jZtlV*CgN6!g(uzR&JE^B1 zx>-Q(l=7GRaHX1D-;ej(@j1j5wQKUeRXyeWht zlwR$xVHlE;IECTrc4jU6m62&U1U_R{G2@al9AUCD9iAf2jgCedE_2<-(HHJR2)HKb zKGUzAMQQoHJnhG;9E^Q}^fb?r9G`O4XbF#5j!@iaq3a3PUQ!7S0$BV^mA~+F_aWlx zZbWwh^*N-4mRq21WDXGnzgGe4FP@l~A^NXmjRWlCrPeY4oFSZI44RtZp!Rz^w(D*5%qn zVg9`>ne1MzI&Xl=WZ2V5Vl#NV6YzE=7C>aY6O}RlH14X34S3aDVTAl{mK7%Y;ktf~ zy02YKhtsFTs?%ezFeI5(sGLn@v~bh@btj zig8#kD#9#uxZIiPx>Ex=(G+y^aIj{}p%H*T+i@T;SM!%JZSZVY=j|ua)2Z z_87o!bUUn;Jd`JZ5T=_Cp!vCcoWh4v z3PAKn24CeT*isT$zOg@bTSnnh%{+0B93?MNxbzT*syNcoH?7fKlHA#e&?r2Y@cm>S z#aE1&Zk4m;XlB`jt6uaqhugY3`Ycw@gp0|#x~ST^z3$_8URkqrLkEYGbLsC}3}l5( z0Fhk=QiCvq_1RY}-TLSScLl$rH}7#9N-qXUU)Hh2vA53k-U+j=n8=VJT^H;L#~)qm7^cChcb@*X zgxs|!m|oh2{>V0NZc(RZ_}VU{Wmtv0(bSt7QTpTqvR4)k;EB@q?!jD6q)Yf7r4Pha z@V(t5?gYN8kv6`03{1#ivAE0R_XqY@FF0?&TQwXXn$JiMECR7SXKsM|#qbKs_r7sE zBYCJ{2RZtMrcU9ULzOmU&KKim8`4ia8=ams5{LYC=|*0D+bb!qqQ{H`jD zqg4VMlaaMcpkCfy+gmY#h-dWLGkx}GMk~ig$YuE8YUI7Y8GE<%O7~{TiyZX}NN4S6 z%*<%Up0>9L_}5}^F{GHqA8Pl%h(0_8)e#a#V%!62Aw4+t&QeUiNVpf67 z31h4X@mDN#XmysfglYhW8O_VEX(sY_?SdX;EBU)`rAdA*Ll(2+=f&BOW%nMD5C!>@ z7@5w^8kHrM#-|Lj521k5;9p&K0&Z@7xzqFG~CM5d?10>$AYlL)O65(Pz1HNs+8=N}9Kg3-B!A(A(05Tm# z?juf6)fS(AG~Q+~RqpJ0L1&9HtGX3R;tF8&y=Et|{J$@amS(G6(CE>qc*AtNa9clB zcMXL83H%CqJC{#P-1j#KXDk)xXO74lnlaT{=!u?mdRNH)#sY>^x;DOh?@-4y-}9iB zLGE593u9d47iI|_O>P8onvsmpe!O)?&&GJl`>^)ZIAXB_cinc_*=!p5hV?jT{Py#6 zt5>TgKlf}d0mAn^_UvfyC0p%MtFY-!HXp5!Jh}{bg~~qqGm-%xKTYu4)B^Ry=dooo zW#;b{E_UXzKfXSJ%M^&NTNIc|60(JpPe+lVK0}A}HP!6Nc)@j+aK8jStGLRqZJPWG zajgssNWXCAs$tAZ&%k6{XSGPiilF8AkhJ$U!E9c^nw?stu-lOK9YQyU(W07dBT%lE zaOM6$@}Lp^L@O>g0dCLnj$#MA(L8)@gl6yp)YCHBdMIy2{s0-=NA+?%CEfVu@`Yce zVNWICjF-6;a&H*E4oZ_=8f!kGnV=gskV-X@wNuurokjwwWs#6uVc{#%7Mc!Xzk$t?P(jQNB~JSb^NF z6e^j?x2K()zMYX1I>Hh_2k^JDG+7zXRXiCclRl=!rz=AXc1c5}tNm!=O^+|c0-X~%pHnO~Q?S{phTUa@YU7F*M($#XX? zD9zBGd^Xer(t4aQnmHUiyhTD#bECt$p|~ew7S39n6of9+Yhax)dQC`~=(us5#^jBK z$f*j4JN6C>?th%-Csr(;pLae*?K*5M+G}K(ecF@Uu(&GiCW>Hhg;(KHa0cn)u#g6N z<3*4Sw2g$QbszH=AjCADy@5T^IC&Gf7ExN;>kyjMXC0ej@>doBWl{i%><)1{)F<;- z{S%@WCk(fX#hK(120e-hxC< z&2lXEPg%+S(jkWOgR}utCt6sR7v!6VoyruaQgyTz%P3Uw)H#lZ(93+$H~T{?uC((k zOp7W83p*RZ7#%fs`Fu+bH@NL5KL_V8*C~%7_S}*(WZ;1h`avIaVeqR5;#RU92EZ-r z)*|qFYgkr|qjo1!fCNbo!Nm|ldU94KtUP`w4<=MJ?=|TecDNAsw2ui#Ux{!lHtQ_X z$R0JMLLujOmZ0Y6_6rRYQ^KWj%Rf4vMbE5oj+QJz{5URVG zkylI89ydTe4PKT@^Z_McbPR415AlWfmr>|w9_=fz4Ea0M&=9W!!awu$soAag8anp+ z9~d5#pimJRADsozh=F1L^ir6J>_A;QA1SjPty&#+Z5Jb3@5HG3Vj6Ty&M3Yt{sm~GDUuQ znj1ZA4KF?mO8l|epXiDl)@;G5(u3U3n)i}=r>v?K&y*+Zfw1=4+INs5c2?(OS~PZF zF4b{g2KfpWe&uQBTFs|!IQHkYAOFY21%C`O0chf8o%?Y+kHq5!{+~TzG;~p!s_|Kn z74PM2s*=y3lTi6a_jl+u$i8P5BoX8@6e?>5_~zl5hdt}DZYvywR@B}>Cl_W6J793wDLCc=t1mr-ws=&q@H_0|+rPNMh;QkRDCtIUh=t3Y-_ z6!Sg2n=W=~g9a`o!*PI?e}u&k*b<=jL0(w#OgtiNYZjzxB?^2abR~-Ygm_hpDZcmB zpjIeL3t;^F(o=$^=j}>fZr<~9EkV&r?56Qir#Try4#oMht5HMUqKcqr% zD)?%(sM1a!H!ye%%&hvR$_Y?v6oO=&J2yvPt0vCXoyKzOK6|A|d#Sxc35$G($ft*- zUx3uij_M$m*1IOXLxSfnni1wMx*$L@&?s!nLn0l*@fpl>X&U|?x}EK27d@b;=F+%1 zruj$v_CZh!hvn(H1dfk(Eb1+*96p)gy>)#{$X}tP6FOV4-b{a&4b;jI%CopU1|#op zgB-_GF@!x73$nsenQaud zk|yIt^^%UKUFezQ+I9{9OGEybj+-e2K8qpvSncvtxNzw$d(H_x1J@ zw?ml2HwuHU3^epDVPR(Sj7?bMQaJ}rmoBnhZQg{d`r79oP<5*e)Ho8IH5h2&(#9io zQW9F>*#jm%fXNVNC?iw>&qGv#q-`Ftx*645j zZTMOEVk$QR+x6sUnCmDEqh{qGbJ9)4V=*?4pr2fD zm)ul*aW|`hIrWTQBgS;fv7L=!wQ?Bb8Rpwl-u3opu?;Q;TajZ=aI3_1KdqsCsh|IT zXZ38qYbm20O3PA^rrX)H#7lhf zJ&Wku#AkIk{i1gn->7us&Q`KM+?EY}6tOg(dd+@#{S$ObB@i_r{YFDWnwE`x^nY9NU_Yf@U>-LOeY3$ksQnhwJ8T$ZomDf;6NS@5Ngcsu zp)kq&Pk`nSik2}chAz*&l~JLNKk8;NPRx^x3D z2R}aCa2Rx>6v!VLr*yiSr&lKK6H3#n&=g6pCSJB30}Z^o%2Qf$X2mcTJk~HZqao2S@=^ z-JF_S6bO2z?j$0^ixuy!B;=FscY^VCXhz5AB+EdhoQomnNw^2}KL@TxWTcrF#HCK| zNsDLVBmt1SnemwUo`}L%74M?R)vIUt}UB0pvwQ+ zSMRAm4i!s&4oDKkj$FNizuLAR)4GvI^G(%df_kh?l0}8SMV76sg&PS5JTsHXnlFhq z9E7yjj77!B)k6d*O(X6!ew1)tilH8p;K7iUkUd|R#P)Dv83Ka%B$c(nj>^raNV`bS zXZ1mRX|fkWIg9_=S}ZDK%L+O3wG7y89$IUS?pL>>+IU`-04^|?p>lcN$mK1^a=9!R zxoguM4_1-6etYdk2f<|uHDN_GVP!O9LdumKO3MwcLcfM=ic$zSw7tbs9xj=mi;9AJgyU|S2R(jO+i|ejL~9T>q~hJgi+CL?p|+~! ze?ng8O6{SlEmOG?e$EKy(V47Hz&pxcP;jRyKXy7`=SDxWYEUzhdCwt2D(kSS8p{tQ z<2Q{Ti(UmcZY7QL%Te1IsWNJ%%+ zAStbafOLn1bV!GSfPf$&2uP=jbcZw|N=cW1l<-NXN{Zh7I^oRR-(C05`_Em=HOn8X?>T4hXFoAj4_=D7f=3!B;%8sr%HyBsywfCxPP)Ksxx85m{c%A1C7d#OwhIes z7c2k-xZLwm9JJsLfX{nk76Ri|)OZ>1TtV~-Kn1@2#ag$2AAaZDMot8WC9v4)4pTHT zTm*4hui#iCm$OEngmPQ_WeCJEAKK~55q+_VI}$rf{tE?vg=N%u+2V^m!Rmv0!}Oj< zLRqCpK*wt4r^^Sz!v?!v!nejruufX^{#4X}@W&ADk+>@w%3^)0YatVGzc231cS$8JS8oNah&;dDS|>_vBJZ3FDf7Zxsk-7RA- zX=htn`7!A4l%=Fb#fSE|2sGK}&3*SKH1b^&RvMu3B+#|XmgCA%-G{N{3nwxOhHr(O zRT5h*r*b|HNT<)dwM}V@2G4B^@p~fo7H`|%!WDWa*iv%WFiZDMQ1QL`bT%4Sk3ta@kU5!n9+DO3$Z z=uq4FpT}9y31Z;cRk2Ytj!t$+FX(jDJau!2owX7n>gK%G_Rb7SYEXkJki5D!-_UeL zMR+bK|C@{91;DW~mkJwRchRKEA!g^UzR+gkygb;6i}s}5l|+08-t2VedF~_+1>qB9 zpMRt1{>Ki;Tue@Ps?~*i@svc>xz?)0PikBanjIEsI4vGax{O~cDsCDA-6Iv7gujek z*F0}Z{Gk}P!O^Gbi;E|kTNBtB_rRhHZ%`S1ZUmFS>BI2w>u!1bfxTv#FJx~B-SBS+ zLK_KSTDV)u>XZ+tI!7Eco5GnCLDv6`T!R*~%7_J8bdEk97ceE-yZ#V3 zr0s|hF-&vJKtZwt?M!8fZWAwz+}IJ$*xUG0{vX*?<{;=Qv=7hqX5HUeQD<#cN>{;~ zM0DdVshVmkFG@p*jhV1n$8OOniTE&CI0CPQ{On6V8y@Wk+on0MIlaZLx2jW>TkA2s zN)%4S6DDiA?r~&nl`5=z4tucZ^^eTVz;v4Q0&yh>1U;tQ$K>BeyEdw))oU)g|D>)p zWy5=bt>;>X(1)_Z8jo1*UtYdhTceV?x)VCm;&+9v^IX0$ePa5tRjTvVcb47!Ix@bR z96+8O7J8?}y>ZeH9URYc0Gy}g?vvD2eZ+_74rCo}%AoXvA77dEKb5N5rFN8<|MKHA zpYwK~Qm!<}E>-dN1pHY-&00#&4-=O{+W{IG;@&@Yx?9dD9GI zcl`(a(4>dWt=N!1vNYri5lp9}So^ZEL)F1>O9Bz48G()@2K%o1QLyjIe)6{;;Hv)_ zE&WV9^ct0O(0nBOYr1^IWvVw5oVo6q0ewtk#1UbC5j?ly`3ap@F+2Ad7FzyG$Qv!1 zHm%y0C$`|Vl1~jUu~tt)OF4|7w2H>QVxhY^;@b6uo(7+(E&Q^a*jId&gXxrBa69lxDm#5X$f z&gE8mRZKD73!mxwPzxV10zoV$K~OJE9c77bI0AW2>V1m+QK>lWA;IYU0Jmd1 z$Pk4b(x^A|;l7Vgav(AtQ^61h1oWiX#yIyQSiAarM%gR$^> z>0|njaU;q!{TI;E@uBRGcgXoIg$0L8V7=ZGMG9tJ&9Xpf7ygZGihL)-9woQL*7Y@m z`RHPrK7DqZg1nBZ+(r3kY8J`Q#}S#^N>6_C955r_Z3~QjxzZuvy$A@sa}%Y&YmJ|6 zH}WJ~5s|ct_0Q7v4HxD2{g|P^aB5fJXDBmR139$yBe&VU?hg>TVxWdm7$B8Bd)n6|?JEI{bE;ySZnuRJ1+bYS25NHW z^N9TM`xVmnu>3pd{l%z#{T`0kg`7D9$?X*Wg~t6 z@dfBfZuv{{v9rsZz@Wnf+1dHTZjZUvU~LE;iEeb^K)8hK{-@4ttqTArmgQ%W(?JEZ^d!&_k)Xs(91prmNo10WiC0>9rTHG0W2OWx6kj_&?ovFrwl>J)%1GdzEP8THq+NN4k@VUBvQ> z3yf|5q}c@#>B1E(XfxRMlvD4C_6sol0|#nWJAhF2y^A>jmMMpHi3w!(SZM?rM_*(! zAzaHF99B$;PzCdlDgFmw(M*7U?T%Y6`TKiIUBy5&Ux;g3QB<2@SRI0T1>|CaajPRB zu-jV5eqRI1RTUVk99G}vKqg5Qn_4I7+i51 zVcq}O#YB_A>(EeIM)Hqeu89GY-YPiKxr=-rUz9+=uNxfZh+&EpGe%beB0)L=l_W+1 zqJxhT{)9pZ>_tGD4scfwMtCEL@??7>jo(ToUwFL&kg;9(-zTss?W47O6@>$+JwFZr zaU))P?h!|EDSS4`qKH472>$WxJ0f9K92;^8es}ND3;`f4m|Q@Au7)>i0!$4M)tWO| z1yV53G6aC*-z0#O)`%eToewx21v?;;{Z8f-T>vNTLDG*1jv>`G9f8Gqt#VFXZ#(Y0 z|HFLJzCt<2*4~v!^_6XK(|NlZh{0?nnwYxH`Cs1^DMu*hT<7H-e!oQlRJdU0|Mmyi ziXQI5A)kWiy1&J1AU+PXBqzh_d_24)r1{rlyQ={>n+`ccZQIosF3&R>_&=O8I^Y4f7$0pc^jdd8U`VUJ8RcnlPD%S{z_v2bGg@1a8&kD`l`%>xh%a+H2 z0WqJg2YCeboK|-*k9R^kqPGD%AMm5_pgW^y9<>d+OZ|susP9eJ291^Q)|{XY{?~?k zqy*!;4u28x-=D>Qd~Lh}*{!8OfDj^hD3g5!e5$=#U#OYFOA)FlW$O2kfYK7d(GX3v znrA`2PJ#9%F;FE_(Ro5YP&T4%P-IJqKY+Uae&l%?2r^%;mx2&$5=KvQXFdtA7yd^E z+ksdW_+Qe=RfK>>2O)2@&u!=5j-aU~>0|*91 zybj)o>@if}{9b`SR>%wLP@k~UGr!+RRRIhHUqC7(7^^)V2M+pRZv_xfL;^Pv`6Ez( z*9(EjF$$C0O3^>QrIgJt`;cA0FT`rY!FkUK>=?Er+L=-_?zG|xS@+X|Pl}@rMVH=x z&k4k`2d^R54fpR=i4!~N-8XgT4FLjcPwt?*WmAscQ96Bq*#u2p8o{q4UiBUZkUy({ z6e9Fht|wWr0*29>QHk}?42F!FpZf2YT(|~sx}@V8)<3@G2@C)%Qk0VgI+;~ctw9Hw zeo42q1vfUoArXXRO^BQzXDjy)WIisc1;!0&;J(aJw=AzM87ZOJY#mRbIL zdI)18l5k3(LV}FK9FC#pgIxPpb0MSI^7wY}p@EwJ!4^0qe>p9YhWOJnAXW!L;Ny+J zw@Aa&bc#d06?$?Dqzr*6U|UVvADX@pQhJ1maLuu;EkLcgzCffTsMwk$E)Q;HVS;H1mX) zP5<{1oPLn(u*fy- z86K((douhM1pft;E}K{3Dkbu~?i?X@=V4e2f~2f0k|<7lG4xx8Od4m7w#WjVZ5!TI+QU0E~5xM zf4lL#k5f#7$WzK+4rpLzV2%JV6W}c1Q3=igFXPem>TH35qQ3S%KIx|Dr}?l)*%`7Vmld1w;rSSzrFl&ufzL$ z&RcI;lMWZ+x`x0lJ7d6re&vAB?b#D{dkM7Q(}$zLtnkGdmE8gj;ZD4UsyC*(+BAT8OpU#S?jvPq()~O2db=9esl!Fe-j*1ZJ!eDcC}!pPdooy?fkjvi-_2p?ex4 zF7ZEwI}k&ge(8eD!?<{wlgbT=5VFD+_X)O!6&!LdE+YypBQqbN)Rm!(%%pr2LO_^{ z!l3v%^yRe!Sb({9p?Vf`)EjQ64-AacFI}~YzuALSoV$Po=B!UZZ~^c*CI`FnE1tMX z@4+3&OF-!L_6Z`jPNI6bH7uPoBX+p{Op_Um7&KJRbi} zg{5s3TGSQ$*nZGi{pniuSHHc*2)1iw;F^Ks_>6}fGw!U;H2uMaK*uY?A8;@_X-n_S zwMubcm7n&4JiR9aVR+U|eM?JZMADZ<3+~y%q&&gUCCmsE_Xkv5cQT&i*Wn!$_0Kp? z-g-cgYGn!N$H%vvvYFPHPiUVqXGO}_OEF!!(_ituyqgQT73E_nBz zXZ+>eOB&t+y!^F9X#J>vz`GO?_j0(#JPZ${J(l3OQ~{b$@t93Q@n_Fwgi&<^dT0&) z>zLrP$wE##lGz_I*w;aU`5lu~Zyuac_`M_UIsoN5M`7&G1LKkV58-t5TU)XA-)-aw zqBk`PTr(-dj5E1uES{wFX$_h~Czvw(K${H{l1JB1lx2qA5fQ*7R=NcO3xo}`@000< zhpNJW`Qp<@Qw!|BnTJM~A^UF6;UEeNw>O6J&lh2}sfxX-B-; z;!eR|81OHnD*C5%s^AWFU;efJ&VzT`oZQ|lHh=F6LKG;eDKSFKP)K|(Kq~1(a!`Lc zybi=7UoC~2ij^w>mxMV{CgUz*MOh6*Fwxe?omK2$O~!@t1d3I{Tq+EJW}dS>3K@G6 z_e09NWfCF-+_E5CFsd}A@;Z(9vqsNb`#>=jPLZ(>lf}GVo=JIrWEQ5?mEdu?=#GmV z`v9%GPc-?2ERSF9iWT52Bn>#RXF`)%QhH)*9<6luPH-=Wl)I(*3u)YN((=0*9j~@<{(hiW)522J+>3<8$ zGzbpFLTQqolprI`){PbUh_J^}uK3o~=N2aXq5=0mNtVm$v{2xK{abQA(9uo%U^wE} zR}h0egiNq}t1il`x|f(WAZaKGs%+PW)9l zNzq<`8*97lvl1>M^C`vG&gwaa*k&s3Ed)*mQb9M~`t9xdU|rRF?@~`DO4cT^YnzA z9yW$^=n3G+3-Gahu|!vicc)Oe4&x z%9Q<|B?uR})A;;D6s)ixHR14}cj484lsnC^|NBcpEh=j1-#ah$A8H{u^UbVBCU{ zx!AyIMC~~Gz4<$uTL{KWmE|rb(*4TSnf2g8rBN9PUX`Lh!OW5cQhfjLp^92`AJt=7 zKOe!d;KDX7I3%i{9WN|*0(0tXczEX1-Un4)xOaZO?G`Jpc)QK{xPUtq=kK$90qn#s z>zECfSYr??L*kVqSRz(HSnUL)RPgWWOka6O?V+oc1|;q&^5?4{TUduHLJK{9-VKSW z7z1(uZwjw@h|LKevPp|r+m>lt*dP|2vdZT}&ts7h< z-yx_I(uR>ZNbNmk{=R(I8s-$`ze=UAN!%tbOP_D_rtWWTLo z`ALT?`_di27rq*d*xx5v7j#x1O1$h}JFI~!QXfJK((b-cT~}31ggB5lNUeyRg|0V2 zLihL#zOvNlQJmkil^M`%ttiRBe=fpzKfKb@)sNA zbW&zI;SMBQW)&P%`g5MdDbS8d)^ze;J$1Mv!)1k7k`|dX`)MiPgD8*GfVzB)^DgwT zRY{5|)W(l4KVA9ymu(bgGy>jV1fCs>OJI76bWT7wfV9IZB52Z}DOxGsgkYmd7&E^? z*a?XS8jVAAOU&2$<7YhpQBN6US~ygxfnF_X!$A4!tCjqM@@awEAVV&6z2zv(G3d?^ zW%dUa2c4fH0YJVSc%c@IIo2W&8dQn2o+^wPO7Y*Oa>8&Nf7wREEx$o;rRSTEcqtoV zCAWZN;{LTZ{N&-hqnp_oV~l)?p}iI$;PLbuv&h#dbU^qa%4wp4>s!RHzFtY<`?ikU zi7*(OK&-0}mtI?qiI>IQP#eyDzcPeb3cfE27rhsV5WvEBf9|2)*@Cck;^RKZKA(if zy?pd+L8b!7Ba0WE9gi5}!v!5ChHG<@Z^f@4ngBr>fpA|^Hvzuu0YLuqcpLfH(i_e{ z(Suh_o}I!|bXR_mZcwN5^@#uWq4ChG;2+qG3)thf1x1#KL)Nk$VjhjH#dci}E{Q;a zxCg)MSbD%iFJWk&Nm9Z{wy6WTGHKy9Vq4KUME@QVKX1Y0qd`HOwbF*U($D_(4)N$& z-k#B3%N>kpRK9dNgsyzp#zReBJ9Qm4kL8EYAG+(^S1o~6+_2eDHwpvMTG*6$yKs%< z-!+HI%gyqmofPWN^N`(}JFEm8sJ!&a1a%9-I4Hixc}@XW?xLtvO7;9t6SeCzNZ8C$ zy0G+O&f0yLuzXSIst*IP+dc$Q`L1oA_yCv02g1MmevNL>xRc6}tn!=^|DHiKvh$MDvy1|rd z$-)%6;+t57SXs0~QJrgd6)2mkb4Vq(` zi)UA^DfWYJP1_M-xwtKUv+DBXBHcqOGbEc6e0O}t^FKF8L|J+FMw;RL4Z0GNz{Q>@ z<(j<1vIWyf1DLSjjrJqP;*Nlwx6Iq@*84HCoz^T=Kq-{?1sT(m-qTngJTVNy z$kiYhjWe&5v>gMBTYbE7^ht>o=?c5X1%_rMKDdGc`h(<;?Z+;TF5@-eb-Bi^wnp#~ zf-~-=)8K`(a@T@PsfXz2j?FN_?mDghxq|zMG(@VuYGm&Nf(wOy3l_N{eoean(tT;2 ztPemexX!|OSKL!x0F))ug7cq1JpzS;bnEpife16p0)QQz;o^f8HvQ=A;We12H94@u zFuF}$>jLu?iB>IcK3YjEP6;ygfmuv1)?D9PdVfCnKo+01jt!>c~xf$-J{noFX@I!+}zwrNB-*RMqS3X~C z)Az28_p#`TW826V;V!uUC|T<|6oSSbyDpr6zqhIgoD=-KvyAwrlxZ+bm9=A8@>_SV zZfA}>9@7lvJ(hwlE0TJ%3o(|8ekgMTsUZR;KL+FBdqXiQ%AeH;wo)&b|FV_ZFv3Ux zo~Ye?`{O-y(Qzhb0;)ST&Br~S7tyuDQrBxI0R327&{V0q z>FowNbLD{Ec_S{_B!P*`=5p`2sO^HOckh}XN*83|EG&(ma&uk&a&Eu54y18 ztbmm+dZA%tGZ4&Sxp?HI5bKBZcw+jgobR>9XJ?@_J)oborg`xLm7QdlJnZbe&XX=(4q@i5uu z<1H|hvfSg)(G)U(Z@ZrL@M8HHtkVW*>#0fACLo_v5f*VuLkbac)R(6TZ|bo11vDfC zznB=0Qv}5%2x&{eOFJ^JV{_MT)*x1kFA2N*8(#l>8vytNar?cxq@{js4O^<(c zEil~$TmK|xN_k#fD`L(Et<C9z2)x>?hx*VKPQeybd9|3S+B4};leT~{aJ4;Z zD0IswL^Kn&*cA;td`UrSxObB*IbZIM(MrSAY7MFh<#SkmT@_01A0=C|@#+F_zE_k2 zJthh#xnT_4UKb1RTK#;uPI>JBF4IpzDZA-6jFAk|z4Hn8jIt`h-L$`w>K-t!tTGdv zJ1J9Iu;IM=uKq%GS?4}V#gE{m-Xm3voh}l`i$D$ITxNG^`T0Ob)7Nf z^;P5%??Im&#)!%Ou_ztX5G;Akr1G9IECxcqJj3cOtNq#Pk6+F$O} zwGHX3McwlUKg&G1W_6TSY3>`TKhMU0bY(ShU{!Rk~1P!em#YH6?T7gv%f;?zY&MQS!~Ljj;_bb*%Gi(G(}>{Iy=6p}R?Rk~K!He@eOiX8&8K(+v$; zB_F4*)g=&i;*tnLiuKa;RD~I`Y$(_{899%&BAcTCn~;#Pw6Na3X6vbMNn+P z!lL?(k&5*;B2y6GfH9n`6s#$7U=VrrE({7B9uY@Th4X4tkSi2 z`K<*;8+*6|#N3Z)&6xQXUim;eNVv!L-7>Ap2bL%K%U)xdzEcuvcy-N7c7%}YwCSP} z-$JzvN@_9uBI>7?o+iWq#3oa$R=25fh6>(!K>3)^(~pj0n-9g!PZU5KN@tbYOL@X{ z+2`vL(Q~{F68e+PWx->V8z-Fwe3qE^@Vef&tb@SBNC2@n3BmbDv zd@p92srh@w2NLrF;{;m*!h4IoX$9vE`e?QkmD;1j$qo#(WLYPni|x~jXclxQ;^N5? z)>~lHk!LG@eq`j5{!UZ+@|gLGMbK>+YG-IpE7R6Ra zjUh|B`q#=zVH_y=1Frv=>*y&_Kq;2d_kaLN7h-bDt0jiD>QFVsT3_xH3M!OwOqL5N z?dauk%)_e_#`(d@1(V?Hp$laM=|w2YoC!!=#lnbS69OYyjy3WIHv0ldQjdSeZoMRM zB<#n`EG2!JH$!GZ6ohfhFj%YZhO~l;ud8D>>y>quSej;i!p)nsjcDdIKVPoSTVN9? zYR>18J!`~&6;;c~tH7CL1bOn>y&V=u+a=y3B$1|tV_v!IV#$sqaUIg zHapy@1d0a1)P&RdgWlz*YCpk?arjfj=ypSKNWfLw2f#SBdq!>H#&=Qa_XENv%FMLu zzg5a+iM;y+#L3)7%p*$^e|Z7iM7WKe09vLH(zY@{a%df^ra5~cm$97m>31~l&OAY4 zBi^5KhStVzIrW9ZoI6EprX@F}7se{EQf+Zn79jI3xSG7ds51KDq!D zcz@QI{_(}8zI?g`%BH@`HR3Hwg9f>_?lxfxEF*piH=^z5a3Cvi=Rs@Esp@vVKKqZi zf87tg;|knz?P7DmCj{bVBUBNll^QG&j3jQyttG7*#1~_iFUX|Id?+O#;hP)D!E@jB zxTg;14ug_3Sylet&Xg4~$D%W|uBr0!-F|z?fQ$@#y66wQRyaS~DeShS+Gh+{)>EKb z*LKmduMUnP_I{&5Xk=W4*SVT6(5Wao!&Ie6f@P%fZn#sionrFALa+Pi11mFe%7R~n zevCl<^v*+2vK57Ch1#M8p1<%P6C2F#zwVFu=O0=cT-E-bcD36XGIWI1nc+!eojZ%4 z&Ym^eFR-8vTwDeM{gZXeo}G64`?|2&GQo5u7KTcD*Vv3Lr2F5!pE4vDciz7C9bARb zfFs-ydeVR`DKWEm%lVZSxp0k9Ow5yBEIzRRrkj{%_t>3)*@{h`<|9CCli00E7Wrp`gyxB zpFHC0yVt6XW&pa;BMoHD%}lY)WjZpfJ^a|@TOYr;4A737Al+1{d$Ho6p>)bDU0|td z@0Mrp3a!wstInwebZ-V8Lj`7VaS(Fb`EtZa-6F{!r3ztI91!(V%_xiz7Vm)xhkCg0 z*s)A;I!sl$N?2#`20!?3JwiZ_LW7!Kem2I)6&Xp)gApPdjJE3P7 zHRfr??>2#9L6O_~gjRI7j%VZx4PNFm!UX9HrsNv~h=EMR1zvi$zI@He3pIBUs!t_% z^oSn|N&oOMKardAy;030vJuhr1Hw5AP_%0A>wn}RVv`m$-0W~VHy z4J;8{88)$JSXuO5^D-#+3D`3)z%OM7F>MI9>XsYo8XEf(V@95ahuWm=kulzz_Vm0Do>db@^AJcPFl&!NQyKD+CW z_vSSz8UMJ$&%i6ctUAw&B~1$(ojVaoDlu^ekdkp5%!d{BG(20@^cqfIx6Gwn^v62q zh8Q+`gTLVuEr<8JV3TwmYDe*P>7`nz7reSE)co}}P+0ocv7OA7RC(ThVm_bPdTC~2 zE}`bM45QpDP4Rsk0t!Zijf+DhUIg%y$4&1GShlDho|TB~GYz`+OWEPsxf3-i&1I47 zh55yFXC=Rv(waDZJUwj!eCke{ig}O6yI)Gx=@3&vHg8=^`laOk!n~bOTk5P}=lfsz z#UC&{E~b9*&Z(KF%f0nFpETK=2h>(H@0LkM=e~e4xgbti1yhDQ(=&kkt<)-$ zxG7U=q$I%Vo61lzzrzx2{vm&9Dcctq6=j3ub7D`IDCD`E7f4^moWPC#v;+ znu*76Z^VE`*udD`bkxq)D3KsCwR_ylnIca5V_RV6@h87Lq85A&FRQ!|vKr~um!gl~ zSddNOj{wSM6y45;_dpjl(C>ERGuC~Gu5Pp`Za86J1{4#1woG@q6 zNi;2VQeuMJEq`JU&KZRyzT3lQGvAajjYu*CeZ?qtu$7klbuk|=!In}sxC^Y^qSR*~ zh%#c#db%FF5)@+*$koPW$e~7=&C*i;@vpsb1f$+A0HvFc7=IcBj#c)`QW}2-4qLg^ zPacK@JRff2A@HI*Ywdslm;Aeia;VQoERXtC`e1dL|Kk~23!yogLB2-m| z*P_;=Ql%0Dxputf&c3i11x$fl!pE(AN_=v=y&K|EKeOrJry6TWV;P}P(rsqn3~Ti_ zp**5>%eUR1FNPb=)_HW4$d4qOukFIZpccXO6}6BPntgCa7#lJaQpo5hSvZs6E14zS zbXfjaThXxpDLkFalpYlnr>V3!5;(6@s7r@)(d!nw7S=SGseFvaId9Do!iWHlusiKA z+A^pea^X#S<7BVVW17sC4h@0c^mJH*thxw}UqM>!X&T_b#EEy3q~Y(`1<{=*mS$9w zFtrb#l%U9NYw-T^#KRXJN;#-JSf=`>=}4r<+Mpsc89xl_2(rc}^x_3>X0k0|DXslg z_o-Fnc{u_%<~9uZY&B#}Xv91U(R9l?yvP*<+k~iCcX2&5_1Tu6R?p27A*_XWpQ=4R zTYkpLy6d5Du2~js;{8EIKT0sVo?DV z#J0o*hA>?WaSL%se0nEh3}t`0&!d@)XC+EyfIc^K5(Y5Kkffm>U$*Kc5}81#BAYJt zJqD+5z>u;v86kJ#6@`qqRRhn^cn3s?=e<=Y(ce!$l!DE3$EQbM6C*V41h>!#;R;`T z!jaeO7bKTr_|M2-Tsp#ZGlxkv;qaaNkpwwu{DA#>9 zmvI?Qf;Y3ZQ8VX8w2KXs`ooFl9EfBnY`ptRG>d@i5s0gUh}t%@kaD*xyXl9z!?Qf| z{8b#?WUeK8K1Bd7+YT-ZP7w6%f;R?pnt;Er&F@Qr@G=yh^Fn6!PNT@mn~h3X&am(| z(B6Z!d$Rs{{0DffD*)wF9Bq5D%`Eg?={-`n`!IZ#o@NQ?^dc-uv<;-&pZMZ&Y5cO>hX_(K&YkeSN8DWI z@S!wIDP3G-RN`gk-J)6Yc7X>SQDq92UZeTCWoG45kE*SHo&0*kWmH_VKVafT=EXeO zvU)m@TjoxPji@POQYQXcKCR3Gljf%QCi?f)OaN0g|7!Kq{-CSwtQtsIbXhhKs|u^B%ahaPQw-Z_XXe&$4{|h z&?@7WB!($o9V(W*P4<+@b*))^K3arwN_+Db-yvniinm*GlXOOfGs zXk!&q6>;a)7HQ_~1pk>2pMHpfYwVg3^FoDMzo16{w;P+8XMTcXbQMX@@bTK8$2>F( zha>}Pw7R!;qK0U{=J(y|U0>$>byjc<=Fs{+8lugod+tF0Sby<{DW?W>3A}jHdmv1U z1K#JabtP8D76UXM4OhJ<^@Dqvi5HR;{Ty|$ei}&2#lWcet`Jkbu>=k)78Ikg;}ur; zKe+BfwrN$KG`x$Xp-Z09s^Zz*4 zcj93Q?osRQa+o6vYpoRhT^IH273go`Or~dphk=F?UD=n|6R9_aysHRRgj~Qn`r)Y^ zCDZESu#kIBNG*9Ix;;D@xh*Lzd)ltFWhuiZ;87f?9^ig*()hW#x)M9$_lw$bDF{hO z=opgk<^tqFp0xwid_47$xCi#6Zat)Kb9y0nqB>7|(<78|`q6_H$j``V*x$Yp%4VqpT7$kN=t5Q6L*$>>S;w-4F6WpS-?9#Krub)wl$v{^xo13Pk+K(2z1Bp)h zA|zVGuw}{xoTd#g?HXOPmI+$Ylx=t&j&}e7hOBdUIWNn}wm8|x#PV(Isp8dH;?-R@ zbq19?Q)4Et=_*JFmFqGZW&dcWJermE+g$mW1@rs5;naW%2; zG=SR-;T!bJ>za9;&7X^Oeg|lVMzVlS`O!ku3z)KNZ>45aOyF#exe?ICfK!6z%?-<8 zoRhmDl#bVHY}cK^Ln#5?l>Q2W<1hFH8PGaO1b~@Yn0dZA!P6YPy1G39gbsivFE&19 z$a0dH_K!aS_ZR?2nYkKwj2r2{aTd!6?S-pRVW~XDtTPS;JSWgjN(z)}0>3~Yk6Mj_ zLABfRpwvZEBnKseMzSe43f@TfbhdbQt#TKUbM7B!u}0=`E?d7BP+_Wh`Fg6`W(ZI= z(qLszGI6xdUN*=$^xck=WQ(3{Y<|% zC-YaS2E%AFEgimM9nYf7!OZ)6c?8xFJgbxB2@97@cRHkg zrHeiw6^DCgu*l%@dNE?QA>>)&vFINR9ybM=MfxML273)(dP$U`2lVP@n5>Na0v&b7 zOhg?7oR!>{Pmc6A>Un&ZXy zNeocv+?Y^p=$9^@%*2klz`gZk93X%NAjPmxT$;h0f}L(01#*whJFeX>C*|MM!rysfBw-0SNnpdre7cvPK`@(t-c`a3 z!_PciH4ddf?)fa!4m#k?YW*tPP7qWO8=E1-&|9C3%FNypZ&*2r0}b)g$v)$~qpu`} zN_R)U+TAbi0#^ZBZ=l2)y#!O&8X?jOyO*Teu=k^9C>HvIuNB*lHzeHF=vNk`s_kN0 zahH_7oEBZY)$-PYAT1468$^>OOG4-3sllFN0$1@GwR@Ztm6BlJ4vgC@!NRI%QjUI0aHNE8#YnPcKvP;Lq5WdtXSh$?&qyXH z{N3ZzawEt}x9RPdt+WWTBD8EdvpVre+yt7_5eJue>A1Hvw``Ygj;Z|Adwu#Rn8hf9 z@pQNlIwdol%*{*fCB=`@p)l?hzZ@jY+GvZovzj4FxV38}X{DRu$jk3Xf`1;sU#xR9 za%>-IVDaJwAIBS}iIFYJtE}vex@zySOuyEq z>27U0+?=(b9bDI%zjBN@rI|rFoAgMv+pBj-FZ)jS?vLx;fnhkJH`?DcfTwYw)%i4K z=)t39br3VVKE=x?iA1R1xQ9kB+CGm%oYpSWcq1?T5maJ>4$pASR~DYH;#9XQ^uP5r zObGute)Atyg47kl%*>Rt&pNKi$nY_pVyADqm z5c70G;No`==Xe%kH)WquH^B-2bFo-PvjMXcB_@(**}S~YQVH|)&k*)LAlgQQKr{|) zp{2mEg#iJ(Tq~?Z@TAAMm8D^pZP-_5YYsr+r7huhxf;X7jLh(A1k-`=ueeG*Fgqed zJ>B_$1^{3U1JfDwsqii{;t3@dlsWZx?a9k@ctG1}x;>q)nQ$VS~A?_#A_ z?oX23Z=VLSmwJ{A)?JOvo6TW0v#4~@p|A*P=4-;Mj}8xS)I>5z5FTf zA}Uu5ng6~9PR61>Y%*=vU^8#7*gyXHKKHvp&B^;goS^dcIT^sCCP3W5f&tYhG^)|e z%E?|X77+TO_AI0lWJAdV5v9JUm@2ckcpQdQE*Ed2^$GL@=4)*34ClTqC=wm*V?6JT zX#4bUeZt2tJ zQ^fw_iu{087%>y3afWRjX(ib*{u(K^+Lg2C1g};^U+;gr;pH6|X6Dy?gxvk;gLN`_ z+-8kLH@qyN(77~xajWB%H#2y`EIY$1YtV6(GUFYgpGty<4d#6V?E-CO&sUmx>hgX+ z4y^1bH>~!LDuEd1(u&Kn&sWMJ!}tKihV4ThrEjWMB4}^ZJh++Gk(i%J`R!YR0;Q`& zPN%N97?u$W(?9m8KRNWK$-HOmg99+3Ngh!CP8TUT{UB(#n-t&pJaPw4jISRsEEQQzEnu3ezWocB7$=W;e6v%Pz%a zhOg&{+ht#3PFfD+(xv+<)M|MoKP&RJUlt82wHN>+4L(sa7tiXqx}Iqun(>UO)+_?3=4lO!oSavgj9V(OfZw)EU)G87c!FDJZPMuT ztx$pDWva`gxJw43U3rnI)n0x#KNI*u&DROkKx4e%jnbB9Cbx?ZcYhI~lDrnxb!xPm>fxYc#08P#l$v;Mn={$teNEP6p|t zb>=DGt)B49s2u4ro8=i<4Ud`RIJ_T8oVd4k(@3&3GO$=V^dC6rEd&Ss9D!wEcH!jv z)9v=3EQCNI7{KDdzPow<=VaI3ArKp%yXbZuG2=;mg$B`pn=V#M6vo)KV5{(C{prv; z$|gioPD|F2%d4qvVA^-jNaw>8Z~%>vv@l^0CJu)ya0xx}Nq;^`80rULx8mNNb>~pq z7}jRQ2?WDevMQd1?fpottGjUnts}s&54(WuzrMY)xAvTrmh=kJcid&%i2q~e6I9%j z(7}5^zw~bXVp>=H>5^9lj&hJFA3_7-}&Ioa91Oci)y>kHGg4d-<)o&-}Ssaz-wxc58>8#(_>XcJBj(| zT5@a&1GXDtdgTbGY6)}5NgQXLSFI8)E_f{2rIO_lx!rFbU+)i#$n#msE@mxh=9x$g z=dB{2%&7CbMTupULMZvW(rBRqbfJeFzq*YF12GKgS)R9Nw~RAqcFD)yq-!XAt@ORr z0cb?AuOHyBeC2F=Z{tP7Tmi5i-yF?BXH?%ij|L_AD=Z_lO>Qg03YVhZ{+bwVm%T|D zDKVMp3OFDBZZR`P?GYAglG6I|_qYQLO1+I%L4KS%1RZ)E1edFVd zIGk1kew*+d$LE3g+(lb;Kca8X%+9Jd4AMmxRf3Ow(w~6H;NN|7uMNT z65Bo?3v>410Z($6r4)nQg$CK}Y({EG@oi*kkU1^YTfuYse%${aXdr0&HlteCtj8VRK*NE?{i&v2L+1g$y zuoLH5X39NMWjII`z1qxN#-Xl$a#?@;lxb@_u*xM|=aQIXUh|WYSOn^GWe7f~<~2Ba ztI&@{vT#G*2Rmr%t&_DVcGhQ59}tj!V_=siBcVoYapHpYf&{KsW`Qi@a$2#KTLcsg zTW|NH7%ceY_B2mt9|Dm{UGdwjj^vLYatjx~7sW==>9~Rx+1GU=-~E#aPI?2OC-1U= z(If=h7J4w`OY=cF@YlK%ah6NusQiEz{QrD8WMN*7q`2*Uhi-x0IRArojuN@ZO762l z$*vf&OB%Arh)~w$9`^Qo)xL*YNSb-6_>=E0RC(>Uj=_|z%s380v^60Xdo0^XF^-jP z{{cDoIVc}=H62$lT*BzA5{LS6?p)F?Oso*r?*0Y-sFo9a@&WPIx|W|PDiug}Y!Ca~ zsnYN8vX`CMBMrj558BXbx?8=tqBk@YO?BQvwqM>_f8-hI zf&BLSv|>72oYoF-$_g)cUmbluGV6&;&nnlBa66ZO?4C)~%nWz*Z>T2J;phFH<_thg z2M9{yODQUkp{1oMu&O>RjA)qMvOn8h?#z9* zps4WSUr>ubW-CIru+RQq?7eq9mj4?*oV%NDBs&qhjqFHeW{*%-S(y=KX3xl8WoMQV zrOc%45kfM`$SQk=$jS)eIj?q~@8|RUp6CDHKfUgkxbEwEU+;0A$9WvbnHzyV!R$@) z8c0TQa8d2uMbrTvo5c&nJlRW9#JkOL$1L4irBol8UJPs}5~UqFMAAKq;~jq_fjS~d z?bJ8O!KW4*$pcoAp*`~kW9wT;hZloDCNhGZ_d^~ecDzCpz-BFxiPcjS;p{SfQyQ{| zQjIeC<&?tk=IagqYkjADFhSMt7l{KG1UJ!k!rEQT6?uwcq@rkp!p7)O zuf^Q@iJG&q9NK9Ec1qA5SFuKft8N(SB}u91;ook#3w<0zR@Vs{C~2{;?*U?vmU22- ztbS%wde@%!(Twezm%Mh>@l(FkZ3;iD0FmMd$*Aq(GuGcbn*_>D1`0X!L@X7z9Z(cF z_G0L#<`Sxs0{nEBr4_Idm_>sWIlrd7A9c4q_~{6nrn%Ae7ZUsJgNzFNbS2a+u$DoB zG}X32xHIKK`%Lq;P?hsIRYeTDZs--9A)h{41lFcV~X#MVS~V1K#4AJ^DL$AjA6X$6!^i zA`uczBolcVDRQkDQn(gi z$T6@WzKa2@J3y5w2kTSI49|J|m1wd7Kn+1O5ez(B1dKASzQJB*LvCb*!ijW$v6x6i;U^s@KT!YX zZ~TNC?B!EoQXtila-BWARQI{V&`I!~h0Sg6pkFiEB55O#aP-2)CTOV+{CA@!m+UPMUZPh3xZ$RN>S;VeHr8mMBuhTlz1q;^H^=A3=1LTx zOr_1GQomp2hCECKv2czpncqMAG2c{W452B+TUfC7ow#CPS%A43sYJLe0nc|^W0*4cw>=UvWMW}LLtmJoOX=G2fv)!d7`8!%?+5bj>(zx(+2b$m$R zPKZcZa(@5l=cSKFOF+PHvOLk0*PxMm@%$s@WDbpNbvw9yTjcf!o|?A3Il2gm$~oBj zM25=tC)>;?JiYR3xs8&irXChk>-lr$f9C)i9`c!NiEjaS{bQhLiw4?7l=m8l>Vo2s=VPZt;qrS`=NwtC?M~_tutl1_(R2IGWfMAVAE9K9L zhC|k<1)XP;vyo+elyxodZ}}@0IPtd`zyvbDd)A z!H*vu0eQf!6^Akb)*TId7c+P|M1jvtBLEAd!ge6TH421|G@kTJw3pLW?yF##ur3t)&k{Au9(??qDkAS^QOvI(-`vmn1_ zp%Zq@uOG0VY~GlEMfCf7eiJx<|Lo^C;p1CDuJEBXnG-pxz#B!q=gB1=%xW3Tb9Vjm z!b+$w+rKjkI-2Wu_|K#%Jdo6sftbqx?piTGoo@!;B2MIx zB0GAPg8R@~(zhs4qS$7b8&Ly`fdE>9{ZdsWEwrb)kfBWX9*6-7!M{Vv@5kx#EvR`` z(kMFz{{Ejar4eu~i9$lThHyGgFkcLtd-t@iGY#1eX!tB9*iCW1Eg*?el0$&C1A5xs zISK$Rfq^4Pg;k+v_t`Aq%$goK_|I1=F@QuG{lQP4|K2MigV4xfSQkVb5A8sjim&yH zh;nJ=CDB50=t70_HKgq*1&_f%0WsnCdnO3lb6-FNw*66-^dW;T3qlmO!yTzj7h=ytas+tr{8goj|lT3fSxT#i4E-BW1z;=(p?8A(naWj z%Dnq^N_;Z&LAd?3@t+l>cj!f3WEZ9uvQHO*dhar@Y5Nm%RWKEM@%BdozTWfK8T5VM z4<>|-%8r`7IQqvZOEI?>n5u9d$tq}uJ+28_x=eD7oxqn--ZOfFlwYj~z-I-Z`yy== z)CBBAO}?3>E>oP&36NWXV$w(Cmtkz{eQTf!4nlA1D5z3)b`HVKTtXUcsR;cTt6$G9 zU*ia;q0$kC;t2HRGln2*w}(oSrS4#^_Q^7EN-XTZm>`b$*s?$aqaJ6B0XZdydb_o; z(Hf@4auPX`#dp7UI=uyZj}|Czj&O|MqDBK4c@#GFLN0_=L+9QhOLeCsf4?p-@OaCB z-XL0pO+O*xpi~6XbVZ~&s7YxHEoaHxifdVCh{KH~{c#4Ljwr+-SvJ zgS$gjrJ)Y(&WvNyP*8k)eCH!Ch~e)hxqY}}!Q1;A0s8)WYs}!W!szMw!_i}MBS;(o z%qsK4o=`VHNLY^s8*0BYcvG1`pt$OYNt;KIe<(S9wlbDBWkCGLoN%oB3bQJ~B_r=drzT>wQwE(Ei{8MZ zhynENOvRfnXbJcze1Cr|0ZwOi{G$>c${xG-RMBZrKxTxVlw~cUcH9=;GhA7)z(9PHwPqjW&g; zH;Jr(9*&;SdX@c}Wm3P}R?ePanPw2{p)~O&}m_%~Jr4_9Qerw2i$} zdfTRUKaeP%oG513Kt1x}QL?#|T{&JTem_DHYDe7@JKJ05N~{O}3iN+Oj?u_qyE(q& zCkv+b`B8|zcr9m%5qDJ2d_(DH0%UQz3_^coLLBn}dPg&20AOAZ3T$q2R%K+AX;6(p zTVMrz@^SNLaF&79IT?O>UOwa;KXJ2wQJ}9i{}cKYPL3aUr#^mJ>UlZ740uMxLC>kX z?IOiKzYmD-a~1{Kg~J$f7f2Q`QhR*oK}d)NxaafS5JD>2;b;p7;SJ(vtjjrFyXCO+ zb>rzwKiIaJK+FuA9%Yk2L^q)9=OC{TF}4HUAAUnb939MlSx26C;8a#yK~wDlMA#+0 z<4DX6{V!abmAFAKu{@oBO%gw0=lQAUHzb8#*;Nbf4%J5q^#4k;zek@WM6l_0*j{=3 z{ixwRy2s}O)Njcrc;Co9>BiZM*9gKE(FcA>kHID{4`x6IR7?-sNDAD|VRR|F3lbA% zA(nfBkEH?#-h$hODQUa{mJC(7!}#KEC$#7NKq0R3i)HxZ8_D1s8GKCmzJKF}Vo;7`(jfkF!y^>ZBNm>@6<1@Vx4G{;^ql{86s;1h8x7o}E*}mE;3Op(S*611qSaE66nM3_rt=?R zsy}kxu^rOJ|9)Cmk$kD%-4fR-?E+C^3xp4eRD(z>mB+{5k`N?oLJvpnO4p|a!7ZfZ zH5V&4Kju6G>`ehQ01u%YbK&V_+1XC9RiG(h^~)WfYK4fgPajMhk&;J`VW;os03B`# z^PGXfkdIkaMuK(vGSic4MwzF&Fr*a>#(w|UwogGIZjqY*Jse53#h)lhCFId_^~(N1 zqb<~Vy-Ewgcj7n>TWY6T`?1s)SGA%c4^N~xKj-{^x@PJk#sl!qXU?B=kowa@*zyAQ zd5dy0Mz;CR!*6L?i*35WV~=r{2SGV64HrM3JuEXOxujKcU~355r$qk!fLIjr-`>p}@Ycp;M<7Ry z2L^q+#fs!UI_AccXF2sy8ywR+09VCLZNQ4w^Fy3IngRONzoN(M2T0DzhBOi#Ny!qD zGk0$6N9fY37na^f_*#23+&cCbV1+}r2)T0aJ)#oWswwv1`0D~?tQdhmK3)Sx+9bHO zvU{f#gm|KtHQJF5U=LySq*%it(!C6R)Nak%-wG5bkN6QC=Ety{6nqRM*$c&1+NM#a z)V{62gMN%J2KA~~_~gEJ^VtY&p>Ys(Gy*uw`6U^#O_@M?#_a%@p@2AC`)BOJt~mit zZnvSj+XN`V}}&Td5%{Xuz`L!R@mdUiSn9kMRVQ91wBRGQxqj|L7IT zG>nDo8j`VtGV}~E2iOh?ggSvLKlk_-Na61}SJraW3syl8v5ZszuSuLHDH;uC3Wqu+ zC=H=o4Hr~FiDzRpuZIAWr4cS-vNZNm(;uVvz|gJ+XI~>Uk+jl3SDIq`SiqvIv3y?I zQo{Sz*!Arz4kC7!`pO(KLRc7Y0LC<=5lA`EhV%^@RIyWOsDGBfK%ElJflJ{?iPihZ zTL?Z1^YJMyKmT3yYoyP`bz@A;f9Jqwfn^pWE_J0Fiu*C0y1yRm@ zh%+vLSNungI*=l&p@;V=dVT>)!L8!;PyJfJRy6<&3(Lxf*2?GxKxA`$VS($cxf`6S z-)M?J-8R85EB9l#uJ8Q*iajiMs)zf$BmIU)V1j4^dE|AL^GiytMhLB;A>yp$cNQ05 z986!5{SzLX#JoY^dI^y-=&tHmQQC|hGh&RjAQ@%Y%)(3Ky;F*~hqi!INIL!9SSLMB zSk;cngp5>GEyZazNOu<~7o1*(H_-^vBr6;H8wWWx6?F>D7=T+BjdbHGIu=bCYzf{K z_xB$W(-VX7O4mS~`+6MC!%2^hM!hWp$4i|ye<R(84H(jb}c6!wd*!>4y*gE}@-%(|{!Ai#*t0cR1t&mLhZ0mu7Tj zgzun0i*zgcMwSyMkL?t1B6hC8wt~B{(fnyG{1$?@dM`^6&)X0VakzY z6wFxVu_XYTC2)wj>+D8+6~X7sEvi0hF$|#x%#8WLYgEO&k$cGaTqoK z3jT6eno!i#^xLgW+w%%;!mkq!xxM+RY`hDYM( zPQDjqdcWk^&py2wWhC^E@kv5b{Z6x|kC_eGzRf~6L@+_~-ok(9G&F)d#!E<4A7brK zp9@ey)F-~O^PXiNz{Z*Ov0P@;4axrH^X&maibWRPBGXZamxgzDN+3kLijdki1Yy81 zYX=FViLW8y`W29^KmCDm#L8FzTh+$ zmG9j=I-}T`Jb|vT%F;WxR!Lqm>>sa6&NkYQsL0Mqs5o-@8~ZORT_wo^v+`pk!(`MA zR9;q$a!>9VjnzPgXpu~HpGV4_X{Geui!GXzTF*xnaoZwO4tCoQ--=a>eXtNo{?xHL z4h=GjYP*?sU0C9#Q=+V&Q#f`WeKr1%Tu+e^PQLUGLtT07BlK88BDsNftDbM;gZ>Ja zg@kYk>%=gs*Cc1uD?sI$OVwymHZ!}yHeCe=`&-Z&5pM!hLl#M@A%uL5ja=~Mwin1r zvxD}v$}N`sxuos*R*g?@1*71=^Q`Tpg=rAi?g#;og~PLtXd>~^#s!%K62Blj(^dob zVaPJ&p%Ds~iabVT@wm+VFp%l{D@w&?yK`6@d2dxtE>^t~$J|V)@z;w(Bq2!m&Y zLdBQa_7#DXo%HdWFWQcaVFtry_l>T1;Q1d3Vhhr%@N{z~C7>Z^Bnz1HnvB&-hqe$Y zYSMxY>)DY0r+lp`WjVf<=?+Bl4VG zvj6rX>&gZV4s4|u^(KA1xe2=^U4|svNHJ(^Uy)h6SE@0 zDbNt%FC6IC#Y^*98Uq@;c^3I}X9n0)H8Q2_1s@zI$?&mKZ83uK#v4Ll)!wEmaeRf` zRpfL5b{4&?-wsCh50CZ;z8C`Xfj!7!ghNi~9N@@*&zc34zY&4QV62boI1vRKFTBqu zDG-~ha&n17-@v$cxT7uRizzY()Q(>eW$!SU=nRlZ$e!7}-{a#hy8I;jTCFEE<;Y*Y z`_bRrHLmvLA%g@-qNu$j#TtB_4xX$PL!dJfe}R4mDEzrH`$@e)Y32anE)8soYP{+x zV`3RKJfTeDH*(;G9@YGzHjzc}8`~o;ebL?@C0A;ypZNizVx9BHu&T5BrIsKCobB_U z{S1;Rs14mMZQj=8w;AF>fTLC74s|lOt@{TCi;_OBpJ<-tiC&w$E|P4VJ{#n4I*xqs zB*_Vyw1T>F)66N&-YCs007T|p9%$QK`}BXv@)a>%z~hPLq~sw`di|yhYA!->2J5@c zjb!C~J|2d@lO*sN&hTgmv0VFrbWI=x!zMcUh-%^wfxDCJgTs+b2#s;2$Ky>-jk;y)zrb9Tn4LBUQS12-{aL_IqJi|$qY)Sj zDW)=(EW@I_N^n+UUIXKPbAQwx?(%8Ii1tupENv~*$xK=HOx$bI!dpknhp?WPJrL`a z_@j}Ed-gEDR*;cY&$qxJ?UtSkLg&7HSPwClv>AV=DbI`6@O%8byp`2f2O-32ZZ^&%d$qm*PL*0Aodzn*`R`-LwtTv9n*15vy|&a? z&C(fZ8Em+hr-X^34Q&?``Kj?3VqTboK)JQ0@e7kDsLcoI_lDLL`G!r`J5#*EfIC;*fcDQdg_-N$no}mMjk*yLlK} z$Ns5T;=1Em;WzV+tcjJCn!cM_+v=L+kUMnU|Cu=S5Bhq*_#X%79{fYHknEkWd(jXn z@fCyJm)3fC8XSe=Abg?jWSH=ic2${bIX`iuj<5$ncbd-DQa-fr2(*)!Fz2u3+L^ty zyBzZ>4Lgk1_cs%PoJMq-)PmZV;SFSMT+;>s4K9Q0SlP%CAh0Y$u2bH8LVt<;-Q0C( zti=ZVWGrw;-^u!jJNcgBs3jHQ?-qFq?(}h#Rf6(N*xTVp#D|JFFJKVJSL2|GY%kST zse0`c(-^LOS5DyYC5=kWb-O${_DrER^0jBftBBd}Cz~txKW|Omd&wIdn&#=%RgV2K z)~88Ce{)gsoB4^5o`$sG5A&0o28|mzG%3`hS+sCYPpVhNn`y=LUMm08vg(>W{%|(v zxeE6@^;+4s7(%l_z*JLToO!LrLFIqeT73i&JSXV<<--a!hN#BRL8`a1U(8bS@GIrt zIcchsh8pcK(FKlDZl$$k9Z}z_rB0acE;g!K6+7)+m0Y=zslh^K?NZ~)? z0R*IFy}^^V^Cp2?4{5-pXN{Ma#Y}n1WNO6uALkue@NK{;*k+ztld#d~*kUr? z6y?pEK7m>JekypZbK&|qxpvvDu3;wAM2JBq`#;7J5IBw`DxbrR4)?07@i=T!^4Pp@Os(T+ST2pQxrrlFl7Rpner&P?qoMkOj0K56XK(!Whj>Ata-boEkCSDz;^{0bBPcj$2|>+ z-ni9zd0KjQ0jA6C5cXZYv9O&jD}NPZg?PX6;pbYtf96?%$K9*nB3T{3rl1J+2;WCE z>3m9#J68O1+qeO4&SafH~tY=%VRA7zm>x^b^0I>2Anwf7DQfQis9xER^<}Dj-nqEt?S6=* zC;f7H)yNm<7TFBDI(;ce(iQ~I>vJlS0yn@3>C=}tsz@X2w_uo9^lsTx?w#(yZgSu- zDtP8YsJ`hL@X zUoIx$y_IjeBS%Vu7@POhMvqqoOhP&F>g1hc@)c#o|40sv5N5@@@wTC8i8E*ecS!%B zb}QnvGSm6$y28SH5<8sQX2wb@2I|T%7`}ldN4M4_p|?=0Y%2pvGeW{yijh0N2oFeT z|Dxf|h!8F>tHtM*3aY?_Sc`r;eXL6IOkjK^=B1_YOO5uIg2t8Gxc~$Eij*gOB`pHR zG^7Tx2sGw+{afVL^+S`ILnM6ub&;PjE`1cHVzyAdbwNbAm&)o@J+a~*du6wmgdg{LNd?#Kz4)!}iEYg$RqNVz zoc)qq2_AZn7cAN8HmDC=G}m6-KI?b`yx}#J zg=f;$vp-b*u9p9(G$10zD8nlcnN<&=zb6uV!A?yGGHFV6%yG)_+ruiGt{vg zZ?WAUpJ7eSps`lba%n$N9r-{qqV1*UVv@A{@^MkG?MCurwLN#YU3#s7L$ug6)Azy@0*ASBh)snc2J#4B zKDc#LWu;wdSelBIhh#&BZy>|A`U26=Vky7+Y0$VzC93bB*P zHgn>uFa753QO}E?{=?m4_FK%5*~kor6-#I)I@6e`k10M58JB_bOftbBcRdc;AJ#jt zTU@JUQbRDI(gXOK~vvl zn~0oL%aS8wM73$sBip^zI}eFo9x%cf9HvjO5xRlSWJQ$Wub z#Bl^)J02=Mv!pw7%H!VR4Y@DZlNt7J{pHJX5M63wl;G5B&oO-NR6UGz*HV`qUd6W% zA~i6nt5N)MAc_abX?(mCLko+IVeYr$QbkIS{9_OBKmek)i%%ai8&cp@dN<@cb)Uva zrC2|5FFqWh>fLw@LoEBcwuFeMag?+hTC!FI-!mukK7KR4MAVbnxG%IsFF{rEs&huMaY)=kRkTRV}V`Y*W zVDw*sES_~*D;rt_Uwh%7j&x;OSN)avcCXzLP5~W&s=ZU&;&W^aQSclDZdAR)c<*ox zJ|U6~VIzsG@SJ~c1(6zX))m}JWM%RJqQhbXa+GFBLnvA%0@!KFvK}P>Y*I+)DK|Lq z^^{5xI4LqUPbv@1vIvq({N>54K-GRs8J%eh6`T_vp%Sv>UuyNkI-^xu{rELd4^r(7 znqBrK{zv4eE>MP#Ok!;0k{Rk*85yvb*ejEl z+ye)y7kxE|jG}n&d<465bpc$R-c{UvAI>J-yr4>mW`2|G*n2p;S*CrpMT@w@8Gz-K zIL0~NN*4`3Q%(``lSK$4hoJ89869sIrdGNxq_NEGX=47*Q*H4Gg%g}Kq|1pF_b;9N zpOI8VMzVrFX%a-8kw9N=0x%=_rKY^YfG)YLtSw#5FT&7crV_c4zdbVe%9^j`360~+YP{ksv33A0Blj@yn%6eY~!A#pBM!srzO-aSJe%6{!RLmA2ao!UM4RxJ4CMw4-n zOHUOIucy9NBsYaD!1siLsrcY(;Pn%vj`yIF(!!~GtquI7tpZMHwLJ9%XxE)F6MGbo z1sA*G#S%#J5o-Ty>QUKd*_!#+`uXpOx)+aZpn40qui=IJ*oKNc_S|lVo>`s&QDxcrPwTKUP3&i zgxFpniKcVZ$m9oDetASn7YoU$3ehA4jzF1CxrUTMCTB+8lRWSRO3IPz(+o4vb2~^x zO5ebBG$6(PV1gX>60UyanY_=yHn^TzXAC0NTPe$qgpR00cHeoV#uBiu{`}>I8BP)V zs598kg+lW&#TZ{54iB|KEtltM;ovN#nBv=*)dwXc?qL4=C-uX1=LEo%PYCYLDG1H| znLJ@zByg|R+&jBJtS;u+2A>D>1Buq!#m88|<=88Ifb&G0l6d!nRf8uv>EfVNmEIqe z)9+Dxy$>Wof}v#n@+dsAn$R`q^H8c2Sn1z*PY1}=T4f5Hu0pQBK%xprg9AO6a`_3Q zCM3Grd?d-;bJO*5qLmC`c^QHvKumbeE#P!Z=|9*O5-1i3 z>ArC@5WL@28QV4rrChyZ^+d97G-mr=L{d&%f>xhq=Plc~(b zG93ZOspGQkve$jVVUudL2m(7)2Trvd^xwD*L5p^DI*Cy&zdx>Q-ZI$Z%aGU$aGg|2 zT7uLf40SoeZ~l5+v7@LXKvV2UgPI(k%>hKGW%)qnCYkJ&)&Qh=buT&9=oLGnhsK^W z{HjzejMMh(j~wW?5&*#MZf1D=p+^)@_X%hP_{_!O#>c$LeDvV)ylTfj(=k^_t$mJb zw0{DR^iW!%w@!~o#IpZkNb!A29XbOkpwZsi50MhI7%u{TkV!|(#P{qwPB{NVp5mTlRvd_nZ%JG+B zgkJ|l{nyy8_A0aILh(cmprOowc2iwQp+w3qjK25^m1qd0>&U5gu^$4iJ-T@k!a8u@ zVt^VrQN>nTcSgmKs++Kp{-}>TR8`ITo!8!*wm=2<{@_(A`fq*`BH#QZumeCd{iMJ5 z#ts0;nrFjcKf1p5s%){JI)H(89u72p4c5(Lo%$_Cu-)l-%@ns4E_JQ$^)ty%?T6;c zcR-grEBq1kqbr~KdlBiyPtw_s56ABSyC7OF=o%A_G(Psyk>!qTfMXSlc8>RgWwmtx zec`OX7FY;*++HSB-ufc7>Az<$!x_Fxin^AkrMhC6@)Ved9<1O+(D4` z?&pSb=m6;Z!c>UUfp7H)QyxaccN^KaGN0U($-bY=sB>H?>HI>Sa|vRH^wZSAsrN7q zzDhr@aRV9z7ixgBMLRggu?;+XE`CAL(AU59?UMg1|Gg7=-S6vflH-z7s7rSplyUS4 zP6~f0h?x?jsUXIAnuZkTI_IX1gSpum)N=3cj_TCGVP{`ltHK-t8H~`0ZQTs=A#qMdfV-zb${`jzFwYn?!06G zlHFQ;P>L6jiY|C_Xj@lpT+LEV^K}-lma4`#`DUvCM;QU4UxjJpzvQ^wv%0t6!Kux* zSg9l_3}2@F^Rv)@hV~#{k`z$9n;U{A@ZTeHZ1HWEIh3S6-`JQQXiJ}jW?L_pX(Z*( zy#wMN8&uA!6qHUqJBGlYNGIEF{z}?F)(+@?vcM5BeimjEV!tyLAZ{=7M5pL1_@U9g zGGcG!R|A^EJ16AivIc*%2`C%dJCWVzW;yu6ooZM^-`XVxv5&g|Le6toKlwQGLsvWN z?@)4THuAor9lz{HIT0Grn?bX7B#VMX6uoN*6hw-N!>z?owlqDA?YjJo$n&IApgij$ zjlXNg$xu-im6>|$!5ySY@HYzs2jW)kA`6Yd(YSpZAgO&wG#Conn2|k_2JfM-j zQJq3*A0BK3Q!VS*WLYP4O}^$fD%dhsPU|AsYZFRRybR%K*lhm9m5L+K4QvBY4UetB z_;s~Mic3~Ok#?XNz25u@*Hxm zcX}UQzm~w#IwBSrd?dm3Aq`99i+*xO#>$JN#n*up0=6&Z_w^kpd8J&QQ}TWEB7{?^ zKtxjonnJO|0S>|Ni)Ql>(vJe1{*V1433%nT*RQ zntumXGP4Ku@3wvqeSdt;QsGA5zbWCr=dM@}NCWCjn`soVPw=rK%(XJGF%C%=?PT^K zT!1p*VT5D@oxFb%x@d9eO!+46k&+xcnqtvt9y}1ZVQ5F?$Y5Plp;82?j$$D3kv#A# z3PJ-#RB(3Eg+fV!A^>hw_Pmps)4}po!pMaE0VFSs`VcA-{w8!mJ2#Sv&vNTzV|RFD z#mu4QGNvc)#m9nE6Ri^g!eBnv=)Wg1TM|uw+|V1#dhJjk{@#R0RD`ZLp=GUafhTDH z_d2#Qta$<~q9IA;B$Kea`p5N~`}l({L5K(#m) zD8TPJ4Z)`JulDK)9q*88`^Bn$g$~jMerm=0sS3Mvj{_Mois!qgB2h<%=;&CY~EM0Q;xk8_rOu}zGUY_I z#>+Dk=xylfdt1{5*k!r~;R-JMjrL7&$|`rsFqAsocn@$`E^Sek|CfMu))agI#6MWL zLGkezv4)nBcPs>l8m)rk`;oSGWb^u92qXmKnoCjxqSDK?Hy#Wm$hXUS>WGL#=O|TB zaj-&d;OsjJ*GZ{*#Si$2`DFLPkQ^7G-$hyq-swHwaKzZVkr+aoXDVSgL;e<-e}&pS zv)G82F2e+LF_Z#p<&+x6XY)D-HlM2>rhK_db#-fQ?W((ooq@i%A`~GNyV|T|{8ihU zocVVeS;0N>&YA&d!Ux1o<>i%J{=c|bF+S$lJjN`EN z3>=u97bGl)Z}7w1yyA1_YpdDY-7yMM%nY(mgc3`H9JY$xJYW&WDPCZ(+%xZx$!#57M|Ca8_ zK#j)Q(MtOy{sbLPrRt}*4?{980sFJMra$-$YC{74S1goqi)0@%5YIu$vRCRkl(vDp_x_gARrgMtIK zL}FjcAd8P9#u1U7nPNqfucKE9IkzlAY+=U)?xm~y)ztnJQt#4(|$6IYf z{tyS%bpolE*~Lb6c$_j-I<2dV0J{-I9JOThIgU>;wxE>o^&-{Z$lNbqB3w`ydAH_Z z+|)=pNZi!TnInnO&@I6zprUYV8H^$cmcMiWc3OK>HJIm}_?MBrWzfe}1WW3<4vy4| zF&Szw{cy=mJnxlh{-*LaYDKLx%2+il!)pBK8u-4BV! zS)k2IQ)eM(Hd2jJ(f{(e!G`~sFj5;bZn>*~B}WB(agWC5p+EOG+1ii=w%e=Wgu1e* z2GYfrdt0yzoQ1G9)RO104C)TaA>PaWTo>~tbRcO2@4%LH4&(|W(y1hu^1-3~o1}<1 z3Te1W5Igri^2`gQQvmcO|4ds3{EI9Izu=G=MdTCo=XzvNMr3UD!->Z?o^tkchY;`Jsoh!F~jExgt(qGHr1p6(y7RTh5I4gWR(&N zknqmIE|h}DAU+Sb!`}EjqmNQcj{zJrV{~5s+;-&8{uHp3ulXf}45xb(13zC6=~Jpg zbuO0UD7?JV)rz_I3F!!PyEq&KUhc9=VcybFY9(NVuV66>U5|lQ{LOE{45J5J;1lL= znYAW2#C#gNwSSBLzu)x)F1%Sc-q1NTe!5&Lzyr%(yX#&(FLuAY5>JPxwnupEKKtm| z5RoNf{E3K?-aj=CnnLfRwe|J@M&X6WI(%*XKb4IVCs5FyGahXA%bYETtDcJhvoY_P zhpuGR0PN|6EQ&L^K-=&gHud*_?woZ_;6Hv$uT&N3)7w&^6?WffK^=4#8$gUiSN9j1 zA(YZM9!pjqNBmP}?KQVJCPb>hY_G>()0FxTo5lZ;iZL>Ke@!K^>*RG^R!%rB*$VcN zjt8cAe_+K}IF$-SJ?b)+uclZ7Iz{@{-oXid4S1NVy?k+{J%X~P|Ms_>v>jsC~ zrA__>b_KSmEcNts6HF6T06~+U%x(F=*BjZ94AKq3F$`)SHg>n?78a6T37IaO9CDZ+ zG`-h*T|}hyz2y_p+^MSd@`x=l%g5>hJG%Av!6{4=4rmr|$BBgWSf?%y zFF-wbHSsm6i|d;`1avbq4-%V&V#}bq3N8v$Z;%S-&oYQ5-1VWT;|NXt4mQQ}+|v?0 z{Ox;w{^OmDyEDAI<@Le5`|2Pf26%d~-N}`qgb95xDC=1@z~HMHkx>VSW;c zJviuJ|5Ol?O!sZ$+j(K?RSn^aCji~<5O+p%f&${y&f@uW`6xrB_YvQ2O+p?8lH6FY z?b%EAE7RwntZjUrihokQBW!dgK1Ias?H7~DFH7T-P!#|C40DC)T3_KZs7$1j0d;l^IO6C#A% z$TgVndMi_^fggfeW{#KD0-W}UZOJpp?v8WqJ3wo@d#}=FSWL+CYiW|8UG0|)CTplN zn0@6`P4(uzrCqYRYex58Q9;`W3O7vrjbFxQ;8>I34RJAHiuOxvPCVUoCWq=UGw(4xCJ;f{QK zWEwK(e}2Ut)DoLS>fs2LF!wV*-#aZ^D$@nfA26OYZHfNyH@r(kKWBI@H=i3tca}qHt7(%rPj0(mgTca4H@ysDcNQcRszIN&ap$DYg$e#H5K*(J% z&p!tRh+}K20e`N;zrMozGcL@|-Ow2Z6viK$ien4}0%^02YDBUh2jNE0KuX{c3f6W! zq~`8goA1H;HU29!i1A#z5cc0!EkLfi?J+|KS7jryPCacmCUYh%(9E(sRHFB6fbh>X z`g14vbqt_i!!o`~ZUH+C4qPL8J&k;t<%xin^#A_m_rD3ggo7IVa>IE*2!)Y3?=2y4 zD}f>DBlL8MgPRU&zu?avFMatw>0f)rA8XHB8oq^Y({Sb>+$rk_PkVP(Ea*zz;?>Fg^2mT`=WN6A$w49s3z)ZgED*B<*7CvDjtJVgCRSrJ%*>~TR_5m1;UQF5;2!~ zy)2EKxJj|Lv;XfG#$u&XTeNUskQXocOzd|Q08=AAi>`dfg|4hT0aM&CMdG5t3B7i^~sARaQbVi|2Y&lxg=5(8&&RAF?oCIVukh& zB7hCpEe!Ooc@#i~*kO2Ts2PwZM5Y{9GI(E>kQ!+}BQ^{Jaf!6}zh5W>2Lc_{sA+K& z<`6Q%Yx9HsC)y#S%K^Zbf%{%CUO7nC;sJ(9oUev3{4F3M|Nn1Se_htim<-#_7p3}l zaPr5A8#w~whQEU=u}&&6;su}AzMRFj7rk;A;r_ka{_$y!Ng~zqp6QEZh$sjM0IkGU zy?Ti6D05Kab$qi_&)&**A~+Bf9%z&XY*gh#`05c5nb6 zg-K6^DM>KquGfd}GY`ex2`C7~eBJnb4j?v>>#ubG`oq8WfLbbSJJE0`6I{;+xt?q0 z68$v2n8!tselmggc`S4@XhN#|=!&)W$^U-lF=P$W-=kTFu=hM%GfdcAhBb6u!UYtJ z&`(y&Wf*~)AQ*7A`Hc5pkF>|f7Dl0t@&Pni7Q6tF0euAD(B47l^U(xa>iw_#tt*tE ze67Q79P>_k1Tp~oxp%ysZzfukb*;;1Sk$&bA8ayQb>o@)y7l{N zuj+K=WF3h7S!8cfL;+v-ENl~sufF88TY{6n7KHNbNMb(m`i|PIgU2kswnVc=q@Rs# z9!`679i>mMa7(@3AvLG-SUiWu*}O~D*6$$BR%B63h-3`cqxi4KtPz5dZgq=WLHkgU zB0fE4m?>Sb>tKaG<3Z;iGt7eKj)BudYvVK`0oHsP< z0L2EI=kwZoS0PT+dYhrLpmD?sWKa6T3%J{NEnwHm=PnqIs6i|tz&D~Hh!0^n8!L_J z+C0}-vCM&B_5!de#O2PEY(jPr4NEZuZ*3Do@pJc&Tx_~0UTt>-0>FrQT%p7NG2cgE ziOlY;WkHUM_B{R5cZ3`s^-6-|hl0q^(SHsJzmdj5Pd|0D)dc1V0iEDN2fL;IByj$}l%H$a+ zmc1XZPSpebf(?Kg{xg&NtY|;9f{oLyom`|b6z^V%)H+a|^8gV$ChnLno<)P$e=Iia zWjJDkX9P)b(CVpRUC|(~trF(-b^J(!dI69xZJ)4yEEA7e2eo_*w27fn^4gfBGVjig zC5;TQ&$USeK=YDLiS;MlPesYJKGtA<7e?xtLe)bWBz(=W@*v&gOeRX6OI35-0q}a7 zfLj0jqtyH0UI~{MzPN8I-5gw~D!}grknv*oM1dE$jug3g4`}>@)L?xYht_)mcRP&z zNu5wn$z#upGWYtSC_V|1PgTWUYjM!TA<1SFtehI>IhnuqkKbEgEhX$ETA^zg?8reu zyD|T#YmY0&c83OlTldVgjb6y5DIxob<2`dq@!ZL# zMZH@W_mu}7pt}t-$z5Mfz|lW#0b{DhbXdy_;{uhH#ChOO6*n|mb%tXpmkv#ToVH6w zUF@~%xzE()>(o@ue#Dx_V0OYna0~nl znvz|H*daW+4ZN6}LqWmL}>zw%nh5)uhHG~Q8LRCa;Q@IofFV_cm#a%`2RE5;}Ymd{uApTjPr8$98 zPey6Wee?qI)0s$`=}=+m8p!S+O8B6B?z(;IG#}ksnHhH?hKgax(?=!Y^Sva!mpVw- zpiq0V2fvq}hHJKsIr-L|Z+YIoL`E{wu>aHCO4{p#raS~qJNDC@Vl!OGQO{yT?3$7S z)&2B|uKPWXohkRmhiY`TrYY*tNPb=USffS5HsF`6GJ3yWHSTKYe_ceR&S z@1vz`wMt9*!>ub#ln8^B)2eT>wHzms1G#}rywqEt=>_fNmC`~MaLTXd1eR;c%8ksNs@XZ4yH{WTlA0XV zW*pLX5!TDRE}cOC=A1|Go*t}n#*uK7zJ6B%M`C&rHh|ZoLC#ZlFFw4hi00-e>zczQ zHL%^v%5|1kc{+w6Em`&8u=;2{z7Ur8exStWQb*KC3X{8Nzh#0jSU4KTJTZMfwFMnL z8$oO`ph3en+ja{vRMn?yJ)A72FFujFo?bv@)_6|xKbHD!4v72ICBx;gKDeh`mjoC! z{lEz#<7}#vrM{!^Sr;f1_zUljmXw2?BW8Z?2fDbs9?Qa_!ZpyOG&h4Sd3$ z*(yhhOPLR%pC2e}3e02DDYZ3HOVtGI8>~`1Wn8FveDd;02f^EQy}YbXd$8vT(^)eV zO}a&Dwyd0kHgxQMNkXvHpoh$32Ek9|T(~b3sZQDc3);uRB9VV*&>k0@Rhw zGT!(Mr^aENqNQ=K#w6r zA`8^W%kK>`xVp2>Ngopqm<0$)@eQ(o2j17javb zxy}*(U-_-SL_7})O%g1h3XBkFpuPpZhR=e-4fmVszXOZ7i^`&U0IYX(xB%L>{5*8B zIJ_MW^?Q2HuXkHkD?db!Jfb$mqAgUc+-%XkaXXAlg ze}17cq}vCCxp(K!$T0^A3-_-ZR^XKbE=iJnb{#4?i+3;UWV|&1G>&(*(B{&+HJ%Y2 zH61U5>B4bPb1x4I){DaKNL1QdjMoSa%LIBvdklv(R!p^l5U7`U-mN=p8U|Nc$ZMw( zBsp^6#zG(a*`Dm*V-9&m2s!FK=2vKZmOx$W1W>PWM|#*CN{< zKCp%C+tT6^6p)eRGHa-SF%H%qdj({1Z7tN6gtPLJ$tl7HA<9?WA)bEH-@B+Qy(k|t zh|<@O(3aDIP_d^_*%Au8h+FOL(=PM!6^W6rX0DfjrO&BH@;%-f8PnmK2z(A^M6VWR z9CeTot$cm9QJ-$`aLCx*vsF+TZrG=G*^a37=D(*&H(`z@9%{Q|z(}Iu13>2?rsI!$ zauFCsR&F3r=W9T|u*OW)jV)%tlG9R}5Ao(c_~dbpjlm%orSIia6fR}}ZK)O>H@qnh zzgVR6xe%HeHt3{BIoEUhts=fd%hE;CKW3{WV?wjT3;uN%ME<&~8 zIb3Cm_{nB{b4SYQ&l^~)o9GCKKn1M=a#z6X7a1Q_ng z9sa13R9^hV2LDRB&9_H#g3_nSm&MVl5*mU2a{3vt)VWeVoUY7c886X0-1{)A?m%{X zM+33wit20kQ=s?lAl9bf)O>B9y_!B$19@UPpyu~Sty2-pm>GzzQ&|-HGMIdFG;*#c z{XfjTcR1DkA3q);l*|&cB1J_+Hb?fBy=Ntqc@84uq$xY0vdIi7^Vlgw*(+Nq;~3d1 ze4p>`?$O=d@ALcTdtKk_>b|br;k@6k@f?rm(Kx|$&5sTIqsqH?eHCrEZMzpVr17$>5}%6f#_rk$!pJ#3#h17(Bl z8#O@BY@pSY7{yS|7bH1^RD$Smnn^sU!ceC@a=&S46^$~ex&$lEb%&C5|9tbOvPU7E zUCUXRG0$gBKxaMXRJop(A2kDK*xFUpk5%Mrc`x`OPB6#udgp!oMqd$wj$LT}mj$qc zPR}x#y7oE?{N}10f~#`#S|^$gJ3$5og*I2?!L}4dRlwwHabfT>Q1qx1e4Z4qmj0%Y z{Hohn13UN#O0UPrixA?G8ZcCJsh29J`$jBwHli;peKrz2EDq}$kv3DPnwY)SZWk@& z$$Ium4AhM(iyntqPNox*07XJv zS=={QR7It~o69UkPm$ubapl&Ei5*C1W?q9n3OPkQ@ritLbkoBVw&anRxOU(*OFr8s zF54L!@LQhJv!S@ijGZtNOzch+<9?%o&CO;7_>PWZ2Yq1!$_-{+5nSqwZEa~#Dst(W z=PIcNngcIF_lADHhTeRe09Goiy=Him-5zl(16dQDU!g1(2_DU4CPXC;AAOSf-ZQ+a z&fh7;Pk+NI5t;fqfTC>S@FQ)V!8NCRv1{NJp?UNw|4z!YuEI>&UD!zK*6_evxXPlXfc*SNZT zr?$2aVk+X?Z$jYZq=A+9ql-93bOzhEI z+I@T*i4ZPAXclqCR>My{Lf4|)(?t|UZ&M#G>+Vo*ClfvN8w&t1hcG*nk#hAx2HE2n)p&G<8yu2o;r`da)o5X2!_b;=U~*to8JC6R9Br379hl@0KE^} zOS+F)Oc%7koW!mP%Jzb;?8)guWnd%oz(gG3!5*k9@_>UA=-SkOeWZ0+*j{8P-2$QN zsKtqOMQZ^c_2>Z}-P2unbgWiU2Ajzb^vgjnsZQ*9Zsp`g4I{a|h!WY!5z$vB>G~~@ zXOHYYGLVgTMif;P5*erI!oPhZcW;IdF$UQwG8=oxIBQ8L>(%VH0toRx13pV`K-u1& zJ4#5pM(YWq_C7yxs^p&uxkOq9z|h+`@#0CwZ5}kwK-ny=slX)t_7Jr1XAWf@K@QFN zT5xcYFpJxGP{Fhl=`DpS-Yg~$@C(6i;%-N_H0 zoUnhDeak<@6vOZyhVudM_hK85ogS_`Ut@12RG3%qEje_04BGZ+nB{px9oWh*>@}vm z%K?g_LE!^%LLwp5FcwPM|KI0{ic}d66ekxWyT8Bc2>AMF2%1XH4(5&Ce*Pn9AF)_%i^JZO+bS251!K5U{_gLVY(StyB2v4==ZbgPcP($Z~Z8 z%2XgbLxk#*@dkjc_2|tkdx82u!@}pL6ak?H2q=S4>u`YU=mtSzYYBJo=PLZ)ApuGR zPTlC`wu4wA`c^wxq|;LyxiBCF3h8v04eO37}L{7nEyT){y0H+mGHN?gpSr zIH!uSaqGj=;1HA#jEPYz?kIJ$ZR1XRVEpk^YZr9_)U~O7hH?c!J;4sbb%zHAdkNxR zn555k(*$SYB>DKk6f*!>woCu{j~VU3U4)0c845k!KznI(K#0d+ zx9=9?@9i{T!wNk0E~K1^{<+kBX)wdHC57P?65A%H;9qg$G`@hkqovq|(O0(+atk2b z@&&sQ3jjp@6Tr!PiMthsM^g*|bkCr382`9XjAk8~lC-{-DtI06v!G=gpB8?rS44lk z;C3#w9D-88$gCG|ur9*yfOy;3gW0K^SWxTK`Q)3_&lDDA_g4zF zE6SNW?$*N$v&fCmJQGSi<(Qnf?D38{O^Rnw_5Uf0`twVaHWX|hB-iJYa>i664J$au z45xdSNVBc(=lU?%mwGK{@e@Cv>x*F=J1mA)f+m75VH%&Ah)VYdqAN_`9YKiLR&8@i z%&#P`Qs?c|JmcZ1r5AvX?OR1#75hPfF8F!VYBki;?rZSJb<%`_$um-XGL@lYunx`V z@;S%1iP1~tA(y%*GcjYuU3Amip=amX!k>#3zSvfCeh72X8$qcJ--oUWImG|UaHrR7 zbny$cS0CKcx}AIfutuBFzNOt<8(9|zN?htBZ@KO7JMy0|x{I(9&ST|~D^LWnz=8s| z76LrL!b+zCDN}Pp2?$Jo5ZF}-C7fV8eRW}c`jI|tZdZoYOah4{NS>^?(POi> zmi0na5~M0FuN`*Wbzm*O=NC6#hA&4-hW)NqK}`mS_H~^MDQCQYRrvF^eO4GB z^X$wAyY2A0RY+S-rZS`wpP?^GxN9@}?xjS0OBM`gL?mDRim3{Gzpc$9DmUv_(;a%J zjEnMl5c()GY9_6tCc(EH1M)H3qrB)C33W-^4WU+SG>(WLL7QO5LD0gdQk= z|7kGu7`(W4;H2T{3y*;NbdTg^d`gNCidpJ<2{NKrrUh^()@u+wZxwa4&4C=ha2ggG zQxh(hLFRBbq=5wneUw}xZ;0Vfna9$YJ&67tvh_E*bAuGJ?KiG*-4Itm#2*2ZOxaGJ zAI@|%+k=nHLR7OH&P+H6LhkR2%qCBBD7x}NTOpL?Y8GXoHRxm29hdW)0Xmi6AqV_M ze?q5MOQDQp3lv!SkeT7Odavg`iMDoOf???Ld5>X4j+^5O+Td%QHmc`g_bz=^I9I{` zdOf$gDeteHK#GkDEmL<6X~auRI;L6W<}My?Uah=cgR~Ng2VoN4eR{7hJb2-mUJggz zasY$aegBZt-OCT)Hxw_gSCC~7{;=QJrfd5VVKxp5_*=T2bqc5Dx_O=%-klq+8jh(mOc#)X95}ml{xLvBpLWwCz5Q8~7iH5`yQ#b3 z1nzxWI(!!AUL2CzgL?eCy_Hi1XK5S}yNBS;USwuKUB;PV$FvKi-az4MqZ)@cNAu#R z9dRsRpwOwN8Al&~cmB{*6#>e!H@#HT-1{_{KZ}DzONUgB5@6W;+Nbp$+^04Y#g4QU zUv4;t192dI3a&vzM5NZJi zvomb<1Icj0D+Q@WgmWmWz~r!C>L9Vl{C)DZ7b?2JW|eCoQ^>)wr09K=Z0)Kx32-t% zT4;dK*IoG5feH&_BbYh@@ua5A^M^B_fYxz{EZgDootLwYiEdL;TP&LZhJOaCaunbI zBo2;2Y~4a-n8w+8AqCaISe??|&+ej^PhoOBpU{5zt5_@pD=aU#cx1dk$eCz3ibBZTH&Gl`8&DW8d zb_hdsd{PfU^;MzI>9;@@lxY)oVRNM!rl?VDNkkt-TOroU;^!#<9t)HU>tZB8!xpN9 ztsC*zp+uCt6E2qxi>4Z}_`B0XDk2YsR&LD*U#M0`Air@2RJGJ##`oj1S9w6AUM(V^ zDgYDM4|ez3O!u-sC9@b^7e9Z;rB1Tq&8=lUk_2aRbe`q&==4E zZ`YQ5D+oZNEHZ>%fHEb0?U3jVo~kXp6vC?FeN1Q7`ih-cF-~SJx_K^;d*-vO! zyrvU+(VY~8gQ?`M62CE9{{9_Ahm!CG$5i})0CNQENrA2cae`|QlG|FR}k|U4H|vQ#s#&9j1*x z;)B`+u-$8$L~#J^?Lcs{Z57O|GGw>s+znyYS^gJC00oh;Ds`k5!vPo{)3{JSi0CTI z#-PtO5)lU1P3R>5pGyTCqZPSHN(B0)a>CBSHA#i6q^{uuGP49OKCONg2p}B?KvXyc z8G$Bf*DeQ1`!P@=jfP0Q0m2P=br9>kBIX1RPj2_v5&6KFm7|3>{wRw49k~Dew-G@C zLbG(q^BV!X2&u_l>m+)As-u8{YcTc4G?<VzzJei!QfK}!e^eW(E^poDOqW&&ECw5NLVoX~mT z9u-a_(A{%fKMdG_i5Yf=^%vg7oELmI18Zbhf2%(RC2Y#y_giL>2ttaT)Qs7NU#>*B zO*jZ%=B}P)AHYJuAktSF54pr)fRL8WkVNMKRKb!v@Ph9VMPj&}#FCW&=Ru`5BO~__ z(z6X46gt_5^PK|=UOwgax$!7MG&NxUU1A0M!x@NhnhT{s!3A{>LIN$%0q= zI)`Utx)VfP&bfkPdgyRvpyWKnBOHiW>ohPWKojZcWJh{5P$(J^gZwSqxG-zNxT5VO z?si`8XC@WcG5LFE|I7}4J_-<5Ye4lFGxgx91#nQKP!hyAE6lsJU^4X84a<^KzuRYm zeh5bUX2YFjfqO~=QTW?zjl?JAL#7menc#n2GB#htBCmdM0TL>eJoaK!6oOHllllbc z6vCWfFHTP?M)KDS0Q?O-^esYYFmUo$Uq;*i_9=*BPXU`@dR%qxH|O!Mr(p|0K7MV~ z1^?TH`0)=TSKxNoN?Ul{`DLm8^`kC8!eXkY3^h^w*Sr4mr7ieRvCZ{%@!!A6A1`p% z2I4*uU(W%t-&xo{A430an zUw8haAw+K>tSrSLe?HFd40rQEI9)4?Pd)y%cE5Z{RSzHT^6hI0=6|h`a}ikSmkE3o zzpFX@c^0rD@ZrIq?$qb}_TK+^Z2y1oJ%9Hme?0N)e7L5Er6nAh|2kTKFW^sq`@ecL zQ7_1$LZGnyZBY~9+ap>Pb$EcMIAI7U!aCwMF35m-gPH&ozn`tXdGqIz{MSQcJ;4G5 z_Z+MD;jpB|!g!lTASPabi~z<3>jN1>p;f#LX_7|jYcLsD=&}jpYYj`F1S}-%e5=P3 zBE$ux3&3;7b-gB_^r+F82X*ES~8kAhU)tk=+gEVMg3 zNg@8hXeHJ2(rPFiKLr;n05N_kkRs(gkQnpr6JaN4NYQF12432wn_uH?vp_5TnQ3YJ z%fMCA7^0=xT>xzhb~(H$arra`0d?Vk;>GKGW1*{pwECGB3>q*4P2Kxlyi?j*s2x9; zS6VP}ClApK2Q1!>d`Nx4+}M`96a=Bhz;pQWnL@`TA{jKiHT~D=|9df~j{uYzeXPcZ zjY^Ra5qLj`sZ_=(*jG+xzElf_E=nIk+^D7h|*L7i*`NyU&BlCK9^ zsgU76m0fj8#ZZ1!2ELWrX2xAVEa>MbK_|^gaYUSO5?aSTOY!I^pmstXVR8h2!0n+L zz)%oAhx(%@%GhiT2ph%F6I4r$8)sB))1jr}mz(Jhx1n&cV|0k>c~bT4U>Pz4hCs3W zrdK}^E=fhcDo&&D8&t0!X-ELe3yBgl-&Fzy1(>WT^30x(^!M0n1n-JWaL|Sz zV;$l&M2Q`lUC;nyb<5M%jh&0y7SSo|YmW z&>5$q*gD=!cO35NVQJri&Qg#qM#O#8mv!YVP|}7^r9rzz>eMlf*f2@&l?IUM3f^U~ zqX{C^S;O~fCX73%CXCCper2_;0IRmJXK}=l>UkjwdfYBT3PmtCkMPNn`-tEY_QlZm zYD3-tv^vJkCCawqLH8$_%m?!6kL#obeS-|ioW8xS2SAXANWij2jx_lIfA5RQ)hm#r z83`_>h-g~EFn8@-Q_-f7Nx>O0Gx4JJeK`eOF;M#$^E_+iF(Y&F3k-Ole$8=rS7s;m3Dr=%i33~Hfl^I z(#Dw|d;3E%bN{_li4NMvu$Qk)qzhzR()|BsCX4j~0@ZeYC$bk@-)+ZtkxfY^Z8X2w zzG*(Vy*swAnU7fRB``D5Q*C%IDF97*50Opl3-w&m8%2t$TM zB4!gY7H4U}VBWqCBq^kn_%@v54nnE;8M z)Q0F9R0N;G!P1yw^g)PJ190eeQXmfTQ~vrZ1Ntx<{6_yfO7v7p`yu!m(+b%Vg5%Bw zyi!5431ATbhc63$xi)eJ;SL1>H$@N78l=Ye^78ZVRIOMpRN`jUF_lDoLEaT4t@`Oi zpse8-a;+?;uae$GLPmjyIZW>OZgr{cHJd!|PX9%uIRcQNJg;L{VfdXg&V6QTwjFA1 zsZb7_z53lzY5+xQYxn_YE2hyvaO+oB1a|Z@9^UmFjZ!9R6{vlPb5=xJGZE|raer$b zU*0ir_`i!f_2fcJycr}D?4WxdjfhhLr#L@sV=S)?7IX|sN3(-QFD`^bwpmiVRk038 z(FO45$$5+s&@R~P&Ta=fP#2&v$J{If#D@^!-Rx#NCMdzWt9ToPzTLKP*`qN=h?9WvBl=>i}zb-E7fd&njTdkrG( zE&%FX02`g`_nIOd2om)rl+57_&BqZbA7rw5@bi|%$9;Jqb0rItm+Xn^;#ZSrDz`Tr z9zphX(xm8J(`A@l*pA5Te&OEO247JpSj%YW9R*3}TWDgJ%s#wqzS|#OrZgc~iq_{W z9h~0kdxRR~=$1I~W8kD7f-OZA`)zvx&w8W);jasX?tR6iyXKt=yw#;)q2B3<9hSUdpgTT%$ z5T(|J$f%>R9)>|_O3dHP9J08z&0YqOb(B7iHz(wazIPej%rGJeQW>WywJwKLvWC8> zUnblj*t<1ughmhCrRI=R%-4xMaoTI?avP>d^1iRLLRAkG1Lln0doz)Wu(x&@2@G8u zXKtHZsNM2G?Xb2dY(i6QG<1U#`yBbToH(NZoix={2m3B7BHT^Ir3NabaQI*KA zWy6J^0F9`l3q=?P$T;}q{_Vy@nSe3yJ&VQSAAl^_!`5A#Q5u5U|MYUzcabF!kx+Xt z^twyB8vn9LXMJ3HhdVbf8{+RqAo2vYnYiQXJxihyrUf*9s268Rp8)jWLRR`KQ9|Sa z0m=2mC{+zF%bwCO_wLWGbt#~p!{%=LJv+m_#!E@n%+bnlZmE_8B*96&3^TBfDm(Es z1ssCEUUEewjog@T7bQAE-zq(XXPr;c17`XuM3w9FBW+DA z*20}6*#dEMvp+U3J0~~%iKyG9QYeQ934JqN*3Wa_iv|+M3BYU@aC*!}nMr7<7?n@u zoP{~VdpOWL;GxyZmLGcTUqfnS{w=?#V?czRCig>+pj~M?DrB3S5Xg-UTDI;JYTmTCJIYO^2Tm0@ph=G-XpCV`RAp0iGMBnIY z|j-{h70f_#xzZ=wZG6wG7_SsN09!|#N?46&<*d3Rz)s5RQ z3`m9h#$YuDvWK#wx(M(GLQip@l?JqS4+7?d%nwG!*pYjwml5L_tEZu$frtKsTxM+x zG{t9RG6&t%#9Ihgk-@ar8d9!TII`Vl!mT8SKr_|qaBwz&N^OVc4_w)pIW(j_5N|Af zI6`8~^==DW?dDr9#wRT>)xlvr$@ zqk4F&(&gHPLw+Utj+0V(E=?!>sRb}0Hg42TOO(u;*ntlLxx_>FvO2PE3*0CI{&>VG zle3@9(T%kbhBI++Vji1kFTC2z*8nX9IquiG>|#2B%3=qqwRX4xFzt*rufT6rgyi=j zg0~ld!jpz!m8F1Lu3aeM$m9-6kEu@X$TWVZlob2>2TokVg*-;uzjWuaS_^MsD9)Mn z_hwBL3^1}x=+?QP5UVKAI5We83qeE?NBhQv_Fqh( zxl%)DR`xC4I)#tl@z*v0Z4_V-#I2>A(3p*c8c@OYxiPc>#XwGIjqz@E??Wk;ArqBJ z`-%{<9fuqSom-V$lX6>iI}NiUp|QE}?o5lPK7$|W{(`#P?0H1bdAudToEwO=ueI09+58pZzMH&34R&#o;&ZOtwLD1ps!Mdd;#nz=tz&2%23{5Ue565hR-LH%5Mv*Z9;+E%?DZ&2%uB_G)61k62h~f z%=o}a`n&ZggWZN()m;D|1`z6JYRf|$a_O6CvHdev%XUjc+Yr*HMC9n1C2y7EK1mcm z2N_@|h^aqabse-wp4V1k< zDUeQ;=?o6RtOyW^D4XLoxq^RO4Oe{8IN-eElyUIs!Z#H4HR{M*r#kfK%Hph)wU-FH z{(VsZ(bD*%IkC4Jql|HlrnXjzy_#$+y9Ys5RLR_T{c~ar@R6vt{3AkIDfH2o!T=U0 zaX9FFGdIpxldO-L@t4%rKLw&r<}J_3!-Q?Lcij`cKfWfjQEvtufT;Yfr4HdH%d-w% z(7o*~?kkuPe{s4UWl-A+x_j!7@!P1aU&e*0^K`!UP?>^8F2JD{ zOUAcOu?}IT9K;V&WH5o(GZ!|PJ70_`5Iib?1@FbA^LQg9wu8I;fp<<*gID$WaPkSU z&$vsazJ_%#k*Ug%LChJw@n#}}dO|kGR)EhT)qBf3`C6AcT8lQ=S>kx54CjT<^*C0g z6XEy#nj`-W%3(9e&zBA*BBz- zqj9A(BmA(q`#T?R+{%mGN3jr|0Yl{#?Hag1xpa}`Q?N%FK``#7`0>>}WNVxL?|@i+ z9N5wxTAFcP4?XvyLl2A6v};p)vyiUM82-efK1B(n)1~T>IsZ8gPYVo;pjt#e0#S=X@L$0Uy>aYzFnr(^Zuu_rf zBML{*im<=?U4`@?Z|C9>B>ao#3JZg*gKWKbQjlRZC#9%1! z?ejE+BPicw61*n|2BZE%ExCaq72%U^6D}FCPlGsEm-i- zze-36(|MLP@_ARv0`3v)7N#huc*v_Mn^K<%=1h{>U83yCSEfMEtat}zTa^D&ia}Y! zj&Xf)OYb4Qc?xz+7?Ln+p`5(&;6W%I0@irAB`a(Q-%taSq=~MUK`)n!I_qJL#7*dE zXsX&?&PyCGR^1I9e&E8*i&L;G&`N0)bh#@$XZwa5#iHQpuC{h}9x)o|mY?YXG^yM% z2jc3w&ejbf1!bInZZr-Gh$+VkiTl*{M^u50f$E8B{vajmzz`>)(=7hwn#@iAjIPjyJ;EZBf%K;oPf=J1SDMHv~ow7 zSdAbkQN_kk%C<4KYl`F6%}lum_R@wy44r}KqAc*DD@=PD9GXa6v@!{BD=EOyshjA9 z(S=9lXN@Z`k7p415;F^F(j?Zqi6RCl#j0qi?0426&A7m~R$I=`S_6MK2L37%O8rly z%Biy*Zo8Ssm7;7Pv?i!R5KKDW8dDft3{-R_XNyG0mjX4Ovf3-FBs$a&>ztbrp7|TX z{PDNyM{r!5ujek2V>9+bg&zj3WB_aV$b{rs`%We3L7^##a|%FM<46u*a<#A94KGx1 zlW_u4LPL-tyCN2Cb^<9yss&Gp2kI%Z!~r}F@+EVt-9mI-(usFyDmNvSBRwW?O}Jbb zD+`3pyS^ptM;n3se;hd6LT1M4U!nWC1VG1eQe;vL(pIB$2Y8qqKs6BVs?R!C)s61+ zETfP6QU%4zqLTN>KG)rc;8!YR5b(^Sv5)8@AeNk8jZ8%Se@4&A$Ee<;3=~U{8G~Qh73aXk+9Nrmk-(}ZbBR7TSyRY#Pyxs6u#0s!gA~ITlGvE zzz>gz3UYm?)+5=WO@X-@ujR`JQ%YuLc^`y?JY9$5t9F@53xfKUCg1_w12fRc>|`zK-NX zJV(|!2>DD&kDlD`J~P(Gnsuvc^KGo?OVE8VgD$8qdCD((@PgHh$L$+Z940poGS4gn zt8Y`kez1syUhH9ZS3&XHu17!`ZG=Q#EgEW~ao#1fl?dnlP4Z}` zZ^y4Ss94|)S2PaH6h3Gz(JzUE?VNVyM4Q~G49_ls?4 z?Tlm}?L@5tx)woi?pcH8Ez>UmiK0}@-7YKW&UO8^=AvVOP*&Ug+)p5S7)Wa#;9zp; zQSJxKhSxw^%`LRjy=#%N5`|Jt5%UiIWk9iGRRlNX%voFTZXdZxuLAhDGdtr2>=9v&M@x~4#)=w5JGsih)2c5JRp&K zE5_3@M`1FJ%#02?-vQkX^L^P#+mP{0>D4Pt5F%(YLJ`>CI_Zw-GYfPhM%yoL&X%=w z)&Sbn2z(`gpLEwc^PYsj?0G>$ykr^h(e(F(fld~3HQwIlk_0%GX^nv4!#iYMkhN6YQLiW z(YxD#ZUxhm3LR2u$c<`+c_*K0St=z#VeVm0ci?h`bkWW+V2dCOlrhLjDL2-DDZ&A5 zHh!({xg^SD=;g!io04z3_My;q)PH!gs#!n0(ZW&4rzH}|l!NMHm&p5XEhNCHwZW78dyHlh$v_s~-~ zW}o5U9i;G@Hdg>$U@?_`Aps-B0DRARxN9@M_##{tBw}wNkWpWyn=MFBqt&wV#zGyh z5y~4CvpUl6k{phut423x$5U*QfrZF!VnxGpA5ZnQ9ES*WKRg`UkC1EmzQM0>+22if z&xw~#K&l)ht znLs$UT2v(ruZjzT(dN)Aatf-hIt_kW!f|X2P>(WXr(hIxwm83ISq0p@=RFtP6WFjr zNR49wD3DLQkPhw1?wlu?Qc(wRj%nK+lfKKg3W$E;Mdlv4vRpg^GFrOMxHI=^4<1qL zNgqw?wLo%#13plRlH19n)Q2$i`z*k2HE07m37|3^vkS|!wY}(N5pf7PpRrE=$`1LP z4wB48bsuGruCebktqIH-!q>wmE59?r2B4Rj0nLA%OSWifEjw9t$iDwbFz(OnYVi~=*R3{_H} zY@4DSj>cu%P$vfHt(@41%ICS~Zlz|v=-)aUuNXRUD8J9DFqX8aPIsit( zw|}<3SkoBNOXEF#!vt6`qg(MG=e9F{c}whTQ0Y?-8du|^R(gRtNjL~(9;Os|S%#hJ0!!Qk;MNQbUibBbp<@03?NXYrhKphBKkX(! znEqLzUAJ?)vhh~KB`&pSvMnhoP-s-^cGD=pZ+x6uZGyIh@+^?f;%1CE|4|kI3A2Y? zlox%V0aPY@d9w)LA~Gn?rj5WdUVJdjJPMkhZwj8WPF?Q@; z+R7obhz8<(N!CDKJ`4L~r54=~GKOgZA?UZH$~?`bR?9yKtoN+3mIMnlvvmv5EHcBo zQFs-8rqqN%RS3WNE>5tp_(LqsUp`Smo+x2SJv|NUFu|q zxXlv~Mtm=%yW<6RGd|upv0)Vl0y&%g%!?ZVdng;BtI=lT1MS4CjZt0-Oem`~FSMfH z`Md{3$eg!HNQ}dQregX;h1M?#2Ad1wdsaVmxDmag`C6QtJg0p2O0Q*5>T(Wc0Yq#T zOn8hr4$ZCgl5-A5tVb_Rf9P0{fc#frJM2nnM~W--v?6jwp^TdqUAqwUGfg^>5-dC# zH|g96f&4Kj4e>K4r>p_q6*e$?5i~f>I~FT9rm~YAh;*JosAFb!zpuF9%7^wtTVG6A zvuB`bUIiw+e~b48x6SU;vLT60U`Fl&$(GTTLi1~h332iDi&EE!cyu$^fWYUV#+#P% zQua}lG#CBOoH8coOSHKcce3T#cJFq~C?KW>zdDP5i>LWY^5NGAJp`ngFyA=R0!ZZ) zQL>U0t2YkBMd_rE?<=05t7PN^_NvH$Y(NpvWuIIGHGTp`7H}qNXtefo8cKZq#@;b# z0pbSpvaee{Z;O#}0Q6H_XZnQlyarnf?SLhEIjh*@7RkWI70o!Yivy1tGl<_9qjo=p zIfQKmIz9OaYa~-j{{Z8Qi3y+VWLC~rN-I!i>bLiZn4+1%#Tx=JaVCc^cN0L;koKnl z(nA+|^SdxOH*_-@8jp|;Vw3GE+Nt2lId-ulqLD|L(UZ5KR=7tJgVZaQNbG(NY!N>e zf{?$KK0S3KmD98YTAwSR@x+IP5Im~wG=KZ~Cy1WqjUMnr_j66?gOU82Be4XyM!VxR zdL~aA6uxsEWRN+2~p2x8sY{!x4;@+Sw~HJ4@_{zO*6Y1fPdv zD%QYn9on(Lx4cBjD}I@}BXaH(_qw-A#;Ve5TDobduEkJj>o(kdIX!zRECLY|b9G^gy%m&-j6fVgG5D@8<;3bmK-bErY$}qZZK03m6xc<6 zsgv5ta%48C6(mcH@9MKS`!HSeNT~SSQU<6lLG%uA<0!oIRL*MaR@(?v-7%Ot zNjDl5xgmLUU^5jY$^IP_DMC;r+7c1ZHljojcf+X1UJ@8T^O`$%y^!`1>38-GseX}N zeqvr~ip}=UnMp*%1eyfQm`v<902Yy|x`6d-QspOSb8KmcIKo;9k)~4cAW!x|$NQyc z4)%RA#Ds4-6Q!#lIXR9?4bTXEwzFhgdXU0p?*Sf8q_Y{KR<6xE8cQr|lJWsN>O^cN@_)BH>3VSOAd~J5i zK21OplJhf4{nv8*`0~GgQVU?H55Pq0shAK;6?xlje{bfVhpwVW0v&5c{u?wSl)DhaZ9!t;84I_ zkW9`)itInJE&upZ$q1G`a(R5}&ksU%5<_Oog>5*oczU!V z35`GtK#&6D_rHE8tj!qMZgpR`+`quX*Sd*TwYOiuV9`&Eh_)zTEJ}b6AbB}L_CoZ@ zz6+VIFI?>K0YbAn(q#=gclj`^)Pz`h`_ zpuu^^ZQq~Y@Uyvnja0)(GGhN?IVo{t0i$6|y29Br*O4B|FYm@#@A|tRR)8Nqn;U!J zPd@Nf2h1ybgG;V*{B zXV+z%Pcb|roIywN-+RY^?48Sa)?dHl9q~Wqsi72k0%F?;V16L&YM%iDJ-dx`fJ3T% zV9|T@zt@G0>Jgl-3yz0>FCqIUBK#U!OoYF@HvNxt^{;br7m4TughS5#&u_Kn1-_4) zHSf=x^Lh#F2Hw&m%7mX&u^u2gL4-{>-Oi_|HsGuYkS!Q;5!=zL_jD1f4tM( zQaE()?v?&_asK*;|Cf#@>LcmE8m8EE(+YE$xpIcDEHKwiesz< zb^E&Z=l6Ve_R>_^CXDP=9}DgJJz0r^N`P6RxuNc+8PbUdViLF?z{@cW>q?m~m;~pTIC0*v5jL zApg1}gO>c4swLG4*bu|FuI7JyCXE)`wDXtu9*4Fb5n3GkMj#FBfYhh(fG3SI5;p~<%x(6>9M+mmi;mEfg^pNUgPf3U*H3@!;3HtL0o{*JAfS5A zVR@{1?UBR9Oa=9%7<6k5XIBp-C{=Y4F@e57W($Q?;}=D=_R6e z)U@5NS81W`ePjKbot3L}EZ1Hhm0VwYpk&w2A9Z_NW*_l>)Gnf*{#17nu}$E-JX=M6 zEXeUwgzg{JoJV;graGIh*}n3@g{`!Syn!RLPuxk%Q_HDo=(xcu*HaterUFln_&xK2&ij5^R9NFT$9BmSui5w? z{IR9}wxo2rvFG);uE(pmBnK9^U0?0K<|>QwUR4haDt%azVRE2RxmC|rgB{bCnw9%RYPW}^ z+Jeimm@E3!5|qy}s!4u%AP#sS&uN!SKi2N+VeGlUGkxO;S|y6!s<#`D&L~fwX%%=s zqk!2~`vEDPCkKAM^5lkn7p=}sk@!7?G>3lLO4!-N4A{+s2c$Lj z|9I4)BU(x>TpMGwbfq3aM^QVi{9_Kj@fRQW2ZxXD<_0~XFPHR(19+k;&b{XPw8#KU zq>0Pu4@9w7ompGIf6dQmnYBoe>}GAM(?^bjTXINDm45I$etM|SCym=Cidt>NmW=962iNyS zD}hC`tCb$}hOW0X|GKc>D9%QK2<=Nh3+aJrLdjfJ+E z&h#6ha-sd+6;mb&A#BUYS4p8-$-cSQW0YENUOHJlbj;;@d=h`+uTM4`*t;4~DT^len$-Ds|_q8u}RPUk%>TMp$0 z+75A&>%aaea$E}g$F}gCy{b7tiPLDKPdK`;u9S7YV@(q?HS_J;9_OV;7wJmfV*HtI zHzR@{55yOoAA;~B6+2lJT3D=hUSq`7T0 zi$s4b4i@^baA3ZjNXqu6^0(_|+@;yYmctCZB~`A9r(Qm8{Ok)J;=^*dVWVnGfNSXr zZ9SFC4;%8Q({Q5pPsHcU%Q+!;Jn=HoQt)tCs~&oAdi}Jg9bv*^4X3YEZp1*h zQO4Xp;Q@=%qtU)sKf6k!TGe;@p7V@89hWIJ-PHd?%JlDZNebt(*)aJSvJYB<5EI?! zc3qvxUu3!g^K{<8=CTsrqOmPk5_Fxr94J*va-IvKZ6;|Id(ot%Er%q^d!_IKfV1f0!?J`Ge_lYzc0QB(W|XI_L&Ng z;0LOOQ(DgRi*M{mn~l-P#|I9zNeHqHr0lj!@Vk;_Bvn90%+&&$&wyUUe4#0 zf4%VW6C>;OoW6*v;V@4f^Uw-GY>Uh_FB;ZihUPiq=mCpnrr3no_)6A~VKS}30pV|w zqT}~`cAXJtnVsoZ+H~Y-b9!=bC#2`Z4%fD~j@Ss>N4^Ml&%3+o`XpjTtiE6m{dqi4 zZ((yxTxD;Q1neS>q=UF;=6#Qn*$R=}T)9jt-gih_00>$>Z$Xuu=maw zR;Il63cPThzJ+5M>yrO+Q*lVWQl~lSjmt<7>PUT-cFp8{WqZ%o=Hs-R$$1irZSsps zn?X5aoymG1-X$C;3vb`%(dNZp;hUcAwK9!vOOImYW6&jA_!1ZsRkm80x-_j>+0m?` z_9BS>Tx+mYaYS;9^i{Dc-5jy?J^PMYCpFJiR>E z&>ODHeg|GCEw3Eep(y6`VShd4t(awW|AwkL-P8%Ig>9#qE%+ScgeV_H3DZv3Rcc^_csF>lQ65Uk~HqQL^F-0Lxwf zu5V*i$=gQA&S98qrm4l6&$>?Fn;RQ*XAHz)TjnL>)r~5dqb4LV~Mpa(->hld-ni@KnzRp8! zl8KL^8rH}pq4hnO`@+;^I%)-1$Q&;2Xm#YX&X+IwWTG}ZxP}*%OhcC(eJW z`QuZv>qDpbG(Ub4=a_w^?lKXzc|!ioV*E5LD~mZS>u5Z)^5#;C=i$0lKQJb}PW6c& z;*WfJI*yIb+iHlby=$>}59`#!#_D-m-oo>7No$_dngsuSpV+Oq8o$N2@3(Cd_HYv) z^Upuav4`>u5Y?o-jo`(?~vC?Ms3G2M|^6Id!X7}MtD-QA?AOCZ4 z{ZzMP)1GO6sy)6&O8e22X6?!Ls7Y>Up@Ln1c%=DmYnQ_!$Ec<}!`Zf*6j_=E3__C{ zdQEJ+>BRF~Y&C{6ZNvRudvd(GRr&QfHuX$T<0GP-YOArbL`-|~Eh@BZbUep1)aPui z8}}i2IV*fj!LjO5GM|)<;}Mgqruo+~D%5fG?NZkhjufxhI+hhb#*gspYg(>}oaOgU zj)}5FjN07e??*D+d7kSY?(?=v`|BH=*VcXS?lCO7!MnL-^x;P7Y^dBv7p=4^=87eW zuM35&Q?6u_!@d_8-6|RT{qToA$@6cGC%m)Mu)&UKoL?Qz^b;4!p;>>y0gJY{`}d2c zMHExk@m0OzUYW-`#jj?bZ#9ZvtY=6JihWSg{6slvadzh9Tm1(lwtP0;&Rwd-X)jvx zcJhPItO89=g$SFk)qyBru3cLD%S!#(5ocyOzgvrc0*n2YS~J zqL(fF(zMDJ)n-0YL$JktdPAzloaeUIov6C_hWVL?q2gFV56Qz$FC;>8jb*~i6v!W} zNxampBKYLG!&^KUB{VJI1%7X}G5f*VT5~Vvy_l#g+}+fi^>?4THrd0CO3873$MD<( z**Zt|FBFzXe%pFfwj~$<<}kiu<-;)Z!&92?Cy2F=MeiPV=MeEA-V8q~{x(EnofDR) zgZSs=xeaIP1%o}BjtIpzN7NgiI{L)x=|Q*k_)_)IOXr%luSlP{wKRA3MOXBk;auL6 z*2_EUwQoIqvxyvBk_RMDde|5ph&)mDpuNyQk1oNEYGm`oojuDMW;b%8M!Y{X-eFaK z{aTNA$(}V&c%|!UScTRJR$n@|nzbamSE2V`E*OnJ7?_|sQZ$|mP9?QslVo!zjoZRH z<;KgXh|WZ-WYL2y#feN8z2C??(i(u&@$!+UI;)1_DwFuq z?Hll=ga&3Sy`xu%ku|L)`FTz6AorBPVF_8&1frNH;!;V;K9{Qm46@4T*Lm@Bl`l<5 z3GZ)r(Z60L{_JhZwYMg7uaa1X%Zro5${kWWH(yESU9eZ~6iFDJbzgB!9`xXASg&xW z!F-|9PFGjyJGFi{<*nZ)QG|Ur&EnNzg;6GN8dmyaH6Ar@#%#TXblBJ~2oDIX;x#tT z?(L~KDeSR_H=){8tncP^u=$ajA6Tk8Zob@8Cn@K84@cZNX;?QD@Ohki+z1u<|zF_fUwIQLnCEqPOr%Dy8q8vp5&C?nc zw_Y0re;S~zHhl8v#+^rd{to3o%RNc-6FQY3l=#>jdqPW3=0&r3kk%egG+TxXCKDFat9FFlGG+jH~ zul>|9R$gMPiaCW(f`jw;Rq?Qb9qf%kRT3Y(lbrp{R4;E38h2#GmtzEi0|)B@cDO=$ zEjX8|dp=r6P>P#Aul)xE^@s+t3vSU!B&f&wkzRHfw#w$nD|CPKZs5e`odKE3ju!XV zCqDGoE%3iTetMKzae3^-gYB(iIu_?slX{z9UeL}9?`)Y~k!y%SWh_4`I$^y|t}gpd zFEVm@5wB&kSaenDsT-v>?zw}Io@Mq~9zN?6vO5F3V`@i-#`RjegtE%RW)9S^ybq*o z_uXXL6t3@Ane6TLcv4yxLRnXd36(zJBoMNGpOw1uv0qc(ImUdSXIsLd0<+5eZI9ll z(yo=)o5#Jb_qhEM|7hH`1Hzsz2zwCIsc%G%dxvqnnB8$}IQhdj_a#UlvwM6qW=d0? zwvWyqWGj73J;u7|KSHh4uojBlsiee|MpisbH@-wBaXPrvL8?w5r}0p!hoF3dsn&sD zpR~R#j;MS(%HBC`z|M+PHV9VEImQr%HXmCbkzH)36%H1fvt0XvSMnZTHnb?c%o@u} z{y2Z1sFX7kC8q9zcDnS*B?0GQ-6G<~{2R>wNFo{{!G@^4O*)JOtD0&mo&%%Y@`PkQX57|DYz>4{B)GIw&VX+y|r>Q@L?h6TiGjE|h>`ajgYby$^I z+diy>QVJ4+pwcZZ-5^MJx1@CU2Bf81It7vLPLb|z1nEY);kUMqGd}M-&wG6Te#dys z?Ahbsy4Std73Xzb=b7TKmdbyDKO^zrB-#DpxqtkrKyYJyAd#Mb#F%@RoMt8ZTIi(+ zPkBI2iXE|5Li3v2=^_bFBhzqouBL-W*3dz{{_*0q4t(xYc+H(T)~O!k2Dqnxy_uj1 z9&DSM&!liCjK)^qg^@n zs1eg9pE~_|3xzPYNTLwQQ?yL~)IUG{A+)4avq z4Wf@0m1e0eCtUI_jJpp7^{+$%c`8~NS+Vceh^)W#DYSSEv0Q6KOR5a74!6WUpj@9G zD>!Nhh-OiqWbPVs*nJ*V*Cl}>HgJDQE zs~$1lSp5C@j_BnTMmp{J;8)5YKg=p`OGz?SaVIM@rxx|!=!ORR#Pd$Qcz1<2;K#oS;4tQYcAOw3+_tG5cMue`c_Brd4y={pu;HNm}*z`64kNfwZ~}x3Oj6 zV=Mi`nIQlg(P>?7enbuDFv_K0oyzZisOivXtR9ow?Y5o8&g<&jPx}_X{`L2*I;5^{ zMQ+gzyAT~ZEJ6KNNldr32N_L{aW@Z3O+6anG@&-9ZY;>a*N$eJ<+)$a0kt}EtS?Aj z4o=J5jg>o5V1FmVcM#Y}08Btgq5sp+zk(Se4U=DXFB4ZF9(eA`NN7R&2xEEp;r0V7 zL6N+x8HMPgdSqIi43l)28BWFIYl@s8eAW}6KwcV0(ss={v5KwMMC&BNyPOm4071$; z!d<9W;(YXBY@x~i#d&|ZRgaN8rz3I4ObpK1jWGnjLZ2|zt1yO>SJxF;IbWa1mLNP| zwNSDwfj-+qqkO~T+ITxQ&#m-Z>2)`ja>Q^$k!||7(#K^(x!iJnYM2@a8SHuit@UgH zVS6ZR*r{X38oif2&OL`wBSEL$SUEPBc7o;!iIuGj8r9S{3toy!@1IWP@21MRJ$Krl zMn$duP+nn)tha%0jeRaXZiTCzY=0*BVqL(vD=?$l}`=zZnp#i9#)~FFz zdl*ZSr1npD=e^5Mzgf?&LJ(^$a7`ZyPA;~c&0SF0(rA2-Q)GDpT&txx=5AO0X0coJ zlK1WEOqXM5UnR%>6YD?f5yoi1!`^$L4-fUQPB7_tbb7SLykV?QI>f3PGwsmk<**sm zaH@mUcQ;uWI>}S{J!kerU#{`=E5YVU^Y9N%g~gu;F($v?iKULY(Bgw+QSH6{DvXK4 zk?{7^}RSjyddqpVPTi1ihMrK4*_ z#JDCoSn()7WUM2KMv0A_<36+hnk&QD{iVW|&e*c-{qRJz8YT152&p*!&Z|de3&};>*K$-`i`O zKycvk-_YH~CaMniA2R={=Ub+KzLq`;XcL}R-}d3UM9)e^*U1Z6iISobdtL3Sze}cyFgtfJ9Q(eA z#~ydPU5Y1RC(FUo#WhDr_`#dq(UiwhJNj8gbIeHvJqDa#rYCY~Y>il6y)_lZ8AVXk zYSvIEuOFftD-^#7ZF-Ncw3&FJAj|)yhFUaNaYnzNMJ^wtEEc;Qk#$4V6=;xc#7Nv{ za^Z#mZ+Os4Ti-PNmV4LVPKR`vhLxZ7;(#hJ7$=&~^V+9#5nfPBwIt=f(_;idN}MCh zrcW}lEMDAOic?F%#RW_skdA@!fuQ{tv*8q@CjZk(Z<19{(P>MM$gp$P8T2I_Bzrx& z6ZfW}Rw{h2!mak{#WqIm9`UYu?OC2yIP%wzCiXjJn`9pR-a}wLNP+dBq+I@KJ=kCz zGGg}1%Q|@>5RLw$hs39|{6j0qz5;yj?2-%O?7Y8D7Wve&hhJ6F)i$=u2=k`3&QQnAF&8$_8M}Y z4R&8N6ISh3EYa_r^^3re6Ly81Dhpsl30w1$v_-uvnT69lPInd2q!-tTEX)pTMG8FT zYOY9SL)YcH*tQ7_Zjf9Fk6ilA1t8Mtpy=QvgFpQ3&5R0(kDOz2(qMAZD?#N-s`qJI zl_ldmmvJo<4)hF1^DmQt6JrF3zBOJL+h2CyJr9>chJ|l4>bfNaA#r&jYLEY zXa2!N^HUi!b*&Hw>mF_agLtYBMYKukI=c?e`x<)oXeAAH7~WT@@|~yJtE&a0u(td! z@U3LND2=OrUyQPb=z<>+U#B_mj7^#l)ov~{xemF*fdjemHXLrhS!`FLV2_CW_74lBda!HcfxqvltQ;R%3pOu+7gdtB_$~Gc{HtibzK2IqfS@IYFA4kJ@>%P5;)iN$UF- zH=o&q{oAbOWDI!M3_@)$i_e1Ml_qhBZu_1)Z`4Y>8n(lQZx@5GFWEp+EtIMrU-|?x z=6%v`GF%mZ>b(LV)6XrkVPoFSkz`1*3fDNo@+nICa$X(t`6QE4=3+c+fEQMYQ_iym z&adb1YxY5=cmXoS>1&|e`(J6SGLTtTaU zvWZb9l57_i7hBNJth7-&R$GGr%`CXMm_aZQTuy7v3d*|n1gP=c_PiwD<)yr6=c$Ni zuWdYqY27(pHk=o7OjDcgbPHXb#nPN(g|FnA+4t+2;k)j)ack!}Eblp%S%t*Zr4x7+ zB6o1?x0QO`Ja!}uvuQ#d^!U9wo-Lq7L)~eWjTl6$IT$jExm^A`Mu`-yiV8AqBWB0S ze*BuPvrnZlPv?(M@pKV5o+u?I>YBleEEh(!l8Y`0Ru;}JZc$a~nfJ|LHp*(KQm)DQ z>`aD4=ecJ4vh<$FjDK^Nq`<(j<+XO4$r0dz)2vhcDt1|zX}6b{E4nK&e{)~aW@0>G zp7^$0X}Zj>1iuQh-Q=i7b^B@1pciWqzX|!eYsGCHpkEKW#i2MN8m*hFxA-32VSy96wy+{c@%-W((xLjS zJ=fXsBP3bt@?$PbJ&J4dtIQF?ISqRD?bYJfhuNr7nk_M3j;yD6V+p@pbY z&!JPq-I=keUib?=R3y@~YPfT)T6Qba?f=+0b#L`Ox|w^}6knh_rw`q^_K>vo5pnpZ zo|M~FON3L`Kd}VyiN@M9YdQRCd7MKtC4<+oG?|?~oIV^`Y88}hVYiLNr#!7y8w+&b z+WZ&vq{Bzo!=0kmLXipAYt8d9_K0~td&**n-0W?LcEsN9+V`ry>eRywts ziUUs~B1&GsUD`o~e5aV}wmg-TA{=N>i5&Snp1LZXdz7OcAS#eD{Xpoj9eEka$8?Lad;&p1zD~*5c zEi)l5I)9b7!MON{{5hXMK|j4K>Xi9uvPWHUEKkGJ{2L2oi3CZ|Jg}NSV}WOyhmGt_ zc{4sZ-t;=+4Xo&VZCk4l$LA8ld*a7zgQMolRShV z)GB#ZC^*s~(K;!;HO;|k5iBI%=^OjBYIEA{SvPgl7I{tbnd6vH&WKx=s)JZ=&IL26 z&Z`q2ZFragS~@?S`FZuN+)3+>f$#7JzGL`0JXmH5q1Izh$2F(401e$eY<2S&7*Kms z;Pc9zSHG5u^REh7eU?L!6qYpo0RLESknycbzPoq#Yy8)quJ{!+OEGYH)}0k;ruGl} zi*WS%1`^M7pLoQxPR-*Ek*DhHzVBcflV54m`{FpQx{UwQ>wUoO23*ztf_d1iJCl$$ zqPxtJ0_%rf$jo7SY9EI_GwY*#>reC`Z@F43C^M|I|O60`K60g~&} zf=`tks)!$NOU&0QzMhOqqC6?;56J6;;*089@c>^Go)y|$7zC%)`_me8kn*m-LO8U0 z=-Vy6ujM-Jf(-2rpV%HAyld?}&?mrUyJI;o9AhT*qQqPVU9in|@6*oE>txosNh#72 z+ULrJ+fri6TLpx<2d}lA`~XT+7>JwNy^<`tF*KlmsM{*0(VLUDRa&yDhht*9+@`uW*-9l zUuYKCTBw;Q#WA!4wM2pm(4O$KPtl;_s=$tRo8v+IOwVa(N$)N`haaSGpiF|gQda%) zq3`{p_soJOR(Ie*q$rk1XZY2V*>k;TKo+170vY@5E`_gDSmN8s$A%HVH!4S*e7_Wk zXm;C{Jp7o{V4PwKb?i#D+ONef^L#2lnZD<#ODeC@BE61H73EmgUgkX17@xQmuSzIC zm7#rWZRuQF3lmc zTy2eM1I?vTdsj-%oTSK&hFB z>ZE(kSKBgei$&%o;2YhhXNqKQUgq zK!mgbE^l^8{mcptzJ1n`y8VFHX{>`R^5l!!C5Opq#= zd9EmsxY)j8N!r>Hw@hf8v!84f?p9*ISxH{h!F824)^->Ez8i}?dFG?_ql6r;E}3w` zt8gXv&1z|ZF1xK!<>jtJpNMhQR*`J@jv$^!bzmm9X=Xlo6p9iN^KCyuzsh!XZKs#p|%a;r*OHqe#0%UY>V|va!H(x#8?++G$adqaTnKGz$4p1|j zwa&Vd=jT_LhKF$1nx!-37)P0H^LCyR_P#Dg&v9F;Bmu}lsI<{`4&XZ=8soBVr~ZNZ ztWTq&44a1WXFf4^+WNCnQ5!i2@yHsB;L<;7y>71l99D+iG3mbO;CVZ~NS%%Dtx)y+ zQquuitX`vQJ)?d5EQp+wVwK6KN__r++LxC5^;=z9kDqx*j47`*s{D5toqM2!E6THD z78%C%A+y%Cgof0eQE5mxRZR?Zoa6_#nn|7X6?Esj?Nj;|)ntIT+D)D;3}SHRsYoF^ zcl_H!xwoZ|8mXvUMdE4Vy4Vw_nKI62ziq|t(Jk~1xwd&7l#*9EMK___JlFnJhp`&f zb-dofgy!ZU%XhxN-xmQY^h(^N%7u33pu!Acr=)j&PCOh}{aKvTNUXZBRkU6-F~}NW z&eRxVQXX?Hd~W`A4RhBaevnSDsZ=ANc&*B?(9s`pO~g>dE>$xow(h~w?$;zg4WwG7 zDBt>Ljfb>Ew`q^067}QhKrc?U!X2`Pb&`Ua&eVQdiIK5xGILJU$_@^f^wccF>OjGdp3Rp1A9{!aqHeI^s7&_ai0kLG%zYV&2C*xjJ51? zQa`)YC5OMJmX-2Z9Vzu=ab(nOW3G>SelYlFYQ@-(E$wbvbaf9w5e7Jc2Vs1ObRRF& zw8Xk&=HA!24;;JK1mtUWET!J_Q%eRlu%;H+Dnm5Vm5(BzGTkNJj%&q@fQy}9_sgf`L+64wD+R|qP` zwgdDPIOO@&aPn*CRXRvo=}T|YMvW2dG|<80dvwccZs?a{}(`6N1(C<_|2In#}OD(%|T3QJ*Sm!OvltF*d3lM-$6I zZT;8L*Z2hXp=ZOgf1Pt*Q(n*+-hPv*IKekYeu|J;rWiSkAtOwv!hd6W8BtVmR{Ey& zf@sMPIgb%`i9BLMuE5h#OMy-`yAOq zd@tf;b+g>1PqY0%F~9LPML33L(xkykgaRLOuu{MCoigc#xVLc@!Tfx*^!raG9;P3% z>2emyl&on^v1NT$qTaRV%AQ1eQ5K8x=v71x7%`FuEz1p7s5AGHFPy#7P~tbD)1T#d zS3aR#Stu;~S$B+6VoK5@CePlNvp|Vj?fuS_`aY&Q)~B;5tO|*sS!-mWRBT_P^KcJY zoo=ok#;#x}m~nm70yRF7nkB0*tLC*=#~<^o`d)g<+j^&o3%U3yXfl7lI}urVvXlFE zn<@5JV$@Pm#KYw|dd{S$r)i&Nx6^i$!Zvp%`SJElGiGWidv+P&U>?E=+CJAQJV5V^ zVr+sYTiLugR*x28ZsThR%Z%Plsa*8!y&i@4l?7A$Ezeye_mYsi9J}KmGO8POWkW&D z&_bP=(pm0qTpwRW3zwJhWKvZkUA@b|{bB?AVVF`o={{!7UsI1v$z2#$wt)7#fC{Rn z(x8`PH$Foc0G&3(&9CTpYnf|A;%{4!Sk zHZ!@iAJPik{99lhYR-^(PT)jC9$Kq2X%40Qpt%-t^_FxZ^|4cKIavH~DQZB_vYF_f zDdSpMq|zs4&$ ztaUjVUCsi{VNVB0aZ zan-db^2nBuK?c^Lv|Op@5%$vPQsrzhD(P97tzxA#dJxEE6_2lbw( z#yRFsKc2s>RV=|0452e<%(kKRnsNHUlY`L_RohwL!YRMUR-@y?@pqKe{b%da09^G} z7AWe{zgbrwuDa?TjYbkASo8|)C1YP+k|M~R>>EYmj4l1u9sE{aOZjyi8qO15uWEXV zoihA=H)W;-0vmhsAvSV28_IPKcJ0DLt2Yx?dc9PIPN4;ZeL7=ig)<7B7xkdgx5oJm zdQ!mZVh47XSIc z@~~RHAn<{|sQMv`@%Cx(&9(3_nBKUSL?>}>f)xSPjYZwU(H{i1+{W#oW#{#GyxK&u z^L`6{Ffb*-LihTBY`xYj{~Tx9yhk^958z%FqjBY^^Q;f5>}2$icv$A0Jf{Hpb*nFz z6Lzq9ERUMersR(RBaz&ysxCi--^Tq8!g2!0r!+8x+@Sb#_`SPztSK?ySR-wW{a>00 zD4|*1_msmnIwN^|)@~ZYjTsW7w%e>$tOU)`1*y+Pue?Ga`%(&<^H17{V{hWEc{2xI z%%S@_`MpY26^`KaN0jV2wtNkeNU`hbiKYuL0p%);_Ii~(-7)78(PW#{9PXQ~dl7q! zJ(AEzBK?`Nbnmr}O)4&RYueuzmZaCxd1!AYdSQ4XV5{+Co-44X(&CYk=qWg{UszE}=ZQ;N| z_b+zS&6%nsw_6BNeLWG-3M{~M#wH;eD9W-E7 z-Z_+}nElAj8w`KG%tT>z$z8(s@b5FvN1zQ2gMwac{w&5SzyX=f?#GbZoX_m!GkE2? zD_dsXt?#BnaS)>Kc;*Z_sRhw#|EsSln< z_rZEb-t>3EhC!49E(ufZROi5vHJfiwkvC!x;%BxO=GnZZu$tE+Q?GpV>+qu5Hzgg> z@nZOuFmU1z^dxwV@UCQ>cVIRrYa--v_vkNn+A-FoP+6Eao z<09O;_2F|f=9%ne&Yc&L(r1=2Pf}?KWxByY4u6~ylNE2KFLgmLc=*Yk)U76Cw)1|= z7$sMEgOlmQH2tD$nH8xp9z-G@EMvv|lZzhA=PuqG2m8M!7+I$3pLYfQ26kL&XYhdU zu%b#XBwWc&DXHE7l9UjdQ-U7>UHKYwiP52R5-hJDVIM5)JhZRz0X5#~G58Zl!M1}j zhSQNcbSt<&kaaNZ$a*Rv3n~<#R7=!6ud`~&NPZ85Xgb=NPVi06h$k=TbiGgsfP z%9`=cKYlX4{!JHRU}ASp)N{{dYXV(SDPcGh7L_dL+cz@2upitNHCx{mzL@Lv`D)Ov zxBE9w-k!v>n;6X3~#r@lZe3^ae>A^vK5}<8Y6= zK-=M^sv4zq-8oeichoXB)r)9s> z&y7Q>nwE8Yz+`LSf?m}D1=S9UqhCl>bB`MmC0jQB{S)`zY_XNAYJE! z-|soJ4-37dBs(5yU8}zDpIzErlHt3s%}5zZb?Z8;QID&1coZoz^Hd*^Mw*P~2dcUI zU1|$XyY3|nNB3|>4SPF(5haEO!nMDK7~gFA?#+H!#^)N=|1&i|fX)Xtc4lZn4Y`N_ z->nI%WjC2OC*R9-ko=9S0 zErrrVLMn}kWk0(i0T3?KQR}SP(V{voLXO%*rGZaU~~BGviS(14SjG1NwCle6&(ST zbA>@U7bD+nt6wiHyO}!*o)d*Yh6+whD(OvB6l6^PC}u6BtMeyjy%;C=CHc@n7lwCD zMD`654C!fdL>iONEkykQ8R#-vFd%3ur!4$LVK7hHge2!siiuGJ8LYS*mBXk;9UhE|R{W=7Eht!E7y@ z%n~pfFOQPZZICQdb8-)Rq|ajnjQD!Avw6q!<+vHesfVf5V04~5X=x*(#Wg@b+Y`E} zW6%bs01{!ZRaEdAzml+r3B|(MuJsDbJgo ziQdZx>J_;{js{GHGqF#dGi-=azeNmYt$~rn2~9U7xE$RT(^r9|J$}T$9|MFV#2_|t z_6f@US)dNRqn+HNyg}yIymJ~3VRStNnt)=_e3Su95D&V>i+A_+e7hzC40s8>5wFl2 z_Qk5FvW}8vTjGX}xX?P=m`EVY^q>STlzJ}XweexA6ei54kq-zH6a|8tLq9{h~A0UF3f@14ebvs(`%4(M|BN(b8 zKzp@--jO74l;+R*u3n2ni6>}xJzpS14?7A!o_i&WirzWK^vZQh5p;PPwxJcxFJC;N4m%o7u1HLz2>`hC${C!YEzv|Z@mFVYswEqMmTplt=kLnZf15# zfEAb|U7ITelQRI{T)yVA;JiCu7O^+CPQo{6FM#OGNGfA8|0MndW2Ih{Aa($4rz}kL zQio;(zfl_ZHo5v5HG}WnPM;H-sAMR?xwfR^?mle^elREM)mptJS-5VGj)5C?Dh}YE~sKeh}J4OealTlaA@oh%}(Eh!82Yr%oCKxm$8$ZS( ztT!;cMNYELxNx9T4ce3E$%WQ@NPsFMOA6wpu1D_+)kF`Pq)Bp=%+q(K@$x7kJ;!8q zpje8TRMj$+()`Km{U3JaF$g9N@1hDp-}%p9y>JBman9Aueu$8&P>J&j6c9cGMw|oBA9|l^JFXt068!MWY#IC&obAhoDdw*DP4I$d@h;R9W zRQ6m6p3e;M&l6TC=omfuYN3xz%dmXka~2&uaut^>7^3Cdc=R3xPh@CpfYX8v8v={* zoMCp6lh!Brmk<59cd#I&w7v64@t+6(+p_-t5dH9O@{a2B&CvvriD%3Sb!rbK63jOe zrexte|A0ws) z;(z}^&_BTQB^aoe#K0*9|GBh(FaKXZ41>O3R!N=C-z*RR ztoD!X{PRm+5I9xIWLiJ}uUqgxwniihoXnS=gq;819^noGW+3<<1R~m<|8>Ft@+E;J z*w+y_zwJNQ`G0->|HX@t(SkcFYD`;KFJj-aBj6L;>UodZrs}?oj_@kgJ@Tla2@#M$ zl<&DOb1ps2Bboe{efec~nwfwdaxtVB`n$I72|-(c(F4WC4#i9V5aRg_BTir$3}L>T z782|PN%sjS#wnCNhL5d(8->L5U*DP&7(&&w3?_ED`#aMJCxefi3vSGh8`yqkg*Q(-+%TB2-{_B zj^(*#^{n4Vs160^qvatY_}fAI)PH;KS?FcG>_DIam(}VCRM&b4(55}GRval;+0s}2 z1Q-(KfxgyfpfW`wD))jW*&FDA4UXo>ZvgtnPk^R3+)h(k^(tKOVLBji9s)`Oa;rjM zF30l-TrtTo<;t3`e^L6FbPuf@08Y1cAjJC-NSQ{SiSsI^177ga;x~eu!&%5Xb$gA9 zhLC?+J^yn{oZf+rL`5O01vgHH4W_960I33qZmuBuqdXA++^$mbbUa^y;?P^bv|4Vn zA{K}pxOAAwakE`EKp&Bcgg(p^mmd8&a*e*~H^|Clz?b`r~ zKYPP<(WhI&Z8-E z`8HYQ1zKicOwl9Cz&ItC$2-Za6kMOH48&vdT%(3d5)IU17!I1*0%=o}v6y*4N9i@- z3j8b@MMic{DS|x3$qQ)Ea{V6{Lo6H|BlM>)Up@gt)J|}P4JT>|oQ@XV_rSjL906sN z?A{J0C?~buW={67w#W4fg-59bnqAZoKQ4m4a9WyIVXmA(P*gw*VS0(p$VWsl~~ z;r$CQR%Kzen)phB@8|{A`N)fQ2ryW#2Q&457SO$9Hy$S098C8%=Rp5&r&lZpEN&Q= zuKY1rTqj(uA`oU}T?t~~_KTKqv0;JD0y@&Ow+BGXpCGwe?i_2lF0ta8{<+Z_6M-|b||NEnxw zoR<{_9K>A&Ou503;D(Tl0op1v2q-#4Zn73j*w)E{epaN4roqzqMq9PW+tr8<#{0t1 zMJ*NGfBNsNYHJbYmQpcuHz{hsRf zasO{#pp#dElnAx8g(HA9bpr^5ewz2Vom+>wl`53ae)!C~^^sja`x=P@bpe|OZMH9R z{J-z#pDx2w04?sNF*+b@r&!5>3UgHpN`0^fgyrowHC+c*ggRT}1tdK-rDh_a`M;Cc zQvj*fd0V(kSrf@?*M34X_NXq^RRM?B9n!9Mm!DP7j^YnE?ynQ|)0~h>g4{wB6(1KB zSi!e2oDSR2b2tL-qN%e9Z8MM$jW!%ekp!Ngv{&9hqY=Vxzdo2wWpZ9KV^KE*q%_Uq z??G+J8|YC$SyM2wu1o7VWhzoGdY+SOG7}RRh_uAXEia9PW@kP`^hZ+j=SkuMizv+Y z$4-Vm3$|x>w-|WhDC5PHqKpFVCZ2snSMoQ2YW$_u0sx=$6!V06uaD%1xkO&r!borp zH(o_&x}6Z`7#1-4N2Klw4)&o=*qPdcbu{Ina&8w#&rMfb6ORE=8Uvm@6g0bnf8hc9 zwI$yGVmEQA7yKL?o$BajKym+eviOat`h9*@%9H~s6km#qQFOUA(3@sNcA>m2{H3M` zjErR0*DR->0)+Ptvp3Zo?Yd3+hrOsoDznMrFDhM$RH=#_aGKOq#s8F||MWxePN5$8 z2Ir$cSOP6{o+Ar(>BR85CV4dLkh1nI?M9O&bH%tv&$DIDEtseW5!>MR_ocj{HF=jN z4#&@mt&G0;KO(=s{?&6B%58SkjzR;dx_%&lO!)beP8fSZKm?S5Y!p>%MmQAO1=lWu+2;LyN)cViF=${)W^8sqcSBgK5 zfbXWzCQJ10OQ!N9^8k6p3t%{O6?cGSuwC=r`-4E*+gKvF1AXyfrRBU7Pz88NHnP^2 z_&VWJTUMYyWU&UsRwZz%AB=&j<|lF58lRi%J&%rUQs?Fqud&A44@dZo#BNN9^hUJa zE5ae7)3iUCC;<4u=-FHc0bU1CorqcYu2iO-8az4Ck~ z6I#X{ql6_`DPSWRJ|$Cur3GTmc61w=oG zf!wVzQ2EH*a>;*cGz-LOyuYd%C1aH-KdT4fmfZmN=^zkSFhlps8$LJU!D*Wa`y03W z&#bW+%5U};LtePg9c=kj*Io9Rr-1*M6;8den}X+u=n94unAbYy6qrl z`R-C$!#S00L9fp&>V&ETKVYdkpLQe#Y%z>N{FS{+EFWu~p68$jV zTuuODk&&jSn1<$Maa0q7>2_m0vXNyn*2Sws@#yl!N*ZlK-JyHf7995RH7g3?0VnoG zK_e_^^{1#_ZmUi}c691^=7`gxQ#jD++XMKdWh+cFkdGzcG#jZL&VGD<>2U*zs*cZ{ zgN*G0aU3c0>2lGSF~;Pg+Gm^&FC^m`f&AB@bPtzQ$dzvno<+6iy$86_Hf^-LblB}c ze8X{O6Zkz-t{~XkdXg4pL?C$3>-3#U>rQ3CLaLA1ldN3)jeqXipGHLnilJd4{>%p6 z!NSbif1K;iIa`FlTpsk$fw51bJyG&x{Za!Apx((j2h;?n6l4cWL0Ja#39oMU;OdXw zMy7t!m5VR!o85nNB|#_Ei_lAAYDu4D$ObkZy-<(f3^^)lD&K~-!pL#hk=9HFeAuvH z5#Fu#4TzSGPwZ5>Qq0%S3!8#bweNximR@@v_x(Yg6t0lhU#Q{1L>N2vk=8lseZiFj z?sAmW$L7z7kS@((B0vE2RnU@P=Q!5a0dB2;#5ncBt05ZY7vmAJZB&TsDYL^KhvVKB z3;!uJ3n*&5=$4sqwuNdOi}lHIAtEFZXofrysDQ&?tNx;w2_s` z!{ZGw*}wuLn2(Uf9Er|`1OVM(j)=FSLm8G90K<~_O}ZWhv_Hau^SRe$I690YbN)qE8MY6((TH9hpqMOK9?18%(KZ zh_sF#N$hG?A=U!1Lqb}ORpQRY_& zB~bK>qpe*hx>&(pqccHxCaKGIdvzEx*6yI1#OMN~K123dQ!MzK?O8_T;yrM2xpXZ@$E&PYB_^}7;($#qWK(0 z4O)z_{drgI5*^a~XkvL-{v3jltK7VA?6#d~qPdVS)$K%TCanRjCw3p9TV8e5ixS14 zMy9D;{Z%y;FzP2zK}EMVbUP`Wu9S^z-vcFKlKS5yOsyLEhPVK1ma}?fn{H8JX{(t0 z4-HeU6!ztEhP%#@TZt3p^S7z_*XR@#8t1Tsj)hchERRzwUshd70F6^&;Izjc>-*9@$U z_z6mGw$@5KTaZY+X9BG!vtu5&Az(O6=XU<(iny7C)wowt2R&G+cNsSAKdAi7Dud}%WJ z-T^3yykc_A=1T{gF#>W7qbMmJXupjDLvqAg5AEtoST#a&6SQ)0!p zK=heLwUk7WMNofbH$xu2@pK#L>V=GzxSybWM!NFNwq9y~ViA*Prj!bi)}*}|&%s!8 zxlRq1da?s@5Fq{bN#)pA7n76l;r|Xpq2CZZfP#?keDk4ZKfE9fPddDa9+xG!fL7uW zkPs2{f7$|ak~*%sAHSYex&m#EpxsZ|iqXYKU4w$x_9s+J2Tv-^%3M@5bk;9I{uw@l>&tO&Y| zJ2MmzJ?UYd+gB20#b>nDaaU$d21sx|3SVh#n|3oTXQ(o*VI4PUQk!RCW_Ltl`YqHZqa6MY3Xf$i1tEsOPfY8DNprhQNF!f?2IWT757o<4! zE@$8UH>#IHgIMu8fY2Acj}{@}mu6qXMsvQ>=2S(aBx~W)7s9ynRVO*wDMYlJ)9|}1 zx>slW4qbk3%bgMJNHeVx7KYK2O8+I(Z>9vHwUp>D=2tXfpcOIQ-4gwjI!PqjH~ zlv;l-P#65}K2EE5eeEAvv_cvnq`MFH5;T`Zo!s2&uH|ujRykoDdd{2+PWY4BQY_GN z|FVkvt1Grwp>1rBVsjYxi3+gWSn%FosG>IH^)3_e-Os)sErmUHb?#VMUO7*xM!&qN zMAodeOK%Ipo*~6^*tK4)Sxfl{0n2t9q&NM}lE6 zo|i~ae~`WW;U>2xLAq0*Op{2kBcEEWZZPj$5EpJtQ>^m%1;5@eekZ_XkOZ|5t~zS4Ht$ojCB$M{n-?s>hU^-X+en!1SazIiLd zzoXlk;vhz=Z4Ji<;9EY}HA#l6U%X3T!Z0WMkLr|1r{0I0$on>m-2ZWB-t{*DI??0CS(@vd^WLwBHJ;Pg`bqNmvoK%}=HZZ%8 zPcAxbYPod;m&akvl@qi|rs61^b??566^Htx^>AZA_1VLnd`-MZHcx4!mg0?fNV#s~ zIGCRIYN-1c0n>D)WL9|dDedazTXH{%Jx##L8xRA{Hh|P7`6BkBW}QP8P-{mzc?FB@ ze{Q0bM-ODiH^;=EZk^RbV(2{l#tSt$znQr{4R{sI?OSCrXOg%E1r}Scmq#AiA$N6F zVu<{EZh!Ya2n0CZ`MiKyy}v@+Eou92c5>OXM)7ebSegI9iA0nnLojh~HTUJkFqIxw z$<5f>hl(D5d?7LaLXy-@B^@$rMHAI(pOC)>5NKS}%C}yL4dA^P$q$a$C#D3bM;^%m zYF$*p2~P)OUpG!|?K5k~$pAt&b3*H(Iof6U!HPWf4Oa|G^TJ|NInl|n_%J}ef{#9( zu+f0b&&thz3LFV(qlZQAV74@V0=unYuGtY#ZkGe4fES1RidEpBr4o6J2Qke|hP|Hy zIWB-m6ETgtVUt{PP^Vr;DDzm%&%^UcnCOq$aiFjS7Agw#ti1xG zw`lXHFB#7IErm1&`$&8)OBG}A3o!!kr8@a#y7VhKBl(sw_dD~O2aWpLwicFMdr_|zh?r_mT7{ity4?iG#6s4;V>&ri+NLLIrpC}n z8TObf+G?7uIJLoV#pqxN1CSn$83uszf|Y+BCh& zt)DP}n2bmixpXB>izXuwIU9@KRT!jsNi0wN$H45L8S9@_&1hC&&rg={H4oT?cAMmT zi#t*zTGatnWPLfTI=tz7s~C^OKqxY_;AJFPS^s+SdG=-$GDWwK*mYIk;zk@n=iJG~ zS>UW-!ut&a{SsUA{PGEqLTr|`S)%M^x~1XY@bbJxs``H)uDSsS{X2%bks7Y zFaeJlUgIhf;N=^&i4djTG?L=FK?!-r#YO-Cnkf!@!L8yz6xs+sG2f$g-iOVI3@q%f{KZ z&Cp4~>HLS~bEEgyA3M}SBi{Qw+{_&B+@Wk=EeIUD$FoqEZNgSLY72!vM)0TVQiJP#m;2ka&)54!K@7e|U09t=M}Mu{iwUzI zh4IS%oEviQuL&;q6y?D98e%|`;67g6N-*wZcy8G8JF20|tKimvgH~>Q=4SI!o@BLn zLHaaDh9m@n{u-Ga^vpOkdQo7Z)Fy4W%uVbA$Ee(tGHkT!+c=*7IH7BUiBmDheUuVA zvnvsPdqy{fhT%{lmV>~lzx73l zLU2O|AZ(7ZbKj@?eU?u@m=6@QaS}`~;|Rw>KpapP~0<7J1wu6e%T?=X#}4xK@IAQ&xgKxtGz8Fc-KN;}_s| zb6GHMu6NpT-@rsq>sLYY8#Yw`%F`~(jlHy(OwP$#GS+N_HeailJkzg_29Y8zo!-^r z*v#+SirWXa^*$tnYaefi6!qxZ+SD%Cs#q=^<~*aSMCbA0^hEVsWo?dW{%hE9H$QCA zDcuov^h;0Z3E0MvcbVix3CBN`M`&ZxNHq=XAD6 zG`af1>ov;-kU*xcg9+XwvCflDJ=6VHYl~Mb{f#2q; zrP6|(Xnq##prvKr_Y|CBbCq8AA>-pOv#LKG{GOMW0sFGR!!c^4(Hbw5%S9%82q>$n zjzB4{WCgP`iwS%A5$Y;N)0lOmPe7QpzW+6dM;P42Bsg)9lXX_Ev z`vV(;f*oS5ia5_sF2~ZyqY<+_kx3hSsIxoAKv?$iG>1=$V)^HcA?Dv^Wodv(b>*~{ zG+JP=-e(|x({mp-NnF7m#MI-u&+{&cc7z#v^5o~gsCIamaoj8?>2Q*i)~8uBI63RI ziBq*`Zmvf#c^;Xpb;cCI_vNe3RbmUzX_jEGWY$G%*mP19Mmgo3lz9vD(kpsvQl{#z ziQ<(o-tg9I{HhD&>1zEmG!}JN>pL}@L;6YgWCjgB2t%5~+OB9NzpO=9K7w=sT5dL!ozB_arm0fH$qw6 zs@@1*7A|}wp)|VBm$4LMOl3xJY<-^^M|>{dul7XeTHLF{yU@FW8m+HA76{z* zygrC2Ho>X35-YzkChi}Jv+}ROA{m^E48j;Xp`?KS*teg*JwK_KYF0UyoD6nIwRmzJ zi6>%ZOUe7i1=7*c9h7}Xhd7qx|EHYVDM~LTf;dDhT3gg#{>$bGvo&~ymGffE^4y*M88}O4Eu^0H?YX-ry zr3ji6YjGcqLKSiFo}%Knsx020BhBLtFca&W2?icUL{;037irA?RbwoZG66P3ESW3U zJnzOB7~?*c@k~2!!5a*C)cJs@nl+m6EK7u>3tJ7-+|Vi^y2Kpv;$pC`;qFP9LyE3<~uR+EB##C>ccI zvQZb)(8=7O+fQ(lC=MtyS@4k_*w8u*gRHschdxnA+q6d4B2ag7@i8B*9q z6+O2F$tbNk$f_Y(5Ze6p)z_!8AD*zEtd6(PClc!F z%zeqdl4~n|Ca)dh_8<9EG1+VSME}iaTB8q`%f;t}1m`gP_ z0ceT`@0pB3DR_&QqjoBhwyF{_RVe|HzELnS70K8P2HB@2H*3@`FX%+YBkMA33BpSs zjxUbq*=H!zaSMH6^$IQ?Gg|%5QkaqAV-S@dWRKd_c3p=kB{mF1aDVkMygM z>EwK#9Dg^-U7c^!T~n?D)HXcEQnuE!v6Pv270zF8etr|sKlTZX*{VGO9lGi3Y3eifOY_Pckn1J$HSBcDW63)9CBIzqh2V*IctUreEcF+H?{N2HC2`wHKRGmp4HB9xQBQH0g+3GQCR=>pcK}tLG*UN0qU(WAgsrH2v*@Q z**gnxYo~jAd*h}aCf$L0p9Dk$^+UFat>R?>W-3XT9RL_6^4Jo%9~kgdpCM(?bG8gO zIsh+Zw>6!ZaRfENR|{>jRUa}PMqwg5`O`c=+B~m2i-OUOimAj6?mMcqLTw85YpHoh z%@AUp#kjS=Vr)X8=5!lZqt}AumUlr_as!X~i1&p%bUg$0Q_UQCe|SgrrEKC#R>l#I zfgW0Noo0oocx zG8S=7B}&8k3^o$7S8=B(o2X&Sy4u@q!7761k;O-d6_?MV{e08po5SS{W}NEW@ogd< z+l153h7Q=JU*RRveCq=dTlg{G#m-kQV;?>}rWW0;V#KXTGTrn-CAa}Ga*<0{hPq1= z=jN70QQm{V)h|yZ82Ybyfas3GuJ5~L>=Y)@#R+Z=$yRM5Zo}hmb!kZM%Es3pE14`vQwTV5NW?q z_xO_A&Z9$-ruahL4n>@8Pf;g~D_HBpQ41oDH{8n<)tOkmbT(YTKRS^NPjYhzsgx#O zYOdmWDfd#>zv|*X*Q7i1ge`3LGFI0`L@M2l?!eJe8Hs&2Zh;a<1APt>Z(VG1TW;vE znCZ=TcWjT2VN_Sp7z%J9g_@7gZFZ_MhZ>co`2Xf${Sjae29zS7k6ZxLBNgeT(gT+O zxIsn?jJwsJ5Xl7bQcFvuTaZSZ>ob7-aZGA=m}cz?7mpf!u@Hg{{dQtEWT@L4|Nf<1 zX{3`w&F1{^x1^Kecjf!(H{J;^ekv$C2^0IE*Iy8>5TQc&S~`9NIFYhECn9g8m)iCi zsXgUFWzqQS$_k!cRHAp2R|OF*1Lvga@mlfVO<}um25zs1Ds5b-UZhyY#Ff}lvhiv% zV$;z$*wR0C?z_^lq8NF;;E*;fVr(5R<6n0Gf1i0$JMQcyZ2%MsbeBZdu!dS9TP4xn zV@Hi-1nwo-KSB2IW#TzS8A9qLWy^!g#j7<^B`S!tP8n?EusYRdH)xH}zB5#8a~UUa z-+B~wZYROy27>AKhw~A@b0!v_0i5r7-TIh#e(VJWf@`-{TrNb8Y16+mPUEci;&a?e ziqCwolt8S8pZ-?8ueGj@!~Y2g1o>t+f}Ot8B1 zc8^Q_0cb_?*Rrpn7lv;qI94C@#PayBJ5TlI$F2iIoZQT%7plVFRqkZvta>KsmERBx zBt7uR9kJgA(Hg{nA+fh=oV-H*pgF)+)Vo+AJ6B!e15k{$9xm9uKBUTt3^2I5c0!77 z*o!Cz>`;;vWpR+|w|IUHgZ7-N3M8D!Gz>S^v|jYImfLc*oc$1bVb(40;nJ{9p6skZ z)MGfVd0f6<1bz?3gm`yZi zyS<8Nhrhd#Yr3v?HG4*TKeq@LE)EM9?;#+VX)LlA!0_tUbrWG!7Ou?$d4GsU&a0*9 zM*Ri^TNxPMcZeinI;A^ytugr``$ z%F2eUwuL(5xZ}ljYpPumS!x<6`jfqN#2Uxfw{MG%-(e!x!0&%k*!JzcHQ>gz0ymPl z8p7q(!a6L$eP(h>Cf+M&gFWU7eCf2x0+EY>Rd`CFO(Ed$Y;ece<(2{^++N4`4>L&B z>RsZe3-7*82|#z(*(Q6cdM(Ywb*teIK!|P z10FbwX9K={`%;hGjpD8q~~; z4-+$WF!K}s>*8xlU7Ck;uTSY08|O@2HWZn-vIcV~4Sr!(%7Uc4<~M{_B+o**9dmpy z2b$2WS7G+1Y+J2(gEvkx1K*}5)GFZNLXKwYa^_)OTDflU zq^ng+`(*~X8MZMcL;9 zV3X2w@yXPnPEhQ6%}P9^Z6>{}6KFFPVeRf|HfFn10dMwV-aj-r-fKCEvx1x*^`Uo@ zel2wq<~T8(evm~Sq|Kln!&)zK_^CX}n?Z`@d|u{2hyV6C=9^$VHE*5V0F|esBNa7J zbP1SS)!1~9tQ8GCn$~-Qx5I?y;sICGL~>Na9_6#$cbZAQYN1-tlMHc$)yl{l9GW>c zvG?VkDVAT49@_W2tEb3&9mvKm?;Gc+#1%0P7@b^zY>Zl?ydxJ>H77d+N@e!Y9@XT{ z2|!q@Srrf8HB?$Vek$_n*ZJ{R#y;6u(Zi`rM87qyk&UMu-u)A#1+1NrVF?fW)vd!Y zfex`~2<5kI8+gvXcwo3XhL6l%0-W-}fY(n+xHwk4+lwP%JJo6D#<1^Pj3V=H3u2sL z)Dh`(%4{``@h=9;+Cn~hjd`jkLQUS)?A55a>~yHU2VGvbVhUowU@|FT;Ee4}w1iT5 z1XlopPqLEZcZ%Lqi~#)dVDYuxN${p_7R^$)g4%k{Zt^gyGRC0Q`-8-lE}g9Viq5n& z9FtA?g2QWlpK`7t!~NA4^AZ*U)e|Lj3yiHkncHsqGSPE)Tnu&eV75teJF8Hwrck5O z6*B$=@@%yRXL;Egh9@fNe7};Kudlxo33B#>qy2EVeUXJqcl%w$#>}WA@+R=~N@6k# zx5CwYeZ|x>duZ4v2i$M>IIQM2_b~D8r#f#S%jj)sjt!dAe7QyMX`zpNWv}5nbHJKZ zX{?p2dwicOqu_hrZB_S=ANPe6Q@Ki^s@^~)1e|44)4~|)Q6}G_BzoZ$g*=Nfe7h_} zZv^n}!Q@ssMfQvio{j(VRXYY`)aPTgo^tYmplIAT2^p|JiI00(X=#k}I~0JJl|M#3 z!hbx8S;Pu#Zr-0MDctC)uV4Tcy^H^^Q0+BQ-eAY%4 z(zk4nJ>*no*a@((@K*Cvsv!r;s4T4iM!Z9^+zCa~{TLg4XRf<}-hj*7jD0fRkrFeR zyr;gD-zVep}@>TpxE-&V|%+9~GByOjd73T)sCM4l;5}6hh@RNCiU9 z+Xm-19sK87wqklGC46un7Z&@Q&3y5%bkuZF~+JuIna4rA!zAVt=F%X=_>T0rsW zDbXDp@uQKmYLSw}5$Okme7ksEPl2gx04PLtigvab~VWjr91Hq>MhMx1;*VAn)hky-*ly1G1PH7MJXMn7x z@B)>-buDM?83?L^Td(PTBk*e zRWa3p%GFD~U1z9V9iT+dJb75-6=@B8#<78Or^N#cc@4M+&&jn@+tKIGLbXx5CX4dw z6LM3&v_)(5N9i-pEIaOfAFVlvn?8$2jBiti%?jw?u$zJ-& z(<{jiA+L8QXRE4)UZq$N7EIoA_*|rxwxp1t1*8tHhN7-t0#J3Y&GkBwPU{p`^tr*M1`D=2v7A>Py?;&nyJJQFz;kXZScVW=$|WA zr|{dyC6cI^4oqmYfd@<&gwJ8n!5RKeE@69eDx2Ojr)R*r+&vHVBBQKH!`OwsJpKTZ zDE;P6HWZwY1}kp|suZgIBlR?Y*seekxB6L5eg7n>zxLZ1yx@gN^LCqyB0_;ohl!UY z-${8(?9YwQ&U#^qM9m1GeQ7K>=yu4$P#IPCA~;v}#aC0*9O*s94cen8JG9!9_}I2-YIxEaD3YH)V{{$NV+FA^K_`(rWiBLndE*`xhhc85PK)T^NAaPaxo&a+J1Gr zz@_UH(8S>S6RB`vkTXF>Cp0F(o986?duk#(C@hH1jsC$Uul?05JA5PPa`Vjk}-)yaT*$*0(U zSgvLLdx{jDkgQde)Io#!3p+(Az+S|g0yfDd{Ly}yYCJ?d!E>|xFVSMOwhr3u+L@T= z!T>S5D;5m4xBLf?*Yg`6`8ym}Jro&#Bha=JZ&h6-pnUbdE2lA)4ih&O z6F$ppeT}nRckL-l<+piN$x~}V8}lV5({sa{^T^^leIlDvQRIt3hm%c*&2D8?w2|sS z-PXEh^?trXLmtFc1sbW_VraXgo(afe;?g$tfO&eb2FN?QD72h&vQZ7I_le)^$ob0YdKBudc9uU8v(4d*UrZ zN8eq2`V_C%50_*`)*|Noig)7|(-|QfeM-26FiBigO9$hnp1O;}dL>!GORdA;is!EfCA_TZ`(|DiKxbEm#+K4^3( z(QI`toQp>O>Gf4^x;hEo_I3A;4F9(hI53=|5!Ev^?0WJuBn!jm24Z)O!Xnt!TPv-) zC|Y^~Q?<@1`X7@eOrc)gawAua%}O@V_s!i>dJ?DjVGk|Q36(fM7H*`YcDh>#_oUG2 z3z`MCDLwH#RZan*&fPP8Q52#rceQ{*aE3~=fllR2fbpoZ{FrRKeEXc0jx{o-$Hj2! zm`0-C6O*~xIQxiVG>r18F*#jTGrKX9z(Nc&7WC|$RPcKfX@gXzbB*{GS1*yiWb7|2 z8Eadc(4I4Q+fXZbXU_g5Q_11flgw3IZxAR=ZCoEj!{YmkqpC+<#+Ruq%=+089zf2n z=6$-gv?U+Ykb`VA(m#o_4M~*MPzvI{Hj&wQ(DkbY(;*<#X!j#TR3X;HcgT=&Nc${b zZ_+?8d20)u$7bC7e1>P^##mQ$U6QHwX5_L&V;Glgef zptfSJebw{ZRF{p>;d7^4DVAR`iTbJG@ebj);3fOdN4En>u87Jo8*J+AG~di6^l>!Rsg?elBK#v_{-QI*|oFwhKOk-m_42YVqW z9SE`TOYBgY|GH&CY>NICrJ7hhquQ8tK?Fb!UwuSxSntJ5*~X~3WXPLJ3=z-Krwq0C zK24nkSwv%^h*hqn?AaM>dbgREz3`K?k{w!j*RrGPGG$rtFV9xhD=7AoYd$T?il}Ev zN8C;EH_#=w(WWPHc9oAzv!zchO{C;`7v1imUq!#Ov&V1>Z1K7-B8Y0J zQ)4oZ$(s~##IEYSpvLu+`IoE>YbW{?3L=(+VZMU|zwdI*(#-O;*$?T~E9G->@3CBk z8X&P%s0^DXFbcXZpGj^uVh4;V)HW>)uoBnEIr0AaJYIS?XWigS50?4-^f-#^mOtSa zZ^Jcu*RwC}@3ttk5w`=$Ub3<1y<@yfuiD{WO_S|MpHwSkAb7-c>9X!x*&bn$d6}TH znv(WzUb3eBsv&X11LCYI?x-~p&p5q;FQ`o3Syiy90|TyBG;|o)(43nAz!zJ6`dE@O zFcD%-w#`W7N1%lK(%#TAeaOzig6?A`r}WEJDY}^OY(BL3Zr@o z?637IxQDftM+5UFdV`&!D^D z#iq4mC);G=`^{!ZaU-;dGDonT4H6g6g)8qar|6nJ)7UhD&CkNP#}dli$5~S09Jxx& zH26}Z5@8$bk0IoGj_6RP%fl#piHtj8l)1zob^*G`@Sw_!dhKcXMmO?iAg$L4B z{h(!BSO2!+zpecZb?tk{+`-xvGZ`}w7*joo?CJf~)IX)Q9d6OraF1jSYOC(z$h9Ph z7qJG$ZKNzae(iB{CPrWO`T6Xjpx%9Tc|j@cXW&-tz2bMne&pQnlutI|p0i_7ev`Xq zpG;~!YaE(#GL=(%)bLoM(QDHl=n2k{X?8@6ODagJWo3P@x!9$1VI=-=U*FyCPm5ht z!0tgd7iL}masYwL?QA<)`b?R->M`pi)>d=BQ97C6r(9JEPGwe=?eB;2*VaUefae-; zv63681>GqcKYgyCsw9yw-GSq6Upe08$*P>jC@Imox2#xVWt|>(qi0&zi3CBfdVK#a z$2yY$1W2x0`!3h6dBPmOk+irTS~xXpT9dsy7$2u2`=l|QG;w|lK_M1@FK_|9ESOS0A*Jm ze@Xij%B~WAsI5Ot{EM$`L!QK|v)&Se+`ItAXd8$JF7Ne zHRb|`7vv8|=Sk2EPhHLjXrnaK?#ll7uz~rzDPMceO&zyu-%sH_^@XRV%^1DAr{Na-lcOo2GlA_g`kkfCo>gs zb5*%+6`>4QB?tP3-~?4-WX*_Kum{;h!0gcnYC$5`G~Lqi`}SoR)XQ;C9rO7M-%imV_i%BHg*A`JJ!J-E4^z4G zjlSQ*Z_Lw+LSiN6r>AdS5ft7}{YMuKga#*r%FA5?ff z8`abm&gu}gMyoqnWES@U=jkmKM1E3YkAou)?f2=2r&i~6Vxiw8yRug6d!vF+zv~0F*pObBd$4?|YvD?!&Wuknp65+PHF2S$; zzMU%{aX*ICXob`}^)9~7+yP5?Mvh=ds8wAl}|=@(Ls;E>au(^{ha$gTxj z_4)WSrfdA$&~hj$8J^a&8-GQiXL5A3H&)H7QyGnTw01D&PWUkTsBGE33_U&H$ENM) z*P8hZ4fV>tt(cxJ*wBT=#PhGI`flI>q2d0bmv<}}*i`_9Uw@!-JG8vVqNY`&ujetT zefT_FM`$z}p%_f6^$HA#|V5CBTJ z4PK-ZsI~tC8QRWOd?zK9)i()=3Az(#eqsy3(y2f~vGa>?Ro>}jcuL+MXxOF% z|Cc*8Ys@bcDO=tzF#fMHgtT)wZ@~(>%@cJ8fo=8TGWhUlY5o?ALfSK14;zm*W+1E= z!g~!vQ+h6eA{R2n=-yn`THwsiw&*T3Zc1>u3^Y+H|DKWNW2Znp%-%PgUG$;hMU#I5 zuOBWcsPLzwd#3#!DbZmp(*uE}i|X4QzAVXigiP>%HVuL*_(zvAoI^>7ic{if-dGiD zDImAi^!WEEuj?9G#u5jiLt@rPBqinV?vv6#?O~Vi8=feURA)9Z2PL$EtV(do-G}bi z_-Yddw043W1LJ?4>UBPFk)?C{!CM@G~{5xA0b5UPP99$x~w;mcp1%kH>CV z^|(r&g(WgTn9%(b56TtSm+KogS5MBSZZ~1w2{J0o{|sfnyZnO0!sCjth(#XzZ-4TK zF$xf32l*a7Kc4Nn8>zU?(AaDJ;ZUe>mtZsnYzE zuvWYn3qxmPRF|LFRs>g~}hw>;SvpVn`-4L;_3n$fL?&rOm_hgc+VM&<2+ z$>H)O&Bq4Z0iba;?C8^{by}Y+wyv5QH@YOyGZo9k2}AD(HWmfvCHvN6EEE`@UB4 zf%+n}z-`jM8{2^U)S5|X6c<%Eo}Y}6DhW4ns?FLpDjU_N@K7=nR?Bb$XO~57XYyS< zuD&R1DeK@+lGH#-OapN~+u08CF-eEK%~t&lc#QYft3e`;@X0eWrvZRc0EnPO{N$wH zdY^LR<`Nty7v_e0*7rcuyli!bR=VT4m0t|ZR%4#v*XoKNvbPN$cGdAcB07H5HrjJ! zUBYJ#?oe5#(rh`mro4;TiW7932ut3oES=7Jw2DAuj&JRJDyM*GSig6%qKbwdZDM3m zQmzxDl~-Uc;x2~L#N%f}gsn4}UVV10IFVex@b_)SO0 z1M^Zbes)=q!kSNCTaF9b9x$^N8?<&@dg3HFOlF>4x;fFZHZ4AJyR)opK#Mom(lU<6 ziDOT;uUVE)E2h;Zm7l5{X|1SXT!iir1T1)G{0JMQTe*tJ&Nz%IS zvezpE3*42SKBDGD1+?pbG@p5(8)0D3Ry zyM_91o=}dwMz@6Z=K7#Fj5CXYP)lVs<P1xa|p1ZX#Kg$wDst$k5@X*|>KqK$)DR%lt=3^Ll2GGI?gj_pOXnYApgsILp zJF@#(oHGCk+eLZtV=;M+;<-0*-{gniz^o@hzQg-!m8Jvf*`8}v&~E|gDCZ576j5lR z@^opS8U3TXWf0XAVeEp=M6a3cQKT)ctKHm22Ikpn`+XJjs#;wTFgE=U0!Dk9V8+15 z^7K|tO~ph^O-S&D)LZc1;s&a`n_JCs=Xs*6s@kn8u`%6wl`hH=jp)Y)^~ zUu}P)JLqoxTEReR?O3W`_4Ox&a}%Kbqt^qOOmuPoU4a3C5HSQoujeaK%1G64sW)i> z{m)+tO1uvBo4*=&*;p=5b@DJ@N14Kg%7|Pz7Q+D}T;=DmME4T)MS>J@^a9U}!wyf- z(KQJr1eYWuYttKvHpZuMeIIKh7NagrH#4L>0io9+_Rli z(yA8HvSlud7_d{X3ozBRU}^lRE}B%;8!*oTFoE!z)t8VqPLWsRrv6vHn>{psX1N#v zDLj^mm-bneW+4qI=i{<<4+kK8W!fYUuzX7xuZ|$J?v;!P+0jXC0kIO44x+t{$jWh` zq8;-G5DvAO4OySWK7?G+t}yRH_PSPFGh1x(Zg40;8kPBh4rnqme=&c=_bK~Y-Er9d zN9zcnEOrXj?8_Db_5@Oa~hv`KFvuNoS~2QPLQ1w0aurw%gLe5l5PHW>B9 z{>#MbN?&-ec48KQ7Vfk|-8_(t$XvZ`w~eh+e7_GQugj9XHCQ^6xt*)K}j(ng$6>gvE5EUH+dxbiXSKB=D_AJ3?G?ak%fNX_2?4IQsjbbk z+rgk^1*N@fN3TK;xO!r}Q01y^uF+8Cy#pdx(~+9+*3d*r%5p5|8T(Tm*p zNphS(iRjqH-O%SwcLsY+m^C6Z#gc#O67o`%`bI6hP~c3NynR}>2e{2EH+Pw_Phpey zd-}m19TTKjZagJ=BAjjUS?*4B=hZz*J>2g+c6+F7rby37E80;u`>CaWQ9nGl<3j{B z-ME6Qn<#*T%ou>IL@cbJS$j=uI*Xx?0Zaq!!siaSKg~p%QewT-RyQr|w;kb9<0 ze5&c$+3dY?pvXemELB-md@#FQi-wG zwo6Fs=9V}$!{-mz_D9{p@vK||ZpQX+m-7FaSWV3U zIzV%k+#$8C#`KuKF}k+Sn&rPa_fqoA(Aqg?n%<^iqdgd^Pb33NY&qIG-AhY+WD9Yl zpg^h>k%W`g?^A8#zE&iOd}ed`2`E4hAZN!uHf(On8sqJ1lN-iQIrsKmd~@g*(D6ud zTu7r`F}QDTCy~9Uc!KI%%nznHZWBk4?=#2bs^saj^BVNrcODbIyu{9?7(FR&!|d@4 z1f^qYM_e&sv)shWM`-?c?BRqV{2$oE+_UY)NptzPDrF06vp{9L625cr2yQ*3!T(VW ziQg_qb(B)EhzUk{UvvN#v4YRzpLF~g2hFnp;V7i2J8kpN6VT9SMr)8_#xlA3MpyM$ z;_knAE8q!`Csd!YPV=@6aAE%iMkG$LaQfv^tKAa|(%*Fg8d8(3eb-YI7|VRlg08cd zP@UYd{Rejpd;wwK0xf%BQ#ONcM;7~=Kmk-SE#}s$_0-`Vwe{aVP78pO(B-)Zp1*y1 z=Oc_`07p0#l4SJ7O9{-P<5A32waW8p0e4(^zi#s`Bp3P}{^Q zE#8_t=spFX!rmGNP&84Wyr*1!@ancY-ASPS%K;K`+$DVd%F`;T2~}0quxA~cbQ3>N zx*Iyo#Ci%Ipmft$yjT)S8YV<;?Wn(j+y!7j%9hA7BDHNZ-ZPGJPd=@Vx|)9AZayvM zz?-jn|MEdz9l)p;-b#UySHKNj1Yg2M0r181XsFK4s}J~a7>M-@MQ09(b-*i-s&^d1 zy*SckTmZFfol3h>naHZ&pBx?Uo6_f0Jx(IT!!>U9HIk0**u}Ar_cOSSfT&r&ZIA;} zsc`H=l4Y-o5l9qQ6W0HbP0e9bxmYFGl526Y|G+{|%i}ZCwL}12TN!CTDd_xuCAsw+ zWk~ZKUb{g0_EwS7jE+3I--^ul3!IqmD!M=bm6C?dIXZM(f^2EzB#MH8?dwHflP1rdKe*!d?brR6UP86IrZ1kz5F!YH{($ceh{b8MM&Q>^6!(VE zV)EhN`hR+m4<0A_=RQ0*Rq!t!!9jr$ve%UoO@ACT6Fz7o zUpV~G+IsnVv891PXbH4FBF_`{WJ(hELH^||>m&@qZlMNR*Awk4O3M32rL7%`4c+7Z z1>g7W5a?eHNZW3ZVm?MiBX%Qg)m+}0=)7ooWFy$KsY?Y=Hici%oq4WcrzQD%$kdwh z2|I1MhsHwu`3IDsxV&+fj@=TXEVWIfO}U=^{q>ebJ*07|IJrq{zmOZFaNS{ThS;2g`xTN(xJ(iCU22PMv%aRY{W7S z3#~Kf?N1c19j^E{NmImwrMPi9@7?~EV5(=-#K_+v7Dnk9MHPwV%KIopTKPLm3jSyd zduO3bq=9m9U zr!ue}EUBK_%LZhFdbd=QCWBWhyl`22q}h#4JzM47jbN>W!u$9z&D~H%lo}}XMHz?o zm>#Qfj(Xwf-uZ7Qnd%O-?SQY;c2CE)Bi40S{UVcV_kykFe7q+7Pl*6hRzmO00v|MB z^x;QAIm#}|dr{s(({BZ8=cdsm+whv-4Z0g}OR(w<^xF)QNktnSbrP8jKx_khHeL31 zn-o53xUFDxv}hOnlC>gJvHV?JFATYcWl551{a4bu0IX+gYjDXnX^-+=_a|p&r1+Zx z6?=FMS*AMGt`O4T&r#f~g)>nOm5dKA4lpfoB|0`bY#5*Ma5`xnFRc)%2(`_7nS5ka z5h{V7FXmP`b<&3IM<&D4pzu|-=Y`X~NrS-|J*B<*jz7xE4KQ~39n+-u6w!cZDm9$9 zqi@Aw8UXRo@M@|Vu&co!ZkG1xD$yMmN>dJJPVYVMmUJ2b^SZ-NM=aVfTFm~5HP_@< z7H7M=@q#Qj@-p3f02rU zx3k{0=6_ssexTU8W(D@Z4BYjdp%NIDN0tZ6W#vc~#Fps593SJ$6+^X5VPsx*mh5B^ z?AlyK!Z8=Dtc55`NF~v2W{-4-)=x;}R9Z0!xCWIbDyX#&F)50$aRYS#VspRh(B(k> z8j1pi*teXWDMy^Mq_(7AI!;${a{8bjVvgl=zxWR-v3nxUeNv|x0!i7{r=y5=50QwE|8O|IKF?(gj4^pVeC8UAKhRt z98xoboV$FP-@o8_)soCeBHVv1%(Ud(tS?&MaF?#b^o29$@t?Mixn;ZnfU#K|i^7ub z?8YnUpo4RwktMy+uRRd~`(6FFv_K{fTvRjWzxX;&!jkaQ00 zWc3450oC`CTRRazYY$e>@_YZCv=#Ohc54@ObVp==XItU!q+{`Exyv)x3T57 zwNx)At{HZ$O|)D<;^YKn{67rzZH_4u)KwPM55&(SG*r{f3VzTc`_gpvn+4 z&rNN9rh`mt&`O}O)7I;{ZTx3Lv*ipw7LxBkp2cRX@*7S=E(HxM4=EpOD|(7FeoOnc zSgtH08r(v5q5TZ#mraxm1Fa+8JlQ*<@)awoXR^kXZ9*I3ii~dyPLYFy$C=|za|QT%iQ|IqbDm88rLru zW&3Ga`hlv0MJid$9k<)sp#}wtcg&zdN$tW&^wMh;`TptL0Hux99$SD$y9_D6@p8@u zx7cBys)#4>j$5wTldq($dc5~x>SYqHeytl+FX-}gwLSb!1M$zFxb}Y-UQs1rNcb%! zlBl`7C*l!O6oX<*&$ndW^s&P%00r^b9y9Gm%ILPP*^GK2J9nBT4C}l4t}^PFN3px5 z!}!QvoumY*{1lTdze`mfy~;XI3Tn_sOnQIe7Ds>J7JHACd)7+0#e#0nHm1ESwoG@l zm@EmA?-6f4;5G5SA;8Vc+65H1P?MKfDMlj6bN)Ub6%OV8DGnhwWE*j`pJ1k-x@Sk0 zVxV@d6me*KP~CLveSJUk<&tjG(`I)&Dp};S)}}LG`kWrvXE7Kx-M02*eJMX5-*j6v z$B0<4*K2J>IG6OQZmI24-5g&h+^NtQcb{c)z{*Dy_%mDPP-F7>QYY`=&{~Y;#`sGG zT9$fk4&vB^`LU)SH-DkyOKfVko3mnUJ(q~kL{Y) zFKUe(mY0)Rc<$V;!LU38%(1*%J+E_giHU$)?ChHsXQ}dh)pGPonfZgLIXbeMzvY@=VJzX&(+fa6bC+LJHSld7FI0&RsU_)Qi-L3zMHx zvCWTI)wF6Y^gIX!_&;42=~*~0T*>Fa=z>h4Lnl}kJVupN1_1O4%Q?1{~-*0`wt zxcGiJQfcV1sS_2fTUg)o561oRXATut{lu5-O08*wRw!5#n>zliWnEgy!SQ>1)O3BT zJy%yaN6rXG^?BC=_|dXh&DAuzQX^HT_)`FP-Ax7Nt0tZR1su56(^eCMxjQ8WKwD^h zquy|}8hqJY|B7t)F4=BPt^`Duv~G(I??zvJ6lfHf5#%hNq!pA`Dhs8^N1c2KkTzU`%#S3Tsedw)+KtjgkckDt5Z!9_&{dh59W zw0dv?hH_B7HTiVZm2FUjFtcUf><~Jyl1N|KLnj_ zP!r!>2im{>Y%ThSSDxbv$g8onx5J;Ru9<0IixzI#HJ9{q6G`J&knlWky_ciTnL&~m z=z2zC+U7D|(qg_>OzX==mR9MEFUhLAju_Ns(Y_>wnuMivsKfL7Nq+=ePM_&AmF=$j z%s$Q83Tn=Yg2Nna`FXYBx!_7R-?=217VdaW%1i7=N$WFnHWzbccI9-38x5*0DwSm+ zOC%Et#)7-GV`ko9hrlgrDNxfW*tv?0R+skIap0camtUP0E~p;bNm1;g-2^fGSi-hD zpv%0=*5Zn-@26_01SHLOQ1k9*X6LLosCMe5ec%d8_5IVilEOWi2`Yi19e_!GDR-@d z+Ze=60aO{|D~3##$*kMj&wI3tZOhQr9_avt36$`8En$6ia9`=hG9R3+RN^dQbJjR= zny@iwXed~0&)8t%$ySF=TWmEC|1b8w`=QCCYkNfz1pyl%-G+rKy%$AAq)U^~ zRC)_iLhml3BA_539i%6O9!lt<^bLI9-`0!r`sChW8Cv)`_}`~Cs%Z$u*Z+%sp+ zxz2UY%;g)PtcLVw^LHPjyiLjT;Yl;%niro3(Ti`8wGCy&qsRM5|I=vEhDn1-VR`5a zN^b!sZ$-+YP=-Mv(ylYfK=`_F+)zhX$Kr-ew_IG}<*Qdy%q`uPrxVSlUuUwaq7X=j zq<-GruYr#wEmBe(+z`edf(Qej)?(evxltVQ>$j3uV|6Pxlm>8|f(bR=KP(El$eG&z zw`<8Ci4Ow;pwe=cY%FB2%@{assU3j&k)OaPJl7k9&@6e#NpL2zTdD^L+Hl`daBu1| zgjlxe59!W|CBS@Jj(gcI^w_GYsfqd0WP6Xy^_GMyOcc6RI;rZJqzN-HVAi;oWXv%h zy{LYV6c;s75s%8QHEioVy>!2ngWUH5850IB%+n^P{?*M!&vIhvTz~)Wu5e7;y0$eQ zjo&Ci%Rc{gx%E%G_xF#&6lid982Kf*&a|lR_r#lex5kh8;`;dPrrWza69XJ;`?fkl z)%dPOWtARA$C+jgy+)Flhkc2!NQGT9rVMQbStnphGA=3Xin@!Xt$KR?tF39fw}iNb zKszASn=P+mQ6rBm(Yjru{tH-Ix%zoG+*O{4xQ|CH7s|p`Mw8FhX=O_xIKAH4?9Mew zI~F(bbkP?OO1of&b5cl{^3SIG*!een3JT)5XOai0=>uwTbEas`ez9nTcVGM!na44$ zw-=GU_3TK$!7p#yKM3{G&5G5nCU&y;>&z@*+^@4jnjSWKW(UKK{9BHR zk269v74C9Tx#An2LavG@dcP8tU03MW!V+cs=G{hx!KiZd%oZ z?%!IaQQUH3wxM!mRWh~+6E|TVHlES$E+0nq(@g1W-)$VaDsB8^j0x^MgK$I*bL~7| zrfJRD49KTzIxZt-;`>%~RBpaN(FMJ+=+keZhx13(Eqg@YOWndU*-yWvx}A@JR!gTi zy~Xlkr0qN>I@Os52aIE)v*Y3=r%U-+RLWHbFhW8<4WzRzVC2%vLoQg@@l zGW;AP{0{LILc*BUl)WvY{hoBHw9BTZo!{ILW)VFi+iyFaEdI_^jahhoH`YRKN201t z{TC!b@l413eDMlRBH~rRB8gLbf;}DigL@_|kmP6p>Gh@4)~vFu-J+4153li>n6=CM z@w{E}7z&YZk)(0Xh7lWF-21?Pn=T<J=6cnmR1lt;K(b@&jT8JFi6XCrSxEV4{a?w`shnNR8BJ5u}y zSNRf)ULKw}H^9H+PVkuvL&_!EQqRsmVik}dV_8DyPE{C(s6d~_zv?fY{Bg0ozT*^? z;R;Q+IdW3&jZ<>($C@lLo-z4ekG-jWk6zJz-VIo%%nBsdkW&b;#0I&0!2A5go3QHw zZ=xi-!Un`u&ubo{h)eM+Wqu~+Oz~RH0F{d)C?IeaOL^5s!Zt@;g-tcem`S4-ORLoF z3LMw66Pd_%JuPmEiVImh19!%!CLtH=FWuS-w$w3H7_d|oFaNy!t^h)Z+W%C7?3Je~ z?N|ZhejV7=NH1>%q+ z>Cl(bw1XoZ%+E^SpOw}lTBIZ0;-*eB#aSwp+wA)1eeL_2<~u+X?wH?~m3U`reYe-2 zqjZ|->ceTAW1eMeCbD;%)sVQ%!vIm$B8ZRrrT2Dzzmw)bh>-4;awt^3R)={Frrl1NT1YQ)n==|t+aZ#cBF}izpzPKX~%hg z;{o2py>cs1&;1Yw_xlrMzws9s0M`NY9-S-!KRDHDnEGSd4*3J!p68Zpf!xnIgS7m? zMFW2@9op^Cbh9d9Z(F6`O*EAMu`#qlnnz$vHU1F3slD3;{k2B2R3&TIQJ$NVrkdWp)IcWb`n31*?CRB)ND0|dSYxDXW82XMABIfqotajmuQq_ zDJ|Jaj%=r^7po^g@j~69)`3}9n<0(Ym8=9@(FnI@vv3w^ac{Nu-OXp6gRP$D&8J`2 zpU!T!=(^eR>(5>;Fq}t0p?o6QJNy6(o1E`mIP#>dutVIGRPY)tm7TfB*l)8Es8_YH z?Ah+%_c%y2(H(B#x5-}$-4o1)WQTn;<_OVSwa8$`BuTm!ijp?eOy{~(vMHShsII<; z5n_@|>y1{LIR`s@-CmD=WELoG$D1Luyd!3(u1|Fh`kiU_*-+E75tRk5W+SY-jmIqu zau~giD-birllFg9dC#KSc^#7kSao?7Lx%Y0zlOvIGnMeCCo*;&*KWLX2{~6Qeao(j zFH;F`=t>}I2AcmQ3WLq^8SHq(=A;&k3`vbBs9U<&1bLk|L}~bJQ9P^V!*y$-lIb9Z}NF7Tl#nS+oR(k;Cy^*mSb&YqHJiAZI}gu;*HdS8v{`G^I9|XO6}9CC?;P}0DQRlLu&gyF zeRZW=JTm}=+mo7p7ns#HMxnG!DGXK0L}wnUW`Ey><$iu^zjfsV&)vsq zPv+OpJ%Lq`M4#JR2U7^aB~uYjVOAU~1B%qJDxw|i*@nRQtn?sU{TH`wM!OIWza06= zbA-~hb;`#gi7p^sek*OFyuP9g_kMP0+)g@d>wZ*c2aV!fOHcVZonAaGf_`3!msfktXdm5QyZjQQCuIzDn zF&|jOw=P(XOd7o66qo!JA1-vU>ZE&9(BgJWi6v}}lG6s<5)A3B_ekR_P9?li30SN_Z)i6Jz(u@XWm5l8 zJ)N#fKDm?^oTyg8OrH-#c`QTwI^6`P6 zEpO_t;H_0&sC+qitivVE&O^opi=s75W&GlJ)6<2|X}Sxuc9y84@moDwWM`kY`$YKI zEF(`d`OM{CfC%_Eg=#QT57wB2-|D;!U^+{yS5Efrme6d(47EC~Rq`X?;Y!sB4)$wT zU-K%fSuK{Ai283r-G;i}*Bf*Cb>+FtEbQuaoWeLzawPn`rtu4fAQ-sWqn3jnnjDTm zIPI)hN9o*Q@f$mP;)wtFn7MS4ROe9hb4#@_1B(Ivx=2{T|kEI4#J)>tO(OV-b8$W*1SyxIEdoei#xc6J0& zQOqobolkhGePPXV&eFJ920E?Ut9rz>w=aYDZx(XgAIwMP>EFg|lF9GQevs)I){ zW|HrP{+Z3xzYgHnKj{BZz|!a#gY48bp=f3u+CDVAk1(8Z;TM=?>yUZ!LbPr@vPz9e zy@v$Hb_~^0GV`*$-P=`@o~U)dF3)OS6t}ZJ7Ax)TPH@H|x#mXW0-)~`*#733sVMMz zhCD6n2Xkn_lmicdUYRIMbnx;@>@6;9k}~zF!LA!#D0&P6Gp@te{eHDy|EsQtHA&so zpKM7*clF#L!r-kUGyd)g;{srf{0+WSAMCLEl<@1RIFCk#eu-^ceKa%#p9gJ8qs$dg z6#E#T>`|KPP#sNJcSGCgF?Dj?2V3ZfO3}|Z1O}WNopqb-?QS5O8&NS8LV@mdtbQU) zj~lpCVC<<&kXe3Ef<_0af9y!7E1lL)7O-X|3}fflrCR2X5{(AkDD%}6$`x+t{j^;V zEYRs=CoyUPpSTa6AI*1?34`1-G`;!=!U^}mCsVzrfIB2r2S5+7#+h!hgiJ#%U28w5 zAkopMndE&pO0?784Z(7H-h!J=izRvnS=7d#9WHNL>fGJ*)${9QbAiNqH(N~!{_MKF z10V3l2;g96p8kUl-W<)qiU6n)jG!UWE`==D8u=DEZRHndDT?>bD2|w>A4N?A(eV!d zvC`>++8aA-OeI}O$aTl|hiYSfdR42%B-WGxW`uZWhMh}fm-4<`D5*7<#*Oz4PE+-uq0?~Ut= zRZGL&@}vblcve;uIDQT#3>2g|lzzDzt)*rASM{Sm1~<$Fa!70G?Yikr0mO+*SRJds zB+#mD;2h6R)Ep1%tj|9O))Wx!LG z-nm|2d*o~mR-$sN=W2@2x3bC3a*luVboUHFxEucPPG1zf24Y%A>!9K3kM8Y{9yPU* z8bpu6?Bv5&Q`<%VI|)Dg30(DY#Fc07gjQW7*_AT$QT`o9{p~F>fD;$zYFU4vs;Kx3 zXpcGah4j_{MAet8-R?6IdR;qfuxhE+F1~+Y09PM)7-=_k|?3!>e<>NTmo4F(8tGGji#)@ZDZ50D&e%hZuAx%U&8dZW+!j+?4FMZLi6Sm+5BZp>bJ-Cie9 zL3dB^-``TiZ3&mk$F*z#p)d!7zDgG>@oSZMH=F@bVSy}1ReJ#Cc;j-iDV}|^*2Ct~ z@mPhwGJ}>wX3#PTrY9inJj^(=2c!$jfL3q<#q7SFieIQeZAB8S-=OU4bJpkc8*MxV zgFxxV5uPr8a=}#Vknhk^`IuiBX@7@l_hevQo~=KUiu3Gux~#3~gl^X)%BcLfZn>Qf zx$W6YJ3x&ISytBXO5{b)ekl9)iigoW*O#!j(?G>pvBXm&&SYpWxKW^AV1o4ee(|B> z&*|?2=Q(Q)Oi+55IYPpOawrC<7-&Db!OvIRa&a99F_!Y`*$rP%d|uH|7Na^A`u392 z@F6O;@%C1~++W`GS8mTEN+3t93Zm_yF$R`JiuAI5;b3@)f$2cm4NuE)g-3J?LVcwU z=u=8Q%cg!fP0hjcbbq0wdswKQH_E!%mbRve#m=1a%QM#e;x_K}PiHialo(FqzEu-s zcxLxjy5-9k#5bQLdrlW^jQQ7b&F1J0T}}4*5XK=Z#q$f>2){%DV^wyt7u=zWSk`cd z{mDL<)6(>CDQ?$1>eqy{6I_%|OI1s98y8-Qk9su5$H(6y@T41-Ll>W&297M0b^*>s zLJgP@lCw4B_e9nqeV$*u9TObNUXC!u{m}#dY45%vI|OJ7UC}BKMu1fbcDWat`fX+6 z)_!CtN2wz9L^)%-BqmNs&!#@R$fS`hGvqdGbG6)Vs)gZIhmLr+zA;SK{ukR|2E7}U z$@ky(ee?kGCgHr0W?Z@BSc}De$EizqEBFldJe>-GJUiv6kiJ|Cu^J%!TNQ;YdPF7jZC(!c_CN% ztH0lJm$S=c6PCK_b*+Ak!UUNqP%%!iQ6uIsT*_u>B`^$BZHU0DbZ=qqtTT4}!%2&P zBgbZ)*(>lFa8aw;jPY^%l1@uIBq|2y3(a4fpg?n*A&_N4lxI}lo)tj@Nw$ljdYZZo z*asO2P;_e3>u%kAv^O-Afc_iBOs$T!CFN%@ry;VcC= zod+8gnQ}`4HLH=d=Wd+0-7xU%mfc7c6%#|#Q-6XLB%*GHGlwDbCe(%2UBaKhp;~>1 zX~6bI7p ztg&ZGl`K*y?)2@pHV;|Tic}D0W^xCRr#Xh+L=@i1+)S*!ZShNb2w%~s(@?}X_{Qkj z6XAr5{dH*&`bA)0pscfoNmF#_%h5{P?Y9I1Y*?a@M}Fn>D_(9JP2lD>Tn#nvGM;YH zAy|Qq4gnkci3-MIu-Z`^J3wvYNeG+sy~%ThTj7GXl})3%q1f=qJ~dQRE$x*g?=V~< zqMa}qAym#x>L2iuexhO>m^Z#R@5A z)^q|y^p%mAS7gmk*2y-kLuvUB5Skamug`aSYlnH`fGBvcM7k655enLqYMFV|)zAgJ zoOgjqjs1LIE(a2aULPavm*)o06}R)-30rlEpuXvf_ew=<^&Dlje*_lKu@*br2{@Q0 zE*9yB^qe`Lkq}G5URpjKsV`3`CzB~)I04F#*|9E2Pb)yHwwtQP-Mtc z`Kqmw*G9AC!C^E~a!EM?PhZjZKxHUe-^7Nept@Kd=evhdq>rPh*@~nfQnR_e6LFrr zw{hWxQFGNi95D<8zAV9x(6APzbYqzHUFj581eNR6T1l`7mzoiJ? z$Qk`#6UM6C9lb$(c4(kv>ZnX+oaWI8{OUgHdDTkth-*|>8f(b=$!aDR40cV}ZQ&uI zCsSn-id}Yzvxq4IsN^>Ph7hWz$tFKH_eb&Ynky#tX1?LbO$ub3uU|2=oKBp zC(C*d3pTTv0X$TdyYsa|#B10 zoaTVwAgp=wwV}E~`S$?mh2LI+UV7n%^jt>NH+6lLT8KLwH|nF@@E9fGurx=Gt^f(i zE#DBe%;&Jb*E4TSNfz&O1M7b~CX;c9#Zi2qk#!$PBt2F12HH@7)VA~Gut#C_{tZCyP0+I0>gG*1pDPe0SDqr=tETx%mRXPr9*`4iw0Vgt;JMB7jn(&7&F$8I(&ce(UG@A!j#{|SX)!0G*2xACYYcCQPE@KuZGcCk?p zGsoWB+OTxC6AMSgc}v$)%H)A(UI2Qqbc|Rb`A7A?unJqMw)=diJcOS-gn!aiRULKI zRTR1if)JC;owqATTuThTp~dvtJ;GFyL_SkKM(qIuc!YB(H}3iHq%rLy9iv;LrnsD%x|aDAvc!ZF)f&pyMnc!$<*fyS#fOe0~rpH zU5i=l8H^euhHtvsdlq~ z&p^iK%OtsvRrN#chAu_OM6M(rVVd``wI6%LU7G3m)cc=;%?mR6{$@bW=F$_8Phn$~ z=ydlHVWb2sTKM%sNO&pP1p~oCwkkVdZxm#EqfZLRzp51v4wxC4fw}d_`Tiv6yVK1< z;3+zv)3P!SE9JkgBke6g6(lRVz$7|^@}sS9BzXP<_11C$q?J_aN(S#lQV~CFL8^rb zdU!=W(Hg)guba4xBIlW|B)ncQx_;vH?^9!?t}qaFt<$yT%>_3Cviv!99mqoLXOi6M zre@k+(0r@~YSLw^Jt{N9B6dR&^84qQOR*1!Q~dWm`_cbk)By^9fS2D28{T69Q%%P9 z>^|QcC_Pn^WhB20R*+>1*MQ7uYH_+=J`#xnkpeF^_~=>n)T!TXXXg3A{MeB8_wY{0 zXPE$#5IhU~Nn%bnABH9DfXRHQrWWSEmRKMPT?5i>Ob{!ea9HZSSb6oG#?Sk0ev3Mj zjOSAmaM_Byd=?5DARj3Q$(ww^1ju^MN-|oH(t@_@L&g+nWQ9*#?Odr%uRSoCGSw?l zy0Ie93c(a50@+Nb{X+J11iOCX8KLth9}sI0FajbS>p)y&=Cd9WCUZ zx^j(>hmiUDWVF2BRJ6V`gv066DYuWuuTC0WB?f~sCEkmGB!URop>j(>T|dGesnaUFk3kH-+Xd?}c`uT>v%j;1qoCo{TwPT8avuhqOgUh_WE_(K zgESV9-<0GBK-;YWh4`C;5pvrtKnk%IBlk_{idwvRJ72kxbrJgc{*ph5we9NR-(USF zJmWGb5_CHDEe>3RDd?L$1xZW3Cp$KH;XV)YoqLTDkBF$~5J<@^!S>7Ht6C_o)I(() zGNv@&Stllx0LGsUNzOFCW;T09MNfw;A(r8Wfr#X}|NW@lf%GeRiz>M_ z&Nt(M3a=Wzg)t#ZHSP)EHd4swryrp&umdCuT^QFuZaxSoC71m4VCs_vMNKT81EGdD z@oEU%oR3X}?0O+!HzdYv7Y8d@6vdUn;N=dZO?}s*`ARy3(p1iabr-|go24s7&=D`` zH<6K9tg)Mcbu^hNcuvR8^1mOpen2y)f3>memphVt(y)1Rdb!P1B&r`GIS>lTi3tqh z@XFZ({0LuY-R`mqIX-}J7YyOd2STC^3z%KtG8`12pEy3nGXX5I3{3E+qqHpMWb>bt zqUPOLN|7(j5y}T{qeZB?qp9g`IfF~&VhoD*5Po+t*+End2x*$&fXKF@uDb9sZ!+!& ztP2}(yC+b$^+Q)5*%B2`H7vjX`;tuRB|!EO?^#JtKg3;3l?K4H_wzcTpsuO!oBt39 zLb2pXB=)F2Ad%on1H`3aRpUW4s(2}?-jZ%P)}iRU@=-unn1}KfzYu4Y{yl7ULh_*z zqWs^Ptr8#iW^1@tdFVYA=O&ARX9)(aWP;RZjCfRPz{|G5r|o+7B!tTjgt>KQj4Y7< zylCi>&HO8NvpQJDC@qAR(dg;T9e@u@@^8xKq;2?@L-EDSaX-_A`_H}zGzZ%>_Z0!hjy{f&Q7R)n?UvVARPOGT|rHMG4JLr zq}vMRbMN(qxufRKa7Sl0hV2A;B~p8{)P%!wy_?zH2LZM!(Q6m&Uwoj#XF;Bj{_Tc1 zz#YeTeNJ@gVm30TrKNT2(^47&>?IQ2eCGBnA2w4#;S38u$M}?VvTxS7szqG24G~Ue&6T5C@^fA*(TJlYQo15KRnaX>g%S6hJkth-8YJK z$1Q;>GtrW)Gy2b7`rZ}brQ@`#OnBzb6=Wy5K|U~+Z55KqA95m~igZwk>wD$at0vxA z8A@hj=w!avClW3j=R8{ToJnG;+y=<(tDEE=*krf)1umE5=XbdcSumA0Hw_3u*DAGe;|mQGsE>W; z8so1VkIdCw0^|gTfwN)a1_%Jx#8MXu`c5gaJ-(XwG)SIjeXXdO!!FjyS$V??uzcaXkaX4=l_|lph;MF00lsLk}n9OWj*(KrtGI=#(Y+W zKD|7HbeZXTi?t11NfvqJ2fi}|0v?A!_oHbrdv+i__P!x)CpT7Pg*37dMnAtB!NCrP zNj@vABkfo5Rg4Fv5u5(u;B7vcO*MABJMHZGSacPqyNHsi^qyRQq$lp7i1$4n50 zQHZrgJdU;+ZaDHFBUd|n7<3aagrAXq{PBpLwe`K~gdxy#*>B?QfOBr=a{&B6);42Q z>6q;L;3X{;@+%MY8@n5e|B`#&JZ(oOw$e5XuGgj<37LS_to1JrqWAmDsDrp)WGhtH z@mNvDi5^|b%}%xjl%!slap`AIe=sfhi9MiKUD714ms$y!aj1gN=J&5zAx9%GQ;sTy zv)KSPBb${MC^B2NTL!avx8K!We-gs(R;a}3E22Yq0{OT;*V|kRsxEoOua19&tNfUX zG2~xO4T2EE0f<8QSpKmJ^e2~+dIO-^V9z4Amy~B!^?te6P{--NTQsF{(}Yr;pg)knZ3*Z`)n z)`r(`kL-Q2#xp1qY{L+Y5q5b+&spCQhf1utcQQ`?1MCNIYW_5EamF*D!++Oy^*i;V zKn1>u3se^i`CVu6_uu>_6U1@>LqK;iq5iEcAdrsSlW;i6o{r%kaMr=B!c_n#0!tFG z{h99U|CblD-vi&Ik{V(=kP7?D;QlabomfzTnwK)|``4BTDRNgQoolh=fwa{>jWvfK ztTPr?oAX!s^FL+EuIIrw*=NmNa{e%+KYi!7kDA877a|BgTL0P(GOGZ-DUE5J*8I2b ziBxb6&aB?R)`zlxdpaf%eA6v8sx$3hO#}vD4Kjb_j>Eq`{V*8-DO^oZ{8tm1KW(k6 zP_B_8w+?cO!GJ@D?Lp3jg-!nZqMgin8VKA+BN^5orlLDY@QTYsnXlgAn*;8s^S$6D z+f$zZ_WHoKt{>+G#Qyq^W=^FTMpg_F)XhQNQ_%U6(7(MWZ~{H21_3B>Se^ayHu&>V zS5PLh*a7tVCGm>~5^jHT6My=6o;}c{#>-%=*7p)kDDCXse6=h8kShMicoY)AWl^%?z246cE~K62DWsq^RSo|<%=Tp}q0N`n-XelY=10Z)ABQn2*Q= zGMRWZhygBj2h`rHc?lzxC4gs9B;))T8Iyy>)5#`#BpJs(mOsutkb(=T2eo>Kws+ST z$H?XA`7&oP^ir;vhadM6?D8v}?b&N)0o8*7Bu2BtTruVr&7FeV{1og)kET1~vNlF0 zTchyulv!vPfm}j}=mglcA0&|zd%X<;r|IOg>j5ug12T}>n$2&a1_UCIes=>kNlVZJ zsGvCxK9RG_uK0umL&i=iLY^3OL;^4hSje)+0lBK_OZHGpiCSjB0M2LE18TyOoZecq z%SKDu_FY316wvdj@JzH^iYNsoY+i%}zM^uuji&_6`}x>k2DJFuV-Aeq)A3z^lh+5$ zB8I>waWrcV7o{|H$&{Ra-?+UxHxaHV;qiUE`p^~1ToF1vNFOXg0Z!jqwb5wj2{Q%J zAT>9)6%>n^0mu1Tc60pMI^eeu(*AdJz!x z)JtP_Z&HINzv6=|X?G=y-<9XWoNpZ3qcq6E6 z7^u?6%xTb9T*C~PJDP%y2^-zY(I#M=W$b`QAI+0a0+2!tFGN_0J=lwyN#to-sn)V1 zPt$|(^a#1)x;>)f+xB;!AgLS%3G$h$Y7~tg#D;5wDyS|on8{=ixUb3XZ?L!{CcbOB z(qL*XZRB%$dr?=PK0Tntl^FbSKDEA8U7GmL;}Sjx(;4c&M=-S@3M~S<#feiQPSEV` zH?-YnGSCNqz9gvZF}ND-T2cVi%hVkYBR5mp7Y{>kKG}u#lrgeTMZvCqj z6XAAS9X*}vfONZLCnAK`eKH7FSPyrG5x4S^MN7Y;)4Q0TG$RPRcun*&! znY;2Vx*E$Tt!V;*p^t*0mF5}Gkt}6ZOJ_fXT295fOfRZ4)6XzBJ)?UlH- zoFIFdKQ?%#R#WV=hG~fo0fauH$D`HW({kx#?DHpcZJXWx`xB#i;lqvO8Xl;}x%7Py z>zrRh~fbnb=(!`WLJ_m=bNNBHg)0_`6b0#KO96SF# zHh`j{F@(Nc-^6pOpran~nbELA&%lDA*S#I2CQD`Z+knp+fxgG~*nIr;cs~Y%Db_VM zPGWb(+=Pzn8GrIp-odD00Iwh(3W&#sXbGvpA0QQm8J}_hBWs_JRkU%L>zKk`5R*qksK4rZ@v7K)K5TGI{Wz=tnSk_1< zt<&*?Agn+iNdkDc2<8R2b$pSLnSM?WW4MO20nav&sB`b*QTQ7{|kVP!*+C%4- z3n7D`)THTJX@78IiKZMtC{ra?-M>xoe7v&80z9;&A|v6t*Ml;v?qnxKDR+v35n}Ux zt>7Vi0eI8-TE9#cR4k60WiMy^ItCx zcEZs&1`acV#t&g%_i2@F;s+|~H3i%68!FlANecmo=?X#dCqmDB>%74z^hh7FuGS84 z;O}9o+cO5-(?qt=7Vd~XUK)!1_ieayV;~$dR z06g`u{yd| z$%5)@Xl&zY;*9KZw@R}CZWyW}7^ci@Pedrhpmp>S zrl%>0#^>SXe6p%!k|Q=#JVC-StYNs$-@jLpxiS*1SqEIb3-Up9JK*_j$pl8uA~_1N zzM<#aB%Sc|1#IKuVcuZ3fof1;Lz5!Tt}r9;1i811Ok2IwJb8~;B9-Ye|Cu@^fJ4?2 zd2Gp9$mCf~_sa57FS{;SsV1K~=qf>06BtS;K!SXDti^BFFZ|Gg=E3wVKEVwpP90n1JRKc5-K&Sj@SLD)WaP&Ncbg)mK29w*@I zb10}sy$)seANA{t{swqZMZSz6X|7b(vyW?KX;kBcK7&dyjrRFwAWO0ZsGV=Mq}{F0 z)%}W(NZSK-BPMdYH~~O}E}nZc|MJDJ3f>Hw-Dg0+c`}>!97F-BW$%JSIuOswWWiWH z5ru#+8wB1k$-Tzb@MZ&++^D8QyyeBd4Wc5xJ|AKh!6Mqm;W_zMQyka8o+It$tIjB# zzX*uzxuXf#gh=_^W=hJO-%bc(F9DF})x{u6#@bIP`;1eYg308b*}xA041s-Xhv|Qm7d19uGAZ8t(V5W|LqOov@6xCpX=dgT~38b&9RO!dZXmbIl~XzhPIyqYFHd7nJAv|tSlAcV*kiLz zt#8IgkE~*PEfXB3>2TlV%gAjS#26W6`kVVi=Ndgtl^trghP`UefFaO!I0;ZDi?vH43rd+8Ig8%dkJ|Vms^03AE>@N*(F%1`CxYr?5HsoO91 zARq2Mj}aq-)26r@GBD#}z`W9_0208`$tRp zes7@S!}r&KLe--7oYo;@SP|s<(#r=4nsOA;ys0sj;BO)4N-n?eW8VhIZQ^J^P&-7r zAY=*@9Qm{Zu5$x3eQ=?m=D4+W5V>;A&T_%SexCWB@r~@HReUvQv8yoC-)Zm1obWoQ zLLd0{q_qacc36M5MvA6psZQNcD5|$nU4;+z?)v7e#x_U)hO5qlrw@!zmB(hpR63>H zL@yP8I;~PVuPMJZc?M@5rN%qY5l*eweG8KPUJt$Pf42rjX*dUfSKQ*}3=%HEdVt1D z;{ccyOSe=ahmW}>f-3bXzY_cR#`QR> zjd7;mo~brA&c2f(8tQy^1eDnZW!r+w}LZ zjYQBP)dr8?=ctckAQQ-J* zj)R7{azIpm+6P!8uTg7YqJhe~M9+GHd9RDyZlkB)IB&ZJ3N2z`F32DLYlU}i7(0Dt z$bDVJ&RcG@0=gCuHV($YD&nwZUgt__&V_RBNupsc)aUEgSI+; zOY%|!TuM@Y!_%KBn%P`bo3^}Kw}I>166%r=TQmhdWyLX`1ZdG`##~O+iXwk$0l?7` zYkQiHJSh`7->0qQ5!&XOu1CKDCid~6V6X(=EF_;PJ2>C40OWrKT-`gWJ$-ZART*n; zO29iL6$OwTV|pE)l-DRvPu7HNpMClZ=>|JHEcYlRLeh*Dg=IHjAwaco!pO zEN7KSC4Xz}DFymEG4RRB9GOEi4c!>gC12ABcIh%T?mUusQmT`=>}EJLO1oZtSYaI0 z1724*ae6Nli4A%$8%rE&*Oc7=b*dPO#IL%y+SlT~mRdR(WXo1Rg{UfV%m5}Nar>*J z+34LxLPnH2x0k7UfJD0Yoza;}aahpWo!Hjr2l>4NPinv6!3pa?ZU#+Enfuacntw~k z3FaQ>+v-f}X;a(HHTn7c!m#lD>`hECg9fb{0(Ri_IyZd84J#HG8%s{`~hFlRTPa}>=w zrh`=IbM%xwi41wk%_V8f9WokH(j{d#4XhNJ`$2d_+nU|i(!S#Bb3TI3PAG607naY# z5;Kq0OE-SHy;y*vuWw4?vD#g>mA})+3DW4fX+b+mvPrj4*`l5QSFeM_qlP;F!%awdc;xpGx7TFu^`epT$49#0>vl$?L|<$4UxPV5#usdLk07l zt

0{o5NQ|HBQwdxP#Org6(@_lvCAS=bKuG~^=&ym(QZfqzeH_ai-M_D?;6AM!jEh@RBnM z!m!62s@rv6=Me>Tma!Hlq|n)oB)NgzRvQC*b(JqMys++k=Ez zC{^f))a}9eXXFEw!@2cf+nw{W)z;YBPMO8pSs5i`yt>LYuMqQL)@e9(fztZNlH#ft z3$CJ#=oADA)VEO>Y*5bPx3$X2*J`?_C1<8fz47}iDWneWx=6^ZRKr5vMhqIJaw(S~ z*uH&l<_P~q`Wa9j;a0}?@hyRvm!j2vnzZr6oXgo*SqZ@?E=lW!d};>F)r}lc+yn_xqFujwSPTJ z#$n=!fBGwXm`Sc&Nf3j|j;seBHo#Tp8g#Z{elp3OBj=ux-}P>d(N}l##$_J9F#w_L zBB5X@qu(dy?gGD-o{@fjSK|q0tKBcREp)awRCDLE3GK(lDra*ZKzG(QP-7B(4wK90Pb~F4*GMG2&pqOUZe?gMI=-2+0t_eWu zB%+|Gt{g*)rT4qNWCkXev*+D)ZK1Ab=hF7(T)I84<>>Bc3!Gr_Yw|zgMU-*H!JUWB z9k81YM`oQX9TJCV07iU+t_OAavs)Uqz2C%23&25-kp0IS`+@Gs-%lV-?T>;yWD0I4 zeNYf+GsaZ}ECOyQ#tHH+ST4bJ<(6@LW?W*-3+8Nwj4FX_3sb!>(PuGX^N!JawEQvX+UAx8p#&(HO1F6ar-4vclB7vsVb@7HjBC>8~y!r(fXuZLm>V z3iy6rd05KFW6-tBn(=-Mr{Jh`ye~&ww&{iZfbK4}GO+(C`}c zeaJe+dDUI7FjAg-&I)~jtZVY^eR^i)uFoCbW_Q&El^!kTuULe$@KAj5J>d z-cHq6O)1kV*|W(vW%jODpW5gn&-j6zTlCw}aOs@~K9+aby@!`>CUN>cpABpVp{!;q z@h%Bz1h(-6*UT2{Rk_%*NdY8XXv=YQ=t1GJS-?Z@AW;!2rU3&@yT>1);@@Xx4N-0^*U*Q}5hK`?WHB3QAF=iY4z6hMDQQ}DNb-6zulK$gmO}7cj zHI%RHo`tCv?cvfCa=TFU@_%k$a0Quwij_($8OJJ9=2tJbwfHZC(+en!pJ;6yDI|cj zMn;j4y1~~uoSEpyYPP22++kpgckRn3N>|hv!2P_-C37G@Q9(gi?Cz&{qdl2U%WSORre6Qdm1Ky|kRz7% zjtJsD1YO@wwpF9yLfvyhhlJNW&QI`Fj~#W=echp-y7TK9^_JNy`J{(?1t?X%FszrT zX^#{rJ*(Jz`jd9XgqZ+zygP7L5`vpTkU$yc3A^jFl0;>`-I|q1o>W3XItLt6@m1Zu ziVx>yVT}f*QAQuNd5AkOA5YECrpYD+HS5F7*@ln(MIZPZ!@Ki*7}R!Tb2b7-pMkSG zhLc-wvnlc$`mML-bEj-&;oX-|Z%!m%qMTe!)>Fy7e;=GCf#l?y;Fl_Al8bfLqBP`Q zBDDo;Xmx>OsNJ4hk=5@J0$$*D$te)jII$b>KGw5){Pu5%*Hdja~)pWTLX6zV~{&)3mS zZI$cz$=;|R^K|OsB8g7TLRxsc>5>(J6e$>d$2Bkc&DwsX>-B8b!(H#6GVh(_u^7+; z&IYTN3A(-pYKoAlNy7ZDmY_(jjD8z*QN}2B zQ0@Z?bi<-i4eR51Zj|Vf)!N7L=*(Qm#+=JV$mPBQJ;%Pm-H$e}{#EB^XFKuf8KZ#wifp;}_1(F<`_Ms}gFvAC2pCe{O`8_RJlcnmTqJokSm@! zfi<9SncXwUKRZBMI=>FwF{3W>J}LPnJcVQN`l_%|pw6D0R>Yxwf@Z%s|C0fYo1*+?~qF)MdF&49E|HfWC%OT#{wq4{i-)1)bdHcpmEqYP1QU zHko0{83~qJI64j)i60jTO)sHM$kLwsZ!IX>2h<8~K08{efxJ5U((w+g{2Z?f*xAd- z9|J0sT%fwusJgL;FDd)tp`@jZTm&VBs62Vf59yI;)QNnAr#}sszbw}Gao_g749dPe zHquCmI{x)J!HYAfwE7l^9WuIdE-PV~DCFj;V@&Sm&s(blyyWXqZ|ZkjvOxt{Zgu?L zH2PFF<2uWP>dlhz_0ejG=Umf}KY%-VUOMxt`2qRK-y^D&cR)^+;e5}_L($F4^e&}3 zH&-g6NUO$$Ezty|pLYy%7*h0;^OJ6&hX$;2%8}yO9T^)h(0NgU&cRlEP}bHFIO}D4 zHh%R+Fxq*2eo0MN&yIo{EjbrGm14Ww+MiL8&^^DdJGK{mnH2UE#jR|YxN>V=a~AD& zzIkcRAF1GD=SzdscNvhWxv{4NG8Gg%9>)2OaD7Zq3|Eq4)AA8Bw0$ zn@^M5JK7Qb&5x%%k8SrFHbJfiH8YDB=-E?yaa%K%hs%SL z8~Yq;UAf70pyq=;6Fny|=8eq1MB^(ZtE{jAPN#Qy=FNW-;AU_RUrqla9bTG6EjOc5 zIiJIsB2`v#HFjb?_s7RRhKFg_;ru2F`hf zVmo4I@hvrKV|jfAeTyXLw(D=3kx<{>d-KH)pF81KbwOjYe)%SR2e2|mBA>xw6o}6R z$BCCbMlDWcdxu-)b z5Vh3Dax--!Gh#$X-D`nItlhGV>};#;A``^w^`h%IHV?%C` z#*`|#UDh7o=L-|OK3|mmkmok%{?C_!KkZyz`^)-fs9zXeQLR!e%>Lp?0*!fyX zoBO>t{$E{R9TxSs?QNhEA|)XRNJ|Y;(x7yA!+?N*)F9F=2uetabV+yDFbp6_NjFF; z4MTSbynFO_?m6du?)9H>6rN}1yZ2sut@Vjjz&4sYam6rC6~cVrYNj44KDPg!W!LxK z>cd6P$Er+f0j2hpT zhM)`@cfg53EGP zQa#2$x2qM!-gliABoXc?)9}tNfIhv$@8h;;dSz0u;Gv z1+4qxS8=ND(z$DwoICDVwOT5oWhr71+>ZgYEj7UOn+k#*U(8_=fXa< zjeaRFqqX5s1XC%oa>>PM8d-mJDk4Nt@W|Nk*>P@~PuHvIS;O<)*y>tv^Ke>gZBiPS zYgB8q(Mv&xt=AqLXEsK9nPs$OW z4@+6l=ZX{hQV4nJd{bpbYg~I;36(DKfl*|m=n$!Gf+*L2HC|$c;iUCoyB&=fMrqXo zAJo}^QJ;B42**=d-Swn#@_mu@h7#e!fk;-Ms&rwWiWS0)E=+AUN9a+x_H>O~TJYwA zqv~)q9#atr%LmJtx=9nblZvugMo_!`SjhHNLKW0(jru2D}$O_h6`A8{GtJC343f zp3g>vsO$?&!ktuT)>R}h@@3uwb!^?$TpD0GKe&hh1dnZ9rqXG5s9I|YV@7p%ibe;a_DgbtNnlHrfKy)s(-y79i2%=XD|4QM6y$r@us--q^*u=>+= zyIe;dS$TcZYNr8QqtPWG$mo6?G*oKbB+FC^!QPXpZr4OXs}~2W3vJvc%1qpSPnfK# zbvhk#>tLVWmgwVqKrZwBXWFU))GtPP6WTqs+}FnhAZ^~^i#UmGF*>grXA5UJQI1M! z%xE31LTatz^Fh;gyivDbEE3~p>CDA%w*UmWGWNW95m;f{w-lHMTdt+8a~H&Gf=yQt z?caNe@F+cet1x|2?($2NK4H5^r)m#poJSJSNAd5uH7vjik6-48SKc32obH`azkOHX zA|Yl(%udDE-H7u3+kvZzS>9D8;ye!k-y=r}l`gh>)l<_XV}f;==gw82{;}Mro}N2> z?|cg&2{=lie2#Xx@D~Nuh572FwhCFZ$#efHsowKBu~~OH?k|Pg!li~6X(>F}cJX6Z zgzJ>8LR42yY2HV29cXw~>A5Svek>8|L>4R5*i>MKoEEnEA`D;z5Azj!Z!N9i_w!AEf6J@uc^Q z*J*0arQ)DUxUNu*9YoG2?T+vx8kN_cQ7Z797mrTO+61DFPF-oR>phnX3QM~5vX0#M zzB6^)?jsiNB>fzWz3Q>@7);N3Z~oclu6gNDv4{){Q^}Ia5r)Hgg0~~i0mUE) z$*5U!Bi#Y-b{?-kf?Fx^(})z*UK*M<`Qe6>5vuhkC&r5N0_)cEo40s*jqFF1NMbS_ zF0k#q6GpyNqZqJOyGjA^FlxI#i+$?d;emhao8Hj|^SYY|avlAZGSG&3P<>4`gd$gA z<|}C;8vm{Jvfo${uTfzIxhARe$E%YLF~V)p&7`tFCGKJN2bK`I>_+!u!F+=w_#Fuz z3xgdYWxNOOS9GiCZw<%2IXev3?Rd8AcN_=Bj1_T^>f?2hdkPM{pXt6BtoIjX4uqXMlK-fA3Bkn!9v7aB$yhN0-MJ z=m(c)p2Ecqbr9Bv1thI!Pr_78dqf)Ve%&ce^<$wriVmB1D zDmyQ5vJ8}>#QD@d=iJLXzE~U!J2v#=z^DY-tn<441-`3OgJow;cL#S5RSQ6t5B9Rp6SCvT&&AwM$AoGu z-D`9^WO-R|hvau^^EfuYmLo_IhR3eY)SUFldxQ@k9mK7azN6xwL`(Kdd+E*OJ%DvgU%(x|r^B zR4`L2rgo*d5gu3m2DqII893%bt8j*@?u z8fBix=1gN)EGJ^_PL&;B;L0dc^cw{9YG$?RQ+0d8zaUZ<@WU{uTX~;|=IYU0uZCe? z2C3SpSI^5O@<_)bJaA((-K+Py$31w)eL&ua-d_$>MbR)W`Zaldv+h1XzD(c5X;3Sr z_}MJ@$_D`9{eU^aFrF?031wB`n>v)VHIyeDfSLv~Ov6$ax`Mjxdjw3?$MJ$>*AfM>U~|XYbro9Y-{a$ubZN zS_$aB)d-_`zXJJyR@{yeO1vqG$}pbCO8t39`f(wQz98AltT+Y)!;-oNGc@(SGMsaL z-zbeTje+c2k8vdF1jM4JqY5OCKc02uZx?1U_a>Dgtcv>``X|MdxGudkQw$vU1q+ad z?hem|pm;`wqm-`GpgoDe?pM%O?i|Oe`R~RCX=8O?pqLB?Z9mO%oR=cdK?5*v<7Q@q|^7d1o1&3 z@&3<)B+pW3W%Ma7O%~U0U0;r_g}yF$YfgiAw>7L#FCUt~fV;Y$EZGpTKRF-i7L zjpaI)Mzg`?Y;fCYYLB~{yPH>OYS`Fl#Ao!P=~#4Mh4_y2( zFWI=DY~$X@=`%WCKA?#{y<;4G%b+b8A-o-Usj>!^Z(JE@zpol%T%K_&edD=`8<0p( zjrN@!W9Ml=&BvRC2N$VuN_Zat{HTHriWhkML&I5&;~Cn&;UH&0Ovj_xC;*M4Ci^0` zGf3bFri?kSX0D9odY8?_LC;F|%e3LEmS#aP94B@kS!NH`@CzN<;Ih*)%}nN+Ujd=2 zj%l-R4X>Eb?-TzBx{{^5E;Pvl8`3}Z2rMeFVo3UZczBq;z?yZ=6P7}}6kXM}3&=_& zbr*o0rK*bGQn{0ZCUU+EeI?TH@Hq3S@v~!qDjkP#xan^Q>}}^60^KX*Q%#VTH*f08 z5#C+E#2ohJ7ciD_&sR)o62I}h4klS}2%}j8ozP(65^$B}Mw(9A&Y*Jyvy;R1QP%R> zlBhru{Z3wWzP?j+&|$o!c&ApZ#Pie)XcNU(^waXmHR{;afy2HyDrrnfxBB-O|3Y*B zjUUSKPtpghtBd9mlg8Nt@9&5g4zH=s3qDe3MoCBDc(r29YZxh2^(I`HaZAtf#Ac{)h{2&Z-|)u4L!8 zhrmz=z;;0DC^ECZTAZqNf1UF9NoBYSUY?EtIUme$v2JLWeod~&7kRdM1*E1g53VUq z^Zsn28c}kdzPRCASM1&Z6kk$QX&%mWe`wU2Ie>c8CCo8`Hn;60RDDZZP%k?(&A$90 z7ADBdzkJpFvtdj(t?e@YBeoC7bJk@lYJIOX#auq+z+*+w8vP7fG;g<4aMi-fW*E@9 zN%UL{ZB`Ah&rrHdq-%{bA3Z#E)h~Iw_52RyVyX1(c$xro_^gy^yZSErMx@FZN zupjbTYYwf$QEeiT<)D>Js;O*HYzV3e=aBm5D5s*=B0FCkv$m2Be|+MIVf`ZX`sXts zlCO8|Z=K=!0SYtPQWNM+yQl(ioXUgHeAmcy{Sgt6dl%E%_V%JoU5f-)$Rp}`@y_oX z+w6W6z(RPySi-A>|9y)Cb6&fd>e+krR5lH3z>Q_YvXuAcq zZ6S_rP|}8*Sw;VbUwI?X)=X-}HOQ|ItNZk4sWo{qdOVrnK2SMq(xv$h#t?LUCmk4t zcLLnYLL1c~e|I%@{-LMYtf%%Y&)U1rz~m$^6pP#T=A0N>hPQ7=UT65N^Q3#X35{~o z)#fiMhS{OSZf{rjnb>^V`UNg@x&$;7T;XLew%(8j=>4vd@5vwiZ)>Dq(fBR zosa(pw7pL@m6F}_FmYg0$N%OW4z%$6mw>ZLS1XsO2Tp37G3Z)ovP%0l_?I>Tgsjss zQTo|2$Pe(gAS+1yeQBt17wdu5AzZs?li>@hX>F5l_?%V_Z5swfW$`_mhrP@jmCqjn zdR+q#1~RUfvKufb?q2(!4Unvx&8H{$CPT1hHgpfUt=JMB+G9e$O95qU8X*^S^taO`FzJ4V z{Lm*BuibchLTdfBSZyNO(}{GQo~qTAd<`Q#G&_3j4m`n*5$!Z`Vd#h(ExP##qda8M^P1`3GwFi`j#UGOK9hHnoX`&Mkub+zvyVxSua{4?f-m=(x zIoE$w1{9z%{XWEC>Ox1vc9wNux69#!`n31ccp{>j4n1#v=`B)K?c0n_u<<)plWvEJ zk|t|0IXy5igk36$2zg(n_?)dN_k{W259zf@#eXu^O67)Jh+ducTNYak?>p4mJo#up z>?XjOFmI&fz!>snhG(eS14++{!5b>;W^b;~CSgB##B^WDiROuR$*(1ilxc>YZ{;ROJ z_=sZ8Puzdrfp(4J-Cu$uhcs#ylfO^*xyS1<_4utv@+2v}19BBOwLLm^Wz8rRjYQ`o zA}&Hl~OYz_acxAiDSmkzjR@1bE}5|hfS+W=0hYX`QR?C z1TrIKw%xQPqTft!t|uR_ykWivOUIgF3D<)Nhfcq9@v)kWnRve|+QnIt5B(G~u-PgC zZ@x{zkCFtpmKm;2^<->&1~2Js*01Iqt-EG%8IYC{9qGaYF7#T76Cp~Gdm*IbXu0^U zB<|iuU)v&GdfO{Nu~#*)&d)}g*MtsKJ1f>xSA?A(qT;?@Gn{00Ta-6AR$bZcS!Z+y zSTU09Vu`~S%ZOMw>ZA;kDa`T&D4r}6dWDrSO5rabWBxfxkyzJhoVc4Am~hbNY`_O& z1MAToj?aTNz-KpJ?joVVfl@#5nh-r4(O^Gx+p1eh-r61-yPh!+NW&Q@9-MHuy1SW$ z4D}O!f(b3c3zd(0%4O~vGSIeUM#3CD&|47NFV44_akGB5!EeC(r{A6AV|pCAAd^)> zHe5y9*X_MkLojjDTDZkSejwV>FOXAo)R`V(%X01(7iQ878)&-`x65?-t&J;|Q0(_F zJe$bH+s2iFiwRHd5*?9;nhoX^HhT!ngprD`S830@M8^4H>s?O^72I@wfDrcPhD`lO zwsZK5B5SW9FX4IoIdYf_^z<;3K)rFEpvj!sUq$yGrqxk2;5K=hZKYd83Wb=}@qsP@ zQj+B8+>5-Wf#~=V4sqhll+}Tvl>KghvO)hJbbfYP2bc6o4gVRoj-Ek178ea=Z0+QSP%Uf~Xe z^VPr?j})buA2l|ELjbx}(bt$MBd4qb;($e_x zIR#y5TIWlB{oNTyJyc?iu%l5e zA!0Sc^-kQayV~|N^xKQhQ5B_tp?oId$H0X{>V-ocZ>vZoF`KKx)JdO-)9*Fzm{Ro) zPjn)AtehQZc3=tAYTvUYz>~KXukA9^ekHv5yMm|4;gEW}aynCYgklYB2B>$x02BH?!YHLG|&7dN$*s*M#zwTmGhLYU!#cbu7U>Pv$2OU~158YkwP_6*C3 zECh&EZEXrXYEh(-rG{&b`#BdPC&qn$S)jY-@Udf)29Ctgyjfa@;ai+gz&QOX%D#FD znD8jJ%A(^ma2RIwjAHF;zFd>F_>&i4-e3orK`n#i8~;BGk|J^KII1K9)3B~QM6|VE zCQ%hO=H@K*y~QH-dTWR2&_@KfACR2L2r{7t(RRy4&yR9q#*I9CgZCq8B!(;o4}`Vh z3yI9Lv8~cB!Jz|f^DF`P?dY6#q7;BXkS->1!Uy637dd}gw(Mdi&#OF>)YvKIv)7ej*rZX){oM{<*aLecWxUoDTn=~*SKotF6 zSXvg@vJj6GoWjU!E(YxjUentoF|^U+?p^KdIW&Y;u4cc)JFkZ;U2ND9>@m=%hw^%m z(7=+Qc%E~lo}vnuQhjYRjf0lJ11X_`CA0st(yF$54|Z5?igE0F^Irk>CT(E<==T>y z2f$)IcgCA8of{&O8euh{8Y~>oO%ZBrOIkfFw)bYOWud_w=1SwHIk34Ez6&#*oUpBg zSXXaTN6YAo#~nX)RALn;wXxgZYTYl53HVy}@hKHZ+Z+0Fwrnfmbuca0@vDF{2XCBt zxtn-oG|MEN3xH(eG8Q42>NXz?8D)uUKNd3b-8kYr{}^o^9Pxs^d#R$7VVpH&={ ze1;m@hU4HXTN+yC{VM)x6cIU-m>K|mCxHf`4cih*4PWJd{JYZWB!d)1GQ zw0z%0cIsKZHr?JIry5uItl8eX&%7rv)6YjGn{uH60~c_eW0JV;5f^||_BG-gKj<%T zKEsS&*UL@`fM`b_krA1SNg_3=EoPKgxg4zKS*CRNi!IMO)&mV*DAL;5kiZqQhdQ`#d4Bu6IjruIYWwmQXxT!l4)B(h)6-)(W96AsOH&I zbzHt`o68f*9BiaZu^fZ{(m0_%0spMJ<+jRAm-EDnXl23t(QMqSspE+6bnNNpfU+~@ z{7Pzda?v_*+aI4ScCcM&qfDZq?>0xxM+Wnd?S$rY7g;nZCHXKj9Q4p-Iy2M=|1bttz-`HQR?gSi$9LBi2AF38|E&Be6Y#4rJn3(AlBr4yP{@gn+ zFndx(rcU43l^)?~#rG4&M|?=T*s#nGWd=#I2N}+db2Da?D2e?z(92kRZxTT{Va&c` zMS4e8bw~ZcRNAs3=mJGZ;}kgHe25c0mIQ*IqT#|dl3=vZj8?X6kvBHf?O`X&CaqJs z@>6FTQ4*3!Js;p>qKo_H>!L}`s&TB7P&y7o*Zx6Kj|*@$4Wwb^a!;v#&1M(2)yV&q zh*2>w&8*M7yX6T|)hTHrHr>U0Vh(s12x(Ia#{qMD)}lz}MtbbHK})ab{gNlddd~~b z;)%&sgqn(U9WDWTaq@twM}BpAkY;R_OM|uV?9K=^;*Dd?1M?y^q3{|ApX+!W45K?=f z4cu8b_gySQOVLQ)WPZ2)<(B$z_?{Gos}fqP!)+gA6o;A48cI9;BXs~kw$?qrq|W5 z+fIR!6pj8u?X}~#|Aw*E-Kc)OOOi*sbcTM_rc*;F1?@RkqjSfGSlIPTzmex=Ox8RoU7*U|omNiCd zXGN)!y@#2RSUyPJ*aS6OWR8Aa-);<+!vlS{_w`6)HJvjc9Bcev(3;O|2-+!`9Ow-aEQ|U^HwnA8j(orX{FfC1huG_o0UhDD^l3; zuHR>Auo7t7B8gL=J@VD0ha?3t41==uEURWPl&mUKI;`N=jq<#oghPuIb2V?SMvH7^ zbKQKFCt9C4@E^81D=UapOE;SD72E)JGU`nz*e{iK+ zwgY_pcLum?3Bdx1P#^`c3@|QOg}Fw-?a3B3M>)?MG1! zlJqIuzxl%6EM6!HdjW7d|1zth=xc6MPf#kDu5f{t>spHB;ZV^{(gfTu;{<{3H5*HM zXJbVwclyEpuYhwO3XRJCdTH%)aPg?T5|87YW8;xU)$pN@4gexA%Zbh_=CdjuCG*$i z*!9F(TIr4D^e&S;;wXeP-ueM(#G0>1cLl3}ik4yWgGCliY zEp9@F2=j(aVwJ1Dha+cREE!oS+NK#;O-A0D(jvjsCcPfMB{jPMb$&lh_0(3k!9Gb8 zRuk~$vBFl4VKbx;ZXPmV%lLHS=LOb?2qX2n!|f`sZw5?1i_RK{V~30CJCFhyG@E!WMLQ@im6M(pi`FdDRBc?k0ImP{eu!8p{}zcjsm>N? z86hemXlA%bYy1q9^Z$c?!6+&W~nR5!AK@ybl0(5!|yCJrafk$0$eb1))~xiRpT-kebP zh}s^>-$jz8eG~vAB$E5HW?wQfpQw>tt^RTYh&KdUn&L9~UGM2qu7k=N?feiSVz(l= z-Vyv)tdV8?HAcH}AoOLrt@uVUMUXd!_#x2?&|b;qrY?IZ@FojtYdXgpEQL(RSI-Jl zJOz&0Z!2NNXOB6@hZMiUoiO-loWx*$Fgho@mR}LRzcbgQ6Ka6I!K-CS(7WaL9{dgu zHpqP^%><*>q}uxWN7C5ojb5#RlM`|63Vi=fhVcjA4C*2|9QV!u7+!Gf$~HK}mRB)F zRq+axvL$oWE@Hqy0=l75Z<==WRll|5!;ckcdXF2z4f8AQ_-7sZaOeZ?b}HkraNAJ) z_eW$JOPs7csa3_z_^2XU|GoVd9M|0JnAcnT`Z~JsPnYg7 z?)5aS73#~K4?|r%56pfodE_(MfgQ?~>s||?g|Mf4_HcI4cUiQge3z8{3aZh%+Yjzv z{aTJAtBw2!CS0hS@b%!3uEFD9NI)e#^Gmj71dYo4royx*zdAzp z;XA)VaO@aoPdS4J6%8+f_CSmzs|Kt5KuFQI+1t!$mq4({mSf(>8~9~8Uwllp9cD9? z(;zinPV|zfV_;fN_&#jwfcqh|E0WOom4qJJ5mhgMkE4i7ai)g^XQk*3ASE*Fah^Wc zguevp{qPbii|2dMX}{^CIBca%-m#aK zPGafSm?^zne_MT#Ct=L z%I6o3v8>lKuia4NyJrq78bN#B)DIN1p2a^UA|;569SAI|7Ng(WT6jt>5_FF9JcX$w zi{pLyU~q&T8%NnPKWNa{0Q)EtJ3vq|AHb_E!jr6GbR6vAyf!L_%7Mu#b{8nJ0 ztpbKke6Qa2-uA4H(bmuZWr%rVF~2VJ;&H%MN1iiLdbjxf;j159Si@a=gX4T&ILc^a z`#A>oVNwpGjVi-uI%f`Q!7B7Qbyvfm*BtTsTcNV$X7EIp#RsGJPEY%NX9rv#r+xob z^b)rfIVjR70vtsNwVKIeeY)x*n??OvgH}2m2;$nCPJ8XG19Zyv**{T}JaI9yNaI3q zrb6r-0MIFfYTb{qe4}k+VSH}dY{78^Y^YUnamr~;>v4GPnvX!E0t|@k&t^DViGq<= ziqF2&E%;#~^QsVk{*8@7k}E|z4hh;U)3uqloNFIx-@)mk=k7mlDY~BktP*mj3&boj zk4+*2d*-Ux3AktftD&xwgJS-nGv<( z-xS0#f2HznbGsx}?!?<)Rs?d=Tq>I#yeL=THZl1iFkYPv?f$H#10B^9{Y8pybjFG; z6YBQ#IAY@oHlD_~&BV+66k(#zpS#Nxr{J9$D78IhVczBYPnF(=?zQm0|Mc!puca9u zD3~ddsqthUI!Kmr>6<$N4+tUWpYJkbSRsFQgcOH1s$I-Bgi7K)QRog}h+AnLzQ4+6 zW&Ii&YhSW*a}$VUtRH`KRdp68ZSao9&uQ$ffxB8WmiS2eh_Cv5)E~uyGR~E0b|7Y} zzxoC1F|t+=-cy8mttl8=!Fw)52IjO49ojnAIavK<-CtaLfO*|& z4hL?4S3aM*`@L^`qjKOzXb}D$@a5vgf0%Q(#=Tg&a#iY~bG>3^#4Q^VKm4}pFLkrC z^A0qSqj}miR(nQqB}FYEv7>$X4Pf7Xr(x_7-;9%nVcSRtB$PRmgJ@nw^z`LAvcQR! zq#Ylg134lg9d+C5bevP~0HT}H+rcgT=6it?-r$D8e*U%f2-wS_+!K*M=3}`^;j^Tj zMBOuNLw07`ot`^DeO+7(VmGecx5_}QQ~Y^--NCQ`h;CV4^NM`pt!JRM@CwoiZ?eTv zJiq)|*H5PRUh`By!rS}I+@1P;JdN@)AZ?Bhbl|po(JfJOC?)Yw%vCg^5`+hXSITWn z9+bQq4#E4zf>bz}UDAF0P~6M8pW>1}LV34*^gyVlH?DeZZyAp443_;NR}p-M+uxT^|zkPv5heVD+7c#{kK{vbSqDCc`3z%F_uGg?C$t zPo)^T9jgmj)#2Lsb7ok=N`Z&!%}T9ccG5{cW-4C+`K)<=(B z)15Yr6s=H9*<#l;RvZB*hk0{e%_=l)WE`%%0sIPwqJPWRr#fGx$Sw%mwM|Brn60u< z%H-0p_dg#5sDpJOUp6~ek4es^G=*JO)w$?4FN9J+Pvr&krgfhu^f#V}NkJ8_iLjnk zi|%0mu$Nt3$$(TLk!q=c|u>Dx+^H~26AcBuc-6^C#cj56X;(4C` z>W)ZVepTVq>|m8_CK~U!k>NE7G@Lb*^mV^_*bVk>tazl0SIwc|wDC{dDp{eJk+Dusb< zd0?WLZ{rZm3+-9|uv%y#F#I~znoNCPBCi5^FaYjp{LM+t`YsI*zfT$LU!|g9*wC=m z@8WIyQbYyv2J@0j30Lz5dqO|o-W&lOKeDTCPsK)$>rq2Q8S+HNv-?#`iUADX32(l- zfGJb6`-KM|Y7TTJ_ZSd!h8|X?Iv}e0Sc3^FAr3h)uW))_-5r8JGcCgejO(EvXDO>J z??r#MR`4Cv9#Bh5Z*Z?QOLoGV7|yM8gH^y}-*5Ia!7Zbs*!SEKe zlhlC^zRJpv?1jvZXl}}VSmr_#Q^{aSb&4ZyFwsqhoyKmyGKG_|(M2SRBb)TS^qftf zn6qi@=`CZbMyJ&Ap6^u(JZr`GfUo0fs>NNqxYf3oA+E{r9a!6W=D$vVAVJ>KIkrix zKcJx}{)_7B)Dxv5%uymQyE`VJe<-(_PHnE1n5uZNzEDx5XqFyo9>n2N#?03mds5sO zAKWOvCKs5Py0J4qD9<7CV3cRMq|h*~Ei84>IVDkm-JYTir$t{q+A6^z-An0xYo!gp z%Nl0iG@V|+K6F#!(u(0TM3)2ZL=ou3g1AxSDZGnZ2^`;m!NbGy(ONuCvj<|&o= zxIkZDZG2+WzR+9H_yL?Gp!%D&Zzv0bPhL#CEKe-o9exReQNDIgllI!u3(o$4GM|1o zwVP^pJPOaW4Rox$a`1c=+K+2fDZGI)*j#`h^^6*?CYO}!V=k?(I{b0^Np*+M*8>*s4CY+C?JF(? z&oThT;qi;Hqvi_>0-BMxn;txc)(Ox2vmg<^Tl@b+Is%DVx|o10%RQwF@EWNV31F zlWbR{ABw5{!>usLtcX-;`N%q2C(R;NysYIA>mnN7w<{QL)*g@Sw=_;*oFScT{!D4w zJyAQXEHnzNH_bxq&b2wJUe8a-rA*%QzyAk0eildjhy-zF#YX$5Ur&q=2Wsj2V-^mB zoGF5Q-%nLFW4MjI&g$B5Z>h8VRy`>CM=sGzCQhT89uOKTQF8BZDpO?32N2gP#Yi4Q} z%B#!W+!96ntE#fQfYYZ~L1y!kOTXIQpsuYnl-ex&*$)R+iOohOlg)T(@wNHNfi_y4 z&^|Wsml+`ch)K=r{-jmr$on7%Jz=v`oru+7f4IEQ0)Z$j$2Bu+b?|GtLqlN-OVqDJ;)AX_t!tkOuKWXcz}sWd^kf z^Bu3|m^bh{Za%NZ(`QY~?vHI<(Ao}k!?>xR>JGnsXQj~9%#yU*XQ_wMdUoXi<_bt^ zi;wjF&Z9%TrLj{?$Pr$@llr;aEum)4%-L_ruYbK`wNuv_%sU%74|KUjt`|=>-TSnJ z`htJ9w){p5wrc&ir$1z3nG!LBCwmX%hIKYvvch$X*G`HDc@OXEZ@l=`6Cdg$twW(Q zIr`J8>r2y@P#3W&+T-;L++|(i{l)-icLEbHelVLiCcKw&=9~L|hKh1BfB7$;u-fZ( zl-t}@A6!0cR_)|M%L#eyx*EhO_RWO3H`lwO%dxum;ZA=7ZkBf$`OBUKnfiCE{9Knw zsTwN|_alQHDoDmho27PL8df{>`PY?bp?k>JXt8 zl$znrY;^A`b2(YqHWw;iU0%?I zsxLF|2>R7hwr>nn0H%qgk+S$=_wlv447d3C6zXjOU4}}#T;7sGh{tZc$8H-b#pS#R zzM(r4@xKzK|7>&NV|d)Ufp0VE(Wj@=DaMF$a9(j#>S)C$n)Nyn1!h!(+b)|3BGYe7 zUYKXo_GcxWYxvjkRp6=1AB4CW)8pAph9o;uf`i-{F+JZs`4N1sBP&gb!<c{%Q-<<(kaa78V%gEFaW8 z?8bgm#5V6=9qr=xKqc1f@6V!nMyoWKFQobwIYPtA_!RFKYq8+n|@{|$uh-aOv&M+`|9m?$herr-nuR({RFg}WH7rXB?Ud`fFN&V4vAZj+@@o1gF(dLi}V|NIX6)BgF!|GWU%+E1Dr{e(4T1Ac9?qIgr2ayy|}mfF!@NKC@gt6BU5lD>VU`ViFUp=OT-{xq;3 zVJ=Gk1bPQ8v{q`~+BAgFfG6N*#X6X~A@@?s(0Kklv2^BZPPt&0nx`DP*A_q;}`4+(E$OmAEP!t5~UjVKI0C3l2fo&W2Z5Mkb>6x0*}!|QOR z%mPDDd!pWFJXyzMH>cH!EGha8z`*WsL7 z{sHA!?|&941l_ZgqL3aTL~pb&e2-oOQgflw(;xI|TG}l3fYud!AdFSSlOpW?W_}2i z0@4oqgub$W`2_!byMMn7+{S=_9v3g*5lPCmesp%Pluw?(A++dC%yyY}kf{bHgLxpC zSMKb1Xs0Z^4@zyVa<|!7plZwqBPE8EKmF@tVWam>Acc(P-@TJdx081DTLx{_72;M? zQ$`DLVSDX&w{a_?xwre%#Ec2zRzXf<3$Fpr#_PZs>JxE4ZeFL~-*OC1k^J|nJ`*B1 z0YVu%|4;C`8e8BY7lJQED3n9J@DOT|U_JuC$Xs2{L@n#;L_uKC zl7SbC_O}e~2E5CH9F??G**J{HdShWSL!C1uUnnSZK+%$yhQuYlJ-3U&(897ocgW5$LTWSD=@B7sRrhg zg}`U@NAUL`0=f~<-Y7y(ec=U|{E7hME->N^*WReGJ_aU4eBW`WE-%gt!Js8sFrD@d z?%JFGe1iY+JgX@DK=mza2YMarKoDU6*aMh~YX>l|7vCU|`)Ja*iS=Fb6=T!}=8J?- zV6~QZHj+#0?*+=&>S%N0zeoMcJV4J4c5f3N{-r_UVon22sWsSn8UPl3KD>VKA-`%d z7#?k%9iy#|_VCt6x|MqX@084#9CSz3w9QJGTh>rC2mtE6C&q8s{$sKKY91y(3owf5d4zjLOReS=lfRkj% z!sJveVB{);;-&ZBn-ua4oNCA`dNs8_xc}_iYgt=Bg_n-@$y6^;FpLNIh2R@rP5JAe z^8afK{?Dh1B=UQAPf#`m@P2W1O3PZX!K|rNbx=NfNqDG;@dGdLQQ(h4t>p-e;nznr zR5sVNAlW`}tyCdbn8YmLsc7^xy~t+$lV$>fA{0EyDd;A{B=(=uBa`53HsRJ=w43)K z@T|L)j{?%43^&PWCKYXT#EBGUAo|~T;3N7QUN`Nl2Bp`dWT>n!A8PDZK?R|MMv4#%R>Kk18kwg-j)sb;GcWUk17J) z5YI;sDsl#7$pR2fEJ`@2nE|}wExA}hTMg(V3Hy;afA+zDUITy5g`W%UGvovy(;GJc zr2%eRUp%J-B^Zl`YbA2{6(4~fje|b7BY=B7qfw}@-$25qi_d=V#UPR$ZP=d3WA!P8 z{`{X<1q}cr&tQhwSF&+8{|Oaa z;^+mk<`~reuWR?eFJbgM5B?iK5|JYanCj%#0x!N^a|X~=0f^t#G|+n(*Vzz2;$DcJ zsCN5_bQpOyFtHM>2Bv$wS>6A{;Ah7)ASxYKC%pPUj_3abXpx70p#IQNO5lX7dm_#-E! LELkG{!vFsPE+5k* literal 0 HcmV?d00001 diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/pathological_example.png b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/pathological_example.png new file mode 100644 index 0000000000000000000000000000000000000000..d487193196af233c93468d6158c7e3a1396ce541 GIT binary patch literal 174591 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


+ # Dynamic Programming -Suddividere i problemi in sottoproblemi che si sovrappongono e costruire la soluzione verso l'alto di sottoproblemi sempre più grandi. +### Introduzione +Dopo aver visto tecniche di design per vari tipi algoritmi (ad esempio Ricerca, Ordinamento ecc...) quali +- **Greedy** in cui si costruisce una soluzione in modo incrementale, ottimizzando ciecamente alcuni criteri locali. +- **Divide et Impera** nella quale si suddivide un problema in sottoproblemi indipendenti, si risolve ogni sottoproblema e ne si combina la soluzione con gli altri sottoproblemi per formare la soluzione al problema originale, -I risultati intermedi vengono salvati in cache e riutilizzati più avanti. +è possibile introdurre una tecnica più potente ma anche più complessa da applicare: la **Programmazione Dinamica** (Dynamic Programming). L'idea su cui si fonda è simile alla tecnica **Divide et Impera** ed è essenzialmente l'opposto di una strategia **Greedy**. In sostanza si esplora implicitamente tutto lo spazio delle soluzioni e lo si decompone +in una serie di **sotto-problemi**, grazie ai quali si costruiscono le soluzioni per **sotto-problemi sempre più grandi** finché non si raggiunge il **problema di partenza**. ---- +Una tecnica di programmazione dinamica è quella della `Memoization`, che è utile per risolvere una moltitudine di problemi, in cui risultati intermedi vengono salvati in cache e riutilizzati più avanti. -# Weighted Interval Scheduling +Per applicare la programmazione dinamica è necessario creare un *sotto-set* di problemi che soddisfano le seguenti proprietà: +1. Esiste solo un **numero polinomiale di sotto-problemi** +2. La soluzione al problema originale può essere calcolata **facilmente dalla soluzione dei sotto-problemi** +3. C'è un **ordinamento naturale dei sotto-problemi** dal più piccolo al più grande, insieme a una ricorsione facilmente calcolabile -- Job $j$ che iniziano al tempo $s_j$, finiscono al tempo $f_j$ e hanno peso $v_j$. -- Due job sono compatibili se non si sovrappongono temporalmente. -- **Obiettivo:** trovare il subset di job compatibili con peso massimo. +Qui di seguito verranno descritti i principali problemi e algoritmi di risoluzione nell'ambito della programmazione dinamica. -## Greedy Version - Earliest Finish Time First +
-Considero i job in ordine ascendente di $f_j$, aggiungo un job alla soluzione se è compatibile con il precedente. +## Weighted Interval Scheduling -È corretto se i pesi sono tutti 1, ma fallisce clamorosamente nella versione pesata. +Abbiamo visto che un algoritmo **greedy** produce una soluzione ottimale per l'Interval Scheduling Problem, in cui l'obiettivo è accettare un insieme di intervalli non sovrapposti il più ampio possibile. **Il Weighted Interval Scheduling Problem** è una versione più **generale**, in cui ogni intervallo ha un certo valore (o peso), e vogliamo accettare un insieme di valore massimo. -## Dynamic Version +Questo problema ha l'obiettivo di ottenere un insieme (il più grande possibile) di intervalli non sovrapposti (overlapping). Per la versione non pesata (Interval Scheduling Problem in cui weight=1) esiste uno specifico algoritmo **Greedy** che è in grado di trovare la soluzione ottima, tuttavia nella versione più generale, ovvero la versione pesata (**il Weighted Interval Scheduling Problem**, weight $\neq$ 1) è necessario utilizzare la programmazione dinamica. -Considero i job in base al loro $f_j$. Il job 3 sarà quello con $f_j = 3$ +#### **Descrizione del problema** +- $n$: un intero che rappresenta l'indice dell'intervallo (job) +- $s_i$: tempo di inizio dell'intervallo $i$ +- $f_i$: tempo di fine dell'intervallo $i$ +- $v_i$: peso dell'intervallo $i$ +- Due job sono **compatibili** se non si sovrappongono. +- $p(j)$: ritorna l'indice più grande $i$, con $i < j$, del primo intervallo compatibile con l'intervallo $j$, considerando il fatto che gli intervalli sono ordinati in ordine non decrescente in base a $f_i$ +- $\mathcal{O}_j$: rappresenta la soluzione ottima al problema calcolato sull'insieme $\{1, \ldots, j\}$ +- $OPT(j)$: rappresenta il valore della soluzione ottima $\mathcal{O}_j$ -**Def.** $p(j) = max(i < j)$ tale che $i$ è compatibile con $j$ +#### **Goal** +- L'obiettivo del problema attuale è quello di trovare un sottoinsieme $S \subseteq \{1, \ldots, n\}$ di intervalli mutualmente compatibili che vanno a massimizzare la somma dei pesi degli intervalli selezionati $\sum_{i \in S} v_i$. -Ovvero l'ultimo job che finisce prima che inizi il job $j$, il job "più compatibile". +#### Greedy Version - Earliest Finish Time First +Considero i job in ordine non decrescente di $f_j$, aggiungo un job alla soluzione se è compatibile con il precedente. -```math -OPT(j) = \begin{cases} -0 & \mbox{if }j = 0 \\ -max\{v_j + OPT(p(j)), OPT(j -1)\} & \mbox{otherwise} -\end{cases} -``` +È corretto se i pesi sono tutti 1, ma **fallisce** clamorosamente nella versione pesata. -## Brute Force +### Dynamic Version -```pseudocode +Come prima cosa definiamo il metodo per calcolare $OPT(j)$. Il problema è una _scelta binaria_ che va a decidere se l'intervallo di indice $j$ verrà incluso nella soluzione oppure no, basandosi sul valore ritornato dalla seguente formula: + +$$ +OPT(j) = max(v_j + OPT(p(j)), \ \ OPT(j-1)) +$$ + +Questo può essere anche visto come una disequazione: + +$$ +v_j + OPT(p(j)) \geq OPT(j-1) +$$ + +che se vera, includerà $j$ nella soluzione ottimale. + +#### **Brute Force** +Scrivendo tutto sotto forma di algoritmo ricorsivo avremmo che: +```javascript Input: n, s[1..n], f[1..n], v[1..n] Sort jobs by finish time so that f[1] ≤ f[2] ≤ ... ≤ f[n]. Compute p[1], p[2], ..., p[n]. -Compute-Opt(j) - if j = 0 - return 0 - else - return max(v[j] + Compute-Opt(p[j], Compute-Opt(j–1))) +function Compute-Opt(j){ + if (j == 0) + return 0 + else + return max(vj+Compute-Opt(p(j)), Compute-Opt(j − 1)) +} ``` +Costruendo l'albero della ricorsione dell'algoritmo si nota che la complessità temporale è **esponenziale**. Questo perchè seguendo questo approccio calcolo più volte gli stessi sottoproblemi che si espandono come un albero binario. Il numero di chiamate ricorsive cresce come la **sequenza di fibonacci**. + + -In questo modo calcolo più volte gli stessi sottoproblemi che si espandono come un albero binario. Il numero di chiamate ricorsive cresce come la sequenza di fibonacci. +Una soluzione è quella di utilizzare la tecnica della **Memoization** che evita di ricalcolare $OPT$ per gli indici già calcolati precedentemente, rendendo così il costo temporale uguale ad $O(n)$. -## Memoization +#### Memoization ```pseudocode Input: n, s[1..n], f[1..n], v[1..n] @@ -100,6 +134,8 @@ Costo computazionale = $O(n\log{n})$: Se i job sono già ordinati = $O(n)$ +Oltre al valore della soluzione ottimale probabilmente vorremmo sapere anche quali sono gli intervalli che la compongono, e intuitivamente verrebbe da creare un array aggiuntivo in cui verranno aggiunti gli indici degli intervalli ottenuti con `M-Compute-Opt`. Tuttavia questo aggiungerebbe una complessità temporale di $O(n)$ peggiorando notevolmente le prestazioni. Un'alternativa è quella di recuperare le soluzioni dai valori salvati nell'array `M` dopo che la soluzione ottimale è stata calcolata. Per farlo possiamo sfruttare la formula vista in precedenza $v_j + OPT(p(j)) \geq OPT(j-1)$, che ci permette di rintracciare gli intervalli della soluzione ottima. + ## Finding a solution ```pseudocode @@ -134,7 +170,8 @@ for j = 1 TO n - lo spazio è un vettore di $OPT[j]$ **SPAZIO =** $O(n)$ - per ricostruire la soluzione uso un vettore dove per ogni $j$ ho un valore booleano che indica se il job fa parte della soluzione **SPAZIO_S =** $O(n)$ ---- +
+#### ARRIVATO QUI A LEGGERTE # Segmented Least Squares diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/opt_recursion_tree.png b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/opt_recursion_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..8fb3bf25c9ff0ed854142967d00e6fae16094c77 GIT binary patch literal 29385 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 M[j − 1]) + return j together with the result of Find-Solution(p(j)) + else + return Find-Solution(j − 1) +} + +``` + +## Least Squares Problem: Multi-way Choice 🛣️ + +Nel capitolo precedente l'algoritmo richiedeva una ricorsione basata su scelte binarie, +in questo capitolo invece introdurremo un algoritmo che richiede ad ogni step un numero +di scelte polinomiali (_multi-way choice_). Vedremo come la programmazione dinamica si +presta molto bene a risolvere questi problemi. + +### Linear Least Square + +#### Il Problema + +La formulazione del problema è la seguente: + +> dato un insieme $P$ composto di $n$ punti sul piano denotati con $(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)$; e supponiamo che $x_1 < x_2 < \ldots < x_n$ (sono strettamente crescenti). Data una linea $L$ definita dall'equazione $y = ax + b$, definiamo l'_errore_ di $L$ in funzione di $P$ come la somma delle distanze al quadrato della linea rispetto ai punti in $P$. +> +>Formalmente: +> $$Error(L, P) = \sum_{i=1}^{n} (y_i - ax_i - b)^2$$ + + +![linear least](./latex/capitoli/dynamic_programming/imgs/linear_least.png) + +#### Goal + +È intuibile che il goal dell'algoritmo è quello di cercare la linea con errore +minimo, che può essere facilmente trovata utilizzando l'analisi matematica. +La linea di errore minimo è $y = ax + b$ dove: + +$$ + a = \frac{n \sum_{i} x_i y_i - (\sum_{i} x_i) (\sum_{i} y_i)}{n \sum_{i} x_i^2 - (\sum_{i} x_i)^2} \ \ \ \ \ b = \frac{\sum_{i} y_i - a \sum_{i} x_i}{n} +$$ + + +### Segmented Least Square + +Le formule appena citate sono utilizzabili solo se i punti di $P$ hanno un andamento +che è abbastanza lineare ma falliscono in altre circostanze. + +![segmented linear least](./latex/capitoli/dynamic_programming/imgs/segmente_linear_least.png) + +Come è evidente (_lapalissiano 💎_) dalla figura non è possibile trovare una linea +che approssimi in maniera soddisfacente i punti, dunque per risolvere il problema +possiamo pensare di rilassare la condizione che sia solo una la linea. Questo però +implica dover riformulare il goal che altrimenti risulterebbe banale (si fanno $n$ linee +che passano per ogni punto). + +#### Costi + +La parte che computa gli errori ha costo in tempo $O(n^3)$ (si può portare a $O(n^2)$ ). +La parte che trova il valore ottimo ha costo $O(n^2)$. + +In spazio l'algoritmo ha costo $O(n^2)$ ma può essere ridotto a $O(n)$ + + +#### Goal ⚽ + +Formalmente, il problema è espresso come segue: + +> come prima abbiamo un set di punti $P = \{(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)\}$ strettamente crescenti. +> Denoteremo l'insieme dei punti $(x_i, y_i)$ con $p_i$. +> Vogliamo partizionare $P$ in un qualche numero di segmenti, ogni numero di segmenti +> è un sottoinsieme di $P$ che rappresenta un _set_ contiguo delle coordinate $x$ con la forma $\{p_i, p_{i+1}, \ldots, p_{j-1}, p_j\}$ per degli indici $i \leq j$. +> Dopodiché, per ogni segmento $S$ calcoliamo la linea che minimizza l'errore rispetto ai punti in $S$ secondo quanto espresso dalle formule enunciate prima. + +Definiamo infine una penalità per una data partizione come la somma dei seguenti termini: + +- Numero di segmenti in cui viene partizionato $P$ moltiplicato per un valore $C > 0$ (più è grande e più penalizza tante partizioni) +- Per ogni segmento l'errore della linea ottima attraverso quel segmento. + +Il goal del Segmented Least Square Problem è quindi quello di trovare la partizione +di **penalità minima**. + +#### Funzionamento + +Per come è fatta la programmazione dinamica noi vogliamo suddividere il problema in sotto-problemi e +per farlo partiamo dall'osservazione che l'ultimo punto appartiene ad una partizione ottima che parte da un valore $p_i$ fino a $p_n$ +e che possiamo togliere questi punti dal totale per ottenete un sotto-problema più piccolo. +Supponiamo che la soluzione ottima sia denotata da `OPT(j)`, per i punti che vanno da $p_1$ a $p_j$, allora avremo che la soluzione ottima al problema +dato l'ultimo segmento che va da $p_i$ a $p_n$, sarà dalla seguente formula: + +$$ + OPT(n) = e_{i,n} + C + OPT(i - 1) +$$ + +Questa formula è data dalla soluzione ottima dell'ultima partizione ( $e_{i,n} + C$ ) a cui viene aggiunta la soluzione ottima +di tutte le partizioni precedenti ( $OPT(i -1)$ ). +Per i sotto-problemi possiamo scrivere la soluzione al problema in forma ricorsiva utilizzando la formula appena espressa che prenderà +la forma: + +$$ + OPT(j) = \min_{1 \leq i \leq j}(e_{i,j} + C + OPT(i - 1)) +$$ + +```javascript +function Segmented-Least-Squares(n) { + M[0 ... n] + M[0] = 0 + + // compute the errors + for (j in 1 ... n) { + for (i in 1 ... j) { + compute eij for the segment pi, ..., pj + } + } + + // find optimal value + for (j in 1 ... n) { + M[j] = min_i(eij + C + M[i - 1]) // OPT(J) + } + + return M[n] +} + +``` + +Dopo aver trovato la soluzione ottima, possiamo sfruttare la memoization per ricavarci +i segmenti in tempi brevi. + +```javascript +function Find-Segments(j) { + if (j == 0) print('') + + else { + Find an i that minimizes ei,j + C + M[i − 1] + Output the segment {pi,..., pj} and the result of Find-Segments(i − 1) + } +} + +``` + +L'algoritmo ha costo $O(n^3)$ in tempo e $O(n^2)$ in spazio. +Questo tempo può essere ridotto applicando la memoization alle formule per il calcolo +dell'errore viste in precedenza portandolo a $O(n^2)$ per il tempo e $O(n)$ per lo spazio. + + +## Subset Sum & Knapsack Problem 💰 + +### Il Problema + +Il problema delle Subset Sum è formalmente definito come segue: + +> abbiamo $n$ oggetti $\{1, \ldots, n\}$, a ognuno viene assegnato un +> peso non negativo $w_i$ (per $i = 1, \ldots, n$ ) e ci viene dato anche un +> limite $W$. L'obbiettivo è quello di selezionare un sottoinsieme $S$ degli oggetti +> tale che $\sum_{i \in S}w_i \leq W$ e che questa sommatoria abbia valore più +> grande possibile. + +Questo problema è un caso specifico di un problema più generale conosciuto come +il Knapsack Problem, l'unica differenza sta nel valore da massimizzare che per il +Knapsack è un valore $v_i$ e non più il peso. + +Si potrebbe pensare di risolvere questi problemi con un algoritmo greedy ma +purtroppo non ne esiste uno in grado di trovare efficientemente la soluzione ottima. +Potremmo pensare di ordinare gli oggetti in base al peso in ordine crescente o +decrescente e prenderli, tuttavia questo approccio fallisce per determinati casi +(come per l'insieme $\{W/2+1, W/2, W/2\}$ ordinato in senso decrescente) e l'unica +opzione sarà quella di provare con la programmazione dinamica 👨‍🦽. + +### Goal ⚽ + +Possiamo riassumere il goal di questi problemi come segue: + +Abbiamo $n$ oggetti $\{1, \ldots, n\}$, a ognuno viene assegnato un +peso non negativo $w_i$ (per $i = 1, \ldots, n$ ) e ci viene dato anche un +limite $W$. L'obbiettivo è quello di selezionare un sottoinsieme $S$ degli oggetti +tale che $\sum_{i \in S}w_i \leq W$ e che questa sommatoria abbia valore più +grande possibile. + +### Costi + +| Funzione | Costo (tempo) | +| --------------- | ----------------------------- | +| `Subset-Sum` | $O(nW)$ | +| `Find-Solution` | $O(n)$ | + +### Funzionamento + +Come per tutti gli algoritmi dinamici dobbiamo cercare dei sotto-problemi e possiamo utilizzare la stessa intuizione avuto per il problema dello scheduling (scelta binaria). Facendo tutti i calcoli di dovere otteniamo la seguente ricorsione: + +> se $w < w_i$ allora $OPT(i, w) = OPT(i-1,w)$ altrimenti +> $OPT(i, w) = max(OPT(i-1, w), w_i + OPT(i-1, w-w_i))$ + +Nella prima parte analizziamo il caso in cui l'elemento che vogliamo aggiungere va +a superare il peso massimo residuo $w$, dunque viene scartato. Nella seconda parte +andiamo ad analizzare se l'aggiunta o meno del nuovo oggetto va a migliorare +la soluzione di $OPT$ che è definita come: + +$$ + OPT(i, w) = \max_{S} \sum_{j \in S} w_j +$$ + +Possiamo formalizzare il tutto con il seguente pseudo-codice: + +```javascript +function Subset-Sum(n, W) { + let M[0 . . . n,0... W] + + //initialize the memoization vector + for(w in 0 ... W) { + M[0, W] = 0 + } + + //solve subproblems + for(i in 1 ... n) { + for(w in 0 ... W) { + Use the recurrence to compute M[i, w] + } + } + + return M[n, W] +} +``` + +La particolarità di questo algoritmo è che avremmo 2 insiemi di sotto problemi +diversi che devono essere risolti per ottenere la soluzione ottima. Questo fatto +si riflette in come viene popolato l'array di memoization dei valori di $OPT$ +che verranno salvati in un array bidimensionale. + +![knapsack table](latex/capitoli/dynamic_programming/imgs/knapsac_table.png) + +> Il costo in tempo di questa implementazione è di $O(nW)$. + +A causa di questo costo, questo algoritmo fa parte della famiglia degli algoritmi +_pseudo polinomiali_, ovvero algoritmi il cui costi dipende da una variabile di input +che se piccola, lo mantiene basso e se grande lo fa esplodere. + +Per recuperare gli oggetti dall'array di Memoization la complessità in tempo è di +$O(n)$. + +Questa implementazione funziona anche per il problema più generale del Knapsack, +ci basterà solo cambiare la parte di ricorsione scrivendola come segue: + +> se $w < w_i$ allora $OPT(i, w) = OPT(i-1,w)$ altrimenti +> $OPT(i, w) = max(OPT(i-1, w), v_i + OPT(i-1, w-w_i))$ + +La complessità temporale è sempre $O(nW)$. + +## RNA Secondary Structure 🧬 + +La ricerca della struttura secondaria dell'RNA è un problema a 2 variabili risolvibile +tramite il paradigma della programmazione dinamica. +Come sappiamo il DNA è composto da due filamenti, mentre l'RNA è composto da un filamento +singolo. Questo comporta che spesso le basi di un singolo filamento di RNA +si accoppino tra di loro. L'insieme della basi può essere visto come l'alfabeto +$\{A, C, U, G\}$ e l'RNA è una sequenza di simboli presi da questo alfabeto. +Il processo di accoppiamento delle basi è dettato dalla regola di _Watson-Crick_ e +segue il seguente schema: + +$$ + A - U \ \ \ \text{ e } \ \ \ C - G \ \ \ \text{ (l'ordine non conta)} +$$ + +![crocifisso](./latex/capitoli/dynamic_programming/imgs/rna_esempio1.png) + +### Il Problema + +In questo problema si vuole trovare la struttura secondaria dell'RNA che abbia energia +libera maggiore (il maggior numero di coppie di basi possibili). Per farlo dobbiamo +tenere in considerazione alcune condizioni che devono essere soddisfatte per permettere +di approssimare al meglio il modello biologico dell'RNA. + +Formalmente la struttura secondaria di $B$ è un insieme di coppie $S = \{(i,j)\}$ dove +$i,j \in \{1,2,\ldots,n\}$, che soddisfa le seguenti condizioni: + +1. **No sharp turns**: la fine di ogni coppia è separata da almeno 4 basi, quindi se $(i,j) \in S$ allora $i < j - 4$ +2. Gli elementi di una qualsiasi coppia $S$ consistono di $\{A, U\}$ o $\{C, G\}$ (in qualsiasi ordine). +3. $S$ è un _matching_: nessuna base compare in più di una coppia. +4. **Non crossing condition**: se $(i, j)$ e $(k,l)$ sono due coppie in $S$ allora **non** può avvenire che $i < k < j < l$. + +![esempio](./latex/capitoli/dynamic_programming/imgs/rna_esempio2.png) +
+_La figura (a) rappresenta un esempio di Sharp Turn, mentre la figura (b) mostra una +Crossing Condition dove il filo blu non dovrebbe esistere._ + +### Goal ⚽ + +Il goal di questo problema è di massimizzare la quantità di coppie che si possono +formare all'interno della struttura secondaria di una data sequenza di RNA. + +### Costi + +L'algoritmo complessivo ha costo $O(n^3)$. + +### Funzionamento + + +Come primo tentativo potremmo basarci sul seguente sotto-problema: affermiamo che +$OPT(j)$ è il massimo numero di coppie di basi sulla struttura secondaria $b_1 b_2 \ldots b_j$, per +la Non Sharp Turn Condition sappiamo che $OPT(j) = 0$ per $j \leq 5$ e sappiamo anche +che $OPT(n)$ è la soluzione che vogliamo trovare. Il problema ora sta nell'esprimere +$OPT(j)$ ricorsivamente. Possiamo parzialmente farlo sfruttando le seguenti scelte: + +- $j$ non appartiene ad una coppia +- $j$ si accoppia con $t$ per qualche $t \leq j - 4$ + +Per il primo caso basta cercare la soluzione per $OPT(j - 1)$, nel secondo caso +invece se teniamo conto della Non Crossing Condition, possiamo isolare due nuovi sotto-problemi: uno sulle basi $b_1 b_2 \ldots b_{t-1}$ e l'altro sulle basi +$b_{t+1} \ldots b_{j-1}$. +Il primo si risolve con $OPT(t-1)$ ma il secondo, dato che non inizia con indice $1$, non è +nella lista dei nostri sotto-problemi. A causa di ciò risulta necessario aggiungere una variabile. + +![rna funzionamento](./latex/capitoli/dynamic_programming/imgs/rna_funzionamento.png) +
+_Esempio di utilizzo di una sola variabile (a) o con due (b)_ + + +Basandoci sui ragionamenti precedenti, possiamo scrivere una ricorsione di successo: +sia $OPT(i,j)$ il numero massimo di coppie di basi nella struttura secondaria $b_i b_{i+1} \ldots b_j$, grazie alla non sharp turn Condition possiamo inizializzare gli +elementi con $i \geq j -4$ a $0$. Ora avremmo sempre le stesse condizioni elencate +sopra: + +- $j$ non appartiene ad una coppia +- $j$ si accoppia con $t$ per qualche $t \leq j - 4$ + +Nel primo caso avremmo che $OPT(i,j) = OPT(i, j-1)$, nel secondo caso possiamo +ricorrere su due sotto-problemi $OPT(i, t-1)$ e $OPT(t+1, j-1)$ affinché venga rispettata +la non crossing condition. +Possiamo esprimere formalmente la ricorsione come segue: + +> +> $$OPT(i, j) = \max(OPT(i, j-1), \max_t(1+OPT(i, t-1)+OPT(t+1, j-1))),$$ +> dove il massimo è calcolato su $t$ tale che $b_t$ e $b_j$ siano una coppia di basi consentita +> + +![calcolo](./latex/capitoli/dynamic_programming/imgs/rna_calcolo.png) + + +_Iterazioni dell'algoritmo su un campione del problema in questione_ $ACCGGUAGU$ + +Possiamo infine formalizzare il tutto con il seguente pseudo-codice: + +```javascript +Initialize OPT(i, j) = 0 whenever i ≥ j − 4 + +for (k in 5 ... n − 1) { + for (i in 1 ... n − k) { + j = i + k + Compute OPT(i, j) using the previous recurrence + } +} + +return OPT(1, n) +``` + +Ci sono $O(n^2)$ sotto-problemi da risolvere e ognuno richiede tempo $O(n)$, quindi +il running time complessivo è di $O(n^3)$. + + +## Sequence Alignment + +Il problema del Sequence Alignment consiste nel riuscire a comparare delle stringhe, come per esempio quando si effettua +un typo in un motore di ricerca e quello ci fornisce l'alternativa corretta. +Una prima idea potrebbe essere quella di **allineare** le due parole lettera per lettera, riempendo gli eventuali spazi bianchi, e +vedendo di quanto le due differiscono. Tuttavia ci sono varie possibilità con cui due parole di lunghezza diversa possono essere confrontate, +quindi è necessario fornire una definizione di **similarità**. + +### Il Problema + +Come prima definizione di similarità possiamo dire che minore sarà il numero di caratteri che non corrispondono, maggiore sarà la similarità tra le parole. +Questa problematica è anche un tema centrale della biologia molecolare, e proprio grazie ad un biologo abbiamo una definizione rigorosa e soddisfacente di similarità. +Prima di dare una definizione similarità dovremo però darne una di **allineamento**: +> Supponiamo di avere due stringhe $X$ e $Y$, che consistono rispettivamente della sequenza di simboli $x_1 x_2 \ldots x_m$ e $y_1 y_2 \ldots y_n$, e +> consideriamo gli insiemi $\{1,2,\ldots ,m\}$ e $\{1,2,\ldots ,n\}$ che rappresentano le varie posizioni nelle stringhe $X$ e $Y$, ora si considera un +> **Matching** di queste due parole(un matching è stato definito nella parte precedente e si tratta di un insieme di coppie ordinate con la proprietà che ogni oggetto si trova al più in una sola coppia). +> Diciamo ora che un matching $M$ di questi due insiemi è un allineamento se gli elementi di varie coppie non si incrociano: se $(i,j),(i^{\prime},j^{\prime}) \in M$ +> e $i < i^{\prime}$, allora $j < j^{\prime}$. + +Ora la nostra definizione di similarità si baserà sul trovare il miglior allineamento, seguendo i seguenti criteri: +- C'è un parametro $\delta>0$ che definisce la **gap penalty** , ovvero ogni volta che un simbolo di una parola non corrisponde ad un simbolo dell'altra. +- Per ogni coppia di lettere $p,q$ del nostro alfabeto, se c'è un accoppiamento errato si paga il corrispondente **mismatch cost** $a_(p,q)$. +- Il costo di $M$ è la somma del suo gap e mismatch cost, e l'obiettivo sarà quello di minimizzarlo. + +### Creazione dell'algoritmo +Ora affronteremo il problema di calcolarci questo costo minimo, e l'allineamento ottimale che lo fornisce date le coppie $X$ e $Y$. +Come al solito proveremo con un approccio di programmazione dinamica, e per realizzare l'algoritmo individuiamo come per altri algoritmi già visti una scelta binaria. +Dato l'allineamento ottimale $M$ allora: +- $(m,n) \in M$ (quindi gli ultimi due simboli delle 2 stringhe sono in un matching) +- $(m,n) \notin M$ (gli ultimi simboli delle due stringhe non sono in un matching) + +Tuttavia questa semplice distinzione non è sufficiente, quindi supponiamo di aggiungere anche il seguente fatto elementare: + +> Sia $M$ un qualsiasi allineamento di $X$ e $Y$. se $(m,n) \notin M$, allora o l' $m-esima$ posizione di $X$ o l' $n-esima$ posizione di $Y$ non è in un matching di $M$. + +Dire questo equivale a riscrivere le due condizioni sopra come tre, dunque in un allineamento ottimo $M$ almeno una deve essere vera: +- $(m,n) \in M$ +- l' $m-esima$ posizione di $X$ non è nel matching +- l' $n-esima$ posizione di $Y$ non è nel matching + +Ora definiamo la funzione di costo minimo $OPT(i,j)$ come costo dell'alignmet tra $x_1 x_2 \ldots x_i$ e $y_1 y_2 \ldots y_j$. +In base alle condizioni espresse in precedenza la funzione $OPT(m,n)$ assumerà il costo relativo più $OPT(m-1,n-1)$, in particolare (i tre casi citati sopra): +- condizione 1, si paga un matching cost per le lettere $m,n$ +- condizione 2 e 3, si paga un gap cost $\delta$ per $m$(condizione 2) o $n$(condizione 3) + +Utilizzando dunque gli stessi argomenti per per i sotto problemi per l'allineamento di costo minimo tra $X$ e $Y$ otteniamo la definizione generale di $OPT(i,j)$: + +> L'allineamento di costo minimo soddisfa la seguente ricorsione per $i \geq 1$ e $j \geq 1$: +> $$OPT(i,j) = min[a_{(x_i y_j)} + OPT(i-1, j-1), \delta + OPT(i-1, j), \delta + OPT(i, j-1)]$$ + +Dunque così abbiamo ottenuto la nostra funzione di ricorsione e possiamo procedere alla scrittura dello pseudo codice. + +```javascript +function alignment(X,Y) { + var A = Matrix(m, n) + + Initialize A[i, 0]= iδ for each i + Initialize A[0, j]= jδ for each j + + for (j in 1...n) { + for (i in 1...m) { + Use the recurrence (6.16) to compute A[i, j] + } + } + + return A[m, n] +} +``` + +Il running time è di $O(mn)$ + +### Sequence Alignment in Spazio Lineare + +Come abbiamo appena visto l'algoritmo ha sia costo spaziale che temporale uguale a $O(mn)$ e se +come input consideriamo le parole della lingua inglese non risulta essere un grande problema, ma +se consideriamo genomi con 10 miliardi di caratteri potrebbe risultare difficile poter lavorare +con array di 10 GB 😲. Questo problema può essere risolto utilizzando un approccio +_divide et impera_ che va a rendere lineare il costo dello spazio ( $O(n + m)$ ). + +#### Funzionamento + +Come prima cosa definiamo un algoritmo Space Efficient Alignment che ci permette di trovare +la soluzione ottima utilizzando il minor spazio possibile. +Per farlo notiamo che la funzione $OPT$ dipende solamente da una colonna precedente +di quella che si sta analizzando, dunque basterà caricarsi in memoria una matrice $mx2$ +riducendo così il costo spaziale ad $m$. +Tuttavia utilizzando questo metodo non e possibile ricurvare l'alignment effettivo +perché non ci bastano le informazioni. + +Lo pseudo-codice dell'algoritmo appena definito è il seguente: + +```javascript +function Space-Efficient-Alignment(X,Y) { + var B = Matrix(m, 2) + Initialize B[i, 0]= iδ for each i // (just as in column 0 of A) + + for (j in 1...n) { + B[0, 1]= jδ (since this corresponds to entry A[0, j]) + + for (i in 1...m) { + B[i, 1]= min[αxiyj + B[i − 1, 0],δ + B[i − 1, 1], δ + B[i, 0]] + + } + + Move column 1 of B to column 0 to make room for next iteration: + Update B[i, 0]= B[i, 1] for each i + } +} +``` + +Possiamo quindi utilizzare un approccio _divide et impera_ che incorpora 2 tecniche +diverse di programmazione dinamica per sfruttare questo approccio appena definito e riuscire +a trovare anche l'alignment in spazio lineare. +Definiamo quindi due funzioni: + +- $f(i, j)$ : è la funzione definita per l'algoritmo di Sequence Alignment di base (analoga a $OPT(i,j)$ ) +- $g(i, j)$ : è l'analogo al contrario di $f$ ed è definito dalla seguente funzione ricorsiva: +per $i < m$ e $j < n$ : $g(i,j) = min[a_{x+1y+1} + g(i+1, j+1), \delta + g(i, j+1), \delta + g(i+1, j)]$ + +Possiamo notare che la ricorsione $f$ procede a ritroso partendo dal fondo mentre la ricorsione $g$ +procede in avanti partendo dall'inizio. +Possiamo sfruttare questo fatto per provare ad utilizzare lo Space Efficiente Sequence Alignment Algorithm +combinato ad un approccio _divide et impera_ e un array di supporto $P$ per riuscire a calcolare +il Sequence Alignment in spazio lineare, aumentando solo di una costatane la complessità temporale. + +Possiamo riassumere il tutto con il seguente pseudo-codice: + +```javascript +function Divide-and-Conquer-Alignment(X,Y) { + var m = length(X) + var n = length(Y) + + if (m <= 2 or n <= 2) { + Compute optimal alignment using Alignment(X,Y) + } + + Space-Efficient-Alignment(X, Y[1 : n/2]) + Backward-Space-Efficient-Alignment(X, Y[n/2 + 1 : n]) + + Let q be the index minimizing f(q, n/2) + g(q, n/2) + Add (q, n/2) to global list P + + Divide-and-Conquer-Alignment(X[1 : q],Y[1 : n/2]) + Divide-and-Conquer-Alignment(X[q + 1 : n],Y[n/2 + 1 : n]) + + return P +} +``` + +![seq align recurrence](latex/capitoli/dynamic_programming/imgs/seq_align_recurrence.png) + +## Optimal Binary Search Trees 🌲 + +In questo capitolo andremo a cercare un approccio di programmazione dinamica per ottimizzare la ricerca in un +Binary Search Tree. +Per rifrenscare la memoria faremo un breve ripasso sui concetti chiave dei Bin S tree. + +TODO mettere foto pag 3 + +Un Bin Search Tree $T$ è una struttura dati che salva gli elementi secondo la seguente proprietà: considerando che +in ogni nodo viene salvata una chiava (un intero), la chiave di un nodo $u$ è più grande di ogni chiave +del suo sotto-albero sinistro e più piccola di ogni chiave del suo sotto-albero destro. + +Inoltre, diamo le seguenti definizioni: + +- **livello**: il livello di un nodo $u$ è il numero di archi che si trovano tra la radice e $u$ stesso (il livello della radice è 0). Si denota con $level_T(u)$ . +- **profondità**: è il livello massimo dell'albero. +- **costo di ricerca**: il costo di ricerca per un nodo $u$ è proporzionale a $1 + level_T(u)$ . +- **bilanciato**: un albero è bilanciato se ha profondità uguale a $O(log n)$ . + +L'essere bilanciato è una proprietà buona se ogni nodo viene cercato con la stessa probabilità, ma dato che +non è sempre così, possiamo cercare degli algoritmi che vanno ad ottimizzare i casi in cui le probabilità siano +differenti. + +Per cominciare a pensare ad un approccio di ottimizzazione possiamo provare a tenere in considerazione il costo medio di +ricerca di un nodo ( $avgcost(T)$ ) rispetto alla probabilità che esso venga ricercato ( $ freq(k)$ ) e al suo costo di ricerca ( $cost(k)$ ). + +$$ + avgcost(T) = \sum_{i=1}^{n} freq(k_i) * cost(k_i) +$$ + +### Il Problema + +Più formalmente definiamo il problema come segue: + +> Dato in input: +> - un insieme $S$ di $n$ interi +> - un array $W$ dove $W[i] (1 \leq i \leq n)$ contiene un peso intero positivo +> +> vogliamo trovare un Bin Ser Tree $T$ su $S$ che ha costo medio _minimo_. +> +> $$avgcost(T) = \sum_{i=1}^{n} W[i] * cost_T(i)$$ +> +> dove $cost_T(i) = 1 + level_T(i)$ , ovvero il numero di nodi a cui si accede per trovare +> la chiave $i$ in $T$ . + +Questa definizione può essere generalizzata spostando il nodo di partenza dalla radice ad un nodo +qualsiasi come segue: + +> Dato in input: +> - un insieme $S$ di $n$ interi +> - un array $W$ dove $W[i] (1 \leq i \leq n)$ contiene un peso intero positivo +> - due interi $a, b$ che soddisfano $(1 \leq a \leq b \leq n)$ +> +> vogliamo trovare un Bin Ser Tree $T$ su $\{a, a+1, \ldots, b\}$ che ha costo medio _minimo_. +> +> $$avgcost(T) = \sum_{i=a}^{b} W[i] * cost_T(i)$$ +> +> dove $cost_T(i) = 1 + level_T(i)$ , ovvero il numero di nodi a cui si accede per trovare +> la chiave $i$ in $T$ . + +### Funzionamento + +Per spiegare la costruzione di questo algoritmo andremo a dividerlo in 3 passi: + +1. Identificare tutti i possibili step iniziali +2. In base allo step iniziale, trovare la soluzione ottima +3. Trovare quale step iniziale porta alla miglior soluzione possibile + +**Step 1: ** +In questo step cercheremo la radice dell'albero che una volta trovata ci andrà a dividere i due sotto-alberi. +Formalmente, supponiamo di definire $r$ come chiave della radice, allora il sotto-albero sinistro $T_1$ deve essere +definito su $S_1 = \{a, \ldots, r -1\}$ e il sotto-albero destro $T_2$ deve essere definito su $S_2 = \{r + 1, \ldots, b\}$ . + +immagine pagina 10 + +**Step 2:** +Scelta $r$ come radice, dobbiamo ora cercare i migliori sotto-alberi $T_1$ e $T_2$ per minimzzare il costo medio +di $T$. Per farlo scomponiamo la definizione data in precedenza di $avgcost(T)$ affinchè possa avanzare ricorsivamente +all'interno dei due sotto-alberi. Otteniamo quindi la seguente funzione: + +$$ + avgcost(T) = (\sum_{i=a}^b W[i]) + avgcost(T_1) + avgcost(T_2) +$$ + +Intuitivamente dobbiamo minimizzare $avgcost(T_1)$ e $avgcost(T_2)$ . + +La definizione appena data non è implementativamente corretta, quindi definiamo una versione più chiara ed utilizzabile: + +> Definiamo $optavg(a,b)$ come: +> - $0$ se $a > b$ +> - il Binary Search Tree di costo medio minore su $\{a, a+1, \ldots, b\}$ , altrimenti +> +> Il costo medio ottimo è definito da $optavg(a, b | r)$ che è uguale a: +> $$(\sum_{i=a}^b W[i]) + optavg(a, r-1) + optavg(r+1, b)$$ + +**Step 3:** +Questa è la soluzione ottima per una data radice $r$ e visto che noi dobbiamo cercarla per tutte le possibili +combinazioni di $r$, possiamo riscrivere $optavg$ come segue: + +$$ + optavg(a, b) = \min_{r=a}^b optavg(a, b | r) = (\sum_{i=a}^b W[i]) + \min_{r=a}^b \{optavg(a, r-1) + optavg(r+1, b)\} +$$ + +Questa è la struttura ricorsiva del problema. + +**Riassumendo** dato un array $W$ di $n$ interi il Bin Ser Tree ottimo è dato dalla seguente ricorsione: + +DA INSERIRE FORMULA PAGINA 19 + +Il costo temporale per calcolare $optavg(1,n)$ è uguale a $O(n^3)$, questo ovviamente ci restituisce solamente +il costo, per poterci costruire l'albero possiamo recuperare le informaioni in $O(n)$. \ No newline at end of file From c708eaed851ccf4099faf504108b26e2fc81a937 Mon Sep 17 00:00:00 2001 From: CristianCosci Date: Sat, 15 Apr 2023 16:48:57 +0200 Subject: [PATCH 04/57] typo fix --- .../Advanced and Distributed Algorithms/Pinotti/Readme.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/Readme.md b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/Readme.md index 647cdf81f..7f577200f 100644 --- a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/Readme.md +++ b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/Readme.md @@ -33,8 +33,7 @@ Dopo aver visto tecniche di design per vari tipi algoritmi (ad esempio Ricerca, - **Greedy** in cui si costruisce una soluzione in modo incrementale, ottimizzando ciecamente alcuni criteri locali. - **Divide et Impera** nella quale si suddivide un problema in sottoproblemi indipendenti, si risolve ogni sottoproblema e ne si combina la soluzione con gli altri sottoproblemi per formare la soluzione al problema originale, -è possibile introdurre una tecnica più potente ma anche più complessa da applicare: la **Programmazione Dinamica** (Dynamic Programming). L'idea su cui si fonda è simile alla tecnica **Divide et Impera** ed è essenzialmente l'opposto di una strategia **Greedy**. In sostanza si esplora implicitamente tutto lo spazio delle soluzioni e lo si decompone -in una serie di **sotto-problemi**, grazie ai quali si costruiscono le soluzioni per **sotto-problemi sempre più grandi** finché non si raggiunge il **problema di partenza**. +è possibile introdurre una tecnica più potente ma anche più complessa da applicare: la **Programmazione Dinamica** (Dynamic Programming). L'idea su cui si fonda è simile alla tecnica **Divide et Impera** ed è essenzialmente l'opposto di una strategia **Greedy**. In sostanza si esplora implicitamente tutto lo spazio delle soluzioni e lo si decompone in una serie di **sotto-problemi**, grazie ai quali si costruiscono le soluzioni per **sotto-problemi sempre più grandi** finché non si raggiunge il **problema di partenza**. Una tecnica di programmazione dinamica è quella della `Memoization`, che è utile per risolvere una moltitudine di problemi, in cui risultati intermedi vengono salvati in cache e riutilizzati più avanti. @@ -73,7 +72,7 @@ Considero i job in ordine non decrescente di $f_j$, aggiungo un job alla soluzio ### Dynamic Version -Come prima cosa definiamo il metodo per calcolare $OPT(j)$. Il problema è una _scelta binaria_ che va a decidere se l'intervallo di indice $j$ verrà incluso nella soluzione oppure no, basandosi sul valore ritornato dalla seguente formula: +Come prima cosa definiamo il metodo per calcolare $OPT(j)$. Il problema è una _scelta binaria_ che va a decidere se il job di indice $j$ verrà incluso nella soluzione oppure no, basandosi sul valore ritornato dalla seguente formula (si considerano sempre i job in ordine non decrescente rispetto a $f_i$): $$ OPT(j) = max(v_j + OPT(p(j)), \ \ OPT(j-1)) From 29fcee1e1834075c74b5ea6702976348d56b2288 Mon Sep 17 00:00:00 2001 From: CristianCosci Date: Sat, 15 Apr 2023 17:48:38 +0200 Subject: [PATCH 05/57] Aggiunta parte metodi iterativi --- .../Pinotti/{Readme.md => README.md} | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) rename magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/{Readme.md => README.md} (95%) diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/Readme.md b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md similarity index 95% rename from magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/Readme.md rename to magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md index 7f577200f..9dd098f3b 100644 --- a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/Readme.md +++ b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md @@ -52,7 +52,7 @@ Abbiamo visto che un algoritmo **greedy** produce una soluzione ottimale per l'I Questo problema ha l'obiettivo di ottenere un insieme (il più grande possibile) di intervalli non sovrapposti (overlapping). Per la versione non pesata (Interval Scheduling Problem in cui weight=1) esiste uno specifico algoritmo **Greedy** che è in grado di trovare la soluzione ottima, tuttavia nella versione più generale, ovvero la versione pesata (**il Weighted Interval Scheduling Problem**, weight $\neq$ 1) è necessario utilizzare la programmazione dinamica. -#### **Descrizione del problema** +### **Descrizione del problema** - $n$: un intero che rappresenta l'indice dell'intervallo (job) - $s_i$: tempo di inizio dell'intervallo $i$ - $f_i$: tempo di fine dell'intervallo $i$ @@ -62,7 +62,7 @@ Questo problema ha l'obiettivo di ottenere un insieme (il più grande possibile) - $\mathcal{O}_j$: rappresenta la soluzione ottima al problema calcolato sull'insieme $\{1, \ldots, j\}$ - $OPT(j)$: rappresenta il valore della soluzione ottima $\mathcal{O}_j$ -#### **Goal** +### **Goal** - L'obiettivo del problema attuale è quello di trovare un sottoinsieme $S \subseteq \{1, \ldots, n\}$ di intervalli mutualmente compatibili che vanno a massimizzare la somma dei pesi degli intervalli selezionati $\sum_{i \in S} v_i$. #### Greedy Version - Earliest Finish Time First @@ -86,7 +86,7 @@ $$ che se vera, includerà $j$ nella soluzione ottimale. -#### **Brute Force** +### **Brute Force** Scrivendo tutto sotto forma di algoritmo ricorsivo avremmo che: ```javascript Input: n, s[1..n], f[1..n], v[1..n] @@ -106,7 +106,7 @@ Costruendo l'albero della ricorsione dell'algoritmo si nota che la complessità Una soluzione è quella di utilizzare la tecnica della **Memoization** che evita di ricalcolare $OPT$ per gli indici già calcolati precedentemente, rendendo così il costo temporale uguale ad $O(n)$. -#### Memoization +### Memoization ```pseudocode Input: n, s[1..n], f[1..n], v[1..n] @@ -133,10 +133,9 @@ Costo computazionale = $O(n\log{n})$: Se i job sono già ordinati = $O(n)$ +### Finding a solution Oltre al valore della soluzione ottimale probabilmente vorremmo sapere anche quali sono gli intervalli che la compongono, e intuitivamente verrebbe da creare un array aggiuntivo in cui verranno aggiunti gli indici degli intervalli ottenuti con `M-Compute-Opt`. Tuttavia questo aggiungerebbe una complessità temporale di $O(n)$ peggiorando notevolmente le prestazioni. Un'alternativa è quella di recuperare le soluzioni dai valori salvati nell'array `M` dopo che la soluzione ottimale è stata calcolata. Per farlo possiamo sfruttare la formula vista in precedenza $v_j + OPT(p(j)) \geq OPT(j-1)$, che ci permette di rintracciare gli intervalli della soluzione ottima. -## Finding a solution - ```pseudocode Find-Solution(j) if j = 0 @@ -149,7 +148,10 @@ Find-Solution(j) Numero di chiamate ricorsive $\leq n = O(n)$ -## Bottom-Up +### Bottom-Up (iterative way) +Usiamo ora l'algoritmo per il Weighted Interval Scheduling Problem sviluppato nella sezione precedente per riassumere i principi di base della programmazione dinamica, e anche per offrire una prospettiva diversa che sarà fondamentale per il resto delle spiegazioni: ***iterare su sottoproblemi, piuttosto che calcolare soluzioni in modo ricorsivo***. + +Nella sezione precedente, abbiamo sviluppato una soluzione in tempo polinomiale al problema progettando prima un **algoritmo ricorsivo in tempo esponenziale** e poi **convertendolo (tramite memoization) in un algoritmo ricorsivo efficiente** che consultava un array globale M di soluzioni ottimali per sottoproblemi. Per capire davvero i concetti della programmazione dinamica, è utile formulare una versione essenzialmente equivalente dell'algoritmo. **È questa nuova formulazione che cattura in modo più esplicito l'essenza della tecnica di programmazione dinamica e servirà come modello generale per gli algoritmi che svilupperemo nelle sezioni successive**. ```pseudocode Sort jobs by finish time so that f1 ≤ f2 ≤ ... ≤ fn. @@ -159,8 +161,9 @@ M[0] ← 0 for j = 1 TO n M[j] ← max { vj + M[p(j)], M[j–1] } ``` +Questo approccio fornisce un secondo algoritmo efficiente per risolvere il problema dell'Interval Weighted Scheduling. I due approcci (**iterativo e ricorsione con memoization**) hanno chiaramente una grande quantità di sovrapposizioni concettuali, poiché entrambi crescono dall'intuizione contenuta nella ricorrenza per `OPT`. Per il resto del capitolo, svilupperemo algoritmi di programmazione dinamica usando il secondo tipo di approccio (costruzione iterativa di sottoproblemi) perché gli algoritmi sono spesso più semplici da esprimere in questo modo. -## Riepilogo +### Riepilogo - $OPT[j] = max\{ v_j + OPT[p_j], OPT[j-1] \}$ - per ogni j scelgo se prenderlo o meno From 75784bee10588da8b30565442451eb4aa865d6e4 Mon Sep 17 00:00:00 2001 From: CristianCosci Date: Sun, 16 Apr 2023 14:42:38 +0200 Subject: [PATCH 06/57] Controllato, aggiornato e integrato SLSP --- .../Pinotti/README.md | 133 +++++++++++++----- .../Pinotti/imgs/linear_least.png | Bin 0 -> 13316 bytes .../Pinotti/imgs/linear_least2.png | Bin 0 -> 21355 bytes 3 files changed, 96 insertions(+), 37 deletions(-) create mode 100644 magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/linear_least.png create mode 100644 magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/linear_least2.png diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md index 9dd098f3b..d60116261 100644 --- a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md +++ b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md @@ -164,7 +164,6 @@ for j = 1 TO n Questo approccio fornisce un secondo algoritmo efficiente per risolvere il problema dell'Interval Weighted Scheduling. I due approcci (**iterativo e ricorsione con memoization**) hanno chiaramente una grande quantità di sovrapposizioni concettuali, poiché entrambi crescono dall'intuizione contenuta nella ricorrenza per `OPT`. Per il resto del capitolo, svilupperemo algoritmi di programmazione dinamica usando il secondo tipo di approccio (costruzione iterativa di sottoproblemi) perché gli algoritmi sono spesso più semplici da esprimere in questo modo. ### Riepilogo - - $OPT[j] = max\{ v_j + OPT[p_j], OPT[j-1] \}$ - per ogni j scelgo se prenderlo o meno - alcuni sottoproblemi vengono scartati (quelli che si sovrappongono al j scelto) @@ -173,66 +172,126 @@ Questo approccio fornisce un secondo algoritmo efficiente per risolvere il probl - per ricostruire la soluzione uso un vettore dove per ogni $j$ ho un valore booleano che indica se il job fa parte della soluzione **SPAZIO_S =** $O(n)$
-#### ARRIVATO QUI A LEGGERTE -# Segmented Least Squares +## Segmented Least Squares Problem + +### Linear Least Square: Multi-way Choice +Nel capitolo precedente la risoluzione al problema Wheighted Interval Scheduling richiedeva una ricorsione basata su scelte ***binarie***, in questo capitolo invece introdurremo un algoritmo che richiede ad ***ogni step un numero di scelte polinomiali*** (_multi-way choice_). Vedremo come la programmazione dinamica si presta molto bene a risolvere anche questo tipo di problemi. + +#### **Descrizione del Problema** +> Dato un insieme $P$ composto di $n$ punti sul piano denotati con $(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)$ e supponiamo che $x_1 < x_2 < \ldots < x_n$ (sono strettamente crescenti). Data una linea $L$ definita dall'equazione $y = ax + b$, definiamo l'_errore_ di $L$ in funzione di $P$ come la somma delle distanze al quadrato della linea rispetto ai punti in $P$. +> +> Formalmente: +> $$Error(L, P) = \sum_{i=1}^{n} (y_i - ax_i - b)^2$$ + + + +#### Goal +Il goal dell'algoritmo è quello di cercare la linea con errore minimo, che può essere facilmente trovata utilizzando l'analisi matematica. + +La linea di errore minimo è $y = ax + b$ dove: + +$$ + a = \frac{n \sum_{i} x_i y_i - (\sum_{i} x_i) (\sum_{i} y_i)}{n \sum_{i} x_i^2 - (\sum_{i} x_i)^2} \ \ \ \ \ b = \frac{\sum_{i} y_i - a \sum_{i} x_i}{n} +$$ + +### Segmented Least Squares + +Le formule appena citate sono utilizzabili solo se i punti di $P$ hanno un andamento che è abbastanza lineare ma falliscono in altre circostanze. + + -### Least Squares +Come è evidente dalla figura non è possibile trovare una linea che approssimi in maniera soddisfacente i punti, dunque per risolvere il problema possiamo pensare di rilassare la condizione che sia solo una la linea. Questo però implica dover riformulare il goal che altrimenti risulterebbe banale (si fanno $n$ linee che passano per ogni punto). -Data una lista di punti nel piano $(x_1, y_1), ..., (x_n, y_n)$, trovare una retta $y=ax+b$ che minimizza l'errore quadrato medio. +#### Goal +Formalmente, il problema è espresso come segue: -## Segmented Least Squares +> Come prima abbiamo un set di punti $P = \{(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)\}$ strettamente crescenti. +> Denoteremo l'insieme dei punti $(x_i, y_i)$ con $p_i$. +> Vogliamo partizionare $P$ in un qualche numero di segmenti, ogni numero di segmenti è un sottoinsieme di $P$ che rappresenta un _set_ contiguo delle coordinate $x$ con la forma $\{p_i, p_{i+1}, \ldots, p_{j-1}, p_j\}$ per degli indici $i \leq j$. +> Dopodiché, per ogni segmento $S$ calcoliamo la linea che minimizza l'errore rispetto ai punti in $S$ secondo quanto espresso dalle formule enunciate prima. -Data una lista di punti nel piano $(x_1, y_1), ..., (x_n, y_n)$, trovare una sequenza di segmenti che minimizzano $f(x)$. +Definiamo infine una penalità per una data partizione come la somma dei seguenti termini: +- Numero di segmenti in cui viene partizionato $P$ moltiplicato per un valore $C > 0$ (più è grande e più penalizza tante partizioni) +- Per ogni segmento l'errore della linea ottima attraverso quel segmento. -$f(x)$ deve bilanciare accuratezza (errore quadrato medio) e numero di segmenti. +Il goal del Segmented Least Square Problem è quindi quello di trovare la partizione di **penalità minima**. -$f(x)= E + cL$ +#### Funzionamento +Seguendo la logica alla base della programmazione dinamica, ci poniamo l'obiettivo di suddividere il problema in sotto-problemi e per farlo partiamo dall'osservazione che l'ultimo punto appartiene ad una partizione ottima che parte da un valore $p_i$ fino a $p_n$ e che possiamo togliere questi punti dal totale per ottenete un sotto-problema più piccolo.
+Supponiamo che la soluzione ottima sia denotata da `OPT(j)`, per i punti che vanno da $p_1$ a $p_j$, allora avremo che la soluzione ottima al problema dato l'ultimo segmento che va da $p_i$ a $p_n$, sarà dalla seguente formula: -- E = somma della somma degli errori quadrati medi +$$ + OPT(n) = e_{i,n} + C + OPT(i - 1) +$$ -- c = costante $\gt0$ +Questa formula è data dalla soluzione ottima dell'ultima partizione ( $e_{i,n} + C$ ) a cui viene aggiunta la soluzione ottima di tutte le partizioni precedenti ( $OPT(i -1)$ ). + +Per i sotto-problemi possiamo scrivere la soluzione al problema in forma ricorsiva utilizzando la formula appena espressa che prenderà la forma: + +$$ + OPT(j) = \min_{1 \leq i \leq j}(e_{i,j} + C + OPT(i - 1)) +$$ -- L = numero di segmenti +***N.B.*** +$OPT(j) = 0$ if $j=0$ -## Dynamic version $e(i,j)$ = somma degli errori quadrati per i punti $p_i, p_{i+1},..., p_j$ -```math -OPT(j) = \begin{cases} -0 & \mbox{if } j = 0 \\ -min_{1 \leq i \leq j}\{ e(i,j) + c + OPT(i-1)\} & \mbox{otherwise} -\end{cases} -``` -```pseudocode -for j = 1 to n - for i = 1 to j - Compute the least squares e(i, j) for the segment pi, pi+1, ..., pj - -M[0] ← 0 -for j = 1 to n - M [ j ] ← min (1 ≤ i ≤ j) { eij + c + M [i – 1] } -return M[n] +```javascript +function Segmented-Least-Squares(n) { + M[0 ... n] + M[0] = 0 + + // compute the errors + for (j in 1 ... n) { + for (i in 1 ... j) { + compute eij for the segment pi, ..., pj + } + } + + // find optimal value + for (j in 1 ... n) { + M[j] = min_i(eij + C + M[i - 1]) // OPT(J) + } + + return M[n] +} ``` -Costo computazionale = $O(n^3)$ time, $O(n^2)$ space. +Dopo aver trovato la soluzione ottima, possiamo sfruttare la **memoization** per ricavarci i segmenti in tempi brevi. -Il collo di bottiglia è la computazione di $e(i, j)$. $O(n^2)$ per punto per $O(n)$ punti. +```javascript +function Find-Segments(j) { + if (j == 0) + print('') + else { + Find an i that minimizes ei,j + C + M[i − 1] + Output the segment {pi,..., pj} and the result of Find-Segments(i − 1) + } +} +``` -Può essere migliorato in $O(n^2)$ time, $O(n)$ space grazie ad alcune precomputazioni. +#### Costo +La parte che computa gli errori ha costo in tempo $O(n^3)$. La parte che trova il valore ottimo ha costo in tempo $O(n^2)$. -## Riepilogo +In spazio l'algoritmo ha costo $O(n^2)$ ma può essere ridotto a $O(n)$. + +Quindi: +- L'algoritmo ha costo $O(n^3)$ in tempo e $O(n^2)$ in spazio. Il collo di bottiglia è la computazione di $e(i, j)$. $O(n^2)$ per punto per $O(n)$ punti. +- Questo tempo può essere ridotto applicando la memoization alle formule per il calcolo dell'errore viste in precedenza portandolo a $O(n^2)$ per il tempo e $O(n)$ per lo spazio. -- trovare il numero di segmenti su un piano cartesiamo per minimizzare i quadrati degli errori +#### Riepilogo +- Trovare il numero di segmenti su un piano cartesiamo per minimizzare i quadrati degli errori - $OPT[j] = min_{1 \le i \le j } \{ OPT[i-1] + e(i,j) + c \}$ - $c$: il costo da pagare per ogni segmento - $e$: il costo degli errori -- risolvo n problemi **SPAZIO =** $O(n)$ -- per ogni problema ho n scelte ( $O(n^2)$ ) ma per computare $e(i,j)$ **TEMPO =** $O(n^3)$ -- per ricostruire la soluzione salvo un vettore dove $S[j] = min_i$ **SPAZIO_S** = $O(n)$ +- Risolvo n problemi **SPAZIO =** $O(n)$ +- Per ogni problema ho n scelte ( $O(n^2)$ ) ma per computare $e(i,j)$ **TEMPO =** $O(n^3)$ +- Per ricostruire la soluzione salvo un vettore dove $S[j] = min_i$ **SPAZIO_S** = $O(n)$ ---- +
# Knapsack Problem diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/linear_least.png b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/linear_least.png new file mode 100644 index 0000000000000000000000000000000000000000..d9b4addf2aa22109bd999166fdcb630f72a39d93 GIT binary patch literal 13316 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 TU{?Td=s=X^AHj=cO@jXya04g# literal 0 HcmV?d00001 diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/linear_least2.png b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/linear_least2.png new file mode 100644 index 0000000000000000000000000000000000000000..6da42c8ac318a8c15ebbbae9acac795a19ea97c7 GIT binary patch literal 21355 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 literal 0 HcmV?d00001 From c356d2ffc2b20d0f5a6190a93582198d247e4cc9 Mon Sep 17 00:00:00 2001 From: CristianCosci Date: Sun, 16 Apr 2023 15:26:09 +0200 Subject: [PATCH 07/57] typo fix --- .../Advanced and Distributed Algorithms/Pinotti/README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md index d60116261..774ba1e1b 100644 --- a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md +++ b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md @@ -5,9 +5,9 @@ - [Dynamic Programming](#Dynamic-Programming) - [Introduzione](#introduzione) - [Weighted Interval Scheduling](#Weighted-Interval-Scheduling) + - [Segmented Least Squares Problem](#segmented-least-squares-problem) - - - [Segmented Least Squares](#Segmented-Least-Squares) - [Knapsack Problem](#Knapsack-Problem) - [RNA Secondary Stucture](#RNA-Secondary-Stucture) - [Pole Cutting](#Pole-Cutting) @@ -175,7 +175,7 @@ Questo approccio fornisce un secondo algoritmo efficiente per risolvere il probl ## Segmented Least Squares Problem -### Linear Least Square: Multi-way Choice +### Linear Least Square Nel capitolo precedente la risoluzione al problema Wheighted Interval Scheduling richiedeva una ricorsione basata su scelte ***binarie***, in questo capitolo invece introdurremo un algoritmo che richiede ad ***ogni step un numero di scelte polinomiali*** (_multi-way choice_). Vedremo come la programmazione dinamica si presta molto bene a risolvere anche questo tipo di problemi. #### **Descrizione del Problema** @@ -211,10 +211,12 @@ Formalmente, il problema è espresso come segue: > Vogliamo partizionare $P$ in un qualche numero di segmenti, ogni numero di segmenti è un sottoinsieme di $P$ che rappresenta un _set_ contiguo delle coordinate $x$ con la forma $\{p_i, p_{i+1}, \ldots, p_{j-1}, p_j\}$ per degli indici $i \leq j$. > Dopodiché, per ogni segmento $S$ calcoliamo la linea che minimizza l'errore rispetto ai punti in $S$ secondo quanto espresso dalle formule enunciate prima. -Definiamo infine una penalità per una data partizione come la somma dei seguenti termini: +Definiamo infine una **penalità** per una data partizione come la somma dei seguenti termini: - Numero di segmenti in cui viene partizionato $P$ moltiplicato per un valore $C > 0$ (più è grande e più penalizza tante partizioni) - Per ogni segmento l'errore della linea ottima attraverso quel segmento. +$$f(x) = E + C L$$ + Il goal del Segmented Least Square Problem è quindi quello di trovare la partizione di **penalità minima**. #### Funzionamento From 6c1f20141bda8ae0d3b0f7f4c26a720cd21f5818 Mon Sep 17 00:00:00 2001 From: CristianCosci Date: Mon, 17 Apr 2023 12:14:41 +0200 Subject: [PATCH 08/57] Integrato Knapsack Problem - Aggiunte informazioni per il problema dello zaino --- .../Pinotti/README.md | 75 ++++++++++-------- .../Pinotti/imgs/zaino.png | Bin 0 -> 51749 bytes 2 files changed, 44 insertions(+), 31 deletions(-) create mode 100644 magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/zaino.png diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md index 774ba1e1b..5bd12ae15 100644 --- a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md +++ b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md @@ -6,9 +6,8 @@ - [Introduzione](#introduzione) - [Weighted Interval Scheduling](#Weighted-Interval-Scheduling) - [Segmented Least Squares Problem](#segmented-least-squares-problem) - - - - [Knapsack Problem](#Knapsack-Problem) + - - [RNA Secondary Stucture](#RNA-Secondary-Stucture) - [Pole Cutting](#Pole-Cutting) - [Matrix Chain Parentesizathion](#Matrix-Chain-Parentesizathion) @@ -295,30 +294,37 @@ Quindi:
-# Knapsack Problem - -Dati uno zaino di capacità W e una lista di oggetti $i$ con peso $w_i$ e valore $v_i$. +## Knapsack Problem -**Goal:** Trovare l'insieme di $i$ con peso $\leq W$ e valore massimo. +### Descrizione del problema +Il **Problema dello Zaino** (o *Subset Sum*) è formalmente definito come segue: -Posso cercare algoritmi greedy, (by value, by weight, by ratio $v_i/w_i$) ma nessuno di questi è ottimo. +> Ci sono $n$ oggetti $\{1, \ldots, n\}$, a ognuno viene assegnato un peso non negativo $w_i$ (per $i = 1, \ldots, n$ ) e viene dato anche un limite $W$ (limite capienza dello zaino). +> L'obbiettivo è quello di selezionare un sottoinsieme $S$ degli oggetti tale che $\sum_{i \in S}w_i \leq W$ e che questa sommatoria abbia valore più grande possibile. -## Dynamic Version +Questo problema è un caso specifico di un problema più generale conosciuto come il Knapsack Problem, in cui l'unica differenza sta nel valore da massimizzare, che per il Knapsack è un valore $v_i$ e non più il peso. -Non posso usare una funzione $OPT(j)$ perchè senza sapere quali altri oggetti ho nello zaino non so se posso prendere $j$. +Si potrebbe pensare di risolvere questi problemi con un algoritmo greedy ma +purtroppo non ne esiste uno in grado di trovare efficientemente la soluzione ottima.
+Un altro possibile approccio potrebbe essere quello di ordinare gli oggetti in base al peso in ordine crescente o decrescente e prenderli, tuttavia questo approccio fallisce per determinati casi (come per l'insieme $\{W/2+1, W/2, W/2\}$ ordinato in senso decrescente) e l'unica opzione sarà quella di provare con la programmazione dinamica. -$OPT(j, w)$ = miglior soluzione nel subset di oggetti da 1 a $j$ con peso massimo $w$. -```math -OPT(j, w) = \begin{cases} -0 & \mbox{if } j = 0 \\ -OPT(j-1, w) & \mbox{if } w_j \gt w \\ -max\{OPT(j-1, w), v_j + OPT(j-1, w-w_j)\} & \mbox{otherwise} -\end{cases} -``` +### Goal +Possiamo riassumere il goal di questa tipologia di problemi come segue: +> Ci sono $n$ oggetti $\{1, \ldots, n\}$, a ognuno viene assegnato un peso non negativo $w_i$ (per $i = 1, \ldots, n$ ) e ci viene dato anche un limite $W$. +> L'obbiettivo è quello di selezionare un sottoinsieme $S$ degli oggetti tale che $\sum_{i \in S}w_i \leq W$ e che questa sommatoria abbia valore più grande possibile. +### Dynamic Version +Come per tutti gli algoritmi dinamici dobbiamo cercare dei **sotto-problemi** e possiamo utilizzare la stessa intuizione avuto per il problema dello scheduling (scelta binaria in cui un oggetto viene incluso nell'insieme o meno). Facendo tutti i calcoli di dovere otteniamo la seguente ricorsione: +> se $w < w_i$ allora $OPT(i, w) = OPT(i-1,w)$ altrimenti +> $OPT(i, w) = max(OPT(i-1, w), w_i + OPT(i-1, w-w_i))$ -## Bottom-Up +- Nella prima parte analizziamo il caso in cui l'elemento che vogliamo aggiungere va a superare il peso massimo residuo $w$, dunque viene **scartato**. +- Nella seconda parte andiamo ad analizzare se l'aggiunta o meno del nuovo oggetto va a migliorare la soluzione (viene quindi **selezionato**) di $OPT$ che è definita come: + $$ + OPT(i, w) = \max_{S} \sum_{j \in S} w_j + $$ +Possiamo formalizzare il tutto con il seguente pseudo-codice: ```pseudocode for w = 0 to W M[0, w] ← 0 @@ -332,30 +338,37 @@ for j = 1 to n return M[n,W] ``` -Complessità computazionale = $\Theta(nW)$ space e $\Theta(nW)$ time +#### Costi +| Funzione | Costo in tempo | Costo in spazio | +| --------------- | ----------------------------- | ----------------------------- | +| `Subset-Sum` | $\Theta(nW)$ | $\Theta(nW)$ | +| `Find-Solution` | $O(n)$ | Costo in tempo | - $O(1)$ per ogni elemento inserito nella tabella - $\Theta(nW)$ elementi della tabella - Dopo aver computato il valore ottimo, per trovare la soluzione completa: prendo $i$ in $OPT(i, w)$ iff $M[i, w] \gt M[i-1, w]$ -## Osservazioni - -Dimensione dell'input non polinomiale, pseudopolinomiale, perchè dipende da due variabili. - -La versione del problema con decisione è NP-Completo -Esiste un algoritmo che trova una soluzione in tempo polinomiale entro l'1% di quella ottima. +#### Osservazioni +- La particolarità di questo algoritmo è che avremmo 2 insiemi di sotto problemi diversi che devono essere risolti per ottenere la soluzione ottima. Questo fatto si riflette in come viene popolato l'array di memoization dei valori di $OPT$ che verranno salvati in un array bidimensionale (dimensione dell'input non polinomiale, pseudopolinomiale, perchè dipende da due variabili).
+- A causa del costo computazionale $O(nW)$, questo algoritmo fa parte della famiglia degli algoritmi _pseudo polinomiali_, ovvero algoritmi il cui costi dipende da una variabile di input che se piccola, lo mantiene basso e se grande lo fa esplodere. Ovvero, la versione del problema con decisione è **NP-Completo**. +- Per recuperare gli oggetti dall'array di Memoization la complessità in tempo è di $O(n)$. +- Questa implementazione funziona anche per il problema più generale del Knapsack, +ci basterà solo cambiare la parte di ricorsione scrivendola come segue: + > se $w < w_i$ allora $OPT(i, w) = OPT(i-1,w)$ altrimenti + > $OPT(i, w) = max(OPT(i-1, w), v_i + OPT(i-1, w-w_i))$ +- Esiste un algoritmo che trova una soluzione in tempo polinomiale entro l'1% di quella ottima. ## Riepilogo -- scegliere gli oggetti da mettere nello zaino per massimizzare il valore, non superando il peso massimo. +- Scegliere gli oggetti da mettere nello zaino per massimizzare il valore, non superando il peso massimo. - $OPT[i,w] = max\{ v_i + OPT[i-1, w-w_i], OPT[i-1,w] \}$ - scelgo se prendere o meno l'oggetto $i$ -- ho bisogno di una matrice $n \times z$ ($z$ è la capacità dello zaino). problema pseudopolinomiale perchè varia in base a $z$ **SPAZIO =** $O(nz)$ -- per riempire una cella devo solo controllare due valori **TEMPO =** $O(nz)$ -- per costruire una soluzione ho una matrice dove per ogni $S[i,j]$ ho un booleano che indica se appartiene alla soluzione **SPAZIO_S =** $O(n^2)$ **TEMPO_S =** $O(n+z)$ -- in questo problema la matrice può essere costruita per righe o per colonne -- per trovare $(i,w)$ leggo solo da una riga, per costrure la riga $i$ ho solo bisogno della riga $i-1$, la soluzione è in $S[n,z]$. Posso quindi trovare una soluzione utilizzando una matrice con sole due righe **SPAZIO =** $O(z)$ ma cosí non posso ricostruire la soluzione. +- Ho bisogno di una matrice $n \times z$ ($z$ è la capacità dello zaino). problema pseudopolinomiale perchè varia in base a $z$ **SPAZIO =** $O(nz)$ +- Per riempire una cella devo solo controllare due valori **TEMPO =** $O(nz)$ +- Per costruire una soluzione ho una matrice dove per ogni $S[i,j]$ ho un booleano che indica se appartiene alla soluzione **SPAZIO_S =** $O(n^2)$ **TEMPO_S =** $O(n+z)$ +- In questo problema la matrice può essere costruita per righe o per colonne +- Per trovare $(i,w)$ leggo solo da una riga, per costrure la riga $i$ ho solo bisogno della riga $i-1$, la soluzione è in $S[n,z]$. Posso quindi trovare una soluzione utilizzando una matrice con sole due righe **SPAZIO =** $O(z)$ ma cosí non posso ricostruire la soluzione. --- diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/zaino.png b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/zaino.png new file mode 100644 index 0000000000000000000000000000000000000000..de32320b0d72de3d71a73bd477d3b45d77d6088d GIT binary patch literal 51749 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 z zI(~JApsAH&r=X~a&ofqpcgxyLG_MK|0LR}QWAl*L&4OlkG6h;Qna?YzH_ z7uj7=Le}x^y+U0(Te*;ELN?jDyPvYM_r6lXb54ktGVJ}v_9Y8lV===AKQok zMt()aeJ9UDR8&+2V~{eFSu6t?UL)se9fkOrAPh!z^U{R>8EWBlx9zpaMcrr5(!+p0 z!TB(Ou4!86iKhzM=bQI4p-g)6Qs}XpFNcO6X*-Pt^IQFRy}nRf z1B-?=YNa`HMG!y}RS*4Ni}UT)%1*3mJyLuDWGt{UDIP{y#DCbJMnQG$%9frh)X7pSR$0KF*z5zu3o)!;lc%e+sO~G zl$Vp*Q<$?#6wuAiDX+^Z*q^+HW5#XPlgH1=b%lH|0i%;zTl??=85t8TZPm6Te7vV} zcg^>h`}jgDy{0g3Nmv#Yj9#eSOlRGkeVWVqe9`V&Zz<-rJph2JmX&Azvu;TK`vX6i zGR{*{GNBC3id@_c#l^&!I5=`Tr*jTB7wn$0nJ3DAJ>kF5J-;WXp^=J4pYweE`UVFF znnaVA?bR`o5V{O4oB};PJ(;RrX+^~yq!fV_Q<~|_0O3G{+hRZquy}EXRZg2HlcKgg5Tg_+7~@R2Xc})D~Es@7JWDpwK9D#o@=)U?J{Xlx-%?m+!k1Q*u3w zbiH8{8$?|N|}-$FfxKO>gBT8KJd)v z^p#ar^e6_I2;Lcf_^;fb~lBC?aczFk>) zPdZ94)JdOCR9xJ2v^HRCv4(o}%Q0#Q7unS0P*~{hEs-BNcFc5j8V~BkbPqNyvt&sEYcZ%JE4)cpkR$BbKGjhhKueE;{n|68 z?%Zu9=z3&8NKJ>CX3F2Y_wwAibG92lA2&q_^)7@bBTV}3c?Qxy{)h<*BF)e&$gE#_ zarl^X`MAPtD(~PL8&Dp#%Bl37RXtnG1x$mozIH`p#f!t-mP2@zi@h8Apf$YgJ z+h43|QMwue*wq2}VmH+$icA>+b^vBYalgx-VNHKOdeqrMcNf4n%8K=vl1#mjLF2`R z^|x=|Qu11U;&+%&KSu2;hddVE{OGY~=VIT{y*5cUJnX~DTCau6zP;PlRFdb*Di^Ysxc~_eN$~XaqRgt9LG4pYkY^DLEL~}nMDk^4 zx;o^F5JpDE)^zn;F6+^U{SYKhw7eAvor_0J~pIGxHMi24}7ZQN6rNqWo zhWnQn&*k?bDTrP&#Av!B#d#*9fXlp(7h*bDr_@9@TOkV)QSgG~N#TcOnmC#wVRK0{@xm z)U?14l)7*~uKZnW_Tvp!)=o%QNe~%n(&4uy9zOgIKg?iF>s*~|y{|A9pLyT=jL--_ zlHKWycQzIw0cT-*T(v>_2w~IB%+xNP&S_u`Y@b?bkQ5iBrX!&icCFql1w{OmlfwaU z#mLXEp{}lu)sAh!EjJ4w3<}T%ePThGPu&vIt+JY0G6c|fm$y9-`$(Rj{9Hq&2w21I zx?#DX9kYWc*L96S4m(E6`Yk9Q$^FF+Ghg4HH|Z<<3_H+gUNGqQKgZsG9W5i!2=y-VHV)dm`-$;03z=@z1c@>qArRC)dR8*OOQ033& zZ)z7QUAuP8P|F^#tjZ`Ts0EZl4o>#c(vk^|f6!s5;t=G{GeC8BIA~>$8g37b+80B9 z$^7)`syh$L1fLoVj26DPI+YZy0XSg<=^aon&t^gsnfmMvMH9=2|DUIt1{4S&g^GX)kdou(dJ9z52R`eGqk_+$ z=4hp9PSh^8M+mC1ams+>2(hqWr1$gZL<@4yJg!s=d+hDxvYHN-l>!1{Er;&`gXnys zyf%z8GlxAK-1A?6s0a=XP1)FRq^F}Z8Z2{D4)ON%WCR5pkYKSlI#&?^UUZ&*1DV*| z4js^+ww8kJy#&Q@zCB+4c`e(SPHA*u?=XdB*_>|S2KjS+l}s&0RMCi^02CgRZhf2& zy65a?(z42OQUy17fgk~kXNJ584195*>6mh)S>{Lg-7SRU12+F`kQXSt1+~cGqo+U6 znZYL4YjN%w0FI*Luif{GxSiF!O3-CPX?%X-Ip|?&(wQDwWIIKZ!a<_c^I6XuN_R-% zS@~wYQTcr~n?_<{M~N#rCkIN4o!4el&cg@Tld~xOaP9TDWqs_qJ`%*byVI%&4}&zH z=eYO;5yuM#oYU^zzmI)dcW$mbw`Q7SI1ZsSWGosF(eMT5vyd}$eQPFbdv*V;KLw{4 z)bRNAL65BT^qUBm)-JM@hn1v9A!UTTe84y5N(?;%12a3jJc1UV^=e4ZpO1s1hSVd7 zQn8J)64{>R1kNM_1iq8jUobY9Sv55~TMjlC4-?Mn>(gSW8=CBnyD4-q~#`uda=AP>|tO(3&$0@?>hMVZ@CZ6cpZ~4xK^sysOi>2wZ+KM&t@NcOg|vo)=@3oaVB=9`VKdX#>y5+d z*@!PKtrXNy=N6srYTP)HbtB(62(Q19o?e9;)qD95p=rFf_TuJ6o8p97Ee?)K5S1$D zRAkJlC@6+5a*T)A#>S^t=hx_~|N4agqixIoD*UbX z=)HJQhi1ABqw&%EJBCn*8P|TehOjyO*yiv5?X&zUe<&2-ML%u%jgC!O_=_0WQG^r@ zdtHJ~&DEv|K1ImLyjc@6A8*}ta&ki8%G%nRRl&2&bmz4yX)jm(GzXW*o-2~Epk8VZ zVbLVLpse1$wK@Ytoed%DQ&UqWP#R}+2HWux7?uKRYfo?fbxm{|Yv)38Y}{yRbsNQh zT;xz3wr6JGX<^`4`sPaKca75=#UN1+665>67c2njrjy@e!UP;LZ$Im@9B7Fabjm># zeCL%(AGs^d_)8Wg*HF%@c-7MKNAw8CjT7@#fP66EwyvF4zkK59)Az280Rikw?BZh8 zwKbP1C}^o|4!*g0A6ZsOII_yHgCRH7V}WW%uP+0#W+fVf>d6oj{2I?kj z{z&|Qn37Tu6vZhyIboMhdfOC0O&*NFFhh9+P?W^7&|h2tEzGv|b|`7edf2`n`|$5( zaWJ(BHi}kQEPX@6hGEMaG&He2y>H&Uk+ZkACsy%X4hRUih63eCU}Omd>IF94mZCkc z|7oOkoF}XSYOw{w);K7VhQpXnOiV$YjDFhnY5C@I`iuo~jQ={re+Jz$=DpE;g*}WO zIzCymv(G@5RCW=7xB&VqSLH=)n#~`P2H6$GQIgl3+nAeKe(mq-@n6nSvo1$0?r<-K zfPK0b33aB&&ImPmUL>UP>7g&LoOf3V!9hVv_wmD8PF|vroL16j977__j_Ygx>wf<; z2qMa#KCn5K&uK9r2>Bh64~sv|eXXfUgKZCE*YjFi7}Q0c$Zgswg$@c2cc~r&g`vKs z1@m-4H;4RRpzN<}@N1VDgoLyaT9TzxN_zRS*4*66G+xqWZMOBtHy>p=Ik{ICerQ3N zA&$<2W)bHZk3Nurv{*5a0y{t@(*Vi$f81(>LIHz=t%X2(`gHUNx3}eEjRNxw^ZueK zP%<@2omY(;$k}vmq7dSG=efsTD$Rel#yJ*aKTScPM8D4p=dzjYVu$W~hY~8;D}Yv9 zA~ixhrKF^9+Yz$kb(x48z>WT(6;o4+wD=d*|F8Q-jqIByB0@pzDT5L;XEr)M&IFtv zjuN*TMYA|aZg7laki7)@(+LV$9`I)bS@`()D21H!fa<41S@z$a;eP{X*!iNF%=Wp0 z!Ay3&YUnRzYxF*ZMF6_ET5*`9c5W?;`qkoj9rt0lq3>N; zsNd?V8P-Y^gEFvP)TQM95FaAH7jw%cb zB_vn-8FDjN58O=8kp6!3=efXcjm7%?si(v2X_5y{re1_AGbjaNX2Kl?JL^U~dsY@a z)U^-%PF+W#Dit2?#c|rr)<~h+s@Ib^oe#`T&3_>E>hk-Z#YZa#zZxNcXq^tz$yZ3k z7LZ|A;9}sx3gwrvBVQ&DtW~@`NUoliinABISb8w1ap>k{H+GB7Io|s9*ha7iJ)(${ z7od7Sa4xh=fx@^L-}d^k5E48f1!3byXfR6gGSVqPk}WjJFGSqI*h-Ts$dRA zL@xU3!`UOeGx)Bxi@>||$5@5-8v~L4l+)U#)jMNKeLISz6UUQF6!PR>9S!NkxIrRb zUZnq*gY>#LW42F_gQJ4|Y2%zdv$tOD*_sb03N#sHLI_#oS&j6iyN71cwRmR1kx zst^oU_vW7eJ#$1vZYS9ysURY9Vu>7yCBuo#VM)u6aump9zCP*Oz%B>1!RPk?A=AWreOS|PwfWS{D zo<2)(Z&1b~y}57iE_luGUp^!H;K7ZXH>E(y>nXBJ(_$s?%^8B=1oeD-M~Y%_V4&jp zgsQJQo6Fq#^`uDd1NlH6NDAE)2yTjy%vOe8kxUcH_ploI&y1}SIuU#-a#+Ze71>pS zW(v0Ga`fL|@}JG+@o8r{rrubB4goD7BUHvzw+W&^k9fS-sm%~sySi_)Ua6Kv4 zKJ)5(P(|wk8I)C2RG7Dy4SmR16r7xJ&>{n!)VXH~^ag~1LH-9hDQ)*R1RW}_0~tyJ zZss!4nnDa!{D8pi;U7yg338TJpn;)qw*bY85n05d}>@`Y#+y-(xQwTutcHY&e9l zfy<4Ei1!LSJ{`mn6QFckH6nZRrrTP@_8CYI2E=h~6bgmS*Yz01U7ne2jWg7)$(?Q~yp_UGm;yXL8 zC_qN|syL2(?#ha76SVPwnkZOWT4v1Vs%GgRmPax+opjLfG`f?@r`wbK>5P}hn+!{4 zP1+NsK{0vv_N_durYR1nIBYa@t9}|oGY?ZWEcf*3(~Ma*r13(D+RKEV&2(o*xF5Ah zCX^x3`L2sUzM7Z>An(j@cLEXIwR4M9NxP>Ck@C=+=ccDM)_69+V&y9N-*J zx5jyQW@@JuFO+GfsbsWOdY%HQ>MH2WMk|x85-8N?A}M4TKaCB`kFgIO2B`%x3_#}z z;wx%-8Cgl_mPM@Zfii|LCVkQqtW?m^@;pU8jW85Mo;U5hiBf=&-=h<0B#>e2TIXBr!k;jq976%aXUhgksHl zRp88Giw#x6O(sx78uaL`*o_@C4VF#j*Ehl4LsH_Eq)Vb_l_bAwT++SI*nt+>^o;+do8i z%DVWp9+<2x{ScxMVfYUkFw}<-1)QSzKbS)^F+xbT#{QLm7*hU&f7}v>Zkm4cZIhZ; zzaIO@4>(c7Mc;prn2U%h<($Dk2}*T@3OP}Q$dwJ}jQV#z7sv)Hx4S;y54BcRN_HQS zJL2u-L_PS~=mmPA5ZttPm?aL(HqqlZZnD~GYX6?P;5f{VD)CIdG#-EEd!62qY2F=& zX|5kSX$?qZJ@<*d`|!Ha_;U z=ue;n{s14)1@i)H>*d;7qM8rv1@Y(U^||wf#{cg+)?s2@2PCaxM3qD^b_xCD8@=7% zHeamG%t2lIz`WIU2BUv~fq$hP2hO0U`udC_B7@T$kMxipG;}!;!53+V^T8+F$#~QZ z+ihLkAI57HtK&RH4_QDG4PCBJ+G9n1qzICdlI_rNH;JJcy!Y2q ze5jEh!1{>VUf=daHlI z-O%oB2+)3TJ%xZ<5(>1AQWu9b$t6ZawSp>(6?!fQ?0}G|9UOh2i5u0S=@Ac-E{}u# zY*!4F)S;O?mO~X9$<^y0ep$`_UL{)pDK0wDvB`S4?69XbB!^rwFNFRbaU0k^uus0d z%gvksFBK?e+1a-|y}eD5=2e^82@rIxt#bg40k<s+X~sKe&{DEhk!1n0Jg6Iy|nxd31M`e!-CEg zKI_r<4bVMv-|ihmj2fVa2V@q{7ipw5sB+N!DMLLGGcO2=oVi4?`9%0!&4-S%9;4B{VxUY~Thcp!u9 z0XcJCF%sHcX(w0m5pfyu<)K4CYtST^WDqJyN^X-N9hW)o((UU-BS(75 z4HE1h0CtSXY+O;m8No=BPR+@A0W9}3nOUJn zA84yUqZZ@4kSpP%{pfYcq9kPHiQ0ElWKmu;vso!R+$+q%B`ri<@7l@+}5gQ>;Ilfp?F} zZABh&oAs2s6aWO+&S42AZSg3m!1BT9lKbS_N$F@|ZKT(?yFO^~U+f1Jhc#WQ{jV+rQD`IGvnZkV;=LEU6wVG?T%KG; zp9JPhW=e9F7@|;bn3lUG>k2URtH@{d?pI|fwRwOXlRt=c?`c)#Jd{6LajIME1B3ouPSvJx%x{5KKI9_Q29XI0!Uu|2ro z3ipUa%+!r+#yy5)Q7;Q~-d(~6&N@8hF( zp$^}vo}s+$`g*|G#RO}Dj%T!x?(C|ef)4u>qkmZO&9Azp zk_G1dv4j3Hing|=n<8^9c`utl(;f0HsOE-teCT+@DiNY--nul_AkE;o_7I$mCMKzf zp8?ps*67I@s+N}EBzfoSQToarM}0-nqcB?X!1@)It(mQarz6beKg07k+G;{ z-_fgn-};_{GyNt$sRXQ^Tf^Sew!LNrQ`2c#`Tw>&#ua^R6*ZlAEqnB$;4KH-^I4hH z(}SuY&ux3Xr_|KYcYbE1n=?2(JndS+Kq5@UsI{_wQ$g5qUx>KS_|wrrj?ofRjg3vi zt#(=xNwhh%Bm6}c<-)Njt2Y6-<|bq4U1~xG9X8>2n5+W`VrY69G}IjM9U9%twAd8l@_o z>=Y%C4rmB!08S$A7MK?xRNG%3ImHF?0jMEImZFTo-vS2a2F3YMMslkr=u;CLVRZ(q<9xnHg3ykQMf#LvnJQjcnbY3Y;*Xu&}w5Ya*^lL-B+bekp@j8 zc7*T6raRo7^iaaKKR!eZ*|uwb-t~i4YX+p#&vf5FNKg z>%C(8J;Br@#23yq@q^EKgdD&IOR?@O@XFqE31#)Ch zoZpXzOr);2y)`Dct;o=Plh=N>#I&A2Xw0n{F1O(q!UhccEM)A@G)0;K?v}wQz*a3= zOz&g|IT+k?(1nI;W)zv1NJ--nA2pO6Ky>_5vE^Wuf=E}L!F~9TMv^hK>Y$N?E$AK@ zHV#WjOw{@LyWyc1FQ%RLU%fN-z>x{Bk_W^6Et;6%-#l97mXcvzo}4>J+FlmNf4bz` z_QqlrpNRi__d$#@8E&sLu`!0w1xN8_&Mp)%Zf~1y?X^1%OhAE}f=cUrXFS*{(8G|Z zeT?rF&UN{o?Jr-xoU?Ngw0=K9V@p{*DmXX+%x2(Uj_rvnpGG5P6#C$P1CTv3)e)C} zM^QM7k{ueHf7B(}Hhj?JUJS+{m*C(EC+JJQl$N_#jj|oUY`nvjryh*d~=H(UgEDmm!w z1F`#2Dj8A(><0_3$6Uc>LlBzMY|77?^n%QUeOz@Eq2b`gTxkvke2AyzoqG6hS;I2VJJz_?iw)a zw6@u3E@L#^)PT!Ea8(N%W_xdYVHHY1aRq&<~hruC4dl(iAM6i#>^H z5QuJx3T`NEId%G^g6Qc6l|Q`z(9?NmJ}4iM(d!s4@_3QOBz~X>#5;DxF^5>gpma3` zKQltBg*QjfONVixPMkR5{PW8(aG6?zNDB9ORiM1Jts>?Dv-7{rSuF=S3&gl5PxRp0 z4=W1EGy6LWZW{S3`?(H-!}6H!-)hPOQ42!Xjxfe}o{MK@`jJZd#Y;l-f_4c__6=5@ z<4k0y-^Et+kdZ%-`(u=b=8Z(nRi7fI`^hIhh%udQyIvE<_KH%$RmDaB`m4rKWaub%Uz? zTV37T)Kn(FeXIBN^%7cIT8;0OW^BjmFOZ%*A}lOSdf`H-T_cp}Qk~VCEgpOKCz>Oh zG%9mJZ9ZyO%~4GtV1TK1nAin2w}3GB zW}pJfl3}K~NTI0kY{zHC3}@lgG*9k#JQEQQX%<#cO#4!{CQQt}oy%71tM~snTU*r{ zQ>YRg=rnpYCbAg2r83vt+?=jk9tFK*xYr_r{JEGy_X8y=#YK#H0*1V`#IWnI^k8*DRu?YVC9d4RLO_NOIK*9%gTe`^7cKc zB$>j(!fdOmqdB>3Kc=VaqrUEXnJXVTvia41>gmJL8>A=mG+1~By1XmXJmVANhsMXn z_JU1O&%Z{mb69t2dwFf z_t5il52Df^KP>I+#&$MsB7|(bO3Qb=h23nqsl57~j%|B%8y1=;$waCz?H&95n70~j z$x+P7la5a2%gn!z&CfT3pZlSa(G3uOPC%XXY>DsHt5=}{4y<4S9)b1|*+u<+aNtdK zq?`w2qhn`pO(o=bdHM{{3(|EBR3#6??_3tJKkeY)09GMG0wrU&)8=h|Su35)7)P7C z?^rhjqpc~WvEA>h9glc-B#)i%VD}pGi=0Vkc*?l;M&1pOlFxmIS0Vx3)umQ!FJk$1 zgO~DcfbpN}{V@@LPp0f^EveI)P?ZEcI$Rh2Nsqfx_Y;j@oC_XPd9G$QE+Zv%`o)X8 zv)!dWLd6agRMfXD&n}-QyNJF)bocHT*PpHB8{2t?HyByP((oM5Hjam|=ze)qypX=G z!K~`>rJ8uZCX7v(=Vl#lgw0_o%Ofkf^+nP(y`|M*lu!Eu3{|^!ofE zTTU0}wQ14k`&f%tB06gp*G2f=4ti_{kB-!!gxwwf=c+NwXh=G7^nlZhWmYf_$<7J?NnQWGT~Mmei;{6-ImFO4Qn88rZ89< zy*`5$@l>ZMa!9y?a;HjpTWorBuBc48xXcEl`#{OZ98Y!Wk|gA&QtxZ8&)z$J?RAs7 z*|?vMx%n9Dvzakh57YJ|TnaCa+(=zP&+3nTl)f`(thF4X4B9w{ac~ zaynXHgI7**YhWiLg;CvOlGpuhme;OP$W?<)#{-G#> z>?(Ep({Y*IQNE{PjeRN6g5FZ5w>ceF?%l6C&YjEbo0Mc2$ZrIC+j%lF^H%m3nTfAH zS2kAX!PPyD`IFbu>zjJLv(1GXP4VtD6n40i-|0QyV@=jio@vD&E6TLNsg6%WU83d=s|1mN+^Q|2*CGOMYnssX|=&-mHu5*Tgiirw)F3_&FVp_Vrm7 zwO1Ng1_pVBM>=Wt(QA=!rUxQFone3dZS8AA{kIX%gEc;D7dYy7_Fmq-Rjdht+=BI? z(EWjw^GYGXhqyJd(SuGIbA`oO)Gw~^pX-PTe4Ou}XF`r_&DqM^2cJ<{(NFNN9dLU) z+h0&ULMSk4k>Ib#uW;olQ{KUl*7IAxNvHKTxonuFGI#K{dwJKpmeKQTD3(MAKWe=p)7&hEu@5HKrWYBL@@>|3N|KSYALAfWHo;!IrW8r9`5*Ia z4SQ%U4ucWJZEkep@*3nya2nSP?L_%t!fW5ng^o`r&-Bs%`S|Yv$V88afB17KYTk4X zu(n;&+8I5}5)y?G_I@vea*0jw^V3tJ6~uGI-@;$bmt_TF@!Fnj0ojtBwADi62H!o~CNsRE;-nz!t94}H(tCo;ceU7X>?{Q7JxMPZq; z!1Kf$G_&!9DeQ?9&n)eKEW-oIN6Vwl01*>-C$_`iQ)~>6o+)}8$RHzUyJ`|y6Cr}B zXJ#w^z2d#0p#-wH4@!erSq-ozEqnnF_NEk-f{2{`6tJ%)QlwpCRk z6@L!-HT!MZdDr|UMIuO<8^$%PaKGqK@>VYMJ9a86s=S5ohn{~L`b60aIT_sY*O)oa z1KQ3PxqJ*3V}+s98`-9<#irS@9za7i+joO?2;~Db2o#u5P(1YJ&3i67d!h)byv#X* z2T_e*G*=M|GiPA0MJpCxYPe#ALe7a1XHk5%eqt#E<@BY%H|76i~6!4lAxykEX|_@ec;-16a@a0*!?A|icR=TdJlj$8LQ z-CrDk*^xUMEhKGxSNKt^axsSIkXbL@2v0RoN*;Ch%k5IOUucqZ<6S*do;2SV!b~TJ z-jYWh0-gT+V9pcr{_TYY|C!xZ}h|>)n53(qx{l z1bg=RT(A3&FWX{-9uY3C_d%x!Ck@<}vi#ph@BRi|ChoPF-YgN#{Jl2?{<0Y}C5z*l zv-|qgng!3;XS3vPsO6dq$(&?}a@@%Z3JIai7uwpO6W$^)czKv&H4+6^c{*J;MKcyx zXYoF}<$DFq+h%Xz(qoCBL%wJ;y@vlm#(p3y)k!bFru##Yu50sTJ3=f;BZS8r#_Viwy7qH0PES7e~j!SCw_iYTtd06#+ z=-pgTie}#pO=4tYV-PGMUM4R&A*bghdw&HcP%xnWHGC!Du4V0qlFp1x=mI)JF z#DS#0wB)n+RNtTt)S%ejeEnsI@b4yA*Ue26GB!7A9v&Vd_r4^?7pIR8X9HBp%N&e&S-#vI`=(X$=% zQw{@mJfE1Y`{GO)z@aC9gY>eneS{x7JJIVS$K*5=?jX!@zyCh@PHRA9i^_h!O9om^eD2fFGG-i|ofdaV zL|OsCGRerS?<-vbXdr4467ktQaf;~Ut+mIuJqk`d*Q=4GJSnnoGxbC#A}(BhdHzSj zPD_ws<0+HF7s$0mG0W#6OGYRut0)8oHz#l=6*>wElgzN;;m8N=tQw$5UtWXomPq7}|QGB-y&X|kwQ=34h* zrPalJe0gO?gy?&}uBGMi?r!p_i|4CmEa)z-&3s?%aZ^^&30JU#usH3pKd9caJUHkv zQdcL-KAC9h$VCeaT|BD)yV?#aotg zaY!0snEUoCUfpzGzf#t}K@6~SS=jZ>9}a_c z^Ivr*@yyLkgbNT9OI-2FE?;n@{e-rT*3|y)(C7Jcr?IXtQ+J1p*i3&Vml0E2YX&BM zN;V4%z{0xv#!-{UkA1sY84X(~_Xe<<&)UU|C9pg(l+wz+(gE`F8=ISoYL1?88*85G z_WO#8t24ge-oQQRoFBP(K*tYB4Ew&?0uFNW@?XMQM3M*szo?BPunYHb(ge&&B5j3- z(PvXLoqwhM>8`g!GTJ}$78hiGA@nU@nR#BQ8oyWhXG3xUpUuzVWBYV_-!O+@F$|Z- z7l^=|_oLZl)$t|^7Z)i514C+RD(_wmI}*ty&BX4c*w<=x}U2Clk#ts^)kRs4~%ODA6orcS+#ixXPZigH?GmgL8H|-k|*o@iCxz7k3N1Ml|%&?2(bb8IMP0eAf-% zKk8z?@S}2b`KF_uFaXzefW<+J0V$LfyNry?&E28Scyz{@LDy^Z%|m-0JlBe01Z-GTwD#Pr;nZ z^%Q#~|L~6=mDR*WGCG-=nNqGR>^?fOzzUN6KRXL6Qxc1It8<%dlEz02w{0rrDHl!{0X zjlu`R5$g27H0B0V+INi~4-)9F%N$LQHDYvI+8Y|?`=b$V z1B&}}-~8;X6v4dz886LoV&YuMSV`Eq?4ybqJ*(fsPboBan&8c!857RDFEAmQ?}C4F zDviYg`IWP=>bYtM^}yK-Os4Yo748swZD8? z*UBCE)Y6i|H$i&h!wO}O^JNF70)w>6e(&f{{eKwy@3@}Z_YE9>*(4!J(vX&Ds#G*k znxdhhiL`fVXqstLNxi9UCpBu> zQ?$2Baxt1VA{9TiS%&4$&pIobHbzHe<(7Ts{`;Sp|NN7@1M1Nnd5=%wv{AWJXQQ5c z|77^&5{{r_PNmHIk-ZazjCYe9ahZ4TBL~jSJ^t(0uUQ6PljjInXiY0BExm)r>By-5 z=13D^A;zv_p^m!A{nN%wgJ04*aYTB(THd za+V=b4Q@5|3sZ(5oRtne!e12M{|DMi<&$=FZ+7Jt+`awW_M+miE%r2u5B`6uCihJ& zQv4{h;H=1JUAS@-OcSZ3tnBT@4{M2**W*Dod^lOcAR>AqUu8z=MY19cCFqBt@hz4?bR)I1h|E;?79p9wF5ip7%mK>6po`Sd>Z z9|7*E%E^s+Q=blVYG?X`G$4tJiiYuCS_{p?F{p5x7;+Q^j*7zv2O6Whkhu5)QzW4W zCrrXq97JQ<>}yLlKEC_A535f=KoA@g^B1m&Z-!#`224~QyAxD!SrB88eEen5O>p_? z)GE#lFDqj|e*7`m^{kp{$Q7ai6KWe)WwQN+Z4@>!Fh6E=p zib3-xyVZ5u+w5ql9e(K?dX=|KN#c)=;;4v{0H`WJ8<2mudj|{kb11g%z?a}Q;v1ZJ zq-|~aU|KK;l>6esRKMs#U+^r$(+*PsT2vbKCIa8Tz6(OLMysnVg(0{w|9wJ%09?!b z_e#cyyJy+;lO>#sF#|cBiv3;?+PiM>?#(Bq|@J3FtL7a~m;h)KgX|>QA>v zP`6Y{cGNh>v)0NaNJdIP8KNky45x7)je9fN8A1aYf8k~=yy(^~trqI45}Rw6ymn0l zs?&?mpo0$QSw=(m{NkdP`*KrL*gO>#6)(&)V9B#r+)WsAxB*yL!ZRowj0k~+-r9b& zYwklM;k|&aWm~9~cJ0}7_uV@oba-EZB=~zsP)3yZW@z8q!6)`yoaS=BNm=Yaeg#Z}`vpO`~N$q0ZuSp17!^t1EZ*?10xktJlL> zZ>Oi|4~RDtY|UOlGb$*ndeIpFZd8+wRT?T}NR4kjeR=?#nbN2v)afE<ShZLv*ra7ar>yxN#6lzQ+NT%9pQ<&JSs4jQR=fc@~{i|016owO`|L zr#p^5rKQDj6$Uwal6vO&#Y)imU5+MH<>d=XIVktBDIxP)Q}AoiJh;pIXh?pv z2S8nNmfLbV|O`2cQ zLj)!SNmf#ZZqj)zOA%N5YZR@ArPZ{!vKKbsO#A}}tHqbr7^j6FKl$N<=u-Q1yUSNg z_!nP4ZCz-Xte~w16hPQ<`5Cd{AO)h4@DPph{3Qa=JH=_Wu1<;VT=W?L;fSOMPG4W2;Q8S_wH?a#_MwvduU_%Mzvlpe2A!O%gjW+E#M@9! zd_tu;DmIRWkt+1;g&%V`L`d!8%IZ|yVd_H4gO7!vxZ8Fb-s{HE*SzqOV?fvQp>5H1 zo3d~gA<_g@!Ur99T$e{~c6Rr`fYIIiB7txlXwH5HWrZN#FCUyv9p`K0z5SS8P< zJd4v&JokSfG0TyyLxmr)1+$pmtjjT-V3ziWSHU`1_q1K%41AuL=#6HO9Xocsj});t zv&ewCsMk0*HxXZ@tO_qid#tR20<)M{)X>n-v07VL?7)z& z8X5_2e}4;Qg?o=_88tLCp!iP_k;)CG31^#3(l-yfU;W^CzH65(Aeyx{%gzr{xy>C= z*DVa+Wh4#Nr?I;)g%?I=#RCH0s_{~X?@V0kxwB^}z^k1J)ylsmdMxzsLGNTX>}w`?j})7MVa)rrIGUpU zE)eUzNj5Np1u{l2))5@44jzeMPL0~LY@MB*CmJ>McQP_s_ug;2n>}e-{a1oG(yVov z#ZoF_sA{<3Ow0>ce*WIp@YG}3s^`z&j)`Fe%Z2FmSYLvlKN!M8+92qC{Lm?aB^oNt z?u623n-6`R`x8+d%6NP%EG2ogn-TKhPNr}E{;`6%FXZbeJMA2}u`8#{Zsl1zfjk&tUUog2KAQ3^w)J;$k8mpoIv3W3FcX^Y*o~(OIeFT8!+9t55p-K;}Z5g7jmw0p#R&EA*r`D*NF#Q+A};XhqITgs_DeUrL{B6 zGpLLVA9&7EZQwAjkZ`}5SkM&1*8u4!I!`JMg2c)okeY{))?UOdG-dTe!()hUeCm9? zU#$(1i>6yw7(72c9nA288PHmro{}x;T9&EdB4`})Dje+VOK<72N6xkBBBYcKY@LPh zQdCdXDuvr%DJ)YiS9Z5XiA=6(DfE<>Yq#HyUiNl~Nc`zU-qw^{Qegg*<4`gKDfX-P zlvJBB9@UU}vYPoisni&IFFHDUerc%zMghc;1MdK77zAA?Hy5D2E9WfYi*2+vr$j>+ z2P`_(1il}ZLIh~NZgsQ+O=BEb-aREg1YHWnJaM-;1dt*s`I(klYym>yb-NUc)%LCG zS4){ji{3b;Z+rIM(Z51Pe|Nd`c_{j7?}Dm5PNYltG`eF~y%8sa@7=q2KSBdlYh*`8 z)UGb;1E{>Q@W`W&?fS&IR2mQu?etC>8d)PFHhs?(K^*w0Z&p}pby@z_0wB>5Sk_&2 zY5H6hbvzVWxxi>(73gD*TYC2F*+dn8Z5=fGuot-8yR$7+WK#LiBV>vMc8JSI*PucF zr$_5IZ6frlWBGG>`-0js|7_QY%U{lPzS%63pmcDkDRmzD{MJ;K&;FRCzJP(@wL9Q#*&)6+gc9bg7ACG%gc)p2n>1l^yylX@nDX9)uQF1 z`<=wIT_ICAQrOwpys)1q+RR@~!d&c)=c)(nHIZ#lfI@#eElXc{d_1o>Ni_k2VDfhz zj*p4m$s)cjuHJ;^xFaX=IDOcoFXGKyf4TJnnEC)mdcM0aCdfS9(gGdM1sW`fNw%gP zyb-x8hgQ5`=lweJkp^d1*EAFWBnHoATWW5dk2p&{LEo|Ws09s@QT{KSN7RE8vR&cR zu^JjXo?2qEed6LxW)Au7Hpz|QZ5kLfU z2+Hoq#MFlI8OWYFlRo*;Qsy@spUNeT;*=V}u@*XA4Zm}RRw+;~@>;eDpzFUD9S#w0 z1u&r@>IrmPX}-C<0j4j8A8u|iYHk;?`9{JS?gkwPI{K3T_ve6K&bOIabT1rbnAI6 z7(%sB3-XfqI(@gv4KS;L`sqFj5<*JuSROa^G?~SEAw;oOy!!2N>&xZ)ct&$>nPv#i zPW$=4ElbtBQ?NTnCFx2{qzE~!fH%bX+p)fo$&>5rrKjg;5QP_nhD6%tysW%@ z8cvy^w{Ne9s_Ycx=-olT9JE)hWg_-=o*yVH4?}J?jShM{m>40hUxPtgim=Mk{Xd7b z|9$X#r`?c|gVXm%I#=8&$;8bah<4Mr#&ugPo5y(@;~}Yh(oekp}GU#v!wdd$lF# zk@%y$MaV>`)ZSjpls{3l_2HvOlPv~8^>ABt-Co`;>qg5aBotcew`Uh6Wf8h!$OR1v zT`rMmA)i^}Jlkrl7%ih6e`)ZhhNk17;!yIEO7a(5nf9Z5;R0$FtAJVK4q7GGVqKY!?vZdpCjOvsErAdBB8w!58fur>z9 zk1gMix}bJq6BK-eR#0urGu732aTG%@nqgS|<&e4~@-G3}Z3xxy5v!(PrV8Zd=B9X3 z^0v=D+(6|s$>3eJ14>7vC%#)^B>o!q5QAwf^b>;<>D3}R5m`S)Z z))jhsg0R4O7KcM$x;D;6#jeu-f=Tj=`QFD4GkSAhGRH+Sez@wmyKV6{^V6`|tj82P zfBJOqp1lG3=LK&3IM&m1LLmxIW?Kb!KJ=TUoGY4;-P21OUK`JwrhqanPQTCt#a(h| zb0-3i-OPwu+*kEidW!1m)SgRUyO2TfUEO0|Lrcr3`jh`dh87o*0R3_k6#65!sphl$ z*mu@Ni?$=zaqWIyUhl2pGka9?uO`6|SRRLqxtr|yr1MnNdLOE*w|TBc+|iz%o~|(-p1d+= z7nh#lVL3?6FDz}^u%XeV_iGzGh3{kg*-d;qiLhcVJ3BPI>k>@(Y^FI(4q3baJBz)D z#+@o`GvrLx0Y7lgLFGkBPtTQB_+DwL7ww*=^_D00DfBehEb}_-7Tka(wC5YJGi*InCWw(`&r5yZ4=>{cwOsG z$m3)@=^c!WK|pqZr|^%iQ-fz##Wb9Q_)uA)joYdsw(Yb*kHM#f>A^J}-*1LY9Y6ag zXo^W6RTyJgncSq%slEQaPv4c|UPjOPHQEJV*T27c#~MbcO^MS%w0!;&f%LtP6(47h zj$QI9F9dOLPE5q->)p-|1E~^C!bTUn#9;yQdMcR(W4}jJ99>W<-&~W3X%AWFD6FGaL~2J1&PbMxrw6II@IN{ z#3kRKvE3XQ;D(E^BF@m-@$M)*?7pFiciq*=9fERhw8m)l2i{M~#+uR>VrJiwcfXnG3eNf&bSJEgi_0BuiQY-}o3O#fz@Y;G!C$?&|aA~F)ZA1Gz*MV$RHMP>T zT5&(=xJyO1w_F{n`_L(AcQ7O{2xUn9fsVl!NCO!6?AfD0-th8w*1*p9_LALTPbp_p z>dK3zUP9J2ztkQ&&?rBamHXBD!b7oF9dvM`g_j$^f~3+~%d;JH?g~F(&sc1?EgzY{ z7uhj^zC5D5jXJjb&Z$e9;?Go)G_&nk;RJrvd>J7cDO_()&nZL0_zUIf8;REjaTpOV ziAoF&%t|UMM7{s9y4n!PGdT_K`_5u23JbJK!5B3Z4NbggF@v3(l&tJ#z|xmd(xsa> z2NJzvvkcEWQW1z!)%~zg!Ee6%eM;H_e+&~er^a#WPb=svVn1Mm?BJ<-a%;NjE=ISB zHHc|$uwmME?A7BS9;X6<7z)X;i{;CqW~`RSy2REBG3wu(n%c5`%TdvnNh!~Sg&r6A zUnS#jFkjJd$aq~=pz*oJp7lpwJ>NlH-ARfq{KrOR;tugI>0uj+!2c=>j?CUZJ|~mT zzjd9n>U0_9g67}?40L0K-RwgiJ}g0@L_&he2t7kW{mQTL)nBjFJX#wc&J#z7zQ@8H z_@;*gJgA8lt2B;rFT)x}?ZYRq-DK>)@9kyoUFGveddGV+h1yRjU)XTcqf<&cT%+O2 z>Z?`3#d+vbXoNg&)?0Gy`TW@J2Z+JTv+fyJQ4XJsRRYW;3FE8Qa+s?>uUQmcg>-VL zJv;3}r5!SOLr3EjugEz7Y|FK)%iDoru3x_%;q8Q#mDQ~f`-R0t6)i1at<B2`gVCq`W_o{VETR*^DYN=)Mb&+N#%G zRTD$%nBu~lid#CYt8;Zrm~8KO*O&f7@>A3PY@Xb@vhi=*LRBMt$vQHt+QxUUp>%P0 zc1E>oE-j{%=SYrpN6eF1dRxcl#wA-PCu3MXr0C{mmQ5l_HU^f|er+&nTc98Fi(iHp zjEsz;DyM&_1=n{*P{yF>pbZI7cY;g)B#Nbsuq%J6J{IXG;C4)04l^BYdAo4DOk!$> zb>0GXt@xZm}5_@KR{$v){OB6F=HiP~w!~2;=0H zAB}Dfg99k6$V)ywI*hoKK9W(DVN;(gSn%WOdI&Fjkh>#wXh6qE?o0FPg0Zg`l^-*g z9Yi94*4()BhX}09{2jB5e^4Cqu%`ANRqQhW(P%jMfJ*=z@ns>^)F86+*Sg$Jx7{%l zN6+X?b6s4ZNkY_#np6$De^%Ksq=G`PIazPKT#z^HaKs_`s7TxGTjCXB3QA@Q>PIS1 zKmKa}u_;~aV};W)P15;8z-HynokJl(7@or4Qx3&^ipP(EDY~~B{x8zC?54NUiAzt> zy@<)b{0st*5beh9dlgaXTlZwm44f1db>!S)&7D5{&SW;v(Lh+mZqwD$=V;qF4ex~0 zzK7s~3O4bSw6xa-Y2%e?TK4x#T30j5xyql7fO-{?c-fOqA zco2#dd%3ZeU_wsFT|w_k(DxxAgRi_x!G^o|j#~|vsqm!Ur0S)l0fjlMltsA70+J~U zM=pW{i=QGR<708OsIF+;JHA7AEnA9qkk(hh-Mgs<`)L%Hbt+`z@`ki>trZR9D_Hew zURq^n<&LiItIMQ+si!#l>i|B&5QzyPmBYtX-}&6wcqN~)vGJ7rl%0d1=Sb3A+{=SP z;mdqYJ-YhS2`>4J__0*Kzoc{oQFj2xd%OF}=8=|)p;@mlOMHzzx}IDhBim1%+A_LB zm3d3wSGKj#xE-212sui@A6|^b#QOm+~@P23JWJ^Y@qAC_y^N7V6fhHqO4fEF%9l?OA6KxGu^+ zT;GnT;V+Uqg9;P^JSswC2hPp7NDQhbavtWVYX~DgH77#CL%Ci!H(Pr~51Pa;ioeM< ze1g&eL1EI)mPXOB7fhP!<-s&`XV<{zI&7X42xaA6cO?dNykI zt8XwuZM6e4OFGhsfH~WSI6Y(_%$v~26#*N{rDKX+R0&84pAUzWDy#jfLyj#kf>!7FC@OJYYXkci#J8bWEKxLft)h2Z;V zp|bdLC<%%^lMDZRsEP7O@|>!==Ev+_&u=;^U!J*0;4L}NZ~8`0$u{G0dxs4-!@^P;(=sC~xZV^0{K%!}UQJ6JRaxrO3HxU_ zN9@!B+|@L;0uMF+siQJ3v-uMDKX-Zi&KC{hEe>ks$DB!5QxlvO#9L)g*`~+DloPMt z%zop*(-X0;+uX^R==`20rkpY#Kj~d|m^+8;C!&&)T zm2=A5=n3D92N^#?02x2Of74QuUvd!78fD8-lSzgfMRIt$-Ln6@^Br8*Sw~mSQ|Yn} zN5tqY2D-AQN>8CjvxOlSSGDCsuhfihODL8tzNg!H4Qf;@(k|#rRyGY?va+| z+tS?6u;A`%{g}cCBHm_t_D!1@S-sYOeqAKqPa%L+pQ*V~K{+&;SQ*&h&z}}unM!c+ zbCRr%kyxewQovj@#?X|1fk|uszb}=yqP03-nYgFV9G_~Q%Eu+WvDW44j5V4fmdYiD ze}B@1QdObgg#fKQ&u*m$)_D!hGcz7%SUq1fFHQRSmmTh_jgY{KNw@nu%3vP~Lb%cC z$##i&P>D~3dCE#t}U~;vGS|g9LH_3fA8vc2Qs`- z-6^#Pp~=Y$_PSGppYNPMq@b{E>BZqs)i39I_gqLF2*Nh6j{GM=oD$|-dGP8HXdz z$Ny4;6OsRvH+4ltYir+wR|w+u=hd6ErX14SvJp^Uv;XJOJgQ1UYzg;B9XOZKckV-W zTB6#a;(~1mIQe5isH6c?B52ef`}cZo^PVc~^Rp6UeD&F^qMGM@S9N@ii-ZP`QEcj4 zgjZQA*l*>j)mQ!JahRMq zudMAaJ>5Jjs4|{#tYOBZt#_o~@R2K3pyWRxfa!KXI1zv2w1{QmKI}#Y;e?m_KJEX; z*Zk~%AIawKi)XkNZbnoPtC(2qHZ&-Skq`Bbk6Vw&dK*E};0y0>P=K4s$ckDocvNq> zbol@37r1`jIsrmFlt-WKz=5@f>k5XgzS~wSo98r_nOL}KRo2o7a7n`xv!tOR80pO6 zz`BALh&9?lE<~6eG5bX|IB?I2`_AV`3*WbCoGQ51BU&0ZIU7u0#>n;QzS>dr63sZs z7YC3NfDG7l9jzz?>Ix>*c(7i?3-!u0eCZ!VMJYNu9tDgK4&p;+vE9MD6!ez~tpbVx zUtcm3iU(BvJb(kQz_r(rA$FxIMj{4iN@H#pNT4vZ6K<34(_|5E7MRVDPF0_VWJ)I-CzZo>=|0!sVi4 zf2G2;y0(_^dP_Wih`>?6ou>*~JT{eg(<=V!q5S_>K~&7Arp8Vpnw4w1?Jr1MYfO-8zu1?0^G#&JLMeZl8Y zJzYXE2*-ysw*@<*wH(IqHSi%Y9cOBbl8!?LOOKW@fF?uDuVV7=_9?+wuLR>2K=@t( z@kLRgcypf$WzFU;UmD;RJswcad)eBV)jv@F{K zKL$rPr=+J>LsZrPSV3uQE&R23xS*imXx6&XYp{@zlb7!S0>%zp%-Y(TXu1J4(3)Ys z2SNjZ#bXUEy%Ed`ouj+XiGBcULLz6BdYoHUmXNXRf3nvAJ`C?s`^qUQ8p2eKoIx}U zMk;TwO&bBb^+qQermsAqAN%+=WoJzJ^Rvca4@Kv{wP=;=7WP#tO|vsc-L&UOR2yhq zTG+DGw8S?z^NiJvO&QH%CZk=7!Y}@av(;YlVOoQ95JNS5+N$9*r#P0ZbP#ip-`Cb| z_w@9{bv5h(MxTzlb}SG zCAdNxOxkjp(@i(oiKfaF%{Mn8yz~qB5ca2a>qRqfIf@t>F&6=dX6VFR9)7#n5$3V< zLuli627lZhs*iS?;%!IiH5~N{BufTex;$6KV8Z+q7~V3Lq$9mwT**N$F3byZQ96IV z1aHAC|Jq?5o`l52j}z^0cgy%}f1hnXn00mdLA|9`Y6zt3H(^tc3b{Y;A@W@}f>*aL>xFVcf zCg0Cf9zd`o*;=|7t!<{aFz~r`&5q~&x8B- zKY*ttBoJ_*=!SX(gEqb#;5Q*|8S{`%UAV9p{NyXARs3ogj6nDuM$W@fv5`%`P-Gr0 zjcc4CzA$r}2lY(CC=zmv%n^r$-DM2$nx%beW3#$ED8X^)&}EEpkuH2>Z*O0Wc1H?k zdpbbQuk6XD(5xvdFMk>I^HD_|VM?EK4MT-L2}wb>B>PYZnLiERO`ys5A|lLQbzi80 zD8%yTBtV?kcq^cUA-iQicC76{xu8r)Rx_d~zw4|8>?@^U@aLy>v%O_LJtT(DLl@TLgTTpp5tlPZ=2NTddkkK*q&NB`QMR@Qv4IXGl0 z{8_(xHzjp_yuzNBI@v|oWfQI&p;fI3De+&$ip*M1$z*fwDxC5V-dQf&a z2kdIIEsO_SuV>f3*W2-TNgq{L-k9i~K(qXTG1pr@V1 zw!)N*(_q=wy~YP>eSPrYs`ckh_*#jvIQ=X8q>VIRHW(AThEYyZH<8u(tnb9AIY~{q9$L9xW)AT;fWirDf@@VGT zJbwJ1-u8gOCS(0?(RUQWCrX7x)0TvOd3@U*-JTcB$LLuW#Z#TI`fN3JT9+BEUF$S> z#%TvtkWCbD24!21OcZzLxt*Bi`KnqV`eWUl|*8DZcSsoOE(=l}f2`^Uoz z-!!el`4mEz7pC?-XJzOa{;{;T&_#^7OQ-7F@amJnTS0Y>->Rj4ju|v9?3;4={NVRN z{4hA!ATh4@;QtmY2n~x0bzI$rHuN3<;-}(O1czF#U%yVhx-D8yON;hIszb30+RD84 zXs#5TI`4$(7AM}NNXM%XdLzgr5sNU*<~Cx9cD{$2J!F7->MwQVFf?#9a-btZ&aJBX zwLkvXWv&e>7p?`Ne9et3;A`upp{*@uUl$(A#}%(ZawiK7GS_MCSdBsDY>eGTmk zpZEDM%=3Hw8n2vT_*#dZ{4-qY!SN!Nl}&L_xE>Gcqg{EoOOfj!&d`aesRJM*q4wd0 zJJN4Wf_hx-UTW$xI3a1iv(k+_l1m%#yv+Y;$ag5ZNo>3B{$|j*k00MxS8J}<@sAcD zZ{M-22jTR733ND-(&1HO;E)y&uf}IF!y$>7M|JPDCL|tb12|P$RKP8a0W=-}?6~0@ zLj{>nl_-ip5F(x6Mn#Wtxe0^~ZBoBs=-7Z5@5+EJ}a$7awY(F9vA-q){gw~Om zj^uppnxG3^HKc|cu2-;n{(e4VpLXl=6(Apof?73@PNWEf#LD2KTmsN?uZSHBSUYt2 zSJp5)a1z8HFwo1$^x7T2TK?7<3;2Wg_}=mcgB2r*tN^mmwK?2ZAo;}R6hzwWkOwX% zZ(-o^)gNt-V9B?Git0)uvERlr{-;u)eejg|%HDO;m-~MFsD@64=f)hYy_TQB^h2Kd1HCm{M-c`xvGaPs9EA5u}Q(t_Mkk&Jwa|LNEb* zy|Hf^Bo!Z=lW}cOyB?;&O2D!=xmq11!*FdqQnX(fs4C=g26N{2Gc#it&-`_CeG4v% zR^RX#>4g*5XuC{d>PyoHPaPVZ_!095dV?fhPAaq_I{{BmI%?H!a-YJP>jP34Sy@>$ zp-jOS8F~;38E}NyG)G38Ul}9eA(A*~p>Bd^#*{!=Q&SGuMp-D+2a!5GmMlSv0Z2B4 zP~*0jm)1^9i{#`q9BagN596S%2TK?W@PtOw68g?s&RE@o!Q}XunGr%u` zUA_xNwdS*kT=nGmloWqxEx@T=!w?~)J%o^#wur+ zO;k)Q93y)!bdfM{5ksLjfl_L?>{l=hYirUy7yO;sEb^@n%n|&BH5v`zQR77F5urL_2t*|o1LC5~fJ=aF3m<8A=-^k5%4Uky0 z^2V`S3QQj4!`Ca&I^Ua5FGB*;URwzv)#;Nb*I*G`1P$9aI5>^Bta9Ok9Ci*QbLg4f z=ij-=B3>pqi$cJi?ajHZEcKi$?Ch%Q>SaV`F&N|7`K{-D2%$OsBL+x4HuDp<-8iXt z(bIQ)Gk|#YQsP^ms)-#ngH|zGIK3VtqNBhPiS-(qET0U_bO5@ z=y~wK;t&-aX<}`zqKY6nG$pAVqyqC9tCB>n8mOIyR~i69C{F2M7>4cr5dsl2+mH!E zf>74ckzaO{hlhul3k5I6a}Z5IkPI1b(^=*Wf4CUl#lVYt5FCh$hO?vc1_=1HF0Y7y z0_Ilw9o)tuP~-oaeOI`XlJfG7KDMD_Q4ZObgpo$6A6l!XuW$DMNs`Qp?AbsWIDFFxBW#5Jt2Xz@6oC)s*SdNH{ zg0uGl#fWKz+r+J5a>c}~6NT~!DU|fPy}MxQJR0hx(1;;$i?cr}LDRQlctZCbwR17w zh=GgoPm*~5Uupaw6J6;oH$AFXAcAk`(dH5Ig4E}y?%~l9d5x7@M)o|5IS|TVGeX65 z1!R?x=MysmtS}f86c_L8TYwWirc<$D0ln)}`tg)+(o|8x;9^uvDC`;6@}dN0i>d5n z5r6(?nb>}>-va6=Um#=S8$M*tC5S)}KY3NGNc+>Abaoa-afkHeA+%f#6Edr*?vk}z za+YWzG>x^fy?AjyNZb!FWkDntT+CB+fa0Q9CAf(Y0bU;~)l602$IyIEQvD#6*Vv9z zG;y9Dd5a^-84q6l&6;~9eNSyfc%Da32T4~{N|7?AY%g>pcpuQ%Mxy%E`Z}Zk35Ay6 zXqP2W8&UYop?8k$OxOuvBPjqWzC?^=@X_vzX`15S*mR8o_V70d*)a`G%lF_tl#HWh z95HfN1_F68Ht#lsF__wzYWHi=Y;fpn4J3Mv@&j}tcDErHI65Cm`j@;8^GNuIytewH z$;Big!H7`&TS%V1IP={Sm6jVE*$4snmR)ST24&swTPtFytc61h}=Mo#F(TsSlfCK&e4)>>RM_ng=lLW`lb=Nfzs{1B zM<#fJh4MpZCj&r-L$CJ0)by%bBueWi1li|ksSRTI6Td-Hjv^_`b&eYX!!2m1MiVA8 zAQyB=kn!ZI80T7RXPE8ASsFhzML|JclVQ8qP8W=pR)XX+fVrmg>D zTN^DLnIT$`Em#`;l5`8_@KbDOGgBJk;*;gFK7sD0R~Pt>mW9PZI@AkgI^Itr$nKNI$B&dP)9f3N z6;Z7`2Qehn%-ejV)|#7}qn{_PPCvw<^o!jy>#86-JCXg@Opl55n4igp@&h9Pw&5*c zQqBnsNa!9M)JO?6G_LITzP8txQsjt~2dUwhm)-Dmq!h(|R$V6z^VeAhJ-)eF>qwX1 z&>**!gq2{;Mzz_AiR*XnY#_#Xzs>JyGqSasvxJVtdGRL)3#Htfu}!=+J!o(*-G0E` zAn>7qhi@4jNBJ^UfQU-qf^y9l-{W5I4RGm)#%RcbnEJ2kws#v|IR6YjU#H4r>(AR# z@%knod>V9l>plK$JOHEc=YEc`HudlSx%2)O1KYb8dqw>Dc>7J3B;Zlv&y^z0b|%P2 zh(AXzagOcy{qxF6`?KwLovXdQ_ZWFpuf>JmKP+|rP~?T2&BH!E&IzXWl6Rk~e$W2< zgIJ^cY7|Aq9oF(#>6A9`vu~phJp1q0uy%&W`;oFm2geJ4@!AOFl=e{kxv)nj+4+uk zkJ3Aj|NG@WA@7<4ZS=Q{QO~)4GQ_?7&m{!vcb%LVJuW-H+JDPc)Ajjb(vylr zo^KtzbxN_rbUc-RJ{S-8=`(?(srz?6CbH(Ay)AoX=-^*31GXaCMZq#H$48h+?_H;V z-FD4i+~^nYAFxeoAmrFr2A;|zwijCMIOk{fNZvikW;FFM$%bdtY>3xiy{b}pAYpUW zeY>i2^ zo_^u_=N>-xu_`>Zo${RCQQ*0~ueG&kia*38^vsU^Ad&dr(0I6SimjheKB(H1`f-M<^5Mxx)Rs!|r}w2VPHF4t zq)}=dP4PMtaie$In0aLC^wnrV#sT%F(hjOrn@r9>@92og1r-j*Gjv>3jylQe#ZSKd zFj<*#I<(ud)2R3RP3qplvTyfvClb~6kS4x;Tw_7cPZyq)bSyx(`9C*$pth#0bDXWa zB54=t`is=g;`bS=Pc1TNwXDBps~G;=N_MiEyJHPWS%c?NbF=<_ZMFuNucddeOpegP zHVfwo?^T*BMNpLP+`D%R;&u2=&w0v6QsBSt$+CF+`kr!(KFO&Nfp!{E*I9BHcDh`s zr7~?(XOR4afdb5j4v}Fv&!OiZ{UtGrH(J6o(6}~wGEHaAz+k|1@~@&5$t4o0vCZLB z^Mcccu5x- z6{VbTmL7$8ab4`*0I)FMp!Yk04$``(r?*1L^|g*^Zxk8<;_$t%-@G|_hivz^;o&X& z_U#ie{k*}K z(uy&5Wda4wRc)O>Tm!qT!HrJqig&B?*h@B@}@pA2NLdFU0m z`2fOsj}!zSVqD?sC@G&N49yq-xi@Kf&17L=@vXoA4pQTyPoKzutQUbsYHVx5 zrPmj@yW;BB1~E!-Klh&TTd3e!9B_!#o!vxwlIOYZYP1NW(Pi5k{pT&sV+UD|JN4w7 zO7tRBl1QOVFN@N)8v7+EYxP|J6d$R{$-TR9|04m`;cNRqntwC8|I%JAKF zKvR)ItwoQ(n^;MKEEGJN+S<&A4{wD;8-xz;Rat366wX6kg%Z$N*8@evXigGp^DL)v z259DQ=Q@o)MS|l+(Qpwey1O{G4}^|FF3s?iPrRyjUqoK>$9_9B5bT6G#0MbKerWSx zMB_rsTf?ou=zLIbb+>2R+t?_HO8O+t1LU=x9#BlT>YxSaN<4p9mlFC}WYp^+`c$76 zj~jM*F58efMWYfOgM0zgnQ4L;#7+URsY|)Q-=6Qf2fDB#fC3jyO?`lB?0s@N#|cy& zQb-VSX9C=S!FKn6R7fXE)rB zdbHuN>!zy<{Z8IoT)VlG&9wcFu@6i1YNU)d({tFq5k6vkY@>Di27deALkZpwK0mXQ z+;lR+FUYTWPL(}5UyryrblzCNg!7|*#_0n)v5vckhBgBu)+zMRWxoTIcoWP4wW)3&Ypo{Uj}sm z@sx;dBR9;Dj-Me7%uN#}i$XLkdQX@Pzg*mT^q@Jx6dkgZtM2H5mE1xpY?dlM-x#%~~l zOR8yV*x=468IjqjRDMr~LRODiKPg1QD$(`=&uAc z;T>JLmdEv;<6aDOBG+|;#W#`CS7v4AXXu~Vh^T#iF(M-ODd2F+YOxUMI)y~_$*8fm z-Rk`$mCyVcZPI#qoXJ!evs4T#?$>B^M*D5j$Nr9v4x#}UYUMS%*v?!xWKvUhIG?P( z4Sc*5BB@fm{BDS22{m|_fT_w2AxIzWrC+K`+EKvo=}*$ z`!QGnylQkLXi=o{R9Q(=3J^9cFj4#QIeynnz08{~vAVpAG=Y}x{^JW2dLJ;rUMU7;4ctL_jj@xv`F7xLem3dV1zlbNg?Z zj*Dt%^oF36CGz3A>+$id7~w!pa{f7V|K#O{c+{D@g*i4|NAC~yiLjER3(U4hdHn(Z8S z%)TVv0EmgMyUiesPjmC!m*s_^IP$pDSz|tQ8uz^G@+gLZ!yB}PEyKzcwe<~DsAc+3 zR8>_cL9_KDjuqoxyg)cG!;}Y+DiN#aY)|Ifw?$CSIyCJX0*w`R%)zYSD?JubL~jHp!-wh@ zO$FVEn?hHGrSC2%2Si2DlZdFbfg$(WG~4w^o^sYlAZ={kvfh{Vbr(Yut@btY-O(|K ztsvd^LR|3r4TrF-#aNamF~;W_kAuO3<6|mNK0o3Pjg0gM1WrT~Fh{(t;~z&3SuV(V z`@f$y*C3I8t@AoaXDkzy`NHAs0m|49G9q0fy$qc)RUO(nCJ$;}XQ`6GuKGiL{my}n zdD6Ux4$05IuW`Wq5!}U>#Mss^4sapz4hY!&E3~pd%WdHZ>3wyz;`GI7nj=>>qqX<; z=+TTv4;}z(OmusPcB)5B2rrzVm+yrq<-T-Vyb3_?z)8PGJ*g0jW|wm%-%VT&YqIXZ?wAf2`FNBBT^fz(Yen{ zMK0BYdYKG6cPd+i&h6DgegpRb60FNE-TZ8b{bb*s>$Dx`w+!C$&mB?SkII%sMeTOn ztGvWU9cLs{+S{GfpzcsB_aeV}Cvrd1^-VGk_Gc3hbB;YcMd>3&BU2uxsik#_g%TjC zr194jm3T7bVYcI)VyW*Mp&cL+7=;kdlQ1Etc-jz{mX;>B+O}us&NU>m+=J_`2LuF6 zY~$cjM={F4AG9O^!V+Cq7{g{Zw8O6v10_f#XdiCn=exgoW$f!~b~q@uXj(PH zOpWv&YzWnCRfX%`P!3P_s>85ZMoyV!KS%)-wC=5;0=5_h#v7??^=TJ+h(Y}m06ha0 z&WJ{XlEu$Vep&cp;D?;28}rw2IreZzm3YEc+4!jHwyQ zI%zEXdUV4Prm>jLVYWK}@aELa`6GfndU+&L{Ap=pV`COJHnK{}{@wKS+x91f>Y*_N zEUiDRv_BLTtwsOm33Q8~mCu(*G~E`aHU>61%f_q3UVMYW*=B> zDW=4DiI#kNU5QuM8q&j88inr-BGT1@?H^2eY};WwCUAMYLrrM;a;Y_EyuU2VDGc-6 ze_wV7nuvyM)??`L31n0@KZlebZM??q56%=V!#5GMiC#E_v0~u9>Auy#y1>Vs2B1qp zC;X%_bBb*HcFd!wRmyd=L>D$CF_6;y`7IQrsJZKuKpZt-i|5p?;S?gHY-9wM6Qf)r|Ks z8X#LWvpd_P^G2m+m7_vd!8u-ipYJZ$v4=+hb)Uq{(Fu%%+INiVBr>eYR^ym%NXfKn z{i*it^8-U&TvI~<^jQkLXFXmG${&mKBWm5&-q}IBn-m|&ziV$L zC(uoBZf=a9sHv%m4krkJ2uqerqPISe4L2kZe^qjs589GHFQ5R@90uT>WoRSvlK3^h z4&fD#rVPX1CMLQi(f_*{(WL18E7lKatM(;OMWEBd&J+95arxJKIE(kdQCkZ{@S>5C z7eMdL{6;=f2hd%%1{FwA4y&OBFGw76jFOp`;N#m#a9JS1ZZld<&n8A5F(e}lqA-*0 z2}E}bUQY0tT6>S5TM@CD6XRtIgpBYm1UR-#t-ch0gK-#hVb3ia`yxxq`W5+(_BtG} zi1ate+SThZD?13&i$J_&qL0*zV#A5EP7UA?h&~v!o5eRVuV7Hcv-o(XqerRP&qbGj zu>IE8cN^{XX6a&RdLu3vDGLqX<@JQr4!`;oeC+Ftj8Y^L4pWscr4D?6#O9KfRUlSk zQhH!$=$;qnlWtZytcejJXR(8p3l*Q-8XoH}H=XE>$V51zoE8oB`*c-UFD0|ZKH*_DPIlba1Zc?1 zu>9CaPm=`{nnuWq4%5GMEOf0f*^Y4XIG?C=GHxbbg=6-6tLiro7`R~gA=8l~lz0kl zUR%CZU(`eNJk1#%2Qv>M2`x&JR6Gfeb4_0rCDSAMtySyc{<|B$^Z}k2D9(?ZxP9gO z^71n2NuAy`EMlx$=)m^mq=p)yOd{qzFj4vtt+v09%9$uJSE8;Ua`2SY)M+vG=V$gp z?L>pUeCqspD&RRvZ!Vu+clyOXl>0F0Uxt{4gc4S&e{Q#8Gymz4%tz(-M#^tyWMn9P z|AY=*K9Wc&uUer*#8Z%u#F66sYgq&nUF#E-nY-Vhqpt`1maJJDf-?eCfplj*&hw)0 zmsu4}KLusaJg(esXdP8<)~2plBX>kqb-Lu?YJTNCBHaaMy`R$O+sKG7F|N&0gN5=W zC$%JZ=vLh>GJ{K(ZUCv+k74kMZ_RQQPXo}nWNz+<@MfCcfhQgN`Eh7|z8DVHDY564 zDSCQ(q$g9~#bLL&pIRyLcjLszphQqWAAw`esBzT z%?k}fOIzDzc%U7Md1#&!&GGpe4#@O0L?zNe-a0$EV3=*Am5sE4N8<4jL;2WINH551 zV9VT@I+fC$H*}@}2&okyW5YIC%x%g0Xi)dTK;ua9;;d$VvaGGXCc(2j@<| z`kr%2kw~(DDiLa5U!6=i6iod5DFs6>l;s*RqwgF5q2>fd|%-3TuXvf@zl_WzE(%J{U*qN*WU}?{wZjo{tQvJ z8yen0YSxV=$_)&)E0bllwYASAULj%R^H_Gq%Dx1RQzFjYH`vqyme|zQmaT6$5OtQV zEeBs|RFTmXBy1cQZPfk!yFZqvn2e!l7~}ghoL+HGHM{pt201uYHfYKHsK~!<0@x+5|J+4I?<>{UMp% zqC0}`*a`L@kJW@OIp=)Gz#e_KHCwlCMPeWJ_%ZXbW3;#-%0uI)uPscmVyU4-x&hsg z<*B1#IR6ZADiUD`qc6Q-xWUBAx`C+i3E3CUN+w?3y1Gjbc0Lv`rNp%5K#1M4q&2&fjgT{{yYum#s~3gbg3 zq1}XM12v!+8~~f(oJEey<-~}`x>&P*M1!Jd8~zt>`4L!%i#pUIj zKulpnl_C|ni1-i5$>v?;VL5P4D6XvBnyUSd$XB4Vx()*G66|qEc4ddr=X=EFp;z&8 z-$ddMKaFz?%p;#RL|LkK*gyDqc+VPAbjI$&kZpHLqf`zuF|9$w0w4*|tID-}oG9@I zz4)$;sO2?=DI@ToWC4DV8+rem?Ys}R(>FycgNzsxZT6Tbop2FE6hJYApsJF3Ir!GC zbr5SztA#2Cz$28Xn=k_WGM;3Sp;bso2%rhdfto1uZ<{Mx!XG~-Fis*ov`nk#N)W9 zPs#G1t^BYh7epy$+JI8b`rxOaj0`~(%iicJaGPsRQr$#gCBXcy?n_xyapee%6PVzc z(X~Pt{9sNh98wr*4j$=!zuZTVOHPtbJ&g_Q-kwvNxgVvEZ%L>Tk+bt(&*x;-Uqaa; zHR?Y4;2?+Mi=~%ap9z7knfG|%vQ9!vTiXB;z{bg`95usM{}(TlK)zoFajThWu@`YV z!0~ZuMn{jY+Wr4hrvcdq?FV_TCp@-Y`Lv6Hfygh4agswaypf)n_1J8DeSdiijX@x= zz5r}y#N{}|n2k|CKGIAZSb$_Y!zBTYov{0&05%d%8UQH)r(D^Ge3SZRyYP>T;$D4r zC#F6N*gshQV}FEL`p`)DIk3(iG$h7%FUhf zZNFVfo_~XR;292y6O(k3!#-Oyn||qDsk~w$V8Id*^!QoBk39}&?K~QfL~7-ccKGmK zu2pVvH4|Tor8^;?GxqZRMceWcQx%L%exvCRh8XKR_3 zm8q@s<`5+fjW=u_PaU{VmH&EenPxj5+w<8wEj#|pr~O68KID(@35=bfQK{KcO0TM_ zQ(iY_UDo|8*8TO{v~qUWz@kr`CkL05q(Y*-)H>RjSh=ak1x&s46mI(J$!*cy$F`*^kr(4P-{1Ycm(S;O-#5;v;$_cv9`irg z+!wl}$Ad!MFv>37EAD{+Q;_hl`kfS`FpB6l#GVvX1~$jwo(~uEc+)> zcV3J*bJuZi(E$pLcq(Q}y=(Amr0&?-ic9wu$&?v4ynYEkk#a{^=prfYKRhxKTx3uyp+=Ab=6-Zd{54cUey6q81&-CoU6JzXXM8axl>0UD{{v4 z2miu4Dv@WVnXDcDg}|B{D;8FBqCBJ~B$B`vI9m-y3`O*Nh?@uvjrwV~YU|;wirHK& zE!Im@wj_lv__@#gY=zf^c*va)5shfilrq+C&z{e*XxQC#i`V{_&z-mWsCe{5M! zivP^Z_fJy)c2=6{U)&{lS|OpUv7dwd&P=aJ+%PnRAiyzp+`c7Mo`s5Il|0%Q!zVZy zWiZCZVQ#jh>RtNJ^F9}uR;x?{gN7!S83TMzftp-vZ$^jqWU+70LZQhG>MLq$xHWyQ znxPWbOBEwu?m9>P!>%M>T>tZ74Yq`SJKcvx@Mgud5&l0p`Trg5`wvU{cUCzSI7P`T z-W+e0({4w$CkXMWuw1;rRWFqjYssq_Wm^eiJjnE20a5;6N$r25%ey*bz6~yxA$;tNk^27JupPWRhA1g3Gfn)&eNt&FeKBN6`wkPnO z&BsPZ^NgU`0esBzAw&}9RVy&5_xj1RIrXVkbADsVz&zLDQ&8yDgK7>;HOHV4I2 z`0wG5zsa-aQDG_Nncn%~ot=MRHe_G6nHJNu^)A6KYW2$X{BOVd=s1o`tSuR<&G%%* z4Hbt!&rC{My#O*~7OMZ@#d0Rcf2#UM*5URH37d*qdC+C>_-3iQIU=*FF+Jw39H zJ8ql+^M6p9Dr?ygwxr<1NG-_Ef8&?%n^863Py=j_10v3nMEA)1eo(0AjMy9d;$bI( zCN}^pwpJ!k0D-dYZ43wE`hg%8BQ*`h!*>0v%z%e3GSTTy|3oB{fEeU^c7dqExg$bC zS%rqxWoMd=qJeI0x#c=^Ezm4IEU!O%%Ey^B$UaHm5x~ZOk24*4tfZp+6(}1gRnXRA8s`(~AdpYn{`m?6&#MhMsQzvc$@)!VW#fP&EG`3N z^)4=VYHxBuq0T?|#;_?DeSOIX?b-7C?ZSNpSOz68HJ0Jw;iJ(gZz;z)CP?{6eFFm< zsF*nc3;=~n8W)`gx%d_v+s^QdZ;t@JAep73MMEkGs@^|>ezoamEANUqask)cbcn(( z7?zQt3W06h=8J)-hU%n^g>7PPIKH2N(2UB3N0LkKRQ0|L7T{fj*D9?QC2S=PZ}W>7 zwgb@$Z!%aJu(3RNOME3*#p&{Vk2wUgap)QVdD=o?rR7;2j;yWz8Oy7D=wccR;1SzU>kH*l-qvA=>c>9?xaBe#AOUvOI7#E;Q+x}N zQ=20V&SK!WD*V4$H|^8K9rD~Cwk%!GDMdGC#R`s9;g*J^$UZ%CWL&{wBwMui6e%y$ zN(Gd}pbhpgg!|+2M~ zvrSQm-KMJByf_jfHwb{&QzjVL-u`m&$q-9x>mTlYcb;0yrpz>KkLKDf$ZC~+w4*3y z!nh(E_jmK|+Su9tB$Jg^el-e$Mcxrck|;39Tg7{cMS>TzF|a*WF>K50!N_nBScR#>!k^VfX}2T;y{ zT-a-_^Gwd&(`KLCM5Wis{i3!Okzd;Mz|eA6T*YhEsu|;8H2}C?a3nt0*iL-?+VYW= zah#Y55a(98?sF#yt3LtPobQODc0yLe8dtc_3sIk}=7j5T)5qw8KqUXx z><@}jsVIKQY>Bx~x0xlUwYNW64|5;C7)N?*l-uKgDuZz|jTM|nhg~W#ue+QpId*3yZE=z2ZK&2{*Wox^XkHGhhZxk&K-i7B8<52o(rbbL_6uNHMRUm9wo? zbe&8Td#5{>OJQf)X602>n*_jvFPG5R#;PJ}jK%S!xHOzF|5{_a!F9pSwzmA^!n*pa zE0MsB7mXiu;CX6IrSI1u*H6iyT(dv>Yt>Mvlb5}qwNUM_omUCb21({-W}S2$3q9sG zneZ7fY?EjcT zq*`~GFm{#hImFe+zJA@b#loX>Lx{5E6E@ROXg)!3AFsHDyZHOJkQU4xZFp&xo&oXJ z12Gx6xh6x|E((cgpZ}hby;@=R$+?TJqqL-?va?u)bQYWtGt&C305!m!m7edLbxX_Q zS)IB-wu0W&_ruHL+YNsVjTm>MWUY&rVAe&y@_SPyT42XK$0FCL|aICX8y91K%sGF6q^79ji@Sp!B%J89}CRL%S$9m{rVbCK~Xq4IX$+% zKgLl-b=Z!Dtg?15zW7ml>%fW)m{#Fr&Kbyt+Snl3?lDciAfQ%m{cfx)rNZfx`_GqG zJ@H@Yz=ADvvVs-3(3Ho9^1*l=Kp32_3+dCumwrML_&{qe<1zr~y%$HhmK9xEc5az? z;?@+r3B!VrhvW+A-yVPI9s)* zw1gq6Auvy~UB79c7F*&8V@#F~l&aFgrI~PWgKg}bnIR?Qia2cFpXc7oMBL&7kPx`H zRwNeml~NcWFWLQ!jk&{+GRFI$VM*BZ!2>!-O}z`ZYD{IU4hx6ft8oXmAnz~{jHB*u z@=t-^PgQGCr9PBWG&GObBLyL_8D>HW@mr)P6BCi6uuS|TAxocHsRf2TMhQ=|Y3<%pgi&deT^HE!eoZO%9hn zh{_Xd>MQc$x2W^a?bwXzL@BPyj1FvV7C%)aNc^@-ed-5r^<616AdUZU_moo;h&#k@ z*V1vwmE50~RDiSO^TUhA<}tG%Sk<)?aCJ%6&w5$EoHV6`U(TN&gAsSyb~ zDb>F*{-;)%wUKNk*jxFk3T>@b>1yC9)OwW{?DUF(OlV$JLOO+~kgW{rpZPn@vAfyGb|w93RqoH{^QD21?r zX9)*Fp3uw+6|Z)=fg}mFsL@%CF>DbmA$#CjN;dN-Sf|FZyFn1!qxPsKM_>jAVzT%w z#(eQhn=;8aQCKusIeTZe!}xqJ*#*_F$la=IlKrXfk#xKKUEMaiK+=Qc z7a0E2`1n(@?*qnw>qcP+D+Fd1UsH6Ju!>KBa8;FJp;0Z9S@mOj6YK|-=)v1bh8%!O z9r(62F`Q#dD-rhoq4zXk-+&sJi6N_- zKTky~cKfr>pswmkPY>_!+nBTm`geQ2PMon0D=YU0BB~3nosSNq&CPSFUtPq=l39bc zBbhMLAu3Ll+70I>gya?7**~;k(OhLSvv{MaMldFa@yJa%IrO2{Z}lmliXGm3uhn%w zRn49c`T7z+__HG%^+NnluzAS+qp4Ji21q&Id_=r|X<|GRjXW+>LIG!9>H3bm*2AM4 zd;f@;p+DQFZ>TD?F+%9-yD-_S+?6EXUTk#&<&EPQn`J{Im?#?YFcS1nhW(Lhoa-w4 zEU^kbIc@Xz(b6gsR?vDx%Q49c1W@szdcJ@t^Oopmla&_bwR6QWbTwq}z3KD@apQ2A z_26y_wdrZ=LvS6Bj#ayY<=8s3m;`LX7EesLi^Xz-RN-m#i>VG=vp;zX2IasVTE|~m zw=T5cak$*IgN5%|(QmQ3k}|4~Mm&BLJ}{hfb#}&2{V~E_#{kAhf^3`Hao6qAS+R4r z-wO?r%lt@9sNfWqmC0)EtNUt(i!9iFwjj&_f){M#xv1jj2zS>VUVDA=RK6vJZKTmv3N-4<+wB@aUX8PWXRCA?=gYX_+H!!%^*Ef@i8{ar-RsE#`YQzKhyc5@8+%gu08CpCxYngkfbL8ilbIQEEd2fg+ z7cNZ7m9h(~aU7IAxb=}_dN=_2uDi4Ie$XcH)22JUeBaYAap!3VKLP&X56NT^e}dVM zjD_t<*@+cVLrJa!BzcN13x+7#g00Vg`m@x`sdZ+Kz^bDo22@C=0iG|Y;tM)Pi`N95 zo{KiXqB_N+E%Pk!sgmspWsYlB&NnH;Lkmwd%o+^}H8X&BNcHuRVGd$oINN}XGeJ*# zQYX~;g#B?4bWBb6`X5F{#a4pXdQQ%ppe_1!%{S9b8u~t{r^B`*gIzh(PQ-%_BW-(P zpKX&a2;wQkxd_jlGJ2q)Yj?=gncgZjhoBJZZj-;{?iv!CndS=EdXJrfR*{sDQ^)D9 zI55;GtL6kI-;^ZGG^ky$6D6)le_JTQ|ed&1iY`tW84@h#suTjUK%j4B`-lW<) zJbII2mvi-0y?t(Hq^0HBWu@)Fcoh%le)h8?EQR!y`NRbGepXB|U%Z6g&2bI7jQG7t z+7*#JMgzL@9s;Swb3JpS{=1uyS3Y_RZO)vh6aVEYP7`Nd94X&WX7I_$6yy0(8{6qD znsYZt{u3TJ@EChx(50{w*iz{-#8*XSC64T3ONL?gz7dC z@xgw)9AGNM4Qa94W9b0cx{wEx@!G}K_hhTa>~1bSq-BOAH@i$FBnx!sv%VmU;6a5M zAq{4i?~&P?rA)uSyU|3JgK1`*>VEz*lLbhwq|NrkI!E3kYg0sM1~#x^2`Otu&Fj&V z`a_Xg`gRyM0-w=)e4Lx5itRL6j@bQHjx-cOf}mTsZn1P;!h42CvZ7|z$rX7XaNjRM zrRGgTtz5=M_hl}E$?t*}U1~;2!PI60jfCtzFdO)@wnF{nd-_1%)o0*wbMg)Be^Jq6 z7)9j)EWGgc-HPH2X3M(^JNM@2 zw~*{~*2gi3vHN7BqNiW!nGgK?YHaCg|5-+{ys@(Q+X$@b)4`-x;6*VMoERvmAP7wS ziA5p;ZCCIwJbYwg=4H&7x*o497xdOIg;xUL54WwlmN_3KpA-gLD`G~VsZ_?)wUw85KWP2?fqTWay!35j)JOJ zvK0Qf1OAL9;FU%y5d0S}+26#19)z%%7^!$c^(S0iDYlE*F*IlkfSoobco;~XQ_wP? zEIudT03dNeRiCyh%g@G3FyYES1rPCG(I(b?Ld_e$_6NzGCmDY%RzUrz{mRO7ko$dM=!to>vo%LlD-~<>-6Olf`AkONck=uWf6#Yog4HbD@#_|A;saB zoF4w~Oa5$~=e#5V^z+^e=#M#moHr6UwM}P}GtsZENh^js?5q(tOHFKi1vOJa*(q&a zcevZUvZbsKp|y3|%cn9tI|Koa^4_9XoxJBBw`oN%?`S20eaw&0zZ}ccswbH|4KSyTh&j7b*{zE#|#~6#26|EoNkd2hbGHyyhC#x>w%5 z|B-Z3&7TZ`6chLm4R)~XiZp%1s@^{ylxd8uWp7$qZgB8(#@v2zUh;lPp?7f1j~_;A z{vN{iU3HI>xTDYVz39!7=mz))q?{6_sj*0f7Re<4H%n{K<3>>8)DZ?FQR8GF5|)cBe~az2t&?S4WS5CKUF-E$OYAmsXgz zXLDVBHM)i+%xn^OQG%xzQVT5$^us8|wR<`yKvd$hYd;Kt$A<3$Mr9VtNm3^Ir9QvL z)s1A0fKo1KPn-)z=+t6~D84kF573trb0cIV|+%Whjk0V~uWoSi)!)2SBj$ z`xoE&whR`KT{gsH`7WKxYY)y(8EK2le!3cx&IT&NhLwb;9epe$D`ytU`EIc5;q)U- zdBA~41=p9M Date: Mon, 17 Apr 2023 12:17:11 +0200 Subject: [PATCH 09/57] typo fix --- .../Pinotti/README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md index 5bd12ae15..8bd452025 100644 --- a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md +++ b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md @@ -4,7 +4,7 @@ - [Dynamic Programming](#Dynamic-Programming) - [Introduzione](#introduzione) - - [Weighted Interval Scheduling](#Weighted-Interval-Scheduling) + - [Weighted Interval Scheduling Problem](#weighted-interval-scheduling-problem) - [Segmented Least Squares Problem](#segmented-least-squares-problem) - [Knapsack Problem](#Knapsack-Problem) - @@ -45,7 +45,7 @@ Qui di seguito verranno descritti i principali problemi e algoritmi di risoluzio
-## Weighted Interval Scheduling +## Weighted Interval Scheduling Problem Abbiamo visto che un algoritmo **greedy** produce una soluzione ottimale per l'Interval Scheduling Problem, in cui l'obiettivo è accettare un insieme di intervalli non sovrapposti il più ampio possibile. **Il Weighted Interval Scheduling Problem** è una versione più **generale**, in cui ogni intervallo ha un certo valore (o peso), e vogliamo accettare un insieme di valore massimo. @@ -359,7 +359,7 @@ ci basterà solo cambiare la parte di ricorsione scrivendola come segue: > $OPT(i, w) = max(OPT(i-1, w), v_i + OPT(i-1, w-w_i))$ - Esiste un algoritmo che trova una soluzione in tempo polinomiale entro l'1% di quella ottima. -## Riepilogo +### Riepilogo - Scegliere gli oggetti da mettere nello zaino per massimizzare il valore, non superando il peso massimo. - $OPT[i,w] = max\{ v_i + OPT[i-1, w-w_i], OPT[i-1,w] \}$ @@ -370,7 +370,9 @@ ci basterà solo cambiare la parte di ricorsione scrivendola come segue: - In questo problema la matrice può essere costruita per righe o per colonne - Per trovare $(i,w)$ leggo solo da una riga, per costrure la riga $i$ ho solo bisogno della riga $i-1$, la soluzione è in $S[n,z]$. Posso quindi trovare una soluzione utilizzando una matrice con sole due righe **SPAZIO =** $O(z)$ ma cosí non posso ricostruire la soluzione. ---- +
+ +---ARRIVATO QUI # RNA Secondary Stucture From bb920dd43cacbce617686557b75dec1d7e39a8b7 Mon Sep 17 00:00:00 2001 From: CristianCosci Date: Mon, 17 Apr 2023 15:43:39 +0200 Subject: [PATCH 10/57] Aggiunto e integrato RNA problem --- .../Pinotti/README.md | 112 ++++++++++++------ .../Pinotti/imgs/rna1.png | Bin 0 -> 57148 bytes .../Pinotti/imgs/rna2.png | Bin 0 -> 66404 bytes .../Pinotti/imgs/rna3.png | Bin 0 -> 47817 bytes .../Pinotti/imgs/rna4.png | Bin 0 -> 93505 bytes 5 files changed, 77 insertions(+), 35 deletions(-) create mode 100644 magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/rna1.png create mode 100644 magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/rna2.png create mode 100644 magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/rna3.png create mode 100644 magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/rna4.png diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md index 8bd452025..fd6822fe4 100644 --- a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md +++ b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md @@ -2,13 +2,13 @@ ## Indice -- [Dynamic Programming](#Dynamic-Programming) +- [Dynamic Programming](#dynamic-programming) - [Introduzione](#introduzione) - [Weighted Interval Scheduling Problem](#weighted-interval-scheduling-problem) - [Segmented Least Squares Problem](#segmented-least-squares-problem) - [Knapsack Problem](#Knapsack-Problem) + - [RNA Secondary Stucture](#rna-secondary-stucture-problem) - - - [RNA Secondary Stucture](#RNA-Secondary-Stucture) - [Pole Cutting](#Pole-Cutting) - [Matrix Chain Parentesizathion](#Matrix-Chain-Parentesizathion) - [Optimal Binary Search Tree](#Optimal-Binary-Search-Tree) @@ -177,7 +177,7 @@ Questo approccio fornisce un secondo algoritmo efficiente per risolvere il probl ### Linear Least Square Nel capitolo precedente la risoluzione al problema Wheighted Interval Scheduling richiedeva una ricorsione basata su scelte ***binarie***, in questo capitolo invece introdurremo un algoritmo che richiede ad ***ogni step un numero di scelte polinomiali*** (_multi-way choice_). Vedremo come la programmazione dinamica si presta molto bene a risolvere anche questo tipo di problemi. -#### **Descrizione del Problema** +### **Descrizione del Problema** > Dato un insieme $P$ composto di $n$ punti sul piano denotati con $(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)$ e supponiamo che $x_1 < x_2 < \ldots < x_n$ (sono strettamente crescenti). Data una linea $L$ definita dall'equazione $y = ax + b$, definiamo l'_errore_ di $L$ in funzione di $P$ come la somma delle distanze al quadrato della linea rispetto ai punti in $P$. > > Formalmente: @@ -185,7 +185,7 @@ Nel capitolo precedente la risoluzione al problema Wheighted Interval Scheduling -#### Goal +### Goal Il goal dell'algoritmo è quello di cercare la linea con errore minimo, che può essere facilmente trovata utilizzando l'analisi matematica. La linea di errore minimo è $y = ax + b$ dove: @@ -202,7 +202,7 @@ Le formule appena citate sono utilizzabili solo se i punti di $P$ hanno un andam Come è evidente dalla figura non è possibile trovare una linea che approssimi in maniera soddisfacente i punti, dunque per risolvere il problema possiamo pensare di rilassare la condizione che sia solo una la linea. Questo però implica dover riformulare il goal che altrimenti risulterebbe banale (si fanno $n$ linee che passano per ogni punto). -#### Goal +### Goal Formalmente, il problema è espresso come segue: > Come prima abbiamo un set di punti $P = \{(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)\}$ strettamente crescenti. @@ -218,7 +218,7 @@ $$f(x) = E + C L$$ Il goal del Segmented Least Square Problem è quindi quello di trovare la partizione di **penalità minima**. -#### Funzionamento +### Funzionamento Seguendo la logica alla base della programmazione dinamica, ci poniamo l'obiettivo di suddividere il problema in sotto-problemi e per farlo partiamo dall'osservazione che l'ultimo punto appartiene ad una partizione ottima che parte da un valore $p_i$ fino a $p_n$ e che possiamo togliere questi punti dal totale per ottenete un sotto-problema più piccolo.
Supponiamo che la soluzione ottima sia denotata da `OPT(j)`, per i punti che vanno da $p_1$ a $p_j$, allora avremo che la soluzione ottima al problema dato l'ultimo segmento che va da $p_i$ a $p_n$, sarà dalla seguente formula: @@ -234,8 +234,7 @@ $$ OPT(j) = \min_{1 \leq i \leq j}(e_{i,j} + C + OPT(i - 1)) $$ -***N.B.*** -$OPT(j) = 0$ if $j=0$ +***N.B.*** : $OPT(j) = 0$ if $j=0$ $e(i,j)$ = somma degli errori quadrati per i punti $p_i, p_{i+1},..., p_j$ @@ -274,7 +273,7 @@ function Find-Segments(j) { } ``` -#### Costo +### Costo La parte che computa gli errori ha costo in tempo $O(n^3)$. La parte che trova il valore ottimo ha costo in tempo $O(n^2)$. In spazio l'algoritmo ha costo $O(n^2)$ ma può essere ridotto a $O(n)$. @@ -283,7 +282,7 @@ Quindi: - L'algoritmo ha costo $O(n^3)$ in tempo e $O(n^2)$ in spazio. Il collo di bottiglia è la computazione di $e(i, j)$. $O(n^2)$ per punto per $O(n)$ punti. - Questo tempo può essere ridotto applicando la memoization alle formule per il calcolo dell'errore viste in precedenza portandolo a $O(n^2)$ per il tempo e $O(n)$ per lo spazio. -#### Riepilogo +### Riepilogo - Trovare il numero di segmenti su un piano cartesiamo per minimizzare i quadrati degli errori - $OPT[j] = min_{1 \le i \le j } \{ OPT[i-1] + e(i,j) + c \}$ - $c$: il costo da pagare per ogni segmento @@ -338,7 +337,7 @@ for j = 1 to n return M[n,W] ``` -#### Costi +### Costi | Funzione | Costo in tempo | Costo in spazio | | --------------- | ----------------------------- | ----------------------------- | | `Subset-Sum` | $\Theta(nW)$ | $\Theta(nW)$ | @@ -350,7 +349,7 @@ return M[n,W] #### Osservazioni -- La particolarità di questo algoritmo è che avremmo 2 insiemi di sotto problemi diversi che devono essere risolti per ottenere la soluzione ottima. Questo fatto si riflette in come viene popolato l'array di memoization dei valori di $OPT$ che verranno salvati in un array bidimensionale (dimensione dell'input non polinomiale, pseudopolinomiale, perchè dipende da due variabili).
+- La particolarità di questo algoritmo è che avremmo 2 insiemi di sotto problemi diversi che devono essere risolti per ottenere la soluzione ottima. Questo fatto si riflette in come viene popolato l'array di memoization dei valori di $OPT$ che verranno salvati in un array bidimensionale (dimensione dell'input non polinomiale, pseudopolinomiale, perchè dipende da due variabili).
- A causa del costo computazionale $O(nW)$, questo algoritmo fa parte della famiglia degli algoritmi _pseudo polinomiali_, ovvero algoritmi il cui costi dipende da una variabile di input che se piccola, lo mantiene basso e se grande lo fa esplodere. Ovvero, la versione del problema con decisione è **NP-Completo**. - Per recuperare gli oggetti dall'array di Memoization la complessità in tempo è di $O(n)$. - Questa implementazione funziona anche per il problema più generale del Knapsack, @@ -372,57 +371,100 @@ ci basterà solo cambiare la parte di ricorsione scrivendola come segue:
----ARRIVATO QUI +## RNA Secondary Stucture Problem +La ricerca della struttura secondaria dell'RNA è un problema a 2 variabili risolvibile tramite il paradigma della programmazione dinamica. Come sappiamo il DNA è composto da due filamenti, mentre l'RNA è composto da un filamento singolo. Questo comporta che spesso le basi di un singolo filamento di RNA si accoppino tra di loro. + +L'insieme della basi può essere visto come l'alfabeto $\{A, C, U, G\}$ e l'RNA è una sequenza di simboli presi da questo alfabeto. + +Il processo di accoppiamento delle basi è dettato dalla regola di _Watson-Crick_ e segue il seguente schema: + +$$ + A - U \ \ \ \text{ e } \ \ \ C - G \ \ \ \text{ (l'ordine non conta)} +$$ -# RNA Secondary Stucture + **RNA:** stringa $b_0b_1...b_n$ su alfabeto {A, C, G, U} -**Secondary Structure:** set di coppie $S = \{(b_i,b_j)\}$ che soddisfa le seguenti proprietà: +### Descrizione del Problema +In questo problema si vuole trovare la struttura secondaria dell'RNA che abbia **maggiore energia libera (ovvero il maggior numero di coppie di basi possibili)**. Per farlo dobbiamo tenere in considerazione alcune condizioni che devono essere soddisfatte per permettere di approssimare al meglio il modello biologico dell'RNA. -- Ogni coppia è del tipo **A-U, U-A, C-G** o **G-C** -- se $(b_i,b_j)\in S \implies i \lt j-4$ (no sharp turns) -- se $(b_i,b_j)$ e $(b_k, b_l) \in S$ allora **NON** può essere $i < k < j < l$ (non crossing) +Formalmente la struttura secondaria di $B$ è un insieme di coppie $S = \{(i,j)\}$ dove $i,j \in \{1,2,\ldots,n\}$, che soddisfa le seguenti condizioni: -**Goal:** Data una molecola di RNA trovare una struttura secondaria che massimizza il numero di coppie. +1. **No sharp turns**: la fine di ogni coppia è separata da almeno 4 basi, quindi se $(i,j) \in S$ allora $i < j - 4$ +2. Gli elementi di una qualsiasi coppia $S$ consistono di $\{A, U\}$ o $\{C, G\}$ (in qualsiasi ordine). +3. $S$ è un _matching_: nessuna base compare in più di una coppia. +4. **Non crossing condition**: se $(i, j)$ e $(k,l)$ sono due coppie in $S$ allora **non** può avvenire che $i < k < j < l$. -## Dynamic Version + +
+_La figura (a) rappresenta un esempio di Sharp Turn, mentre la figura (b) mostra una Crossing Condition dove il filo blu non dovrebbe esistere._ -$OPT(i,j)$ = massimo numero di coppie nella sottostringa $b_ib_{i+1}...b_j$ +### Goal +Data una molecola di RNA trovare una struttura secondaria che massimizza il numero di coppie. -distinguo 3 diversi casi: +### Funzionamento +Per mappare il problema sul paradigma della programmazione dinamica, come prima idea, potremmo basarci sul seguente sotto-problema: +>affermiamo che $OPT(j)$ è il massimo numero di coppie di basi sulla struttura secondaria $b_1 b_2 \ldots b_j$, +>per la Non Sharp Turn Condition sappiamo che $OPT(j) = 0$ per $j \leq 5$ e sappiamo anche che $OPT(n)$ è la soluzione che vogliamo trovare. -1. if $i \ge j -4$: +Il problema sta nell'esprimere $OPT(j)$ ricorsivamente. Possiamo parzialmente farlo sfruttando le seguenti scelte: +1. $j$ non appartiene ad una coppia +2. $j$ si accoppia con $t$ per qualche $t \leq j - 4$ - $OPT(i,j) = 0$ +- Per il primo caso basta cercare la soluzione per $OPT(j - 1)$ +- Nel secondo caso, se teniamo conto della Non Crossing Condition, possiamo isolare due nuovi sotto-problemi: uno sulle basi $b_1 b_2 \ldots b_{t-1}$ e l'altro sulle basi $b_{t+1} \ldots b_{j-1}$. + - Il primo si risolve con $OPT(t-1)$ + - Il secondo, dato che non inizia con indice $1$, non è nella lista dei nostri sotto-problemi. A causa di ciò risulta necessario aggiungere una variabile. -2. $b_j$ non viene accoppiata: + - $OPT(i,j) = OPT(i,j-1)$ +Basandoci sui ragionamenti precedenti, possiamo scrivere una ricorsione di successo, ovvero:
+sia $OPT(i,j)$ = massimo numero di coppie nella nella struttura secondaria $b_i b_{i+1} \ldots b_j$, grazie alla non sharp turn Condition possiamo inizializzare gli elementi con $i \geq j -4$ a $0$. Ora avremmo sempre le stesse condizioni elencate sopra: +- $j$ non appartiene ad una coppia +- $j$ si accoppia con $t$ per qualche $t \leq j - 4$ -3. $b_j$ si accoppia con $b_t$ per una qualche $i \le t \lt j -4$: +Nel primo caso avremmo che $OPT(i,j) = OPT(i, j-1)$, nel secondo caso possiamo ricorrere su due sotto-problemi $OPT(i, t-1)$ e $OPT(t+1, j-1)$ affinché venga rispettata la non crossing condition. +Riassumendo, distinguiamo 3 diversi casi: +1. if $i \ge j -4$: + $OPT(i,j) = 0$ dalla no-sharp turns condition +2. $b_j$ non viene accoppiata: + $OPT(i,j) = OPT(i,j-1)$ +3. $b_j$ si accoppia con $b_t$ per una qualche $i \le t \lt j -4$: $OPT(i,j) = 1 + max_t\{OPT(i, t-1) + OPT(t+1, j-1)\}$ +Possiamo esprimere formalmente la ricorsione come segue: +> $OPT(i, j) = \max(OPT(i, j-1), \max_t(1+OPT(i, t-1)+OPT(t+1, j-1))),$ +> dove il massimo è calcolato su $t$ tale che $b_t$ e $b_j$ siano una coppia di basi consentita (sotto le condizioni (1) e (2) dalla definizione di struttura secondaria). +> + +
+_Iterazioni dell'algoritmo su un campione del problema in questione_ $ACCGGUAGU$ + +Possiamo infine formalizzare il tutto con il seguente pseudo-codice: ```pseudocode +Initialize OPT(i, j) = 0 whenever i ≥ j − 4 + for k = 5 to n – 1 for i = 1 to n – k - j← i+k - Compute M[i, j] using formula + j ← i + k + Compute M[i, j] using the previous recurrence formula return M[1,n] ``` -Risolvere prima i sottoproblemi più piccoli. +### Costo +Ci sono $O(n^2)$ sotto-problemi da risolvere e ognuno richiede tempo $O(n)$, quindi il running time complessivo è di $O(n^3)$. Costo computazionale: $O(n^3)$ time e $O(n^2)$ space -## Riepilogo +### Riepilogo -- trovare il modo di accoppiare le basi di RNA con delle regole +- Trovare il modo di accoppiare le basi di RNA con delle regole - $OPT[i,j] = max\{ max_{i \le t \le j-5} \{ 1 + OPT[i, t-1] + OPT[t+1, j] \}, OPT[i, j-1] \}$ -- spazio = matrice riempita per diagonali **SPAZIO =** $O(n^2)$ -- per calcolare ogni OPT pago n **TEMPO =** $O(n^3)$ -- per costruire una soluzione mi serve una matrice dove $S[i,j] = max_t$ **SPAZIO_S =** $O(n^2)$ +- Spazio = matrice riempita per diagonali **SPAZIO =** $O(n^2)$ +- Per calcolare ogni OPT pago n **TEMPO =** $O(n^3)$ +- Per costruire una soluzione mi serve una matrice dove $S[i,j] = max_t$ **SPAZIO_S =** $O(n^2)$ --- diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/rna1.png b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/rna1.png new file mode 100644 index 0000000000000000000000000000000000000000..643c22de0240dadf8e22796b19c976e227915e7c GIT binary patch literal 57148 zcmc$`byQbh*Dp$gG)Olh(y5ZtrG$XeAzjiS-O{Z{iF9{LcO%{1CDI_BXKkM6ec#`6 z&l&grb;kWe$8wMTU3;$C^E2l%SmCV{1}X_E3=9m$o7dv+U|`_7!Ji})B=BTtt)m$R zh6?75xQLQ7?CwIK=KHBNp~EGwC}AW`vLJY5F>G#3yvqGXDg2@WE6WAbon(i|x^0-w z;MAZR%}Nc`TeYunAyk*5S9b!xKSsk43wOyK5B^>MRabkSI92<_>FuDv`MnPzs)9Eh zUMdVCy)Z1Qf-vrd*Qfvb$G@HnK4K@cm;dLp78BS2gMHNh{tO z3JnmY`hT6M)OD7-hOZI!bXW%W`yM=YtIVAHcj0ZEqe@c3apwp#zvY*w8tY5lhD6AO zJRVhlXn-d!$mlU*5Qa4Y1oGD-)_9;Qw7h|HZK(Gm>gzfY{`8H#!*M%U#P=%0DbQwI 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�D*I#=<}p5B+#iohFrO*#g5fbJSD-AIsPD;U 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 literal 0 HcmV?d00001 diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/rna2.png b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/rna2.png new file mode 100644 index 0000000000000000000000000000000000000000..52c1a336b067c75d45caab66bd99ee22aaa110bd GIT binary patch literal 66404 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
DwvWx*B)abHz%@fO?TiL}WMzENFv& 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 literal 0 HcmV?d00001 diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/rna3.png b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/rna3.png new file mode 100644 index 0000000000000000000000000000000000000000..6312219c605173602535884cfa395e72924ba220 GIT binary patch literal 47817 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

X{`FPIShlk9+FGv>MRNB5><7%2UJogYF$Kb<9 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 literal 0 HcmV?d00001 From c1bd2c5530dcff9a11b264b7ade76e10972040f5 Mon Sep 17 00:00:00 2001 From: CristianCosci Date: Mon, 17 Apr 2023 19:30:01 +0200 Subject: [PATCH 11/57] Ricontrollato tutto fino a RNA compreso --- .../Pinotti/README.md | 123 +++++++++--------- 1 file changed, 61 insertions(+), 62 deletions(-) diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md index fd6822fe4..f98455de8 100644 --- a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md +++ b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md @@ -28,13 +28,13 @@ # Dynamic Programming ### Introduzione -Dopo aver visto tecniche di design per vari tipi algoritmi (ad esempio Ricerca, Ordinamento ecc...) quali +Dopo aver visto tecniche di design per vari tipi algoritmi (ad esempio Ricerca, Ordinamento ecc...) quali: - **Greedy** in cui si costruisce una soluzione in modo incrementale, ottimizzando ciecamente alcuni criteri locali. - **Divide et Impera** nella quale si suddivide un problema in sottoproblemi indipendenti, si risolve ogni sottoproblema e ne si combina la soluzione con gli altri sottoproblemi per formare la soluzione al problema originale, è possibile introdurre una tecnica più potente ma anche più complessa da applicare: la **Programmazione Dinamica** (Dynamic Programming). L'idea su cui si fonda è simile alla tecnica **Divide et Impera** ed è essenzialmente l'opposto di una strategia **Greedy**. In sostanza si esplora implicitamente tutto lo spazio delle soluzioni e lo si decompone in una serie di **sotto-problemi**, grazie ai quali si costruiscono le soluzioni per **sotto-problemi sempre più grandi** finché non si raggiunge il **problema di partenza**. -Una tecnica di programmazione dinamica è quella della `Memoization`, che è utile per risolvere una moltitudine di problemi, in cui risultati intermedi vengono salvati in cache e riutilizzati più avanti. +Una tecnica di programmazione dinamica è quella della `Memoization`, che è utile per risolvere una moltitudine di problemi. In sostanza, nella programmazione dinamica si verifica spesso la situazione in cui lo stesso sotto-problema deve essere risolto più volte, per questo motivo i risultati intermedi (le soluzioni a questi sotto-problemi) vengono salvati in una struttura dati (utilizzata come cache) e riutilizzati ogni qualvolta si presenta un sottoproblema già risolto. In questo modo, lo stesso sotto-problema non viene risolto/computato più volte ma soltanto una, diminuendo di molto il costo computazionale (in tempo) dell'algoritmo al prezzo di un costo in spazio (per salvare le soluzioni ai sotto-problemi risolti). Per applicare la programmazione dinamica è necessario creare un *sotto-set* di problemi che soddisfano le seguenti proprietà: 1. Esiste solo un **numero polinomiale di sotto-problemi** @@ -61,17 +61,17 @@ Questo problema ha l'obiettivo di ottenere un insieme (il più grande possibile) - $\mathcal{O}_j$: rappresenta la soluzione ottima al problema calcolato sull'insieme $\{1, \ldots, j\}$ - $OPT(j)$: rappresenta il valore della soluzione ottima $\mathcal{O}_j$ -### **Goal** +#### **Goal**: - L'obiettivo del problema attuale è quello di trovare un sottoinsieme $S \subseteq \{1, \ldots, n\}$ di intervalli mutualmente compatibili che vanno a massimizzare la somma dei pesi degli intervalli selezionati $\sum_{i \in S} v_i$. -#### Greedy Version - Earliest Finish Time First +#### Greedy Version - *Earliest Finish Time First* Considero i job in ordine non decrescente di $f_j$, aggiungo un job alla soluzione se è compatibile con il precedente. È corretto se i pesi sono tutti 1, ma **fallisce** clamorosamente nella versione pesata. ### Dynamic Version -Come prima cosa definiamo il metodo per calcolare $OPT(j)$. Il problema è una _scelta binaria_ che va a decidere se il job di indice $j$ verrà incluso nella soluzione oppure no, basandosi sul valore ritornato dalla seguente formula (si considerano sempre i job in ordine non decrescente rispetto a $f_i$): +Come prima cosa definiamo il metodo per calcolare $OPT(j)$. Il problema è una ***scelta binaria*** che va a decidere se il job di indice $j$ verrà **incluso** nella soluzione **oppure no**, basandosi sul valore ritornato dalla seguente formula (si considerano sempre i job in ordine non decrescente rispetto a $f_i$): $$ OPT(j) = max(v_j + OPT(p(j)), \ \ OPT(j-1)) @@ -83,7 +83,7 @@ $$ v_j + OPT(p(j)) \geq OPT(j-1) $$ -che se vera, includerà $j$ nella soluzione ottimale. +che **se vera**, includerà $j$ nella soluzione ottimale. ### **Brute Force** Scrivendo tutto sotto forma di algoritmo ricorsivo avremmo che: @@ -99,7 +99,7 @@ function Compute-Opt(j){ return max(vj+Compute-Opt(p(j)), Compute-Opt(j − 1)) } ``` -Costruendo l'albero della ricorsione dell'algoritmo si nota che la complessità temporale è **esponenziale**. Questo perchè seguendo questo approccio calcolo più volte gli stessi sottoproblemi che si espandono come un albero binario. Il numero di chiamate ricorsive cresce come la **sequenza di fibonacci**. +Costruendo l'albero della ricorsione dell'algoritmo si nota che la complessità temporale è **esponenziale**. Questo perchè seguendo questo approccio, venogno calcolati più volte gli stessi sottoproblemi, i quali si espandono come un albero binario. Il numero di chiamate ricorsive cresce come la **sequenza di fibonacci**. @@ -122,7 +122,7 @@ M-Compute-Opt(j) return M[j] ``` -Costruisco una matrice dove salvo i risultati dei sottoproblemi. Quando devo accedere ad un sottoproblema prima di ricalcolarlo controllo se è presente nella matrice. +Costruisco una matrice dove salvo i risultati dei sottoproblemi. Quando devo accedere ad un sottoproblema, prima di ricalcolarlo, controllo se è presente nella matrice. Costo computazionale = $O(n\log{n})$: @@ -150,7 +150,7 @@ Numero di chiamate ricorsive $\leq n = O(n)$ ### Bottom-Up (iterative way) Usiamo ora l'algoritmo per il Weighted Interval Scheduling Problem sviluppato nella sezione precedente per riassumere i principi di base della programmazione dinamica, e anche per offrire una prospettiva diversa che sarà fondamentale per il resto delle spiegazioni: ***iterare su sottoproblemi, piuttosto che calcolare soluzioni in modo ricorsivo***. -Nella sezione precedente, abbiamo sviluppato una soluzione in tempo polinomiale al problema progettando prima un **algoritmo ricorsivo in tempo esponenziale** e poi **convertendolo (tramite memoization) in un algoritmo ricorsivo efficiente** che consultava un array globale M di soluzioni ottimali per sottoproblemi. Per capire davvero i concetti della programmazione dinamica, è utile formulare una versione essenzialmente equivalente dell'algoritmo. **È questa nuova formulazione che cattura in modo più esplicito l'essenza della tecnica di programmazione dinamica e servirà come modello generale per gli algoritmi che svilupperemo nelle sezioni successive**. +Nella sezione precedente, abbiamo sviluppato una soluzione in tempo polinomiale al problema, progettando: prima un **algoritmo ricorsivo in tempo esponenziale** e poi **convertendolo (tramite memoization) in un algoritmo ricorsivo efficiente** che consultava un array globale M di soluzioni ottimali per sottoproblemi. Per capire davvero i concetti della programmazione dinamica, è utile formulare una versione essenzialmente equivalente dell'algoritmo. **È questa nuova formulazione che cattura in modo più esplicito l'essenza della tecnica di programmazione dinamica e servirà come modello generale per gli algoritmi che svilupperemo nelle sezioni successive**. ```pseudocode Sort jobs by finish time so that f1 ≤ f2 ≤ ... ≤ fn. @@ -164,11 +164,11 @@ Questo approccio fornisce un secondo algoritmo efficiente per risolvere il probl ### Riepilogo - $OPT[j] = max\{ v_j + OPT[p_j], OPT[j-1] \}$ -- per ogni j scelgo se prenderlo o meno -- alcuni sottoproblemi vengono scartati (quelli che si sovrappongono al j scelto) -- per ogni scelta ho due possibilità **TEMPO =** $O(n \log n)$ -- lo spazio è un vettore di $OPT[j]$ **SPAZIO =** $O(n)$ -- per ricostruire la soluzione uso un vettore dove per ogni $j$ ho un valore booleano che indica se il job fa parte della soluzione **SPAZIO_S =** $O(n)$ +- Per ogni $j$ scelgo se prenderlo o meno +- Alcuni sottoproblemi vengono scartati (quelli che si sovrappongono al $j$ scelto) +- Per ogni scelta ho due possibilità **TEMPO =** $O(n \log n)$ +- Lo spazio è un vettore di $OPT[j]$ **SPAZIO =** $O(n)$ +- Per ricostruire la soluzione uso un vettore dove per ogni $j$ ho un valore booleano che indica se il job fa parte della soluzione **SPAZIO_S =** $O(n)$
@@ -185,8 +185,8 @@ Nel capitolo precedente la risoluzione al problema Wheighted Interval Scheduling -### Goal -Il goal dell'algoritmo è quello di cercare la linea con errore minimo, che può essere facilmente trovata utilizzando l'analisi matematica. +#### **Goal**: +- Il goal dell'algoritmo è quello di ***cercare la linea con errore minimo***, che può essere facilmente trovata utilizzando l'analisi matematica. La linea di errore minimo è $y = ax + b$ dove: @@ -202,13 +202,12 @@ Le formule appena citate sono utilizzabili solo se i punti di $P$ hanno un andam Come è evidente dalla figura non è possibile trovare una linea che approssimi in maniera soddisfacente i punti, dunque per risolvere il problema possiamo pensare di rilassare la condizione che sia solo una la linea. Questo però implica dover riformulare il goal che altrimenti risulterebbe banale (si fanno $n$ linee che passano per ogni punto). -### Goal -Formalmente, il problema è espresso come segue: - -> Come prima abbiamo un set di punti $P = \{(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)\}$ strettamente crescenti. -> Denoteremo l'insieme dei punti $(x_i, y_i)$ con $p_i$. -> Vogliamo partizionare $P$ in un qualche numero di segmenti, ogni numero di segmenti è un sottoinsieme di $P$ che rappresenta un _set_ contiguo delle coordinate $x$ con la forma $\{p_i, p_{i+1}, \ldots, p_{j-1}, p_j\}$ per degli indici $i \leq j$. -> Dopodiché, per ogni segmento $S$ calcoliamo la linea che minimizza l'errore rispetto ai punti in $S$ secondo quanto espresso dalle formule enunciate prima. +#### **Goal**: +- Formalmente, il problema è espresso come segue: + > Come prima abbiamo un set di punti $P = \{(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)\}$ strettamente crescenti. + > Denoteremo l'insieme dei punti $(x_i, y_i)$ con $p_i$. + > Vogliamo partizionare $P$ in un qualche numero di segmenti, ogni numero di segmenti è un sottoinsieme di $P$ che rappresenta un _set_ contiguo delle coordinate $x$ con la forma $\{p_i, p_{i+1}, \ldots, p_{j-1}, p_j\}$ per degli indici $i \leq j$. + > Dopodiché, per ogni segmento $S$ calcoliamo la linea che minimizza l'errore rispetto ai punti in $S$ secondo quanto espresso dalle formule enunciate prima. Definiamo infine una **penalità** per una data partizione come la somma dei seguenti termini: - Numero di segmenti in cui viene partizionato $P$ moltiplicato per un valore $C > 0$ (più è grande e più penalizza tante partizioni) @@ -216,10 +215,10 @@ Definiamo infine una **penalità** per una data partizione come la somma dei seg $$f(x) = E + C L$$ -Il goal del Segmented Least Square Problem è quindi quello di trovare la partizione di **penalità minima**. +Il goal del Segmented Least Square Problem è quindi quello di **trovare la partizione di penalità minima**. ### Funzionamento -Seguendo la logica alla base della programmazione dinamica, ci poniamo l'obiettivo di suddividere il problema in sotto-problemi e per farlo partiamo dall'osservazione che l'ultimo punto appartiene ad una partizione ottima che parte da un valore $p_i$ fino a $p_n$ e che possiamo togliere questi punti dal totale per ottenete un sotto-problema più piccolo.
+Seguendo la logica alla base della programmazione dinamica, ci poniamo l'obiettivo di suddividere il problema in sotto-problemi e, per farlo, partiamo dall'osservazione che l'ultimo punto appartiene ad una partizione ottima che parte da un valore $p_i$ fino a $p_n$ e che possiamo togliere questi punti dal totale per ottenete un sotto-problema più piccolo.
Supponiamo che la soluzione ottima sia denotata da `OPT(j)`, per i punti che vanno da $p_1$ a $p_j$, allora avremo che la soluzione ottima al problema dato l'ultimo segmento che va da $p_i$ a $p_n$, sarà dalla seguente formula: $$ @@ -280,16 +279,16 @@ In spazio l'algoritmo ha costo $O(n^2)$ ma può essere ridotto a $O(n)$. Quindi: - L'algoritmo ha costo $O(n^3)$ in tempo e $O(n^2)$ in spazio. Il collo di bottiglia è la computazione di $e(i, j)$. $O(n^2)$ per punto per $O(n)$ punti. -- Questo tempo può essere ridotto applicando la memoization alle formule per il calcolo dell'errore viste in precedenza portandolo a $O(n^2)$ per il tempo e $O(n)$ per lo spazio. +- Questo tempo può essere ridotto applicando la `memoization` alle formule per il calcolo dell'errore viste in precedenza portandolo a $O(n^2)$ per il tempo e $O(n)$ per lo spazio. ### Riepilogo - Trovare il numero di segmenti su un piano cartesiamo per minimizzare i quadrati degli errori -- $OPT[j] = min_{1 \le i \le j } \{ OPT[i-1] + e(i,j) + c \}$ - - $c$: il costo da pagare per ogni segmento +- $OPT[j] = min_{1 \le i \le j } \{ OPT[i-1] + e(i,j) + C \}$ + - $C$: il costo da pagare per ogni segmento - $e$: il costo degli errori - Risolvo n problemi **SPAZIO =** $O(n)$ - Per ogni problema ho n scelte ( $O(n^2)$ ) ma per computare $e(i,j)$ **TEMPO =** $O(n^3)$ -- Per ricostruire la soluzione salvo un vettore dove $S[j] = min_i$ **SPAZIO_S** = $O(n)$ +- Per ricostruire la soluzione salvo un vettore dove $S[j] = min_i$ **SPAZIO** = $O(n)$
@@ -298,13 +297,12 @@ Quindi: ### Descrizione del problema Il **Problema dello Zaino** (o *Subset Sum*) è formalmente definito come segue: -> Ci sono $n$ oggetti $\{1, \ldots, n\}$, a ognuno viene assegnato un peso non negativo $w_i$ (per $i = 1, \ldots, n$ ) e viene dato anche un limite $W$ (limite capienza dello zaino). +> Ci sono $n$ oggetti $\{1, \ldots, n\}$, a ognuno viene assegnato un peso non negativo $w_i$ (per $i = 1, \ldots, n$ ) e viene dato anche un limite $W$ (capienza dello zaino). > L'obbiettivo è quello di selezionare un sottoinsieme $S$ degli oggetti tale che $\sum_{i \in S}w_i \leq W$ e che questa sommatoria abbia valore più grande possibile. Questo problema è un caso specifico di un problema più generale conosciuto come il Knapsack Problem, in cui l'unica differenza sta nel valore da massimizzare, che per il Knapsack è un valore $v_i$ e non più il peso. -Si potrebbe pensare di risolvere questi problemi con un algoritmo greedy ma -purtroppo non ne esiste uno in grado di trovare efficientemente la soluzione ottima.
+Si potrebbe pensare di risolvere questi problemi con un algoritmo greedy ma purtroppo non ne esiste uno in grado di trovare efficientemente la soluzione ottima.
Un altro possibile approccio potrebbe essere quello di ordinare gli oggetti in base al peso in ordine crescente o decrescente e prenderli, tuttavia questo approccio fallisce per determinati casi (come per l'insieme $\{W/2+1, W/2, W/2\}$ ordinato in senso decrescente) e l'unica opzione sarà quella di provare con la programmazione dinamica. ### Goal @@ -313,11 +311,11 @@ Possiamo riassumere il goal di questa tipologia di problemi come segue: > L'obbiettivo è quello di selezionare un sottoinsieme $S$ degli oggetti tale che $\sum_{i \in S}w_i \leq W$ e che questa sommatoria abbia valore più grande possibile. ### Dynamic Version -Come per tutti gli algoritmi dinamici dobbiamo cercare dei **sotto-problemi** e possiamo utilizzare la stessa intuizione avuto per il problema dello scheduling (scelta binaria in cui un oggetto viene incluso nell'insieme o meno). Facendo tutti i calcoli di dovere otteniamo la seguente ricorsione: -> se $w < w_i$ allora $OPT(i, w) = OPT(i-1,w)$ altrimenti -> $OPT(i, w) = max(OPT(i-1, w), w_i + OPT(i-1, w-w_i))$ +Come per tutti gli algoritmi dinamici dobbiamo cercare dei **sotto-problemi** e possiamo utilizzare la stessa intuizione avuto per il problema dello scheduling (scelta binaria in cui un oggetto viene incluso nell'insieme o meno). Facendo tutti i calcoli di dovere, otteniamo la seguente ricorsione: +> - se $W < w_i$ allora $OPT(i, W) = OPT(i-1,W)$; +> - altrimenti $OPT(i, W) = max(OPT(i-1, W), w_i + OPT(i-1, W-w_i))$ -- Nella prima parte analizziamo il caso in cui l'elemento che vogliamo aggiungere va a superare il peso massimo residuo $w$, dunque viene **scartato**. +- Nella prima parte analizziamo il caso in cui l'elemento che vogliamo aggiungere va a superare il peso massimo residuo $W$, dunque viene **scartato**. - Nella seconda parte andiamo ad analizzare se l'aggiunta o meno del nuovo oggetto va a migliorare la soluzione (viene quindi **selezionato**) di $OPT$ che è definita come: $$ OPT(i, w) = \max_{S} \sum_{j \in S} w_j @@ -330,10 +328,10 @@ for w = 0 to W for j = 1 to n for w = 1 to W - if(wj>w) - M[j,w]←M[j–1,w] + if(wj>W) + M[j,W]←M[j–1,W] else - M[j, w] ← max { M [j – 1, w], vj + M [j – 1, w – wj] } + M[j, W] ← max { M [j – 1, W], vj + M [j – 1, W – wj] } return M[n,W] ``` @@ -341,7 +339,7 @@ return M[n,W] | Funzione | Costo in tempo | Costo in spazio | | --------------- | ----------------------------- | ----------------------------- | | `Subset-Sum` | $\Theta(nW)$ | $\Theta(nW)$ | -| `Find-Solution` | $O(n)$ | Costo in tempo | +| `Find-Solution` | $O(n)$ | | - $O(1)$ per ogni elemento inserito nella tabella - $\Theta(nW)$ elementi della tabella @@ -352,22 +350,20 @@ return M[n,W] - La particolarità di questo algoritmo è che avremmo 2 insiemi di sotto problemi diversi che devono essere risolti per ottenere la soluzione ottima. Questo fatto si riflette in come viene popolato l'array di memoization dei valori di $OPT$ che verranno salvati in un array bidimensionale (dimensione dell'input non polinomiale, pseudopolinomiale, perchè dipende da due variabili).
- A causa del costo computazionale $O(nW)$, questo algoritmo fa parte della famiglia degli algoritmi _pseudo polinomiali_, ovvero algoritmi il cui costi dipende da una variabile di input che se piccola, lo mantiene basso e se grande lo fa esplodere. Ovvero, la versione del problema con decisione è **NP-Completo**. - Per recuperare gli oggetti dall'array di Memoization la complessità in tempo è di $O(n)$. -- Questa implementazione funziona anche per il problema più generale del Knapsack, -ci basterà solo cambiare la parte di ricorsione scrivendola come segue: - > se $w < w_i$ allora $OPT(i, w) = OPT(i-1,w)$ altrimenti - > $OPT(i, w) = max(OPT(i-1, w), v_i + OPT(i-1, w-w_i))$ +- Questa implementazione funziona anche per il problema più generale del Knapsack, ci basterà solo cambiare la parte di ricorsione scrivendola come segue: + > - se $W < w_i$ allora $OPT(i, W) = OPT(i-1,W)$, + > - altrimenti $OPT(i, W) = max(OPT(i-1, W), v_i + OPT(i-1, W-w_i))$ - Esiste un algoritmo che trova una soluzione in tempo polinomiale entro l'1% di quella ottima. ### Riepilogo - Scegliere gli oggetti da mettere nello zaino per massimizzare il valore, non superando il peso massimo. - $OPT[i,w] = max\{ v_i + OPT[i-1, w-w_i], OPT[i-1,w] \}$ -- scelgo se prendere o meno l'oggetto $i$ -- Ho bisogno di una matrice $n \times z$ ($z$ è la capacità dello zaino). problema pseudopolinomiale perchè varia in base a $z$ **SPAZIO =** $O(nz)$ -- Per riempire una cella devo solo controllare due valori **TEMPO =** $O(nz)$ -- Per costruire una soluzione ho una matrice dove per ogni $S[i,j]$ ho un booleano che indica se appartiene alla soluzione **SPAZIO_S =** $O(n^2)$ **TEMPO_S =** $O(n+z)$ +- **Scelgo se prendere o meno l'oggetto** $i$ +- Ho bisogno di una matrice $n \times W$ ($W$ è la capacità dello zaino). problema pseudopolinomiale perchè varia in base a $W$ $\rightarrow$ **SPAZIO =** $O(nW)$ +- Per riempire una cella devo solo controllare due valori $\rightarrow$ **TEMPO =** $O(nW)$ - In questo problema la matrice può essere costruita per righe o per colonne -- Per trovare $(i,w)$ leggo solo da una riga, per costrure la riga $i$ ho solo bisogno della riga $i-1$, la soluzione è in $S[n,z]$. Posso quindi trovare una soluzione utilizzando una matrice con sole due righe **SPAZIO =** $O(z)$ ma cosí non posso ricostruire la soluzione. +- Per trovare $(i,w)$ leggo solo da una riga, per costrure la riga $i$ ho solo bisogno della riga $i-1$, la soluzione è in $S[n,W]$. Posso quindi trovare una soluzione utilizzando una matrice con sole due righe **SPAZIO =** $O(W)$ ma cosí non posso ricostruire la soluzione.
@@ -393,42 +389,43 @@ Formalmente la struttura secondaria di $B$ è un insieme di coppie $S = \{(i,j)\ 1. **No sharp turns**: la fine di ogni coppia è separata da almeno 4 basi, quindi se $(i,j) \in S$ allora $i < j - 4$ 2. Gli elementi di una qualsiasi coppia $S$ consistono di $\{A, U\}$ o $\{C, G\}$ (in qualsiasi ordine). -3. $S$ è un _matching_: nessuna base compare in più di una coppia. -4. **Non crossing condition**: se $(i, j)$ e $(k,l)$ sono due coppie in $S$ allora **non** può avvenire che $i < k < j < l$. +3. $S$ è un **matching**: nessuna base compare in più di una coppia. +4. **Non crossing condition**: se $(i, j)$ e $(k,l)$ sono due coppie in $S$ allora **non può avvenire che** $i < k < j < l$. -
-_La figura (a) rappresenta un esempio di Sharp Turn, mentre la figura (b) mostra una Crossing Condition dove il filo blu non dovrebbe esistere._ + +*La figura (a) rappresenta un esempio di Sharp Turn, mentre la figura (b) mostra una Crossing Condition dove il filo blu non dovrebbe esistere.* ### Goal Data una molecola di RNA trovare una struttura secondaria che massimizza il numero di coppie. ### Funzionamento Per mappare il problema sul paradigma della programmazione dinamica, come prima idea, potremmo basarci sul seguente sotto-problema: ->affermiamo che $OPT(j)$ è il massimo numero di coppie di basi sulla struttura secondaria $b_1 b_2 \ldots b_j$, ->per la Non Sharp Turn Condition sappiamo che $OPT(j) = 0$ per $j \leq 5$ e sappiamo anche che $OPT(n)$ è la soluzione che vogliamo trovare. +> - Affermiamo che $OPT(j)$ è il massimo numero di coppie di basi sulla struttura secondaria $b_1 b_2 \ldots b_j$, +> - per la Non Sharp Turn Condition sappiamo che $OPT(j) = 0$ per $j \leq 5$ +> - e sappiamo anche che $OPT(n)$ è la soluzione che vogliamo trovare. Il problema sta nell'esprimere $OPT(j)$ ricorsivamente. Possiamo parzialmente farlo sfruttando le seguenti scelte: 1. $j$ non appartiene ad una coppia 2. $j$ si accoppia con $t$ per qualche $t \leq j - 4$ - Per il primo caso basta cercare la soluzione per $OPT(j - 1)$ -- Nel secondo caso, se teniamo conto della Non Crossing Condition, possiamo isolare due nuovi sotto-problemi: uno sulle basi $b_1 b_2 \ldots b_{t-1}$ e l'altro sulle basi $b_{t+1} \ldots b_{j-1}$. +- Nel secondo caso, se teniamo conto della **Non Crossing Condition**, possiamo isolare due nuovi sotto-problemi: uno sulle basi $b_1 b_2 \ldots b_{t-1}$ e l'altro sulle basi $b_{t+1} \ldots b_{j-1}$. - Il primo si risolve con $OPT(t-1)$ - Il secondo, dato che non inizia con indice $1$, non è nella lista dei nostri sotto-problemi. A causa di ciò risulta necessario aggiungere una variabile. Basandoci sui ragionamenti precedenti, possiamo scrivere una ricorsione di successo, ovvero:
-sia $OPT(i,j)$ = massimo numero di coppie nella nella struttura secondaria $b_i b_{i+1} \ldots b_j$, grazie alla non sharp turn Condition possiamo inizializzare gli elementi con $i \geq j -4$ a $0$. Ora avremmo sempre le stesse condizioni elencate sopra: +sia $OPT(i,j)$ = massimo numero di coppie nella nella struttura secondaria $b_i b_{i+1} \ldots b_j$, grazie alla **non Sharp turn Condition** possiamo inizializzare gli elementi con $i \geq j -4$ a $0$. Ora avremmo sempre le stesse condizioni elencate sopra: - $j$ non appartiene ad una coppia - $j$ si accoppia con $t$ per qualche $t \leq j - 4$ -Nel primo caso avremmo che $OPT(i,j) = OPT(i, j-1)$, nel secondo caso possiamo ricorrere su due sotto-problemi $OPT(i, t-1)$ e $OPT(t+1, j-1)$ affinché venga rispettata la non crossing condition. +Nel primo caso avremmo che $OPT(i,j) = OPT(i, j-1)$, nel secondo caso possiamo ricorrere su due sotto-problemi $OPT(i, t-1)$ e $OPT(t+1, j-1)$ affinché venga rispettata la **non crossing condition**. Riassumendo, distinguiamo 3 diversi casi: 1. if $i \ge j -4$: - $OPT(i,j) = 0$ dalla no-sharp turns condition + $OPT(i,j) = 0$ dalla **no-Sharp Turns condition** 2. $b_j$ non viene accoppiata: $OPT(i,j) = OPT(i,j-1)$ 3. $b_j$ si accoppia con $b_t$ per una qualche $i \le t \lt j -4$: @@ -462,10 +459,12 @@ Costo computazionale: $O(n^3)$ time e $O(n^2)$ space - Trovare il modo di accoppiare le basi di RNA con delle regole - $OPT[i,j] = max\{ max_{i \le t \le j-5} \{ 1 + OPT[i, t-1] + OPT[t+1, j] \}, OPT[i, j-1] \}$ -- Spazio = matrice riempita per diagonali **SPAZIO =** $O(n^2)$ -- Per calcolare ogni OPT pago n **TEMPO =** $O(n^3)$ -- Per costruire una soluzione mi serve una matrice dove $S[i,j] = max_t$ **SPAZIO_S =** $O(n^2)$ +- Spazio = matrice riempita per diagonali $\rightarrow$ **SPAZIO =** $O(n^2)$ +- Per calcolare ogni $OPT$ pago $n$ $\rightarrow$ **TEMPO =** $O(n^3)$ +- Per costruire una soluzione mi serve una matrice dove $S[i,j] = max_t$ $\rightarrow$ **SPAZIO =** $O(n^2)$ +--- +--- --- # Pole Cutting From 3d47cce23fc1053d88d1c22740d1b98b5878235c Mon Sep 17 00:00:00 2001 From: CristianCosci Date: Tue, 18 Apr 2023 11:19:46 +0200 Subject: [PATCH 12/57] Aggiunto/Integrato Pole Cutting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Aggiunto Pole Cutting in versione più approfondita ed estesa --- .../Pinotti/README.md | 198 +++++++++++++----- .../Pinotti/imgs/pole1.png | Bin 0 -> 88146 bytes .../Pinotti/imgs/pole2.png | Bin 0 -> 69057 bytes .../Pinotti/imgs/pole3.png | Bin 0 -> 67106 bytes .../Pinotti/imgs/pole4.png | Bin 0 -> 124205 bytes 5 files changed, 145 insertions(+), 53 deletions(-) create mode 100644 magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/pole1.png create mode 100644 magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/pole2.png create mode 100644 magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/pole3.png create mode 100644 magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/pole4.png diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md index f98455de8..0b877e7cc 100644 --- a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md +++ b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/README.md @@ -43,6 +43,13 @@ Per applicare la programmazione dinamica è necessario creare un *sotto-set* di Qui di seguito verranno descritti i principali problemi e algoritmi di risoluzione nell'ambito della programmazione dinamica. +#### **Recap**: +- Programmazione Dinamica + - Risolve un problema combinando sottoproblemi + - I sottoproblemi vengono risolti al massimo una volta, memorizza le soluzioni nella tabella + - Se un problema presenta una sottostruttura ottimale, la programmazione dinamica è spesso la scelta giusta + - Gli approcci Top-Down e Bottom-Up hanno lo stesso runtime +
## Weighted Interval Scheduling Problem @@ -463,91 +470,176 @@ Costo computazionale: $O(n^3)$ time e $O(n^2)$ space - Per calcolare ogni $OPT$ pago $n$ $\rightarrow$ **TEMPO =** $O(n^3)$ - Per costruire una soluzione mi serve una matrice dove $S[i,j] = max_t$ $\rightarrow$ **SPAZIO =** $O(n^2)$ ---- ---- ---- +
-# Pole Cutting +## Pole Cutting -Pole di lunghezza n. Può essere tagiato in più parti di lunghezza intera. Poles di lunghezza $i$ vengono venduti al prezzo $p(i)$. +### Descrizione del problema -**Goal:** Trovare il maggior possibile guadagno tramite il taglio del pole. +Il **Problema del Taglio delle Aste (Pole Cutting)** può essere definito nel modo seguente: -possiamo tagliare il pole il $2^{n-1}$ modi diversi +> Data un'asta di lunghezza $n$ pollici e una tabella di prezzi $p_i$ per $i = 1, ..., n$, **determinare il ricavo massimo $r_n$ che si può ottenere tagliando l'asta e vendendone i pezzi**. Si noti che, se il prezzo $p_n$ di un'asta di lunghezza n è sufficientemente grande, la soluzione ottima potrebbe essere quella di non effettuare alcun taglio. -## Recursive Top-Down +La figura qui di seguito mostra un esempio di problema Pole Cutting.
+ -Considero la soluzione per input $n$ : $n = i_1 + i_2 + ... i_k$ per qualche k +
+_La figura sopra invece, mostra tutti i modi in cui può essere tagliata un'asta lunga 4 pollici._ -Ma allora $n - i_1 = i_2 + ... + i_k$ è una soluzione ottima per input $n - i_1$. +È importante notare che un'asta di lunghezza $n$ può essre tagliata in $2^{n-1}$ modi differenti, in quanto **si ha un'opzione indipendente di tagliare o non tagliare**, alla distanza di $i$ pollici dall'estremità sinistra, per $i = 1, 2, ..., n-1$. -Posso quindi calcolare il massimo guadagno $r_n = max\{p_n, r_1 + r_{n-1}, r_2 + r_{n-2}, ..., r_{n-1} + r_1\}$. $p_n$ è il guadagno del pole intero, senza tagli. +Se una **soluzione ottima** prevede il taglio dell'asta in $k$ pezzi, per $1 \le k \le n$, allora una **decomposizione ottima** $n = i_1 + i_2, ... + i_k$ dell'asta in pezzi di lunghezze $i_1, i_2, ..., i_k$ fornisce il ricavo massimo corrispondente $r_m = p_{i_1} + p_{i_2} + ... + p_{i_k}$ -```math -r_n = max_{1 \le i \le n}(p_i + r_{n-i}) -``` + + +#### **Goal**: +Data un'asta di lunghezza $n$ pollici e una tabella di prezzi $p_i$ per $i = 1, ..., n$, **determinare il ricavo massimo $r_n$ che si può ottenere tagliando l'asta e vendendone i pezzi**. + +### Funzionamento +Più in generale, posisiamo esprimere i valori $r_n$ per $n \ge 1$ in funzione dei ricavi ottimi delle aste più corte: + +$$ +r_n = max(p_n, r_1 + r_{n-1}, r_2 + r_{n-2}, ..., r_{n-1} + r_1) +$$ + +- Il primo argomento, $p_n$, corrisponde alla vendita dell'asta di lunghezza $n$ senza tagli. +- Gli altri $n-1$ argomenti corrispondono al ricavo massimo ottenuto facendo un taglio iniziale dell'asta in due pezzi di dimensione $i$ e $n-1$, per $i = 1, 2, ..., n-1$, e poi tagliando in modo ottimale gli ulteriori pezzi, ottenendo i ricavi $r_i$ e $r_{n-1}$ da questi due pezzi. + +**N.B.** Per risolvere il problema originale di dimensione $n$, risolviamo problemi più piccoli dello stesso tipo, ma di dimensioni inferiori. Una volta effettuato il primo taglio, possiamo considerare i due pezzi come istanze indipendenti del problema del taglio delle aste. Possiamo quindi dire che il problema del taglio delle aste presenta una **sottostruttura ottima**, ovvero **le soluzioni ottime di un problema incorporano le soluzioni ottime dei sottoproblemi correlati**. +Tuttavia, c'è un modo più semplice di definire una struttura ricorsiva per il problema del taglio delle aste: +> Consideriamo la decomposizione formata da un primo pezzo di lunghezza $i$ tagliato dall'estremità sinistra e dal pezzo restante di destra di lunghezza $n-i$. **Soltanto il pezzo restante di destra (non il primo pezzo) potrà essere ulteriormente tagliato**. Possiamo vedere ciascuna decomposizione di un'asta di lunghezza $n$ in questo modo: +> **un primo pezzo seguito da un'eventuale decomposizione del pezzo restante**. +> Così facendo, possiamo esprimere la soluzione senza alcun taglio dicendo che il primo pezzo ha dimensione $i = n$ e ricavo $p_n$ e che il pezzo restante ha dimensione 0 con ricavo $r_0 = 0$. + +Otteniamo così la seguente **versione semplificata dell'equazione:** + +$$ +r_n = max(o_i + r_{n-1}) +$$ + +Secondo questa formulazione, **una soluzione ottima incorpora la soluzione di un solo sottoproblema** (il pezzo restante) anzichè due. + +### Algorimto ricorsivo TOP-down +`Algorithm Cut-Pole(p, n)` ```pseudocode -Cut-Pole(p, n) { - if n = 0 then - return 0 - q ← −∞ - for i = 1 . . . n do - q ← max{q, p[i] + Cut-Pole(p, n − i)} - return q -} +Require: Integer n, Array p of length n with prices +if n == 0 then + return 0 + +q ← −∞ + +for i = 1 . . . n do + q ← max{q, p[i] + Cut-Pole(p, n − i)} + +return q ``` +#### Costo: +Perchè questo algoritmo è così **inefficiente**? Il problema è che la procedura `CUT-Pole` chiama più e più volte sè stessa in modo ricorsivo con gli stessi valori dei parametri, ovverro **risolve ripetutamente gli stessi sottoproblemi**. + + + +$$ +T(n) = 1 + \sum^{n-1}_{j=0}T(j) +$$ -Costo computazionale: $O(n2^n)$ +$$ +T(n) = 2^n +$$ + +**N.B.** `CUT-Pole` è esponenziale in $n$. + +La procedura cut-rod considera esplicitamente tutti i $2^{n-1}$ modi possibili di tagliare un'asta di lunghezza $n$. L'albero delle chiamate ricorsive ha $2^{n-1}$ foglie, una per ogni modo possibile di tagliare l'asta. + +### Applicare la Programmazione Dinamica al taglio delle aste +L'idea è quella di applicare i concetti fondamentali della programmazione dinamica:
+*Se avremo bisogno di nuovo della soluzione di questo sottoproblema, potremo riaverla immediatamente **senza bisogno di ricalcolarla***.
+Come sappiamo per i problemi risolti precedentemente:
+La programmazione dinamica richiede una memoria extra per ridurre il tempo di esecuzione (**compromesso tempo-memoria**). -- $2^i$ chiamate ricorsive -- $O(n)$ per ogni chiamata +Il risparmio di tempo ottenibile può essere notevole: **una soluzione con tempo esponenziale può essere trasformata in una soluzione con tempo polinomiale**: +- Un metodo di programmazione dinamica viene eseguito in **tempo polinomiale** quando il numero di sottoproblemi distinti richiesti è **polinomiale nbella dimensione dell'input** e cuascun sottoproblema può essere risolto in un tempo polinomiale. -## Memoization Top-Down +Come già visto per la risoluzione degli altri problemi, ci sono due modi equivalenti: +- **Metodo Top-Down con Memoization**: In questo approccio si scrive la procedura ricorsiva in modo naturale, modificandola per salvare il risultato di ciascun sottoproblema. La procedura prima veriffica se ha risoltoprecedentemente questo problema. In caso affermativo, restituisce il valore salvato, risparmiando gli ulteriori calcoli a quel livello; altrimenti la procedura calcola il valore nel modo usuale. +- **Metodo Bottom-Up**: Ordiniamo i sottoproblemi per dimensione e poi li risolviamo ordinatamente a partire dal più piccolo. Quando risolviamo un particolare sottoproblema, abbiamo già risolto tutti i sottoproblemi più piccoli da cui dipende la sua soluzione. +Questi due approcci generano ***algoritmo con lo stesso tempo di esecuzione asintotico***. L'approccio **Bottom-Up** spesso ha fattori costanti molto migliori, in quanto ha **meno costi per le chiamate di procedura**. + +### Top-down Approach +#### `Algorithm Memoized-Cut-Pole(p, n)` ```pseudocode -Let r[0...n] be a new array +Require: Integer n, Array p of length n with prices + +Let r [0 . . . n] be a new array + for i = 0 . . . n do - r[i] ← −∞ -return Memoized-Cut-Pole-Aux(p,n,r) - -Memoized-Cut-Pole-Aux(p,n,r){ - if r[n] ≥ 0 then - return r[n] - if n = 0 then - q←0 - else - q ← −∞ - for i = 1 . . . n do - q ← max{q, p[i] + Memoized-Cut-Pole-Aux(p, n − i,r)} - r[n] ← q - return q -} + r [i] ← −∞ + +return Memoized-Cut-Pole-Aux(p, n, r ) ``` -## Bottom-Up +#### `Algorithm Memoized-Cut-Pole-Aux(p, n, r )` +```pseudocode +Require: Integer n, array p of length n with prices, array r of revenues + +if r [n] ≥ 0 then + return r[n] + +if n = 0 then + q ← 0 +else + q ← −∞ + for i = 1 . . . n do + q ← max{q, p[i] + Memoized-Cut-Pole-Aux(p, n − i, r )} + r [n] ← q +return q +``` + +- Preparare una tabella `r` di dimensione $n$ +- Inizializza tutti gli elementi di `r` con $-\infty$ +- Il lavoro effettivo viene svolto in `Memoized-Cut-Pole-Aux`, la tabella `r` viene passata a `Memoized-Cut-Pole-Aux` + +Observe: If r [n] ≥ 0 then r [n] has been computed previously + +**Osserva**: Se `r[n] ≥ 0` allora `r[n]` **è stato calcolato in precedenza** + +### Bottom-up Approach +#### `Algorithm Bottom-Up-Cut-Pole(p, n)` ```pseudocode -Let r[0...n] be a new array +Require: Integer n, array p of length n with prices +Let r[0 . . . n] be a new array r[0] ← 0 + for j = 1 . . . n do - q ← −∞ - for i = 1 . . . j do - q ← max{q, p[i] + r[j − i]} - r[j] ← q + q ← −∞ + for i = 1 . . . j do + q ← max{q, p[i] + r[j − i]} + r[j] ← q + return r[n] ``` -Costo computazionale = $O(n^2)$ +### Costi +Il tempo di esecuzione della procedura bottom up è $O(n^2)$, a causa della doppia struttura annidata del suo ciclo. -## Riepilogo +$$ +\sum^n_{j=1} \sum^j_{i=1} O(1) = O(1) \sum^n_{j=1} \sum^j_{i=1} 1 = O(1) \sum^n_{j=1} j = O(1) \frac{n(n+1)}{2} = O(n^2) +$$ -- massimizzare il reward in base ai tagli -- $OPT[j] - max_{i \le l \le j} \{ OPT[j-l] + p_l \}$ -- devo calcolare OPT per ogni n, per ognuno pago n **TEMPO =** $O(n^2)$ +Anche il tempo di esecuzione della sua **controparte Top-Dow**n è $O(n^2)$, sebbene questo tempo di esecuzione sia un pò più difficile da spiegare. Poichè **una chiamata ricorsiva per risolvere un sottoproblema precedentemente risolto termina immediatamente**. + +### Riepilogo +- Massimizzare il reward in base ai tagli +- Tempo di esecuzione dell'approccio Top-Down $O(n^2)$ + - devo calcolare OPT per ogni n, per ognuno pago n **TEMPO =** $O(n^2)$ +- $OPT[j] = max_{i \le l \le j} \{ OPT[j-l] + p_l \}$ - salvo i dati in un vettore che contiene OPT dei vari segmenti **SPAZIO =** $O(n)$ - per ricostruire la soluzione uso un vettore dove $S[j] = max_l$ **SPAZIO_S =** $O(n)$ +--- +--- --- # Matrix Chain Parentesizathion diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/pole1.png b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/pole1.png new file mode 100644 index 0000000000000000000000000000000000000000..c3e32250c2b2794f9eb8abac3723a8b0778c1cea GIT binary patch literal 88146 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 literal 0 HcmV?d00001 From 1f5ec1a92f32df16b9e316333a240a8f3a821ddd Mon Sep 17 00:00:00 2001 From: Fabio Bocchini <46478546+FabioBocchini@users.noreply.github.com> Date: Thu, 13 Apr 2023 20:48:15 +0200 Subject: [PATCH 02/57] fix(algoritmi avanzati) corretta la sintassi per le formule matematiche --- .../Pinotti/Readme.md | 83 ++++++++++--------- 1 file changed, 46 insertions(+), 37 deletions(-) diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/Readme.md b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/Readme.md index 8d1cd73bf..ab0238197 100644 --- a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/Readme.md +++ b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/Readme.md @@ -49,12 +49,13 @@ Considero i job in base al loro $f_j$. Il job 3 sarà quello con $f_j = 3$ **Def.** $p(j) = max(i < j)$ tale che $i$ è compatibile con $j$ Ovvero l'ultimo job che finisce prima che inizi il job $j$, il job "più compatibile". -$$ + +```math OPT(j) = \begin{cases} 0 & \mbox{if }j = 0 \\ max\{v_j + OPT(p(j)), OPT(j -1)\} & \mbox{otherwise} \end{cases} -$$ +``` ## Brute Force @@ -158,12 +159,12 @@ $f(x)= E + cL$ ## Dynamic version $e(i,j)$ = somma degli errori quadrati per i punti $p_i, p_{i+1},..., p_j$ -$$ +```math OPT(j) = \begin{cases} 0 & \mbox{if } j = 0 \\ min_{1 \leq i \leq j}\{ e(i,j) + c + OPT(i-1)\} & \mbox{otherwise} \end{cases} -$$ +``` ```pseudocode for j = 1 to n @@ -189,7 +190,7 @@ Può essere migliorato in $O(n^2)$ time, $O(n)$ space grazie ad alcune precompu - $c$: il costo da pagare per ogni segmento - $e$: il costo degli errori - risolvo n problemi **SPAZIO =** $O(n)$ -- per ogni problema ho n scelte ( $O(n^2)$) ma per computare $e(i,j)$$ **TEMPO =** $O(n^3)$ +- per ogni problema ho n scelte ( $O(n^2)$ ) ma per computare $e(i,j)$ **TEMPO =** $O(n^3)$ - per ricostruire la soluzione salvo un vettore dove $S[j] = min_i$ **SPAZIO_S** = $O(n)$ --- @@ -207,13 +208,13 @@ Posso cercare algoritmi greedy, (by value, by weight, by ratio $v_i/w_i$) ma nes Non posso usare una funzione $OPT(j)$ perchè senza sapere quali altri oggetti ho nello zaino non so se posso prendere $j$. $OPT(j, w)$ = miglior soluzione nel subset di oggetti da 1 a $j$ con peso massimo $w$. -$$ +```math OPT(j, w) = \begin{cases} 0 & \mbox{if } j = 0 \\ OPT(j-1, w) & \mbox{if } w_j \gt w \\ max\{OPT(j-1, w), v_j + OPT(j-1, w-w_j)\} & \mbox{otherwise} \end{cases} -$$ +``` ## Bottom-Up @@ -320,14 +321,15 @@ possiamo tagliare il pole il $2^{n-1}$ modi diversi ## Recursive Top-Down -Considero la soluzione per input $n$: $n = i_1 + i_2 + ... i_k $ per qualche k +Considero la soluzione per input $n$ : $n = i_1 + i_2 + ... i_k$ per qualche k Ma allora $n - i_1 = i_2 + ... + i_k$ è una soluzione ottima per input $n - i_1$. Posso quindi calcolare il massimo guadagno $r_n = max\{p_n, r_1 + r_{n-1}, r_2 + r_{n-2}, ..., r_{n-1} + r_1\}$. $p_n$ è il guadagno del pole intero, senza tagli. -$$ + +```math r_n = max_{1 \le i \le n}(p_i + r_{n-i}) -$$ +``` ```pseudocode Cut-Pole(p, n) { @@ -394,19 +396,19 @@ Costo computazionale = $O(n^2)$ # Matrix Chain Parentesizathion -moltiplicazione tra 2 matrici $(p \times r)(r \times q) = (p \times q)$. $i,j = $ riga $i$ x colonna $j$ = $O(n^3)$ time +moltiplicazione tra 2 matrici $(p \times r)(r \times q) = (p \times q)$ . $i,j =$ riga $i$ x colonna $j$ = $O(n^3)$ time **Goal:** data una sequenza di matrici, trovare il modo migliore di parentesizzarla per calcolare la moltiplicazione tra tutte le matrici con meno moltiplicazioni scalari possibili. ### Quante possibili parentesizzazioni? -$$ +```math P(n) = \begin{cases} 1 & \mbox{if }n = 0 \\ \sum_{k=1}^{n-1}P(k)P(n-k) & \mbox{otherwise} \end{cases} -$$ +``` Ovvero $\Omega(2^n)$ @@ -425,13 +427,13 @@ MCP è un problema in sottostruttura ottima. - se $i \lt j$ e nella soluzione ottimale c'è la moltiplicazione $A_{ik} \times A_{(k+1) j}$ per qualche j allora $m[i,j] = m[i,k] + m[k+1,j] + p_{i-1} p_k p_j$ - $p_{i-1} p_k p_j$ è il costo della moltiplicazione di $A_{ik} \times A_{(k+1)j}$ -$$ +```math m[i,j] = \begin{cases} 0 & \mbox{if } i = j \\ min_{i \le k \lt j} \{ m[i,k] + m[k+1, j] + p_{i-1} p_k p_j\} & \mbox{if } i \lt j \end{cases} -$$ +``` Se implementassimo questa formula direttamente il costo computazionale diventerebbe esponenziale @@ -525,9 +527,9 @@ Output: - un BST su $S$ con **avgCost** il più piccolo possibile -$$ +```math avgCost(T) = \sum_{i = a}^{b} W[i] * cost_T(i) -$$ +``` - $cost_T(i)$ = numero di nodi da controllare per trovare $i$ in T @@ -540,30 +542,33 @@ Scegliamo una root **r**, il suo sottoalbero di sinistra sarà un BST $T_1$ su $ ### 2. Data la prima scelta, trovare la soluzione migliore Per trovare la soluzione migliore per T dobbiamo scegliere le soluzioni migliori per $T_1$ e $T_2$ -$$ + +```math avgCost(T) = \sum_{i=a}^{b} W[i] * cost_T(i) = \left( \sum_{i=a}^{b} W[i] \right) + avgCost(T_1) + avgCost(T_2) -$$ +``` + $optAvg(a,b)$ - 0 se $a \gt b$ - min BST su $\{a .. b\}$ altrimenti $optAvg(a,b | r)$ è la soluzione ottima dato $r$ come radice. -$$ + +```math optAvg(a,b | r ) = \left( \sum_{i=a}^{b} W[i] \right) +optAvg(a,r-1) + optAvg(r+1, b) -$$ +``` ### 3. Prendere la prima scelta che porta alla soluzione migliore -$$ +```math optAvg(a,b) = \begin{cases} 0 & \mbox{if } a\gt b \\ \left( \sum_{i=a}^{b} W[i] \right) + min_{r=a}^b \{ optAvg(a,r-1) + optAvg(r+1, b) \} & \mbox{otherwise} \end{cases} -$$ +``` ## Riepilogo @@ -586,9 +591,11 @@ Costo totale = somma delle penalità Date due stringhe $x_1x_2...x_m$ e $y_1y_2...y_n$ un **allineamento** è una set di coppie ordinate $x_i - y_i$ tale che ogni lettera compaia in una sola coppia e non ci siano incroci ($x_i-y_j$ e $x_{i'}-y_{j'}$ si incrociano se $i \lt i'$ e $j > j'$) Il costo dell'allineamento è dato dalla somma dei costi dei mismatch e dei costi dei gap -$$ + +```math cost(M) = \sum_{(x_i,y_j) \in M} \alpha_{x_j y_j} + \sum_{i:x_i unmatched} \delta + \sum_{j:y_j unmatched} \delta -$$ +``` + **Goal:** Date due stringhe, trovare l'allineamento di costo minimo. ## Stuttura del Problema @@ -607,7 +614,7 @@ $OPT(i,j)$ = costo minimo dell'allineamento delle stringhe $x_1x_2...x_i$ e $y_1 ​ pago $\delta$ + il costo di $OPT(i-1, j)$ -$$ +```math OPT(i,j) = \begin{cases} j\delta & \mbox{if } i = 0 \\ @@ -619,7 +626,7 @@ min \delta + OPT(i-1, j) \end{cases} & \mbox{otherwise} \end{cases} -$$ +``` ## Bottom-Up @@ -664,7 +671,7 @@ permette di risparmiare spazio nella costruzione della soluzione del problema Lo risolvere LCS è come risolvere il cammino minimo su un grafo $n \times m$ da (0,0) a (n,m) -**Lemma:** $f(i,j) = $ shortest path from $(0,0)$ to $(i,j) = OPT(i,j)$ +**Lemma:** $f(i,j) =$ shortest path from $(0,0)$ to $(i,j) = OPT(i,j)$ **Dimostrazione** per induzione @@ -694,7 +701,7 @@ e posso quindi renderlo ricorsivo, in ogni ricorsione mi ricordo solo q. ### Algoritmo -per prima cosa calcolo shortest path su tutta la matrice (Dijkstra in $O(nm)$). Cerco poi q sulla colonna n/2 e lo salvo ricorsivamente n volte. +per prima cosa calcolo shortest path su tutta la matrice (Dijkstra in $O(nm)$ ). Cerco poi q sulla colonna n/2 e lo salvo ricorsivamente n volte. Chiamo poi ricorsivamente f per trovare le soluzioni da sinistra a n/2 e da destra a n/2. @@ -764,13 +771,13 @@ Invece di un arco $(u,v)$ su cui segno flow/capacity, ho due archi ### Capacità residua: -$$ +```math c_f(e) = \begin{cases} c(e) - f(e) & \mbox{if } e \in E \\ f(e) & \mbox{if } e^{reverse} \in E \end{cases} -$$ +``` ### Residual Network: @@ -822,14 +829,16 @@ L'algoritmo continua a chiamare AUGMENT sugli augmenting path finchè può. ### Flow Value Lemma sia $f$ un qualsiasi flow e $(A,B)$ un qualsiasi cut. Il valore del flow è uguale al flow passante per il cut. -$$ + +```math val(f) = \sum_{e \mbox { out of } A} f(e) - \sum_{e \mbox { in to } A} f(e) -$$ +``` + **Dimostrazione:** - $ val(f) = \sum_{e \mbox { out of } s} f(e) - \sum_{e \mbox { in to } s} f(e) =$ + $val(f) = \sum_{e \mbox { out of } s} f(e) - \sum_{e \mbox { in to } s} f(e) =$ -$ =\sum_{v \in A} \left( \sum_{e \mbox { out of } v} f(e) - \sum_{e \mbox { in to } v} f(e) \right) =$ per la prorpietà della conservazione del flusso, ogni valore con $v \ne s$ è 0 +$=\sum_{v \in A} \left( \sum_{e \mbox { out of } v} f(e) - \sum_{e \mbox { in to } v} f(e) \right) =$ per la prorpietà della conservazione del flusso, ogni valore con $v \ne s$ è 0 $= \sum_{e \mbox { out of } A} f(e) - \sum_{e \mbox { in to } A} f(e)$ @@ -889,7 +898,7 @@ Assumiamo che per ogni $e \in E$, $c(e)$ è un intero tra 0 e C, quindi anche og ### Teorema: -Ford-Fulkerson termina dopo al più $val(f^*) \le nC$ augmenting paths, dove $f^*$ è il flusso massimo. +Ford-Fulkerson termina dopo al più $val(f^{\*}) \le nC$ augmenting paths, dove $f^{\*}$ è il flusso massimo. **Dimostrazione:** ogni ciclo dell'algoritmo aumenta il flow di almeno 1. @@ -962,7 +971,7 @@ Assumo che tutte le capacità siano intere e che $\Delta$ sia una potenza di 2. -- ci sono $\lt 2m $ augmentation per ogni fase di scaling +- ci sono $\lt 2m$ augmentation per ogni fase di scaling - ogni augmentation aumenta il flow di almeno $\Delta$ From 12af56feb4795ecfed475954209b9710931007a7 Mon Sep 17 00:00:00 2001 From: CristianCosci Date: Sat, 15 Apr 2023 16:22:41 +0200 Subject: [PATCH 03/57] Iniziato controllo e rilettura appunti Algoritmi-Pinotti - Arrivato fino a Segmented Least Square (escluso) - Integrati con libro e altri appunti --- .../Pinotti/Readme.md | 103 ++- .../Pinotti/imgs/opt_recursion_tree.png | Bin 0 -> 29385 bytes .../Pinotti/temp.md | 741 ++++++++++++++++++ 3 files changed, 811 insertions(+), 33 deletions(-) create mode 100644 magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/imgs/opt_recursion_tree.png create mode 100644 magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/temp.md diff --git a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/Readme.md b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/Readme.md index ab0238197..647cdf81f 100644 --- a/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/Readme.md +++ b/magistrale/Anno 1/Advanced and Distributed Algorithms/Pinotti/Readme.md @@ -1,11 +1,12 @@ -# Algoritmi - Pinotti - - +# Advanced and Distributed Algorithms - Modulo 2 ## Indice - [Dynamic Programming](#Dynamic-Programming) + - [Introduzione](#introduzione) - [Weighted Interval Scheduling](#Weighted-Interval-Scheduling) + + - - [Segmented Least Squares](#Segmented-Least-Squares) - [Knapsack Problem](#Knapsack-Problem) - [RNA Secondary Stucture](#RNA-Secondary-Stucture) @@ -22,58 +23,91 @@ - [Disjoint Paths](#Disjoint-Paths) - [Network Connectivity](#Network-Connectivity) + +