From dff442d0e0526cf54485c5ace9ff897ad82ed425 Mon Sep 17 00:00:00 2001
From: Nanobot567 <567.nanobot@gmail.com>
Date: Thu, 20 Jun 2024 14:43:59 -0500
Subject: [PATCH] version 2.0 :fire:
---
.gitignore | 3 +
DEV.md | 64 ++
LICENSE | 2 +-
MANUAL.md | 93 +-
README.md | 10 +-
assets/cycle.gif | Bin 323808 -> 852147 bytes
assets/fileops.gif | Bin 0 -> 3947885 bytes
assets/fx.png | Bin 0 -> 1967 bytes
assets/mockup.gif | Bin 0 -> 1999 bytes
assets/pattern.png | Bin 1338 -> 2207 bytes
assets/patternscreen.gif | Bin 0 -> 1090563 bytes
assets/rename.gif | Bin 0 -> 2564198 bytes
assets/song.png | Bin 1280 -> 1390 bytes
assets/songscreen.gif | Bin 0 -> 728689 bytes
assets/track-2.png | Bin 3051 -> 3082 bytes
assets/track.png | Bin 1468 -> 1438 bytes
example-songs/kinomu-alt/1.pda | Bin 0 -> 88008 bytes
example-songs/kinomu-alt/2.pda | Bin 0 -> 65296 bytes
example-songs/kinomu-alt/3.pda | Bin 0 -> 63376 bytes
example-songs/kinomu-alt/4.pda | Bin 0 -> 212280 bytes
example-songs/kinomu-alt/7.pda | Bin 0 -> 165136 bytes
example-songs/kinomu-alt/8.pda | Bin 0 -> 174736 bytes
example-songs/kinomu-alt/song.json | 1 +
example-songs/kinomu/1.pda | Bin 0 -> 88008 bytes
example-songs/kinomu/2.pda | Bin 0 -> 65296 bytes
example-songs/kinomu/3.pda | Bin 0 -> 63376 bytes
example-songs/kinomu/4.pda | Bin 0 -> 212280 bytes
example-songs/kinomu/7.pda | Bin 0 -> 165136 bytes
example-songs/kinomu/8.pda | Bin 0 -> 174736 bytes
example-songs/kinomu/song.json | 1 +
example-songs/sql_injection/2.pda | Bin 0 -> 6948 bytes
example-songs/sql_injection/3.pda | Bin 0 -> 87808 bytes
example-songs/sql_injection/song.json | 1 +
example-songs/taciturn/1.pda | Bin 0 -> 64496 bytes
example-songs/taciturn/2.pda | Bin 0 -> 7348 bytes
example-songs/taciturn/5.pda | Bin 0 -> 4320 bytes
example-songs/taciturn/6.pda | Bin 0 -> 182416 bytes
example-songs/taciturn/7.pda | Bin 0 -> 216976 bytes
example-songs/taciturn/8.pda | Bin 0 -> 39632 bytes
example-songs/taciturn/song.json | 1 +
justfile | 40 +
src/SystemAssets/card-pressed.png | Bin 4264 -> 6498 bytes
src/SystemAssets/card.png | Bin 2844 -> 5511 bytes
src/SystemAssets/launchImage.png | Bin 946 -> 738 bytes
src/buttons.lua | 203 +++-
src/consts.lua | 21 +-
src/draw.lua | 203 ++++
src/fnt/font-rains-1x.fnt | 102 ++
src/fnt/font-rains-2x.fnt | 102 ++
src/fnt/modified-tron-8x8.fnt | 6 +-
src/fnt/modified-tron.fnt | 19 +-
src/funcs.lua | 775 +++++++--------
src/fx.lua | 233 +++++
src/img/menu.png | Bin 2724 -> 3059 bytes
src/img/synthset.png | Bin 6262 -> 5860 bytes
src/lists.lua | 15 +-
src/main.lua | 498 ++++++++--
src/pdxinfo | 4 +-
src/save.lua | 232 +++++
src/setup.lua | 128 ++-
src/ui.lua | 1097 +---------------------
src/ui/button.lua | 47 +
src/ui/knob.lua | 53 ++
src/ui/message.lua | 40 +
src/ui/screens/credits.lua | 82 ++
src/ui/screens/filepicker.lua | 283 ++++++
src/ui/screens/keyboard.lua | 86 ++
src/ui/screens/log.lua | 32 +
src/ui/screens/sample.lua | 196 ++++
src/ui/screens/sampleedit.lua | 132 +++
src/ui/screens/settings.lua | 382 ++++++++
unused-code/fx.lua | 201 ----
visualizers/bumper.lua | 15 +
visualizers/lines.lua | 74 ++
visualizers/ramona/images/blink.gif | Bin 0 -> 213 bytes
visualizers/ramona/images/closed-2.gif | Bin 0 -> 206 bytes
visualizers/ramona/images/closed-old.gif | Bin 0 -> 209 bytes
visualizers/ramona/images/closed.gif | Bin 0 -> 210 bytes
visualizers/ramona/images/open.gif | Bin 0 -> 218 bytes
visualizers/ramona/images/talk.gif | Bin 0 -> 215 bytes
visualizers/ramona/images/twitch.gif | Bin 0 -> 212 bytes
visualizers/ramona/ramona.lua | 119 +++
82 files changed, 3702 insertions(+), 1894 deletions(-)
create mode 100644 DEV.md
create mode 100644 assets/fileops.gif
create mode 100644 assets/fx.png
create mode 100644 assets/mockup.gif
create mode 100644 assets/patternscreen.gif
create mode 100644 assets/rename.gif
create mode 100644 assets/songscreen.gif
create mode 100644 example-songs/kinomu-alt/1.pda
create mode 100644 example-songs/kinomu-alt/2.pda
create mode 100644 example-songs/kinomu-alt/3.pda
create mode 100644 example-songs/kinomu-alt/4.pda
create mode 100644 example-songs/kinomu-alt/7.pda
create mode 100644 example-songs/kinomu-alt/8.pda
create mode 100644 example-songs/kinomu-alt/song.json
create mode 100644 example-songs/kinomu/1.pda
create mode 100644 example-songs/kinomu/2.pda
create mode 100644 example-songs/kinomu/3.pda
create mode 100644 example-songs/kinomu/4.pda
create mode 100644 example-songs/kinomu/7.pda
create mode 100644 example-songs/kinomu/8.pda
create mode 100644 example-songs/kinomu/song.json
create mode 100644 example-songs/sql_injection/2.pda
create mode 100644 example-songs/sql_injection/3.pda
create mode 100644 example-songs/sql_injection/song.json
create mode 100644 example-songs/taciturn/1.pda
create mode 100644 example-songs/taciturn/2.pda
create mode 100644 example-songs/taciturn/5.pda
create mode 100644 example-songs/taciturn/6.pda
create mode 100644 example-songs/taciturn/7.pda
create mode 100644 example-songs/taciturn/8.pda
create mode 100644 example-songs/taciturn/song.json
create mode 100644 justfile
create mode 100644 src/draw.lua
create mode 100644 src/fnt/font-rains-1x.fnt
create mode 100644 src/fnt/font-rains-2x.fnt
create mode 100644 src/fx.lua
create mode 100644 src/save.lua
create mode 100644 src/ui/button.lua
create mode 100644 src/ui/knob.lua
create mode 100644 src/ui/message.lua
create mode 100644 src/ui/screens/credits.lua
create mode 100644 src/ui/screens/filepicker.lua
create mode 100644 src/ui/screens/keyboard.lua
create mode 100644 src/ui/screens/log.lua
create mode 100644 src/ui/screens/sample.lua
create mode 100644 src/ui/screens/sampleedit.lua
create mode 100644 src/ui/screens/settings.lua
delete mode 100644 unused-code/fx.lua
create mode 100644 visualizers/bumper.lua
create mode 100644 visualizers/lines.lua
create mode 100644 visualizers/ramona/images/blink.gif
create mode 100644 visualizers/ramona/images/closed-2.gif
create mode 100644 visualizers/ramona/images/closed-old.gif
create mode 100644 visualizers/ramona/images/closed.gif
create mode 100644 visualizers/ramona/images/open.gif
create mode 100644 visualizers/ramona/images/talk.gif
create mode 100644 visualizers/ramona/images/twitch.gif
create mode 100644 visualizers/ramona/ramona.lua
diff --git a/.gitignore b/.gitignore
index beb6555..3da01d5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,6 @@
CS-16.pdx/*
CS-16.pdx
TODO.md
+stub.lua
+CHANGELOG.md
+CS-16.pdx.zip
diff --git a/DEV.md b/DEV.md
new file mode 100644
index 0000000..5f362bb
--- /dev/null
+++ b/DEV.md
@@ -0,0 +1,64 @@
+# develop
+
+## building
+
+Building CS-16 is exactly like how you'd build any other Playdate game (in this case, the command is `pdc src/ CS-16.pdx`).
+
+However, I personally use [`just`](https://github.com/casey/just) to make things a little faster! If you install `just` or already have it installed, the default `just` recipe will build CS-16 and open it in the Playdate Simulator, presuming `PlaydateSimulator` is in `$PATH`.
+
+> note: the `just` recipes are only compatible with Linux or MacOS. the `justfile` may need to be modified if you are on Windows.
+
+> also, if you end up taking a look at the code, sorry in advance if it's a mess XD
+
+## visualizers
+
+### format
+A CS-16 visualizer at its core is just a function that gets called every playdate.update() loop, so you can do pretty much whatever you want with it!
+
+In order for it to be recognized by CS-16, your visualizer code must be either a standalone `.lua` file, or be in a folder by the same name as one of the `.lua` files.
+
+CS-16 requires that a visualizer returns a table with the name of the visualizer, as well as the function that will be called every update. When it is called, CS-16 will pass in a key-value table containing many values which you may find useful when creating a visualizer.
+
+Here's the code for one of my visualizers, called "bumper", as an example:
+
+```lua
+local function bumperUpdate(data)
+ if data.beat then
+ pd.display.setOffset(0, 3)
+ elseif math.floor(data.step) % 8 == 2 then
+ pd.display.setOffset(0, 1)
+ else
+ pd.display.setOffset(0, 0)
+ end
+end
+
+return {"bumper", bumperUpdate}
+```
+
+### building and importing
+Currently, there is no way to directly load Lua code from the Playdate's Data/ directory (most likely for security reasons), so you'll have to rebuild CS-16 with your custom visualizers in the source code.
+
+To do this, clone this repository with `git clone https://github.com/nanobot567/CS-16`. Then, navigate to the `src/` directory, and create a new folder named `visualizers` if it doesn't already exist. Here, simply paste your .lua files (or the folder containing your .lua file) and rebuild CS-16 with `pdc src/ CS-16.pdx` (or if you have [`just`](https://github.com/casey/just) installed, `just`).
+
+### visualizer key-value table data
+
+| key | type | note |
+| -------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------- |
+| tempo | number | pattern tempo |
+| step | number | pattern step |
+| rawStep | number | pattern step, not rounded |
+| length | number | pattern length |
+| playing | boolean | true if pattern is currently playing |
+| beat | boolean | true if current step is a beat |
+| tracks | object table | table of `playdate.sound.track`s in the pattern |
+| trackNames | string table | table of the names of the tracks |
+| userTrackNames | string table | table of user-defined track names. if a name has not been set, the value at that track's index will be an empty string ("") |
+| trackSwings | number table | table of swing values for each track |
+| mutedTracks | boolean table | mutedTracks[trackNumber] returns true if the track is currently muted |
+| instruments | object table | table of `playdate.sound.instrument`s |
+| instrumentADSRs | number table table | nested tables contain the attack, decay, sustain and release values in that order for each track |
+| instrumentLegatos | boolean table | legato status for each track |
+| instrumentParams | number table table | tables within contain parameter 1 and 2 values for square wave tracks and TE synth tracks (phase, digital, vosim) |
+| instrumentTransposes | number table | contains the transposition value of each track |
+| settings | key-value table | contains the user's settings. refer to your own `settings.json` file if you don't know what the key to a setting may be! |
+| sequencer | object | CS-16's `playdate.sound.sequencer`* |
diff --git a/LICENSE b/LICENSE
index 9476999..29f33da 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2023 Nanobot567
+Copyright (c) 2024 Nanobot567
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/MANUAL.md b/MANUAL.md
index 629a1bb..e1fa686 100644
--- a/MANUAL.md
+++ b/MANUAL.md
@@ -1,9 +1,10 @@
# CS-16 manual
-In CS-16, there are three main screens, each of which will be explored in this manual:
+In CS-16, there are four main screens, each of which will be explored in this manual:
1. `pattern`
2. `track`
-3. `song`
+3. `fx`
+4. `song`
You can swap between these screens by pressing `B` until the text shown says `screen`, and then cranking. This "crank mode" menu will be accessed often as you use CS-16.
@@ -33,7 +34,7 @@ To make placing down and editing notes at intervals easier, there is an option i

-To edit the pitch of the note, cycle through the crank mode menu until you reach `pitch`, then crank like you did for `note status`. Changing the track, velocity, and note length are done this same way.
+To edit the pitch of the note, cycle through the crank mode menu until you reach `pitch`, then crank like you did for `note status`. Changing the track, velocity, note length, and swing are done this same way.
You can start or stop the sequence by pressing A.
@@ -43,6 +44,8 @@ If you would like to input notes in real time, there is a `record` function in C
While in record mode, the `A`, `B`, `up`, `down`, `left`, and `right` buttons are mapped to tracks in the song. When pressed, a note is placed at that step in the corresponding track. If quantization is enabled (not 1), then each note you place will be quantized to the nearest multiple of the quantization value.
+> swing is applied when you press `stop record`.
+

### track
@@ -58,6 +61,16 @@ In the system menu, there are two options, `copy` and `cpy mode`. To copy a trac

+#### renaming tracks
+
+To rename one of your tracks, hover over the track you would like to rename, enter the system menu and select `rename`.
+
+To remove your custom track name, enter the `rename` keyboard, delete all of the characters, and press `OK`.
+
+> note: there is a 10-character limit.
+
+
+
#### instrument editor
To edit an instrument, select the track you want in the list. It will be marked with the number and the instrument type. Instrument types can be any of the following:
@@ -99,21 +112,76 @@ Within the file picker, you can enter folders or select a file using `A`, and ex
If you have already selected a sample, however, there will be an extra option in the list: `edit sample`. In the `edit sample` screen, you can trim your samples. Pressing `left` or `right` changes the selected side, and pressing `up` or `down` changes the interval at which you trim the sample using the crank.
-If you are editing a sample that was recorded with the Playdate's microphone, you will see a waveform above the start and end frame locations.
+If you are editing a sample that was recorded with the Playdate's microphone and you have enabled `settings / sampling / save waveforms`, you will see a waveform above the start and end frame locations.

> note: double and triple check your sample before you save it! when you trim it you cannot revert to the original sound.
+### fx
+
+
+
+In the `fx` screen, you can apply punch-in effects to your pattern. Currently there are four effects (ordered clockwise, starting from the top):
+
+1. `TAPE`: high-pass and low-pass filters
+2. `BTC`: bitcrush
+3. `WTR`: low-pass filter
+4. `OVD`: overdrive
+
+While in this screen, press A to activate or deactivate punch-in. The word `ACTV!` will appear at the center of the screen when it's activated. Once activated, the d-pad buttons enable the corresponding effect when pressed, and disable when not.
+
+It is possible to "lock" your button presses! Enable the effects you would like to lock, then switch the crank mode to `lock effect`. Crank clockwise until you see a "lock" icon appear in the bottom left of your screen. To unlock effects, either crank counter-clockwise to unlock all of them, or press the corresponding d-pad button when punch-in is active.
+
+If you would like to change an effect intensity (signified by the decimal number next to the effect), first ensure that punch-in is deactivated. Then, change the crank mode to `effect intensity` and press the d-pad button according to the effect you would like to modify. You'll know you're good to go when there's a box around the effect text. Now just crank until you reach your desired value! Intensities range from 0 (off) to 1 (full effect).
+
+> note: this can be done while an effect is applied, allowing for some pretty fun live performance stuff!
+
### song
-
+
In the `song` screen, you can view and modify your song's global options, such as the tempo and pattern length (these can be modified via the crank). Your song name and author name is displayed at the top.
> IMPORTANT NOTE! currently, the tempo can only be changed by intervals of 7.5 because of a bug in Playdate OS. as soon as a fix is implemented, this message will be deleted.
-Here you can also save and load your songs via the Playdate OS menu. In the menu, you can access and change CS-16 settings, such as dark mode, crank sensitivity, and the name used to sign your saved songs.
+Here you can also save and load your songs via the Playdate OS menu. If you select `load`, you can also perform file operations on your songs, such as renaming, deleting, and cloning. You can press `right` to view file metadata as well.
+
+
+
+In the system menu, you can also access and change CS-16 settings, such as dark mode, crank sensitivity, and the name used to sign your saved songs. A full list of settings is below.
+
+- `general/`
+ - `author` (text value, default anonymous)
+ - `output` (audio output. can be auto, speaker, headset, or speaker and headset)
+ - `crank speed`
+ - `credits`
+- `behavior/`
+ - `play on load` (play pattern immediately on song load)
+ - `stop if sampling` (stop the pattern if you are currently sampling audio)
+ - `tempo edit stop` (stop the pattern when tempo is modified)
+ - `save .wav samples` (alongside .pda audio, save .wav files when sampling)
+ - `crank docked screen` (which screen appears when the crank is docked. `none` disables changing the screen)
+- `recording/` (as in tapping in a pattern)
+ - (button) `button track` (when record is active, this button will correspond to this track)
+ - `quantization` (quantize recording, can be either off [1], every 16th note [2], or every 8th note [4])
+- `sampling/`
+ - `sample format` (16 bit or 8 bit)
+ - `save waveforms` (save waveform images along with audio)
+- `ui/`
+ - `dark mode`
+ - `visualizer` (song screen visualizer options)
+ - `sine wave` (sine wave where tempo is proportional to frequency and pattern length is proportional to amplitude)
+ - `notes` (displays track active statuses)
+ - `stars` (purely decorational, but looks pretty awesome lol)
+ - `--- external ---` (below this are custom visualizers)
+ - `show number / total` (display current crank mode number out of total)
+ - `show note names` (display note names in pattern [C#4, F3, etc.])
+ - `animate scrn move` (animate screen transitions)
+ - `use system font` (use an alternate font)
+ - `show log screens` (display log screens, causes some moderate slowdown at the cost of coolness)
+ - `fx screen vfx` (when an effect is active, apply the corresponding screen visual effect as well)
+ - `50fps` (50fps refresh rate)
## other information
@@ -141,13 +209,22 @@ To manage your songs:
2. navigate to `Data/user.*****.com.nano.cs16/songs/`
3. add, copy, delete, or rename your songs, then eject your playdate when you are done.
+> if you are sharing your songs on the internet, you can set your author name in `settings / general`!!
+
### ways to improve performance
All of these are things you can do to improve CS-16's performance and reduce frame drops.
-- In `settings/ui/`...
- - Disable `visualizer`.
+- In `settings / ui /`...
+ - Disable all `visualizer` elements.
- Disable `show note names`.
- Disable `animate scrn move`.
+ - Disable `fx screen vfx`.
- Enable `50fps`.
- Use lower quality samples (ex. lower bitrate)
+
+### custom visualizers
+
+I have a few custom visualizers in this repository under `visualizers` (and maybe you'll find another one on the internet somewhere??? idk haha). To import these into CS-16, check out the visualizer `building / importing` section in the [DEV document](DEV.md).
+
+> note: by default, imported visualizers are disabled. head to `settings / ui / visualizers` to enable them.
\ No newline at end of file
diff --git a/README.md b/README.md
index 6c1336c..3a3e952 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,11 @@
# cs-16 (cranky synth 16)
a synthesizer for playdate
-
+
Ir4zcxc7RQK4k$i1HBh;yaiyWR7o9G })`vaiip4-U z(>h1U{nN}Yj1hdUlES|gEaKFxoxPPk=&2i6l+j8_c_^b$d*Iz zUl4h$ReL{_^o*kioVfZ_@_6HSseQxqzN6>I OkFcKbI ziwv%x2yVOx{y`kl!W+`25z+w&>4Jy!AVc~lLIy5EeiDZc@rI6QgpL71C*Yw|$k3UI z(7B7y1>&$J-mn#our)x~20UyF8MZSKws#SBKpcL=8-Ah@eg+7?fQMfp!*3?S?=Hg8 zNFpBcMLgDwcnXZbh>v(y6Y+d90{b%JB}pVMUnIU}Bq1=8I6jiJCi3-UB*kUq8 cQHD=XKVGYJ0zRMUfxT1I`rRs*i zh^9;Cgm2Zkv#FG)IS^{i2-7qtRK18JHV<~pjZQGrR|UeV0|P7(f$p2!UYgVlN^mJn zA1B5bbhvtuCM=&gE*$~yMu+QK#D`i07&69~#1r{oMyK;7tP{Qb-(R@r+$|U8eg?(H z{pWT26^;g1L{rp6)BLU5KmGIj@!$Cde#7 8k#cvlcX~Kqzo%Jm z-;l3Mr2hF}Rz1}dW6A6*;F27nZ@zXq{syG uO+& z8+MW6X1_?N3vO~oq(a_%A=9B {SUF!P@+ zho~?Gko&VIXH!KfsCBPKeev5giPGneSM>+-F=ofM2$@lY495OR-OUNwXve8|`tTp6 z)g}pmvF`M^0Ru_%BxAa%tSDFT AC z#oo^MvM;mL%5N#tL rx<4e8tL&4+s2#Vx0I0`FQ`9E_D(F+`Fyo7cd>cA1yB(}xwL=xVv< z<8k!|?U)(X_K0;;k9Td1<<@WYXo8LZEnI(!64{*ml0 T} zs)A;?hAGKrDtq-mhn`MoL3R&@%^*4)Qyej(du1$*U)AdS}^Z?aIGbPs<;p`cFqq z9_>{we8ppPS {z^_kdF_M$EO{`1|Dio5bFF zJae8YjVCi;(7@GvXfMU}R&}DVz)t1zT-{zxb>sDH^RQmcZWETi;C|=zoZvw>Sqk6! zNIv%MagW5{&B>Tqc*Dte8r1FCqQGFo#d@Ot-RWj|Q{(w=D@yocG($w>@-#oC>H4~N zUgUQ6QR?j-qzR4io6l3) MMM@my?tuHC!?ADEf!&n9B%qj(po zUs0dMhAt(mGxQi {yuY)%|q#gk{4YZj+}|2=UoR5TGS4w9<)V; z?`X=Wf3r$l$y^pDtCfL9nW PL$3-lMJ#^aP^xEL$*HL5Kq(i)wLpr=-hPx9q!*whg4EGr{UvdMl+?i|=H zi_ss vO$|2R6v;Fe B(@76u1oaQGH(gv4zh0iX z)>J>(24RMbzCaO0QO11>AnBuzpX2#qyu0B`AEHahOx%23R-|B3zx3+ZwV4NOA0z9r z^fX7Kol4$1*hWW>d_OSnX;Cp)=w^<(ZlZ z#1dZpS$ENaq zPM(JW`@VY5jNEY;Q1C1MehjKlaqK95Rmb$@{Hey(2PXaK854oQ_+D@B^5nz%Ij3Ec z0dcRxXek}DSDnPAWLfqR#rfvc!+ZliwiOY~g=YEMu75s#5r9-1v~aV<6P<;Y2H&FDbWGczO3R697b>!o)+ z%lYiQwptGE#6B{;8&_TD{ki~ne64Ut=&Jb$d*AQcl5s|luw}d7w)gFf0T$0}D>LEY znB0vGff;Glb2e)Y_nT$G<%`Nc
1} z@YOy3K1jMQjB_>MTSSmXbKPh!$FDFdN0=2}r*txQ;S*1>oBPspzM8|WG_vuehz!1! ze|GgF?QVZRY!$v+bfsBTw4ZE6&S7IauGrIG89L6&sCp=+eCBnAoIV`)=#;IRZ*;D} zsY)m-uWM_KI!7GLnt;{m7J3~{L3qg%LfLdn>Nx;nZaqLatZsVJWBbRT*$Ip%c%F*e zH5Jl0mLeTI$Ea}KI)5`KvVU#*H0A26qweuSdR@(jM=py--wU7?4L`0~<8stZ7axH5 zw%o&GbI&EWy3GXl5}Q12z}43sM8c@4W_ibS^~QJgIgQ2MgIA4asM~t%rfvJM^Gjxt z%3=0~+eI(BQ-!&!A29Btao|Rd=c%hV+e7b3Bac;ApBs9TyK1jxS5JFKpQnLtg=W6b z7&sqE`nI(A^l|&(1ipMVVYP# 8Ne0*ur;x_jieO|5yXMl#qKv;|2??A!-QBsppma^x%r~=axVP2 zNIc~s0piGLOsAj^@qRvjW)tYaB-PN*7VfpLfZjaN#|%NNfhO^WF$73(JaKF!Z>#|~ zliDP^7GDs*CiH`bzt{vN9zy_MP;@4S--T-&Ffz^w5wi}1+ID*i5W~;{gIz6P&be;x zm$9Cc&<|ZuPz|@KSu7qrI6w*}6Yui{0RsYqjV9x~FFn68!eN_m5k@G4#5poI-r)Y< zXqpM5g#XO0|J7tR0_|%Z8l3aDUH?0S?f2RLegnVl`WL&ts$1Gvug;NB(D%CCJKpVW z0?w8LmfZ?nX5F}(*Y&+FX3xp}u$YJ`KsZMdiXNC-kQg6CrNn~!3zMgd0Lq8N)DEaf z-gF1L2c2_v==>PzDtiHhvtSSjd_2fm(N#T&p_U;%oGyDzFPM-Up=w0b9;gk$C)Hex zmKVQ#6Cp%MVh| N!x-Bup?WXgSP`Fgqh*rIKqU)F>S@ {lLLWDnX9p?i97)X}>;@t;E(~ ztu!(8;AnpY65RbtneqC4clxK;BNO&u%;GMxa>25WSHnr={VI#9MUsDpuK#LR`ofbT zS)SdK;V%-bABH*hf#uzkhC-Z!0?W@2$8q%wkGkI#?>J9 -_Zec|)|==sL0eVY2( zo9fnm&zsYs;`+PEV{hT>bF9>hv321G>ES+SWN+?dqnn<-Kk!wRS$IH1{0Ay)&<~^S z&69r9k7!IKpeHw}81xvQFx?{jX#~@reGa@2U4Qzsc%(g*;cdn5H~_!vGkBpJ*h=2> z)0f~eH9E=$@tKOS2qLaCgG0qDN US z*!wV!5UI9wy!NgRF14Z%^ZF&SK@Bnfyu)Bq>x|a|W}SRnuR@$}j3{QiB>w1l72)b{ z^ac~iFGg1u9$>t3L#rwBneE6|x%WPF{TI8YKF?y1km^x#z>W0ET)9)36j8eyjLe-e zqM_oGkr5t>D-|`NHQ|%eQyYpUdTjbMpr-kR7aZ3xV!|3E^_hkO4^~&-pG)1|$D-yK zI^MQSHO ^A|I8_ijp@mEU?%J`Kk?)1^Ue#?b= zr6KMZv1V=ZQ6KomYsf0K*@Irt=B>iF^x-tLhV{YcnS-21 z@bjL)UDCyj>oG zDq2j@AA2~ny&^{ 1<_W7B2K`61n35T%?dD~Ay6CLPQx z! 2Vc>A6Tu;un3h=Q)gAk z{z6;V-s!okv+5tZJ64c orMryxgI{;z69(d$9)^yZx;B7`g8iIY17bJF| zxwyS}2j%^=<^0aQj%1N=AJ)#~RjftHybuW;?;v=3=x={x0I#a YO zni#06s_x&lb-$ioc FxYkOX%-QD9>T~B0b1_ocxZQPC3kKeL+ z-FpsgoTp*hX5Y7UTKs7WPa_dqQC5gM3r?qYTLX`M9iJdG5sz*=3CzCFM#q%g41jc& zJBlKcTcJVm+}l+cH^w`0^<6knTxV|AZ}?`7x4O#0fz3Mc_-6g1!r1_5&MF1(cH<+@ zRX_yA?n9%~O<|K9jZ_LdrP1qwm-{6nH9`bgkCHa!I{8Os_+3;Yvv$_1_?t`jh`g=p zw&gDQCsG>LO3B-2)p{uxqLc_y+8S7>aDe>}MB?oSzwcS|OwM}VoqxqjcJiVZ?8QwH zOT(k!1dDi-Z_6Xwk9CiJJe8f#7y|ey-i>RopU!iH+xOeuog}=?T{yXG{uNww;zH?` z9E(jgcRqdE=TaMSc5=By qOPXvuU8e4Z;EZa$IKdUJI}nn!<+|T z-Y1;^3?$$QlD4JXn;+&Ac<7A=@R>sQb{O^^uVx`e`pA{}J~H>2zE4~y-0;k;9}>GC z!hA?JfCh`cam#)~&3s|<6h!QtlsS@$r$qi1F9wIuV@y-v*c197@g4- z7hxE8N9Dqg8Dn%AWJ}^n04H)_3~`l;a}FYK&xHZwW6L_Bo>F`t&SHI~;BVm3vbi3z z7qQ1gu@50oNR11SF&@Sj%P9p-ytMT=jgkJFU8(;+$z3DRB4W_$6wx?;=dOSE&+jMy zeQ)5mUH`$ZV?PI5@9pY+?Qwltm-839DmA0uCzp#ksa}_!u9Tp&LkUH{muiTAwd)Sw zM5+g6*m)`hD+-a~Kd`zsANZ!RI?eZa4Fo@gZfqhwfM<%qFc58z2Mz_6A~S*+v5D2~ z$kz}n5xnnnjlu<~$7jUwg&DKlBpk90;$CwbXE}WOq`4Gj$gP j{?3;ytnYUx2rhDYj=(!KGW~=n(D?*4)4V>zT05C(PaRSCK2)K*%%vkeoFkC z0d}UyEGbDh%*|wjvs{bJEL(m{1KZ|Yt!({t)D|7=-Cf*99)!=*vLJJ5GQTJf3fFQk zS;`|e4s9o*FU+}{V#$x{c~(#{xaO8#R{V66xkBTUdVXQwQO|DG7*xBc6tu}_>py{; zzgscj;I<+9Ud`RQ;xOGkzIGk=3Q?j$xV>Kl6?fVG(R`Qxt{FqwYOf)ezrfD))u2 =j`1$i8>s8c ;EvJ;Z9yPX%bynIl%_2-|sd`DRh~!=(Ta3 z1r&!?%{f-1$d9Kvhx^ZGLF=p+i(d0LMbr2SFObWj>fbNMqRZtzEORS+UCu`ug*nbA zG8Y{#C7Ib?E=NI%__mUx+1xrxB>LSpQ}Du&TRE=sb=dceOi>=eAdK)q{5eGqHFn zf*T!J`gM!F(-cA{NM?PZ
0*Yr@cDA$y=OPe2kS15 z^HE-x!^ +}W< zJ+K+uvcwnlXz_`N rX7r 9{EXF*@ Xs!OG?WtMOgw9{;gdT%AzA>SBVL_rDdk}BfV9!-WXU&N>t%Sqqmvh z*fI8gJ{yWF>RV-}s*z5(w`=T($xBd;jA_&syq<+l5&VSK44WgNye*qO3z!(Eq8vZY zm0ewC($8XAo@6OXPu7lEWQUC>$A}ff?TabzXnUMQmjtUD*+hxkcW??H)6xmgYs&bh zOUgY6eG9y^=yS^+PTTf37kMjP3W|zOcMw(VA!YpO?iQ0=HnJgx$y7ioh8_>2wUDmq zR{8=w&cu8{%XJBqh;4kI-A&ss%OTyt6Clp|FRbNPYc-n6nCSvctixR_Crmm >n))!a^)J>V@5mppdvRLj)4gPO-o!zpg k?O{j4P-7eOq^&4wm7RMW@r?rVe~oU9%QY zY`xlBNNrP*vrNnEX`wxL>A+KGxf`xZGWGK~jHeMbYiqq-$9cY1-V9%2@gwTf-_p{^ ze)*IEk2P=parAl1>=O U}Ur|Oz+@ Zr#1GbCK8? z+i%m_vRlbKbq}Tx9w?@HGzmogqvS$gES>ptc|cPqwJrEs<=YF$MXPRAOrY}2Vn;de zD3kDEsFBX%*+6BN1RGZbC~<`WrNAdCOJN&ZceDD_7+7`5dYmvlGnHKfEU_p$PQDhL zS& zU$idt;(iV5p6=6K|0HjWZz +m(C%pp9inqAH7i2ZyeasTUwS` zJO5#aIEL(BEYYN#cI618rrQS{cfFgYMo`hGulzhy6H#ZY)FR6bpKh+OnvO3-^sj#H zd$tU}KHpU*9(48g8TULhvpzEOdEDi3$s>3zVRHl_ZY1()C-gX2=fT{t8gTV_fx%3I z!ApkW(?sa|jl&n8*P0N+&%4v7c-)F=!s8i|k5WSs+G*ob?W|$oN3Y@b2;lw`=3%k! zEy4>@jq;g40r9GPVJO*ABSBh6w!*|-x2|3lbOEms0^$rVD!ev4NPpD2KLfA#S6=Xj z1h|wQYzhZMa= OWEPez8JoIV_gr#i2R51eX z`C4<~SBL?Re;8vyLK`?4eILVyTEM%B;tn|CH16ZzplAn1cmOb-I|%eJFfLIuo>Ma+ zo5bhAgMZQ*{;wym_j--_-5UPy>$Tq}|LYC>*6UyOD&W@sYtT*s<#nIDp6m|(MX#5O zV_!_4c)`8`u)@aQ_-r0ZM0#Az=KM{ssR2pt>+_(lTO#Vfo=6QM3tWEKG~_iuL#%t6 zSaq7$)A#;ggI_N3riZ;f0vI}i3gNII*C+5ab51ql6<>U&4Wmd=LUHmK1! XFiGR>cjy;RtO3ROO zWAsYMLp^28D(;yyhrFMIZiXu+ =hD?Fc$o@Y?nqhle|+k- z$^oTa=;U&J=eNq2|4?P~oi2#irevIMo4ImbONOOjxd&QMu}S@wEvk0tnyv2isE)lB zRh!S^7UrqVid5+jPO_L|dVcU@%gxfZ38z@Qw5`GLhFV4WQ$ca(ou7w&6&`xXK{G>j z;=9hb!7L^1>{hQix=DsZc1_4zliumgKv(`{-1Q&zdY` Il!u2 zcr;1}+CA#lhlPHaGz;E!o-&2Zo=sRPlOIjlmj9{O)?4mbw|Ug8>zoHV+j*DHxXwjC zkL`EBD9FqcxrFE_{IDE7ILkZbqtAA^9OGyUT=i$at65KzXslk#0qr3-vdEJ7H}ezs zsu%K%?#_2BT5a9;3Oe_$b`X#Buh$y(DLmF%oAd+^%V>%Pj++FU>W})Dz3NZ9u~34i zzl@q1&W1tyLi@}53SQ^y0y}kA9cJvFmwWD%ch?( r|eP zdjwxRPOnoQK4K8L;CSbKyG@F=KK|pe@Hao~%r}p3U7Md+z6258q@r_5w!Dlx@Od~x zi7qzLOjvdhK(CVaSi-!8G`+-+XJ+BKE^#XcDK?lpW)TPFj{HQu_cD<0u>r0HQk3H9 zFGwKg(#sSLQ6>sSsA9zueqx{~m1$(KhJO-a(}oy_pM8iai_v;5MmtxPeW-yy4e2VN zgFnyS$+{q&d_J&~_sl-bdnSWoe}exHy;l(dv@2Kmlfv|*4#6R`Uuj?PN<9|F sno>)UEAe7eOJYh5(C(ja|Abzpm}G3Ntry{5xT)VPt!B7Z znQ1XQ_?2jC97ESXPgZD0l`K&;kuWY9R=KWynK0??!kwBzZf>qmqS0onRvZ*yWkD~X z)fJ}7nH} 3cJh+L6tG4tG+e6_|BSFzf1qTV+3cq3TI)@y%~ z(v>v2D29CB^E6oVhDj#fN7c&PeOl+7`=SAxF7H#g#TY7&^T(?JHs@9>gBpI-#%IDx zo|pxb&mAwC8R8Cf>QoI*lr$Qi$Js(Z^bPOwSJiQ3mj+EvFOs-Bx3kD2g7vKzaL+Y5 zB**L}MV=d8Kml!JYo*~?Nh^3V@a``zM*=~zhJ%EYy}D0XBTD*A?rduk_^QgHas(F` zj`L9Unqf>4y3?i)_QwaFjO`ir7EIKo6AX%*9)EY$F{`5{?&qE5Og9Kwq$#fHS@E dam}*ao1BxfcSrI-1V<| z?Qr=*_i)9=PFiE8NCj#CHWM>^WM(dosMayh*2ra=YqH3tma=lsHQ!=p;jXF<;!)ss zT$gZ1R}Fb6e*hp8oHx~iR$o>fY=6+PdNyd$(s^{yDVF3!pfJ;pWBX0>zBMem45 N)MTf? #kIVno8s;zivo#Eg-Lka*vo&m2rF7Hs6>_Fh6t?eRaXW!_)~i@QSqFZ>_J6g8 zIVQ;`JUaXCTf?VsjI8%QuDciU+zB?o#10|**Oia-Q 7E~3ii-toEHv$GH+CMqhV%5(h zaqsp|uUj67TvDH^O&igAtbdlcybn}SQ$b$N#gg7vJ}Fnyw-kiS zj`QPtsK#v}BJXqW#^d@TlyL}-`^or|-EDg3T^L~1%ncyn6NrBQS6%S%-1-XQw!ZG& zpyoM93&i5}&W89l=lFt;d>-(!zu2(G36#pE_iYmQy*BnG1Nf43`7vMkkq7!v1_Cas zt w!D1REf62LC@cJSjBz zC@!2;82otEeb&_d cGasaR;hN~44U~>UxfPpQ$9PY $n|G#P!grD6pq1N1sI4063bPC#`u<3w_uzF_)Tbwj7u zqxB}7(1>AQ5W&vzP^v&6FrG+|A;dcf8nDT13XAh434vHZL;3iE7^x_a;6{AlSjl)3 zbx#96{~v+z=^OD6=;;zM6S(g6TI2Xn_4;3(dHq}V`dhDm1<>#3|BY|pw_bni^|xMs z>-D!@f9v(PUVrQLw_bni^?&-ZrvEv5{hhu3H>TI`qyHb@z;C_&qh1TsQXu!)tAOXf zX%3$=5>S4P{tlV XB?s?eZe}N( zkyxfMJ-s4J%o0aIRicV0FpcwKm)zi)b;)^5#n8yO`{ppe f}*LKYY zEbYLhl;LP&wwrP2DRa0f?Ibw|tN);0{p+gXzhtj}7}c}&D+CK3G;zulmJC0ME~xBz z+j-;Ar8559c}&M{*Lj?vm!)d-dB*dqDMbi5&x~=3jmwn2I_rG^n}O;tn`e83?Ktm> z(giF)aBKmSA=9(Gi{b2h7b_9UY`|5xei7eNq@!)kdOWDHW+@#ef3<11-f%WY;~G{w z=Tv=nxt-rBT)C@W_o8mg@p#~TBNvOpW2v=H?`EeHBJaN6vOnjs+t^#=ar8q#q5ibP zD7^k`*im2TWRTNa=wdlIMd)%pu}SD^JAYp2dcO|UaFea9-*kT7DuUX-9BvXsp`z#R z9#4p%O|kn_2kSj-HT!r&_0IK; x^}#kl2Zc?$jM zM=P3!sSIfOGkawYp~6t*{Y=#J&3Cnq>T##qXX3Lj5V932Y}7D%8xD4 3BS+j}uytP= zS>1*B`=P@yvm_&mX35XOY`?;_3YJNqOp1R@{}rMrNc$R-QR4F!M`XAx4NVZS6!P8f zzpNVm%hYSGl;EeKNJI$DTV*~eS~Z8r>= le2z58uBr5*&{$u#Ox~5LG1PU&llZ7;-CrM~%>z4l&C6S{^5BJVtzK*ZhJ* zJ^~+q*3UCtBkiSx4 7XK@bIwp~gAUjrN zYfzi-M3pOcO=hu18F&_xJm_yKKN~+NvwNI#JHjX$OZp`Pn=3o+)5vF3_m}9Xio7d} zSRvRJbs _h;JN>jUuwm@$`ZHCR(&!@M7uH6XmKt%=XJubQtxd)FCtGlx%Z>Y)btDos zT9wYq(^*+9ai-OWs?=CA|84d N*s&~Lu8({nmD zC;4&j^MM>QiwAqKR{FDdZnrXXsXgdrPhH-5@!ZV%*p4UhJY|=aN;15UR#n-&O8s`F zCn(2xTRFtvLx-70u?DNVX~sAdvUZf2(2u&09UN53Uz?Cv5w}RO9fp URH7h5$u1|~Js2xR)>X>k|^L_G^XAgV8s{a{h zs^5yRB3Wi+c5P+iSG3oGk6Hb?#QbG{)YA`X#UU1opKE`ng`FUx^ETBSrJk|F&v4 za%SiMdDZY=v)4bTUK@5(Wof(E8yV$kPHlK%6T2SbxgxKzZ0(GsXZOVE>*ZQ)tUKLP zk8ODj_P*~qeHWOw@8GF>G`H`K^Lp0t37~< &|*CQY;6Z*1Z`I 84LCk7lagfj{Nzm1ouGnlZNDk~tf=o@ZYLv?nV~i0dw> z;yCp`x82SCc00>`%U`w~(jWd*K|A+fo5POv8UV`s=J2vj4SV7qnm`W{i|`_XD16`K z(0%rm (|@_fiL>3$sZr#rFGT!#u>P0# z&hcX+%Odvs=5TrPN|O4`_Iwq<*=p_NB+KzInlfX$)pJX&`1w9-Zua~mk)2kD2E!A! zZ{_C#!qfZ0sN+X_9xF2Lmp%`J_Y3te7tAOR3^awWoLNyRL@C!7-rfe^?A)#uOb^RC zy{;vU2hdqhJG~cSJ|*e`=m>9aU!OV`pTJVDhs4(MIo=xM9$0}^EimtAygV;7d`JN{ zxRRbxioSm9Uep)@R7m&lJbo*kK6msU`0u@cx_Dzg^kHDICerX)8uyup5O$6Gz2OC! z5&5sXI!Z$b@R6Wfh^H{I|3_laPZuEZE V<>1Q-N`U~;q2 z#WC@Q1X)1CYxsj1V`uT<)x`0cf$ ^}hZ>Kv4jGM`N0b$)fS>&??GTy1vPu~|9gyuIj}Vt90Gw%~OYP@M{T z5!N~H{7jrU)y@9F_`Ks2tw0?E%(c^0e+nj^rGU3%&Sa2XRrq|cWDSv)6M0M5SC1Da zE=v%B1o)CJ+7VnUnEFoRezH`TcG;KPfpE$An1gXORQc0HrhizC#@isRZgag*?esvJ z&-|poiC9B$cSbyPb}iFeEWO4Q)>1k_0asbOq>ESF>ds0K?jd1FWr{MRPx@lHNv}G_ z=V}HPBD5Ti&VEZupY~BafiV$O<81C12iCI4AS>%i$(Hbg8>OfjCNSlh)uKqZy~5(8 zqY)$h6`7WRs@jdDvMQ35)F#~Re9&iVt<5sY^s}VGf$u$=CN+)xHt~MaZmjtl!dA)Y zop-q^Q5>F_n^g-?GTVf9%f#L6{l+V@ikY&yBGnaKfNg#GoK-Tcq)5v)sG!`fzx@@qC{>S?K0GvH1QqR;&K) oy>dQ2OD=SL^_&V#2yj0I`_un*%$sNGh!#R i8uV(gN@56{29!Xg$W#O8o}vZluMHvdd5{K{Xc zo*KIpDT-lw7_3W6h5sF+gLbJXL`5Z?B$}v$BK;TC?)5VM;zS3-SY(K6QpW2_j5fie zQmA_f4beDKMC6%6aNrIN6&XNMEc-A79I`@fbRo$te-!AAk2T8u7r@@HZAv(bNzPn; z8_&=!P3RD-XPw2Q+bya2bSMs#`Sz_@cdvGfQb^5?$ve+n8QEt?Uz?n0*zhpB46@PV z+l^NXJKAzg_?6&&Dn?wZV*NnP^7yc4>v@g2a@Km$@RsK}h3_%DEuh(v{e7ka)tIs; zfyy5aSm=R1;;0zosb498#|Vn=K)h#>j>*jF7y_(P3MS8-(u#N1Lk@snz;q|ca~|fx zub=~AxLjP@GYGNsNnDe7&g6BcY{Alzelu0Bba#h%NrSClu|qMb(g_x zvlgFGjK7loED;Z4H*z|1f5D!eW?tQFDCJM842*7R%g?SVDE5pZ^kUOhZx_^q@YN6w zDp?=11~ojPW7o9X2vc$k?F>>CyoT6ZN%D>Q60Nbqp$~<+VsX_!62_VLVoU5BEObNT zRXgS^ON?1}I2@-mETpT-N_Vz78S^LGwYW RZ|{sQuOMxPpe zvioyYaXDSme6A^eGx30ZursL%&HZ{}(yB5U2(vM(8DE1o;V-R4tyM<$8dRUTaCxBb z%qlT6NikRBu{&d*As>%s zy?94I!v!~_9y4o%UFXsXprhgrM?H>GpHTnvbHR2z5 zq0aebS)50$e^<_>Ze(^z&$ahNXAemBL3ClD8a`xW=a4e3djlqFLT9t{Q^uc@U_-Xx z6zzktJXj8ehn3E7?JrdYt??9)ZB#{v`6f3mM3gg~ kJA@&3JXwzXDg zU26Kwl3&3cuV?>UIb3Ly@Ex7(Z{^|W+2gch(hYHitN+E`S%tOv=3Bc?X$x(kxRp}e ziU+S@#frNZ*WwV806~KlO9B)qPSD~G1&Uj7C%C(NzI0~3Ys>ui!R*7?J yecBIE*}jc%b5j&Q zJCFU0K~p?-o|8>pk;7DLfFnRA(V){=@`lSoapr~S |7_33drIC5< z2mvQk17>7pB|L2vd1Mav!9_;LMQ2&Wbp`rMq0GR{zm>yp|5DrZCw%>Pqp?5V^RK+X zA9nq3>?-|E{BiPccAeZq|EJ>XIfyaV%Uj-6AAC$U_8hdjC)MwJBD(sI;_D6S_9W<| z0L_%3=i!wG7MoYg20l-$mZ*In)maz^%QZ@ygz(I}FSxT|u@%Vb7^Le>1}mox7Sca8 ziV}H%(v6@J(jqZWy&L=~nuFSMCQ{HC6%!^W>5+ldi>fjS)QU4VjeD0vGU}v*?Yt&% zaI7uGIfutFCMZhY*M+ex-(5;Fcz}~-r8_^4?PkQ2F{DIrbgsnoT%j_*DbGkOCP>_4 zT=^C?GRBndCi#ImJIhQPsS|iB7?qSVf@!BuP0sNo%|p%SFz3`v Kc4?3d)bjS2b$}@7WCJw#EgpH!dG{+1IbKY}!>md@MO#Px6*;ukKig zZMP=f?$KWJGa#j7+ijgZ&Q@HW&D@`i)^gl!uOMvPovG>!1OIL3_5X*jpu-l9Hj&~% zUMS^Jw|v)S@$g5DE8gFc>(P(~B%g0gD>sz03ojwDXo5MdZr@a{go i1$XF`fBzkfmr46c$$IODRwUB`mkRGQ-3*KV<3Ks zUVzkJE$~3ZudbSBF6X6wT;AMuYnn{Ho~Zb7ll;5)0};dB_2VB8B%k;`iZQ&!6Z8g0 z|CcZ2ofMpRr;P+ryMA *w(8w09rlQcgv^26kX)$5! __tO(!XRrlTf|>66?g4!N$1ONt?qRTVk`s zZlER0)U+R7Q%WCue$XX;%pF?Yol%{mD)(k4lfKC+^JTP5m*Kf%U?WW7C7BH2igOOF z KYI?B0MwjQiaq?R_&mOy=#tuZG!0=7EJ*3Gw4Q7j!KWsgND_gLz#oXe$F zt7SS+F}!c_97#6jOS3*2t&Y+jvBE3Q1<_j@_mGbjQmf~`neLPD${A}_=P&kdVb&u7 z4m5ESm4JJ4OvxTjbY1h6db6`zDq3sz=aiRxy<)TO=kENE;_Kg)!;VKb`X<6t{Y@j4 z#V%Vm5f>ASnXXm668X+L*zi@mqIxWG+o~{kdclfVGa8ipDp**5k@y5 KMXwiYN~ue)}L{G zn61`htXLy7q^*CHTXgFm?24=ZzhKu{1=o-FAINJMk;*Ris$iAF+ZM$&?QWoo+Ge3` zS%0i@xLlxaFx}oPUswZ!Us->5yVrwoYU-l3qN$}c#uJ@0=l9wD@TCGEs4IN_OG)MS zD?7n3lWoI?=B@=&3j0a^B2)Aj#j4IXj*bq6mrJkuq`PXSXW}L=m&f?=di}A**Ne-Q zt`WgsKrFjbfL0|=e)Xp$etIJ;in`0#H8_pOByvDxi 597JTyrzG=nDIM&-9IjNpIYEOx%kvdbz;uwvBg zuanBy;Y|QOZee%tep0{NBPQ~#1m&J$@N3VFL}VT+f2?;hy>Hp%wM@^MSj|Ya|3d+* zZQ}6sFG?ECD8w5b&i9Oj3?0$fUv50*fDcSk&9osRjJ?I}QOVPXy68F$4m7ZHCGM PMbExzJN`)rSLK1BL_MYwaU3bIOrIkR0P7(q8ReHj2gw^qTeD?U?FI&&*NRHP7- z70|K<^ns%nEfQLpqOmv%eShj@O5#T$E%;E=Pu$&)T$B81yB}MnA9gNh@LqtC1=QF* z-~>DMnjK&<7SP@rpilanU6oh=u UJNZ=YQI2aHjgY+ec`?3c2jzhRGn1)tC!-M0}E#kJ|@R)HV4>o+Y^!*dQ z{wrkj=ePeSUf>VF{x^V~w3QU6p#h&99yk1F@9^oc`ExrwQ}tQU88& f0Ma0jxYg9~&ONNx302mX z>W}~7Z= Vm?VnL92q1DCaqbd`6~%9 z!<=%|Et0*pV=bcN;y*FQGrT=t%(QYnXG}(|GcslKCSu4@$-_O_@rXe39M-J7f_T=# zhVpg8FMho_EGS7cQo_VkWlz$4#9N)U?0#yU{M^3A4>5UD@ynFXTpSa5>4QSK$c&|^ zi@dV6f;iiR)?-+nx)dy6qo8SiBe(tl8^hL);sZ@<8@FYN8pS r#OFXodY?_ zp1zy y(TTn`JyUYFujmGAyc51}e!j5~u2Sm+;3BsgZoGMd$9lTjK2hDT`{u-4p zjyC_=-1MQ@D{knM<5Y3Ah7MIpmrB>yvY$F8ROKUjPI`P}rXh*^ }1+CB=2O>nNZAq%At^5AjY3=rgA>G4+L0@kev~j1>@8UEPs6n zu3CXW3##Ul?KwP`v)$~@*V6-gs~4hmwmmn}n)QXYP{{>C+clG7H9KW0)WQqRY2>w= zZG;fv-KqwT%l$qKHE6$8ps!|oOgN(UsQW}r^aKrTs5|YH6$c-WVmEV+?!SZ7pASdV zh@Vdn($rt=WEDcLb}Q_!&u6=6Fvo5U*DfJeH)4`8V{Wet@pgUgzWjEB?tUY#_A8&$ z=5IGimR~>c-1R+}e17X4(;Gba7e69iqX$Z-Z-~mj_&?V*yn)p<-HQ(k0Qec AqihHf+(#`=BVy+AEEib)}WDwLjdUdx0_}ON!HOFI;)kgaoIfRkXS= z+=q7&bK^`xg8Ns5^QT3cyIRuH`$ak*|H9l9^~JGtk(QoJ=0heyth@8#BP|aZHI9MU zqS7Tgqc~~3UIIkjqA49nkh$%bW9$#g%vX$-?@Sn?<0h-027MZTXH32qm!ED{6~rfR zt-Z$^#{%bXi0d*n8%$uQc$W7BCAS~6jI5wECtVVh^n}YR#W$I;+Ye%BKraT9%)LzM zeSY$MPAy65@7B!2*Ov4yCX8R+{Nl%ZuTL)u2e6U1%1M>eZzak5k-3vmO0T2mj>};@ zojmiq+prg0VQcAV=gbe{ 0NWc~q!`O= zwsNjfeTz6N@-DmiZDH+xuxoOPgsr6-Z~|giUiMl(- f~K=ivWio&27 zU%d{mepmmYh!L*FSo2eAb?KJ)xzc5g+GqG&z8X_TPb<`Zh=BIWKR%k@P8w}pnl^Ly zDK)vjpjj`j@cD}#{Q? m< zPu#LTwWjPE@GQO7UBn*Bj0RDKX|)Fz!``r%2xPi7E12yCE{S{+BRSAhb{#FgWxLGQ zeAcZlSsHsUadG)Zb$>8_X)=+#*$0a9wu?qyI4A3J!n#K<@Y*?9g34T3=loX`ze|oz zo|Qt)*-*58nYOp=-^@*P<8cLU|EhO*a`H`z#p*GEo%^)R6gh{L*r47gmv<~CTj3`a zE4FmbE8$by93xddc=j(FCTDJ}xcwNNw)dp)LT5IgM8Q*ct70#-9&xh##G0G(B)&Ql z(JVB^hHZocy(}m&$8Ayyj$iyJ{|>N;9*#COW!TM}sxo;xC&PwX?DeomG1fb*_xpNy z=d3U6*`Yb1dXA+0c}-8MGe|&Y=8g_iV~J>NN(lw6gh2I>%+#Ts0u{TSeW88|crVwf zW?lZK`$!_lxy^CVq4 qCtPI#O{Vcoc`;>x5EiCbHbD7y=Z?s!`7 zf$;&ASQw^8bHBbUZBxzBKjQgxnxk7} ytj zxL5c|&uQJEFj{CG<8t;DM#W~ZQ#XE azqu@bU8Iv%wm;XHzcIkxpxxgT z5MZ(DZYk} 1yM3Fl@2?^(Bf`d8`rT60!nc{Fr;VyAd_OrNe<9~F+|0gKy z&qw}CFYpIi|2wp11c0f UuWkMx%0YlYiXfoX_GL6dm_d-|m`-G{tK} zG>hB^XJnLC4VR(Z(4Xd(MM~h_UZ6Jc<=dba%G>^@6oDM!ZZCp1^)%Ch>0g{AM-Y_1 zH_{i_|J%^(>1>n`3z2d3$9mF?Fi{qP6f1UaW_n-j&}$l8b^HEcv`zqSW~BM8DjK_Y z;nJUChjFv!0zO|^(0}!cv|Ns{*hgg|)v?f;kXdD!?E;lN$w+p)B@~?mf|IQ!MO_Cc zf72K^$xL&*%d`U9V#i(#TdE@#vR#x$EhFKQK`0L`ZcKbmmdgW_MZP<6W=?@?Zzl_? zxS*OL0gp>Fr;rq%Wg)cEv2&xaT?mLQg>4CKWgIqEuN5^> !37N?_Yks*37u3ca3$Hc279wWNITs>}%f2rE@T&S^UZ GIa2%@zt%%Fkw$h&+cT#%4;}W|~5qytb&hvb_I! zEQc^~iu)(8EFO2423n4L7+_+1@Pk{2^0?ikhO(rC$1UGwT-RRDX;{Cxj(@^ )h%~MXv3p$rfQ?8K}>kl52#
McHXCvEOxfl z45_;q>7r>kKRXZ?zs8g#UvD$M#%x7^cM@i9-mLs_>&17-<450a;Q|_OYX9 3Ra2_=6V)icG*pCOs4t|vHQ*QsRyhc6oTj7~|sK)e;xc8SofA`!2H_dm{Rv&%E z*^HiGjF{e1p8tZX@EAWv0N#`HD+MdoraW_LfB(`fA4V%T|11L8!YUaFGgvf!)Ev~p zrCnriu1iTaij@52@-)m|)r6u%plx@!$m_Fn8rgxgl-NXng!@$5^N`9GZUTZ(x4dN9 zvLNZ#EKy 1Pp^K~}WU^{a{cy(^`X_o- zvU(395e kfQ OHz1U+0RVXlu$HF)cnC XW0!;*R`gJhRcij zPzEln<;GDesC%IWdUvh$cdUj{nT!RXvfSWrYeQw^<=-PzH+ZdC##_}#3iC_z%(#SQ z+az5}U{`GBK*0$^I6TgX-o}ciW}+{3zwCS1f7T6enZ8RHAG8{*SiZv{`X)r9kzAv& zO>N6it46nfzr3V|ox?FJcWRN_Ejz~F+||EEWlbGXJ(~Ym8+tAm86{BtWoyexre?;R zIXC;t##}o%L4S3iqHJAs6M#7zf~Jx*94~DvH2~Eht!1?r!$XjS1oV0FXiW&;ci%bY zxsC^#1$Xf60}^u$W_5YfsRQhRN?o%zB2FuMxHutCZE_E0Dt 7oG z7KzM#^@>{Km&SZudeq+oM)MX~E=)1CrkSsF87Y@Y6vuxWwelDz)YAM&73||WE{biS zoO0cZ?PK2OLEIFzctb~4YiozH2oE-q6!&a44sg!o3NwGZ0q7w$JIIunwv>X759;%~ zq_BgmDp!xOy5X`ssnn9cjpg)~{R`0QS`Jm_tl9FPoUl@@2-KCw?K}IiZ1-7fP=1@X zNM~{vf3Q;P#P)fhu=at%ZWZ5=9Vj=U_Nv#denH;BnLT61 z+Wt;mDOW_r2l`?~=Tgb*P&))&{nMZfkPfNAZSylN-|d~rM^xhyQq?24vChS8plNxG z+gG%gy_KT>`mF}f;q=L0@m**=`m6((B2fBKrY)072nZqN)y60fNR%A^j`)uHI z{XQ?JK;KUNw|0csN;Hv(pk*PlnMZG}I9YKAn(WE1Mtx{@R%b?O7uQ&LeQY&ex2;G6 zZ@h3i`&j`Vw&lBAAQWGIlU0q;uz3tJG^aY&9jrfg%D+z1L7xm4RxNX(H;xbLmijm` zryXJ7=5cY%G^6s(`vA;}=*Ef7aUkhp7UT#49C{DB-404N_h@DGPFC^uk@7KH0e=aE zJhA}ek3mS }UX~PkriL!DK;Rm@Kb;1c+r7!qV=74)or~ zfj(q{Zj$)&WkYuZp_)ceVSuj;z@QxmTwOudE9HlG-&-B&-yPtu#RS$q_1|mt*JcVZ z)C_2p3{XcpT2%%Znq#3gz~K+HQjSMbpGE%D&}*O)BMc{6#Q?`4dn_vDG>VJNTq#i+ zM&t(L>~OF4@sv{y7Pf?mj=RR)jIn+hV{t!N< W$^ z4r?5aX9!nIp9}!PTL$`(*~?4Il}`q#fIxT{`4vmUzXl;$mW@MX;#kMyk~;pHSpO)7 z|0Tfr^W%TB7x+W0e~9%DvHl^}Kg9ZnSpN{~A7cGOtbd60-&QgFZ$Yeonyvq42=?c5 z{-qcAL#+RuSO 8zmLDxh uhKeVQkZD5RwnnqS()N}3E-!5!JYJg7tojUnj|i6d;+BYqD`mY z)Uj5kG#|-;v6ptj98C0I{FT-aCLG+T3}x>4(Ya^=UsP()BciH|X!Cd`vvBOB>r$kp zvT35z7Km&GX?-0;6vn)~YVw6YM|vfouP&J3tL}p~<3zH1>*h(`QD+npF$&{ZNo#oP znQ=kXokL&!Qb$&k)%3|Njl6_l%&5RO+Uu67<(PI u%vp9}ZuNu} z7}cSTiuIubPErjJ<8)-KHx7ufpcDb6`P9|GoP} zWyfm?c1;v%I$UiuK#}}vDmo9Y4q6ov?snD?-TW>x**u5lM 4)UximoAnDO4n{x#mllW^Jv?$aUI|^|CptCqRWtzV%>4KHX=-5 z+5?U0IhwS%UEn&caUu_x^u#1qPKGqIS55^;^`0!c($u>xMVTmg%q7rm3oIlH&$!Q~ zJx&r_iO&i@Ur*90a9>Stw)0#;l;{IDvKACBHVU9KHLJz%>T7nY&~_p_Ep*~o-ErH@ z +I^ zQ8PsR;(|iA{`&Aj|3))H{1W%O_a()*t7rFL-#NDjJq|UvMRlJODZlGY`qJ IkTZF8w}Y&|GAgW?_a$efOuRRqQ)J7F0iFovHp_{qxVOFoLD@3xZf_V>L%K6K zqj5W|)dv%zxrqgtaam!0PKX8FWkDsGtl-)b1gj&Xz*9?154fNNzIzTAJsJN%fUBy5 zxnuU$zv`oLYqSU;Em%B(jNE~M7rwt~CV93dkB3@LE!nh?O&|XSH0FsV1X+Z^$f&-s zI7y!KW=X2CD8#@^-}Kg6zL-2zigR>MyDN{9w{ISRpYvv~enlwxYY%2NIc2}qekSA7 z$q;cIgHm*15i9HD$jyn)K@JS5xxj|=&5rVZ?ysv_RwvW4$L2ZQ-H=U*XRfe2$R 0BX;K0U6eQR8C(-=)+&OVX(Br?=<7fTDxyb4xDxUO}F2qH}~uJENNUbIKy$U3^=UD%sTBO*rkf^Z`H*DjCdC^X93 zh{`|fn6R0&m5 Zu6R`zv? zM&+ bf^udfN4ds{D^4RTIt^u{K?c8wi!TZr%mvacJ ?#PAsgC^#NE_OagzV8_^KwO*k*I_<&bRR3A&aC)1;L{y5&YS*){q^ z(;ISS{J24Ll2iO-u6JXb@#^$TpZKN3PumNU`jz}qFz#D$ACCJ$7G&EE^1uSzJL;Vo z4IWyC1T}(hG1=^7x!+@gkZVHRR@5m-0oN4}vs*rc3_in*WJE~s$F1HrBqlUtK&n;m zJNJDbGWq_L0upOFA7;@pA$^-&eePy^@dde}rTpd?p U(s>^BmDx3muF!>9T`kNsG1_A=CDxp}d@NsK^JyW2AW+2o& zFq_25voi2uU?BK3(3>>K7ZBv985H0i6od?dRR)EQ1%+cygT9akM*)IkG=t&p!AN9q z{J$-+MzM`Yahyf{eH4dRE1KUU8c-G&y<_2DL`tUU=BgtdB7z$t#_TG4A6y> 1_D~Ew4leQM@WjpLtz}0Ro zhBYXrrV^ejjo5dKagcG)8VhlagMm=Q<0tGIad4ZpfSgkVkO1K^?$sWI%v?ok6}v+D zk;ZF?0LwVlHQ!=4xUNO$7a3UcS+uX^M??oA!vmJW>>4s2Co~>k-~swmas8JV=g*J- zFTB7XlKm%=rL&9Bt^Is)G>ER %HHCW8jw2e}eWw69ql@yijsZ@_F{6 zY{Drgf5i~1XF?d-ow)#J0;u1T#(Vc2NzDf-|5gi=!`#s@o?e`JUm{1ON$_4q=Ikdz zvEPTnRZNSKLN8?CzP~4MAoBbg=`ij9z^70qV`;-!087UUT{$tCv{?O-F*-YeTQW=G z3R)|=Kux%eSrqne$|T0bRci%tzdnv$-fB74+@;A9cLi<}&zzOyDk;Di5i;LFp9GGt zFiSTs*JQFHdjYdFQt-{uLZ;%!Tc$>YYoe?W+o)`1Nmq;&K};6dlQbuEf6XeV&~w!! zKJzXMTO?N;$x1=haSm&G`v+KVNjXcaR#DyqA ?MmF*4v>C zS28i*8}G?(y0pP_H*0H067uSP@e3E^sA#j=RT4`Q?^K;`%kI?OUtzUxys O?U~A(%jLFnI*FEyDC+cJP0Y=k`=grnct_((P|>nUwPuiu znNgQ$`Lro;+I7O^0CQE2{(M`^?Tgz(eZVw?j=FLlS`mLTVJ1}|Fc~9@f3^sZPUK$x zYOr0ktOp4{Sx%+62CQ1}fB|z^5!6EKz}%VYwe)6vkCk%sZO`?*(R$!!UBmUoRz}yh z@KzIDU(G@rMRM&y*TrPzVJ;8GYq!57p=|$$PBN%w@*P_As3b(uYrFDsq43E{ZnD_L zMgooa@q%?B|9Q(GTI_PC3*B&iaG-zn!%h5TNzwb_0DZG#ROH6>W1pL!W{;kqzQzS} zdg1GSyE@N&ed+Pbn`SZj9&UT%qk!+w=W;3c6)oNpr8@X?*kDQaw28d)SHLq$+Ivpz zZ>d{<1@hLWJi+(`y?co75GW}(`y`sQ5s$$xSV5Qanat_?7Ya{ i|=eGTPU{~a& z!Djd*U%HiJ{bQ)arSa{q>{i_PqCopgBg!^F8?Ukw%%(Pt_^7>wU;jy%5t|WpQM=SD ze1b25&puJz)@qSpD2@b+ym&z+(;>~m6(Rc Wb*-#-ReYXKVPkhg(#kgNX zPi(jQ*&9&m{3&Ph*71XgEUssKZCX9fAA-Ju?l7 8S^ z87*JD=W-`kju*J-7ypdvbK-xNc&AKNd_(4!xQEI&{3G+%j~`?c20Nv+>y8?Fmnmr! zAEZB5%apF__!8n+icIComQm@Hi=QY$^nGQLlxI+if%C%oUDo96dDx@ON)>-7AwK$? z4{D1YrsOJHs9*@y(ozpl 6+w+GGc|GM0c!&k`B=m@(KjglhPD7wqnSZnPLO>=4FenYeA|u; z>De?Q`!L?CJyN1`cT0;VWUK>xT$&=WWg(w1F;Y-oT)-E?Y%V+bUmQ&zh|3F!@^!T+ zbcgXtD%*%S^df6?m(GVPd;GVZOepl$6)Gx6rs mJ3Cb+06Hc@ zhZh3@0{P>0JvSsb)KpjOtV`*b+tXBJnGJD }r 3;i_Ft2HWMe4WH~ff`z9y#fGcV)7z;tDD c-z+XAcm0I+U_qp+Azajjh{mp`KCAx`>_^ zMfV;S+|FII@(|*i3$q)!NxC^y?x`}A?_x$c&MEcOedm@$dAe!~qcx{&YloDZ@d_0W z+U}wly 5|3yULIk?@+StY;O82wQ6fCpvrk zun1AVs&Ue}?O|Y3FbFp3kOGc{Ku*0_8;-h8z?hyC&hN<4r1JsJ^`jQ})#`%&=`N;j zd8NVqM7-w8TR{9gcjw}05)ZQ?1=$Yp5+s2%GD7?tJsJWa{4dBZR@|;gz+ 1T2r^ zjgj;cJ_X%Ag*;nz>D931$_AcmK!3PGUm~Gz#-Nj GDi|`Y4;a8 zWB%_~{L`}h4FLf Ck|T;2Z_ zGnfyT;cW^ay7>h5U^Qq7;ZaTN>39cwEgU4S<(^DJ`@=j$q9cfT)q?gdyR24-d{vO5 zj5$`;6s{5*OB(oI%Ue*!T$x#(zvFks)m#v2kQH0M;+KzvC*DW=Z1XW$gH|yi5`qwu zQV4BJL}fN2?mqHOv6+9y3tvk(Hxd!d4Db_#(`APQS_Vf78itu7L)KuC 9?3E7)K~O7D&KRX%s>{aGDZE+X tV{8VF&7S@KRT#zY&*HS<(u z7UDHSi(6UqFkpa(3B0KhMUL?2A771$UvB@HnKGf3lXFh%x#k45!^B%f>Vk7tv!l+( z846<7*H=>^sfhS**#uU3DL(t=xia-pLe}5Cw#l~&YxM&d@~qZTTS1bo&lpR7e5heb z8x#WOWiKsP)0F45z_u%g>1Cfr^}%#F%hry`IqG*O9va2Abb1!3-9)#Tl&q^KjMpze z*xao-;eWLEqtx|ILDR`mm;F!N6>IjUbK^~p+-GgpdyS9W@``@G6rbAv$q`*s+)2q3 zFq->6=C5xR&p&t40&Bmw-)*od>*f=eKPp#HWOr%R0*X2fnOI*PwQC|a?Yn=$* BM2`n43Trn;fi&0qz2<#&=vjNt`twBy zy7pqp4SjvOme5dtbx>l^aCwo25xc?+8r;|$ZD?AG@V>ohaO;Xh{9e 6C zXXAeKC7L4d J^Gnr~-{9Q>*M=5W=5n#c!s12{{K z@IRBjqdNW)$TNkdRtVrH)+`((Dfa@`wDLU-3m25u@5NTq{U&Dqr$HKQ#>A185-joG zLkwe5w{rlkoUo_v`p&c@eN1({+8;w~hNvk!f?8h<6ot9+E>JC1wu&ZkMp!x1;oQb; z7dTdm2zvR65>wfJL8TlCc20kuMk>R|_0O}eaUJi;9i!B37H`scbiTzej?GCoq&Kzf z)R>5hD*H)~rPfZZ@K^ALmk)k;kH6JCFGg0p|Me=O<9+-iR)K7`1&%CBITbM;>4G8p zZ;LKD79)|!o==&CB`CSo+0fX+_e1Z0p?W@jD2X3ZH81}eEMY#68^7q4CEOr`=@V3c zV2-@C0@%X+sJRrKTsvegT!zYX@g$76bM#E?u67@|xCDWFr2(68`55#-MQ$uTTO3uT z7@s2hX z2;Iy6VC|tW38Hls4;Go6g5pfIGIN!8LTcZ%JF{ifvXy1eRbnJ!HQ)KOe5kQh(+(g? zu?MZSY+L>+C3ciB)ML?#%o# T03#X8b!=UNz;Zv&7J{`gZ8UieKdPfx>IyBDlpVn&-`^Ixe|XC$gTwSfv{ zy%euqfv-`Vg=g!iHaRh`>{`|8!oh76GPRHjuO98mQ|4r4i!VQ_8d0-zj{_<{UmD6? zHqEt9d8oe@4zGjrWvQ~pX8pK#lA1)%;o8EQ=Q}c-ckN>4bRw&NTJKgHk+I=%lhW|A zUcKflzW^u;Ot_v>Yh0h2039+jK=L;E85wH&_|mRvG*GL!!vxB4Ngxn>34~o>To{ z= AsL3T=Zw#Ov=XwujZ?oWN=hAq%WENn0IlX45*`Q%J zp!F~$l~GZv1;5oXBCTuj)HAMKE|xn!meLFtA&BX)9~tFK`Ax0F-8>9VaMA8L2p7C} zV}HbJPuCQ%6W8z=Os P zF) 71g1x6Xf{)qT17cWRAT{NGTk9ZpM12$ouh-*Y&axKB}vx_unf`$b%$Hoe`d zTCoD6bK+E-+F($x>X_c9?W#e$wldaU+5Ymup-ebb0F=UgcUr>|TpsU`HbaFnf=@W+ zl}b)`UWH5e(@l;%e|**_GGiNwUB!8hp{=U;y^3>NZfS%A&~2`8V40A)T#xOzy7fAl zV8u*T*!(qc#wn#CXtn3MP!&O~>DpGlc3!Vqi?P-M8vt1(aR44)dTlb^O{3&U09sAq z4k$w1A8Kx%-F;CmK+M;Tpr^~4zwlr7uQ5BwpkRveO(#`ddcG~&!e;e&C#EWTdQxX@ zdE3-AwOOV+rfb0An~FA#%`02}BwgsI5cwJtu>eo(tZR>in|>|`pk?5`91U_8bh~y9 z)i7F36Yv~e5m~QHIyJlBaBc#eKIT=a4O$2XIu-C`2`bCYFM&PFg6g=d10U`HY20se zira YMEj#r_k=R-8dJ49P2yEO)5GbGjXWf<@QE_!)Cxw}C; z8C>|v;1c>4@;n24#^`NN2pL_0T#j1bm-dS4hs2tLZfLUILwZ%0dl6ZfL!sV;K|T*H zJnyc0-@oZ|=M?gz!sqU(2el@I*xj4i-Ip9`dtgp;A?3Tv=u?p8N_pyKkpksJ3JbTZ z^^n-|R06qAeE2OsaaF!Tn|rBbLDX0L*zfbdsWg0d-&R7Cd==sMJjhS?)L#ZC;1Ma% zSQ9H34yal7x2O#Gkr|-7>WJ;QPPPU75i|XB$Mqlit0f>Xo0M!;JzA*}CXxk+h8snH zk^<-7_b8N(-qLvC8vwF94SKx>d;7O>SE{UFnX_o8W79_En49h~;iR#7t3KZ4tm-m8 znpHva(l7}ozmF?41juM15C3oO5cnO}&L(96RP^m^n4Jfh0Z9UI4`H=HpxQuOr?GCR zm_n?PNrr{PEEZ@P0 8E&pJ-3_KOjT zX+6xEG__s7lKVoCG@omK2m}6_N!WW>EM0^g2kK=^IPQ3=zjmF)On?S>j6O_-`1q5N zaMU bN{v@Z wD87f9P)GJx*OJ)$Y`U!m5kRn7#Xy=`9}ki$9$g?SsdF=6g-Q z{MqjqJ#un?M>X#d`1%sdt{~~3)Z|40gd(YTc>>-OxV{RKut|M{$OaH`N5b-;sRa3& zEd<6zZc3NNr#}H=%=^DWwcjs1saTcZF#8;4^(c*^vAvbCDKhkCj0wewg_P)VQ8;TT z-Sa{~8y9hLsJn>K3zhb^*Bns+5v3{58Ob_cDmz*tyVDs2{$mwKO6G$Cf7F+(&3PKm zxK4rd{>Z@Yh39IxUFrjovAKEagw}Cgnk)l|&`o;t_dK#1#0T)|uPtW=%lW#1kM fpjnHy&7U$c_mny`bf4^nT+XG 81Ie{i%xr?XDQPqGY~ov6Az%u zQ~-U5SNBlOY}`c2&`)sAe(6qqPp>ExSgo3|ACqy)mZO4uu3}wnnlrG;qM8d+L&9R; zN-i-d$C32}gdXJx_pqqs<_vrg&U@=`QFckLwtAmf#gBf&z+6Zp zDQ6=)%rr}u@Zo3^Jho^zZ%v=7dMsUkq$JV*lYt4j)(<#wNixxv*&9#oU)uboW0d(e ztSbL>JDgsYqw8<2J)cTk?xnXSANx>s*|V%H$KTE-@nU2y)3tg)-p*C ty_ZE(FuAt8%{a+`DG$rlq!-Cn2X@%oD4)5kh zu_H$wiJ#R8wC;Z?>+U5?t3)Yhe)dUtw8RcP?Yxn*A9>S@i4{SH>AC7Df-Tt;khN*% zzLMNTmUt}-T*P(db>@Nw=~p=q1bdkaUVU-d%z9g+B_6?78uwJ*?6ppH- (^w1-!czVFtRHv9G< 1B$ii@#!h4NxV&!(C1#rUuA^3p8%Ei0XiiLu__iR+df@M3Zn-|geEM^#-YP>=3K z#YeKzIj5SEX)Psz+5?d>kHCwW_$ar -Ya)wXb0R^(jwNLjnoHqV!k1gxJ)@l0Co+V;1fiOk5O;xWfT z{N&|CW>wX9tW-GZLU&vc<5B3rahQtvx~j$PS$fp179m8X>^{%XIIg#=@di0Nne<>F zms&YPIAKkZM173N4qn8n_5EJpcZ0*kqY@jcS^Yr%!BKsU&ZisypIwWx^#VGu?D~5Z zrw`QVVn01Ci#RFWtYZUZU0`lKKI{1VDo$0nvi%hMZ+88#n0(}BXfkc)8>sk;Yv*NF ztk`#$LEXc5oVES-`o}WcB89B=aa|?Us~YIcjpoz~7<~D##k|HS&EsM)FlaM=PE^+m z1N;QlJ5^^C>rcdZ =R z+;-!*ZXEQ&Y%nr>cQXRJLGHQR9J+azMtc`Kfkz}EL2p1erENytfV-oRN^{654)_eA zLTTaidfxU40JO*NbDz}fIY8(U01`~%+g;&JiuAob=1T7FMQ`ETqVD6eY>ysQ{}o8* zQS4hA?QM+XGMowA*B~MIf9$ )Th-Q9~j6b-Hgg1bv@I@dnqoVC}S_ujQXov}Ax8GIoB!G}EK{k_i{=#v@X%}?ZU zrsDC3s)tA*yC{+JjI-|!!VT5w`|`{My^6y_>)#yfYXI x`;Fa?JRB%nLU%aqHt8+LCD zieAOZAcBV-M43%`=$?TM;qX|vn;wk`@Epz#kIQwj{>!W3+y3i+Gbp?LIRDlQ+%oLH zGVHE4_r 58GQH|CD>h$Bj{I{EAU)NySu ztWe`cZ_-CyZ$9Gq2fp^CJvdD;!;i~OaJ5}D(g`MaMe1pxqt~%uUV`y7otz4Up6?s8 zKZkKl(;_M6vX=v!X1S?+ze)%GiY8(ZEm_Vp6>V{9DH1_JaN{6HhRj%aSfopKpm*u| zT1NOQ`k7Sw0~PwD2%M9&bp8WV_2m3Q>93hg==_yB>m7AYwtZ@>>ts%5=6ZG^JOs-G z_~C*!FTRYy(Lh# B=qNTo<*1@@@+A!jzR%x5A_& zQxe9i#>^vTvC7Qe!iL092y^k-`m}ka3R&LHkFV(dYu@amUh9<8!g$ukSdk|MO?6n9 zN-fvYvIQOE3i*2#C>D#oRvd(@ZT+RUW=S!ry{uI?UR^?ICvhtnQSi6<>j(Y5cij&@ z&f1K=Xss_9W7fZBA7e8YEbDulcg5B(uhM@!W^9~zGOk#~d^~MbN6I~;Rdii}_!cF2 zFat!On5*U;(ypr(yz&IA7yZf-&t{$0o}TnjwDy)Rx#MZ`E 0IR{|g*7Yj0XP>( z7(| ysfkADiwyPtIUpoekB(YE2!`82Y|i{&z%#?y&9kkI*IZ}QE? z=AR6kMlOsxzQ1r?ju5_h`VREqiSE5;)lCm?2EE)k7Vf{0Y<{F%?0FLZ{ULYYhr4FQ zKF{0Gw}jb0uw%o0Xdk3JCe9XlS^CcJ9WdpI6i+Lr(NBM}wr`k@+%@>adjWh$-=3qi zFhyU?g$C5vPd(S@Y9k_e0jAVU#mi9rNXfMemM&j9Dz2`hQGO95(MLg4Bq_#n5*}zM zn?_KS)xl;}5~3HZPncCLe(3%s)c7csIEtr}|HL-zOFre*!kL7~YDB1&LE4*ZV@V;h z;jpj=21MAC44Hqi> R&`0>cTCr}J)DvvZ#J{OOB$;j9Dm5Q0zMOJiaAO18blYx{f%gTrY-k*@knD 0sE=iujivBYD@!-gE9a|^77$TC<&ugXEft~tZb53U zF;e@p@LsSQU&gvXa@km|c1)4S%DV6&Sfw`dxR|GxQ8S`OrTG(=YA73%Ff(ML-R`6; z$kEtX413BquCgfUX@SIX&s47+XGNAA6N7}*KVJ=BRF>w(n3{f(nOeAUs4k`6G1JPM ztO|9i8N@HNg$HR)FsRg)R9M+nZBF)yk7f3`Zy9Bos~qr|75WBksFPyPY!M(DeipEN z*nKte$Ixj`LCB76Kfm@_W?<4;jJd&MM(wp8?#3(5VqOyLaTj*g(u)i$@8wsE2f2 s-!l?jV}TjZ8#0-4=^VxtlOL3InL0=n14ie?+?3%C%0<;cHBEgdbZ4H*0+B z`UESbyJ0gj9M!#x;g~D9!x|dXH;W^K%%`# @UZHvLr%O{T@I*s*Pge5bD%V+ z{k0x@9iT^YfFKT{X^53ojp~~UIRt`d48M~Rw^$qPM;6o@b7SBYf4wpPIGJFKo&oN4 ze^jdZ7^3_^7|>y2s;}ZbFU+>GaN2vA+fy%FxCQi>$s&?YA(YC3o%1@-NF#5#0E? z2_H@JKgI$5$1u)+rT>Z^#$iJ)qK9$hBBW-R@i)?XN%I`n%4Z`o4!LKqw_QJC&O#|q z>&Bik13NDV7&5qjtX=OqkjN}NdRE;)D3qUp iCz^$`2^)!1=&^%mxx#T<)-i+rl>EAj2 zWtg$PPNR4~@!8cP=&7}qBAHN76L8d=;M{>W=?HvRaGR{?e3Ulf@FRKeIKQFW*lySH zt1-dl2yNHWm*l6K7>&V&R#qjl4ea<;Pj=jP-HHqVhxVvf2fSF&WxS^IU@;(S52CZZ zZH~_rThv(6Ohz^SOnA3$?f7I(-r;Pz>3TfNqi9{nC23RV`b`FKc;ES+swe-c`{^3b zRRGAX#qx^Q+5Dd8ri$XknnzHC=YfjzQWdbT%(Jh`OD(|jIg%My(qik>YbwAqC%~Pk z%d2tOs~N+aLj`oo=8k6AmtCH!&MKQ?P9}@)%rG`=z}H_AmR*FPCnDb5L>9C>9-ljX zl#D%c4uGEl23XnNqG!G<5 {lXMW}|e=9l*OMuTi z?f{2u8*4xS02YAmzXB(2`>*gwhMNDQ{|XM}&qgo1I?3f^`JtCxa{y7iaKEn;K@X~< zhG~IocU1{^ARlXfue_p$(C6=98Ph2CSod`AXiHrGIGz|mwV3%b=Y`1V(k}FrtFMuB zth|dmUw8BZB1Y)k!PLbqGzOxe8Y^i6G$V#C(gr)K1-XNvKLTQuFoQw7L4I&<-42s) zHPB`NECmVEkAkVfecCYL$tG~jH5PntxV{V2e;qCe(2IgYIn?4ZU3~tMUT+iFe+zbQ zfBC=J3*6G{Exq2->n*+B((5g~&fU`MExq2->n**46DGh(XW;KdL8&}J>8e4QfS_zx zP;PZl{zOpWSx_+%q?89zt_rCHK&oMo+G gv_0VED(h*@r3?T4P6C N3oJRzS(T(`(YY} zl{t^64cWR7d@@za5F@tV+Try84F|lbiIlHs?eMY>j|W|Pq*QK(e%Ko>%#?@^T=W^r ztZ`L~kyHan>PVf)V}ox3k?WMk3~`luF_OQHO&aPoX&@DUUMfv}G8)?G=XzZ_+Fu4t z7vqV|B;P pNuPN^|jdWIV=smZw|HONFuEMvNafE`n#??6|E9Mv!!0{Zj|OFoM4 zfmqT834VMi=eOC(m9Naww6uGu3c<=S^|-9KT$Knm(@FZG!k{3Af;9GA^TL6P3(b7d zg6`bX;0)D#vtprX#>_by$X3B(B#C7})0f_*>I%J_ZO7T9I`f+C(rKpZ0}%*o?N@E{ z-O?g;g5Ac$)l19f2b+++7A$UHaqChorcyEVO9FA(9eoY9#1|wpwk^+EMYl!Erqo#* zPT5}{bTX7ZDXDo=SAQT2Xr>$P|7&BDTzUIuYQla~i{9&sZu%x*Y3IADgo-hxL7-zF zS~gtKXAq!uf>2NEKOXrcU$Ec)wJfA!O0V}R*Q{}v<;fi25LMtj?}=iro;7{8!!=4G zlL(jzsA@QymK(G@TMle}T9Xlp*XXnixA!>x6{|vaz7~hrc3I3=ORSyG! GC;KfpKna7r5PL!SQT0Y6>SbB0eo#IN6A zU3QAx%Y5#`teJwXpWX7R#m1i}It9m4QsmJ|u{Vu@CJxGlsIB+f##ij+>{I7zw5Dm# z_tS$#Jio3sN~_PlD!zJnRVM9(P7(f^vJ_X1JZ (ej>v)lf_wF~xUT6{ZZ(#3Vd79r$I^_-BnQ`}7aU+;%| z 7`*c!Ng?8atqRWi<#JwVw?2zmueHP}N9(4-4*oX(KR6|s6wRa9;tzTv` zlCBeJ^&D_9tKqY+^T-J)kA(Id^%kYW`wePWxMSE?IZgxRbl8V|t)-2F6HI%}LM+sm zEV6hRUHZSCNWI^>TCogLLk$9x%Hl^KWOL4*512hJPxwWjE!a6JW5@C}NoZ;9gCdy1 zk^NW7g+sRRI`0=@<@d@&*R=1!H3I;n@)SBjBZ<2ea&O>Y)447cg>`y{TuSXS-kZ|M zS@S74T1IERnx$v*2^t`;amW-?8vA0~^EDoaGh_d4v}}A_t~2vkPB|5WQVJh^M(oQR z`Dinq=Abd%SVx#r1yT%jF&gXPn8zTv$zCD-s;W>aTg~s2?1-OA+3<0Zrl4tUCWDIQ zCrGhph`And?!?g(r+k|bv!@F<)wKcmgdb0|8hSZ-LPfuhy8U)NU5SMX4?jBY(fw~YX%*6Y%}6jke{Fx{q0r` z6>eJ1W|f8WewKEf@mecZgddz%%)f-VA{NxEYDbUrY)PU&g}Z(&3TMveZr9L0NJ6MQ z F5n#iLedlzk}xp;3L(EiDa-81XSV0tW1&s9TdYz)&crjJtjKcw^IxdjkpRp+Qq zYn&2Dk=ZXw4fF+ZrfpL9%xY&QZ`t$(M}jT!FCLDXzF{nfh`ar|e0A`j0bJ#9>O>Q; zH(|1c|4}+;!5SNccnG-akbQb-qVQ~L)Q{jei(b&|aRBjP^Mk@ajZI wyPb&kv%*aeZk;+gYnN7zIa3nuy0OH3r_1 M|(s$@)LKuP%RfUyVgq zrW(1?-B){aboaIC&+hAC*y+qPDcaanQ(#Z=baqlJiNOG>om=}(aE7>)JMt-`jfH#$ z5~JySh*AG%7VFq1HMLS)F3z!?b^R=&(N*!P;n;|Fw%EQ><0m~?Z0?!CwjuAO>MDyx zy}tj9rSZu$)G^v6EOhsEk(>HX657}_3u!;$2bPlo1gJf<{6S<(Y$m7K3)g0fyN+YF z%;&gY8V}NI1>)I@n);nf4x26o7UiE=0oE=S h|>=6!~50Sf2(URLA5_%4=c`P72D(-_e*YHoP%+CX8w>m)A2*<}f z!uKRSs}KqVf$kWRAk-S`FARsf*&uZHwJp R!9*hOg===i^C>^yX3lG2*&Y zoq61Fd(8!Seuh%cAiS$ueRL2GKWRXmboTcFKGiASgk?UjC4K$g0^e18-RqKT;r4hB zbCb;WZT5FWcV9W7zPd<1^u8+C#) z(3&o28WJj$4W(=G{ecNfF@Z%>>Z`zgS_5IpNEpo6+m7BV1Po2Zgx^0^#q)-jbiw1h z;6~1>J}y9ZboQF#dz-!fTU>Md%l{Kz;Fezhf?ipgY>v9umec-^<(%W8-}FiWSkOI% z`zM3e_a(k~Jle?mhq=jnnVKjmfYfe6!Dn=KOw(lR`cX*Td>>CRBWM`e45y0L+go z;!Fqff}LnKh=&32%|Eq4bumJO;`}Y7XDov<@Qyg(g`bpiceES*jZu2c+ebC&P%Q?q z#z&VA-OC>OH>xyIjvtKBZl;b3{V0n#6PiTbP{~yv^VM$31T`Uybl4Z^V YKDqo0JlnI}sH&Cz+g)`wh!1Q~4VToSk1B zcd=3MZM+AWSeGeH?_$a>N?jO7F$Vjd)YF}pmUc45RF=US>z?J6H zPn){nn@C^w&dV)yQlDn1MEcj!r?N%5!Rz77n^u);xQrXQinVchjqgf&$E!|OFL#^U zE6r_M?#Sfr6+Ogwv@04Uu36ZA7>8X_O{}lU+DR_#R-}OECcRsXxqG?S{wA%@rl+!H z%chlM@nPEEwO`AJXfH1hMi@o}N=LCJm^muGS~J;=v3;Da7}FjE9*^qVqkT=P&;rgz z^P(Bs-cLTvrwE5+!KzuutPrkAw|G>+=`3iipL@Xvd&hYZK#TSb2eR$}mcz+eT&C5^ z>N!`;GzKbHtpe)Lr=j-RyvSs?xtd;Ic^22z^klNCMc65++eTSyW9?SeNK)N)L6}wT zZua2~|7Pp*9RGeZN8!bO2VoKa;UGUN@F0wpwc(&bzp3uzr#y=96rqxg=H#e(!Lv~b zp~j1qGBl|!){!?IuaBSvua1kXn|^f7vx086r^%BaNxrMzFLJp9oJU>J{Vp~DM8nQtGws? M*S7C_~3Tr&nW6T;70Ul_G||-ALLl zEXOqLJ&6>aRliw$p=c(adAGE;i@nxTz7e;~xSUxWTjH(*?W@H}HY+Vil4ZRdC|?aF z>#|ywP? c=@;^*x4560=x5&bk8B|*sOxa1yz9cms!SDCy$lyySeM+&< z6ryI}g$B{2;f`j~+L=iP@C~OcE2YU8jwwdGQlgN<&y}5}R%xwe2%WRfH)+ZFo^7U( zSBaljE^GRJvR0Akp^}&bDJ}CUgR%w1X13K>Y;EN$)rJ%N!hjeB*#ULcz_FJF;FUa% z7rm@Q$kE~`YIAYU-p@T&%B9I6`6e9LQv-J6DOuY&R0!=z*)$wBUk&HaB69BW@fj z3P~+Zq!=~F3An4< 6x|vvi`{ zjI;Ofc }qYgDLOqmYq)Rq&X<#E4t!6!`G}L%=i!zvPLpH(m6AC>;}f|T++0bl zNo#>@S6Mr8BOPovv_YG-`h8gC?JRS2#=oZZ9S3+?spj?q$}h%H(n=W;EVhyDbvk6+ zoNXU=hN9@7Xi|-+cI#x?0bx&8;;ndll}`4f
xNZD)g6RjsixFL} zau{X4v4Y0rk2J3R9Jzv30otgl;?RnGV?o^b$=~hQibCi9|NrgR6uFXy?UiY@^~&rv z!NrPLe!5>tu%P||t2fxkGntc4Wh2)-HqPL=9qFpZqKCVVY4P*hNo8>t%)8#F19NjU zeNE4*Yzmk&7GvE2)t&cje@a~~;LRsDhskY*y3H7qKu |B4YaxG4~&b!5PS!tBBdEg;mz7MyU`5e?)e)nnjd+B zF)5pMNO5c9k*eC`9QMS`2Mvs)0U5`|8g(0THGJbS?hZi`?y|6Dyp>1={N(foCPL?! z89#UDzVB|^7CI&Rim#lLP@y}fCH!-Qtd1dv?)x6kxEG>kPtfXNN4I(1*)+S;oX6UT zPgRcdi~48XQ7hYo{8-unP#0{gq~l=n`u=_v*DCAP-OPEHNyXh0ML+7JtSmtX;I1Rj zWzy*n37LIHO55K2M!gzxr)j0Ii*doGnYg<*$M*}fmJ#+F!*fC?iDvIhqzveEUKnxG zp1gTHe{~TU2I5NmdNJ8a&bGo0D$WuHHK1;;KL(iZ(1H>;Jg<$(kE_h@2ZAEAKw)b- zqY_Ri3D0|y0HG!KOnuLKXD>vhr%eP12Wfs) Pb{={R+t!tm@4z~`0pBF^^FtpYBd+TE1|MSk)5!R5_E2Yf{5Yc}MA2k@K?(EeQM zGf3c5)oJxU(D!49pSG%l2GURL%+J8Y=G&Q{v8ulrox3@vE90rZ4UdW?Pr$9Y>2J+V z!DrUWJm8232Q6-!sz$n~7Gp4Hj>Ct*s7h7a&jx{lrY<-8E+(QuA~hnS>%fL83W$>X zN8TWr98ozbKR^Y35XM^ qdkT4s1a0EDpVik^*fWdg U~jw)X0sB!7vb-9Kd!ZRepk#x zn=`!#H!v0f Nvl>O_!#~1p|CCw2V0A1)Xl-ozS!IAv8AuN?^L-GhH*rxQ @xeCzt5;^Gp&A_E$_zQw$&MXq=g_@5j428zK~U~h~J=VJ7{ z!O@Nb6;;%66qQn$iEs3BVDKQ$b(I9oQYqsQ^^T0x1j!|}weQ>v(sXH`PY`tJg7<2T zv=tfDkfzy|FuDwd4PIEXyU;p*a#|ciMn>-AjnzC^N7Q S5yN z9L;SOwZ8b+$5^?%YR=kup`f%PTCNV q+{SY>UT9lwuwPBjOQ>STJ!%2@uUO~wW>j-Jp zwEePH)tqxH%F=1hV;U`V@;Vd*% #e}ym#aV|snJxW*g z^yheyVR#-j>u?zlzNH+Exmskr8(Bq99=TQBLN!Se|4LDsQ0+!T*-hPMYb#mpZV6hd zwbxDw`m+oxxIaRo!*?_|UwC;^&mDGsJmsv@aJaCmU3cCb01`Uggd_`I%%OL5u9iVf z0>`^$!c8~(BgsvdE6Y09zYxNAZ;IS8XUOmD8Vf#(9P~PgPaJuKY`Vkp+52l<+(SIo zAK2<4PFTO*JbYT+{5-DMheBZCu>|tNQ;~2_CfRR~zf_B$8?gRt`HN5N13!`+>;(ut zS;9g2owZ;QMEFWryv20mX``X};x9k??IoN?> zYr8~?ox=nLQ968l1`cnQk?*K_TAN_1pSB){-;ZUHgru)%?Ts8#a4n^Zh1A6(m0zaa z9R1`Zwi^z#6Mz3)$xvF2S5aljUW?{BEv~lvXKc^=gg;_dKOGW(Jt_{$9@#Sf5)=3J z; N$^>yfW6aU&)|V`*v?#;Tlr 5Q(x=sAbEzCNUghdh~yKcq5!!O-3Tm|811&K_skXsc;>3#PTprm zSy~v)_o!95j;AI*+%|rZrxvf^RF<}4ZW;nt9;%HkKY8(=WyI5k+LaZ>as}U1%$2(1 zVyjg-S ZhCO((yW1kSUEn=3Aq}Yl@LIh>Q{Z@dgJgv6Ea&_%QM)i1X ztv#00nx2A}4s^LA=eQ^3%Nd0pB{Fm5{q~`x?TjAt)7lFM&P@yr^jagWU+z+JCm~3! ze0$?*9u_&L5g6sTLHKoXgjMrDtkAiS)G1Xu@zl`z7XuzMsmw4 J=sW^N8J*53DbdrxZaG8cwhcV@ddtGJ-@HzYYr0zuY z6US}RaMw4;S@T0R+?L0c>Nv-CJaic5cEuTgYztb0oXgOGtaf9o9FbF);i9TNAU2j_ zKkN%I3lGH8!CbiSi@5wPBOd ;*cIWo%gX z7TG=W#jp9tgidce<&FLC37st~{<8T`$2H2KJ2_=;>c1y+2+4vvZuo&0EP#@qhx<-K z0xQn|r`f*}EjRmICRlwPMJyW+N>|+=zgW21(uxo5o$FKOlfUWc06DxQ1WV^VqJPqc z9#^nFomwN&_eyh<|D)%kKH2K3XGW+pa_D-eE(r*tzq#l&_Bip{wQ6-kZKVZpp-ySB zVrOKUChChCTUuML_YZ5YRWXE4BIfx|Wk_y33Hi1Mt?^t>ZVs9VK^dnW_jo{QKA;T* z=u*NHp+aNU0zyi-AC)@KLtW}lK#!1maI}p0Om^BIghS;1oX27v;WgaiMTqpm2LLft zJvRcpuwmXrbiijk-Yv@BMoNxs-oR5Mg4O` 4W+MkNsU;58LcJelm z{eKB$w~;ogs^EJg4!Uc;<@Iz?qL^ULbH|T?QDv&O3I>6kU>BD~H#EbFNQsG>62IhO z0%f??R!6IkMz>1 2&kK{g1~G 3<@5d=uF?%xr}z2+fLjxTV{(9mPH}+8QKh``(nQbiygh$# z=N|gIJ=5>+_u+TE^84xAc#Aod{+Fj&k+e#+$5Xl DEtb;8{?V`0a-$>THnQ~;Z`4-uM4zI}w6g%?8_~g# zr49Pj@Z2fJ+$ KIFot}9LQ;h8;%QZ~+M zWYPE()>?66DkF1EK36AGmS@~$j=};ClBw>et43iGB6E7TcH?4&sNkvxTd`iyiNvA~ zdu{q%#Ra>7rO`7*fs#zp5R&4yGZ9VOSk#W2Ro83lt-bbNACxS+sgh?(+F5-p-c>TY z1+%wkE>#pr3Y=~o4*r3`eDqV4(DG HMQJ}9p1?uhjowq6{&(`T zoCtP8rjs%K!MuttBWQmfTIaOwG-X}%v~tV_!F)Q&w9I@w!!wPNE1UaTCU-h(hSCCz z2UtHnLqMvwxtDB7$asH+F(&a$`N~_>tioi_tFO_ t=BP z+2v{u#sGKei#+YxovcG`{^h#qM%VeGUMqp^c1mG>WDoh^)nPX6vxePaiKhDF0sZ-_ zlM!rkfxQMda-p*(er>^HL|Ssg#f x=lJ)$JXCT{*faS#qLFuid%nIti&Bg}8(0>?^9bY?G4Gul6J2+9()ld3&X6*@LPQ^jJ2ldqoQm zpvC0|Z+s?YByl(d@8cQanV )>}VwXjdYxEWLXOOkNmLS{RL7vl2rfFm=jh0Q_Oo5N-}Fy8H}G8X@o1* zJxV8`)FU6qPM1mRXP|sUuNcqwK8wXNLvrXy&Wl1)nVgg14`V+0WGv~A0uLEPQsPFV zxsG%18*WI8DSgee!k5w-Gm|Uf8_!S0$ia)*c;xp|IV XK`YBtnE)cNS16H=NiV!m&=uZcNn0DT#)XiEhRn|`?R@=l& z%{D4jH6EW^xw?(aZr(W8-xu2T9_g8j`&ixg(!=Jhuo?Y2nM@lwi*11YlO=-W)aEcP zbVjRbLb7)9FBxs}?~JylT#oYa9~rF+I-|AM{GHJv&IgxYqBB~=v}D*ub@#zg#xsHS zd&{R4S?mtpie< n4& E8*)S3 p;3l&ZfBZtBb4R}*vtv`;(!-+tZ-=BpeklHt!=#Mbd#pS7>26=Q z3aft{x~^AwTtO&UUCN0jze$t;C*IAA^y_%++tM`D2 *ULuy*-JhjMCYg#wN{^m8!>8nerzaMe~SbLV{gd&mCv`xK7tC70(k1 zk8=!*T3XOPE~q%uypGoE27~=B(w$J%@;HF#$%N+}fXAyYc4C-0zN9C?87H+Q8?7Yh z5sW-H0Q3eaC%WR^Oz7E$VCV@@A;F~Mk<@GEwr4eQJLUGlq4Vx^_Q66rW_J2A271Yy z$$glx{D=u0H1>T<=c8KfC*J8-p5=!&6!X*i*FEw_8;b7)`U_RrSxop7Wcs7mb#6Cd z|7sIf4g7@rcQmV8 -J$$b6l y9>af-6}r9rqH@-s2e!YkC?|%Nfphv9Nn-0)4(t_ zmuC~P-Z>E8ZkRt9enSIPr-xPp;7ag-2wtZI7bvhMG8-P3@s}Grw~_4s1WvpCjDPn6 zw*>o_1S_<3()GI|t5$E@kf&9p?S9mMO6rC2ib&h^j2=2Chd2&c@K$&jsP1;3foIN_ z#O#bbfP4VE;(i^3@-QjsCje!LX)bq7ffmGQ?!MEUIpP6xVJs%0pT^FlME zbP9=SV3OlG>506l>xSULeQ0Ko9mCivxT%82_`5Sr>d+LPnfc7<-ltH;}y6BDe zu`DzHCHmD2!;VQ4C@hGGG!gsL##&gctC> %1H$8Y}@vdfQ4!ht7CP)5W-sc<=>lXAL z4ZQ8xNu#75kH4Nxaa*BnJD=QbX1|4waK@$wLwLrnn@J@=rHf+B;_xp!vI6=~3LD<# zZ5{M{;=VrU{-P-8*g>W7^mt6hJpXt^SEk{3;v0zBX;O7$+Hu@eBLR-Ew13UrZiEo5 z>UQo7KAAGpLG_i-0_&cpFI;W7pDcP_K6PHO u2zgRUT(#q zSb)1fIGXAY+Q_Zz4u_r<)g9M=1PLBbnW!2Rxc;fB*S8Eb))?bfEo zi(PwRp^dz0@}`@^sCj|Q>sFnu8K@9SFwEoO%Y~(1D#CZTo_ir7Z|+ie{dmw~<#pxu z{caxg1NQ2m7ujpwhx8L4aJ_%}K2P|LB~jgiTe;`UD*G1O7%B3q<)=S;ehQ9tb?fVY zM6!=it=w&wTH*GBOiMSO*=={oUO0$+eS-_96Qkq$;-dtd#Yj67We$1=R%4pS{}}jz z!Rbrzw<~hODjxBdm2CdjZQouu1H?H8hJr0*m+$UYcd#xEg}F27zscf}WZa1G0llOm zCv=gd;2I8e$zLWTKc`Fo*DGT-;% q6=g*C=DNXE7syd$~Bi5 zhG4xaQ>D=AUlGxtAIpf~qWL3w^qsX-2U!XjZskk!I)h%qtg#=S#b?Act3XG7H!8TJ z+=!yp