From edc7a8f1a8f44d1857d1b0d929f5d445b6f2b842 Mon Sep 17 00:00:00 2001 From: Laury S Date: Thu, 15 Feb 2024 14:36:14 +0100 Subject: [PATCH 1/6] feat: add fr doc (#1) --- docs/fr/CONTRIBUTING.md | 178 +++++++++++++++++++++++++++++++ docs/fr/README.md | 77 +++++++++++++ docs/fr/compile.md | 101 ++++++++++++++++++ docs/fr/config.md | 160 +++++++++++++++++++++++++++ docs/fr/digitalocean-dns.png | Bin 0 -> 129432 bytes docs/fr/digitalocean-droplet.png | Bin 0 -> 163083 bytes docs/fr/docker.md | 163 ++++++++++++++++++++++++++++ docs/fr/early-hints.md | 21 ++++ docs/fr/embed.md | 125 ++++++++++++++++++++++ docs/fr/github-actions.md | 31 ++++++ docs/fr/known-issues.md | 99 +++++++++++++++++ docs/fr/laravel.md | 75 +++++++++++++ docs/fr/mercure.md | 12 +++ docs/fr/production.md | 141 ++++++++++++++++++++++++ docs/fr/static.md | 79 ++++++++++++++ docs/fr/worker.md | 116 ++++++++++++++++++++ 16 files changed, 1378 insertions(+) create mode 100644 docs/fr/CONTRIBUTING.md create mode 100644 docs/fr/README.md create mode 100644 docs/fr/compile.md create mode 100644 docs/fr/config.md create mode 100644 docs/fr/digitalocean-dns.png create mode 100644 docs/fr/digitalocean-droplet.png create mode 100644 docs/fr/docker.md create mode 100644 docs/fr/early-hints.md create mode 100644 docs/fr/embed.md create mode 100644 docs/fr/github-actions.md create mode 100644 docs/fr/known-issues.md create mode 100644 docs/fr/laravel.md create mode 100644 docs/fr/mercure.md create mode 100644 docs/fr/production.md create mode 100644 docs/fr/static.md create mode 100644 docs/fr/worker.md diff --git a/docs/fr/CONTRIBUTING.md b/docs/fr/CONTRIBUTING.md new file mode 100644 index 0000000000..b2b5b1fd9a --- /dev/null +++ b/docs/fr/CONTRIBUTING.md @@ -0,0 +1,178 @@ +# Contribuer + +## Compiler PHP + +### Avec Docker (Linux) + +Construisez l'image Docker de développement : + +```console +docker build -t frankenphp-dev -f dev.Dockerfile . +docker run --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -p 8080:8080 -p 443:443 -p 443:443/udp -v $PWD:/go/src/app -it frankenphp-dev +``` + +L'image contient les outils de développement habituels (Go, GDB, Valgrind, Neovim...). + +Si la version de Docker est inférieure à 23.0, la construction échoue à cause d'un [problème de pattern](https://github.com/moby/moby/pull/42676) dans `.dockerignore`. Ajoutez les répertoires à `.dockerignore`. + + +```patch + !testdata/*.php + !testdata/*.txt ++!caddy ++!C-Thread-Pool ++!internal +``` + +### Sans Docker (Linux et macOS) + +[Suivez les instructions pour compiler à partir des sources](https://frankenphp.dev/docs/compile/) et passez l'indicateur de configuration `--debug`. + +## Exécution de la suite de tests + +```console +go test -race -v ./... +``` + +## Module Caddy + +Construire Caddy avec le module Caddy de FrankenPHP : + +```console +cd caddy/frankenphp/ +go build +cd ../../ +``` + +Exécuter Caddy avec le module Caddy de FrankenPHP : + +```console +cd testdata/ +../caddy/frankenphp/frankenphp run +``` + +Le serveur est configuré pour écouter à l'adresse `127.0.0.1:8080`: + +```console +curl -vk https://localhost/phpinfo.php +``` + +## Serveur de test minimal + +Construire le serveur de test minimal : + +```console +cd internal/testserver/ +go build +cd ../../ +``` + +Lancer le test serveur : + +```console +cd testdata/ +../internal/testserver/testserver +``` + +Le serveur est configuré pour écouter à l'adresse `127.0.0.1:8080`: + +```console +curl -v http://127.0.0.1:8080/phpinfo.php +``` + +## Construction d'images Docker localement + +Imprimer le plan de construction : + +```console +docker buildx bake -f docker-bake.hcl --print +``` + +Construire localement les images FrankenPHP pour amd64 : + +```console +docker buildx bake -f docker-bake.hcl --pull --load --set "*.platform=linux/amd64" +``` + +Construire localement les images FrankenPHP pour arm64 : + +```console +docker buildx bake -f docker-bake.hcl --pull --load --set "*.platform=linux/arm64" +``` + +Construire à partir de zéro les images FrankenPHP pour arm64 & amd64 et les pousser sur Docker Hub : + +```console +docker buildx bake -f docker-bake.hcl --pull --no-cache --push +``` + +## Debug des fautes de segmentation dans GitHub Actions + +1. Ouvrir `.github/workflows/tests.yml` +2. Activer les symboles de débogage PHP + + ```patch + - uses: shivammathur/setup-php@v2 + # ... + env: + phpts: ts + + debug: true + ``` + +3. Activer `tmate` pour se connecter au conteneur + + ```patch + - + name: Set CGO flags + run: echo "CGO_CFLAGS=$(php-config --includes)" >> "$GITHUB_ENV" + + - + + run: | + + sudo apt install gdb + + mkdir -p /home/runner/.config/gdb/ + + printf "set auto-load safe-path /\nhandle SIG34 nostop noprint pass" > /home/runner/.config/gdb/gdbinit + + - + + uses: mxschmitt/action-tmate@v3 + ``` + +4. Se connecter au conteneur +5. Ouvrir `frankenphp.go` +6. Activer `cgosymbolizer` + + ```patch + - //_ "github.com/ianlancetaylor/cgosymbolizer" + + _ "github.com/ianlancetaylor/cgosymbolizer" + ``` + +7. Télécharger le module : `go get` +8. Dans le conteneur, vous pouvez utiliser GDB et similaires : + + ```console + go test -c -ldflags=-w + gdb --args ./frankenphp.test -test.run ^MyTest$ + ``` + +9. Quand le bug est corrigé, annulez tous les changements + +## Ressources Diverses pour le Développement + +* [Intégration de PHP dans uWSGI](https://github.com/unbit/uwsgi/blob/master/plugins/php/php_plugin.c) +* [Intégration de PHP dans NGINX Unit](https://github.com/nginx/unit/blob/master/src/nxt_php_sapi.c) +* [Intégration de PHP dans Go (go-php)](https://github.com/deuill/go-php) +* [Intégration de PHP dans Go (GoEmPHP)](https://github.com/mikespook/goemphp) +* [Intégration de PHP dans C++](https://gist.github.com/paresy/3cbd4c6a469511ac7479aa0e7c42fea7) +* [Extending and Embedding PHP par Sara Golemon](https://books.google.fr/books?id=zMbGvK17_tYC&pg=PA254&lpg=PA254#v=onepage&q&f=false) +* [Qu'est-ce que TSRMLS_CC, au juste ?](http://blog.golemon.com/2006/06/what-heck-is-tsrmlscc-anyway.html) +* [Intégration de PHP sur Mac](https://gist.github.com/jonnywang/61427ffc0e8dde74fff40f479d147db4) +* [Bindings SDL](https://pkg.go.dev/github.com/veandco/go-sdl2@v0.4.21/sdl#Main) + +## Ressources Liées à Docker + +* [Définition du fichier Bake](https://docs.docker.com/build/customize/bake/file-definition/) +* [docker buildx build](https://docs.docker.com/engine/reference/commandline/buildx_build/) + +## Commande utile + +```console +apk add strace util-linux gdb +strace -e 'trace=!futex,epoll_ctl,epoll_pwait,tgkill,rt_sigreturn' -p 1 +``` diff --git a/docs/fr/README.md b/docs/fr/README.md new file mode 100644 index 0000000000..a3500e3832 --- /dev/null +++ b/docs/fr/README.md @@ -0,0 +1,77 @@ +# FrankenPHP : Serveur d'applications moderne pour PHP + +

FrankenPHP

+ +FrankenPHP est un serveur d'applications moderne pour PHP construit sur la base du serveur web [Caddy](https://caddyserver.com/). + +FrankenPHP confère des super pouvoirs à vos applications PHP grâce à ses fonctionnalités étonnantes : [*Early Hints*](https://frankenphp.dev/docs/early-hints/), [mode worker](https://frankenphp.dev/docs/worker/), [capacités en temps réel](https://frankenphp.dev/docs/mercure/), HTTPS automatique, prise en charge de HTTP/2 et HTTP/3... + +FrankenPHP fonctionne avec n'importe quelle application PHP et rend vos projets Symfony plus rapides que jamais grâce à l'intégration fournie avec le mode worker. + +FrankenPHP peut également être utilisé comme une bibliothèque Go autonome pour intégrer PHP dans n'importe quelle application en utilisant `net/http`. + +Vous pouvez découvrir plus en détails ce serveur d’application sur ce replay du Forum PHP 2022 : + +Diapositives + +## Pour Commencer + +### Docker + +```console +docker run -v $PWD:/app/public \ + -p 80:80 -p 443:443 -p 443:443/udp \ + dunglas/frankenphp +``` + +Allez sur `https://localhost`, et profitez ! + +> [!TIP] +> +> Ne tentez pas d'utiliser `https://127.0.0.1`. Utilisez localhost et acceptez le certificat auto-signé. +> Utilisez [ la variable d'environnement `SERVER_NAME`](docs/config.md#environment-variables) pour changer le domaine à utiliser. + +### Binaire autonome + +Si vous préférez ne pas utiliser Docker, nous fournissons des binaires autonomes de FrankenPHP pour Linux et macOS +contenant [PHP 8.3](https://www.php.net/releases/8.3/fr.php) et la plupart des extensions PHP populaires : [Télécharger FrankenPHP](https://github.com/dunglas/frankenphp/releases) + +Pour servir le contenu du répertoire courant, exécutez : + +```console +./frankenphp php-server +``` + +Vous pouvez également exécuter des scripts en ligne de commande avec : + +```console +./frankenphp php-cli /path/to/your/script.php +``` + +## Documentation + +* [Le mode worker](https://frankenphp.dev/docs/worker/) +* [Le support des Early Hints (Code statut 103 HTTP)](https://frankenphp.dev/docs/early-hints/) +* [Temps réel](https://frankenphp.dev/docs/mercure/) +* [Configuration](https://frankenphp.dev/docs/config/) +* [Images Docker](https://frankenphp.dev/docs/docker/) +* [Déploiement en production](docs/production.md) +* [Créer des applications PHP **standalone**, auto-exécutables](https://frankenphp.dev/docs/embed/) +* [Créer un build statique](https://frankenphp.dev/docs/static/) +* [Compiler depuis les sources](https://frankenphp.dev/docs/compile/) +* [Intégration Laravel](https://frankenphp.dev/docs/laravel/) +* [Problèmes connus](https://frankenphp.dev/docs/known-issues/) +* [Application de démo (Symfony) et benchmarks](https://github.com/dunglas/frankenphp-demo) +* [Documentation de la bibliothèque Go](https://pkg.go.dev/github.com/dunglas/frankenphp) +* [Contribuer et débugger](https://frankenphp.dev/docs/contributing/) + +## Exemples et squelettes + +* [Symfony](https://github.com/dunglas/symfony-docker) +* [API Platform](https://api-platform.com/docs/distribution/) +* [Laravel](https://frankenphp.dev/docs/laravel/) +* [Sulu](https://sulu.io/blog/running-sulu-with-frankenphp) +* [WordPress](https://github.com/dunglas/frankenphp-wordpress) +* [Drupal](https://github.com/dunglas/frankenphp-drupal) +* [Joomla](https://github.com/alexandreelise/frankenphp-joomla) +* [TYPO3](https://github.com/ochorocho/franken-typo3) diff --git a/docs/fr/compile.md b/docs/fr/compile.md new file mode 100644 index 0000000000..e556c775e8 --- /dev/null +++ b/docs/fr/compile.md @@ -0,0 +1,101 @@ +# Compiler depuis les sources + +Ce document explique comment créer un build FrankenPHP qui chargera PHP comme une bibliothèque dynamique. C'est la méthode recommandée. + +En alternative, il est aussi possible de [créer des builds statiques](static.md). + +## Installer PHP + +FrankenPHP est compatible avec PHP 8.2 et versions ultérieures. + +Tout d'abord, [téléchargez les sources de PHP](https://www.php.net/downloads.php) et extrayez-les : + +```console +tar xf php-* +cd php-*/ +``` + +Ensuite, configurez PHP pour votre plateforme : + +### Linux + +```console +./configure \ + --enable-embed \ + --enable-zts \ + --disable-zend-signals \ + --enable-zend-max-execution-timers +``` + +Finalement, compilez et installez PHP : + +```console +make -j$(nproc) +sudo make install +``` + +### Mac + +Utilisez le gestionnaire de paquets [Homebrew](https://brew.sh/) pour installer `libiconv`, `bison`, `re2c` et `pkg-config` : + +```console +brew install libiconv bison re2c pkg-config +echo 'export PATH="/opt/homebrew/opt/bison/bin:$PATH"' >> ~/.zshrc +``` + +Puis exécutez le script de configuration : + +```console +./configure \ + --enable-embed=static \ + --enable-zts \ + --disable-zend-signals \ + --disable-opcache-jit \ + --enable-static \ + --enable-shared=no \ + --with-iconv=/opt/homebrew/opt/libiconv/ +``` + +Les options de configuration spécifiées sont nécessaires pour la compilation, mais vous pouvez également inclure d'autres options selon vos besoins, par exemple pour ajouter des extensions supplémentaires. + +Finalement, compilez et installez PHP : + +```console +make -j$(sysctl -n hw.logicalcpu) +sudo make install +``` + +## Compiler l'application Go + +Vous pouvez maintenant utiliser la bibliothèque Go et compiler notre build Caddy : + +```console +curl -L https://github.com/dunglas/frankenphp/archive/refs/heads/main.tar.gz | tar x +cd frankenphp-main/caddy/frankenphp +CGO_CFLAGS=$(php-config --includes) CGO_LDFLAGS="$(php-config --ldflags) $(php-config --libs)" go build +``` + +### Utiliser xcaddy + +Vous pouvez utiliser à la place [xcaddy](https://github.com/caddyserver/xcaddy) pour compiler FrankenPHP avec [des modules Caddy personnalisés](https://caddyserver.com/docs/modules/): + +```console +CGO_ENABLED=1 \ +XCADDY_GO_BUILD_FLAGS="-ldflags '-w -s'" \ +xcaddy build \ + --output frankenphp \ + --with github.com/dunglas/frankenphp/caddy \ + --with github.com/dunglas/mercure/caddy \ + --with github.com/dunglas/vulcain/caddy + # Add extra Caddy modules here +``` + +> [!TIP] +> +> Si vous utilisez musl libc (le défaut sur Alpine Linux) et Symfony, +> vous pourriez avoir besoin d'augmenter la taille par défaut de la pile. +> Sinon, vous pourriez rencontrer des erreurs telles que `PHP Fatal error: Maximum call stack size of 83360 bytes reached during compilation. Try splitting expression` +> +> Pour ce faire, modifiez la variable d'environnement `XCADDY_GO_BUILD_FLAGS` en quelque chose comme +> `XCADDY_GO_BUILD_FLAGS=$'-ldflags "-w -s -extldflags \'-Wl,-z,stack-size=0x80000\'"'` +> (modifiez la valeur de la taille de la pile selon les besoins de votre application). diff --git a/docs/fr/config.md b/docs/fr/config.md new file mode 100644 index 0000000000..0918f1c3f0 --- /dev/null +++ b/docs/fr/config.md @@ -0,0 +1,160 @@ +# Configuration + +FrankenPHP, Caddy ainsi que les modules Mercure et Vulcain peuvent être configurés en utilisant [les formats pris en charge par Caddy](https://caddyserver.com/docs/getting-started#your-first-config). + +Dans l'image Docker, le `Caddyfile` se trouve dans `/etc/caddy/Caddyfile`. + +Vous pouvez également configurer PHP en utilisant `php.ini` comme d'habitude. + +Dans l'image Docker, le fichier `php.ini` n'est pas présent, vous pouvez le créer ou le `COPY` manuellement : + + +```dockerfile +FROM dunglas/frankenphp + +# Développement : +RUN cp $PHP_INI_DIR/php.ini-development $PHP_INI_DIR/php.ini + +# Ou production : +RUN cp $PHP_INI_DIR/php.ini-production $PHP_INI_DIR/php.ini +``` + +## Configuration du Caddyfile + +Pour enregistrer l'exécuteur FrankenPHP, l'[option globale](https://caddyserver.com/docs/caddyfile/concepts#global-options) `frankenphp` doit être définie, puis les [directives HTTP](https://caddyserver.com/docs/caddyfile/concepts#directives) `php_server` ou `php` peuvent être utilisées dans les blocs du site pour servir votre application PHP. + +Exemple minimal : + +```caddyfile +{ + # Autoriser FrankenPHP + frankenphp + # Configurer l'ordre d'exécution de la directive + order php_server before file_server +} + +localhost { + # Autoriser la compression (optionnel) + encode zstd br gzip + # Exécuter les fichiers PHP dans le répertoire courant et servir les ressources + php_server +} +``` + +En option, le nombre de threads à créer et les [scripts de travail](worker.md) à démarrer avec le serveur peuvent être spécifiés sous l'option globale. + +```caddyfile +{ + frankenphp { + num_threads # Définit le nombre de threads PHP à démarrer. Par défaut : 2x le nombre de CPUs disponibles. + worker { + file # Définit le chemin vers le script de travail. + num # Définit le nombre de threads PHP à démarrer, par défaut 2x le nombre de CPUs disponibles. + env # Définit une variable d'environnement supplémentaire à la valeur donnée. Peut être spécifié plusieurs fois pour plusieurs variables d'environnement. + } + } +} + +# ... +``` + +Vous pouvez également utiliser la forme courte de l'option worker en une seule ligne : + +```caddyfile +{ + frankenphp { + worker + } +} + +# ... +``` + +Vous pouvez aussi définir plusieurs workers si vous servez plusieurs applications sur le même serveur : + +```caddyfile +{ + frankenphp { + worker /path/to/app/public/index.php + worker /path/to/other/public/index.php + } +} + +app.example.com { + root * /path/to/app/public + php_server +} + +other.example.com { + root * /path/to/other/public + php_server +} +... +``` + +L'utilisation de la directive php_server est généralement suffisante, +mais si vous avez besoin d'un contrôle total, vous pouvez utiliser la directive de niveau inférieur php : + +Utiliser la directive php_server est équivalent à cette configuration : + +```caddyfile +route { + # Ajoute un slash final pour les requêtes de répertoire + @canonicalPath { + file {path}/index.php + not path */ + } + redir @canonicalPath {path}/ 308 + # Si le fichier demandé n'existe pas, essayer les fichiers index + @indexFiles file { + try_files {path} {path}/index.php index.php + split_path .php + } + rewrite @indexFiles {http.matchers.file.relative} + # FrankenPHP! + @phpFiles path *.php + php @phpFiles + file_server +} +``` + +Les directives php_server et php disposent des options suivantes : + +```caddyfile +php_server [] { + root # Définit le dossier racine pour le site. Par défaut : directive `root`. + split_path # Définit les sous-chaînes pour diviser l'URI en deux parties. La première sous-chaîne correspondante sera utilisée pour séparer le "path info" du chemin. La première partie est suffixée avec la sous-chaîne correspondante et sera considérée comme le nom réel de la ressource (script CGI). La seconde partie sera définie comme PATH_INFO pour que le script CGI l'utilise. Par défaut : `.php` + resolve_root_symlink false # Désactive la résolution du répertoire `root` vers sa valeur réelle en évaluant un lien symbolique, s'il existe (activé par défaut). + env # Définit une variable d'environnement supplémentaire à la valeur donnée. Peut être spécifié plusieurs fois pour plusieurs variables d'environnement. +} +``` + + +## Variables d'environnement + +Les variables d'environnement suivantes peuvent être utilisées pour injecter des directives Caddy dans le Caddyfile sans le modifier : + +* `SERVER_NAME` : change [les adresses sur lesquelles écouter](https://caddyserver.com/docs/caddyfile/concepts#addresses), les noms d'hôte fournis seront également utilisés pour le certificat TLS généré +* `CADDY_GLOBAL_OPTIONS` : injecte [des options globales](https://caddyserver.com/docs/caddyfile/options) +* `FRANKENPHP_CONFIG` : injecte la configuration sous la directive `frankenphp` + +Contrairement aux SAPI FPM et CLI, les variables d'environnement ne sont **pas** exposées par défaut dans les superglobales `$_SERVER` et `$_ENV`. + +Pour propager les variables d'environnement vers `$_SERVER` et `$_ENV`, définissez la directive `variables_order` de `php.ini` sur `EGPCS`. + +## Configuration PHP + +Pour charger [des fichiers de configuration PHP supplémentaires](https://www.php.net/manual/fr/configuration.file.php#configuration.file.scan), +la variable d'environnement `PHP_INI_SCAN_DIR` peut être utilisée. +Lorsqu'elle est définie, PHP chargera tous les fichiers avec l'extension `.ini` présents dans les répertoires donnés. + +## Activer le mode Debug + +Lors de l'utilisation de l'image Docker, définissez la variable d'environnement `CADDY_GLOBAL_OPTIONS` sur `debug` pour activer le mode debug : + +```console +docker run -v $PWD:/app/public \ + -e CADDY_GLOBAL_OPTIONS=debug \ + -p 80:80 -p 443:443 -p 443:443/udp \ + dunglas/frankenphp +``` diff --git a/docs/fr/digitalocean-dns.png b/docs/fr/digitalocean-dns.png new file mode 100644 index 0000000000000000000000000000000000000000..a084c370bc73fbde6ce5a71b751cbcb6dedc61ae GIT binary patch literal 129432 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 qux@lc<*9`Vga)cnN#$^EK0_i@(z*}sI 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 Pz@PkG6`4{g)8PLD`yHC| literal 0 HcmV?d00001 diff --git a/docs/fr/digitalocean-droplet.png b/docs/fr/digitalocean-droplet.png new file mode 100644 index 0000000000000000000000000000000000000000..be27e499047310ace23dd05879e864efc162e0dc GIT binary patch literal 163083 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ℑGP@~vaKR|#boD* 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 literal 0 HcmV?d00001 diff --git a/docs/fr/docker.md b/docs/fr/docker.md new file mode 100644 index 0000000000..44f4330cf7 --- /dev/null +++ b/docs/fr/docker.md @@ -0,0 +1,163 @@ +# Création d'une image Docker personnalisée + +Les images Docker de [FrankenPHP](https://hub.docker.com/r/dunglas/frankenphp) sont basées sur les [images PHP officielles](https://hub.docker.com/_/php/). Des variantes Alpine Linux et Debian sont fournies pour les architectures populaires. Des variantes pour PHP 8.2 et PHP 8.3 sont disponibles. [Parcourir les tags](https://hub.docker.com/r/dunglas/frankenphp/tags). + +## Comment utiliser les images + +Créez un `Dockerfile` dans votre projet : +```dockerfile +FROM dunglas/frankenphp + +COPY . /app/public +``` + +Ensuite, exécutez les commandes pour construire et exécuter l'image Docker : + +```console +docker build -t my-php-app . +docker run -it --rm --name my-running-app my-php-app +``` + +## Comment installer plus d'extensions PHP + +Le script [`docker-php-extension-installer`](https://github.com/mlocati/docker-php-extension-installer) est fourni dans l'image de base. +Ajouter des extensions PHP supplémentaires est simple : + +```dockerfile +FROM dunglas/frankenphp + +# ajoutez des extensions supplémentaires ici : +RUN install-php-extensions \ + pdo_mysql \ + gd \ + intl \ + zip \ + opcache +``` + +## Comment installer plus de modules Caddy + +FrankenPHP est construit sur Caddy, et tous les[modules Caddy](https://caddyserver.com/docs/modules/) peuvent être utilisés avec FrankenPHP. + +La manière la plus simple d'installer des modules Caddy personnalisés est d'utiliser [xcaddy](https://github.com/caddyserver/xcaddy): + +```dockerfile +FROM dunglas/frankenphp:latest-builder AS builder + +# Copier xcaddy dans l'image du constructeur +COPY --from=caddy:builder /usr/bin/xcaddy /usr/bin/xcaddy + +# CGO doit être activé pour construire FrankenPHP +ENV CGO_ENABLED=1 XCADDY_SETCAP=1 XCADDY_GO_BUILD_FLAGS="-ldflags '-w -s'" +RUN xcaddy build \ + --output /usr/local/bin/frankenphp \ + --with github.com/dunglas/frankenphp=./ \ + --with github.com/dunglas/frankenphp/caddy=./caddy/ \ +# Mercure et Vulcain sont inclus dans la construction officielle, mais n'hésitez pas à les retirer + --with github.com/dunglas/mercure/caddy \ + --with github.com/dunglas/vulcain/caddy + # Ajoutez des modules Caddy supplémentaires ici + +FROM dunglas/frankenphp AS runner + +# Remplacer le binaire officiel par celui contenant vos modules personnalisés +COPY --from=builder /usr/local/bin/frankenphp /usr/local/bin/frankenphp +COPY --from=builder /usr/local/bin/frankenphp /usr/local/bin/frankenphp +``` + +L'image builder fournie par FrankenPHP contient une version compilée de libphp. +[Les images de constructeurs](https://hub.docker.com/r/dunglas/frankenphp/tags?name=builder) sont fournies pour toutes les versions de FrankenPHP et PHP, à la fois pour Alpine et Debian. + +> [!TIP] +> +> Si vous utilisez Alpine Linux et Symfony, +> vous devrez peut-être [augmenter la taille de pile par défaut](compile.md#using-xcaddy). + +## Activer le mode Worker par défaut + +Définissez la variable d'environnement FRANKENPHP_CONFIG pour démarrer FrankenPHP avec un script worker : + +```dockerfile +FROM dunglas/frankenphp + +# ... + +ENV FRANKENPHP_CONFIG="worker ./public/index.php" +``` + +## Utiliser un volume en développement + +Pour développer facilement avec FrankenPHP, montez le répertoire de votre hôte contenant le code source de l'application comme un volume dans le conteneur Docker : + +```console +docker run -v $PWD:/app/public -p 80:80 -p 443:443 -p 443:443/udp --tty my-php-app +``` + +> ![TIP] +> +> L'option --tty permet d'avoir des logs lisibles par un humain au lieu de logs JSON. + +Avec Docker Compose: + +```yaml +# compose.yaml + +services: + php: + image: dunglas/frankenphp + # décommentez la ligne suivante si vous souhaitez utiliser un Dockerfile personnalisé + #build: . + # décommentez la ligne suivante si vous souhaitez exécuter cela dans un environnement de production + # restart: always + ports: + - "80:80" # HTTP + - "443:443" # HTTPS + - "443:443/udp" # HTTP/3 + volumes: + - ./:/app/public + - caddy_data:/data + - caddy_config:/config + # commentez la ligne suivante en production, elle permet d'avoir de beaux logs lisibles en dev + tty: true + +# Volumes nécessaires pour les certificats et la configuration de Caddy +volumes: + caddy_data: + caddy_config: +``` + +## Exécution en tant qu'utilisateur non root + +FrankenPHP peut s'exécuter en tant qu'utilisateur non root dans Docker. + +Voici un exemple de `Dockerfile` qui le fait : + +```dockerfile +FROM dunglas/frankenphp + +ARG USER=www-data + +RUN \ + # Utilisez "adduser -D ${USER}" pour les distributions basées sur Alpine + useradd -D ${USER}; \ + # Ajouter la capacité supplémentaire de se lier aux ports 80 et 443 + setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/frankenphp; \ + # Donner l'accès en écriture à /data/caddy et /config/caddy + chown -R ${USER}:${USER} /data/caddy && chown -R ${USER}:${USER} /config/caddy; + +USER ${USER} +``` + +## Mises à jour + +Les images Docker sont construites : + +* lorsqu'une nouvelle version est taguée +* tous les jours à 4h UTC, si de nouvelles versions des images officielles PHP sont disponibles + +# Versions de Développement + +Les versions de développement sont disponibles dans le dépôt Docker [`dunglas/frankenphp-dev`](https://hub.docker.com/repository/docker/dunglas/frankenphp-dev). Un nouveau build est déclenché chaque fois qu'un commit est poussé sur la branche principale du dépôt GitHub. + +Les tags `latest*` pointent vers la tête de la branche `main`. +Les tags sous la forme `sha-` sont également disponibles. diff --git a/docs/fr/early-hints.md b/docs/fr/early-hints.md new file mode 100644 index 0000000000..7d57246fc6 --- /dev/null +++ b/docs/fr/early-hints.md @@ -0,0 +1,21 @@ +# Early Hints + +FrankenPHP prend nativement en charge le code de statut [103 Early Hints](https://developer.chrome.com/blog/early-hints/). +L'utilisation des Early Hints peut améliorer le temps de chargement de vos pages web de 30 %. + +```php +; rel=preload; as=style'); +headers_send(103); + +// vos algorithmes lents et requêtes SQL 🤪 + +echo <<<'HTML' + +Hello FrankenPHP + +HTML; +``` + +Les Early Hints sont pris en charge à la fois par les modes normal et [worker](worker.md). diff --git a/docs/fr/embed.md b/docs/fr/embed.md new file mode 100644 index 0000000000..b9cc67529d --- /dev/null +++ b/docs/fr/embed.md @@ -0,0 +1,125 @@ +# Applications PHP en tant que Binaires Autonomes + +FrankenPHP a la capacité d'incorporer le code source et les ressources des applications PHP dans un binaire statique et autonome. + +Grâce à cette fonctionnalité, les applications PHP peuvent être distribuées en tant que binaires autonomes qui incluent l'application elle-même, l'interpréteur PHP et Caddy, un serveur web de niveau production. + +Pour en savoir plus sur cette fonctionnalité, consultez [la présentation faite par Kévin à SymfonyCon](https://dunglas.dev/2023/12/php-and-symfony-apps-as-standalone-binaries/). + +## Préparer Votre Application + +Avant de créer le binaire autonome, assurez-vous que votre application est prête pour l'incorporation. + +Par exemple, vous voudrez probablement : + +* Installer les dépendances de production de l'application +* Dumper l'autoloader +* Activer le mode production de votre application (si disponible) +* Supprimer les fichiers inutiles tels que `.git` ou les tests pour réduire la taille de votre binaire final + +```console +# Exporter le projet pour se débarrasser de .git/, etc. +mkdir $TMPDIR/my-prepared-app +git archive HEAD | tar -x -C $TMPDIR/my-prepared-app +cd $TMPDIR/my-prepared-app + +# Définir les variables d'environnement appropriées +echo APP_ENV=prod > .env.local +echo APP_DEBUG=0 >> .env.local + +# Supprimer les tests +rm -Rf tests/ + +# Installer les dépendances +composer install --ignore-platform-reqs --no-dev -a + +# Optimiser le .env +composer dump-env prod +``` + +## Créer un Binaire Linux + +La manière la plus simple de créer un binaire Linux est d'utiliser le constructeur basé sur Docker que nous fournissons. + +1. Créez un fichier nommé `static-build.Dockerfile` dans le répertoire de votre application préparée : + + ```dockerfile + FROM --platform=linux/amd64 dunglas/frankenphp:static-builder + + # Copy your app + WORKDIR /go/src/app/dist/app + COPY . . + + # Build the static binary, be sure to select only the PHP extensions you want + WORKDIR /go/src/app/ + RUN EMBED=dist/app/ \ + PHP_EXTENSIONS=ctype,iconv,pdo_sqlite \ + ./build-static.sh + ``` + +2. Construisez: + + ```console + docker build -t static-app -f static-build.Dockerfile . + ``` + +3. Extrayez le binaire + + ```console + docker cp $(docker create --name static-app-tmp static-app):/go/src/app/dist/frankenphp-linux-x86_64 my-app ; docker rm static-app-tmp + ``` + +Le binaire résultant est le fichier nommé `my-app` dans le répertoire courant. + +## Créer un Binaire pour d'Autres Systèmes d'Exploitation + +Si vous ne souhaitez pas utiliser Docker, ou souhaitez construire un binaire macOS, utilisez le script shell que nous fournissons : + +```console +git clone https://github.com/dunglas/frankenphp +cd frankenphp +EMBED=/path/to/your/app \ + PHP_EXTENSIONS=ctype,iconv,pdo_sqlite \ + ./build-static.sh +``` + +Le binaire résultant est le fichier nommé `frankenphp--` dans le répertoire `dist/`. + +## Utiliser le Binaire + +C'est tout ! Le fichier `my-app` (ou `dist/frankenphp--` sur d'autres systèmes d'exploitation) contient votre application autonome ! + +Pour démarrer l'application web, exécutez : + +```console +./my-app php-server +``` + +Si votre application contient un [script de travailleur](worker.md), démarrez le travailleur avec quelque chose comme : + +```console +./my-app php-server --worker public/index.php +``` + +Pour activer HTTPS (un certificat Let's Encrypt est automatiquement créé), HTTP/2 et HTTP/3, spécifiez le nom de domaine à utiliser : + +```console +./my-app php-server --domain localhost +``` + +Vous pouvez également exécuter les scripts CLI PHP incorporés dans votre binaire : + +```console +./my-app php-cli bin/console +``` + +## Personnaliser la Construction + +[Consultez la documentation sur la construction statique](static.md) pour voir comment personnaliser le binaire (extensions, version PHP...). + +## Distribuer le Binaire + +Le binaire créé n'est pas compressé. +Pour réduire la taille du fichier avant de l'envoyer, vous pouvez le compresser. + +Nous recommandons `xz`. diff --git a/docs/fr/github-actions.md b/docs/fr/github-actions.md new file mode 100644 index 0000000000..64db5f4769 --- /dev/null +++ b/docs/fr/github-actions.md @@ -0,0 +1,31 @@ +# Utilisation de GitHub Actions + +Ce dépôt construit et déploie l'image Docker sur [Docker Hub](https://hub.docker.com/r/dunglas/frankenphp) pour +chaque pull request approuvée ou sur votre propre fork une fois configuré. + +## Configuration de GitHub Actions + +Dans les paramètres du dépôt, sous secrets, ajoutez les secrets suivants : + +- `REGISTRY_LOGIN_SERVER` : Le registre Docker à utiliser (par exemple, `docker.io`). +- `REGISTRY_USERNAME` : Le nom d'utilisateur à utiliser pour se connecter au registre (par exemple, `dunglas`). +- `REGISTRY_PASSWORD` : Le mot de passe à utiliser pour se connecter au registre (par exemple, une clé d'accès). +- `IMAGE_NAME` : Le nom de l'image (par exemple, `dunglas/frankenphp`). + +## Construction et push de l'image + +1. Créez une pull request ou poussez vers votre fork. +2. GitHub Actions va construire l'image et exécuter tous les tests. +3. Si la construction est réussie, l'image sera poussée vers le registre en utilisant le tag `pr-x`, où `x` est le numéro de la PR. + +## Déploiement de l'image + +1. Une fois la pull request fusionnée, GitHub Actions exécutera à nouveau les tests et construira une nouvelle image. +2. Si la construction est réussie, le tag `main` sera mis à jour dans le registre Docker. + +## Releases + +1. Créez un nouveau tag dans le dépôt. +2. GitHub Actions va construire l'image et exécuter tous les tests. +3. Si la construction est réussie, l'image sera poussée vers le registre en utilisant le nom du tag comme tag (par exemple, `v1.2.3` et `v1.2` seront créés). +4. Le tag `latest` sera également mis à jour. diff --git a/docs/fr/known-issues.md b/docs/fr/known-issues.md new file mode 100644 index 0000000000..048a1ef7d6 --- /dev/null +++ b/docs/fr/known-issues.md @@ -0,0 +1,99 @@ +# Problèmes Connus + +## Fibres + +L'appel de fonctions PHP et de constructions langagières qui elles-mêmes appellent [cgo](https://go.dev/blog/cgo) dans des[Fibres](https://www.php.net/manual/en/language.fibers.php) est connu pour provoquer des plantages. + +Ce problème est [en cours de traitement par le projet Go](https://github.com/golang/go/issues/62130). + +En attendant, une solution consiste à ne pas utiliser de constructions (comme `echo`) et de fonctions (comme `header()`) qui délèguent à Go depuis l'intérieur de Fibres. + +Ce code risque de planter car il utilise `echo` dans une Fibre : + +```php +$fiber = new Fiber(function() { + echo 'In the Fiber'.PHP_EOL; + echo 'Still inside'.PHP_EOL; +}); +$fiber->start(); +``` + +A la place, retournez la valeur de la Fibre et utilisez-la à l'extérieur : + +```php +$fiber = new Fiber(function() { + Fiber::suspend('In the Fiber'.PHP_EOL)); + Fiber::suspend('Still inside'.PHP_EOL)); +}); +echo $fiber->start(); +echo $fiber->resume(); +$fiber->resume(); +``` + +# Extensions PHP non prises en charge + +Les extensions suivantes sont connues pour ne pas être compatibles avec FrankenPHP : + +| Nom | Raison | Alternatives | +| --- | --- | --- | +| [imap](https://www.php.net/manual/fr/imap.installation.php) | Non sécurisé pour l'exécution en parallèle | [javanile/php-imap2](https://github.com/javanile/php-imap2), [webklex/php-imap](https://github.com/Webklex/php-imap) | + +## get_browser + +La fonction [get_browser()](https://www.php.net/manual/fr/function.get-browser.php) semble avoir de mauvaises performances après un certain temps. Une solution est de mettre en cache (par exemple, avec APCU) les résultats par User Agent, car ils sont statiques. + +## Binaire autonome et images Docker basées sur Alpine + +Le binaire autonome et les images docker basées sur Alpine (`dunglas/frankenphp:*-alpine`) utilisent [musl libc](https://musl.libc.org/) au lieu de [glibc et amis](https://www.etalabs.net/compare_libcs.html), pour garder une taille de binaire plus petite. Cela peut entraîner des problèmes de compatibilité. En particulier, le drapeau glob `GLOB_BRACE` n'est [pas disponible](https://www.php.net/manual/fr/function.glob.php). + +## Utilisation de `https://127.0.0.1` avec Docker + +Par défaut, FrankenPHP génère un certificat TLS pour `localhost`. +C'est l'option la plus simple et recommandée pour le développement local. + +Si vous voulez vraiment utiliser `127.0.0.1` comme hôte à la place, il est possible de le configurer pour générer un certificat pour cela en définissant le nom du serveur sur `127.0.0.1`. + +Malheureusement, cela ne suffit pas lors de l'utilisation de Docker à cause de [son système de mise en réseau](https://docs.docker.com/network/). +Vous obtiendrez une erreur TLS similaire à `curl: (35) LibreSSL/3.3.6: error:1404B438:SSL routines:ST_CONNECT:tlsv1 alert internal error`. + +Si vous utilisez Linux, une solution est d'utiliser [le pilote de réseau hôte](https://docs.docker.com/network/network-tutorial-host/) : + +```console +docker run \ + -e SERVER_NAME="127.0.0.1" \ + -v $PWD:/app/public \ + --network host \ + dunglas/frankenphp +``` + +Le pilote de réseau hôte n'est pas pris en charge sur Mac et Windows. Sur ces plateformes, vous devrez deviner l'adresse IP du conteneur et l'inclure dans les noms de serveur. + +Exécutez la commande `docker network inspect bridge` et regardez la clé `Containers` pour identifier la dernière adresse IP attribuée sous la clé `IPv4Address`, puis incrémentez-la de un. Si aucun conteneur n'est en cours d'exécution, la première adresse IP attribuée est généralement `172.17.0.2`. + +Ensuite, incluez ceci dans la variable d'environnement `SERVER_NAME` : + + +```console +docker run \ + -e SERVER_NAME="127.0.0.1, 172.17.0.3" \ + -v $PWD:/app/public \ + -p 80:80 -p 443:443 -p 443:443/udp \ + dunglas/frankenphp +``` + +> ![CAUTION] +> +> Assurez-vous de remplacer `172.17.0.3` par l'IP qui sera attribuée à votre conteneur. + +Vous devriez maintenant pouvoir accéder à `https://127.0.0.1` depuis la machine hôte. + +Si ce n'est pas le cas, lancez FrankenPHP en mode debug pour essayer de comprendre le problème : + +```console +docker run \ + -e CADDY_GLOBAL_OPTIONS="debug" + -e SERVER_NAME="127.0.0.1" \ + -v $PWD:/app/public \ + -p 80:80 -p 443:443 -p 443:443/udp \ + dunglas/frankenphp +``` diff --git a/docs/fr/laravel.md b/docs/fr/laravel.md new file mode 100644 index 0000000000..12e8faa47c --- /dev/null +++ b/docs/fr/laravel.md @@ -0,0 +1,75 @@ +# Laravel + +## Docker + +Servir une application web [Laravel](https://laravel.com) avec FrankenPHP est aussi simple que de monter le projet dans le répertoire `/app` de l'image Docker officielle. + +Exécutez cette commande depuis le répertoire principal de votre application Laravel : + +```console +docker run -p 80:80 -p 443:443 -p 443:443/udp -v $PWD:/app dunglas/frankenphp +``` + +Et profitez ! + +## Installation Locale + +Vous pouvez également exécuter vos projets Laravel avec FrankenPHP depuis votre machine locale : + +1. [Téléchargez le binaire correspondant à votre système](https://github.com/dunglas/frankenphp/releases) +2. Ajoutez la configuration suivante à un fichier nommé `Caddyfile` dans le répertoire racine de votre projet Laravel : + + ```caddyfile + { + frankenphp + order php_server before file_server + } + + # Le nom de domaine de votre serveur + localhost { + # Définir le répertoire racine sur le dossier public/ + root * public/ + # Autoriser la compression (optionnel) + encode zstd br gzip + # Exécuter les fichiers PHP dans le répertoire courant et servir les ressources + php_server + } + ``` + +3. Démarrez FrankenPHP depuis le répertoire racine de votre projet Laravel : `./frankenphp run` + +## Laravel Octane + +Octane peut être installé via le gestionnaire de paquets Composer : + +```console +composer require laravel/octane +``` + +Après avoir installé Octane, vous pouvez exécuter la commande Artisan `octane:install`, qui installera le fichier de configuration d'Octane dans votre application : + +```console +php artisan octane:install --server=frankenphp +``` + +Le serveur Octane peut être démarré via la commande Artisan `octane:start`. + +```console +php artisan octane:start +``` + +La commande `octane:start` peut prendre les options suivantes : + +* `--host` : L'adresse IP à laquelle le serveur doit se lier (par défaut : `127.0.0.1`) +* `--port` : Le port sur lequel le serveur doit être disponible (par défaut : `8000`) +* `--admin-port` : Le port sur lequel le serveur administratif doit être disponible (par défaut : `2019`) +* `--workers` : Le nombre de workers qui doivent être disponibles pour traiter les requêtes (par défaut : `auto`) +* `--max-requests` : Le nombre de requêtes à traiter avant de recharger le serveur (par défaut : `500`) +* `--caddyfile` : Le chemin vers le fichier `Caddyfile` de FrankenPHP +* `--https` : Activer HTTPS, HTTP/2, et HTTP/3, et générer automatiquement et renouveler les certificats +* `--http-redirect` : Activer la redirection HTTP vers HTTPS (uniquement activé si --https est passé) +* `--watch` : Recharger automatiquement le serveur lorsque l'application est modifiée +* `--poll` : Utiliser le sondage du système de fichiers pendant la surveillance pour surveiller les fichiers sur un réseau +* `--log-level` : Enregistrer les messages au niveau de journalisation spécifié ou au-dessus + +En savoir plus sur Laravel Octane [dans sa documentation officielle](https://laravel.com/docs/octane). diff --git a/docs/fr/mercure.md b/docs/fr/mercure.md new file mode 100644 index 0000000000..9437e42ab2 --- /dev/null +++ b/docs/fr/mercure.md @@ -0,0 +1,12 @@ +# Temps Réel + +FrankenPHP est livré avec un hub Mercure intégré ! +Mercure permet de pousser des événements en temps réel vers tous les appareils connectés : ils recevront un événement JavaScript instantanément. + +Aucune bibliothèque JS ou SDK requis ! + +![Mercure](https://mercure.rocks/static/main.png) + +Pour activer le hub Mercure, mettez à jour le `Caddyfile` comme décrit [sur le site de Mercure](https://mercure.rocks/docs/hub/config). + +Pour pousser des mises à jour Mercure depuis votre code, nous recommandons le [Composant Mercure de Symfony](https://symfony.com/components/Mercure) (vous n'avez pas besoin du framework full stack Symfony pour l'utiliser). diff --git a/docs/fr/production.md b/docs/fr/production.md new file mode 100644 index 0000000000..26d3ce6153 --- /dev/null +++ b/docs/fr/production.md @@ -0,0 +1,141 @@ +# Déploiement en Production + +Dans ce tutoriel, nous allons apprendre à déployer une application PHP sur un serveur unique en utilisant Docker Compose. + +Si vous utilisez Symfony, préférez lire l'entrée de documentation "[Déployer en production](https://github.com/dunglas/symfony-docker/blob/main/docs/production.md)" du projet Symfony Docker (qui utilise FrankenPHP). + +Si vous utilisez API Platform (qui utilise également FrankenPHP), référez-vous à [la documentation de déploiement du framework](https://api-platform.com/docs/deployment/). + +## Préparer votre application + +Tout d'abord, créez un `Dockerfile` dans le répertoire racine de votre projet PHP : + +```dockerfile +FROM dunglas/frankenphp + +# Assurez-vous de remplacer "your-domain-name.example.com" par votre nom de domaine +ENV SERVER_NAME=your-domain-name.example.com +# Si vous souhaitez désactiver HTTPS, utilisez cette valeur à la place : +#ENV SERVER_NAME=:80 + +# Activer les paramètres de production PHP +RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" + +# Copiez les fichiers PHP de votre projet dans le répertoire public +COPY . /app/public +# Si vous utilisez Symfony ou Laravel, vous devez copier l'intégralité du projet à la place : +#COPY . /app +``` + +Consultez "[Construire une image Docker personnalisée](docker.md)" pour plus de détails et d'options, +et pour apprendre à personnaliser la configuration, installer des extensions PHP et des modules Caddy. + +Si votre projet utilise Composer, +assurez-vous de l'inclure dans l'image Docker et d'installer vos dépendances. + +Ensuite, ajoutez un fichier `compose.yaml` : + +```yaml +services: + php: + image: dunglas/frankenphp + restart: always + ports: + - "80:80" # HTTP + - "443:443" # HTTPS + - "443:443/udp" # HTTP/3 + volumes: + - caddy_data:/data + - caddy_config:/config + +# Volumes nécessaires pour les certificats et la configuration de Caddy +volumes: + caddy_data: + caddy_config: +``` + +> [!NOTE] +> Les exemples précédents sont destinés à une utilisation en production. +> En développement, vous pourriez vouloir utiliser un volume, une configuration PHP différente et une valeur différente pour la variable d'environnement `SERVER_NAME`. +> +> Jetez un œil au projet [Symfony Docker](https://github.com/dunglas/symfony-docker) +> (qui utilise FrankenPHP) pour un exemple plus avancé utilisant des images multi-étapes, +> Composer, des extensions PHP supplémentaires, etc. + +Finally, if you use Git, commit these files and push. + +## Préparer un serveur + +Pour déployer votre application en production, vous avez besoin d'un serveur. +Dans ce tutoriel, nous utiliserons une machine virtuelle fournie par DigitalOcean, mais n'importe quel serveur Linux peut fonctionner. +Si vous avez déjà un serveur Linux avec Docker installé, vous pouvez passer directement à [la section suivante](#configurer-un-nom-de-domaine). + +Sinon, utilisez [ce lien affilié](https://m.do.co/c/5d8aabe3ab80) pour obtenir 200 $ de crédit gratuit, créez un compte, puis cliquez sur "Créer un Droplet". +Ensuite, cliquez sur l'onglet "Marketplace" sous la section "Choisir une image" et recherchez l'application nommée "Docker". +Cela provisionnera un serveur Ubuntu avec les dernières versions de Docker et Docker Compose déjà installées ! + +Pour des fins de test, les plans les moins chers seront suffisants. +Pour une utilisation en production réelle, vous voudrez probablement choisir un plan dans la section "usage général" pour répondre à vos besoins. + +![Déployer FrankenPHP sur DigitalOcean avec Docker](digitalocean-droplet.png) + +Vous pouvez conserver les paramètres par défaut pour les autres paramètres, ou les ajuster selon vos besoins. +N'oubliez pas d'ajouter votre clé SSH ou de créer un mot de passe puis appuyez sur le bouton "Finaliser et créer". + +Ensuite, attendez quelques secondes pendant que votre Droplet est en cours de provisionnement. +Lorsque votre Droplet est prêt, utilisez SSH pour vous connecter : + +```console +ssh root@ +``` + +## Configurer un nom de domaine + +Dans la plupart des cas, vous souhaiterez associer un nom de domaine à votre site. +Si vous ne possédez pas encore de nom de domaine, vous devrez en acheter un via un registraire. + +Ensuite, créez un enregistrement DNS de type `A` pour votre nom de domaine pointant vers l'adresse IP de votre serveur : + +```dns +your-domain-name.example.com. IN A 207.154.233.113 +``` + +Exemple avec le service DigitalOcean Domains ("Networking" > "Domains") : + +![Configuring DNS on DigitalOcean](digitalocean-dns.png) + +> [!NOTE] +> Let's Encrypt, le service utilisé par défaut par FrankenPHP pour générer automatiquement un certificat TLS, ne prend pas en charge l'utilisation d'adresses IP nues. L'utilisation d'un nom de domaine est obligatoire pour utiliser Let's Encrypt. + +## Déploiement + +Copiez votre projet sur le serveur en utilisant `git clone`, `scp`, ou tout autre outil qui pourrait répondre à votre besoin. +Si vous utilisez GitHub, vous voudrez peut-être utiliser [une clé de déploiement](https://docs.github.com/en/free-pro-team@latest/developers/overview/managing-deploy-keys#deploy-keys). +Les clés de déploiement sont également [prises en charge par GitLab](https://docs.gitlab.com/ee/user/project/deploy_keys/). + +Exemple avec Git : + + +```console +git clone git@github.com:/.git +``` + +Accédez au répertoire contenant votre projet (``), et démarrez l'application en mode production : + + +```console +docker compose up -d --wait +``` + +Votre serveur est opérationnel, et un certificat HTTPS a été automatiquement généré pour vous. +Rendez-vous sur `https://your-domain-name.example.com` et profitez-en ! + +> [!CAUTION] +> Docker peut avoir une couche de cache, assurez-vous d'avoir la bonne version de build pour chaque déploiement ou reconstruisez votre projet avec l'option --no-cache pour éviter les problèmes de cache. + +## Déploiement sur Plusieurs Nœuds + +Si vous souhaitez déployer votre application sur un cluster de machines, vous pouvez utiliser [Docker Swarm](https://docs.docker.com/engine/swarm/stack-deploy/), +qui est compatible avec les fichiers Compose fournis. +Pour un déploiement sur Kubernetes, jetez un œil au [Helm chart fourni avec API Platform](https://api-platform.com/docs/deployment/kubernetes/), qui peut être facilement adapté pour une utilisation avec Symfony Docker. + diff --git a/docs/fr/static.md b/docs/fr/static.md new file mode 100644 index 0000000000..1b08c578de --- /dev/null +++ b/docs/fr/static.md @@ -0,0 +1,79 @@ +# Créer un Build Statique + +Au lieu d'utiliser une installation locale de la bibliothèque PHP, il est possible de créer un build statique de FrankenPHP grâce au formidable projet [static-php-cli](https://github.com/crazywhalecc/static-php-cli) (malgré son nom, ce projet prend en charge tous les SAPIs, pas seulement CLI). + +Avec cette méthode, un binaire portable unique contiendra l'interpréteur PHP, le serveur web Caddy et FrankenPHP ! + +FrankenPHP prend également en charge [l'incorporation de l'application PHP dans le binaire statique](embed.md). + +## Linux + +Nous fournissons une image Docker pour créer un binaire statique Linux : + +```console +docker buildx bake --load static-builder +docker cp $(docker create --name static-builder dunglas/frankenphp:static-builder):/go/src/app/dist/frankenphp-linux-$(uname -m) frankenphp ; docker rm static-builder +``` + +Le binaire statique résultant est nommé frankenphp et est disponible dans le répertoire courant. + +Si vous souhaitez construire le binaire statique sans Docker, regardez les instructions pour macOS, qui fonctionnent également pour Linux. + +### Extensions personnalisées + +Par défaut, la plupart des extensions PHP populaires sont compilées. + +Pour réduire la taille du binaire et diminuer la surface d'attaque, vous pouvez choisir la liste des extensions à construire en utilisant l'argument Docker `PHP_EXTENSIONS`. + +Par exemple, exécutez la commande suivante pour ne construire que l'extension `opcache` : + +```console +docker buildx bake --load --set static-builder.args.PHP_EXTENSIONS=opcache,pdo_sqlite static-builder +# ... +``` + +Pour ajouter des bibliothèques permettant des fonctionnalités supplémentaires aux extensions que vous avez activées, vous pouvez utiliser l'argument Docker `PHP_EXTENSION_LIBS` : + +```console +docker buildx bake \ + --load \ + --set static-builder.args.PHP_EXTENSIONS=gd \ + --set static-builder.args.PHP_EXTENSION_LIBS=libjpeg,libwebp \ + static-builder +``` + +Voir aussi : [personnaliser la construction](#customizing-the-build) + +### Jeton GitHub + +Si vous atteignez la limite de taux d'appels de l'API GitHub, définissez un jeton d'accès personnel GitHub dans une variable d'environnement nommée `GITHUB_TOKEN` : + +```console +GITHUB_TOKEN="xxx" docker --load buildx bake static-builder +# ... +``` + +## macOS + +Exécutez le script suivant pour créer un binaire statique pour macOS (vous devez avoir [Homebrew](https://brew.sh/) installé) : + +```console +git clone https://github.com/dunglas/frankenphp +cd frankenphp +./build-static.sh +``` + +Note : ce script fonctionne également sur Linux (et probablement sur d'autres Unix) et est utilisé en interne par le constructeur statique basé sur Docker que nous fournissons. + +## Personnalisation de la construction + +Les variables d'environnement suivantes peuvent être transmises à `docker build` et au script `build-static.sh` pour personnaliser la construction statique : + +* `FRANKENPHP_VERSION` : la version de FrankenPHP à utiliser +* `PHP_VERSION` : la version de PHP à utiliser +* `PHP_EXTENSIONS` : les extensions PHP à construire ([liste des extensions prises en charge](https://static-php.dev/en/guide/extensions.html)) +* `PHP_EXTENSION_LIBS` : bibliothèques supplémentaires à construire qui ajoutent des fonctionnalités supplémentaires aux extensions +* `EMBED` : chemin de l'application PHP à intégrer dans le binaire +* `CLEAN` : lorsqu'il est défini, libphp et toutes ses dépendances sont construites à partir de zéro (pas de cache) +* `DEBUG_SYMBOLS` : lorsqu'il est défini, les symboles de débogage ne seront pas supprimés et seront ajoutés dans le binaire +* `RELEASE` : (uniquement pour les mainteneurs) lorsqu'elle est définie, le binaire résultant sera téléchargé sur GitHub \ No newline at end of file diff --git a/docs/fr/worker.md b/docs/fr/worker.md new file mode 100644 index 0000000000..663ffab767 --- /dev/null +++ b/docs/fr/worker.md @@ -0,0 +1,116 @@ +# Utilisation des workers FrankenPHP + +Démarrez votre application une fois et gardez-la en mémoire. +FrankenPHP gérera les requêtes entrantes en quelques millisecondes. + +## Démarrage des scripts de workers + +### Docker + +Définissez la valeur de la variable d'environnement `FRANKENPHP_CONFIG` sur `worker /path/to/your/worker/script.php` : + +```console +docker run \ + -e FRANKENPHP_CONFIG="worker /app/path/to/your/worker/script.php" \ + -v $PWD:/app \ + -p 80:80 -p 443:443 -p 443:443/udp \ + dunglas/frankenphp +``` + +### Binaire autonome + +Utilisez l'option --worker de la commande php-server pour servir le contenu du répertoire courant en utilisant un worker : + +```console +./frankenphp php-server --worker /path/to/your/worker/script.php +``` + +## Runtime Symfony + +Le mode worker de FrankenPHP est pris en charge par le [Composant Runtime de Symfony](https://symfony.com/doc/current/components/runtime.html). +Pour démarrer une application Symfony dans un worker, installez le package FrankenPHP de [PHP Runtime](https://github.com/php-runtime/runtime) : + +```console +composer require runtime/frankenphp-symfony +``` + +Démarrez votre serveur d'application en définissant la variable d'environnement `APP_RUNTIME` pour utiliser le Runtime Symfony de FrankenPHP : + +```console +docker run \ + -e FRANKENPHP_CONFIG="worker ./public/index.php" \ + -e APP_RUNTIME=Runtime\\FrankenPhpSymfony\\Runtime \ + -v $PWD:/app \ + -p 80:80 -p 443:443 -p 443:443/udp \ + dunglas/frankenphp +``` + +## Laravel Octane + +Voir [la documentation dédiée](laravel.md#laravel-octane). + +## Applications Personnalisées + +L'exemple suivant montre comment créer votre propre script worker sans dépendre d'une bibliothèque tierce : + +```php +boot(); + +// Gestionnaire en dehors de la boucle pour de meilleures performances (réaliser moins de travail) +$handler = static function () use ($myApp) { + // Appelé lorsqu'une requête est reçue, + // les superglobales, php://input, etc., sont réinitialisés + echo $myApp->handle($_GET, $_POST, $_COOKIE, $_FILES, $_SERVER); +}; +for($nbRequests = 0, $running = true; isset($_SERVER['MAX_REQUESTS']) && ($nbRequests < ((int)$_SERVER['MAX_REQUESTS'])) && $running; ++$nbRequests) { + $running = \frankenphp_handle_request($handler); + + // Faire quelque chose après l'envoi de la réponse HTTP + $myApp->terminate(); + + // Appeler le garbage collector pour réduire les chances qu'il soit déclenché au milieu de la génération d'une page + gc_collect_cycles(); +} +// Nettoyage +$myApp->shutdown(); + +``` + +Ensuite, démarrez votre application et utilisez la variable d'environnement `FRANKENPHP_CONFIG` pour configurer votre worker : + +```console +docker run \ + -e FRANKENPHP_CONFIG="worker ./public/index.php" \ + -v $PWD:/app \ + -p 80:80 -p 443:443 -p 443:443/udp \ + dunglas/frankenphp +``` + +Par défaut, un worker par CPU est démarré. +Vous pouvez également configurer le nombre de workers à démarrer : + +```console +docker run \ + -e FRANKENPHP_CONFIG="worker ./public/index.php 42" \ + -v $PWD:/app \ + -p 80:80 -p 443:443 -p 443:443/udp \ + dunglas/frankenphp +``` + +### Redémarrer le Worker Après un Certain Nombre de Requêtes + +Comme PHP n'a pas été initialement conçu pour des processus de longue durée, de nombreuses bibliothèques et codes hérités présentent encore des fuites de mémoire. +Une solution pour utiliser ce type de code en mode worker est de redémarrer le script worker après avoir traité un certain nombre de requêtes : + +L'extrait de worker précédent permet de configurer un nombre maximal de requêtes à traiter en définissant une variable d'environnement nommée `MAX_REQUESTS`. + From 6d9a16d0db1136e176c8b5cd7ac8d0c9f299a75c Mon Sep 17 00:00:00 2001 From: ginifizz Date: Thu, 22 Feb 2024 10:33:25 +0100 Subject: [PATCH 2/6] fix: fr translations --- docs/fr/CONTRIBUTING.md | 2 +- docs/fr/README.md | 14 +++++++------- docs/fr/compile.md | 4 ++-- docs/fr/config.md | 13 ++++++------- docs/fr/docker.md | 8 ++++---- docs/fr/early-hints.md | 2 +- docs/fr/embed.md | 10 +++++----- docs/fr/github-actions.md | 2 +- docs/fr/laravel.md | 2 +- docs/fr/mercure.md | 2 +- docs/fr/production.md | 14 ++++++-------- docs/fr/static.md | 4 ++-- docs/fr/worker.md | 2 +- 13 files changed, 38 insertions(+), 41 deletions(-) diff --git a/docs/fr/CONTRIBUTING.md b/docs/fr/CONTRIBUTING.md index b2b5b1fd9a..4b33a2a5bb 100644 --- a/docs/fr/CONTRIBUTING.md +++ b/docs/fr/CONTRIBUTING.md @@ -82,7 +82,7 @@ curl -v http://127.0.0.1:8080/phpinfo.php ## Construction d'images Docker localement -Imprimer le plan de construction : +Afficher le plan de compilation : ```console docker buildx bake -f docker-bake.hcl --print diff --git a/docs/fr/README.md b/docs/fr/README.md index a3500e3832..280ea34c85 100644 --- a/docs/fr/README.md +++ b/docs/fr/README.md @@ -1,16 +1,16 @@ -# FrankenPHP : Serveur d'applications moderne pour PHP +# FrankenPHP : Le serveur d'applications PHP moderne, écrit en Go -

FrankenPHP

+

FrankenPHP

FrankenPHP est un serveur d'applications moderne pour PHP construit sur la base du serveur web [Caddy](https://caddyserver.com/). -FrankenPHP confère des super pouvoirs à vos applications PHP grâce à ses fonctionnalités étonnantes : [*Early Hints*](https://frankenphp.dev/docs/early-hints/), [mode worker](https://frankenphp.dev/docs/worker/), [capacités en temps réel](https://frankenphp.dev/docs/mercure/), HTTPS automatique, prise en charge de HTTP/2 et HTTP/3... +FrankenPHP apporte de la puissance à vos applications PHP grâce à des fonctionnalités de pointe : [*Early Hints*](https://frankenphp.dev/docs/early-hints/), [mode worker](https://frankenphp.dev/docs/worker/), [fonctionnalités en temps réel](https://frankenphp.dev/docs/mercure/), HTTPS automatique, prise en charge de HTTP/2 et HTTP/3... FrankenPHP fonctionne avec n'importe quelle application PHP et rend vos projets Symfony plus rapides que jamais grâce à l'intégration fournie avec le mode worker. FrankenPHP peut également être utilisé comme une bibliothèque Go autonome pour intégrer PHP dans n'importe quelle application en utilisant `net/http`. -Vous pouvez découvrir plus en détails ce serveur d’application sur ce replay du Forum PHP 2022 : +Découvrez plus de détails sur ce serveur d’application dans le replay de cette conférence donnée au Forum PHP 2022 : Diapositives @@ -24,7 +24,7 @@ docker run -v $PWD:/app/public \ dunglas/frankenphp ``` -Allez sur `https://localhost`, et profitez ! +Rendez-vous sur `https://localhost`, c'est parti ! > [!TIP] > @@ -36,7 +36,7 @@ Allez sur `https://localhost`, et profitez ! Si vous préférez ne pas utiliser Docker, nous fournissons des binaires autonomes de FrankenPHP pour Linux et macOS contenant [PHP 8.3](https://www.php.net/releases/8.3/fr.php) et la plupart des extensions PHP populaires : [Télécharger FrankenPHP](https://github.com/dunglas/frankenphp/releases) -Pour servir le contenu du répertoire courant, exécutez : +Pour servir le contenu du répertoire, exécutez : ```console ./frankenphp php-server @@ -74,4 +74,4 @@ Vous pouvez également exécuter des scripts en ligne de commande avec : * [WordPress](https://github.com/dunglas/frankenphp-wordpress) * [Drupal](https://github.com/dunglas/frankenphp-drupal) * [Joomla](https://github.com/alexandreelise/frankenphp-joomla) -* [TYPO3](https://github.com/ochorocho/franken-typo3) +* [TYPO3](https://github.com/ochorocho/franken-typo3) \ No newline at end of file diff --git a/docs/fr/compile.md b/docs/fr/compile.md index e556c775e8..85d2f44010 100644 --- a/docs/fr/compile.md +++ b/docs/fr/compile.md @@ -15,7 +15,7 @@ tar xf php-* cd php-*/ ``` -Ensuite, configurez PHP pour votre plateforme : +Ensuite, configurez PHP pour votre système d'exploitation : ### Linux @@ -92,7 +92,7 @@ xcaddy build \ > [!TIP] > -> Si vous utilisez musl libc (le défaut sur Alpine Linux) et Symfony, +> Si vous utilisez musl libc (la bibliothèque par défaut sur Alpine Linux) et Symfony, > vous pourriez avoir besoin d'augmenter la taille par défaut de la pile. > Sinon, vous pourriez rencontrer des erreurs telles que `PHP Fatal error: Maximum call stack size of 83360 bytes reached during compilation. Try splitting expression` > diff --git a/docs/fr/config.md b/docs/fr/config.md index 0918f1c3f0..6ead57911a 100644 --- a/docs/fr/config.md +++ b/docs/fr/config.md @@ -21,7 +21,7 @@ RUN cp $PHP_INI_DIR/php.ini-production $PHP_INI_DIR/php.ini ## Configuration du Caddyfile -Pour enregistrer l'exécuteur FrankenPHP, l'[option globale](https://caddyserver.com/docs/caddyfile/concepts#global-options) `frankenphp` doit être définie, puis les [directives HTTP](https://caddyserver.com/docs/caddyfile/concepts#directives) `php_server` ou `php` peuvent être utilisées dans les blocs du site pour servir votre application PHP. +Pour enregistrer l'exécutable de FrankenPHP, l'[option globale](https://caddyserver.com/docs/caddyfile/concepts#global-options) `frankenphp` doit être définie, puis les [directives HTTP](https://caddyserver.com/docs/caddyfile/concepts#directives) `php_server` ou `php` peuvent être utilisées dans les blocs du site pour servir votre application PHP. Exemple minimal : @@ -93,7 +93,7 @@ other.example.com { ``` L'utilisation de la directive php_server est généralement suffisante, -mais si vous avez besoin d'un contrôle total, vous pouvez utiliser la directive de niveau inférieur php : +mais si vous avez besoin d'un contrôle total, vous pouvez utiliser la directive de niveau inférieur php. Utiliser la directive php_server est équivalent à cette configuration : @@ -132,20 +132,19 @@ php_server [] { ## Variables d'environnement -Les variables d'environnement suivantes peuvent être utilisées pour injecter des directives Caddy dans le Caddyfile sans le modifier : +Les variables d'environnement suivantes peuvent être utilisées pour insérer des directives Caddy dans le `Caddyfile` sans le modifier : * `SERVER_NAME` : change [les adresses sur lesquelles écouter](https://caddyserver.com/docs/caddyfile/concepts#addresses), les noms d'hôte fournis seront également utilisés pour le certificat TLS généré * `CADDY_GLOBAL_OPTIONS` : injecte [des options globales](https://caddyserver.com/docs/caddyfile/options) -* `FRANKENPHP_CONFIG` : injecte la configuration sous la directive `frankenphp` +* `FRANKENPHP_CONFIG` : insère la configuration sous la directive `frankenphp` Contrairement aux SAPI FPM et CLI, les variables d'environnement ne sont **pas** exposées par défaut dans les superglobales `$_SERVER` et `$_ENV`. -Pour propager les variables d'environnement vers `$_SERVER` et `$_ENV`, définissez la directive `variables_order` de `php.ini` sur `EGPCS`. +Pour propager les variables d'environnement vers `$_SERVER` et `$_ENV`, configurez la directive `variables_order` de `php.ini` sur `EGPCS`. ## Configuration PHP -Pour charger [des fichiers de configuration PHP supplémentaires](https://www.php.net/manual/fr/configuration.file.php#configuration.file.scan), -la variable d'environnement `PHP_INI_SCAN_DIR` peut être utilisée. +Pour charger [des fichiers de configuration PHP supplémentaires](https://www.php.net/manual/fr/configuration.file.php#configuration.file.scan), la variable d'environnement `PHP_INI_SCAN_DIR` peut être utilisée. Lorsqu'elle est définie, PHP chargera tous les fichiers avec l'extension `.ini` présents dans les répertoires donnés. ## Activer le mode Debug diff --git a/docs/fr/docker.md b/docs/fr/docker.md index 44f4330cf7..abb8c17364 100644 --- a/docs/fr/docker.md +++ b/docs/fr/docker.md @@ -21,7 +21,7 @@ docker run -it --rm --name my-running-app my-php-app ## Comment installer plus d'extensions PHP Le script [`docker-php-extension-installer`](https://github.com/mlocati/docker-php-extension-installer) est fourni dans l'image de base. -Ajouter des extensions PHP supplémentaires est simple : +Il est facile d'ajouter des extensions PHP supplémentaires : ```dockerfile FROM dunglas/frankenphp @@ -87,7 +87,7 @@ ENV FRANKENPHP_CONFIG="worker ./public/index.php" ## Utiliser un volume en développement -Pour développer facilement avec FrankenPHP, montez le répertoire de votre hôte contenant le code source de l'application comme un volume dans le conteneur Docker : +Pour développer facilement avec FrankenPHP, montez le répertoire de l'hôte contenant le code source de l'application comme un volume dans le conteneur Docker : ```console docker run -v $PWD:/app/public -p 80:80 -p 443:443 -p 443:443/udp --tty my-php-app @@ -107,7 +107,7 @@ services: image: dunglas/frankenphp # décommentez la ligne suivante si vous souhaitez utiliser un Dockerfile personnalisé #build: . - # décommentez la ligne suivante si vous souhaitez exécuter cela dans un environnement de production + # décommentez la ligne suivante si vous souhaitez exécuter ceci dans un environnement de production # restart: always ports: - "80:80" # HTTP @@ -130,7 +130,7 @@ volumes: FrankenPHP peut s'exécuter en tant qu'utilisateur non root dans Docker. -Voici un exemple de `Dockerfile` qui le fait : +Voici un exemple de `Dockerfile` le permettant : ```dockerfile FROM dunglas/frankenphp diff --git a/docs/fr/early-hints.md b/docs/fr/early-hints.md index 7d57246fc6..2a1ac9107f 100644 --- a/docs/fr/early-hints.md +++ b/docs/fr/early-hints.md @@ -18,4 +18,4 @@ echo <<<'HTML' HTML; ``` -Les Early Hints sont pris en charge à la fois par les modes normal et [worker](worker.md). +Les Early Hints sont pris en charge à la fois par les modes "standard" et [worker](worker.md). diff --git a/docs/fr/embed.md b/docs/fr/embed.md index b9cc67529d..b41b8bf05f 100644 --- a/docs/fr/embed.md +++ b/docs/fr/embed.md @@ -8,7 +8,7 @@ Pour en savoir plus sur cette fonctionnalité, consultez [la présentation faite ## Préparer Votre Application -Avant de créer le binaire autonome, assurez-vous que votre application est prête pour l'incorporation. +Avant de créer le binaire autonome, assurez-vous que votre application est prête à être intégrée. Par exemple, vous voudrez probablement : @@ -83,7 +83,7 @@ EMBED=/path/to/your/app \ ./build-static.sh ``` -Le binaire résultant est le fichier nommé `frankenphp--` dans le répertoire `dist/`. +Le binaire obtenu est le fichier nommé `frankenphp--` dans le répertoire `dist/`. ## Utiliser le Binaire @@ -95,7 +95,7 @@ Pour démarrer l'application web, exécutez : ./my-app php-server ``` -Si votre application contient un [script de travailleur](worker.md), démarrez le travailleur avec quelque chose comme : +Si votre application contient un [script worker](worker.md), démarrez le worker avec quelque chose comme : ```console ./my-app php-server --worker public/index.php @@ -113,9 +113,9 @@ Vous pouvez également exécuter les scripts CLI PHP incorporés dans votre bina ./my-app php-cli bin/console ``` -## Personnaliser la Construction +## Personnaliser la compilation -[Consultez la documentation sur la construction statique](static.md) pour voir comment personnaliser le binaire (extensions, version PHP...). +[Consultez la documentation sur la compilation statique](static.md) pour voir comment personnaliser le binaire (extensions, version PHP...). ## Distribuer le Binaire diff --git a/docs/fr/github-actions.md b/docs/fr/github-actions.md index 64db5f4769..9f308b7d5c 100644 --- a/docs/fr/github-actions.md +++ b/docs/fr/github-actions.md @@ -27,5 +27,5 @@ Dans les paramètres du dépôt, sous secrets, ajoutez les secrets suivants : 1. Créez un nouveau tag dans le dépôt. 2. GitHub Actions va construire l'image et exécuter tous les tests. -3. Si la construction est réussie, l'image sera poussée vers le registre en utilisant le nom du tag comme tag (par exemple, `v1.2.3` et `v1.2` seront créés). +3. Si la compilation est réussie, l'image sera poussée vers le registre en utilisant le nom du tag comme tag (par exemple, `v1.2.3` et `v1.2` seront créés). 4. Le tag `latest` sera également mis à jour. diff --git a/docs/fr/laravel.md b/docs/fr/laravel.md index 12e8faa47c..2822ef944a 100644 --- a/docs/fr/laravel.md +++ b/docs/fr/laravel.md @@ -2,7 +2,7 @@ ## Docker -Servir une application web [Laravel](https://laravel.com) avec FrankenPHP est aussi simple que de monter le projet dans le répertoire `/app` de l'image Docker officielle. +Déployer une application web [Laravel](https://laravel.com) avec FrankenPHP est aussi facile que de monter le projet dans le répertoire `/app` de l'image Docker officielle. Exécutez cette commande depuis le répertoire principal de votre application Laravel : diff --git a/docs/fr/mercure.md b/docs/fr/mercure.md index 9437e42ab2..0af9f0f2f4 100644 --- a/docs/fr/mercure.md +++ b/docs/fr/mercure.md @@ -1,6 +1,6 @@ # Temps Réel -FrankenPHP est livré avec un hub Mercure intégré ! +FrankenPHP est livré avec un hub Mercure intégré. Mercure permet de pousser des événements en temps réel vers tous les appareils connectés : ils recevront un événement JavaScript instantanément. Aucune bibliothèque JS ou SDK requis ! diff --git a/docs/fr/production.md b/docs/fr/production.md index 26d3ce6153..3b963be43c 100644 --- a/docs/fr/production.md +++ b/docs/fr/production.md @@ -1,8 +1,8 @@ # Déploiement en Production -Dans ce tutoriel, nous allons apprendre à déployer une application PHP sur un serveur unique en utilisant Docker Compose. +Dans ce tutoriel, nous apprendrons comment déployer une application PHP sur un serveur unique en utilisant Docker Compose. -Si vous utilisez Symfony, préférez lire l'entrée de documentation "[Déployer en production](https://github.com/dunglas/symfony-docker/blob/main/docs/production.md)" du projet Symfony Docker (qui utilise FrankenPHP). +Si vous utilisez Symfony, lisez plutôt la page de documentation "[Déployer en production](https://github.com/dunglas/symfony-docker/blob/main/docs/production.md)" du projet Symfony Docker (qui utilise FrankenPHP). Si vous utilisez API Platform (qui utilise également FrankenPHP), référez-vous à [la documentation de déploiement du framework](https://api-platform.com/docs/deployment/). @@ -30,8 +30,7 @@ COPY . /app/public Consultez "[Construire une image Docker personnalisée](docker.md)" pour plus de détails et d'options, et pour apprendre à personnaliser la configuration, installer des extensions PHP et des modules Caddy. -Si votre projet utilise Composer, -assurez-vous de l'inclure dans l'image Docker et d'installer vos dépendances. +Si votre projet utilise Composer, assurez-vous de l'inclure dans l'image Docker et d'installer vos dépendances. Ensuite, ajoutez un fichier `compose.yaml` : @@ -62,7 +61,7 @@ volumes: > (qui utilise FrankenPHP) pour un exemple plus avancé utilisant des images multi-étapes, > Composer, des extensions PHP supplémentaires, etc. -Finally, if you use Git, commit these files and push. +Pour finir, si vous utilisez Git, commitez ces fichiers et poussez-les. ## Préparer un serveur @@ -70,7 +69,7 @@ Pour déployer votre application en production, vous avez besoin d'un serveur. Dans ce tutoriel, nous utiliserons une machine virtuelle fournie par DigitalOcean, mais n'importe quel serveur Linux peut fonctionner. Si vous avez déjà un serveur Linux avec Docker installé, vous pouvez passer directement à [la section suivante](#configurer-un-nom-de-domaine). -Sinon, utilisez [ce lien affilié](https://m.do.co/c/5d8aabe3ab80) pour obtenir 200 $ de crédit gratuit, créez un compte, puis cliquez sur "Créer un Droplet". +Sinon, utilisez [ce lien affilié](https://m.do.co/c/5d8aabe3ab80) pour obtenir 200$ de crédit gratuit, créez un compte, puis cliquez sur "Créer un Droplet". Ensuite, cliquez sur l'onglet "Marketplace" sous la section "Choisir une image" et recherchez l'application nommée "Docker". Cela provisionnera un serveur Ubuntu avec les dernières versions de Docker et Docker Compose déjà installées ! @@ -135,7 +134,6 @@ Rendez-vous sur `https://your-domain-name.example.com` et profitez-en ! ## Déploiement sur Plusieurs Nœuds -Si vous souhaitez déployer votre application sur un cluster de machines, vous pouvez utiliser [Docker Swarm](https://docs.docker.com/engine/swarm/stack-deploy/), -qui est compatible avec les fichiers Compose fournis. +Si vous souhaitez déployer votre application sur un cluster de machines, vous pouvez utiliser [Docker Swarm](https://docs.docker.com/engine/swarm/stack-deploy/), qui est compatible avec les fichiers Compose fournis. Pour un déploiement sur Kubernetes, jetez un œil au [Helm chart fourni avec API Platform](https://api-platform.com/docs/deployment/kubernetes/), qui peut être facilement adapté pour une utilisation avec Symfony Docker. diff --git a/docs/fr/static.md b/docs/fr/static.md index 1b08c578de..71cd90f9ef 100644 --- a/docs/fr/static.md +++ b/docs/fr/static.md @@ -1,6 +1,6 @@ # Créer un Build Statique -Au lieu d'utiliser une installation locale de la bibliothèque PHP, il est possible de créer un build statique de FrankenPHP grâce au formidable projet [static-php-cli](https://github.com/crazywhalecc/static-php-cli) (malgré son nom, ce projet prend en charge tous les SAPIs, pas seulement CLI). +Au lieu d'utiliser une installation locale de la bibliothèque PHP, il est possible de créer un build statique de FrankenPHP grâce à l'excellent projet [static-php-cli](https://github.com/crazywhalecc/static-php-cli) (malgré son nom, ce projet prend en charge tous les SAPIs, pas seulement CLI). Avec cette méthode, un binaire portable unique contiendra l'interpréteur PHP, le serveur web Caddy et FrankenPHP ! @@ -15,7 +15,7 @@ docker buildx bake --load static-builder docker cp $(docker create --name static-builder dunglas/frankenphp:static-builder):/go/src/app/dist/frankenphp-linux-$(uname -m) frankenphp ; docker rm static-builder ``` -Le binaire statique résultant est nommé frankenphp et est disponible dans le répertoire courant. +Le binaire statique résultant est nommé frankenphp, et il est disponible dans le répertoire courant. Si vous souhaitez construire le binaire statique sans Docker, regardez les instructions pour macOS, qui fonctionnent également pour Linux. diff --git a/docs/fr/worker.md b/docs/fr/worker.md index 663ffab767..baa9dd51d7 100644 --- a/docs/fr/worker.md +++ b/docs/fr/worker.md @@ -66,7 +66,7 @@ require __DIR__.'/vendor/autoload.php'; $myApp = new \App\Kernel(); $myApp->boot(); -// Gestionnaire en dehors de la boucle pour de meilleures performances (réaliser moins de travail) +// Gestionnaire en dehors de la boucle pour de meilleures performances (moins de travail effectué) $handler = static function () use ($myApp) { // Appelé lorsqu'une requête est reçue, // les superglobales, php://input, etc., sont réinitialisés From 514f847abab1c5dcadb7d50a86ebf059fe8a052f Mon Sep 17 00:00:00 2001 From: ginifizz Date: Thu, 22 Feb 2024 14:18:47 +0100 Subject: [PATCH 3/6] fix: linter --- docs/fr/CONTRIBUTING.md | 7 ++- docs/fr/README.md | 4 +- docs/fr/config.md | 96 ++++++++++++++++++++--------------------- docs/fr/docker.md | 31 ++++++------- docs/fr/embed.md | 2 +- docs/fr/known-issues.md | 3 +- docs/fr/laravel.md | 18 ++++---- docs/fr/production.md | 3 -- docs/fr/static.md | 4 +- docs/fr/worker.md | 1 - 10 files changed, 81 insertions(+), 88 deletions(-) diff --git a/docs/fr/CONTRIBUTING.md b/docs/fr/CONTRIBUTING.md index 4b33a2a5bb..45c4d0237d 100644 --- a/docs/fr/CONTRIBUTING.md +++ b/docs/fr/CONTRIBUTING.md @@ -15,7 +15,6 @@ L'image contient les outils de développement habituels (Go, GDB, Valgrind, Neov Si la version de Docker est inférieure à 23.0, la construction échoue à cause d'un [problème de pattern](https://github.com/moby/moby/pull/42676) dans `.dockerignore`. Ajoutez les répertoires à `.dockerignore`. - ```patch !testdata/*.php !testdata/*.txt @@ -139,8 +138,8 @@ docker buildx bake -f docker-bake.hcl --pull --no-cache --push 6. Activer `cgosymbolizer` ```patch - - //_ "github.com/ianlancetaylor/cgosymbolizer" - + _ "github.com/ianlancetaylor/cgosymbolizer" + - //_ "github.com/ianlancetaylor/cgosymbolizer" + + _ "github.com/ianlancetaylor/cgosymbolizer" ``` 7. Télécharger le module : `go get` @@ -170,7 +169,7 @@ docker buildx bake -f docker-bake.hcl --pull --no-cache --push * [Définition du fichier Bake](https://docs.docker.com/build/customize/bake/file-definition/) * [docker buildx build](https://docs.docker.com/engine/reference/commandline/buildx_build/) -## Commande utile +## Commande utile ```console apk add strace util-linux gdb diff --git a/docs/fr/README.md b/docs/fr/README.md index 280ea34c85..c78c0ecd96 100644 --- a/docs/fr/README.md +++ b/docs/fr/README.md @@ -29,7 +29,7 @@ Rendez-vous sur `https://localhost`, c'est parti ! > [!TIP] > > Ne tentez pas d'utiliser `https://127.0.0.1`. Utilisez localhost et acceptez le certificat auto-signé. -> Utilisez [ la variable d'environnement `SERVER_NAME`](docs/config.md#environment-variables) pour changer le domaine à utiliser. +> Utilisez [la variable d'environnement `SERVER_NAME`](docs/config.md#environment-variables) pour changer le domaine à utiliser. ### Binaire autonome @@ -74,4 +74,4 @@ Vous pouvez également exécuter des scripts en ligne de commande avec : * [WordPress](https://github.com/dunglas/frankenphp-wordpress) * [Drupal](https://github.com/dunglas/frankenphp-drupal) * [Joomla](https://github.com/alexandreelise/frankenphp-joomla) -* [TYPO3](https://github.com/ochorocho/franken-typo3) \ No newline at end of file +* [TYPO3](https://github.com/ochorocho/franken-typo3) diff --git a/docs/fr/config.md b/docs/fr/config.md index 6ead57911a..d42313baed 100644 --- a/docs/fr/config.md +++ b/docs/fr/config.md @@ -8,7 +8,6 @@ Vous pouvez également configurer PHP en utilisant `php.ini` comme d'habitude. Dans l'image Docker, le fichier `php.ini` n'est pas présent, vous pouvez le créer ou le `COPY` manuellement : - ```dockerfile FROM dunglas/frankenphp @@ -27,17 +26,17 @@ Exemple minimal : ```caddyfile { - # Autoriser FrankenPHP - frankenphp - # Configurer l'ordre d'exécution de la directive - order php_server before file_server + # Autoriser FrankenPHP + frankenphp + # Configurer l'ordre d'exécution de la directive + order php_server before file_server } localhost { - # Autoriser la compression (optionnel) - encode zstd br gzip - # Exécuter les fichiers PHP dans le répertoire courant et servir les ressources - php_server + # Autoriser la compression (optionnel) + encode zstd br gzip + # Exécuter les fichiers PHP dans le répertoire courant et servir les ressources + php_server } ``` @@ -45,14 +44,14 @@ En option, le nombre de threads à créer et les [scripts de travail](worker.md ```caddyfile { - frankenphp { - num_threads # Définit le nombre de threads PHP à démarrer. Par défaut : 2x le nombre de CPUs disponibles. - worker { - file # Définit le chemin vers le script de travail. - num # Définit le nombre de threads PHP à démarrer, par défaut 2x le nombre de CPUs disponibles. - env # Définit une variable d'environnement supplémentaire à la valeur donnée. Peut être spécifié plusieurs fois pour plusieurs variables d'environnement. - } - } + frankenphp { + num_threads # Définit le nombre de threads PHP à démarrer. Par défaut : 2x le nombre de CPUs disponibles. + worker { + file # Définit le chemin vers le script de travail. + num # Définit le nombre de threads PHP à démarrer, par défaut 2x le nombre de CPUs disponibles. + env # Définit une variable d'environnement supplémentaire à la valeur donnée. Peut être spécifié plusieurs fois pour plusieurs variables d'environnement. + } + } } # ... @@ -62,9 +61,9 @@ Vous pouvez également utiliser la forme courte de l'option worker en une seule ```caddyfile { - frankenphp { - worker - } + frankenphp { + worker + } } # ... @@ -74,20 +73,20 @@ Vous pouvez aussi définir plusieurs workers si vous servez plusieurs applicatio ```caddyfile { - frankenphp { - worker /path/to/app/public/index.php - worker /path/to/other/public/index.php - } + frankenphp { + worker /path/to/app/public/index.php + worker /path/to/other/public/index.php + } } app.example.com { - root * /path/to/app/public - php_server + root * /path/to/app/public + php_server } other.example.com { - root * /path/to/other/public - php_server + root * /path/to/other/public + php_server } ... ``` @@ -99,22 +98,22 @@ Utiliser la directive php_server est équivalent à cette configuration : ```caddyfile route { - # Ajoute un slash final pour les requêtes de répertoire - @canonicalPath { - file {path}/index.php - not path */ - } - redir @canonicalPath {path}/ 308 - # Si le fichier demandé n'existe pas, essayer les fichiers index - @indexFiles file { - try_files {path} {path}/index.php index.php - split_path .php - } - rewrite @indexFiles {http.matchers.file.relative} - # FrankenPHP! - @phpFiles path *.php - php @phpFiles - file_server + # Ajoute un slash final pour les requêtes de répertoire + @canonicalPath { + file {path}/index.php + not path */ + } + redir @canonicalPath {path}/ 308 + # Si le fichier demandé n'existe pas, essayer les fichiers index + @indexFiles file { + try_files {path} {path}/index.php index.php + split_path .php + } + rewrite @indexFiles {http.matchers.file.relative} + # FrankenPHP! + @phpFiles path *.php + php @phpFiles + file_server } ``` @@ -122,14 +121,13 @@ Les directives php_server et php disposent des options suivantes : ```caddyfile php_server [] { - root # Définit le dossier racine pour le site. Par défaut : directive `root`. - split_path # Définit les sous-chaînes pour diviser l'URI en deux parties. La première sous-chaîne correspondante sera utilisée pour séparer le "path info" du chemin. La première partie est suffixée avec la sous-chaîne correspondante et sera considérée comme le nom réel de la ressource (script CGI). La seconde partie sera définie comme PATH_INFO pour que le script CGI l'utilise. Par défaut : `.php` - resolve_root_symlink false # Désactive la résolution du répertoire `root` vers sa valeur réelle en évaluant un lien symbolique, s'il existe (activé par défaut). - env # Définit une variable d'environnement supplémentaire à la valeur donnée. Peut être spécifié plusieurs fois pour plusieurs variables d'environnement. + root # Définit le dossier racine pour le site. Par défaut : directive `root`. + split_path # Définit les sous-chaînes pour diviser l'URI en deux parties. La première sous-chaîne correspondante sera utilisée pour séparer le "path info" du chemin. La première partie est suffixée avec la sous-chaîne correspondante et sera considérée comme le nom réel de la ressource (script CGI). La seconde partie sera définie comme PATH_INFO pour que le script CGI l'utilise. Par défaut : `.php` + resolve_root_symlink false # Désactive la résolution du répertoire `root` vers sa valeur réelle en évaluant un lien symbolique, s'il existe (activé par défaut). + env # Définit une variable d'environnement supplémentaire à la valeur donnée. Peut être spécifié plusieurs fois pour plusieurs variables d'environnement. } ``` - ## Variables d'environnement Les variables d'environnement suivantes peuvent être utilisées pour insérer des directives Caddy dans le `Caddyfile` sans le modifier : diff --git a/docs/fr/docker.md b/docs/fr/docker.md index abb8c17364..316da2ba85 100644 --- a/docs/fr/docker.md +++ b/docs/fr/docker.md @@ -5,6 +5,7 @@ Les images Docker de [FrankenPHP](https://hub.docker.com/r/dunglas/frankenphp) s ## Comment utiliser les images Créez un `Dockerfile` dans votre projet : + ```dockerfile FROM dunglas/frankenphp @@ -28,11 +29,11 @@ FROM dunglas/frankenphp # ajoutez des extensions supplémentaires ici : RUN install-php-extensions \ - pdo_mysql \ - gd \ - intl \ - zip \ - opcache + pdo_mysql \ + gd \ + intl \ + zip \ + opcache ``` ## Comment installer plus de modules Caddy @@ -50,9 +51,9 @@ COPY --from=caddy:builder /usr/bin/xcaddy /usr/bin/xcaddy # CGO doit être activé pour construire FrankenPHP ENV CGO_ENABLED=1 XCADDY_SETCAP=1 XCADDY_GO_BUILD_FLAGS="-ldflags '-w -s'" RUN xcaddy build \ - --output /usr/local/bin/frankenphp \ - --with github.com/dunglas/frankenphp=./ \ - --with github.com/dunglas/frankenphp/caddy=./caddy/ \ + --output /usr/local/bin/frankenphp \ + --with github.com/dunglas/frankenphp=./ \ + --with github.com/dunglas/frankenphp/caddy=./caddy/ \ # Mercure et Vulcain sont inclus dans la construction officielle, mais n'hésitez pas à les retirer --with github.com/dunglas/mercure/caddy \ --with github.com/dunglas/vulcain/caddy @@ -138,12 +139,12 @@ FROM dunglas/frankenphp ARG USER=www-data RUN \ - # Utilisez "adduser -D ${USER}" pour les distributions basées sur Alpine - useradd -D ${USER}; \ - # Ajouter la capacité supplémentaire de se lier aux ports 80 et 443 - setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/frankenphp; \ - # Donner l'accès en écriture à /data/caddy et /config/caddy - chown -R ${USER}:${USER} /data/caddy && chown -R ${USER}:${USER} /config/caddy; + # Utilisez "adduser -D ${USER}" pour les distributions basées sur Alpine + useradd -D ${USER}; \ + # Ajouter la capacité supplémentaire de se lier aux ports 80 et 443 + setcap CAP_NET_BIND_SERVICE=+eip /usr/local/bin/frankenphp; \ + # Donner l'accès en écriture à /data/caddy et /config/caddy + chown -R ${USER}:${USER} /data/caddy && chown -R ${USER}:${USER} /config/caddy; USER ${USER} ``` @@ -155,7 +156,7 @@ Les images Docker sont construites : * lorsqu'une nouvelle version est taguée * tous les jours à 4h UTC, si de nouvelles versions des images officielles PHP sont disponibles -# Versions de Développement +## Versions de Développement Les versions de développement sont disponibles dans le dépôt Docker [`dunglas/frankenphp-dev`](https://hub.docker.com/repository/docker/dunglas/frankenphp-dev). Un nouveau build est déclenché chaque fois qu'un commit est poussé sur la branche principale du dépôt GitHub. diff --git a/docs/fr/embed.md b/docs/fr/embed.md index b41b8bf05f..42b7f14f9c 100644 --- a/docs/fr/embed.md +++ b/docs/fr/embed.md @@ -119,7 +119,7 @@ Vous pouvez également exécuter les scripts CLI PHP incorporés dans votre bina ## Distribuer le Binaire -Le binaire créé n'est pas compressé. +Le binaire créé n'est pas compressé. Pour réduire la taille du fichier avant de l'envoyer, vous pouvez le compresser. Nous recommandons `xz`. diff --git a/docs/fr/known-issues.md b/docs/fr/known-issues.md index 048a1ef7d6..fb45136dbd 100644 --- a/docs/fr/known-issues.md +++ b/docs/fr/known-issues.md @@ -30,7 +30,7 @@ echo $fiber->resume(); $fiber->resume(); ``` -# Extensions PHP non prises en charge +## Extensions PHP non prises en charge Les extensions suivantes sont connues pour ne pas être compatibles avec FrankenPHP : @@ -72,7 +72,6 @@ Exécutez la commande `docker network inspect bridge` et regardez la clé `Conta Ensuite, incluez ceci dans la variable d'environnement `SERVER_NAME` : - ```console docker run \ -e SERVER_NAME="127.0.0.1, 172.17.0.3" \ diff --git a/docs/fr/laravel.md b/docs/fr/laravel.md index 2822ef944a..f7b6f0e862 100644 --- a/docs/fr/laravel.md +++ b/docs/fr/laravel.md @@ -19,20 +19,20 @@ Vous pouvez également exécuter vos projets Laravel avec FrankenPHP depuis votr 1. [Téléchargez le binaire correspondant à votre système](https://github.com/dunglas/frankenphp/releases) 2. Ajoutez la configuration suivante à un fichier nommé `Caddyfile` dans le répertoire racine de votre projet Laravel : - ```caddyfile + ```caddyfile { - frankenphp - order php_server before file_server + frankenphp + order php_server before file_server } # Le nom de domaine de votre serveur localhost { - # Définir le répertoire racine sur le dossier public/ - root * public/ - # Autoriser la compression (optionnel) - encode zstd br gzip - # Exécuter les fichiers PHP dans le répertoire courant et servir les ressources - php_server + # Définir le répertoire racine sur le dossier public/ + root * public/ + # Autoriser la compression (optionnel) + encode zstd br gzip + # Exécuter les fichiers PHP dans le répertoire courant et servir les ressources + php_server } ``` diff --git a/docs/fr/production.md b/docs/fr/production.md index 3b963be43c..12b7a7f204 100644 --- a/docs/fr/production.md +++ b/docs/fr/production.md @@ -114,14 +114,12 @@ Les clés de déploiement sont également [prises en charge par GitLab](https:// Exemple avec Git : - ```console git clone git@github.com:/.git ``` Accédez au répertoire contenant votre projet (``), et démarrez l'application en mode production : - ```console docker compose up -d --wait ``` @@ -136,4 +134,3 @@ Rendez-vous sur `https://your-domain-name.example.com` et profitez-en ! Si vous souhaitez déployer votre application sur un cluster de machines, vous pouvez utiliser [Docker Swarm](https://docs.docker.com/engine/swarm/stack-deploy/), qui est compatible avec les fichiers Compose fournis. Pour un déploiement sur Kubernetes, jetez un œil au [Helm chart fourni avec API Platform](https://api-platform.com/docs/deployment/kubernetes/), qui peut être facilement adapté pour une utilisation avec Symfony Docker. - diff --git a/docs/fr/static.md b/docs/fr/static.md index 71cd90f9ef..9800515978 100644 --- a/docs/fr/static.md +++ b/docs/fr/static.md @@ -42,7 +42,7 @@ docker buildx bake \ static-builder ``` -Voir aussi : [personnaliser la construction](#customizing-the-build) +Voir aussi : [personnaliser la construction](#personnalisation-de-la-construction) ### Jeton GitHub @@ -76,4 +76,4 @@ Les variables d'environnement suivantes peuvent être transmises à `docker buil * `EMBED` : chemin de l'application PHP à intégrer dans le binaire * `CLEAN` : lorsqu'il est défini, libphp et toutes ses dépendances sont construites à partir de zéro (pas de cache) * `DEBUG_SYMBOLS` : lorsqu'il est défini, les symboles de débogage ne seront pas supprimés et seront ajoutés dans le binaire -* `RELEASE` : (uniquement pour les mainteneurs) lorsqu'elle est définie, le binaire résultant sera téléchargé sur GitHub \ No newline at end of file +* `RELEASE` : (uniquement pour les mainteneurs) lorsqu'elle est définie, le binaire résultant sera téléchargé sur GitHub diff --git a/docs/fr/worker.md b/docs/fr/worker.md index baa9dd51d7..8bfbee1cf1 100644 --- a/docs/fr/worker.md +++ b/docs/fr/worker.md @@ -113,4 +113,3 @@ Comme PHP n'a pas été initialement conçu pour des processus de longue durée, Une solution pour utiliser ce type de code en mode worker est de redémarrer le script worker après avoir traité un certain nombre de requêtes : L'extrait de worker précédent permet de configurer un nombre maximal de requêtes à traiter en définissant une variable d'environnement nommée `MAX_REQUESTS`. - From fbdd37114c1faaf0229387e12a6c5f8ad350349f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A9vin=20Dunglas?= Date: Tue, 27 Feb 2024 15:02:41 +0100 Subject: [PATCH 4/6] docs: various improvements --- README.md | 2 +- docs/config.md | 11 ++++++----- docs/docker.md | 10 ++++++---- docs/embed.md | 8 ++++---- docs/fr/CONTRIBUTING.md | 12 ++++++------ docs/fr/README.md | 28 +++++++++++++------------- docs/fr/compile.md | 4 ++-- docs/fr/config.md | 41 ++++++++++++++++++++------------------- docs/fr/docker.md | 37 ++++++++++++++++++----------------- docs/fr/embed.md | 32 ++++++++++++++++-------------- docs/fr/github-actions.md | 8 ++++---- docs/fr/known-issues.md | 36 +++++++++++++++++----------------- docs/fr/laravel.md | 7 ++++--- docs/fr/mercure.md | 2 +- docs/fr/production.md | 16 +++++++-------- docs/fr/static.md | 22 ++++++++++----------- docs/fr/worker.md | 24 +++++++++++++---------- docs/github-actions.md | 8 ++++---- docs/known-issues.md | 2 +- docs/laravel.md | 4 ++-- docs/mercure.md | 2 +- docs/production.md | 4 ++-- docs/static.md | 4 ++-- docs/worker.md | 7 ++++++- 24 files changed, 174 insertions(+), 157 deletions(-) diff --git a/README.md b/README.md index 696e6ee3ae..93a60dac77 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ FrankenPHP is a modern application server for PHP built on top of the [Caddy](ht FrankenPHP gives superpowers to your PHP apps thanks to its stunning features: [*Early Hints*](https://frankenphp.dev/docs/early-hints/), [worker mode](https://frankenphp.dev/docs/worker/), [real-time capabilities](https://frankenphp.dev/docs/mercure/), automatic HTTPS, HTTP/2, and HTTP/3 support... -FrankenPHP works with any PHP app and makes your Symfony and Laravel projects faster than ever thanks to the provided integration with the worker mode. +FrankenPHP works with any PHP app and makes your Laravel and Symfony projects faster than ever thanks to their official integrations with the worker mode. FrankenPHP can also be used as a standalone Go library to embed PHP in any app using `net/http`. diff --git a/docs/config.md b/docs/config.md index 4b1bee0eb6..8350581c7c 100644 --- a/docs/config.md +++ b/docs/config.md @@ -6,7 +6,7 @@ In the Docker image, the `Caddyfile` is located at `/etc/caddy/Caddyfile`. You can also configure PHP using `php.ini` as usual. -In the Docker image, the `php.ini` file is not present, you can create it or `COPY` manually: +In the Docker image, the `php.ini` file is not present, you can create it manually or copy an official template: ```dockerfile FROM dunglas/frankenphp @@ -88,7 +88,8 @@ other.example.com { root * /path/to/other/public php_server } -... + +# ... ``` Using the `php_server` directive is generally what you need, @@ -122,7 +123,7 @@ The `php_server` and the `php` directives have the following options: ```caddyfile php_server [] { root # Sets the root folder to the site. Default: `root` directive. - split_path # Sets the substrings for splitting the URI into two parts. The first matching substring will be used to split the "path info" from the path. The first piece is suffixed with the matching substring and will be assumed as the actual resource (CGI script) name. The second piece will be set to PATH_INFO for the CGI script to use. Default: `.php` + split_path # Sets the substrings for splitting the URI into two parts. The first matching substring will be used to split the "path info" from the path. The first piece is suffixed with the matching substring and will be assumed as the actual resource (CGI script) name. The second piece will be set to PATH_INFO for the script to use. Default: `.php` resolve_root_symlink false # Disables resolving the `root` directory to its actual value by evaluating a symbolic link, if one exists (enabled by default). env # Sets an extra environment variable to the given value. Can be specified more than once for multiple environment variables. } @@ -136,9 +137,9 @@ The following environment variables can be used to inject Caddy directives in th * `CADDY_GLOBAL_OPTIONS`: inject [global options](https://caddyserver.com/docs/caddyfile/options) * `FRANKENPHP_CONFIG`: inject config under the `frankenphp` directive -Unlike with FPM and CLI SAPIs, environment variables are **not** exposed by default in superglobals `$_SERVER` and `$_ENV`. +As for FPM and CLI SAPIs, environment variables are exposed by default in the `$_SERVER` superglobal. -To propagate environment variables to `$_SERVER` and `$_ENV`, set the `php.ini` `variables_order` directive to `EGPCS`. +The `S` value of [the `variables_order` PHP directive](https://www.php.net/manual/en/ini.core.php#ini.variables-order) is always equivalent to `ES` regardless of the placement of `E` elsewhere in this directive. ## PHP config diff --git a/docs/docker.md b/docs/docker.md index c44ae48235..91be71d434 100644 --- a/docs/docker.md +++ b/docs/docker.md @@ -1,6 +1,8 @@ # Building Custom Docker Image -[FrankenPHP Docker images](https://hub.docker.com/r/dunglas/frankenphp) are based on [official PHP images](https://hub.docker.com/_/php/). Alpine Linux and Debian variants are provided for popular architectures. Variants for PHP 8.2 and PHP 8.3 are provided. [Browse tags](https://hub.docker.com/r/dunglas/frankenphp/tags). +[FrankenPHP Docker images](https://hub.docker.com/r/dunglas/frankenphp) are based on [official PHP images](https://hub.docker.com/_/php/). Debian and Alpine Linux avariants are provided for popular architectures. Debian variants are recommended. + +Variants for PHP 8.2 and PHP 8.3 are provided. [Browse tags](https://hub.docker.com/r/dunglas/frankenphp/tags). ## How to Use The Images @@ -12,7 +14,7 @@ FROM dunglas/frankenphp COPY . /app/public ``` -Then, run the commands to build and run the Docker image: +Then, run these commands to build and run the Docker image: ```console docker build -t my-php-app . @@ -65,8 +67,8 @@ FROM dunglas/frankenphp AS runner COPY --from=builder /usr/local/bin/frankenphp /usr/local/bin/frankenphp ``` -The `builder` image provided by FrankenPHP contains a compiled version of libphp. -[Builders images](https://hub.docker.com/r/dunglas/frankenphp/tags?name=builder) are provided for all versions of FrankenPHP and PHP, both for Alpine and Debian. +The `builder` image provided by FrankenPHP contains a compiled version of `libphp`. +[Builders images](https://hub.docker.com/r/dunglas/frankenphp/tags?name=builder) are provided for all versions of FrankenPHP and PHP, both for Debian and Alpine. > [!TIP] > diff --git a/docs/embed.md b/docs/embed.md index d47dc5ca7c..5b60b7b947 100644 --- a/docs/embed.md +++ b/docs/embed.md @@ -4,7 +4,7 @@ FrankenPHP has the ability to embed the source code and assets of PHP applicatio Thanks to this feature, PHP applications can be distributed as standalone binaries that include the application itself, the PHP interpreter and Caddy, a production-level web server. -Learn more about this feature [in the presentation made by Kévin at SymfonyCon](https://dunglas.dev/2023/12/php-and-symfony-apps-as-standalone-binaries/). +Learn more about this feature [in the presentation made by Kévin at SymfonyCon 2023](https://dunglas.dev/2023/12/php-and-symfony-apps-as-standalone-binaries/). ## Preparing Your App @@ -65,7 +65,7 @@ The easiest way to create a Linux binary is to use the Docker-based builder we p docker build -t static-app -f static-build.Dockerfile . ``` -3. Extract the binary +3. Extract the binary: ```console docker cp $(docker create --name static-app-tmp static-app):/go/src/app/dist/frankenphp-linux-x86_64 my-app ; docker rm static-app-tmp @@ -121,7 +121,7 @@ You can also run the PHP CLI scripts embedded in your binary: ## Distributing The Binary -The created binary isn't compressed. -To reduce the size of the file before sending it, you can compress it. +On Linux, the created binary is compressed using [UPX](https://upx.github.io). +On Mac, to reduce the size of the file before sending it, you can compress it. We recommend `xz`. diff --git a/docs/fr/CONTRIBUTING.md b/docs/fr/CONTRIBUTING.md index 45c4d0237d..ce478456e1 100644 --- a/docs/fr/CONTRIBUTING.md +++ b/docs/fr/CONTRIBUTING.md @@ -25,7 +25,7 @@ Si la version de Docker est inférieure à 23.0, la construction échoue à caus ### Sans Docker (Linux et macOS) -[Suivez les instructions pour compiler à partir des sources](https://frankenphp.dev/docs/compile/) et passez l'indicateur de configuration `--debug`. +[Suivez les instructions pour compiler à partir des sources](compile.md) et passez l'indicateur de configuration `--debug`. ## Exécution de la suite de tests @@ -35,7 +35,7 @@ go test -race -v ./... ## Module Caddy -Construire Caddy avec le module Caddy de FrankenPHP : +Construire Caddy avec le module FrankenPHP : ```console cd caddy/frankenphp/ @@ -43,7 +43,7 @@ go build cd ../../ ``` -Exécuter Caddy avec le module Caddy de FrankenPHP : +Exécuter Caddy avec le module FrankenPHP : ```console cd testdata/ @@ -79,7 +79,7 @@ Le serveur est configuré pour écouter à l'adresse `127.0.0.1:8080`: curl -v http://127.0.0.1:8080/phpinfo.php ``` -## Construction d'images Docker localement +## Construire localement les images Docker Afficher le plan de compilation : @@ -105,10 +105,10 @@ Construire à partir de zéro les images FrankenPHP pour arm64 & amd64 et les po docker buildx bake -f docker-bake.hcl --pull --no-cache --push ``` -## Debug des fautes de segmentation dans GitHub Actions +## Déboguer les erreurs de segmentation dans GitHub Actions 1. Ouvrir `.github/workflows/tests.yml` -2. Activer les symboles de débogage PHP +2. Activer les symboles de débogage de la bibliothèque PHP ```patch - uses: shivammathur/setup-php@v2 diff --git a/docs/fr/README.md b/docs/fr/README.md index c78c0ecd96..46d1edaff3 100644 --- a/docs/fr/README.md +++ b/docs/fr/README.md @@ -1,14 +1,14 @@ -# FrankenPHP : Le serveur d'applications PHP moderne, écrit en Go +# FrankenPHP : le serveur d'applications PHP moderne, écrit en Go

FrankenPHP

-FrankenPHP est un serveur d'applications moderne pour PHP construit sur la base du serveur web [Caddy](https://caddyserver.com/). +FrankenPHP est un serveur d'applications moderne pour PHP construit à partir du serveur web [Caddy](https://caddyserver.com/). -FrankenPHP apporte de la puissance à vos applications PHP grâce à des fonctionnalités de pointe : [*Early Hints*](https://frankenphp.dev/docs/early-hints/), [mode worker](https://frankenphp.dev/docs/worker/), [fonctionnalités en temps réel](https://frankenphp.dev/docs/mercure/), HTTPS automatique, prise en charge de HTTP/2 et HTTP/3... +FrankenPHP donne des super-pouvoirs à vos applications PHP grâce à ses fonctionnalités à la pointe : [*Early Hints*](https://frankenphp.dev/docs/fr/early-hints/), [mode worker](https://frankenphp.dev/docs/fr/worker/), [fonctionnalités en temps réel](https://frankenphp.dev/docs/fr/mercure/), HTTPS automatique, prise en charge de HTTP/2 et HTTP/3... -FrankenPHP fonctionne avec n'importe quelle application PHP et rend vos projets Symfony plus rapides que jamais grâce à l'intégration fournie avec le mode worker. +FrankenPHP fonctionne avec n'importe quelle application PHP et rend vos projets Laravel et Symfony plus rapides que jamais grâce à leurs intégrations officielles avec le mode worker. -FrankenPHP peut également être utilisé comme une bibliothèque Go autonome pour intégrer PHP dans n'importe quelle application en utilisant `net/http`. +FrankenPHP peut également être utilisé comme une bibliothèque Go autonome qui permet d'intégrer PHP dans n'importe quelle application en utilisant `net/http`. Découvrez plus de détails sur ce serveur d’application dans le replay de cette conférence donnée au Forum PHP 2022 : @@ -36,7 +36,7 @@ Rendez-vous sur `https://localhost`, c'est parti ! Si vous préférez ne pas utiliser Docker, nous fournissons des binaires autonomes de FrankenPHP pour Linux et macOS contenant [PHP 8.3](https://www.php.net/releases/8.3/fr.php) et la plupart des extensions PHP populaires : [Télécharger FrankenPHP](https://github.com/dunglas/frankenphp/releases) -Pour servir le contenu du répertoire, exécutez : +Pour servir le contenu du répertoire courant, exécutez : ```console ./frankenphp php-server @@ -50,20 +50,20 @@ Vous pouvez également exécuter des scripts en ligne de commande avec : ## Documentation -* [Le mode worker](https://frankenphp.dev/docs/worker/) -* [Le support des Early Hints (Code statut 103 HTTP)](https://frankenphp.dev/docs/early-hints/) +* [Le mode worker](https://frankenphp.dev/docs/fr/worker/) +* [Le support des Early Hints (code de statut HTTP 103)](https://frankenphp.dev/docs/fr/early-hints/) * [Temps réel](https://frankenphp.dev/docs/mercure/) * [Configuration](https://frankenphp.dev/docs/config/) * [Images Docker](https://frankenphp.dev/docs/docker/) * [Déploiement en production](docs/production.md) -* [Créer des applications PHP **standalone**, auto-exécutables](https://frankenphp.dev/docs/embed/) -* [Créer un build statique](https://frankenphp.dev/docs/static/) -* [Compiler depuis les sources](https://frankenphp.dev/docs/compile/) -* [Intégration Laravel](https://frankenphp.dev/docs/laravel/) -* [Problèmes connus](https://frankenphp.dev/docs/known-issues/) +* [Créer des applications PHP **standalone**, auto-exécutables](https://frankenphp.dev/docs/fr/embed/) +* [Créer un build statique](https://frankenphp.dev/docs/fr/static/) +* [Compiler depuis les sources](https://frankenphp.dev/docs/fr/compile/) +* [Intégration Laravel](https://frankenphp.dev/docs/fr/laravel/) +* [Problèmes connus](https://frankenphp.dev/docs/fr/known-issues/) * [Application de démo (Symfony) et benchmarks](https://github.com/dunglas/frankenphp-demo) * [Documentation de la bibliothèque Go](https://pkg.go.dev/github.com/dunglas/frankenphp) -* [Contribuer et débugger](https://frankenphp.dev/docs/contributing/) +* [Contribuer et débugger](https://frankenphp.dev/docs/fr/contributing/) ## Exemples et squelettes diff --git a/docs/fr/compile.md b/docs/fr/compile.md index 85d2f44010..79c1e91a35 100644 --- a/docs/fr/compile.md +++ b/docs/fr/compile.md @@ -67,7 +67,7 @@ sudo make install ## Compiler l'application Go -Vous pouvez maintenant utiliser la bibliothèque Go et compiler notre build Caddy : +Vous pouvez maintenant utiliser la bibliothèque Go et compiler notre build de Caddy : ```console curl -L https://github.com/dunglas/frankenphp/archive/refs/heads/main.tar.gz | tar x @@ -77,7 +77,7 @@ CGO_CFLAGS=$(php-config --includes) CGO_LDFLAGS="$(php-config --ldflags) $(php-c ### Utiliser xcaddy -Vous pouvez utiliser à la place [xcaddy](https://github.com/caddyserver/xcaddy) pour compiler FrankenPHP avec [des modules Caddy personnalisés](https://caddyserver.com/docs/modules/): +Vous pouvez utiliser à la place [xcaddy](https://github.com/caddyserver/xcaddy) pour compiler FrankenPHP avec [des modules Caddy additionnels](https://caddyserver.com/docs/modules/): ```console CGO_ENABLED=1 \ diff --git a/docs/fr/config.md b/docs/fr/config.md index d42313baed..9845bbf98c 100644 --- a/docs/fr/config.md +++ b/docs/fr/config.md @@ -2,11 +2,11 @@ FrankenPHP, Caddy ainsi que les modules Mercure et Vulcain peuvent être configurés en utilisant [les formats pris en charge par Caddy](https://caddyserver.com/docs/getting-started#your-first-config). -Dans l'image Docker, le `Caddyfile` se trouve dans `/etc/caddy/Caddyfile`. +Dans l'image Docker, le chemin du `Caddyfile` est `/etc/caddy/Caddyfile`. Vous pouvez également configurer PHP en utilisant `php.ini` comme d'habitude. -Dans l'image Docker, le fichier `php.ini` n'est pas présent, vous pouvez le créer ou le `COPY` manuellement : +Dans l'image Docker, le fichier `php.ini` n'est pas présent, vous pouvez le créer manuellement ou copier un template officiel : ```dockerfile FROM dunglas/frankenphp @@ -20,36 +20,36 @@ RUN cp $PHP_INI_DIR/php.ini-production $PHP_INI_DIR/php.ini ## Configuration du Caddyfile -Pour enregistrer l'exécutable de FrankenPHP, l'[option globale](https://caddyserver.com/docs/caddyfile/concepts#global-options) `frankenphp` doit être définie, puis les [directives HTTP](https://caddyserver.com/docs/caddyfile/concepts#directives) `php_server` ou `php` peuvent être utilisées dans les blocs du site pour servir votre application PHP. +Pour enregistrer l'exécutable de FrankenPHP, l'[option globale](https://caddyserver.com/docs/caddyfile/concepts#global-options) `frankenphp` doit être définie, puis les [directives HTTP](https://caddyserver.com/docs/caddyfile/concepts#directives) `php_server` ou `php` peuvent être utilisées dans les blocs de site pour servir votre application PHP. Exemple minimal : ```caddyfile { - # Autoriser FrankenPHP + # Activer FrankenPHP frankenphp # Configurer l'ordre d'exécution de la directive order php_server before file_server } localhost { - # Autoriser la compression (optionnel) + # Activer la compression (optionnel) encode zstd br gzip - # Exécuter les fichiers PHP dans le répertoire courant et servir les ressources + # Exécuter les fichiers PHP dans le répertoire courant et servir les assets php_server } ``` -En option, le nombre de threads à créer et les [scripts de travail](worker.md) à démarrer avec le serveur peuvent être spécifiés sous l'option globale. +En option, le nombre de threads à créer et les [workers](worker.md) à démarrer avec le serveur peuvent être spécifiés sous l'option globale. ```caddyfile { frankenphp { num_threads # Définit le nombre de threads PHP à démarrer. Par défaut : 2x le nombre de CPUs disponibles. worker { - file # Définit le chemin vers le script de travail. + file # Définit le chemin vers le script worker. num # Définit le nombre de threads PHP à démarrer, par défaut 2x le nombre de CPUs disponibles. - env # Définit une variable d'environnement supplémentaire à la valeur donnée. Peut être spécifié plusieurs fois pour plusieurs variables d'environnement. + env # Définit une variable d'environnement supplémentaire avec la valeur donnée. Peut être spécifié plusieurs fois pour régler plusieurs variables d'environnement. } } } @@ -88,13 +88,14 @@ other.example.com { root * /path/to/other/public php_server } -... + +# ... ``` -L'utilisation de la directive php_server est généralement suffisante, -mais si vous avez besoin d'un contrôle total, vous pouvez utiliser la directive de niveau inférieur php. +L'utilisation de la directive `php_server` est généralement suffisante, +mais si vous avez besoin d'un contrôle total, vous pouvez utiliser la directive `php`, qui permet un plus grand niveau de finesse dans la configuration. -Utiliser la directive php_server est équivalent à cette configuration : +Utiliser la directive `php_server` est équivalent à cette configuration : ```caddyfile route { @@ -117,14 +118,14 @@ route { } ``` -Les directives php_server et php disposent des options suivantes : +Les directives `php_server` et `php` disposent des options suivantes : ```caddyfile php_server [] { - root # Définit le dossier racine pour le site. Par défaut : directive `root`. - split_path # Définit les sous-chaînes pour diviser l'URI en deux parties. La première sous-chaîne correspondante sera utilisée pour séparer le "path info" du chemin. La première partie est suffixée avec la sous-chaîne correspondante et sera considérée comme le nom réel de la ressource (script CGI). La seconde partie sera définie comme PATH_INFO pour que le script CGI l'utilise. Par défaut : `.php` + root # Définit le dossier racine du le site. Par défaut : valeur de la directive `root` parente. + split_path # Définit les sous-chaînes pour diviser l'URI en deux parties. La première sous-chaîne correspondante sera utilisée pour séparer le "path info" du chemin. La première partie est suffixée avec la sous-chaîne correspondante et sera considérée comme le nom réel de la ressource (script CGI). La seconde partie sera définie comme PATH_INFO pour utilisation par le script. Par défaut : `.php` resolve_root_symlink false # Désactive la résolution du répertoire `root` vers sa valeur réelle en évaluant un lien symbolique, s'il existe (activé par défaut). - env # Définit une variable d'environnement supplémentaire à la valeur donnée. Peut être spécifié plusieurs fois pour plusieurs variables d'environnement. + env # Définit une variable d'environnement supplémentaire avec la valeur donnée. Peut être spécifié plusieurs fois pour plusieurs variables d'environnement. } ``` @@ -136,16 +137,16 @@ Les variables d'environnement suivantes peuvent être utilisées pour insérer d * `CADDY_GLOBAL_OPTIONS` : injecte [des options globales](https://caddyserver.com/docs/caddyfile/options) * `FRANKENPHP_CONFIG` : insère la configuration sous la directive `frankenphp` -Contrairement aux SAPI FPM et CLI, les variables d'environnement ne sont **pas** exposées par défaut dans les superglobales `$_SERVER` et `$_ENV`. +Comme pour les SAPI FPM et CLI, les variables d'environnement ne sont exposées par défaut dans la superglobale `$_SERVER`. -Pour propager les variables d'environnement vers `$_SERVER` et `$_ENV`, configurez la directive `variables_order` de `php.ini` sur `EGPCS`. +La valeur `S` de [la directive `variables_order` de PHP](https://www.php.net/manual/fr/ini.core.php#ini.variables-order) est toujours équivalente à `ES`, que `E` soit défini ailleurs dans cette directive ou non. ## Configuration PHP Pour charger [des fichiers de configuration PHP supplémentaires](https://www.php.net/manual/fr/configuration.file.php#configuration.file.scan), la variable d'environnement `PHP_INI_SCAN_DIR` peut être utilisée. Lorsqu'elle est définie, PHP chargera tous les fichiers avec l'extension `.ini` présents dans les répertoires donnés. -## Activer le mode Debug +## Activer le mode debug Lors de l'utilisation de l'image Docker, définissez la variable d'environnement `CADDY_GLOBAL_OPTIONS` sur `debug` pour activer le mode debug : diff --git a/docs/fr/docker.md b/docs/fr/docker.md index 316da2ba85..ac1212ea37 100644 --- a/docs/fr/docker.md +++ b/docs/fr/docker.md @@ -1,6 +1,8 @@ # Création d'une image Docker personnalisée -Les images Docker de [FrankenPHP](https://hub.docker.com/r/dunglas/frankenphp) sont basées sur les [images PHP officielles](https://hub.docker.com/_/php/). Des variantes Alpine Linux et Debian sont fournies pour les architectures populaires. Des variantes pour PHP 8.2 et PHP 8.3 sont disponibles. [Parcourir les tags](https://hub.docker.com/r/dunglas/frankenphp/tags). +Les images Docker de [FrankenPHP](https://hub.docker.com/r/dunglas/frankenphp) sont basées sur les [images PHP officielles](https://hub.docker.com/_/php/). Des variantes Debian et Alpine Linux sont fournies pour les architectures populaires. Les variantes Debian sont recommandées. + +Des variantes pour PHP 8.2 et PHP 8.3 sont disponibles. [Parcourir les tags](https://hub.docker.com/r/dunglas/frankenphp/tags). ## Comment utiliser les images @@ -12,7 +14,7 @@ FROM dunglas/frankenphp COPY . /app/public ``` -Ensuite, exécutez les commandes pour construire et exécuter l'image Docker : +Ensuite, exécutez ces commandes pour construire et exécuter l'image Docker : ```console docker build -t my-php-app . @@ -38,7 +40,7 @@ RUN install-php-extensions \ ## Comment installer plus de modules Caddy -FrankenPHP est construit sur Caddy, et tous les[modules Caddy](https://caddyserver.com/docs/modules/) peuvent être utilisés avec FrankenPHP. +FrankenPHP est construit sur Caddy, et tous les [modules Caddy](https://caddyserver.com/docs/modules/) peuvent être utilisés avec FrankenPHP. La manière la plus simple d'installer des modules Caddy personnalisés est d'utiliser [xcaddy](https://github.com/caddyserver/xcaddy): @@ -51,23 +53,22 @@ COPY --from=caddy:builder /usr/bin/xcaddy /usr/bin/xcaddy # CGO doit être activé pour construire FrankenPHP ENV CGO_ENABLED=1 XCADDY_SETCAP=1 XCADDY_GO_BUILD_FLAGS="-ldflags '-w -s'" RUN xcaddy build \ - --output /usr/local/bin/frankenphp \ - --with github.com/dunglas/frankenphp=./ \ - --with github.com/dunglas/frankenphp/caddy=./caddy/ \ -# Mercure et Vulcain sont inclus dans la construction officielle, mais n'hésitez pas à les retirer - --with github.com/dunglas/mercure/caddy \ - --with github.com/dunglas/vulcain/caddy - # Ajoutez des modules Caddy supplémentaires ici + --output /usr/local/bin/frankenphp \ + --with github.com/dunglas/frankenphp=./ \ + --with github.com/dunglas/frankenphp/caddy=./caddy/ \ + # Mercure et Vulcain sont inclus dans la construction officielle, mais n'hésitez pas à les retirer + --with github.com/dunglas/mercure/caddy \ + --with github.com/dunglas/vulcain/caddy + # Ajoutez des modules Caddy supplémentaires ici FROM dunglas/frankenphp AS runner # Remplacer le binaire officiel par celui contenant vos modules personnalisés COPY --from=builder /usr/local/bin/frankenphp /usr/local/bin/frankenphp -COPY --from=builder /usr/local/bin/frankenphp /usr/local/bin/frankenphp ``` -L'image builder fournie par FrankenPHP contient une version compilée de libphp. -[Les images de constructeurs](https://hub.docker.com/r/dunglas/frankenphp/tags?name=builder) sont fournies pour toutes les versions de FrankenPHP et PHP, à la fois pour Alpine et Debian. +L'image builder fournie par FrankenPHP contient une version compilée de `libphp`. +[Les images builder](https://hub.docker.com/r/dunglas/frankenphp/tags?name=builder) sont fournies pour toutes les versions de FrankenPHP et PHP, à la fois pour Debian et Alpine. > [!TIP] > @@ -76,7 +77,7 @@ L'image builder fournie par FrankenPHP contient une version compilée de libphp. ## Activer le mode Worker par défaut -Définissez la variable d'environnement FRANKENPHP_CONFIG pour démarrer FrankenPHP avec un script worker : +Définissez la variable d'environnement `FRANKENPHP_CONFIG` pour démarrer FrankenPHP avec un script worker : ```dockerfile FROM dunglas/frankenphp @@ -98,7 +99,7 @@ docker run -v $PWD:/app/public -p 80:80 -p 443:443 -p 443:443/udp --tty my-php-a > > L'option --tty permet d'avoir des logs lisibles par un humain au lieu de logs JSON. -Avec Docker Compose: +Avec Docker Compose : ```yaml # compose.yaml @@ -127,9 +128,9 @@ volumes: caddy_config: ``` -## Exécution en tant qu'utilisateur non root +## Exécution en tant qu'utilisateur non-root -FrankenPHP peut s'exécuter en tant qu'utilisateur non root dans Docker. +FrankenPHP peut s'exécuter en tant qu'utilisateur non-root dans Docker. Voici un exemple de `Dockerfile` le permettant : @@ -156,7 +157,7 @@ Les images Docker sont construites : * lorsqu'une nouvelle version est taguée * tous les jours à 4h UTC, si de nouvelles versions des images officielles PHP sont disponibles -## Versions de Développement +## Versions de développement Les versions de développement sont disponibles dans le dépôt Docker [`dunglas/frankenphp-dev`](https://hub.docker.com/repository/docker/dunglas/frankenphp-dev). Un nouveau build est déclenché chaque fois qu'un commit est poussé sur la branche principale du dépôt GitHub. diff --git a/docs/fr/embed.md b/docs/fr/embed.md index 42b7f14f9c..261f3afc82 100644 --- a/docs/fr/embed.md +++ b/docs/fr/embed.md @@ -1,22 +1,24 @@ -# Applications PHP en tant que Binaires Autonomes +# Applications PHP en tant que binaires autonomes -FrankenPHP a la capacité d'incorporer le code source et les ressources des applications PHP dans un binaire statique et autonome. +FrankenPHP a la capacité d'incorporer le code source et les assets des applications PHP dans un binaire statique et autonome. -Grâce à cette fonctionnalité, les applications PHP peuvent être distribuées en tant que binaires autonomes qui incluent l'application elle-même, l'interpréteur PHP et Caddy, un serveur web de niveau production. +Grâce à cette fonctionnalité, les applications PHP peuvent être distribuées en tant que binaires autonomes qui incluent l'application elle-même, l'interpréteur PHP et Caddy, un serveur web de qualité production. -Pour en savoir plus sur cette fonctionnalité, consultez [la présentation faite par Kévin à SymfonyCon](https://dunglas.dev/2023/12/php-and-symfony-apps-as-standalone-binaries/). +Pour en savoir plus sur cette fonctionnalité, consultez [la présentation faite par Kévin à la SymfonyCon 2023](https://dunglas.dev/2023/12/php-and-symfony-apps-as-standalone-binaries/). -## Préparer Votre Application +## Préparer votre application Avant de créer le binaire autonome, assurez-vous que votre application est prête à être intégrée. -Par exemple, vous voudrez probablement : +Vous devrez probablement : * Installer les dépendances de production de l'application * Dumper l'autoloader * Activer le mode production de votre application (si disponible) * Supprimer les fichiers inutiles tels que `.git` ou les tests pour réduire la taille de votre binaire final +Par exemple, pour une application Symfony, lancez les commandes suivantes : + ```console # Exporter le projet pour se débarrasser de .git/, etc. mkdir $TMPDIR/my-prepared-app @@ -37,9 +39,9 @@ composer install --ignore-platform-reqs --no-dev -a composer dump-env prod ``` -## Créer un Binaire Linux +## Créer un binaire Linux -La manière la plus simple de créer un binaire Linux est d'utiliser le constructeur basé sur Docker que nous fournissons. +La manière la plus simple de créer un binaire Linux est d'utiliser le builder basé sur Docker que nous fournissons. 1. Créez un fichier nommé `static-build.Dockerfile` dans le répertoire de votre application préparée : @@ -63,15 +65,15 @@ La manière la plus simple de créer un binaire Linux est d'utiliser le construc docker build -t static-app -f static-build.Dockerfile . ``` -3. Extrayez le binaire +3. Extrayez le binaire : ```console docker cp $(docker create --name static-app-tmp static-app):/go/src/app/dist/frankenphp-linux-x86_64 my-app ; docker rm static-app-tmp ``` -Le binaire résultant est le fichier nommé `my-app` dans le répertoire courant. +Le binaire généré sera nommé `my-app` dans le répertoire courant. -## Créer un Binaire pour d'Autres Systèmes d'Exploitation +## Créer un binaire pour d'autres systèmes d'exploitation Si vous ne souhaitez pas utiliser Docker, ou souhaitez construire un binaire macOS, utilisez le script shell que nous fournissons : @@ -85,7 +87,7 @@ EMBED=/path/to/your/app \ Le binaire obtenu est le fichier nommé `frankenphp--` dans le répertoire `dist/`. -## Utiliser le Binaire +## Utiliser le binaire C'est tout ! Le fichier `my-app` (ou `dist/frankenphp--` sur d'autres systèmes d'exploitation) contient votre application autonome ! @@ -117,9 +119,9 @@ Vous pouvez également exécuter les scripts CLI PHP incorporés dans votre bina [Consultez la documentation sur la compilation statique](static.md) pour voir comment personnaliser le binaire (extensions, version PHP...). -## Distribuer le Binaire +## Distribuer le binaire -Le binaire créé n'est pas compressé. -Pour réduire la taille du fichier avant de l'envoyer, vous pouvez le compresser. +Sous Linux, le binaire est compressé par défaut à l'aide de [UPX](https://upx.github.io). +Sous Mac, pour réduire la taille du fichier avant de l'envoyer, vous pouvez le compresser. Nous recommandons `xz`. diff --git a/docs/fr/github-actions.md b/docs/fr/github-actions.md index 9f308b7d5c..2a151aab6b 100644 --- a/docs/fr/github-actions.md +++ b/docs/fr/github-actions.md @@ -1,11 +1,11 @@ # Utilisation de GitHub Actions -Ce dépôt construit et déploie l'image Docker sur [Docker Hub](https://hub.docker.com/r/dunglas/frankenphp) pour +Ce dépôt construit et déploie l'image Docker sur [le Hub Docker](https://hub.docker.com/r/dunglas/frankenphp) pour chaque pull request approuvée ou sur votre propre fork une fois configuré. ## Configuration de GitHub Actions -Dans les paramètres du dépôt, sous secrets, ajoutez les secrets suivants : +Dans les paramètres du dépôt, sous "secrets", ajoutez les secrets suivants : - `REGISTRY_LOGIN_SERVER` : Le registre Docker à utiliser (par exemple, `docker.io`). - `REGISTRY_USERNAME` : Le nom d'utilisateur à utiliser pour se connecter au registre (par exemple, `dunglas`). @@ -14,13 +14,13 @@ Dans les paramètres du dépôt, sous secrets, ajoutez les secrets suivants : ## Construction et push de l'image -1. Créez une pull request ou poussez vers votre fork. +1. Créez une Pull Request ou poussez vers votre fork. 2. GitHub Actions va construire l'image et exécuter tous les tests. 3. Si la construction est réussie, l'image sera poussée vers le registre en utilisant le tag `pr-x`, où `x` est le numéro de la PR. ## Déploiement de l'image -1. Une fois la pull request fusionnée, GitHub Actions exécutera à nouveau les tests et construira une nouvelle image. +1. Une fois la Pull Request fusionnée, GitHub Actions exécutera à nouveau les tests et construira une nouvelle image. 2. Si la construction est réussie, le tag `main` sera mis à jour dans le registre Docker. ## Releases diff --git a/docs/fr/known-issues.md b/docs/fr/known-issues.md index fb45136dbd..206ccb7ee5 100644 --- a/docs/fr/known-issues.md +++ b/docs/fr/known-issues.md @@ -2,18 +2,18 @@ ## Fibres -L'appel de fonctions PHP et de constructions langagières qui elles-mêmes appellent [cgo](https://go.dev/blog/cgo) dans des[Fibres](https://www.php.net/manual/en/language.fibers.php) est connu pour provoquer des plantages. +Appeller de fonctions et mots clefs PHP qui eux-mêmes appellent [cgo](https://go.dev/blog/cgo) dans des [Fibres](https://www.php.net/manual/fr/language.fibers.php) est connu pour provoquer des plantages. -Ce problème est [en cours de traitement par le projet Go](https://github.com/golang/go/issues/62130). +Ce problème est [en cours de correction par le projet Go](https://github.com/golang/go/issues/62130). -En attendant, une solution consiste à ne pas utiliser de constructions (comme `echo`) et de fonctions (comme `header()`) qui délèguent à Go depuis l'intérieur de Fibres. +En attendant, une solution consiste à ne pas utiliser de mots clefs (comme `echo`) et de fonctions (comme `header()`) qui délèguent à Go depuis l'intérieur de fibres. -Ce code risque de planter car il utilise `echo` dans une Fibre : +Ce code risque de planter car il utilise `echo` dans une fibre : ```php $fiber = new Fiber(function() { - echo 'In the Fiber'.PHP_EOL; - echo 'Still inside'.PHP_EOL; + echo 'Dans la fibre'.PHP_EOL; + echo 'Toujours dedans'.PHP_EOL; }); $fiber->start(); ``` @@ -22,8 +22,8 @@ A la place, retournez la valeur de la Fibre et utilisez-la à l'extérieur : ```php $fiber = new Fiber(function() { - Fiber::suspend('In the Fiber'.PHP_EOL)); - Fiber::suspend('Still inside'.PHP_EOL)); + Fiber::suspend('Dans la fibre'.PHP_EOL)); + Fiber::suspend('Toujours dedans'.PHP_EOL)); }); echo $fiber->start(); echo $fiber->resume(); @@ -34,29 +34,29 @@ $fiber->resume(); Les extensions suivantes sont connues pour ne pas être compatibles avec FrankenPHP : -| Nom | Raison | Alternatives | -| --- | --- | --- | +| Nom | Raison | Alternatives | +|-------------------------------------------------------------|--------------------------------------------|----------------------------------------------------------------------------------------------------------------------| | [imap](https://www.php.net/manual/fr/imap.installation.php) | Non sécurisé pour l'exécution en parallèle | [javanile/php-imap2](https://github.com/javanile/php-imap2), [webklex/php-imap](https://github.com/Webklex/php-imap) | ## get_browser -La fonction [get_browser()](https://www.php.net/manual/fr/function.get-browser.php) semble avoir de mauvaises performances après un certain temps. Une solution est de mettre en cache (par exemple, avec APCU) les résultats par User Agent, car ils sont statiques. +La fonction [get_browser()](https://www.php.net/manual/fr/function.get-browser.php) semble avoir de mauvaises performances après un certain temps. Une solution est de mettre en cache (par exemple, avec [APCu](https://www.php.net/manual/en/book.apcu.php)) les résultats par agent utilisateur, car ils sont statiques. ## Binaire autonome et images Docker basées sur Alpine -Le binaire autonome et les images docker basées sur Alpine (`dunglas/frankenphp:*-alpine`) utilisent [musl libc](https://musl.libc.org/) au lieu de [glibc et amis](https://www.etalabs.net/compare_libcs.html), pour garder une taille de binaire plus petite. Cela peut entraîner des problèmes de compatibilité. En particulier, le drapeau glob `GLOB_BRACE` n'est [pas disponible](https://www.php.net/manual/fr/function.glob.php). +Le binaire autonome et les images docker basées sur Alpine (`dunglas/frankenphp:*-alpine`) utilisent [musl libc](https://musl.libc.org/) au lieu de [glibc et ses amis](https://www.etalabs.net/compare_libcs.html), pour garder une taille de binaire plus petite. Cela peut entraîner des problèmes de compatibilité. En particulier, le drapeau glob `GLOB_BRACE` n'est [pas disponible](https://www.php.net/manual/fr/function.glob.php). ## Utilisation de `https://127.0.0.1` avec Docker Par défaut, FrankenPHP génère un certificat TLS pour `localhost`. -C'est l'option la plus simple et recommandée pour le développement local. +C'est l'option est la plus simple et est recommandée pour le développement local. -Si vous voulez vraiment utiliser `127.0.0.1` comme hôte à la place, il est possible de le configurer pour générer un certificat pour cela en définissant le nom du serveur sur `127.0.0.1`. +Si vous voulez vraiment utiliser `127.0.0.1` comme hôte, il est possible de configure FrankenPHP pour générer un certificat pour cela en définissant le nom du serveur à `127.0.0.1`. -Malheureusement, cela ne suffit pas lors de l'utilisation de Docker à cause de [son système de mise en réseau](https://docs.docker.com/network/). +Malheureusement, cela ne suffit pas lors de l'utilisation de Docker à cause de [son système de gestion des réseaux](https://docs.docker.com/network/). Vous obtiendrez une erreur TLS similaire à `curl: (35) LibreSSL/3.3.6: error:1404B438:SSL routines:ST_CONNECT:tlsv1 alert internal error`. -Si vous utilisez Linux, une solution est d'utiliser [le pilote de réseau hôte](https://docs.docker.com/network/network-tutorial-host/) : +Si vous utilisez Linux, une solution est d'utiliser [le pilote de réseau "hôte"](https://docs.docker.com/network/network-tutorial-host/) : ```console docker run \ @@ -66,9 +66,9 @@ docker run \ dunglas/frankenphp ``` -Le pilote de réseau hôte n'est pas pris en charge sur Mac et Windows. Sur ces plateformes, vous devrez deviner l'adresse IP du conteneur et l'inclure dans les noms de serveur. +Le pilote de réseau "hôte" n'est pas pris en charge sur Mac et Windows. Sur ces plateformes, vous devrez deviner l'adresse IP du conteneur et l'inclure dans les noms de serveur. -Exécutez la commande `docker network inspect bridge` et regardez la clé `Containers` pour identifier la dernière adresse IP attribuée sous la clé `IPv4Address`, puis incrémentez-la de un. Si aucun conteneur n'est en cours d'exécution, la première adresse IP attribuée est généralement `172.17.0.2`. +Exécutez la commande `docker network inspect bridge` et inpectez la clef `Containers` pour identifier la dernière adresse IP attribuée sous la clef `IPv4Address`, puis incrémentez-la de un. Si aucun conteneur n'est en cours d'exécution, la première adresse IP attribuée est généralement `172.17.0.2`. Ensuite, incluez ceci dans la variable d'environnement `SERVER_NAME` : diff --git a/docs/fr/laravel.md b/docs/fr/laravel.md index f7b6f0e862..681e99f60a 100644 --- a/docs/fr/laravel.md +++ b/docs/fr/laravel.md @@ -2,7 +2,8 @@ ## Docker -Déployer une application web [Laravel](https://laravel.com) avec FrankenPHP est aussi facile que de monter le projet dans le répertoire `/app` de l'image Docker officielle. +Déployer une application web [Laravel](https://laravel.com) avec FrankenPHP est très facile. +Il suffit de monter le projet dans le répertoire `/app` de l'image Docker officielle. Exécutez cette commande depuis le répertoire principal de votre application Laravel : @@ -17,7 +18,7 @@ Et profitez ! Vous pouvez également exécuter vos projets Laravel avec FrankenPHP depuis votre machine locale : 1. [Téléchargez le binaire correspondant à votre système](https://github.com/dunglas/frankenphp/releases) -2. Ajoutez la configuration suivante à un fichier nommé `Caddyfile` dans le répertoire racine de votre projet Laravel : +2. Ajoutez la configuration suivante dans un fichier nommé `Caddyfile` placé dans le répertoire racine de votre projet Laravel : ```caddyfile { @@ -31,7 +32,7 @@ Vous pouvez également exécuter vos projets Laravel avec FrankenPHP depuis votr root * public/ # Autoriser la compression (optionnel) encode zstd br gzip - # Exécuter les fichiers PHP dans le répertoire courant et servir les ressources + # Exécuter les scripts PHP du dossier public/ et servir les assets php_server } ``` diff --git a/docs/fr/mercure.md b/docs/fr/mercure.md index 0af9f0f2f4..349756ddf4 100644 --- a/docs/fr/mercure.md +++ b/docs/fr/mercure.md @@ -1,6 +1,6 @@ # Temps Réel -FrankenPHP est livré avec un hub Mercure intégré. +FrankenPHP est livré avec un hub [Mercure](https://mercure.rocks) intégré. Mercure permet de pousser des événements en temps réel vers tous les appareils connectés : ils recevront un événement JavaScript instantanément. Aucune bibliothèque JS ou SDK requis ! diff --git a/docs/fr/production.md b/docs/fr/production.md index 12b7a7f204..a1c1b8ae3d 100644 --- a/docs/fr/production.md +++ b/docs/fr/production.md @@ -18,7 +18,7 @@ ENV SERVER_NAME=your-domain-name.example.com # Si vous souhaitez désactiver HTTPS, utilisez cette valeur à la place : #ENV SERVER_NAME=:80 -# Activer les paramètres de production PHP +# Activer les paramètres de production de PHP RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" # Copiez les fichiers PHP de votre projet dans le répertoire public @@ -74,12 +74,12 @@ Ensuite, cliquez sur l'onglet "Marketplace" sous la section "Choisir une image" Cela provisionnera un serveur Ubuntu avec les dernières versions de Docker et Docker Compose déjà installées ! Pour des fins de test, les plans les moins chers seront suffisants. -Pour une utilisation en production réelle, vous voudrez probablement choisir un plan dans la section "usage général" pour répondre à vos besoins. +Pour une utilisation en production réelle, vous voudrez probablement choisir un plan dans la section "General Usage" pour répondre à vos besoins. ![Déployer FrankenPHP sur DigitalOcean avec Docker](digitalocean-droplet.png) Vous pouvez conserver les paramètres par défaut pour les autres paramètres, ou les ajuster selon vos besoins. -N'oubliez pas d'ajouter votre clé SSH ou de créer un mot de passe puis appuyez sur le bouton "Finaliser et créer". +N'oubliez pas d'ajouter votre clé SSH ou de créer un mot de passe puis appuyez sur le bouton "Finalize and create". Ensuite, attendez quelques secondes pendant que votre Droplet est en cours de provisionnement. Lorsque votre Droplet est prêt, utilisez SSH pour vous connecter : @@ -101,7 +101,7 @@ your-domain-name.example.com. IN A 207.154.233.113 Exemple avec le service DigitalOcean Domains ("Networking" > "Domains") : -![Configuring DNS on DigitalOcean](digitalocean-dns.png) +![Configurer les DNS sur DigitalOcean](digitalocean-dns.png) > [!NOTE] > Let's Encrypt, le service utilisé par défaut par FrankenPHP pour générer automatiquement un certificat TLS, ne prend pas en charge l'utilisation d'adresses IP nues. L'utilisation d'un nom de domaine est obligatoire pour utiliser Let's Encrypt. @@ -109,7 +109,7 @@ Exemple avec le service DigitalOcean Domains ("Networking" > "Domains") : ## Déploiement Copiez votre projet sur le serveur en utilisant `git clone`, `scp`, ou tout autre outil qui pourrait répondre à votre besoin. -Si vous utilisez GitHub, vous voudrez peut-être utiliser [une clé de déploiement](https://docs.github.com/en/free-pro-team@latest/developers/overview/managing-deploy-keys#deploy-keys). +Si vous utilisez GitHub, vous voudrez peut-être utiliser [une clef de déploiement](https://docs.github.com/en/free-pro-team@latest/developers/overview/managing-deploy-keys#deploy-keys). Les clés de déploiement sont également [prises en charge par GitLab](https://docs.gitlab.com/ee/user/project/deploy_keys/). Exemple avec Git : @@ -125,12 +125,12 @@ docker compose up -d --wait ``` Votre serveur est opérationnel, et un certificat HTTPS a été automatiquement généré pour vous. -Rendez-vous sur `https://your-domain-name.example.com` et profitez-en ! +Rendez-vous sur `https://your-domain-name.example.com` ! > [!CAUTION] -> Docker peut avoir une couche de cache, assurez-vous d'avoir la bonne version de build pour chaque déploiement ou reconstruisez votre projet avec l'option --no-cache pour éviter les problèmes de cache. +> Docker peut avoir une couche de cache, assurez-vous d'avoir la bonne version de build pour chaque déploiement ou reconstruisez votre projet avec l'option `--no-cache` pour éviter les problèmes de cache. ## Déploiement sur Plusieurs Nœuds Si vous souhaitez déployer votre application sur un cluster de machines, vous pouvez utiliser [Docker Swarm](https://docs.docker.com/engine/swarm/stack-deploy/), qui est compatible avec les fichiers Compose fournis. -Pour un déploiement sur Kubernetes, jetez un œil au [Helm chart fourni avec API Platform](https://api-platform.com/docs/deployment/kubernetes/), qui peut être facilement adapté pour une utilisation avec Symfony Docker. +Pour un déploiement sur Kubernetes, jetez un œil au [Helm chart fourni avec API Platform](https://api-platform.com/docs/deployment/kubernetes/), qui utilise FrankenPHP. diff --git a/docs/fr/static.md b/docs/fr/static.md index 9800515978..c089ca2fbf 100644 --- a/docs/fr/static.md +++ b/docs/fr/static.md @@ -1,21 +1,21 @@ -# Créer un Build Statique +# Créer un binaire statique Au lieu d'utiliser une installation locale de la bibliothèque PHP, il est possible de créer un build statique de FrankenPHP grâce à l'excellent projet [static-php-cli](https://github.com/crazywhalecc/static-php-cli) (malgré son nom, ce projet prend en charge tous les SAPIs, pas seulement CLI). Avec cette méthode, un binaire portable unique contiendra l'interpréteur PHP, le serveur web Caddy et FrankenPHP ! -FrankenPHP prend également en charge [l'incorporation de l'application PHP dans le binaire statique](embed.md). +FrankenPHP permet également [d'embarquer l'application PHP dans le binaire statique](embed.md). ## Linux -Nous fournissons une image Docker pour créer un binaire statique Linux : +Nous fournissons une image Docker pour créer un binaire statique pour Linux : ```console docker buildx bake --load static-builder docker cp $(docker create --name static-builder dunglas/frankenphp:static-builder):/go/src/app/dist/frankenphp-linux-$(uname -m) frankenphp ; docker rm static-builder ``` -Le binaire statique résultant est nommé frankenphp, et il est disponible dans le répertoire courant. +Le binaire statique résultant est nommé `frankenphp`, et il est disponible dans le répertoire courant. Si vous souhaitez construire le binaire statique sans Docker, regardez les instructions pour macOS, qui fonctionnent également pour Linux. @@ -42,7 +42,7 @@ docker buildx bake \ static-builder ``` -Voir aussi : [personnaliser la construction](#personnalisation-de-la-construction) +Voir aussi comment [personnaliser la construction](#personnalisation-de-la-construction) ### Jeton GitHub @@ -55,7 +55,7 @@ GITHUB_TOKEN="xxx" docker --load buildx bake static-builder ## macOS -Exécutez le script suivant pour créer un binaire statique pour macOS (vous devez avoir [Homebrew](https://brew.sh/) installé) : +Exécutez le script suivant pour créer un binaire statique pour macOS (vous devez avoir [Homebrew](https://brew.sh/) d'installé) : ```console git clone https://github.com/dunglas/frankenphp @@ -63,7 +63,7 @@ cd frankenphp ./build-static.sh ``` -Note : ce script fonctionne également sur Linux (et probablement sur d'autres Unix) et est utilisé en interne par le constructeur statique basé sur Docker que nous fournissons. +Note : ce script fonctionne également sur Linux (et probablement sur d'autres Unix) et est utilisé en interne par le builder statique basé sur Docker que nous fournissons. ## Personnalisation de la construction @@ -72,8 +72,8 @@ Les variables d'environnement suivantes peuvent être transmises à `docker buil * `FRANKENPHP_VERSION` : la version de FrankenPHP à utiliser * `PHP_VERSION` : la version de PHP à utiliser * `PHP_EXTENSIONS` : les extensions PHP à construire ([liste des extensions prises en charge](https://static-php.dev/en/guide/extensions.html)) -* `PHP_EXTENSION_LIBS` : bibliothèques supplémentaires à construire qui ajoutent des fonctionnalités supplémentaires aux extensions +* `PHP_EXTENSION_LIBS` : bibliothèques supplémentaires à construire qui ajoutent des fonctionnalités aux extensions * `EMBED` : chemin de l'application PHP à intégrer dans le binaire -* `CLEAN` : lorsqu'il est défini, libphp et toutes ses dépendances sont construites à partir de zéro (pas de cache) -* `DEBUG_SYMBOLS` : lorsqu'il est défini, les symboles de débogage ne seront pas supprimés et seront ajoutés dans le binaire -* `RELEASE` : (uniquement pour les mainteneurs) lorsqu'elle est définie, le binaire résultant sera téléchargé sur GitHub +* `CLEAN` : lorsque défini, `libphp` et toutes ses dépendances sont construites à partir de zéro (pas de cache) +* `DEBUG_SYMBOLS` : lorsque défini, les symboles de débogage ne seront pas supprimés et seront ajoutés dans le binaire +* `RELEASE` : (uniquement pour les mainteneurs) lorsque défini, le binaire résultant sera uploadé sur GitHub diff --git a/docs/fr/worker.md b/docs/fr/worker.md index 8bfbee1cf1..b3c6e4ef41 100644 --- a/docs/fr/worker.md +++ b/docs/fr/worker.md @@ -1,13 +1,13 @@ # Utilisation des workers FrankenPHP Démarrez votre application une fois et gardez-la en mémoire. -FrankenPHP gérera les requêtes entrantes en quelques millisecondes. +FrankenPHP traitera les requêtes entrantes en quelques millisecondes. -## Démarrage des scripts de workers +## Démarrage des scripts workers ### Docker -Définissez la valeur de la variable d'environnement `FRANKENPHP_CONFIG` sur `worker /path/to/your/worker/script.php` : +Définissez la valeur de la variable d'environnement `FRANKENPHP_CONFIG` à `worker /path/to/your/worker/script.php` : ```console docker run \ @@ -25,6 +25,9 @@ Utilisez l'option --worker de la commande php-server pour servir le contenu du r ./frankenphp php-server --worker /path/to/your/worker/script.php ``` +Si votre application PHP est [intégrée dans le binaire](embed.md), vous pouvez également ajouter un `Caddyfile` personnalisé dans le répertoire racine de l'application. +Il sera utilisé automatiquement. + ## Runtime Symfony Le mode worker de FrankenPHP est pris en charge par le [Composant Runtime de Symfony](https://symfony.com/doc/current/components/runtime.html). @@ -66,24 +69,25 @@ require __DIR__.'/vendor/autoload.php'; $myApp = new \App\Kernel(); $myApp->boot(); -// Gestionnaire en dehors de la boucle pour de meilleures performances (moins de travail effectué) +// En dehors de la boucle pour de meilleures performances (moins de travail effectué) $handler = static function () use ($myApp) { // Appelé lorsqu'une requête est reçue, // les superglobales, php://input, etc., sont réinitialisés echo $myApp->handle($_GET, $_POST, $_COOKIE, $_FILES, $_SERVER); }; + for($nbRequests = 0, $running = true; isset($_SERVER['MAX_REQUESTS']) && ($nbRequests < ((int)$_SERVER['MAX_REQUESTS'])) && $running; ++$nbRequests) { $running = \frankenphp_handle_request($handler); // Faire quelque chose après l'envoi de la réponse HTTP $myApp->terminate(); - // Appeler le garbage collector pour réduire les chances qu'il soit déclenché au milieu de la génération d'une page + // Exécuter le ramasse-miettes pour réduire les chances qu'il soit déclenché au milieu de la génération d'une page gc_collect_cycles(); } + // Nettoyage $myApp->shutdown(); - ``` Ensuite, démarrez votre application et utilisez la variable d'environnement `FRANKENPHP_CONFIG` pour configurer votre worker : @@ -96,7 +100,7 @@ docker run \ dunglas/frankenphp ``` -Par défaut, un worker par CPU est démarré. +Par défaut, 2 workers par CPU sont démarrés. Vous pouvez également configurer le nombre de workers à démarrer : ```console @@ -107,9 +111,9 @@ docker run \ dunglas/frankenphp ``` -### Redémarrer le Worker Après un Certain Nombre de Requêtes +### Redémarrer le worker après un certain nombre de requêtes -Comme PHP n'a pas été initialement conçu pour des processus de longue durée, de nombreuses bibliothèques et codes hérités présentent encore des fuites de mémoire. +Comme PHP n'a pas été initialement conçu pour des processus de longue durée, de nombreuses bibliothèques et codes anciens présentent encore des fuites de mémoire. Une solution pour utiliser ce type de code en mode worker est de redémarrer le script worker après avoir traité un certain nombre de requêtes : -L'extrait de worker précédent permet de configurer un nombre maximal de requêtes à traiter en définissant une variable d'environnement nommée `MAX_REQUESTS`. +Le code du worker précédent permet de configurer un nombre maximal de requêtes à traiter en définissant une variable d'environnement nommée `MAX_REQUESTS`. diff --git a/docs/github-actions.md b/docs/github-actions.md index 0b05806bdf..4c4c2f43d2 100644 --- a/docs/github-actions.md +++ b/docs/github-actions.md @@ -12,15 +12,15 @@ In the repository settings, under secrets, add the following secrets: - `REGISTRY_PASSWORD`: The password to use to login to the registry (e.g. an access key). - `IMAGE_NAME`: The name of the image (e.g. `dunglas/frankenphp`). -## Building and pushing the image +## Building and Pushing the Image -1. Create a pull request or push to your fork. +1. Create a Pull Request or push to your fork. 2. GitHub Actions will build the image and run any tests. 3. If the build is successful, the image will be pushed to the registry using the `pr-x`, where `x` is the PR number, as the tag. -## Deploying the image +## Deploying the Image -1. Once the pull request is merged, GitHub Actions will again run the tests and build a new image. +1. Once the Pull Request is merged, GitHub Actions will again run the tests and build a new image. 2. If the build is successful, the `main` tag will be updated in the Docker registry. ## Releases diff --git a/docs/known-issues.md b/docs/known-issues.md index 0a0a42b991..012ea61f71 100644 --- a/docs/known-issues.md +++ b/docs/known-issues.md @@ -40,7 +40,7 @@ The following extensions are known not to be compatible with FrankenPHP: ## get_browser -The [get_browser()](https://www.php.net/manual/en/function.get-browser.php) function seems to perform badly after a while. A workaround is to cache (e.g. with APCU) the results per User Agent, as they are static. +The [get_browser()](https://www.php.net/manual/en/function.get-browser.php) function seems to perform badly after a while. A workaround is to cache (e.g. with [APCu](https://www.php.net/manual/en/book.apcu.php)) the results per User Agent, as they are static. ## Standalone Binary and Alpine-based Docker Images diff --git a/docs/laravel.md b/docs/laravel.md index 67ebfbde71..57fdccac91 100644 --- a/docs/laravel.md +++ b/docs/laravel.md @@ -27,11 +27,11 @@ Alternatively, you can run your Laravel projects with FrankenPHP from your local # The domain name of your server localhost { - # Set the webroot to the public/ dir + # Set the webroot to the public/ directory root * public/ # Enable compression (optional) encode zstd br gzip - # Execute PHP files in the current directory and serve assets + # Execute PHP files from the public/ directory and serve assets php_server } ``` diff --git a/docs/mercure.md b/docs/mercure.md index a3dd4e8d32..a21aec12aa 100644 --- a/docs/mercure.md +++ b/docs/mercure.md @@ -1,6 +1,6 @@ # Real-time -FrankenPHP comes with a built-in Mercure hub! +FrankenPHP comes with a built-in [Mercure](https://mercure.rocks) hub! Mercure allows to push events in real-time to all the connected devices: they will receive a JavaScript event instantly. No JS library or SDK required! diff --git a/docs/production.md b/docs/production.md index ffe1072438..8650b74fab 100644 --- a/docs/production.md +++ b/docs/production.md @@ -129,10 +129,10 @@ Your server is up and running, and a HTTPS certificate has been automatically ge Go to `https://your-domain-name.example.com` and enjoy! > [!CAUTION] -> Docker can have a cache layer, make sure you have the right build for each deployment or rebuild your project with --no-cache option to avoid cache issue. +> Docker can have a cache layer, make sure you have the right build for each deployment or rebuild your project with `--no-cache` option to avoid cache issue. ## Deploying on Multiple Nodes If you want to deploy your app on a cluster of machines, you can use [Docker Swarm](https://docs.docker.com/engine/swarm/stack-deploy/), which is compatible with the provided Compose files. -To deploy on Kubernetes, take a look at [the Helm chart provided with API Platform](https://api-platform.com/docs/deployment/kubernetes/), which can be easily adapted for use with Symfony Docker. +To deploy on Kubernetes, take a look at [the Helm chart provided with API Platform](https://api-platform.com/docs/deployment/kubernetes/), which uses FrankenPHP. diff --git a/docs/static.md b/docs/static.md index bde848bee0..8c866eb721 100644 --- a/docs/static.md +++ b/docs/static.md @@ -43,7 +43,7 @@ docker buildx bake \ static-builder ``` -See also: [customizing the build](#customizing-the-build) +See also how to [customize the build](#customizing-the-build) ### GitHub Token @@ -74,7 +74,7 @@ script to customize the static build: * `FRANKENPHP_VERSION`: the version of FrankenPHP to use * `PHP_VERSION`: the version of PHP to use * `PHP_EXTENSIONS`: the PHP extensions to build ([list of supported extensions](https://static-php.dev/en/guide/extensions.html)) -* `PHP_EXTENSION_LIBS`: extra libraries to build that add extra features to the extensions +* `PHP_EXTENSION_LIBS`: extra libraries to build that add features to the extensions * `EMBED`: path of the PHP application to embed in the binary * `CLEAN`: when set, libphp and all its dependencies are built from scratch (no cache) * `DEBUG_SYMBOLS`: when set, debug-symbols will not be stripped and will be added within the binary diff --git a/docs/worker.md b/docs/worker.md index 16395b899b..625e87e034 100644 --- a/docs/worker.md +++ b/docs/worker.md @@ -25,6 +25,9 @@ Use the `--worker` option of the `php-server` command to serve the content of th ./frankenphp php-server --worker /path/to/your/worker/script.php ``` +If your PHP app is [embeded in the binary](embed.md), you can add a custom `Caddyfile` in the root directory of the app. +It will be used automatically. + ## Symfony Runtime The worker mode of FrankenPHP is supported by the [Symfony Runtime Component](https://symfony.com/doc/current/components/runtime.html). @@ -72,6 +75,7 @@ $handler = static function () use ($myApp) { // superglobals, php://input and the like are reset echo $myApp->handle($_GET, $_POST, $_COOKIE, $_FILES, $_SERVER); }; + for($nbRequests = 0, $running = true; isset($_SERVER['MAX_REQUESTS']) && ($nbRequests < ((int)$_SERVER['MAX_REQUESTS'])) && $running; ++$nbRequests) { $running = \frankenphp_handle_request($handler); @@ -81,6 +85,7 @@ for($nbRequests = 0, $running = true; isset($_SERVER['MAX_REQUESTS']) && ($nbReq // Call the garbage collector to reduce the chances of it being triggered in the middle of a page generation gc_collect_cycles(); } + // Cleanup $myApp->shutdown(); ``` @@ -95,7 +100,7 @@ docker run \ dunglas/frankenphp ``` -By default, one worker per CPU is started. +By default, 2 workers per CPU are started. You can also configure the number of workers to start: ```console From 3951fd667978328697c5e8f42a9463b3eea05079 Mon Sep 17 00:00:00 2001 From: ginifizz Date: Tue, 27 Feb 2024 15:38:27 +0100 Subject: [PATCH 5/6] fix: md links on readme fr --- docs/fr/README.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/fr/README.md b/docs/fr/README.md index 46d1edaff3..580cd091ee 100644 --- a/docs/fr/README.md +++ b/docs/fr/README.md @@ -4,7 +4,7 @@ FrankenPHP est un serveur d'applications moderne pour PHP construit à partir du serveur web [Caddy](https://caddyserver.com/). -FrankenPHP donne des super-pouvoirs à vos applications PHP grâce à ses fonctionnalités à la pointe : [*Early Hints*](https://frankenphp.dev/docs/fr/early-hints/), [mode worker](https://frankenphp.dev/docs/fr/worker/), [fonctionnalités en temps réel](https://frankenphp.dev/docs/fr/mercure/), HTTPS automatique, prise en charge de HTTP/2 et HTTP/3... +FrankenPHP donne des super-pouvoirs à vos applications PHP grâce à ses fonctionnalités à la pointe : [*Early Hints*](early-hints.md), [mode worker](worker.md), [fonctionnalités en temps réel](mercure.md), HTTPS automatique, prise en charge de HTTP/2 et HTTP/3... FrankenPHP fonctionne avec n'importe quelle application PHP et rend vos projets Laravel et Symfony plus rapides que jamais grâce à leurs intégrations officielles avec le mode worker. @@ -29,7 +29,7 @@ Rendez-vous sur `https://localhost`, c'est parti ! > [!TIP] > > Ne tentez pas d'utiliser `https://127.0.0.1`. Utilisez localhost et acceptez le certificat auto-signé. -> Utilisez [la variable d'environnement `SERVER_NAME`](docs/config.md#environment-variables) pour changer le domaine à utiliser. +> Utilisez [la variable d'environnement `SERVER_NAME`](config.md#environment-variables) pour changer le domaine à utiliser. ### Binaire autonome @@ -50,26 +50,26 @@ Vous pouvez également exécuter des scripts en ligne de commande avec : ## Documentation -* [Le mode worker](https://frankenphp.dev/docs/fr/worker/) -* [Le support des Early Hints (code de statut HTTP 103)](https://frankenphp.dev/docs/fr/early-hints/) -* [Temps réel](https://frankenphp.dev/docs/mercure/) -* [Configuration](https://frankenphp.dev/docs/config/) -* [Images Docker](https://frankenphp.dev/docs/docker/) -* [Déploiement en production](docs/production.md) -* [Créer des applications PHP **standalone**, auto-exécutables](https://frankenphp.dev/docs/fr/embed/) -* [Créer un build statique](https://frankenphp.dev/docs/fr/static/) -* [Compiler depuis les sources](https://frankenphp.dev/docs/fr/compile/) -* [Intégration Laravel](https://frankenphp.dev/docs/fr/laravel/) -* [Problèmes connus](https://frankenphp.dev/docs/fr/known-issues/) +* [Le mode worker](worker.md) +* [Le support des Early Hints (code de statut HTTP 103)](early-hints.md) +* [Temps réel](mercure.md) +* [Configuration](config.md) +* [Images Docker](docker.md) +* [Déploiement en production](production.md) +* [Créer des applications PHP **standalone**, auto-exécutables](embed.md) +* [Créer un build statique](static.md) +* [Compiler depuis les sources](compile.md) +* [Intégration Laravel](laravel.md) +* [Problèmes connus](known-issues.md) * [Application de démo (Symfony) et benchmarks](https://github.com/dunglas/frankenphp-demo) * [Documentation de la bibliothèque Go](https://pkg.go.dev/github.com/dunglas/frankenphp) -* [Contribuer et débugger](https://frankenphp.dev/docs/fr/contributing/) +* [Contribuer et débugger](CONTRIBUTING.md) ## Exemples et squelettes * [Symfony](https://github.com/dunglas/symfony-docker) * [API Platform](https://api-platform.com/docs/distribution/) -* [Laravel](https://frankenphp.dev/docs/laravel/) +* [Laravel](laravel.md) * [Sulu](https://sulu.io/blog/running-sulu-with-frankenphp) * [WordPress](https://github.com/dunglas/frankenphp-wordpress) * [Drupal](https://github.com/dunglas/frankenphp-drupal) From 89febca51bb8e9150ae9de270f62ca9a868ca07f Mon Sep 17 00:00:00 2001 From: ginifizz Date: Tue, 27 Feb 2024 16:02:21 +0100 Subject: [PATCH 6/6] fix: remove duplicate images --- docs/fr/digitalocean-dns.png | Bin 129432 -> 0 bytes docs/fr/digitalocean-droplet.png | Bin 163083 -> 0 bytes docs/fr/production.md | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 docs/fr/digitalocean-dns.png delete mode 100644 docs/fr/digitalocean-droplet.png diff --git a/docs/fr/digitalocean-dns.png b/docs/fr/digitalocean-dns.png deleted file mode 100644 index a084c370bc73fbde6ce5a71b751cbcb6dedc61ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 129432 zcmeFZbyQSs-!=>g2!kM!3Q{5hgHlSTq;w7_-CYtxgS3KxqJVV6Fr;)ND50d}&?Vh1 z{ho8(&;2~l`o6X9%lF^!yI5-s25Gn`;1_q(rGbwcp4172S z29^mPF8Icp8;=tMjxbFuqT;E5m#fRODsAwC14=*1BA0)$K&%1c`?8# zc0=xA4Ba6bSJjvqp-Glfffnai%_mr{p#sU2CLW@_5 z9arq0wF6J-MoQJo?;F1?6ZqON_2YZ=J7efKk<0^x)$2<7OO{_f)H1y=)hB4lClNyPB6JrKuOcUSNlz5Q9g;?IC`zJ5u z4Xu1bgL~BXmTO6B4HHVP4?o+h}=ZC49c$C=^bbZ8>?e|&czbTZ}&T)l%?Bvjsls+Xk!eA|2rKdByW~{3s zd9y*|AQ*%F-77_Uj3{{vC#kXqS?rSCbnJ8d_ZVb1A_+boL&R_WY9{&|UclJ-?wI1c z?5|gO#LEGA?+CVY_S7;N9OY*5&4RCXdP8EbFZ6`KMy|F`o*oH(4OGmIc~9hJhPbIi z67=TjH%=40pG17$E}ZCuNer$TxwRzJjLr%-O^~LNjN?b+@!_QePmqSV+!vD;pmLSC zAU0EABhivd*%@GDmom#M93kG=!*= zc~%l*3oV8qoMt>MT-k3fRJ~3w;V*H-k9^e{nx@--G*iEJSa)~WqQm%|di(Zm{=F0e zG0ZQbDm523{g>?$b_O#bUrxRX=Vw1_nJXi}Y+@RkQ+|x`;0qS2^`r*l=Ik{raZbGJ zKj|^EU*U6}KCJ0wGUEP(YZ0WbN)#6eGonG^RlTAy;zQk}`l99pNydr)Lhf{JGNd4n zpaHvaR%At%I5@bUSkUCvr+ZqjugwQ?-V(ci`;FB6JF@$P-=(BplO=?9OaFMk*ePiC zSUqS%l87ig!%7(=7YmFsc$EmIS_hg1q}+?@El*Vw*7OKl2?YyHF{>~XL6EA!mr9qHeKKGzMRt7k`d!aO)GBgGkS-@1!8jZI{HgW&^b zf~q`%-j4C^z2pGz{D_^@XZP1g>|dukapV%0ztMOT@p}D@_iN@io8LOViITiA6L+RR ziOH1HQ)kHkSP@qd;Tq@~J0yLI$V8eT=QBw%W03dM6SCAZ$}|>he!yZap%-R^W#nT? zca@etKAj>sJ z5nC{kl2g?~QdoqIin&IITFy}0(B{yGp^2gDCsaL&6ygdwK#uZ4~j}J@(xujRTz)plhY@w ziHtm1Jo`^5t+$36(oggvvdxRg3)@B$^D3p+D@IHOWvbK5SA|dYPPI<&c*XOoO~@o= zr4;EGH|o|a)oaTtbSN>)+wy!ysiE z)_C*u>%p}HoKy2t?*qpbe_o^8*wnvnKYVP(S>yPcdYrnQN||@k$fLc~^3xG#nsI}% z`PZYH^`^m8W7KVTlz7HXhHQo`?M&|4JmfX7^%<|}kQ%-J<^F_O&i9ue95m|k)AIXW zb5`*ODR0o=M!fHO{?*F(An{H@NP=7sZ&GE#Vba7W=EOd(8B@QRK$Dh=&eG@BKka_n zTH6SWJ13eKEz+=+kq<(7}vXi&7vELdSu)DBl9@CmI zsAe4J+H~F+nb7|%yE(O4zQMN1A(T!;OC%9?NVNGC|7&AtM5y-7ZKrI(vbzy?ZE5HP zR|Ta7dtTZ&dGWM5ORc>&XY7sqy|l5FyxuT;vh}R!{T$=+TRWMwN8bl(kR+n+;F+I-$2>I z)^D3Ts#c;hO*(+8p zqFa(%(niuta!N8UH1!5!uypVvg7w+kE*{BL%8oUbzYlie@NA@fzSX^!eSh>mrZe~F z%F519Hkp}-vTzb<9;qNJ<%95*GcI1P4<=FHNK8#l*i6&fBi|-bxU;9yigEc_o}UGO z31-4~C$%TddDA1eCbtk{6C-;6IunP=*4@V@-3MIp>NhlkStIkahq8z4^LkyYB({Q0Nr#!8nQ5OfW;5k&DxS4QE@`=(4G65lRvU$R9eK8y z#9lSW%skp5e@H3ZwbS!Fbys+h&qdn8Jk3t}{tx*WRP#fXQEz zBA!rBYtJxgoy@yx3Qcl;Fa7FKPxYW%$-hLbhqDdjg3WX>)j6BeKdVw-c2>*V=QKZ~ zqc|alQTQe&KRFTqZ1EXU;}(ALF+?LZHu&Q?FL~OJq;cUMyYUU{n|bBAj;R6N&(eMh z51K4BB?QRTk%dg7=0!V8V^L968$oeC|TiALMWVz&AqINylCi2Za{eVz{oif!u5#BjVR z>5TD+kIsk|A!OxNx<-7V`a(oqET^fOp&+B2E9dit)9<;Z2Wh#IvdK|)Vm9!Ky-&TL znL1cImTBnt)toc8vwxfQ<#%gDCo%KRh=?p59LAyIsvh66>`fyS@IJk}KKW+9X*t?p zr^)H}y?v9fOwkI5MO#H-e(qNns!6iC7v_Ckk=hN#Pb#Br#QcV@*79wij`kWX>ovPF zuF0JBd`qepY243c}r=q5<5eh zbGF%%k!h|*{Su~<>(dXtYlsz{aG)zyVvB z;3bMl{omU%m@F9A{`wvZ10&2D1N*=BQ3mhmzjxq;Zu77AYcZi1*TE+e@bXB<`uE=W z@bqi{-o`QkzhOMpkd%`H?;57g=H?DAR*tUwz7)aW3w)<%FI+G%D45VMOgZ)YJK*@E z)|$^JE4z*A?zUtHto$_jp;q??HpVLJw)#PwTB?sMt{w5 zkN&S+Tx~_}Jy%ktmvnSCr{`toWaqpm3ZbW`7j`zY5LB0v`LE{SlgK?QS63%N4i0yB zcXs#3?2gWs99#kd0vw#&9NgTGz#flWJRMw(Jsvr@F#hWx|2~eCxr?c@wUev0qXRwq zxW*=qZmuHt?x9cg-+%wQPIC|I|2dO`%YWS#xIqr|FC1L#oE-msY|vB~{jH#?wTHRg z3n^=R&}ZNrqP$$3!hh}m|N7;B&iKDtKL4MV+)uc<|98{>_0#{eDa^&(S<=xSoYPhG zf5z*-8vpMf|Er-e2m03kS6BS2pa1$6bhIc$nB%_(O%&3xe7Fb3@vgO$iY9mmvkd)* z$p!wg{OcXPJuxsB{g@sDLmWd+>Zzs&=EfBMx#s?5$1aBhYdFQ`fCMY6ZbpxmdK^Nt z>f^)F(`AD*ua~u*&ia(2#Sg7XrM0CYAp`g92SOzza@523wtau6dM}*`SuS;-FO7C@ zkFKA2m@Op>xWp|d3p9HQ_f9OAe|6LiGp2uqfra;{|9(Y&A;PZTTPin_B^JlP#Qwv7 zDzA(vnX&%-H1zK*vA}6It{J=k;TitAl0g0BYkzzz^smHI@rgHnl-~@Vdiv+Lf{h1% zN%W`Ph2GEefp{rfpC~c>`X6@}HZeV_P2m4(ToN!^iiOX_Q8a%#Bw#-f z{4*&3tdu{pFaMu1U#c5H`npwiTrSJKJcGGPkJ+>eISaIkxY@LepHTBTJb@uKxrULj zeSnMpY}G`lGW3aJ{ma;;-^cGx78tY}ulO#O{Xi-4lRkW`Eo}+^PaMHZ>~Q;1+oO#! zi(j4Zm$IToxz|UEB3ufWRQyjrSPvs(1?GZDyPsaCF@vLw!=7)OGW^T(%|ntsml6#6 zQS4VMS<#8Ogj6Uw+FO6%t6npyZUpKRP(0-96Fn=WTnTpzzC|!xtUsaWe{ncz7rkT5 zi@t7g3*ec!T^98JU?RN1YI}gH^xU`D|3<3vY3^$nGwoA`T+NpCNtZsJsXDhTFKvdq zS<`jKUvc+O*GtYg3M9t!^HSGT_OXGlV0i=1BtM_`gNxyBUBQGw`g831k-`_ImzT%Q zNzr1L{F(^Oe02lcwxyn=BqXdLQ9c%$km5c)W*buJbK+d?v1_v5E42OTaD6nasoA_M zZYfUJVONJIl>JNhTWr7IbJtzQt@BQ{Vehsg`KEXBJOhEN_$Y-LsL!;kvH0n4-Ex3E z$GhW};#fBA#4e8JNtX1*CV(0>fs%r5?T+#Zq;l=H|=85`);{V9J4HkK-x#9?ab17?w*i11X+Xmbcz*bZ=W>c=9J_wvtNuI{x-9CYvAZry-CSpz z)oE&0Z{O>Kdl@@4v&W-X6$UX9d34{KMybCItM>HiIfC@FWTSbHXZ-yG^~)`Kx_ytQ z;y+-Fgc4GBPu99zT&M|kUL)fFl2)Z6dU2q!-*TPqQ%UpX_)y`C!DN?Sfuo#{(P%TI zk*Cb_fm!8fx7hn3+ZLAC#leRJUi-uoU>Umi7Q1@Z zh6{QUd2G8K>NhQr+9eKPomd==+j0yR>kE~y7uVDW^-ng6HH<;n8W*>>~salP~6k6f)H9T|I` z!#mbV6E@#ORN@}KFlmpbb8I@_Q`jyysCG!nSIY{mp7GwQ&9k0qYCKM`G;J>THDGlW zFl~PutZzG6^LflXUY}$sCsEbPr7fKN(j@Gz^Xn_&tq&*r%hY3I8GZW8_Pp)$Z4o`- z`p;pj-l{qBRoAzVcY`eCKPUZ4WR=cYTs5#feg9qD4;;KY5Y^{&s!> zlPrkkd1phN9(tR208`}mY>*7!h6@)Nt>D%9{)H0TM^3X&Vt<{MkmXeGUKT5pj$5*K zjUAd!EQIcyAUOLKI2z3iJQvCL_xr?T*)0tb8hKH*vw;MV;V5;6V#`#|_J*^qdYP6G zP05Uu4=SQ#uInR@tTAj?`ZJc^FsDANtiviPShVPhdqmLfZpqTm1K)W5*ysz!{*?Pn zEeGW%t>=odE`sh`4N6!B`Msnem$*cCt;jGGd4B=3$jUG%t(j{CfaANF5S1!j14uc z)`5pPctEbWHq+dE=ds0GO7*fX;geq<3{<}>%Zl_S@^qc0W((dtxKz)PPf$(~^kn!6 zCZ}`}_lQqOwSmVR4%z`xht#VR;*=pch|2CH+>U{)(bicp^tEZ!v%l_NTw7FQ7srzd0m z%bB(dt9fZ#hL#9atm50zzx5xO*z=HI`lSj1?9~IqXg7a)xK4TesjNv)(@1uXBt#(e zCY^y%(#t@7WWU>XO%sc zoGZ8%8aVX_0;~Jlhu>U7q0Unt3y}tkB7yp=ou426eY7S1QG6PwUQ=!n45$jqFa$D0 z#Hr2rur%w30& z^Q(QSF3}^DDZY#O?)iQnbGHI-#t0ngY#CO3vrgH}HW;VgHI>zsj67VCVq>5-f4!~2 zbDspRwj8JvIxRy^`-?dc?a ze-P9DYXvdf4x!pm-Fa$%lU%rS*y)-O1ee7pM@t{RQQjviV_fWYxaJ9~7?Q9DF07n` zSs3XRg}lTLYrO%vhB$p6HAVvoMU0OCBSd1L&XaPT)`R{)qy=ZYep|G}P0uOyNPBY; z_|TQ`%`3o2^jsXzY^xL$89n!w$KfZl z!KWTSYNIqvCiYSPA`P3Wb6q8&dZ6Bx!Z+>ll>iS{lAl}a_X8VU;|UeZRPR(4k6hvi zLjRRXRozb0D1mmw=?f=>NZL^k;U$Y}R_WWo`}yrvf+emFh-Hwq()wEN63eAn|#^fS#-yq92$Z;5Lla>a_JLkd}RPqoW{P1 zsW1>U-Kliet8p@JRgk6gt*G5;C6Mfsy`utxsTFVAKDx#iqqrdgNqml}rNxLh+J?Tv z1SWMQ1rU?IRFOv27o|TEstQyGJKr;s7CU-1>zE_4w1zx(+bET;iXK6yG8TjvKWaeq zZknH5o^5-N-qsfilni*Bau?g;0a^J?-0KD80n-^R+~M)ee(^+wvq zTT_ubqhlFghWs!0>4XwK$nuqvPU6GHYgaNO8q&3${DxdA6B~ZTD3Aoo+sx${g-ZzM zheEkU4*Df!jBg16zb(v>ZJhU&mi*o6e%h5Cnb!ckxNZ&VG8=F`^id+GN(&1NUwwy# zpVnvR>0q|phuK1`KJsS*n-zoSCy;k6PUP+@w>j!JxY2pZ)g#DozKwdaul7X4gk!S^ z!zk9+wUGYGSMUo8KqT~4)SW~6fyUD2yzoC-HS^8HRbWfZTkl_60X zIpik)w1r=iJb5U!p9tqJN6jqOV5P0L5Zj&_Y^{Q$WjifU9)cMP>mew97CTIqNf1h1 zdF6Y0u-g>>y;r(OHlqOToD2N&wo_V@>$E~5$I30ei|z%%aNLq1=Fsj>b}ZOA5Pf6? z$BWHL@JrYKbhilm#JXq|RjygkbfqW~a2|vJZ&Z8^dK2i(iym zn4JkXI)v%oL4w3d<`G-DKx?4>X)l5a0iA54DgH3+4jiy&?8$twSv!sJ`qNUNtVfGe(Efd3JYGfgp$D1aQrS99)GDX+3WY~Mz za9(QG%C`sznI*1055lYfIgZ!n6If1nR0pm1LvuW3;~xMA>27Kx7(fgg@P<)usOu`x z7=l!4aQrQFp$FhP{wm4ak!C~ACS(#TOP*~u zO@6BjT;TZSkB_VdT`y>&X|U@Hv7`Ss9ml|0#rp*-wf&hXZ4jFNOOKd>eff;apINeJ^&gP2nSn_#MvY#F+@cjAkL_qU9MQczqx0EmsTeOjaeTWgwaG|cS}F;9Nv1Bx3nAT5FZd1& z<5_`rY_5i~KwFyf@f)mXkb7hAx`@ADbwr^X{d~S$BMQo&#UsIY7y7sq|e1j!+NH+0QOcvRKYtL!af0GEM&9$ zcDcT#7@Ytod(6MFE>f9$081*%0{$HbX*D)FFYLG9!?y&2p(DyjK{%`y;EYLX1hPV! z`l>M8a*>fDUCTQ7=Gyhm3O`?WfUNy~%bW8hbwWaYQ_!(?F|PBlw&kxhaR`70&L^dm zWc)*iKZs7O#kj$o<&ItO{ewySG@tmx6KgnbAyXf-I=W*xfOH zl?pNB53<70xWY|K_PzqpPo70we0HeW$3(X|>C5g7$7&l`5Amuqu58l=^{yh~!W`Vn z6tT1~dmnhlL>k2--STbXX;yv2HoXI*AtJ1ki0!b@Vg^C&z!{C6v?tavwP1Q24$*xL zyUDlM6@Q#pet6$bx2`y65clU4Wyl;^I9OzOZbcDwS`@q}G*~%Upv_S)u&p+Vo0644 z1TeE7yP|*3a|NV}8-OfJPci<;*JJ_YFJjWq(lK(^+0UsRCG-dOY$Hm9eIb zJkmsJvI?`L;s>stkoPjYU-a#S$6am4&j7AYMCaC`w;Z3cxQe<@k+ivb@SqTe<2fsqQrO_@e#+RFTZTCy!c%mF zLnB*p>vL7o9Eux{#)DzZ1S}68-sXB*%7zs>_6M`l8XuTa1#iFhJC>ieo6dU0UIW04 zI^?>uK-n#nC&=Nt3rd>S=t7bGngv=tX}!PRV6l($36W8$dEB>Q`I0XG1UW+PZY4I1 z>jb9jv_;WvX60ln0Jib^Q<85$6}#l?Gut94&tPB3AXJYn6wS!#&r)4!%U`Bid9PyE zJNp_aed27H1i+)H1_;Z0uH6)#RheKeX*^2w1QB7wcN+J}pEvGse=8uiG}IPqd%4i= z`9aNIbjEvI#03D86V)CdZ}+QUkueU^w;e4$ME2qwD=nAyF1FsNG}Szl6e1&nJ$u5h zIi>vcnNX%E>6w=??UcPaV<~bwA1kmW0|Fabw-0t2IG6*AWA7UOi$AS2^&%qC38}>nvN6$XI@&rQw zX<<#bkOhbJx!NTLm)u?@5_+~Hg}ckElbW|b z|26-Rg*m1yYZ+hk!iZ={co$Mh|4J(7La9mOzK=+i4kV5wMA{b_G}eh5sXP_O!TO4x zw8&oa!t>m?Xq$`YpPrT$aC$XR{(VyS1r40p0!l8|vM+TB0NCYcE3kF1)7894B<7+C z@GSek7ow9uzI0Mwa%6=}kL^)IYUX3XqAL7gs$TPNm`QkZAfm`$q?U+*m{uXk3`*@| zOYu#y^ZrSn{T{eRu3`dr#^%L24!2KC^oiPkNxmL7Ihlu`V|yv8yDiHp3j%MCKp&UJ3M`S*QC&+^W_g?%&GVQqcM z&xwWXXR&@gSgc22v8FIchTg}9LA464o;d2hRba3E<^#g7%Uqpm2YZLcLoI*7UQ!sf z1{1wdI5&#N|I){0H79;t$uqi7c>is_em%Uk!6&J+-80ivo*5O}wg2O^p1k%)+@tjn zU$Q4d{qF7n4WHfz!1;Ym**%NP-86jC2cLwt8wS(J&%38eV|0IZ`D?_blJTN)rc{X^ z-VRmdyBoKfQL`M3B@cnJmVVrvbFc-ol8aI1Ez6Ka``bIFXpkV-?Y?c24$5e>JK=E; zOj|#;w9)KoSuhUc13b9&7f$Lw=#)oj3aIB3*H_zR3Sp8;Jq@?pIM=HVJ7tVIiukil zZ*v;G$_MG%d)g>yT0XaSX{^Zu1_Af02yWCNh`T(B_<}M%xkBHPvs%T(qUXxmAU?b{ zEn>R)Q7@Z4Ge6l|HSu;LoC+e51Jx3@%yG`~{p~*g%koj@pX`)Anz3vlt^n5k)w4BK zUoEg+Sbn|?9C~GQ4YWUhUPmp`4!eHnf!grahAJm)rZJNiO-pI(y_9aXD4T*06${(x zay0$U%-5+z>fhg#<@;6*h=4=@3iCRPpc7g7?B1WVsyi@Dl;ZW4V#P%dx<5cnRnffF zc#CaGxvOn6EWLx+Wg%P8(vWa=20TxTF=E>Dji2QNh{;nKvFDZ?- zU`w%Higs~xeIHUQ2Lf|QYS+YMtaLh`4Z7JdJOPg|^gGEB0JiW#33?-cM@KCR^a}1x zTDw%QHCBJV0?m9AGB0TOj~ACRRigMp%pfAH!2UYB7vg!jUefF}$`i7;q1rEx*`yd+ z91SA*J*c( z{0s_6OZG~lhK;f=wD}|<66fnaJ6Qd|$ual_V2WP|QW0*+&??vM=_!PLf>0Sb>ZC*L z(il)>+a-R{B1b!cbZ9_PjAKG&=z&U0*enZCOYx|o|J3=q;nkkIcL$C8K`u3q&9A<$ zYUVLPmC1LSNO_f7{t~@2ayG5ozI>bgwdj<>J2~r>}OO*p-ie9ZRYiBdXGMRh>gI2k8mFU+~-_{(JiZV0P@=BdM25 zkiZei%$(T_BTx3r4u2KbZ*e;|UsN><+AFjOrCeJj!nvC4H)!^|KnoSfYLQ?}&;ZzD zn;{l|YRJs0o_&9MfEY&#vt{zj&=as&&#Q$`SF-MubQ$8S`~kL5B^1y=2w(l6%JZnw z&^1hl02$boc6q>job!AT62bZ_JzTIQqd!Qep>~tDoE-H6AhFutAKX4zL4D4u-TT27 zRR4Z>d3*$)IoW7vx<5*<(qz&)FQtKAKRH}_do-rUjrCf%6I%A60Ga>7&ketg*a;W=`Kz;~CI^;WRmVI`Z667$lo*ArmG~5Rf zN@A_c@~NZ7Ea;)5{k({IIo?41@e%;=O*H^A`;r~XkF-r3C!kpDuk~obq5L#kxdeFH zqd@qogZ4U7x7y*?1Obo{f$hgeas9TIOp8$))KWC3!Ps0D{PlO<>??zkLX}$tt*Am!JjaetMjhf%{5j{<3 zTe`EAW{;armZ$+%eEdnkW$FII+|u_t7p&*AQFb`+3IjgQOi!c@S(Sbx10f=#A z+|8)o6d`ZS8?c>lAu%3i8t88`T%dzdEj?( zI0_#)*q)ggLc+SzqP#MQ$XBsx( zp1MU*hbEcTVk-e7m{VB?=tGZ;(g}z99?cR1kwxz*(|&4AIV6CN9&8=Uk`DqD#iSU7 zMA@S(m7OV1tkqjZ^8=Hr$d}92-PkJU{zA+JU2oJG{52TX7m&qVS+xG*hHgdwewkaU z8Og?vHqXVt{KIspT}ULFcNyMkHE>xDNhyKfNl_7WkMOF=Kqvyo()Tn7m#HFVNEm16 z@^rMB3Kk;ILpHC;^mGEM+VafzN&|;1s~2CNjXYIh1gbWnY0l+KL3Qe9;I*0~)AFM< zgE$WwT%=P8oio>u*JS7~3cRiN%owU~SP?a=YA$mphiVK0_XPnV(B7cK;Uvvc#f%xV zj`RgB4_iP&;%`@y{$Jp2zNHG+vtC6*I}qwBL#l^KK{rKFXabBt=_9K~d*SoXtp!I} zNCC)HFd?j14aM>zq6RFMjicqhwCzg68@Q3ue`?tMHAWj8Y#i z+Fj^K0(srZ{^nV#|K&-iQPR0X!>&v-BxX8G^%)>88aHDB)obhvH(C4}*2HMC! zY}f*3Smy{ZeJZ6h_SI9}An-9K65bK#m^=b@)(f)|0sm;zlPCTi5I5$0njIuTAvL$?1B*I z;ZDrB4RTK{IYV3>BnS{qkpXYmOQo6pOxm#A2nUUn`qs7 z3kVl?=78?u#ZG0-)5jsXe`V?0uST-A=Rme$t5a#S2veH?b|_MZ9+^1@=-_Qw>M1a# zfk_8YI4dy)kEWX9XoAs%_M-xdYTyBrwLKL^Ekm>`w?M?xTA#{#gZxJ1n#i7Nmy&Ov zMx-51eFcraY#PAmu#z-Gp5VMD|2DXbpeYQjggjnLEVPXj38i?XbGtI{#_6pMsQ8aR zS)RAC+U}vuqa_*A!)U!a3%tyi$(Pg^uHld;0;tE8XAH7|&6i2sJ9Bwd9h`L4GD^;` z;UOQugHt$!>?TyS@(j7*(0l>c08VmtflcG%GyYeNYHbYeEcY`pUewuhOdU!oS*{Cze}c-n7zaFr?X5%40(&cvg-^9H=1m=C z=#+wV!vY9A-eb0R#+vU0Qhy7l&JG{{h!hvu>ttL4fOUk27Ps4tZ!DJ zB1Ey>K9ApVTG$2PiIi(~`QjgR#B-4(ye> z)OR*&mZnj5p&c;`k|EF7b+U(5K}PYhv$y^rE~g1FA>SAX$dAl~qF81#h}9oR4r@gT zEZr_)N(HJ#()rc>;*1x>h{qiEwH(Lu5x< zs;piH>7O>79;_~e493{+$0)FKglD;jT9wrz``wQlkMh6kOyO!H zw*!i8t1hf}D$V-Hsn*9U3)~y~c?7pQElRr_G=>?-%?Jqw$ISzyk=Tg!_~H%-^2b{v zZPnMye}Ho(;E@4@M&w!LiZ^fyJs{_g)FE>Ks?{d46NC-FO%n#co%~_z z2a@Cz-Pv}j~PzMB;Qlj3h{rz>WV&?L1!L~`dM4FSL*NB#)MZwS6Ks3LY)I8>#~u2WL@tK#bNEYFT6 zzVri=tBG!^Hq*z_P9lZaih~sGGgbZigT|p_)hjY*!P!^W?&*G{u*lO4PxSFnj;Ki+C~6T`tO}Zr=M_3F*I^U|`(>y3>0` zpCbQ2X7}%1e#rwFY4NWy_PScI+!2~IO|9>?M5=K14`z~0q4Qg zt>B)?a&!p9bXe|j(6*xUve zLP9YGXk^8F^&FC=5T$bfSuX)u6?8`(O}YU#FAr<~t3|NyO*25pGzPb67wMR573(E% za%@RWF1)F4^3m-TajftcTt;dYQF&`mt%puO2SkrXh6IiyjoA54(2GW|%H}55;sC*B z*HoOaCIV1?O4JLz)#sKnbjUr(KsrViat!b+h!4@~mgV8va1S6d6SpS9+xE5&6-T## zM74d~-IwnmVJzc#^+HW@`E?U18kae49H^`}X$zlj2F1l~O&HR1w()}`N5tn{H zq-E-=n5d0MCEZVG;HZ|fqMUVI)C{t8MtJpHfAHuaNo{m^mSxpHBCx|IZQb#>%)F}` zT_pna%Z=+zeqw9YTcGwQ;b$%FQ9Xm9znJdz|5V3KFNUUx4%bVPl!7RHyQ^o4FJe3cbHRg0*seyd#&Y9N48^ed`sRP(RI8N@-i?BAg{Tg0mVUZn1HSg%>~-QjF$W>P<1^` zsCwpyBP{5)X2$$MRP=C2L#BnBFoXlt{w2G5HX;_U6Wv{zvLj@ltaG#dR}Dn}a@~oj z$+y>7B{VO;-O5$VlEGOD>+t~iaZe1B0;sn^Yyiqh?h~JB`;GmdvUE({5kf!9Emb&f z6T6?xS0#H-TV1&=peG_9gfp88(hXp}!Y?L(@2s&NDNNuq^`2`DSps+0>pI$Syy`Nz ztW6T;Ei&l7j21x_=jBHo0|moT@fEz5RGFXQiC)3>S5T=NS!~%tT;iMNJ9JzPI5ixs z;-kZuQ-o3WWz++L-L>tnnAh(b0Se|z{|ue+=vNjF-*!mpk2;x1s!J0{eB;4@0)ECa zy0QmdmvqUUpIS3h?OOaje?jod5v7z?jTXy|A zAk~wFZL5}c;|^>D0>VwIp`&zPW_ttB^J*cVK*6a}2;bDL8}QXi=?IDhGz}K9n%e+W zMuTst(DlxPc`C<-T9wQ=@$hL+OMe47ub3jEc*U~KOFf1%2Tj9o?;M{g6{J*YJwlz!QuBRQI^P!SY3ZT*rNw!(s+jsSTDD^t zA~#GExVc5vs;*Gx+5sx}O+-PlaDR2Jad>}-gayTL6LO%Jt)yYzk;^K*|8*xZ)i1^Q2de?>mXd6wVj#K- z{YcjiS4`VpvgIL8MNDKVeXxELkd0aZ`AI2QH(QY|^{UB6@e%V>qdlc{6=D z@YFm125j(54uUZZ^(U;dF;U4}WE=&Fn(AX_&wKhs6n z7!J!@PB(Z?`>`lyX$97O&VAn-sk}|dv?2zv$(Ob)O^I`$XSRyWiL?FA zHruyv2++9pKg|WpxTUQsX}Q>CvYBS$hc2dtKIs$9043vuP5b-xsWd=TZ876}9C=@k ze8c(L05GG6Nr_=?_)DU)7{sgEQb**XJEDnwP)#b%Svq+u8s$+D+ z;UrN?nnFCgl9gv6G9Q^rb$9D<2k6h)h%+@i)s49-k1qhBeO|r3T~(Y=m1)FzUKsM1 z=*~XxC5RdRQ>E+~8MUmx3@`3~ zG`yGS=VGkWUEQ_Xs_{?H%b~U`XBIKO-0h3+j*y%=S^`f78F`p+*)Zl7&wav}7$o8e z1S}U{U?+QvJwSwH0Z6uA+Ej=a<+<7c4^s4Xfd|n3`K3vg@9p6oL}D0C-Fw|eFE^n( z>z`SUU>Si%Jan)!)f%OMyFyj*M-oRKn^{md)h6ZugT~z`u%JI`u&k&(IRlnJ>TAtZf1|F>n+#nJeMJag%3I2JL7wn;c=1s z)@EBb*-uQC=JEc2kYUp|WAA}V4D&9>T)B0Z9!dpm50fIIslEoDhBQyh0p?tdK5Cyf z+3gFl!Q}&@%Y&mMsaOlL`LeIL_j8p~)^LnAd~i%+LOeH|kGN1#a(ofwsXskHX~hMv zV%=N;waH6awatPFS~>e6G7Im`%F(yTM^>mWx}{|@lNap8U99~%M)5Sry$qlp<8wzMUE)20i z8fourH;Jm8RX-U!emc5Zx@})}Ox7_<_8=~r1`@q)h`hD9U~uyT5MvM?yDOJM;{y$C zI%@nby!_qCObE4f_6>h8ywT~0{{`mzEepL%F)KKhz0B z>JRF5=G-c2lz0PYvVc%8d4u1B@ITOtd$RP7LHdqLpDYB^4*3k%e)`2Hh+5uVhKX5C z?&<9>md#u<45JTcb(T)~Zl8jU3xwqT6@ z-d$+?5*)7N0T}Xc}8Bc}2U}?xwE7lX(Udm3b=aWEJOl8CF9HhoP`9JKv zXEdB`_cop)TC_xzs1Z>@qD1dW1kt06-g_^>h%$sI(Fr1Y^gc?IFnSxki!vCU!4M2$ zwEyLK*YmFR`~U9eUhDbve!0J7<;%=9u5+LJJoY}1r2-V^2UxOs+OdYy zay!a~fU>OPcZ5BgKV0MhmMf6+yc`+PqS3<3_b^2P&Ry3LM zTB5i$TMa03oc-rd>@SM3Rxyf5rkai_kQhF=-mJG^{_q;l6SQ>{+VK|S=eEX$Kt=5Q z^S5K^djVQd_dL{TU|VmqmOTmq9&xIBA_)kMKobi%FhX3IyTrJF{FI{DgPzHgcKV_~ zLnktIP$Who>P%>1-bg+Ld^;a|mLG1d21-?@hxr&P0GaxVVavJxG9R&Y*{m>WHC?9l zZOHizY;gIw@atDVvhmwf|EBw$(H|n=h`kL52C?ne|CulwkWJo$FqumBZ|-k=VfV#z z)zXv8@vHB7;7r;1USf#T_DNd(Mix_ZUv(WLZxrpX{erqAHm5{f{m~wVt840@Ub{`M zMpT<4h}>Z+*CgV#IKYy*OEK9D)vM{dYcqW@s=Nzud_Kgt00uO#gDZh*%SWgPUBz;$ z=J;LHa4_Txu<9!y!+u%I#0uImyO=_M@I;|nN6GQB6E`4gs))*^eeBLT<^d3OHA{6y zog|ld0l6%PP#ajO*oE9-w15JqE^FnTjr!S}3eEtb;~<}fG=OkqBqOMgE(4=yWzk)M z9Zm93!4fP39>P4I5DXCh+lT-@!saMRI%flTI_rqRV?qu59tIhZtteq{A^->D!5$op zia@uU=}lj)YXUmN##|3n-KSX+4xAi26U6oiatvTwP#ebYj38NR)(`-@yRmix;5f%a zp04HiNGMV4q=>lXCj*GJWdU&H@pAlvCK4Jb=gHtG3qg+q9$8IDyf*X7D~*qa#`3-s zo}F5A6Z`2vsraUUO*D?6+ef~>_rJ<-`E+2Pb)`n;?B{?2cAr(E)#FMw@@;vlVa$HF@Ed{D1oi!e!7Ck>|rDlhdCwzUGA=fub)}W;~NmEQu?zLP9q zOuO@5KQI`SNl=@jxwtsMH%wHfa-VWXo$T>+cwZTQtwrzs!}V0>*?B?12gyzq{l>4t z*=DbR8e6POz3XhP;?N4vc@dzwK2e;wSGN&z3ce|}Hv$;OW&Okfb{RuzHTy~)7h_e3 zjvlQFMJ<^n(%ElB7UOnl;9*y8FGtO%hjCMz1A2#KxX0;!Dead~>3>^0x| zpjR&T;63QiShUjZwBw7eCACB*kBbWF5I{py6R+#_Or<6B$NSdOYnQzLMCh(ferbdY zBN5+veK^x@$?!VLE^#n02J75(vqkz=-#B-pDHm+_p1;wR98^$3<x zV9&H!H#<(O1+sRLt1wG+x|QMD{m_Vl%Tq**o(N`R^e=vAh7M4OJbbb0U&aHNk2%cN zI@)WiEmjsDPnL;hK}MQ!LOEi4dTV_&D2VAb>`xd#x2uXTZhdAOmsDhc0SYf^=MV33SK6K%B*4-w`-bP6RFbeF8$0I{bwalT?bY3 z7Xq3FhV?mVZ0JUdlOIZ~G9Itpzbd4(0@@!(F+YHRjm{YTyBSsI!a=6!{T&~74IQC7 zAePtCLL`&eXAX^kzR^#H6hxpAAq|osq`ihHLx7h}q#lV~5a`*V(KI&msYX8a{77vM zU~p;F|3u92J|h*kk;8)b_VcR|8UZ_tiDEw54xm=JEef7*Iu0z2=J)!0v%KLP&bEGnPKfzd=xzxTYPXIES{~6i<6+y;2_A@8ovoG^NCW)V30Sr4VzvZ`h{7z~HD{6U4Pral4UoSLk-=MfvhDX8(#eiYBP8 z3gxjszrGenF2M_8{U)$apwXfd<;eN%Q(4hiU?AJIl(!bjA!H}LQM)!8p{FI(0m^$N zO_AWv$LTNwv|Lg>7rfy5Dpx>rHfjdYo1CK-$?G0Z#K|$(9s}*V#m5VW*|XY0z5weO zQqCb8KtCzS?Bo90_EHMx_{HZh?Ap6*X|MOhy|yNiRbK4~UX zK?LLj0K{0|)6$s~K3o3jx)NDjFrDS5FXZs4qXr)rHuorE_TV}sWQAG;=EB)fxG)vr zB^(XFH+6B>p>7!H85lAHY<-p=fJkOo7Txh6@LkVDh(;jjCQyW;d^Hv2V1ACdz|DeH zM+otyb==@$PRp3tpUw+Oi?QsoYfO|!0!CG9x*2Uo6+EJ!(VnX(>q`gBA4X@UZH;ojZ`wZB1=mN6U*Lw{<(zC>1 z+uNc@O(yv)dSZ|su(I=-wL*;^3&q}gfaEj#C9oxIZ2Up4PwcL>3+$1=f$dRl(Z*HR z7owN4wcaS9Jt12H7<_<_Y_)e3goKxz3vndn!3#e@7XazqY<(bkg>!SR$e_MTC>_Y{ z0H?dQA_p+tlbsBHAgS3eA~sv+?EHXiK0^+WK*^wh1JwvP0e%C3X(_m3=d?7omP3*P z=n+ii$r-Xyl-5is47znFrqoH01g9W<50!JkEnqspT|<^a1MN~CT6}54>5V!`Y}fsz zWy*D@;=%85zCa34O(RD+$6Q%UlJ{V=18y@~^zd|4Ag0(owU_q+(5_3SW8C{2%5K0M zAt3(W-oGqQZJER9bU&Uf*5tn{xz!@@^M^+FHam&4yK`CrY}jlJ8@pxHMRV(V*uIK?oWM0SU+7B$1u%)O<&otD>jUT8U z9F+i5tuyPof@3v1?Zju(Yg&On_M*-Tw>$_dW@uNvjjMnXJX6>;dlcLe; z+8qu%pkgm7w?3W&$%qDj3QR;j@FUTh<#71z4*2J;1KO2}R7{{EArEgP)fSDU?@!gG zT0#}D#6;@c-WLw3t;2A>xxLEQ5bWT}WtoPL6^L`rD5SkTo>lpPRC{v3eUS9h=(n-b zio7fKBCXrBlKpS4?^oll_X&yA?$rRB+oiTH3wZ&PD$+(p9BRqx{G4)6?G7G@pYZO> zPKg`yo$6i1CP%FEX_Lyc?UBHBop++kj%Ya0_*}Oc_{Iz7dnmCBs7CUEz9w6ouyt;Lk!qCA1M#+At=#zIj z{W%OWRZOhi0UZC{>ub-P1lK%gnYQ#8^H=g%`1$G$><*%PTm=rKC@YvGxBi9lo@WU~ zGf;sT>5IUe(&MkyQ|+ft#s~(6`Im1+%c$#uh1#Hh+PKoocRjl#LOTFYs?}lvV?bd# z*L7EkQ@C`mjJ`Oi0C|(eW3vwKiG)}Khh%KR6h3HPeNstmZY!n;8j3wD+R~fNpubkk z+X9No^hjS#me&_5)f5C2dZ0z!=gu|8G{xCP$N+C(E&T4HgyQ^Y0bf-0D|KR!m`1SZ zouy--fr(QGfPIlk*8|bNTatp8Kp!CAziOmfGc2i2CgX8u))*`acPs!f#`f# zTx}j2Xa;zS=BptdMP*NGmw5sv1PjFW5>q4K6-|Q?;z5%h`8KXQjS2@YQnzceCI(Lc zp{X20t-gRFX!^m8ij6nL0Enb0VM%n##T}M7YXE$izH{mFUR7WX{4 z_OPuqm-CMUYUSsfwQ6JHH6JzY;fs%^DJI_Tc@-aaJ0gl}whyNSWH!p^ope|}Jpa+Z z>0L0aV9G4!-ZWm-mUXDUQ81(-Huu#Qe0lu)n{9=?z83%{xu^5oj)B{M%KoGx{BS70_A*SG|$gs*84vDQq!B&(`n(q7(a7 z-eOR-o-ASs_p`bo>5*ieN4DQKW@m=)7qSZo0ii7AN{$*_{V|U3x#5NgL~POJ0zz<9 z)UW0ew7tKGO#U9RkTcwW89lo3eb^W@aotr}blv|uYv}Np>s7tnYmghz;BH*%pZAk? zcAM;)zd#kTNjcA1Y%#jm>NZ)W*Y&9Am#9HR*B)w=c=rYbT?yezDJ6l#2^bIq4gsL=3nOQik_4dr*L!h_641TUA&b(v3}{LW`L=~=E4c<@~+8j$RJz>e!Z;!W_Kk~t3>Js~YndZ*T7H4k18 zTcyza3Jy&2Y=@7}v>nI)h>(!uohG0H@z2P}rQNX`%?<{RrT6Wk*{l=AoLk-RCw#)k z&xJPz0pl*9sc?07tN4Wi08;Lg@TpWNqNzN%5Lq`0poyk8-=#AaKeH}>D(bH}1I@+N zER~-&&u@b|t^udlg-H@LropM`MV44#8?@qA6bxOPI(pP{edJLP9i3<~>D5etTu^}0 z{8+nayX>_b%RWuMeaE$@WVAMAaYkNiLi;e`8T(?P-8(|L;Y=y1rIhULn9GIPdmG+` zmPoG+dS}C9i0f_LVocsJFwF7-O?`B^Ebb5Vs@8$KXcb|c3ljBK#mu;i)Usjq=RQYu zomx`ksTeO$)L56;6o6PZf^J*=ogrd);!7jILEU-UW{YvIzf||k=ZG!%hh*w3a-vZ0 zDdoDc6E?=H@rvDlCbe90+`#`7b?GkemF*IJ3m?3>u70vx)Zq+1&5{mf)vUO71(_mI z6?z6(o^ryzUE4Z){us-QTMgrQ`7dv*`^6^TQ@dnp%7F`9q3cSfuAum_<81YQLA-=o zS5&}lJgnn04|A=u&kD;?o8LQtO004C?NW0^R)wOby(%OF(E1q!s$JKUj#0n?2YW@6 zMg?3Ghx}~Ut$iHQEFnnc86 z`%oRpBi|b&At#+Drb@JyH2xu+MW`+K*gt|(s|97 z4X0k>%H5$WG^@jBC4fbT)Am_!@wa*GSad{d3;W7!iejJnZTl$GoBdp$ooWXAJWxYd zGXN$XgGB`y4T+H;aJn!cR;=rCEmAZr7TNu|QoC$`rKRJY-Y44lHt~@A0FrT-R#4vu zf{xJvRWz|L>~+{Dl_`i)$ci{Q>{DK}A;4@nsO^1EXXjFyeBbD7cB)n`s7s=*VX`a* zFy=gv5d*uD!ns_1*~P@Vc=PUQH*QT+JjrkQ`YYA5Y1U5TAn-EBrO+cXJ)7 z&r7LY@vLyno;;lqw49y6s>}F9kpmprI?#4GvDRDle-3a(6}UQEa3a-`sWYK zpLqG}_wrA?{Plau#@``;L!}wd%jg5J&DQ68(Vh0W z|J_;t5ht(}AViZnmo#lngNXC)$^U0O@xM{-%Ufs6H|b%lUmL{0$~fz5|J}1&EpCZ| zmEYu>PrWfQ;`&<%^uHdh#9E;PhxR^ceD#;``#=8?t$_q-+gC#bcZV`{{~p5s@9(H^ z#c|)6{rQ-$?Z5m(#|Qu*hPf~3|6hKt``$>U{Yv-%j^h9RF@FbL71_RVLp|199YU*Z1@pMMtcuVbzCpB?x=1Lfc0^Un_a59iK5DfB<=q<_x9fA5|D zxugC$1OLNL`Uk}P&p`Qi`24>@q2vx4N&of&_y>{x|9bxa56;7#r*P;nWY>+@Kgiy2 zTW|0VmrH=z<<*~B{Y#R#cDC_PwbA7aFQlVE`D_hh+W%_*ipYF^fTe%q){ zn*^I%OX)XQe*udnWYm4#%Bw<)Q4#gFR` zhd;=o9BDn~>za?s)`97CzG4;266D!Z*c_=@o-ALeTe^MDftgv7%wqW!wmenpG+xS< z?^{V=MlARt~ z23%s-H8q2NyyaGaXY*nDAmB}oU56nrc7M%J)em{3;7M%0($Cyz&Qcz&1@5&{1w4Ot z(67tZ73>zYd`G_2dc=2p@_XT=x$YG-ZO?bZp5f{bT!^aWPuGd(lXd?N{6ah@oq%Km z0td1HO(SNQW^2M{9Vs3KINR0J5wCsguy(u z?+UfGb+{$H`CiIXc+vI5ScjZO;1`e1ZORJGQbI&eD$$|Qqyw&Wz<`B8WvBP?HM1AV zJ|FrtGRAy2#E>%zlRq+!N^wJfG%?uCvN?|XG*zEiVJE`!lN1NRVi&0KUFs@`&hfa8 z_t64t#j00Wlk&oZyh$2Rqpn1Pj|jEaA-_K{IOcalMm)`Ls0ABI+&rg?(T5BVERk& z?|!{CJ-)E31MaIaakQbgU`!BU>@fMn(B|OD%o_zfsN`%5w?4Z%?!;MkrfP2=MY-av9)vGK=7=gU+=jDK43YGwS|3D~O5CmoHkrmAH4UU|2T znwATBkD*B^Rp0DH!CmC#?s=R7!h_I`%5X1y%7IKkj=ulr7zF2{%5^Lu^V?+kt}+pk ze-c`MNXX)*-9(!Cry~~KQI(1BCe`fA9aVQ0ZrXczAL4cFL*PIN6#d68@~)lZ_Qq$k z#~*rgqD6~M5i7oAq2^O97l;;tf(&oF!^CpmJdw*kE2*5ur+u6oTjiHqE##pT@$208{?FZePH)Xi(=%F))1S_m^FI9=J_O32kjyIe1=awm( zNP-j@UW%Y9o4R>S1Ehsu6~LxAarE4s^$X5Cz7^2K9&>z)YOI1^qT-G09>uYuQs}v7 zi>4xG$s_N5Y0RABk)=Navv3@!Mdp0U|3Vvfmj;eC0PfZ8V;WW^fSEBU70=?Um*#28 zt-M1HL1%B?neQ~I=8BznJ%B^m#Fq#LS-8D=A?iVpO!_kw$P-9ag9j`{CYL^tk&z!?oTVO zpdlJ37tTN$8%?rqNovg}1KLcaUmw6ex^$8wl#%D_Le8GcW}(omRtY+dRtO!!ydc55v!Thm1(&$-PegQraZ6|_t3@TGdDaFfk%^eLM-7&m*RjMdTD;AT8Tk{ zxZBQbf#gvUaeU-d!>^i@P^t4J^CZtpqZb7At2Yzk8PX@)xle@u^&$zY@=yURz|5Ko zV>8j!ma{y)Y|=eHj+V^8{~NSN`Z!{!7T~0@W42mCiY@F%|B6fL%4j*#Z>bqu{(>#y z?@st=o|Yh+ej?Dl;GwS0(0~0RCHKPy^SC^U7J6KN`yRw+&hd~iRs12dE=eau-HWWN zA9S2G?7rTHRgko3Ls2kVvq@jCaqG>vqWf;+>)yFZjHU;Y*W#>V2bO$_ZpINbZEOP4 z3PiEf`ALQDbx+WIE%?(f#>*wfT9`|v{cXf^RRUw|SW-%X_}Wvn#UTj#KJjT??G#kw zUP{`}i`9@OL027hwvdF`i`?nsZHFQHkCPv@OXd^Uf1MrXDo0hN+?OkRpMEecZ{SpUaerHHld#C>#xuRlkLTNb=``kH zlHvkG=?#9|lSvm|k&AD%E@&=u*(8ci=Qbp#43-GBZTv2#{F~&{Why9+={Jm|Sh{r- zfOGU|(ZRM|WK(~p)<$1-*}@9LiH(zc4y|LvA7y86jl-{Xjd>SN1C0rGM!US$$p3a~QxA$mB z8=*g-#eeH|d6?;6EiQGKJY0<+%LEV#dNlN3kl+)EXd&nzRBI+u_WaXbVeftCt7B*V zj(4xsr@8UYqq{AGv=4RZBQTrOkzf?+}9nH`;(k`ntc43eF)Xnk`-%ienb|XaFJgCf6~f_8zEy1oB@u>Mn}ckj*A+c zzK5wuhf5%nH=hDKe(G2^_oVeUsY49Md2i-v{Y&MWO#u_$cN!~K0S(lG8*^xG%I@QMNCW`grx-lM;SjmEnyy1-=li3$X6t#4w zZ^iP5#=gS-Ot4S!6Qj;RV}~eJ{{{)dfDb&Km%~@*s+|3!^!ON$RZI3*|Hww1Xrb=| z^_h|ZAAK8-Ys%-FH;g4eW?wD)ZEaFD{|>&!N>10{F&n}~E+&nZd^{i4{CHW#7!@O2 z6(AYgOapmzIRs#Dp}cs8ImL^phQl&vNJ*K{M0$zw#a0N zLMR;RC1MY98Gh4Ot&K>N&Nom%c`jisXE0o&P5shvE1`)>bD@Icv;B8{@hf!%a5}ev zue)6vP~=;&3(iQC@n|rYTXKK(1t+TPp4KF~;ipFQCc#8R2Z>neD{Fn0(&E%XOJO;N zve|WT_)4*ddub#1HEG)TC36!-B$pVn3}8U-k`|s=4VUNV4$A%-jP||O?vD_=>)AYcYk#sQ|_e9m+Z|0zx zxb;uM)Ss7dqzLk@6Cr0CLN9P$}7yBSqYDbj}EWuwo`guM~518UUpO8sQ=JGyHN4= z7nwi0894C${rhj}YftNbPzg#e?cb05qV3*@yhJ0NxB;%x-fXnY!@J^_`!UXFik>aw z%Qa)Ju;P=H=H}8j*7`LD2c1fZMW_omOifA+GW!oysw zVL!@wZuStiyFE_&x*&%{iGKT+L!E6(!GK}j$-W=RFu(u!o~vgf`&;H zFxDHHHa%CXinYNL=45W69==x?0~imH+_O|b$}%Q}K&uN{;67WDqV!qi!x8oy>-OPF zseB93m;(ioi$UbM@)^b9&4F}};Ogg$fRhMXr*vD?eUa4f_b0UKRMW19e(Fs|u$htB zB)Co=;zY%bX)J8vrQB`cx*$Q&g83|5l9YX;l}of>I+jDigE@OsiY6_tJ7$Ojq2~Q4 zG>$oy8S9cri6pD-p*>kpsb-i8(-l4Q%<#qBa7{?rdEMBs(ql=WVsd6U{04XMu%dQW zkvN(VL@Np2=ki^;TZbz__w`$(1w3{-`~txIDq`~c1J;s1>emIzbsJNAuB)nFS%utX z`0qt$`A6h|+LzmrUUF=2MIxR>s0pP^tMwpJ^jlZcDQEl>@w-e@6fRs#Z%gOmo}oWF z`5+LrC25OFAL$9fGXM4R;Gq z1wz*r_I`rmUGy$cWSoE(3{QT~Cy2&z)~Ff%9=QD}BlGGs)0xfl5V_2!^5|OHVE-t3 zZ%mstn&J0HJcpH}OUYwNp@x>DGG|8w^$G7yS+PFpGX6WMMIOnR@6$i3Na0coo_Ep| zc`%r#9vTRoK0+00LsXZrs;=1sHltfdxaRE>t*g`5MY&e}9*n9W2~YBO0AjV51I-%4 zXkCLmA4CqcEMNz4SY8Oc*7Mit`V%75n3Xub?}H6j3kK!e>Z|&1K*|~t;k23K7_;xR zC3^x}y5gw;xK*i_#hi;e()4|7P4)@)Q-@m0s(q!LMywrsK)nsVs6I0EPV4)X)Jyxo zXH_ozyjV-W;0*?GjRd*`zuHbM_E(_^u1nj(rRL#@d_w~S2>7V)HhwxPh2Jlb{r^*LgfyL*>T_U^38*X6JtTm4g1Y6*~4e};>v zAlB{N()8uveVo>G4Jz6a&qr@>)cSWTaRcX=zKFE0`<+!%^Onubf}YJr-_32~-+@%s zxV7iHk)hOgnc%SYxhnay58VPi%B%v1A8&^F-MNemQx#cDV6~Rkd&svcrkLw$`eyYZ z^=iW{(QzPgUG=`VA-uxWmmF`~(y{D4Wy98yLN=wFlFTPyEA)Fm2TggNXWplGfbKj3 zEZb^hn)jKa#UiQH;p;_Mmygr75`szGn7EQ(NpIbd+jH3TBu{J_XjR=?YEN64k)#jk zbsWxaX8aCftBybNn)8juFyGApJpN9i*>a369w&P%e*;=T49TC}K*ojhCo3<5(xUys z+~Y6#ciatCG6jw=0YIi^ulm|bgR=57FMT{w;+oF+c}9|M*pOhI!DGXczKNgy(2Usr z#7eB1d8CFk?wd=P(Z&|JMsjROx*eab#9p8M6p%Wju2W~6&^iJBGaa)=c;#o|>1E&G zXViClq}*9C)ddo0TZDt%Tm&;wf&X`*N2$`zWoy$l#ZF%~O1?s>WK$QS1o?igkHk3v z2U49I9%juJf1V6p0p$_o){>S>PYr>(7a%7qEJL`0qCYkzol=g?Q&d=+?F~{*tzFn} zB5Dwh+9}Jh>(&K2`lVs5FVvLbP^+#1w9#mqaVcVMm;ox8zpu@ZKVaC^UT4d<{jkm$Gxp)j z+C!Y+}HPj<_F67Q2_nz7D>N-I-z4x?@W0l5}V zg&Xlr%Wni5ca44rqBn}JTvANd$Zj(857FZrrFFgKjF)3CR5lU8; zP%3mwGh#<-7uH-OA<-l;6w1|}wUqGIwnO$hAE3pG$SzFG7x75;ew8Zi%4E`-)o5!> zeR?XHCfU=^%&`9%5;-|1l&Ab?iid+aBKB3a#0RFkHmc`CKV}jMSz;@~&8g6V1Ud(A z^4b=GF?E;dU56*eWEc}5O};b-C!BHl@S5_AXPR%^ z49;{ejQx#%o>S$E;6#ZYFK7;OLu?ioNsgtn0ymV~F!~KieOt7MCVBZC@`kae_yHZU zN$AdNznl(?2)KC0qnpKH8sx7fbeMHvQ7SyOWPWwb3 zmQ6nYxOEgK{FG{XOzKf6{&gD_(Q@2DdO3(XVa})~l^H4s$->la8r$|`qJ(pKzK7ax zQo0oEmM*_DmabE*|G~*|J~FB^ssNE2R`$%liwh|iaQ{(HRM3}0;|OJi(|A;u`!1hx zbywGcFs(G`%sZ5&m|XftLUE&;iktT%FGj>h5>eZk*olH#N2l;emHyE56rRpUnJ)Y+ z$jI%H{@BwAyj4P2=?L!FyBvq?7&!(WCuuw;`pEuG>ygRVo)(sZs8_1+n+d(I-03jX z7)p%9!Tu_nlvn?^qR5HA_jceg&WF^SeQ)txd6!-rDz0pOiRhuiaIHSx&$-gL8hIF}Egs|Q$6$AI zq4ePq_XpMnwiN+ZzR~2zr8!*iAKgZyXq(gu*$lTGGn{FYl}~Kuzk%L8*Z%nGRP}&@ zdo9h{>&F{Cn!Dv$Y`O0(OZ_HjRt6Gpt~PN`jIibNFwu+6Smj4Ioy<~)G*dPOyjx+H zU6s0PiOUFQZq@O9iQX`Z>qodM3 z+UZOF58$}aN;UFKeFa`l2!+r$k))GDGF)+2Xx&}5?qGel((pR!56vdx>JLfX#$$g4 zLr-cPlC%2rj*T3erq@OoN0J^Y21lh-E?(?+OY40_2g3TYd?sV82 z9j4&Y;s$t;tiOCnN;YkYORM~>nFYPdL~M)Qi1Y~ip#@VOPioG5;n@Wda8IsA!>6B& zB~&T)OZqYTr1MF=p!7Uv@bEQU(a4Cnpa^B^evH#SHf>W;q`^Ay=|z5i^FD)5hYHZ3 z`l_UF**Je|`%h>_KyyITnOcmuCY(YUR(OY&_$KZ9hHv6cS=>;)!}~Re`ER=_3t)9s zmP^1TH7h;o;qtIY5cO>nA@eqsEoQZjdSSoWb;;rb(2%@5{w=&h?3FC9DH=6NGB|za-j>CpT>v=t;%og@VvpB%zKbG z1#Yrt;~D#SlZSPsUH@zMP&l1vqj>IZaV-M#H*6*r`B~W}-&d1D#`ub6C^KH&CWr2* zf7$zXQzK1Bhgij=iY8{FD8RZRJKzsbd*v-U8Bt<(Wnqocr&8Aq-eVv9Cs26h$5#U6 z;Y$@?yMd$NssGOvjGUf^_0JEKB%Z=t_rATg8sj8(KQP5-l_FwjxJ5#a@87p53EXu_ z?z@oQN~Nfo2%Tff=Ny9WDQvwdo@l3Bi!gtE7)!$CB5vlAfQy?WjQehZ&PPVv^xfxe zYTw0?&l>pT_exdz%fsx?jB+|wJZEW*dZ=YhlSB1vQ}mN&3Z$clKGl+wo+0ZDtY(kUInvJW3cs4b4YD{;zm1vjaVi)kV4C;8HR z{5L%P3Y1BzQrm8mgxbE8RD%kSE%gMdN9GvN*d^MRVPXYYe|&T4jk2_DfG@adzBpx= zEqmlxqQvl{pBbV^Lrpij!J`|oLPT!irK4@!#vvOW&&p$xYuvXjUZTmPFz!s=KnHVa zkb^RB7m;on5~+-}I#YL!1mJJJr4}5IrP2JuP#@+iZ}~VrLO52YHC7oJG!W7HgU8AI zMt4BKiEZKNUIE0$iCV#*8QtTDX%f#xr-_E|JJ}UxA=c(h!&m6z8%ly`8g!qBL#j*YD2Vvax_xB9R5c-nM z-B4MiiV20}h0JwA?Ti^%(LJU9g8T(a^3syW*KMsaG`Dv!j*NI1`XXfL2>r#{McK&8 zTvR{m{ZhS~g&na(0DtcL;9=>boNj7sDAA)R>8ub*-r!zQgi`OcPkEH->kM@(H+tA+ ziS35#s_LfAv&XHvcYO?ZZ=_5mPTwS^k2S1+pL#bwb9ygsN;o>ifGvY2+OU&PTPQ1f zs!H{j&G@SAydx_m;g4y?dA2=cdGh0X;BVPi`7xh)JdK`VSu*Ok&O7G#-xy(y>}Os` zC#{I^bp8sO=OCUA(V+`cju#Q41mzx|R{JZb``FbY_$5w#D1~`z%^9HfH#y$lW_z_0 zR_%$Y=g&oLoQasv>!Ageji=7O)N}5ZWcBAdN-?J9?u=FKDY#8}3araDEGxGtZvScM zF336?RT+UNANJplj$upZt5Z39>@u%{p01&?(ChsmW}V=dpT5EqL}a!rjuijo7auG! zZG&$R+MIAgKiybQ0%10u*049q2E&-8q#MpeF%!QLtt!LoEDoBZ6zq8GcGSijZih7v zdZYPnv~Myp)Ztvaw1+u8E60aef*q=8L#46G*|OoEjMMkrQ9+Ezf)KVKI)*L?6E2=o z06(3enQn8(ivYca`u(nZ?QsGS+{CwA?#x@J`=r^SbY_U{CXZX=i<84{O z$rg@63o*%Bv098%;jg|&be9&r3E_KD7pASvkKZ<1KPHo! ztn3T)Cx?-5y)2%9yDcZae>Kx_8pbR>{_cfqPcC7&Q2H$u`BGu@-O}&YH)Q5B^l&?M z)!EeZz&7@(U@21&VL(`%`|>Bzh_=8XDz;?fKf%T}<=faKk}deG+|-3_Q>SkBuoqM- zW&M}s>dhm@HSmB<{MS3=0!q`lS=Gvoz*VKwA7*zECZbMAEFP{VOI)iM2nE*(=E#|q1E29>+vF&eLrtG0 zR4EE8at=RO_>tceHZYp|2w5GDkC6@E?UXGuNo9+LA&n z$&gbnJAr()YODS`jp4*ZJ}NkAC?rshR)gQKdT6((ibvji2(KU`L>SRfE5h$Z8j5|C zL$*px(==qnbx#3b@APGsZeyCwzQ*>Tepm3*A(`0MV@Ex*ou`M5SLuA*T8eV%@gY6> zNc-pdtoxy9-=Tc|aiXI6!>UvSW=RTglOplnbRV6~;XwcOIxWXKThWFE4ZKbAG5)nF z*Y>+!c~Fx*1+>Y(V4i&qLL6>3XQ9&L|A(YoF$}240##6dMO#Byb%fKz49rgjWmBP;?lN8erGt=)7Y-UuNz60ii zR-@){;|dBUD(wei9>+`#!=z1GTz1+cGA5r3Tk_&>rP84}Zm}}zPKvrGXwAVp`8ln= zRh!^ZMO!{2z`vCsGxm@ZU;6Z6>LW{+&X-BCoL@RaO$e;Zzf>o%zh=*%W_{-b2POQ~I^Ed?77e@MOuCu#Q4TBL2|Il?nlihuPbr!OY+l(oeQ&qb>>&FU4}`@T+sCS%v+EjXPir=0ry>3he0Lc6qi= zhS7<-O3^Ee0)q0rZ&<}v7G2)ZzLmC3ZT+kiDwY3$%yY}Vrr2CNr5k#}ZY5l|xHD_% z!eJ|9xWA4}WdD_S6j~PY^zN?yJ`<&=>SlYN%b3j58VJG>~~-hd5v4-89Jg-6e>^hjf)<|-qO zmBk90HaK-3tD@|&b91PoiSPHTpnGrSGN{BH&34*dekf3HorGdXvXEo$t&tRSoBF8H zwB*M{o`ih8YdFMmP^bmKA=l5YSj0Pe3;XVyuE3B1QfcBG~HjYmGk>vL_<*h|Z}ZY-BkgkZwd zS+|||%+2?jghP^-r@Lsw$=Esrx2L(Q|2| zdD=3AUNR0|KV;Bf$$7ww5zS5Q{04zumxip2!1q0sm#N}j#SXH&kVZxPYViQ2YxUZPqT1FSa&*zUzLSC`>S zqhjorJ#0$#OXj;p=W? zW^t^VRHR~}Z^|H9P;h~PQ_in|c>HVfnRQ1Jzl#Cikl{|%+w>(b!@GOSq88Lu&xi%q zS-{!z#HihEzzm~};P7xWr(P0IamQJBYs1%mw%V@x?ikIQ#JXHtO~^c3g|RTWtG0bH z|Ij3nu;g~~yB#|h+se*IRjM-zx3a{MdtZSi&{D#!&?h}2*=XXiTIYoJNcVP{(&de;QUB^$pP2dlEl3 zpI6$&O!_EEwz1AX&&yT*{yX?nYb=$oc*|FFsy-@@us^Yb)epsIMEX7rXU+ZSH}spZ zmWPF5NSeN0=LI~GRts__&z)jWUC6=xmc;xzEs2PEPTP)&mP$Xtd6p-hM5Ss_f$`hp zo7}%V9<1nGb*T+a=)c~bu7Nf`rps)wP)V)WF-GR%VaYz3zjpdClx-tr7AdR6EAIu+ z$QmvpwiTk(c*z*v?+`v*5V|?Uw}Cm6hHQ>F$4!0cYVE%#P$CST978MA|9{NAWn9$X z_BN~tsH93a7=$#4G>8aDNJtH02vP$GNO#xJ-60^|-5oO^E&Xgf@&BLa zbDwkn&b#}KA5?~!?`H3{u66BeT}vj~M=vF>d$`ezn=M49bVBzPqR~;2CQ#r+FN14q z@P=90B^Oty9%*vor@c1MDDLxbF0Is3>0yL2y|F+e`56JR?MP1zGPY-gzJ8tnC9D5J z-9Aa}kEQkOMLYf_I$~UW|K-BlgZpU5jsAi^C;!cEIedwkigC#Y0k{Im!=zN#inQ;j zuWh^+OODt9Ulq=Z_6UXes)1g zJ^oTOo%S~uHgMp89~$U8hy}LiWeN+_1Iq)zEDRCwlW65yf2oE^xe2BBjGB`5fN|3C zm1Gi@p<(xh6|ydecBF@V4JiKIxQbe!GGsfqp~;6sr=!tN;d-;6#K~Dx+AXxykA>UT zNLqZtsjgeyJ&!#ONpd{SD?yB!o(jw>6UwiCfo>URP*iz3%@n5Ar2zW#3S~YqwoF^VA>g?0#wy}E5Rw6Dcb0A?|4EK8bYFdOQXiUBqD2not zKG{V9uDcG+A`js2V4-~7js$=UCNZ=ds|Cq};qGu6JN__o%e)F$utHo)9sK6>ZSsmRd~CQ-Oxd?y0!K<}G_D8y0 z8et088bjH&Z|7ndK6_0mCtUM~*?~4KTvsk`@2hq0#w6az$$1z3skhrV#iKe<1ep&Rgr}f4eK* zYkN}JTgZyG@{T1OsOTfBM(nZhWe!=Rq9?Zr50WJ7)2JQm0p^+Lk$WfByDBp4?yE#1ogx|D3$b0zfPMkk^j`dtIn%?vSs$^Wo&4$iqqIlil3+ZK ztB%zP5`9_+f=Bsx6g@}BDe#6irGXzSh|1)ri!ck5CeGVkMvvB{mww7!7%Np2g(=hp z43m-LeThDB$*j=?)yH6)%4jYdL5di`rq`G#zujac-dy-Jvw&y#9pSeHPz8a7a`D(b zD?eS7ElO^3O80b9tJc>J1d=x1Q@!!Pgt$R+DhHaV?=wDI{sankl$R%>2PPxFC48rdBGBDUmlfI=#U+=9nOun{NzXBW-EW4&FYSK zJ0zCNx|M)pO8w@5@iK182irp4JN|X!Kc7B##)Mwz=r)_Nw;=_qWM7@W>wa2GW#K)o z*|)Qn@PI2sDZzJfI1p&(Bz)$w_TGx5q$8?2rgWEV*ZAxjDWC2!Ksa7C_hBAuT}E#W z@eEmBUFGou(T~E(Sn^Q`MeOuTDCUaxn$IoNmL#N6CAa_>(eO=L#I%Qe%0jqHYSc9d z3`@XN+o)MjL(EHr=0IgpXdE`OqirFM5`UDz6MPs4LuH3^4hYGle|ZJ%*{WW5rABPo zs4AcoebLyHj~J*?1B(G_Z^9BVTSaYGAB_xey)^T(-^>aKA8#x)<3)Th8)JxCe7UR| z_9<(&xo_%?$j$NA=UsJNLsm9QCQe5`wvRR+6@Xwg@bhQg?NBk1*V@?jl1+CA?O`f! z!|!_sKPgxwX**AwyqBRDv0nOU+h-tTHi!tjTEd`(VXpm7PV8RFmjRbbf=2-)-;a?( zON1T)Nl$C+2VG8Qf>@rjgt`ik*9kOVdnu%hlp7>s^>6i3owYr#dqJP(MCq5aSzZ&n zc=i_gL-4kh@qp4B29Ycm0XRduN~Weg$}b!NF`+y~$~V$f8RsfmTdli)HEOzOm%w;jfM5D>gw6-H^6u_7Ef zqCjXvKoPMR1Yo9e?<;VdR{F>K=jx`)QJZ7x zDYJANl0I&oQMnsq;TsaR_SLFeP7`~*CegdItzxVHQyu)ctHHOiM!v@q0P2EhwD^F( z?OlItty}I45Ag+R2ai%^CR(q(b9J}4+#RiQ9Rxp-2`+3+zai^iX7xLf}VGoI9rol>;0gbVG{AP z-+I*!D!Gq&H1t~sUKhJXgdM%U%KPmS=89vCO_{wecKl1)Ra$2ShSWk;HI~5U^W=_pa?BxbH|aXO>!BS{hu>C zSjOcL%f+basg}pB*wVK7nj&~+@~F=H?~K6*RIOaxMzK;vnNJ&$j%~89U94u|h8yF2t4&$~`aWOA{vS4c@BTN${V0 z=_Ban$_67JI+Sm6-?Ee<)}3OO%ci#{ckJZ@u2J___~+HE3UOo)5ZXefsm9??T593> z;G(ESKe^Lp8XV|I5s9Owr-ZmLh)dsR+81FKWzpHO|0)e@YEVspP*YnYtr zXBTgEwGz*-mHs)|Xl1v>^1{lTlKQVMa{3u-kx(P?!!F9b2hd*Tyv5Q9u^#^bQTf#p z*hFEDMxEzgHV-?s%kBxu&i6W4U~g5cjd@iQ#l19tg3O0UQa(_+l%^(h?Gj;dkdfp#O2!mJj9lINs&@}0uV=+o&3R|gshwv|dd zZVGIDjHrGB+)nN8QiPG>c`-}#*UaNj7DL-CTcE^`BCm5{D{lQLkX`k7_9%7d8|?xI zKAxW(J}ce{xvoL%*G6LOH^g=@4#S(FBEfoIJ7Aj9$VHg2`+S_=wfR#PLxsD~$&C_a&ZyP4}pW0zgsa+u6;kNNQPITkc4j94Q(Vkrq6%(y(V`6l^TY(pE9M~7V8yZ@aKs8EH;jHOt%XY zbIMMv=U1KLmQIPNG*9V-P{Kz86X?tN_An^c&#QKh25={X(ocX zTF3Qw+K`mo;OqM-;gT4s*>hKYRWV&nd0303-x$N(n7YQ=3@~Eb)1hk5MnL`n_dT|i zGvCyM{W73-Kf*LUXth=G$dKRvLBH*1HvzvEIV%`0;pb1I&*ND>7WNjJ@t<6PYM=S2 zZnW?G)Q#>$%)WsNNd59kx=h16b)%vWjY>`h7rnSE@5P!1+T5=@D}8~zbYurdCMkvS zym5%3pmf>(0n&1@WgAieb}NS2nf56o>OGr#8%vH^MA-g^KBN%eAr0aI>Y2*De;!=D z54>HcuE62XqK%*Jp^P4p+=`jp%8#!(-w|@UPRy?)-SjU6&4u{PSJJAc`Y@ejFDZMb z)Fv$Aw~@W;w`nWke8^QV3TmOZiZ)CDZkJ8IJnGvVn^I?oct61_J^xm;-6@lI98&jt z@$^pxFTTv8WI}d-NiiTK{>(mu1|W1+C4L|WE73+k=JEV2a7Tvh&6{hAemyub-5^6q zkKHCGe4BE6Qn#*MY?l-o%AHYD=j3Z&TK$qUe{)1_Jog&KNuZT0G=@$_V1QwfCBh$q zdTYWn`2$wE(jzyyuUs#+AlK=lBYjq2hItqUCBwhgD9NneT0y$Zrx8u-FlCcR_HZ@= zo4Ug~_xXB56dn`umP(R*xozNSdX02OuYm|6!4=e{6E#30YW{^y(JVL7_nFZ6Mu^>_ zvPYrdbRljUt?^?#D@g0q*Njbjg}V#!T=5?RZtG+QeKBYci6C^HyV1rmdvXpGFv@#P zWOW7S0oPJLM^i40Lur(C`7>hQPz3HuI86cNyjgk6wmfI+zMu@ZcLT>XvXGPJ(QL$@ zGXIk_GyXA1*3{JKzS7UnX-BgYKF>yK+T}gz&g)D<^|UG#Q#zP zPtBpK$Y=?9%WUbE18_GL567O1>{mCt4@{v0WfT1F_i0oPg{L)Bdr}`s&xo}lOKQfm z+{K)jy)Ih#Dv3-_Ci{@r3^8?ofaqJF(DB*zrf1UZ$ETpgxT`euv$6`pa&*P{rr>w= zcYiG>Z7y*;L<^|pbPq3RiKSRveRn0F$qWeN2Ba zH&ipP$XAFzbuc}29xwrE$B^aUxnUMRPq{BjPY;rw{7}K4$KxM8liZphuW2p#d~}j>v73w_L1|lE$^Or@==H_% z!p*yjFYL-R>raOBY~3vT+6*yjJ%5TLQ>JZz;$Pw3l7IGq9l<&zHL17Ie-@PK83$$= zn>@#xxTuBKMfB<07guc-ak1;CwVS8^Q=mWB-hzC5K~W<3yC)(1T)b7+lcgzZW^<0srs zpZ7S4JTUDT_OUViugQ@WkM_MX9cMBtTQ6b9`x&xd6=%-dzCZSp+hN2K*J5tAuSRR_ zDNss#w3UnFrx~JVKy4mRbWAh2?9JFNf1(M~Yo@r?=7WU!o3q*&^o$qmF)2dV%+{>n z*W2ErO15Eb}B3_CljjX zWxCF%K*y|=rQ2SNOwr`%OCmTWTt}bWG~sUBl!zKABpqRy`JMN z(o|N`-y-`-gcdY`kycFBbm!8v$=w0n30l5&8WdWN4eBnu6XqQ3o*8-_qgSQLz z$c3+S2me^d-F6icr<@-O#t9dbVvd{}@9dG2B+wM#?2o!5rxB34ZluoK#j=PbkzOwa z%s7_nl8K^VMh`ooQ#+6=fOZ7VH|(K;2*_1uA?1KVdoOewzUC($Hso6}*cCo;RtP6@ z4&zs(5oooyP>E{eUA47ybaLrk%neVkv=?OG{%1?0NS00l#S5-$FTCwo2-7SUt~y1H z@QbjHUresyW;F$1#0w=K0=}^L`PW_gUtLM)DalHGfXef#NT_}E8sHGK#nezr8v(lQ64x!!6+f)+qj$==FI)!0;!Pv{)IsZ`o4LRSlF0J#m-ov|~EO zL3p{16vq$0&wt_OlOj3#EVS|Xs-bD5KTeDxK>*LYrqxep|KXNAzCOs};CV|=&XdIK z*2=@MwpRsUUud6b{>kCBo3^PY2utajQu6QZDcTlD(l%}Tk{s88?er@$&o^J=Dk2<- zmF3p2zp|R3)r|Oi72aO`roKNxtw|6(tjkY4e>Lg@MNHk{=81( zoP&LPe|-H^tnxK0Tm+YfmGSw9PPSC2y;EI4}U-;`Lm1?a>vt;-o^-??+;S7(ypxw;1Z5& z?(J^GkmaPMtn_Z4Oo2WHv%&3wCq1Q6GCGtooG;OH0$h;e4$T=k)hvhrrR3!M-)XSUvvF_YQm31dC%h&u~P78iwZZew&B<+%quOg z=J*3l>@0J`<`vA#l%;Lx3-aiyr69ln*iu~SJR%;q^WCb)P1*`2Vy>j5=1b7QWYNj2 zfleh0WyHQmPH8Roz>3^D9aG~=Q8w|)t)?8%n-*8TIMq7hQ`sz^^(-53md? zVtF=j1;pWJi*(x}ejz1X>rxeArUDGt4bO!I_XqNTEeR)H_4~ zD78QZ|J$2!|LwPUUsuGc@b9_Lm1(?QysJi>F5^A3K6PyBZ+%mMK4HkHgUW|2R$sYB z`QskDh%Bpxy971bqf9y`1)T<@3aM>w^tQ?hRqyD~)D&K9_Z94c5%J=fB)RIZpH#=v zqz;0x@RFEAh6k6=3)3&x)y(BL3H@j+LK}9ZE6)J7kS;1QTH2(1nR+ymYn<=8%u0p8 zOk{shedU|5ucEUJJ+-N;0R73u%Tv^3Lyt$b*BKxn#=Jc3GgEj@Ajlp8xn zWtt)f($oTeuCXi+u8yhan9JFHqeMW~-^LX}Z&NfU&(3$1$&oKA#qwR@jr5OSzi3=F z?UciEUT#Crd3On%B)xaSm|a1ZVXaYjYD zvSe|Z%v8+)9hBs_*-gmmZW@@grG2+O!w4 zTG-m6te^*s-DY`J3c~M?QnL_*V7w75M>u7WXT%t9f^SQ4ka~O2&Gv)t-O-GEwT^$V zdV^;@6ifN7an-hLRmt6zI=W%TcKC zpO|+*a;xid=Eu}QKrubtqp2vYMKdW0^i1 z(yIN3xr46+FTOOn^s|(zx?MV9F{TwoWYC5bTNOi@6sBm_$x54?$U4kwMa-I(=`2v; zBo%+`?sHvHoQy~>=-g8?b9)%Xf2ph8W>yL}zY#Fn7xE^cvqnWo53$ePs{n6;NvwTD zIkySV^vA#bu`ST7zxyp>30>x{_o^PWyt<~Ji#gQfhUZuE`6q?X3|wiG~^QJwxY*a~B*E z2uk_>Do47S-Xd)|ZngPJ8_+8V^I*UetubCD2-9Hva#!&dt%%YN+f~Eg4CPWKV*Bpe zF+y9{fACuM=pDjOmC7m227LFu!;p})g&ODh&pZAOJNX7p5mCN14Cmn|uPg*4xAj@0Our;D*?RS3?1_8I&E4=j zMOo*+K7Rt@(Atbm(IU)a>939Ka@^F0o|-w9K%Z zX>9AZrrYAua7gOuoO?@%T}_btMN_s)to530--A7=7k^_gDXPuFUdhtwHy7f% zt-V#qCel)WIU8SW6hd^u43+6{4#y&go;kU7yT$$Xes0SAKpafxzD%A~PWZ4F;6jlP zZI}GC#Q$9OxTV;v9kI{M*^yy((~3G5*iQg|dsM&7RnY&V;%r-zmxbSMmCWbcaL{)e z4ZhMt9V=<}>_KJ;ib|lZ@Ap4pP6#jdlM|KdU(C%CSCSu!nVYR~IB7Y|>Zfo(b3E`v zH63aeX<~r5>v6Bf_Uh|aYEX=$x0Y+kjK%3c2MdnD3w#TNM8Z4AmnX#(S$HjTRXAEg zR~)hxmMC^Uk|2GR|JF0*T%~8WMx+)w^nn+0ymo?ohpHWI<*J?^!>Sf|%d$^o zjyD!i{SHR9iQG25x;_3=BbAtFHfj2y zNV1rml#!Q`F;O0$0Cx$m(!E#%nV^N@FcZ{3JGThV)^2tM6@GrhaU-&L(NP2xNCoh6 zx}IZxDRFYj&3pQJFe;Nx7xt*?g&E4KF6GIDCXQZtz=w#;oY|VttkzXph{wY>vNE26 zL$x^()Mdd_-XroXAS$G@OJDU9g+oI!kYCu7zLSyLa2WH8qVjioyprPkIanCBGd<-x z9BlGv(PBXRp6YSifn>G4cbBhYl>ht*QrS%JZN?-d{?L9SYX>#7Lb~f}F7b{%Mk5cV zqCFF0tnU!f5O0TSl03R{E2vf@@@v-;SWEn@&E&IxE55?VyGt-b;o<$c+X|`o3qHI{ zxIA0cG3+_YeY}#H@tS+ZWedu4Pv)KwnOj?>hwQZgh~sN$1H+tatHwd9iK)RrD9KX+ z^VA+$wZ$k~(PM+tR_lR=evDO?SWi_S-VUtK^q*9u$-m7tE!ml#HLv@hYT}38mBH*= zmrle}Q4q}L!64!X*JNi;+saumvZMu@31yyBOJp*ovIxm++@2I$beCz6P3r_j_gk#H z+cqDQkVPGyXQ>`PiHLddoG_6_&#yoIb)N<^mc_c`O&awdtCLAa`eXj5Nit4Q)EBbr z%?~Z8+MZ)8GAj)UMi%f=_P8C>KXTGton(W60wlw*S~22f#}hLPCF;0sdC;}n^rGaDh8v4A#-sE20YIYMAw>-}7Uxip*&TQ(Z!nqXJ><Cgh?0Y8}SyV~~`qo7188mQ>|YWd2gZv=qgSLqSZHrwYGRW-#}y-iZ*& zw>y&R^|uj4D!;{x6y7WsN1RbD(v^>Hj6SHV(|q@!XKjq>?UcVHG5ijk|G=+7D{#7Y zkVad+g9*N+JMPit3QPq?w8)kC$)~m7GJ2KYcNm>{d4yUqXd)ck!pp9k!(?ck-mTgnN2qlKxR{0E?sSD@ zO^ItN(IdDkoA^v3g2ZVc=%ZC}N%s4fd$C)yLSh=8j$p7-V8dI6;J^1}#&@zoNl z`iPnlYgBex%utC^kHuhtj&Y0!1Hs2J?dRJqPd&wakb$&4t~V?^#Jrs1`Wh?Uwra?a z<5E&ab})A#b=XbW<$4kFy=H?>K|O* z>v$1+6~fXM(J#0ASak&s1y+1cQGzWYLgW4V21IS|M@US&%l9l9qbvs;=xA=o-ACN9d&`HB^K%RyK*DhMq|83!!53EVv#{GHe{9|2 zSLFq}@msn(oOk`cg<+Gczyy9T(eyvYFtHR|Ol(WMEk)Q!dEF;GrRPnh@5jcDTiDd# zI0_ggx!=*mBqj==JjPK7(`1Ylgx$bm#1{xriO}MkSbY+rH+$rkdu5sB6bmJC)}?C| zqvlb&dB-gU+LDtXvMkK@%SARayXBs7-jh7-hzI&Zx0mj;CcoymPh?Z{e1}Hp*iL}` zK8eU`mu)Pgb#@}>tJ7z8*Z2Q0WTHIZ-BJL%>UitQFj>gMqPZ6|0K5eT6P9L%9Tpay3oMvJV zgK7+RKSLxU*Iq8)v|0S>bwi{_=6K9ww(Z@1*e=CK)WRFvP9P1-UmlZkz8zqwW!Ul7 zKa9PK*_d|m^>@b3$lB=OZ|@ms%-n|udV@BcM|019D25Bzr2v9a|eqwKtGDh6@r}BCy)YTP0S&ndY(7sZLs%^-pI<46&p3^?wuKdU{Ai@N{ zdow@DxTqs8j^+dd`fOjQ=?3sGm?;yL;y?((q_jtdkJ|P?^-j&y&k`cr{>)tL5rh3T zSqCkaN`9na*UuLi_Mkt4DCUu&TvXalH%r8mc=dOt&X?4ph6>2kUf(0zHi6Q2&r+E_ z#pNjFHUTx>&%xOvrw-8f5@0w03$$#gk)pIFHl7!_&ZNUwW`=1;L~S26CRHz0#;eKA z1k^MO$E9|m(T6`PEu8r$@OI-^3+f#YU=v=yVon-;~Tv1)vUhpinBxAzlcVE z|9#Q~?vb2lsjs3=ezs1UNe;L8x7LVy&b&pi<0jo&e$;Rr+*7H`+09&GPE|;Vtdck?J3mDj@^8`1Ng#wAUSl2ZZ-2mpl0OFAGE8xDlF@^WV|J z`)0ZHO`mG5kuF8k#(QTWJ0ez_dz%Ih>w5l5O zumq~<=iT9(@yJ^kuN8H|Z686qkRrh=@lw~0y5)0X%tC+^HF=Tm=Qy*4ukBB2ZD)$* z@jc^uJW?L0RQ>jki?=p6Xu}EESJ1Xrc!VIZy=iU|O>yh(2ZsFIkH#2o%!#QCu@vvD zMQ;oueZM6MfYvYzfm4S4Il>tAji#}^mG8XkEe$>rG(J=tm_hVzgWn#UX+ zwbG){Iq7;&TgD!FXb$PX{>bCeCq07evWssHM9t?V>V0oKILPglH5oSEpDquDONkJ{ z1M8xN0tqBs^weR{l7}1%sayN#r$oIod83u*7nW(&+m)L`=#zoqPvV;Vor^lldyjWN z&{!ZJa>i)M02_%8e;cY3EP|5u2d#wA-4D||&P1KqWozcSE$>ln8dl z-&|8zlRJaAqZfabu=j@0l+XvhwTxY^N~n;~*adNvlhZt)AI_cdn<-k+wed z6HF=`$K7^F+15|v;1%?uZlWy{_tIYG(M<0dCQARV9>}eTPtg~#H9f$jVZsY{iab5n zqi*i%9#jQQxiJl%pfmLY{^`5Gr?qm&T_(Isbms)3L6vt`@Cw2s#zKRqZC8J^Z&TBh zYEXJt$k1dNc2Ya{OwGPrz0DNcw=u=$>Dn$y%fsK1ce<`0RsABt_^etnW>Mq*H+~gH zz6pza=(6&C549Cuvvr=ydn)VAK*uEabBrlk&_evazm0H=z4eB=sU*2A%1@v`Lb*I7 zZS1SBaZk-ytZR3OiCWua$mJ`y=|C8NMlZWjoDjUI&)X?Di(#Vmv8}O44y-yd+AUw7 z&LhwUrA_y(cJCp~zUQ1Qv84vq0hXH{qLr^{jcc@2HW>u z20>khQfT=cG1_Ljzp#Wp6U6|7(+=W4DBR1GoCCg7&Mx=+fqUWd;jKQQLP~$kDlqH zQ6e;g#E|HAYMb>eFsL*m5I_6%s>|DCh8~PZuuwLPdi{U@;V%t%Z&}+hw)NP&LtTyb z`_suq-bMYNZwWi2Y*E)e)LsSIvUB@*_kK!t-%gM$$20&+6um@)6H&aP!0ecAG_{=%%l5o)x)LkWDs)ffZ#$N!|8i!p8VtoBkQb=6x_xr0V4<^?&=qFW^`B z7<1X^FD%KwEYye;SWEkmL&5*{g*ad@sNd@7{13w!|K-X4@$+;2fj{i#eYEX=`$FP- zeT6x9!Xp05Su6Ln$bb*(h}6XDKa9Qq_b&ZUb5xig{<^$=?b_w#pcuOMACBCp>Dx8x zix+J>`k&t?XTG>WflJ0B`;{uHia7)?s%oWhYu37Zk567#S2I1}C!41CL&=I4vVLI< za*zE6ev8kpYERmZym5&Wjq90Mb&Vg*DL&F`1~$8To3SIsqgLnflsR&KDtDe;yN>x+ z|G4)+`EvuZg&LRA^V)xybWQL6FaIlW9iv*{?q7Wm@O>U$x9^OF7uP>F` z7vKN??wfcdVQ2)H=q3?G5!|fE!Z#IxB+wa7tQ`RMRvi4wf z>lOd>5GB8*uHEUKVS~67Ax)|$9}LiwrYI8<> zNmoj+1VejmC;Q5pjJBpKM>16&_m2gIso#~YtcY>FG$h0(@;ogtr7(%M8jB+)jS>2(D5)TvHTWCZ2TO%=14oaAY49%(gAH z-yDHm9Iv|A7P$z!9GX}EUhtom12;rv7G>k_$JK*>3|w9u)uU^VX0AT%8IR?Zz>$k) zh9XV%uO?iJY5UOw<2~BHxPcR&VPL{YZWR^f?A(}!jT?~(gIhG#YS}jy2@Oa`WGW^M zOG4i?595}w{RZ*uFR$J>A^YswlZ_l?_>G$cCEBH?%R>v?(AKdq7PVX{e^S_-$IX@3 zH(43}b-VxncK<*BT6fI@QYU@4{_>a-~Gw-)OJPTbf=AO`i^mo zMOl4mCYJaj-y=}fRl$CC{RCj);1I~eOspa&ByVnxVYb2OEMAy!OfIN{rQ%xP?;ljLFyXIER_>jgdU6$_uOd z^Y_p;g#BLGG)zaws`fyRoopsZJx604Yzb8T<#|5*^8Bdme%O!!wE6!^VI!GAU0d}_1sLNkbZxHS$o@pGcoOw+QsQ?OPB-Rbi$}DfC4%(!Wd(|fC#Nm>`{61 zA!aq7ueblDoOoW$+b$>70Id zG#?sxj+cW&=3;qzbv>H}Ypr|{_xYm=WMU-&c*wQe%CGAEszyF#e^bC3u2s-*?v@?T0jV0R+C;`^^9j5c;+*+(3Fkitez^)Xt4K(- zcC$CWTBl5HKlk8vh2MrUJxV4##}BGQDC|@*Fc3Gs`os z>@_WF*qCA2B0^ZY8`k(zTYvexj-@Z2G_D4Q1LEXHrF9{iy?i>?$>YRf|2u$%f3X9&fVgjR;p?Rp^m0K5DBW>Q$UJfBuTs% zUMMfYhSPq$;Lkbbq1MV~bg7~o?kW2OG9LSy*xhErBtr^Y7wfu8M{8<;$ie2QLsaqW z*|Xz4G&oVV`Pnkp*yjyEQ!}R?YE63RIg6BMnsl8MQDjt2T#eo zH&qpz8qS#t7Xo9LIM{BhaaBx|gg7U<76fr7YL8T-3u)O}f+d?>V)auh}PaL|L zP~2{$qokw}o2mkyAO^3pRVL*fwgD+rYw}yJ*?cle_GsE6p;J07SJu@3P;E67<7*g= zT$`fQn?8idZo4%}4ts(8YB9!jk})!Bmr`{Pi;jV`VcjQ2S*b>W!B~sbD126qtHJ$goyKg%lF!;N%2Xa_bqW;lx)B)E2a?lU2xdo3N!+Msql^Ra0@BGi-fz(HE-6Duft zt&hZht9-TP&Ggs&Yms0A!xsmo`YXs&iFhg5ApUBsz|b!fA>xiA+f#ITwR_N9-wP}l z%ib_9XU!aGzp^vVkaC}o{u8_;40mF!;cRtQ{?~eU#_qC_VZK-|_N)$LS7=n1P~mFB zBGbL&YA5kFBf+gIhchzs{J2g0V%}5yb-ibW=_rz>3zm;#t>W%m#4Cl*o7oTpve7t} z02;)=k@`=Us+*@CDjBgKL2Iktg0Me<)#hh<0Dy2jla^$>8po1WrZRIAopLDA zsMWzn%JI?hcsT-cEr!SQ_=i<}I%~VMJu_D)C%9)U6uyWaDK=IT1~;H*;~Za6$^IN4 zSA7qaR+R-Lqk9;P^l&jw6-9Pl4E_pt^TjpTjTk)D<%O{ntTo|sKEV=ap?}#Xb_)lm zjG?%V)};#z4}0+AZImiwDO0>-lRATrQNHT41pP2sIf^nnw%5D2Q3EG9Rcd{)J>}La zT%(U7bQiqkhs4Zgn*;@N+)%yK|Cw6q6t7?Y8GUd2+oS?%A;^=g9wZ;j@o@y{?sJz31L9+ z-{0(iA?_~IsEQN4D}U!snn4I}k3fn7SHO35t}q^qw9fQ2BjR`I2D~I#narO<^q+X8 z$O%;Z(3fs}+3`EYox%vc>rY2cLN=C$lARzF7wFEH@v!V5NKeen$*-G8P~UPf5*;j5 zSt$ZZE*+wGU3mVQQ2lu|x-15Soct~xi7&fqBZUUPI}NJz_yXoCY!-FzBp~9vxdI+{ zxTPEJhh-@=OJ*yIf9(?Id~C|x3X)RKzS5(|64_2y+B5F9tvUrBm{SX|hXs@SaO zv>SW?wX&CuH5oNtfdOUvtWj_iJ@sVC6r{VU?VuvBG}iKISPX85s<$AP`|+dpUm1z7 zuzvo)Psn7mm^Wx0rWjMtv>lxNH1k(5pZl|6l9vi#S!1yADVI`R_Sfcl%zqTtgP5G2 zNB|amR82|Lh_mi@GF6?*b-j5uakp9=9@RThMI92bEETy%!&qN z#kn&4V`u_~Q5Xe#%*SDM&B~ucZqCJP;qVTgve^!t3cazfpa5{<`(?CxMpC zKoc!V^d~V7h|Q!5HaiUyK4I1@OI)bU@@9U08Ebyc0M-e_1zpO)8vlLtqyv#bUz^DW zv$4nC)6g`~Wa#ZqMAzK^3s4#?E9up;()~_lxW-3ppzDi^!r?h%?i{(A-&A2bRRa?G z4E}Mt0V96snlVMk!veD_pp%$$Frw3I;iKZ;IcS zfo!FHdWfF3hUM3tWK(@tib@+&tPdk25C7?wDQ2PXVF~~{mV{xpF+g&5%~X$bzGHYb zNh+CA)Q63_eHu4x_8$Mev)G9VgC7iQrqA(^U=e)r;oINrbHT!7;d*)f`RR6j{V5rn zT0hvFVuNMj^XB#Ehs7XkV8tL@yO|2ihB8$S_Xm}#p_F3vDNi-NHXt+SnhbPslJPL; zN%}}>AMY*U{>^K z!GxLo7RSGlnapslSu*{L(;`?G)D(dK)7I{kqy;s}^Z0ySNgYyTkaz4lWeR!UWS_le zz^Gemr{E!ugP`Po>qW)G zy{UK@#0+E>e*D07LML)IwXY2v;xCy(ZC_4~+zC)=7SgaYi0~FV1LF5Bn7-tfjz`EP zqA?P@dN8FL~eSkPmSFgM||BY>Uk>v21p(#_2uyNTkgT~#>sa?;!9 zw(mjIT*jtP&)L5?-7YVmaqfIFv@W}UP9!DZaz456gKt-p|7^4B!SI=pg#N}+K zZF8Gj^AkWJBwC8j z#L{|j|}Q*H3AV8e81liJrsmQH@=1SBcE7-ErpD=t?Wq>x!!#a6LevgqYIn*h2#~ussx9k|-(PW1uSqN? z<{Cdw--*6SZS9UO?iEY>P9^4Av94<|U1gtb(TE|TJZ@Qyet$Ivk4tbDWI+yb>m2~L ziup!$c|TG$w)hdCcBg~HPCjf7q{$bo=jxHMX$5yYduq^dZ4z{>7HR9_<|7-B&*Nj> zY(HfEcNpVe7Vnt~&O^omv*X=m7*IHm7a4WtLaJfui4he%@4LudmO^Bv?n|WS8yuI< zx=n(m6g%3fSVR;n#tC5+cho#?e=#0cGHp>lJ<>!`cXh15*@c?60kN9#=4825)KhFC zKhXmD(pv~i-5qQVn}H@N`^e|(xtzO`Q9;<*1%iJi~LYudO1JOQi`Da zMM`_Y6$8z@CW0lrPTrAUGuLT{?p|?}87{2Cs4hX9Pf$8oN~3QM{v{qZapN{vRQVDm z(SxvBK>R5lM?w*WG!9eTs%IcCmrq*NPaC-nV9Yll!&x;aK7UND1ZqLRnC{Y5%ptW>&8rYUrLWR6Kkc} zK8uPE+xf}ak(jPv`WUE8fUm+xcLI85Q)KW?d`ElQHw%LZ@vylb;cZkI5y{-cn5!xp zY=_OVQ1Cw*19ws=TZ=8Ht6(!ut7-VJ)qc$_28mlz@)X|(s3S>}q$@MA)lN#nR)|)| zveGC@>WbYxT@}AvPv5S;yh#6~vJCQVIl$DjhhSk;CEnrO89Gi)X3!ngb3tbgcgB&v zyFFC!4V39lOS@l$_|+@D->a{bX6`-uxTx^ruP}oi$wV(-8;pK?B(G~d-1G$((%@Ny z%QBY&kN|`KT!q@36zgfvORIc9v%CS^jynZfk9Bmcshgi!W1jB0& zCpw*vw$L-D;#a$UtPqM$@}d10g9hLa4dS{R(Uc3;l*mpCQQ6xcelM_LEY{K<${nsF zDKdmd`GBcQJA?w7drONYawAxhpb!MX2YmI)9*}J1s8q4@eKpN;&oW|EilLzT6TH+S zMHWX{bl)BS4zE%Wrz?*e3FCA+u+xp6yvX3GWT}3wO#CEs&$=UwWlL8*SQB9BZ29Xt zIKNa?zVqNKWf{C68D`-%5>%`HyeAsbz=37YQXwyO>I#^WYCQWBxN?;Er#js1p@P8Z zd<*q=1`%ahSNlH;Rn*CmZaYi2t9qK>zOG=Ix@MDQ zd7ac5v)8c#vD5CXre6@$ob7gwk8VI@U^Mg*udN6acuy40Kuk4PiDJ ze3i#H%v5+AMT*rda=a9p-awBIk_%;gr5mF@3aGYKo=lS}9?q)~plL<;;iGPOWMLHn z5N+w}B0^gdeZlE0);SWNv7fpeqF$ed#l4cWH`Qv-+y%Vb7&z*|(P`%@qBx$aE+oI~ zfe?Q}^k@p|Ps-lG0+^5F9(^NVkcx4a#nN!*xNFngQs2!Ly&3 zIx~5(=;CCv`WYj>epWKt6%^eZzw-btvx_AzNqZ(ta*oImJ)u!|sr&!fd+&Ix-}i64 zL_|UvAt8H@LXnld_Xroll`UI#C?q6XviG`daoLHox676?viDxU^VPd`-;eKo-|x?V zzdt_zym`F!TIYG3$8ns;@q9kdgE?}NSRheCU+#T&3P)SNqqM`wsY+Vqn>s~7x>%$3 zEH=pZLnNKzCoV={chpz?lJA`q^cD|H#RBpqt9JglmhjQr(@ZmA(9tn&yARgGr-4I| zw~fXC$m#7_Zrd*nsykV{AIbk+qU#3L#bnf*f|)p_8n24t2W7HwN{u8(wpxx?+VOhq z+bV>149`A}JXXdJ<-W;e$ci=Db04Fe(Qq!=?@G{(uWZ`F5ziRmHf{?UF|0P%dErly zP$(!T!!A^a=WV1P&*R3)3GGdjsuqbi%=Cptw#taIVLx*P<9s!)n8j>uAV#fkY#(p!;swgv->#il1;HC^3uHlHF2?3n4VTh8}O8h?W&OB14+`wS*$)1k@<= zaRN8@B<4dyW$L|7MbmA&#f_9Qw&%0eR1Kti{6$|CpnLZ zhyqE3CJ!k_LE8+Lta);{)1IHbb4NV8q!U9z?1=?dmsQYd7b7P(<0v8&2J#Uw;0TQP?6@`{(v4^T1_Msloi#Y z9!Bmc%-6k(QUL$;O)FvJpTtgA=X}SVzwnfa@eYD9))81Cdvy%Adn;{BYOw7gdD^#_ zR@d;QsvKj6Bz~vGnLha;(SH>%ZsAKi8fp>j_lo~3!~LhXnEVB5!@Y~d{yhc^TA}l;4`ES1e=QY^uB8FOxGCBDFvJVN} z`m@rr2E_5PHu-;W4PzzfAYw3NJopa=n@Sk;#W%N%t^b2-{yRbcouD6P>GR(egfH^n z6$Jd%e_h;vW6+Q2{ofb_R>Oaj1bmVICJF!lPZB^~SEtH8gAEiWRty2kr@-svuvnnl zs2N+g#N?%Jre=W-z*&KluukIIquELUx@pMk^uTn?&<{5sl>1MY^CvlA$N^~6ibKp= z1Uhsm0NHwM;f+k4EkCi6jSSd@U1WAz94O`)(x$0s1J$`faL?IjbAZ=?@L0~So!cQh z_aauz?wx5bmdetPZSTn}nI)BV+Fs%yNu)d-FM8CpPAl}M0ZACwusPcfN+Moz<@^&o zi3nGxmAq6T-$QJb=6azk2J?rgcu;sN2SBNq+z<7WAxKS*a@&sq03Auk!xOPIGw^}5 zW@C(4|GtI6hxX^fM>`o~T2m}FbwZ}d*RzAy5CRkT@bwjwH1+@@@>>_~&e?!VgcMRW z+e;UD$Wxp8p3D2x<9&As8IS$RWOki~-cfA8uL=ucng}(b*fHq=s&OPTd#!|J6FK!{ z43uKOuih&&>-~_VH&<&_QWcYeeS9hshfPB-eovfrjy`7%oMfVHk8Hfk*Mca7FexJJ2~j~X1_MGGZUdS3Se6k8Nu89715z2t?hXg|2CW)A7igH2^_#b>AH^RoenEPjUfJ9#Tu{ zuibbJFX{luDH{M^#S@Bl)sUJ2$EH><%!w(_px!^3`eM8|IJGzMF_w>C>8tOGktUq@ zcgIKM0s042Y>d8J4$qUx8u=xtr6(3}#i<_;KuN|xal4H*Eg1m{N*Rc6-FLrT9+v7Ym#l>A9e@5Dzej)*1Gdh2O^M}?Y6 zx1}m7O2IEBONi>xx0VP}{rmyb`Z~v>MfWJ3gFQT?T?#oaz>SuGa){tcxvT5W^Ck8* zegnRlM6W~h{(C9$utq=jT&a@^&|?_|mD}0-ADl>Xr-%`#Gd+T_*n19{W2Uu-d{=i2 zU*CM7I^_!Rgs(lGwLBqT`?dA;F(P98$TK8-x`B5DYWk(OzW1gDP{gpmSb&U z!`%tLH}$)X9LTlQEtBaFFPwWNNUF~9dkg*k$n)soY|3nC;K2D^&%FuL(#M@af@H{j zjVw`;Iy!ytocd~C<1F`yaRL)90;*R^3z{zdPUBAO ztqmM67T+H@`A?D9le>k<@IBqee{=KgOBU=^a!x~$7CfHj!RGtFcJx%{XfG;Tm@^v? zpsYA5h9@|4r3tjT9#il;GCE0b0)G?){83I&zegZ=nja>1BAKw4$J_F=*l`3*K+S-4 zRWuSfC)7>P?Os*9JI5+blxvZ#4@F%-zwOA_=z9X?aK=MyEHy)YBxcLjrDbeu{xq++ zA(ank3Gt%-i?)J|rto$CnJ_Uc(2~QVuR4cx=(_g_&aJsV1%Q}u-+ua2)%2OcQ9l4k zMd7pYiR?>t<3s&lk+y@l7#NHTIbk5;R59rIHf1O_fd(MW6B`d;`_2I4k@#Uh$ooTBiIZ-dX+fL~idK#xbqRtqcY^2xY=2yiZWKkdj;m z>Z|>{QyyD}Z&V9ME`oBQnEz!vC$l3m3snixCyVczqq4j7T}29}B?-HIgxZZmcYaaW z&6EC;8-1S?FH%BbWZ*-y3m)p4zGhNCY#xHwfP(J&05i5B&fzn%P>B-`LD-rp&J|&} z0f3MSma zKYhhf_gzx`(qbPLU7Kb`z_Js^15|ykQWMcdI*&qn02TPrOX@E;m58!JtNvh9wcYNR zKbvKon|c!EFc#jcSN57;5y_E3{aqs!t)CEmZ`87|>Y&ZAb|Et!xp(}BuOM9~5_M&{ zuNlFA+bvvFqEQcdaE%CS8+6sj0tslwwYPONmF_UQYgL-vmBO7*31592ZlePTSQl2! zui`F+ujYg%+X$v`gJ$cVirC%7%m=Q`^$P^7dFS$>)}r7vfjo|WDef|It4rVqL^IEl zGO}01xI@Yb-_IJo(94t~HWTG2`e>1sML@gf5zbI6Z4t|&q;8Q=;h!q9hMWj03#q8l ztM(c6?W}Vs28syDQpY*kHZwS?Pf|HP?uhuyg2H&d``+rR=Xz89P$+V8yU?W{Ljc1` zqE>STH&K2xbIA=?D^*C@7S{{3){&2{Hm!7~*KO9Qo8BFkJ@0~DxhY4#vky?#sIXVq zt2q9Sy<)f96f?G(ITl$g+#8$dkU1&xMs}X>^$x91d2hQWwewDT9a+bu=KFG4FGRi6Y6?Eez~AHMUclQQli&Ld{2FOX&hXNXVF!U3VaN)f8@zA} z`+MKX4Z-bcl8LomPfA#S-uJ||M*$R?b4X36?3oq zYe4w@7=liNq`f~=(@K=x2arq+s`C;O=VcE2+(LMUq}}gCBDKU=bHAr*w+DPu*?YqK zoykGa`liM}PR|S1r>tAqaEAr$!<8Off($NA85hw+AW+`&Pz%$vIf#heFP43G_7)`( zhTB4Gykqm)aw}|Sp(Tj5ux7K3oA3JZw{(UCU+UYJmSq__9DjM6WH;>Z3&x(sh$VF* zSRsJb95MxeLFzOuEzmzpe11h(FL~)Pd>$9=E#XXtrDpv;YE*-(h-FyoOfsxyJ4||? z`uf=@0O!2itnpnr7#ScGC+gyTXD%q}sZvO$siu^h$7tzWaqWsN_K;eVf|$!<>#42t z3q#T~p1bvT*!nT;k9UAYtndOke{$YCUS&=AX!&+ENK4c_IWcM$ zbOd24wlOywzJtUw4)e~y>wd9YWH}Oa6HR+w6JB$s@CuFS()9}zUWPHN3)vhwsqSQp z414PNR`0p+q1z($Q{My74zo|d^rjOWIR)64Dj8V}k3JcOs49XPj-=Kj zJ^pB~tbEY%+XbvnrQ7Dq&cZ~cHmun+8Q;>o-Xt<(bEks$&uG8%XSQ+neFWT?-2qlp&IjE9 z!EzMNedlDa{>-US414ub8z6D$Wzu`vOx9H41YMfLCIGA`5TdcFpSNNVJkeE148s{MN1%J z*f$a879iJBjwq*91KmmEwlP19;d);=G=E#yuP9IzjGTsZpDddu^p)q|wC^c;ZYSZR z=*Gy1HPp8rN^V`IlB03lkOSq&JY^}wLD=b=drbH9tA|>L3TnLK&?W%QDK{7Pn0rU< z{jd?v-o1Fr)3pbc!U+n3tgn7;$Eb?jFs_mgXXGoKcE&Jz7oFt z3eDf~(K{KHbK(5v%*ftk@+)3om!Y&gr29lcp^xMXNbQT;BQqi!s>biGb7bE3+!XNW z7ZbA?2TTwItW7qPWBX(oV+7qfCnC+UWt2~FCoS|%;&T;>t@&=HBXs3wS69n!xX!$B z2H?o*5pI5Pb3cidU)UQ@klBC@x5L649%_K3-%Lcz(@O-!^ZoKRBE2~Kc+?PHau-#9 z%2Td%=&R3n*KKEU7OmPJk8%|OBf6Z)aiVdDFrcnXtG8!~%vVtF18TG_XenlW#|B@1 zhU3~^-K_wV)(UHYGmzh*iHy=3aRmvC=d5dv5L{L*S;O|WgqR;Aek;ecTS;x#UcjO{ zF`{2dc%o2fZLey3tYpHhVys6Q#NZ_gf_iCn2|+ggvwg2SO$1o|ehoFP zDAkx{el{-yTTwfur#PPJcj^#ZrjND3w%#JB4LiEU>ZiEz*>39FoOP>NGdd9Gry3w_ zCKjjNaqXP0kn?sp-pm$T>xz1F!vQOcY0dnXUJzLFnHe`l_^vp;m=Bz|fG zhG#Av1*is#!rEP(xP`aLkMsamf#htOtAj?1F)mi_6E~P;zW8Ii#V7@NgP|oErzrUg z)d1}@r%Gy>upW|-mFU){@3A4#Spw#A*bTs(Cj-2n3%DbDiPB$a1{v2v`}YY8*~a_u zHo`sqA-BSKYi5weRbd!=K}7)e1JCjO*yh+5zs8PAnHKG|Jkvj>r@XqZVW`I*TUq5` zZ0d9l(d_pu4=k2We#h@$<_`FX2=~*@CELD44(-NljD^`eec*ktengAmeDDx4lXJPn ztJTE7lLL;ueqlPAP4_Vbg$lXO^`Y)~Q%=0Ey&JPMWJQ(E*jgCAK)boSa-O?#fN^CFQfTKr^$&PG`|S(oPr;_W>REaAX;MAw-}^%vW%z~a$*13N z`>!1`&*D;ir@SKkqL|y@V5I7JR^R)?iCoaFY{6F`_d9*_dCVL52kG)p4}ecURd{Xq z^tw}cBq<>2J+!$dOX>k-QG0P0oez`{&(*Mw%tNDa<>P9BqU8vVjpM;5W3Un7JBhz- z8k#4T@KS+yP;)OVrfaYWcIn%LYl-girU4 zEdoX1A$>eq2w|s!!r5&yb`{jtN3ti-=KD4aYiooZTNT47wEVBK>=bfmnNs+}8P?fN$zKq&?J?B~i}WFh1D|P&X8Ih#nPI&5^}(8T%h)%VVvKmg79m&`;xM13o!EPnXGW=lN-rmcF@? z&_Oy*Xn&CCJVPaQmU*1X@+kO*0>BB>xnII)sgtR+BCgr+2mj#n@zTC1Q{zsBKOJhF z=rm@#(Z12C_7D#ls<{z^vu232TrsT5UYan}r!SPjUfz6CmJdK{Im^wBUM67Erd6ar zkca5xS$^q{-G(#G`%4SpB|wB%>CJ;Is&p5CBdc@!cj!_p;up&PENVpksoN3w+r%RB zUd9%G#Mdb-_2dM9+mzpyprHY|amIjj;8Pm!@r~R1F&V4rweCPG+YFR!qxkd=L3%W| z`U%~-*ApAQtW#|CBA(DIj8>byUrSi7@TOvq7X{6MvWgXqj>-w<|I_Z*Z5j>wQP zDFFi-zSci|dQaCEjfZar&jvl2LLQ_A#2lwCxx?nAh!Qx+sw6UMk{hyj{-XL69YTRT zs`c7sh~hK>;5v$|%te;HsS>N^9&E`}bQ$}dCczs37Z_)AE@v4aYuUei_Wb-Mz~B1- zaLBAWV!0}8rysoc_YJ+XZK&6pVZ1Q4y?&v(jH3QpD%CxVEG8-ldW;~&K328WsLY-q z>r%{dQYJ{V=8*ZzhuJy@X6w*91s8*(t>++H1W0>b<2bN zoAm&%YTVuH&$O%jn07yC+EETjB~?&O%YK}d5WP?vEPr^xoNx2!vM`ncX(W%E6hdOp zU=_K<{vLVL4CS{HM+h){`7mY(;|bLTGc>o>*X(ft0J=;c%OhXnTL93LMMMuy4 z(*{uSrgSODb+v0`wL^{S@J;L>=HRN~SBEoBgAOku6}1*dO0y^&dqgvwsUtiU<}VKHR9x7nXD!UQwO2)9J>N*L9OgKVtK85QA{Eb6V$Y*v&`_zTa}`ag=abLHDP z4oDwZQyY3-`K;P%52)MxEOPjyUxMQD;3=5Ng;PIC9+fJ<0-_0seLebmy=-$8Zqi4I zg(5xmnDX2k0U+TOddt`bfHD@Uk#0#k>Cgni0nSZt3ITq)cxlP!B8*{4lqw38GrC91 z%+)L?&g#VP7Rlk{a^w(5t4F@91gx^0BaTKhTAR5w;S#&{bb~om!fLIgk;<736gde5 zwbKH&n&2RZ;C07&`;V^>`oNgzCx0&itmo)9H5-!g zK+qvRH|2ydKh>(-ZM^|c_0moKp8j#Sbx~1CmiO`a5qX z95pJ4oKeR+E^$))8bC&8AFIOR)LlMvkn-*=FJ3U$-uaPugLON-;xEh+QRt7aWgtIW z)~{F!xH->BDKfHj%9S zZjL#jtX%8HeF72MJuUcSLgDm$f{x!T0Ly85uIe0OT{*ZZ0FO^_r64uy`?th&ts?Dp zb#I{Dpr+J}NglLRRs+o586+f_uaKdE!s0x+UBym~ICWzUa4e-i&KH0;_JQLWYT>wkyjzMTS1)`Y=8@->W<~Ue3Xx zi3X)q`}4-4LsNi<-vzLdgjN*;mU@C2#K8y2o@!rIiv)4EQmw3~pYeba1GTg-`E6ul z8dXuHl@{1y8NDUD#}Z?WE*6^mU?RB>x9DVdtgxewvD(L<9{13Gaf>Nd$y4*UPgIV= zu&-*tcBchfY(Ndk!tqiS=oi%1|GB@`R7pyD`t=f&)y8KmDTPG$)w=I-zsh~R3FOq< zqd5$0036i*q#DpnDhBKUz}pFR?4~Rx(Fl{GaEc_S`)FXh@wGYg=q6HMQ^m7wk$eZg z&fDM?D5EXq6{Z9%_`Q+7qd4l2Bsc6n5@dFmPNx#+Zm-wfJk(M- z%LL4q>E`hRZqu$CD3_kk9Cn_`+$^`x|FT(;WL5NBKz$Q8?TDRDyr?22B9Y+V$u~7l z7?y6Occ`kX6l|9LA^Cew0K~xUxHg7u*4M)>+NSSmjv&X#RU&O1P*I*^3E8@d9+-in zh+UC^0$F?9`LU<)#0n`-2}Vq!HOxbBlR6GOy-1y`ZY*k<+9=?dyLztV;Ad zHR5-dGzXeURqzDfxh>{Y3~K6TOguVsQ){~K|AclQRgFt_hZBB5PRp_MfvA|*#)azb z7d1AV;zT=gss3GoI=r#OC|;PKH%N7XY@MG|WPxm>l1g)-l9*nuFd_S_Yb`*Xvxmtq zF-1J%mTzU#J9gWw>e@Tf8uc%E)2iB3@L5M`&l~Whh{v&1>lIJJS1QKX$J14lPTY3H z>ukOdB4?1eQ;ODoe$tD1xk;I)@rOCsMmW0<`JN2SYZyfT4r=O7K6-`49x)yls|3-@ z-#*aDB?o#F=AWBwH`Zv(5=;2<@KP+jU{gznT8+x0VG+>_gLyIT=N_yzH5YP#C_Hok z7zQhV2E$tJ=IR4`1d7aXuV^-FJ=9T~9)-zT-$?-=`7$`YmU2GZ^FGs}HUHlgYw!s z`*Gia;4R^N|2PV&#~O@FO;}+sY6UES9<2aH^rIm;QOKFM0RRP;JKMy|5V8;F$f?i^UJ&4hF|`fe#{@! z9}lMg82Mq%p=vdW*ZS>*Z4)jc_a{S#0#QM=#|^<1aK+_^ftJYfvkO-OV~yFre{W?- zDgzD0On-Q=UXh6rpiIFUbOtU^H}aE}sEFYmHtIIsKPv~^pw&}}yZfC6E%h7(fI#JR zJbh)Ss-}UR?V1+%LJZUOWr*nw`ip!BWFEDN zYIUSYIo5J`N!|A$d{%5pRa4rhst>m!H)NE!AtDs1XBCBqIpUR>pv+Zv&`#xXGDJGB zyj2lV`DgQ|2Lf6q@1kUoZ;ko~9~jsS7eHLq&R6ah&1~yOc*0wvfC!+V6bv{FpE`F0 z+*SCzeV4IS67GZPMi@`8RYM8)H=F%*-GGHZrr1idUaySe*#}!f(vk0g13n2i>+1j! zcNnxA{8`wc8v&q@@usad z);SVEkK`jXvO2+tfN~zzRD^d_f*k62)PQK`o-b~52h5i5Bl^J-D<;6jz|ApqxuK&;$wpKy(OlEV@bvZ z<2-`0?5@j*FPf@g! z?aJ|v2?!C|5c;bzDJ(WqcYvWHPY0W5k!#oP2kK9{HQ)7a4X4`$xir#UkIYSfFN2K7 zg0PyU&8Q$B#f_@X&qE-CFoleoV_*JCk!YoobuK#71tdlPvF-oiw~Z0*CE60hV$;#pKdKT5D*MBW<*NJ z|1bAe_C$Z&ow(xbc<1tTBPOMlpxbt~kU)3hW7g!Y8KA-A+`hMj>PEV(C2k;D1Ao7q z@&RCdXq<8-WBgz4{Y+#CEluim1?la_!zxk~@U|9lQ7YLlV9^zWI?P9~MZc4$k|sHD zOJ3{`;wc-v^d&*gJHMUtpO)~S-vX~`ms=3|@Y{)W$X&8Uq%%JKUEC&&0ymIwsx)K$ zwOsy?qyJC8sbd0KMQ)SIW6EE9vtN{gygFy&dwC&aY z_t#`!fy^KvtwZQvsbl;w9}yKG2dSYR@T%oMxW);eswj{D27H&`|2;Fmz9>i*3_>cu z-W}q9e@(6*u%5wb#?sgSH@p7541P?6vO2_o8k|lo{tvF9fHe26NX2>ndpeU(>QyiZ z*;hzH{s093kF)vn4?c@jze)>4X>JhMA2gt+}L`wmMI;o2oF`?O8IDX^L! z0t|>yHTn7(N7YIOeD{Mp%kt6_t&!ZQ7X!)c(CYKarBY7Ie3*x8FzoB7Jy9*Kb-_*1xK6Vc@BN7XCa*_6{CcG19>zOPV~(L*JH$TRP=Z zYnhWF%>+;>V$YU4iz_Vc;@1RaQ0!q??%yWtQ`7+DMXXPc4|0|^Kx50FMCPOE;pLZi zFW*7?y$qAdunFaoL<9W2#CYzDj=<6J8L@qg4(d(nSz;ow7gZ&Rxt)ocnIvg|YxNmq z#y>q1ZG?57)#|?}qbBfy$-c}dm%(0?T~tWN?#)vD%UxZi#UDS{>qjg@9{om0%vX`{ z?eFxNO4%ACeB880G-XQJT1mnA#(DH0X{y$<7_ z=9jgWTAz!8Ut%p|pI!hk)O&GA&2N`lGJgTD!1t_UY|qRrkCa|JXu$BicqYB^mwKsB z8-cWalIX2%a_0FO!#v;|M0n9;PU~sk6|lsg7(M*wy_uOUwQiwRKkj;Go~Kz*0;E#x z)Blbr$yYHRcf>y8u^1=_`~kr)QrFUAz_M$YQ46cMRm|Re!t0IQ?_|kdb8X$d@P!Tp9Ol9hCEe{cj2Yw zTq6duYAC9!`vR97^{k8juTjZX1kW{M%UQ`)oWFP!^k)@3Ll5_`PMoQ*+x;;-$JAj1 z^(b`b6T9H2KY-t1@!)1vRmFdh#^72L#;^g7q3}_}<%bV1|1}KEG+{HATeR;B+TNX8 z#sdCR`J7MsX)S$G-Z{(|W@wpOKwMEC;q$|ue|-_N4pojpK3zGC$n$nQQ^&2RxxP?mmA$NyG>v{IFR^bu4Q5f=tt2 zwwF!iLu(MvP-RWzcsCo0ag4G*Uyo6Vfei97v`_>Tr?^7)J39go9R!n0Vku*-H7Ial znC7qd{)+L>*fr;IlYqNr>qB!3uvk0%cq6*d+ued<7M8~1|FYgAf6l9_ZOv~W5%{-n zvHtniJo+rmYAA~~q5Wqn;Ewy+SkRzQNrIQVe&g})R2~|U)1UL&X7G;euTN!U|M{uS zPLbwp&`cEne7WYEE*4TC;{T6th|u<(5nAq zb+X?tiIqY#dkc!SfmetX{))B9*MH80M)0Rt-oMsG*lUsS!p?~C3XhJ5KZefY=i6xr z^bb>l=Nj$+@^blM=g6(UqVS;XPdgc0oG~>0%eol}{#g<&tv}{%JwQbDO#j;O&L^&~ z6wvh|HXz}coomtgYkg6L{aRq$CUCC5J~cP^=esdGpcT#zHT)Bm$5*vvn@`LW2NnEshqjk$-772pm& zxzu1$4Bic0#`x=FUlRSaIwL$<+&}5QNV4zG6|2!RovZ_%lgtPP8G60c`w3=uz#YOE zL0-!I#TN9d1a`s6Nm066{7d=90XOWWtJ;aS&>*h~wr{j@jdd~gcU_TSFgUq*vdyLn9 zMjGmWwFw3S0Co`&e2J>oQzg01YZc1|L*7Z7g9JhV&<9?XzXcR+er&d#-`+7d0@Add zX7Q}g&!II_E5~^ketV9!9Mu2l=8yTK2lEF{jhy9Hy1(%p$af*f%XP}k9>wU{%T%>z z=!)=hL5fR!x(OAasKPgqnrD3o6mLw{>W&Z#Ul*#^>Pn$r__G{{5CY027V%aktrnJY zndHbXzBpEp1bDLOg=zpcz6~q*5FIfFgx_E%kgBqE)oe6T1sn5kKD;KdtsidLOSht} z#k;OA)3d%W)4RUSOS`g-IOZceo4(Fwk9g~OOXWg;o?O$Rd^=oARH}dZR8gk&RAy$> zeU)PVE2gOxb^x0ajqK%ly8cBR90~A3()ic%^+5+-Zd6Y_YNP^etJ?^J)%8a}QF|E( zp|drM|X-47SC3P42;QUKQhY!B?}jr$gII)*3!)>{T*)wb?spmGy``deM!$A}oR=BPnL zczOk5-%h*KTgMzPRM+O4&_na7E`4}=bXBM&@vn>bTD{I~(JI#E3a z7OAmlA1BAq@!G zN2X~%eT;Gl@EXlJ@G?sY84=Bb@EINEdR8uX(^30sASuSX&>xjaRS+&`p<8HWCPlr}O1PDNxm8Gb14mSN`))WU$LU^O?lEmqUhWN<-Ct=+ZnX$pFW%HbKh7G! z&@NuNVFo&+o}-URwrc$Wdn{wX>xV!sX0pcar2CUGhi*Z&Ez7~&S;Fpd#kC4aXl&!FCGc8C)=0NqO4ly;Mh$ksNm9Z*Og z?TEWw0J8lGP{R_wfhDg-+!=5>PZwPZE%YAMD zYBY62R6cjmMX(0lT_CfB%@>@^?I;Ma4s>y7npG>nj+bl7L-rqgKFz8v=5ss_pYgJRrgaI5*w&Kpk+I=YCqv>G8a9Jb$oPYo@i15^tMX zCXQU~6CirdG*Rl`3n38nau)z<;3H`JfwJ;$+*o92%GQcexM03yuLmZ48$1XGKbMa-0G!Vy*eF3`rhFI$CkV16Rr|8+|cs z#`u*0|4l1~3jrkKR<9rIEL1Ly_X*{M0!`;JYlqi@ySDTBf8b)t7QmytDj%FcP-QQn z!XFV$#g=r~xH`Y^Bzwj>`}qDLRofS{_B9zj%$+shq+=1jX)xoLNzbB`!yl`Ck)n8qEv z?Wytg;$r0Nkv&j8Z{ej9rh@;>8HhmY_Gc=8_m2UcCd^h`Ek6LfQ4m{xaVn+Tll zf0LtNz<9@$EGMerrLsPj5u`E_s}s zPfCEOf2EV76(J|6WOMxh+VaS3mA^yl`;Y;ui0lsWzE^*t(3H!eOl@@03e^^VH}7pl z8-0hKxl3Kic#D$0xs%0Ekvp=L_A{^d_mZD zv=*c-!1RPpsW&VhM#=k@eIPO^xdM7_JVG?eooYTT; z@awv^vIVLOD?k}};4#cL+KT9SpxR}P`zYJt0ef41ro4?$`_Ce_trNPKvrSpABzt^3 zT5F__+?YnMYnp>Zf-TXM*ot+3W=K127OR!$iH_pf(7pVXi|6%ozd>knIG^nA6?5tl;Oq? z7S-<+Si^X8tl4{(_nc3jgqWNjgU~YWR2CX_6QQhm4!$}lMu3#;23!Tw7g2B#RN-M3 zD-y}Bm4HNO08ED~UaPq)0e{@Bg=u?yzidDmgZ!9fj!J$8+(x-ANIpSV|@Nx}xo7;{zVxs`^&PrGOJ zTlxWsxb)=HeV?izOFjpmrw+MKofcgsL1X$J8C&r zY@#jfw!3Uzs%P7|w`TutRp$b!z<$8A@#;`P{3XepqHjRzdKg$qF89m*kL>Qf$A*_* zAxX@M(zFS~HH#7%_ZW*=0^i1CkU5amVF+oulCPF1AU)etxipjG$KtJ zj{2_I$CBtgYF-f-ZzUSMFjen8NPBq`hnA6E_PRK8pjs@=a?xueVnt8WuzYRw6ro*e zuX|!EI1-%1w-7a(vemI)B2r_i5*_Ei^E>DK*9j%j3h*6h4p4G z5Y#r(6F){W^oDuf*D7hLt$a?g$8j&OOO6HLl4}mG0Rp9->31PvDeVEJ} z#Zt||>XFx<^Cz|&Vf%k2rmaGj;Rb6ze?$x*R;ec?HVql!~cZ&?&bzo(;^;)IwZv(GwhF>X)tj zA6e@ZCacsennsF%*KPx$`4(vJzGv$$J&8x(?zq4+*cWr4_Z`6_~7PmN1YX0hDF;T(misRNL=AHkq;4$Ps_1;0+tM&Gu;EJLZ*KnBrYoQ5~iXoTO6#k z`~de7w^FRr@~}#%;I6iNt3m~%JCFt*VC>>z)))r8+x&3iBcV5+7@S3C?3hldmhNh> zuQn=MxB(X5$|>L{WdNON9%+?R+8*MdtqT%);3Jj5p5<=dV~K460)a3O53x53CpGHe{rH3SQTENbJ(XMNaCNJRdDk&4KD@beAu_Ss=AGn zRAfWyI1p@|H|X>H%g!3{f7n??`rw5F}ZVt=maY6fKECxeYTOR6 zy?b!U$m`zj!>2}}kufA{stzc>kL&}r(7{|TRYTFPR~!U=^~{X#i&40MlZ(pP>jCA> zxsF8A0*Cl4bNf{R=cNKrG=IG?ub`?+OvzO z`Udi%E1GGafRPs6py`SAF1*&5`4J)h{X5S;PxfKN0!|NGmMMDUB`p2>T`;T>Lt$nm zvk{L|@vEidq-5(EC7GpD`<5OAf!aiPhz`Tm&lw`r{E5wkrs+ZV_r@KpN3RBo;QJ~& zKUipI;;kw<9a5Th0r@;C$cTZ6Zb6xoSe}Y|FavKq3F`>x{C@@~8Zl`~ECb_^uCfQn zD3tQGqNul&j0K`k#ZIvESc-9W&Z}2)CJjqOoQFYw>3>7Ja=HRuEc#Xc0r>)cH`G$#fjXD%_D9nNU5`7AW+h zBvhrt0_#D{8Bg!c)0E4*o%z_LZr(3D61AAzZDLqZlv*<+ok5;0<*bGW<_+f8O<1rr zf(yRA$?*Ni{#mO-;CPeu3%-dMnK+uVcD@dB;PYFy+k8^?pRB;_yWnPU3_OKd*t-Z- zN~D}a(~*&pSr6BsFn-fT$}~o*hA9I>4@~ZmNb*G~bJxv;%jNn$(}N*3e#JBp+Nc80 z8MAs+G&eUp2Y;;ewIhB`-9jEL=S#b1NU>w5XJEV~UsldFHg~Ohomz@|i(%6x3pun7 z>J^$8m<&zf&oIzPB8Q_cGu0x1Yub4sVtiVwIKc2fyAXNfYt_;cXua6R=g&K3KJ_;m z(A2foU{D=^PBja^ZoVDZB1#bS8G=)dNV}*8;HL;d$8+riB~y9nYCf;yr`3U9S%fgg zq>$l|{z0N-?uZi2XPH0|K(i02RpkHBl^}r1!BY=2OC^_tCj99Y#jBiR=Pz$2P)>IX z7#3r-(-z|d-!Kn)!GiUW)g)yUVl-&6u?}Juw=+a;;L?YWNqTn3Jk`bD4*272^Odno z@{9|F#>&%&vr{K^S=BN%rPmU+W$zRdi1}?%{%jfn8vL(7$@&dYv6&2wTM%As=@2;C4$Ec;lZ7e#$z=$AIMJnJ0^Eeg zHtlJa$Ua?n7uEX|^ByP|^Tc)|gg(vLA;}ILjVlU@U&2g0A^ib1%@z4MjML`ZzT?no zN_5W67o@vc(1Jv2|5@ZtiZ5X=dwMN@E(;ZWWg{)ZNLAMU>%fZD!^${`FZf?3H6pp9 zT|{N?4g|DihF>AGVbfUG`E1^WT@1hDmrm~Je~XY{0Ur^@*AjSm3xW2-Iu*6aYC3*GNjUqtgA=A?ANlrPQ37*xDcxQ|D=4&XJDf;#X2 zTGipyKUTFF$w#(QVtSfW-CNhDSYiaU&M&=xO5quuiOR|MzRpVG|sx=_C1BC%dR1n7M(Roe)d}R(|S<(a~kx_ zhH>%v-XOjsOoxN=UHIbn5doT&?H5b;cg8_#1~BRH-M6QsoT z6NQ$PS07Pk4r|0z2yXX?@iyb&h^Ko_Q*5wnmx)q8W4!zRnV91#s8pLC4S-{p!2VS% zAD!Qv{n`#!@bC`U#poR8TpqkV(9M~;2`XAQ$LK?s{DvjYpaXr5x?-2bSV7hhuW_d# z?&Evk52DH;A-mZ>GbNCjH3Yp7so)>to?w@I8!lV57s6e&lfymowDv}oso|Ua$pOyV zVA1`yiw-jg^HP@dBx;wasM*h*S+jC`3Y+Pv+@Dwn?&!0eyr9t$O~%I7%r<)wCwFNL zaqtlV1g_<-2MCC51U09@V7FVi7FNE?QgILKtR=sDSsT(PE~!2M=pdRjS|&|mPEk9&uOfBXustD8(& zi}w0nGAEg2SfOP?;}N$YFWyj6mz{A%Cxf$f<+Q(@+7p+>0U75hPnWSy@zYgx6dBdd zK~RanT21KxNE(OILoeS(yXO%#RmAP42pmxf-apAE z?*AMqK(Z<8$WroAywcDq&PvqAes4^+<27iNj1bbL&l?su;u=+k2J>EXGnH?kB75`_ zOAO&L9Q}eMJyxa1{+fHBQXMzZ9uWzN?$w7SW;f4BBN&v3`wn_zIQ?!kJ5WnJa#|6) zwcHd4yU!9;QQY&v=<@Zu#*cz76_)y4;g{YI*a!t6;`@0bUl30~6XJsjw+bcr$Jy8Q zybfkH(C?+@2A0qW&H=`l%8uYZj>yLPK7d`!0>SlC1#IS*(0MTn#U> zm84R*Uk#WIvjEeai@c#umWNCh_{$lpQlC423=An-^qdmOxq)h|`^`yOl+mrlu9;(~ zSnDm|{0}j5Ua3!O-#=qVeI=;ATEG)la$}JF__WJ|l4JfeRS9^~SbIB8ar+LP)ho*J z0+;77lmmD~SOV4^P}vp_1Zg1wzuV6!MTLzfyBy@J8U!Z`8kQ)%>AuV*w`&&xDL;up z$J&h<(XXfD($d{z*6E^xLBjr;Dz7fxiw@+RS$*~X|6}W`qoQuNwiOF$K}tZnyBnmt zJBA(*B$P%p{|s*Xq%Rb!5P^#CxFNPG~N~YDHUKMl)SDId(H5^iBcJ$zrD$8e*=tU`_&_l}nA!#DJ)$mR2|D3_v;3XKVOoF*S z6a3LCnylGZ$(wQ){){vQJ@WFLCt8D!5%K(fl>Yu;R|kxu9gZ6f-era!nz5^C zrq<>#*GIomtK36Tbc7Tnw-37y4|YGgWl9mtYS>54t9F!`q^Hud?S)yzERwbJAFT)M zezM2?7nA`?xCvbR-W?bTf7`^oDP_n#=A0Q1tMm}C3w3h<$A5Mxl7 z2eiF`$I+&bEB^o-;dx%XLCx!D+Ek@ZSmmm_IX+a`VI?xK@aL3;@1I#KkH#1f$eoxf z;sM0iE-}Mh8nPvK(xBE?FwLV`LuOkFsHLag)avY4;1svDz=AR3Br1$6YkrS`u+r1V zf~-|u`I={ZVl3vdk+-iqG^*;qO#J)%`{6$Evvnzf7D3?Bv5doctj(@wVT$gxhS5{B zDntAgKl8Y`9>Q#PeWqED+e!PN>F7>*WTH+D*lPE2es|qBkAPS2F+xY*U5wfRurg@aq^Ag)3kb!S3O*;8EnhfOX6@=YlH<%o1wo`yoUtFrS7kaQN4L z-Ai%mCU%P42FSr~)jw|zwd6g~9YDl2auBBdlfX9O7tlr({VY(-ON5Xuwiez{yOs(qd_L7gJZ*lL;$VV53EGy|WnIl~ za9Y=oBQ%h;#A;TxkPk_y!4`)>wEr;=m;{NF8IZh5eVwfEk#A=L<>KrQw!&JPyI5?^ z>ojv&v5i*ggztsxb9;Tz7?^KJG(X2BRc>Q?JfUOqo4Y3q$^G=aNj>8vg{@&+4skv+ zTj~!YBx7p51i{=^I$i8Lv_nhbnw_LjL};b_Xo94m%8t$qA2zTDEKsIy9bKR2q(#gWi*2wr~XsvEcC#%-z z@0gh+^RVhZmrUZeSymBQ69n1E6(&-ofoPiPVLXgD2zB2v>nw)|Aic{y| z&paT_f162MZy+W;pG^tzX8#@2WzQU&pP#61L^0xdCe(1euPcAz+-r{2{R!Rsvo4Ji zEXF{Ynai5$Xm;cAT+Tf<_kELMuC14|UzCVEqcxXXVzF<-XfxS1Sc(P3rlm)C&FJ75 zq$16a4>kb#IuYVJ)mi?v?4aPdvlCibFNnsr7^Zt1E%~ASe)c zA+~>McC!n-mMY3@Yn!ZJ8ru42UBP%rAd~I0`H}KE6CW3M>Ym~AZ{ZOUHwxURPk+u? z#4D9B;1H566Ba>!9OyMysSR0~*}jDHyU@oE+7&DK9>4s1b+k4A=K^YvvMOKY|Gj|i zhzl6puAh~M`0GEwsFDQ4e8fEG%FkV@cf<(K`_&m7Np(0`L7`V5b*T=C9_4oO2|8}d z*TrMT<2M@?@^G^WQoI@$Dt9YGn{So<%oY2XgCyWnl9jt*p?`+8=8wjj;Y9WVJUO40 zw@s_y{7eE-S1r=XszKmV3EK)tjd=P3^OHlcHyovF_fy$kJ_qdn%Dc&KS;88ivh4#d zgBpoBK44#WIAxVJ^*oeL1&x@GO?&ccO0|RK;a*HaA8Oukd#${0aF%Okl8g} zfu&S;5%pCN!mnpz{#%o;{Mo;Y26#}Y#Z6APr(8c_jYDN22ssz^hvXEoEl@_qdm%B6 zWW5s3AwqWmuaXsV#Lq)~JfZD(E&|EBlg-MQQSKVx!v_R3yRG6?)%>XYC8oM9LXf#apMP{pJAa+e@MHDq~of+%G zv(k)&G=GzksJ8S}>+aYoUsGGt`1d#Xll#=J%%Xep21WnhO&TTi3xeMDoa>d#XC4TB zYF_eDkNN$!Bm>mJ{23ORmiO=EVQ9Xe6_rKVjFsoBzccxFj?j*uKpPGtJ5K)X1@L~I znd4#EOj6h+8sPdr3mt#{8?r!QkTq1U0B5$=zJvKqR3p{{LYEvq|*bKEF2Q8)Fo zLzz$m;9z>>tVZLK;}FVk0$U>(yJBMg&m(}yQNAIZtg?8vVjP4eQFB@im1yCk;LsT` z=~d-*)v{@o2UEHJS_8o;9J_6{QC%#8CTa-l5Yy!2Pygs%sgPrW1r$qBxmCJQT8gX) z8v1En__(^CI^f7TQe*9}#oPKe?#8)$O|D2~%Msj=(&&xBzYp{11Efvg zBJ?8cCL8mr=1l7ro9Iv8x-Hui)W+I&>P`6YV78-cE2!g{0`#z5MP8sNO0|ZQ_mdjg zmGh8_{yFc8V8*da!|b_aDihC@%@Xo?;OEj|Lkf8Q68zZKm2$DQTd|g_Tk-tG4X+HX zLF)Sq{g40o0*K+^F#4WytwIY4qc2nHnZKCZ8RHiIZa_+ z=cPR)4^W_6bq&kUD>jkXIO#(ncL|z({3{BpH>?a6AIlo5?&>_MYQCz6qc~ce?j<@7 zqrxq*jp*w!m=el}@>NC{Ig224&Qa-_4D~_~ngisq=!{{=%dTNbpp3XtokJG?`1-d{&1PqMy_L~!^hG;GbQXckoe3S6*{OD_e5NL zzj3vd`fzlsYpITSIQk2eh7BvL6!ePmsBm!$d!KB{U7u#dx;Yx1=y_(9zCJVemCV;>ne6ax z6p!s%N4+^o6cMf(S^d(aS=e)U)F8Lxfwv5D*fBIH)T*;5PgvCEs|^4a+@!%?T|(Z;q8r&wo{Cj9+nn?P~c=5-}XQp7A7UN zIlbE&vzj#V?#3$8L_{jz_{r7t*(ui=$MA4-`jzh(tjkx6N1Fw|#}}FQRn%9kO#|;2 z8MW(Jhoy(W;ez>>>C%oeMRM55f1gZrNY-RnYnpoSN&FDEwonT_s*CP~N3FYcCu*>MP7S`n74lJ=Q25{Ls@56jpSWGe7Eso4wTjH;Q z^EetGLzZ}vqL>|lwLWiYW<^KCu+2vGscO4nSWLSEL+qZVW}oK-Pa;ib099fmhhE)4 z#k6k8H2|3M00pHA?5)0N3DbxB01k;CR$bSNH?n{fDBf#mElkzU+r*QrTn9`rrhPp; zHW+K6UsLrn{!=8lu#teh0%U}1{GbP7suV50x!gj`d5iE3YcG<$Fa$S-UX*JYeQLHY z6!O#TUsa6}R5f|Dasb|}#P8_T?G3>ky4{QCXjt5xZg_w?z{vkir{z<#75CEakd8e3^o}_q z8j^Xhe7)}S@BQGMJkkAj_mcC3fZ7#`B3FtS4gLo*`ukfUB~paqW#==aOR0p$7XhPE zN7XLmR5&{?ZX98=P<4Ext39NR1}&fIj#o_AMkyN9q z;FS-)H~QO52aCVDQR$714jcK%g+IepSXl)tagjPnYy zhlwiAg{ghe?7kvQ@ivF&K9jpc*}GP5ZWKLVB9|ifx;1_Nkx{HJ%VAhT_;ac6C`zK^ z4ylxP1imYKzMAr|DVnNAtfoH?#ELq*J~o*6T>DVHFKb$3bOkfK8c+8*dv~S=9fUXf zf>rc7+fcc&i;FCpo0AYlzbu2Yl>jZ?6iZvG<)E|7%B%KaHwzn|w33>fpuvml$_1a| zguc}*$;p+ShBanKi%Keti3aYgbsT@N5)7U_d^hC#G1aCLyNM$xZ#?(^ zZzt~i**X^ex(08PTs;IU`|+#>ld+c$z4;Sd`6rb1%3a@Q(~7oY=RZ?gWOz7KHeXl= zZMQ09ZvW<2!DE5NAhmD$_rOQE8gIN-s&!5BemZzp8OnzS zEopaBXt0~MSvY+rsbcB9+TT0)UK-rNU-!Tr#%Q<{0zF2#iHLu)zR7o$J!V+A#Wv(d2u57Gju^N z<2qjJmlKB6(r64k%UZ^_>MXg&bn%#?5erFp#p^wK-;SW&N>2HM`VHKHx5hVB1M{Lg zSDQTcRcg_*-tQGtZFkn#jj48MaVh%DTZu?lO_Rqg1MOz`b%rKIjRhQHXqA#1o&jG5 zb(%X}a>_d$1}94$(e`f2Up|^<_%6qHI+=qx-$iU}=AKNTxzcg8k8+}8csdWnqfbQh z+ieWHRWq)Jee7FZ!tckyE+vDWOmV72|H*Xt4b0Rc)VgOh`r(bV3h-{eaND`M-bCMY zTeJ)`9u~V*(O|bzc!?vSxxb4jo5&(tQ|H4O*J-xX&+!hdNexFE5}6wkEd#o$GW)(5b`|5dE%DPruD zxzn;rQOP&zP_;?}WLOd{yVlv4wrNJ1^%I3V>+u+GXA7Vl+tKRQ3nDVg3#`Vs?9pi{ z>N=65kFxvg9apyWYW1SMOw@Tr%syf5%&heUSaCl?Hoh({R^p6~%9UnL+=U#j*5Ul# z)`SpcpZy2BMa(mj(qL4M%`VdT;k=IS^1g8X@1*l8iSqMp!5>!HFvzdUzPh+!B8u_H z()6eS9h{3@X@O~)(+Zp4dwIKi_OTppg}><9Zy9S!1vlPKrFE1Axc0|`HYHz<(^x=`n2K=U$^JUzBc3dhp#Ns7k3R#mVi@xmkRE_N(bq9Lo3KtggRDPj)uF zG|O~auDX3P(=90CAYN(cXm~*{>(#$nwG)W3L#4=){(Z$GfrenmF=QIl?RDr6I&?4REogL;+8E(r= zS**0G6HVZ;+qX%_zj>6{^tB$An*Pzd*03c*o7{@TlIEysU7?|&TPjA%I>6X6>_BbD zXI`|*r`XWrQ1pOA;8wV?{J(12Pj}?k3|*ISBzZeQ}rjQBV|v8k^PM)Er9}Y2o^?nsHj!ccea|NCIl9m#f{59)|%O9w#>h_fhf- zJe8wj-|asTId+9LTV4Ak%vC8xQ*+dEwMcBIg;8_dPHnovQ_-eALR6{JYlm=UWy-zO zXtIV2v97&6o%`Y;Jj3yAP`w(p@#&T3e09sR(t4w4LwEPc(3;X}VGzC5kkbkuxFe2d z?cUW_+N6+LeX@45#Jg*`>ja~;J_>Y`hpwKd^)-o9_IuOD)QGSTXI@JL&EB@^UO<}G z`u@Zh$r;4#xi4@k75yw*BXM3}YL%ytv@!+2@KS})t)|(;;rV#YzlOK}ZTlFxkgUAl zRWlh13@iGeLia6cWee8q;!k;{Hyd?sbve3|28S8rs(H6)Nz&@&-aB~X_lyU{IL`!0 znDbJm&wo=WoAq#vO-SQ+`N7dGtErfpAo0C%Hx=7sG1YO(uG^5`BE)N@5LUDP?nMV> zM8lgrpX=XPZT4Kx-fxw#aM-Kj=*{qPePx~hb}((V#br@NGR&N`HW+o(&G%~bpM4NO ze~J7+bFPfXte;R38>Y_o*da14j=dX=2M7sf7I$0(l-+EN3PPlt=|KZhiK?&o_xMsp z^w}s1T`CNfj4LrbvOzn%y|J`IrKb@mL=dJdua}fYWBK>R%qAi)a2;dS-dtX%qtKtZ z3+G{catDoyU8vmo#^r(<6X}!8nc0}emjvpsH6DmhPOmTLSM954xTm^IbLa%0^d&oW zC-%+qkF7UEqKs**MJX%GMKNEX6O=Jv^ig24({eEAL)wZSubMA zKcaJ_l3lw=$^UE`qDvU+9}zgTrFQjeJG7SH))!ewuhajp_SWQ)^y1+jX~KrD*BeiQ zpxN3&+px%US6g)T2`mZZtx2!;l2`Nw_~IjW6MMmmwe{~lZ8vI_&DvUg+Y;Y4JG}iU zx8eRZ_4}Q5&P?#jIM$&45jsa^LUzq-|LwOrWI)$+P}#eR3)*_@!QkRI zGeZrIcZ6d$vR9B6O`s)6^NP1o@G`?^P;AO@=+UKdG5Ps^?-}LI+go4h&aIKFBCV?H zs+p8i;ffOP`c{ij1(i`M(bzBL92l58X7NT94)p}t*5`rP9&3YX9k~`AWoiX@J@;oi zc4@Utnl&Q|NYYrXjw9)HNUTOgd`_XC9$%1fUWrsPzNOz?68zl+f;E7gDFV!zZ(9 z5b)=_3aly+VTq4WOzUQAx?V*BCWV@(RpjLv-kvV}S(DuREoL4o0n=Z_<~`3#CeP#+ z_eGMK5OHm5_fxyK4K1%fToln6*|7x@TD0!9q$p_aB@FFoTGm z={CE+OT^@!Y>~_>0~r~;Bl%dDPWeDCMjzh<_{RXRnMM=gG}(wASj$yYzlH~0-9MfmU={4*B7@Cc?x-36;vqzhIp17MR@`mxpzpincHKQ2T7TR`Tj z^oxF068PYL=isQO7vV{5&H>$J&eU6%Y`&8kwS33ZJ@(GS`PJ!%L~g=U;HX}@nz?jV z@#$^4K){tfyX+&Q6(Iw6l^QnjE_6n(Z;O3y!c%OrVz*aXF?6#l26pg3$iNvli^(T(ycYby{$kO;qb>GD_`uPO0nFq|lDnv82N% znVuLn%oZvOpE@cb>Fo%bS*eq|E|Ge#ep7E)i>+c9EBU4<9hk0&#d11%1$8w4aE#|E zzr9W(Jr$7Yrp2GZ0 zr`|U<$Uavuj7vDPCSCs2a*s6|rUtkT#}`M3(}#b%O;p=z zH)WT9NA>*PzxF78xCDN5L$%Y;aH{l##@Vgj@k)=zoy(Oy`KcrS{Hkhl*ST>~7qeug zb~;?g@YuuK^K^N_X1!OE6 zb4_mh>VMc5h+Ke$l3HJ%O;PmQc7y=bdl|TlVtg}JVF2}b4y$m-fFa?B^rIFKLZyW} z&XRju!0?u08*IRlWc73dxm@?6i%uiv_HDyvdD&mE)0YT>UJXYvO;XgwNEhfmfn*ALawlhI%8y1_ZN=STGWtR6&tJQ@9#6F)lVq^5SYawfkq zO|7#_f<+nZEnF-f{Wa%>few%DOvm@b*bt=&as>-(K3^5=#3=FY7haMrpK4@EKDxDP zGt@sE(Yo9@`aj`S@NTA&`hD#7d-9Sl;0b1#-m8!QX^X(}@pIiu$#jGEm458IW)kCe zV9Q{_bt*0^L=4W%9O}fXetw1g;#d(Ao<<9LJ8*1$6$BJLb-+pCtxpv!V+O z4vERR<5I;qjIL__@7btkW1nOJWd3?D$dM45Gl;!%MJnR#{{r7P7CP^shx4P~!$cfRagK zwm+PY#)UGlQc({)SBkZiC7E5eL>(|hsJLv@MhUPp)rO(wm-0KU5!5bBnpyeyv_ul~ zs{;w#8=ac*q=bxzXu0EXTY$^Pqw`FDk2_a=>m;pu0E8t<-(_q~e`mNEOe0K3Q~Bj= z)e%%HgG1aR$mre>CIQN2dbbQ^0C1Un&BRW@n65J3kUN zrn9VZlVJlmkG&RtuMV1)&EQvdr16(oo52?65czGCZm0*}Rcl0q#nFjbG&iz{OcYae z$?WrOW6);j;^WDMpsPEr9T*>IKQKef86t6nXLCk$(4YU_wGv^D*F$B1_MbTAf0X+% zIr1<`KtZdrc#467)G$k+vR@_fPbP`O7S6w6L>uu*ei?ZG)241@rOvfuA8B^m+h!=n z2oyKd#T@}HZg!NlOt2<8v=%4W&#d+d7j$)r8sFN^UnSOd51QIxnpJ-zcg5`nzg{4V z9>|)^1+&EZ-bRlBh70#!+?jH`ThNFl@z=)*n$9Mkzqlm7W>RY@fF;M?{|_t~2Jv(F z&{F`!SWnfoKr&OT>(2Be`9InJK?h4-BM0(ND9`?R>v27yLy>PY@L1@D6FHUI-EX@I zv+A|Vvmga%`$?qwcnpmeM!e*(^TgY)izcadd37ocrMixhAH?sz9p(4Xl}dEAeR@FS z`uvX8B{9`g+qhE_TbZ%GYK=0QF-F3zhc|YY!cvKfI=!hv9i!PI%+~aI>r3M2Eur!1 zLHfG?)nI;}fA(Sa2-M`@BG-erJ^UcgBKG=xG7@K38Gah?3}m@D@uJn~eP6hMPh4e+=6!jf*Y`3ve+4PuCJaOv98z{QE3V0-?ZctYD zNz8|uQD4%>uFoso3QgRvnDp& zH^YV65Z?CN_-L2*--by7da4GiAy`YY`KWG#X&1UUIQGzeXs24EZ1%0!KtY)J6g8%# z=i7#ZTmmZE6&ng{`@`w8^{`@)jK1S3>M+cLOnae$PjZ(1K`Vuqx zK4CI{;UBAYI;6*bpPdGuP>YregpY`3DP2X?V#T2aIL~O=&|JwZ*itp(hedKeEJPpg zlcNu!*a;wZZHAdw9{jrY%<{6fSzE!C_K65eER_Br!s4$LWj3Lp(Ffna?}x8dqvlyz zW1!_QxmJBv|C z_@U;!*fbHl0{_2=L!-uFVV=P)2o~rKNJ)-A9^vaEO@B$ZxB1QUcxwbf6_LffecY*{`$Xcj=N?Tf>GAr@k4K&3cK)em?f?R>(g* zCxWY+UHgI)H)JP+mJ%c4VnuaL^e8DUFW;h2*h?(dS%2K9;1zDO)vGKoe($W5X$?py zWFlShzHohb>~PyIrU>iU3V5(K1xzLk30)Lj*fzgkg~OvTix%VnhP;}3WS&P~MSaZW z*Km+f-8P+MZgl1;t@I`l`jPL-&&=auZu7Ez_uaZZf3@oA9|Fow754&7>1a%yk;A9% zKhB7QCTm>^3<*Wq#$P4$pEkaRFlgfUHULHl;bP~IRODw~TLhRQb=o>q)n5jUd& ztgY9F@?&m0CI6{zbVwpdrbD%GzfmdD7jMWrx>;>S=Ul}C8)JGJ-1^|rKZ2@OzIf0- zgUM#elF%+_F&W>e(p#MkCXWpWHPvuQZ-=+-Ec--OZQo5u9(bSF1j5^78p)wCJsS?jHjh5EB>=zvPhobZ75GvVV@vyi2T%`i21E6sBugcqKfeNtRaP*TXqR&Ab|ALZ zXA8cq!jek1z~}yLvU4%`kc5aW4v2+;ZB|-nv?qj0W9?9I2gjU7x*mpB?<%xaY zhLigjB9i&n6kEycPo}w5ScGa+56y(wE@mwDx41{>^ao*)irY4o@1uo8b7b{X?kR60 zfC$)x(yHb6@JP&q54#?Rqj`rQ4v-g}Ddw9%r>suFoCedLmtlGgS5F>;5LBP_ zfR`(FEWI<+w})E+?zvKbZ1=Cxn_XQkY>D~g8;fBo3cOgEXuXH(qceO0$3c{^5_Nej zU>&zto2ctU=2>#D2%8y<>4H|9(&CHfFmuArbf?ja4Pw@oa!u9M!>ISCV9_vtS)z`Y zF5q?Lw&%s~)Jkw+*Wxiun;MBKc2bG}u}i1nJ!6=OTKRvdaMuE%gjhX&Z@a$LF8nBi zIKjtpB8pn#&F$%vhFi;gRMbKt&3E`wMU(o2=6f5p<$ds3Px-tKg&Wz_EoJ(Imn2Ev z&0hk*?tS6#u(rIT46UUc3>=CrSG$5l5Z@m15XrPzir8k0UTo{Bs{C#6^IHA(jvbI7 zlnAEKsm4@3oZ6}>%k*9_L$WHRbxeM#wdbPkF$cyMdov0(A%!XKr@p}9SKB{*_E>Si z+dM}a5*ywszA$6K2w}Xfa5~Ud})vv9Z#8JZC`-Y9q{cc&(U<{CrZJ}k5 zZ>AG~s0A;rpRXF362eK{M6`m^wth+icpZ^@{thl9d2**S61OB_Z;2n7F1YSbxpY!( z3$AGjQ|%iJ$L!9UY-lT0elKXWZ!EUz2$fO%{z)(1FKZpKGwp2Kp_aNqh7>4 z5&ml}pv|>~G6pbHQ2KmQ%QI+7caC)D?PsZfyLaG!R1v>i6&jJhPo7Q`!yitlnZA?4L z?u<043`$6ko+_uRkz;;?FaTOaA2SWsXlfQmTnjecWs(|4x;dM5lYO*py-k%LpDj7~V)bK5hVJ}bU zb8FRnF%;O7Bt5oWL2_h4Byo$P08Mcq^I8^x?zyr5xr>mi=fc(6nCdRNE?4jFDJ+5Jh62Tn`VZmMl^1>t_ zmf|+uSxpu_8P%{$MdXTMt6US2tzumu!59X5ARmw43i%HKqhuBxh)d!(+-2?GUxJee zyMf;}n;x)7`Q*MF<_HWXCg?gF^r|hNLN8CYta3ewP0=U@5O7DX*JuEUW)|OVxw2Pi zemXC)fDlmo@wotVhpGO9=S^gP41op6A$V;c7FTvFKDYL~yS-V7o4FP_od1sQsQdG4 zR}-|Y_u)BU0;1tnuEIcK^APsFKYr?4jwuol0sOj^emKy5vcfb83%8jRDK5eW$!*^a zuelD`M)UxW2?ng+{*P%E{VZG|gWZw6yeZ@%B$hStat)%^Zt#)Lj=P~dkkU6*$kO7r zd4k^k8$9APJ4)>AjefgiYQ=lffJuVjQ-Th4QQ8*NCDsDD`jsyj@e;D1T|uV|j> z>YLK^w)#?M=-bkjqQ=YETOCfhlrjQ*n&Vg5h7&{HaE}@PPd=nFp{nn67I59MVme*^ zpb`fkSWLVg%IIN3req-IA`)ez;wWH8}2yNzubX ze$7wr!_-e(b9C`;p;X=F2hD0~0(sE?%>4+NeHGGuB$5N+72d%FTs*u!fC$F1k(dY! z_W>G4#yV{y;!U4c`p*9bZ4x*zk%IsN*W_)yEYUnVq<4G3AV^izE{bTGxI+1ZF##p$ zOF#D7ZckS7pi{#4Pu#$tHt|F&h&W!fOj$_3?*oa@U61vFVdihSFlg`Q?=1jwWBnzV zy@U1Z0b0?c+U=&0W1rk;#uEAdl)|9AJ0i9(x-FUd-?URv!27JiDVA5T15wT2e7@)L z!`WA8{fARTUi)KqaqKf@ws4KsYa@DtlH@muH@+MlSxOU85KKzf4Cr+{Evv@yVOG-} zt^&Fh*?7U1LCG?K%2%hmhDz#({f*uu4~_O^E1S=iBNx|(Xs3Y$_1)bg+UGs7bLPX{ zNPmWz7FS>0V32W4CT2QV)R1Yo zRco%*vN+W6SNW?`IsZXMi_xD4NvS1i zIC*g(F?5=Ntr9bAwWN9|4zQLTrZUEevi9Sin&D#)DbBi!;2_MQXO-8~3gyS_K`gge zDH_N}YS;!QG2p;EeL4|D`NfT5!f%|?#SIa~e&$S4gS z(QBr&B@6-cj_DVCGpK7Jl=SadH(xiSvPmt4J>3J;UTA#+sep5#@Y)n2SX_&}T@UHm z@U!%~X&Xib9;cIPDd9IjC9O@468Fr4mQ7L#?eHZP&!xVRkv$1jObFPGtmv3RM?sZJ zxd&poX6i`kRDWSkp99}CE#Ux%^|GejIN)ej(Z!kbl5YUO(}Gun5@-)GpD%v<$A<&ihx-59lpv5|21YxD=yFmO4)$C>8 zJFyjm56u@KP-b!gL8H_K>3k+zi-Id8jaINpD=5(LM-gfc4`n$+Q75!woD=+tKiRdn0r1th`~^{Ub(^X zO0Ekhfjao`p4v6Rea420d29kF>aH<@qf*Ju&axLs4`$tCoNliN65knY($1mZCk3^y zObH(cuVb;ViP_u{iIqT*(-No^YoP$`Qt%v*&7fQ7I4u~W3r>5o`D;Ka4rc#>+T3#2 z^mehBpxZOa(<-tzH^J>>|K<0j@3@h-G10VBf^KJmkpSpY(Q_HoD&=^%@TzF7C0lZV z$WH2;8z6ma*QVC_TM2Yshg~qE9(WOrh8;R;QoaiFK>eBY{{k!L9d*cbXi@57ofwI4?hJ~iwwwm=(AjgioZSsUx3AveGxjA@x zv|48PC$(?VDe*}_q*mQvvHIk)(570}ogoV)DFQ2tcvi}{XFE3LXz?0Mr8RF_4)`0Y zDU1h7Vvf3!d;A1fdpE8+I5dNvHKh@hrVyzxCO~+~Pv0@=tJBkhb?|~>@r96AsstuO zMbX`D^)0)7^F%8{{F_@HnpPs*a!n?N%3_ZQVvmE7&6>o8w8bgPGKMnsq2*K)_7aDd z<5>pdG_9j_+Yei4xvyPkQ1cH*JaM^4^e*kB8n#vg4&iTs#KKAoQ&A&y9daNEQ@kij z8wI?p?_~`f-xp`cEhOJgrYxlluyr&dkh^sujuc;jJmR0lC|A|1B@n%TD~66l+{)rX@q<2WnDJHv9 qux@lc<*9`Vga)cnN#$^EK0_i@(z*}sI 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 Pz@PkG6`4{g)8PLD`yHC| diff --git a/docs/fr/digitalocean-droplet.png b/docs/fr/digitalocean-droplet.png deleted file mode 100644 index be27e499047310ace23dd05879e864efc162e0dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163083 zcmeGEXIK+k+Xf7y!d5KchK;Cn0a1F9-V~%)fzU&hUZr=GvawMm^rF%eNa($Yibz)= z1VR@91p?9yp}cFn%kwKhrN@l9T}PGBZSdOWBslRIc7-- z2_F{_KWbDzYW62Ag~Q$YVEiigjt|FTcO|EUBAS_JqOn zlV4uZNZbpgurbusu-}3$Q}w$*?7G${?nQQPjiv=?U}n0`VUZdCEyQsyWMC$jh?R~d#*6=#hFf441XY# z_b`=GbU293@4|ZY6|&(==SlPP^P6nik)s#z57|<_iVTH+=-SV;-%GffnkgAY=bcE8 zV6}cAkt#iZq}h4IAJ{N>i)Ex-uZqL^UZv!l=E?4^_ylY2x3Vv{iX9);upVCf+(Tef zzHTyDemh#$`7Mvto2+B-huOr5=cgXVvQqs%udKvP+&XK0>ZDD*!Ur2`Hm+kfp%3X# zosO78h-GpR@2OilhW;7Vr?;`#K+|BEjyXA)bvs4xNGs)j-f-uzdL>N~Tj5Pt6AsPC z5yt0iiXyVUpDO4pPU7_&eja=KGS`!7noklBuHDdm5l?5Qs_-d!$1ac}a0asA|mL#J9Ez5ezdNh9slX|D~S%{ ztSkMockpuy5fi$XJg6$nZry42;>|HQMW3(0GH{;$9mlm#Z#60#W`!OHd@Eq3DZh2z zitKvnS5}t0C#=nM6seo_x1z}S6YguWlEtapd)}^WRw2i%KPTU(OeFi`Z0woj-P1RJ z|J+7Z@fgMaK4JGlm&)h+MdueEoJu&eRGil7nbvXI92z`j{3-EM z*-_)P(cT>LN|Kj-6b{bY@ehXgQn;TJom{^;L620lGp83PkE>_cdh`0=g@gb5O2oaM z%Gcl3NFE~JXPvGQ-uK^4E>)po9Y2)O>$B(!RaHt^X4%YpC>nZgdgVnh5JsI`PiQ_i~Po4b8dMy7wrQjZKeLts_aN2M7k$SpRDG@L$rqNTi_nEB3 zN2xEry5o5|iz4+Eo#%;(XjIXeX7ZL9*)J;RqoO{Xm$JE^cE#}FiBA!Nzsqx6e02L$ z!XF&xx^CZo_(%Gmy-MAQ^Y5kZis(hIC{nQ(C7e-}_F@Qp=)>-jFmUZpy*qBh7i*MN zo@*vYD?g|F5^#eyJ1XV*=7)|im#Z&NMvvqbebD%Fu9`OV(T+8leus~cNbm2qHmv=`H^HM##dAoJMmHszevm)P=zDtFiw1}^p z!F`Jf5IBsz$$s&7##2+|RMuzNo(ZPwsu#1mvNK-EdJtUl`7y^kO9@y;L*TV=GCnPN{z46XAmxR@y6miL^m}dP(y# z33){?Jx}jNrT%<=$QkXGYOhyk?DhO;8QW88h6qWVpn;O}WImM7MNu zSOB%_m>^mzI(peW_R?j<~CKjo$Qc6;N_nbY0L|=Q|UV3Q9-XHsYVP!RIxfx4b zRV_=LWnX;idYSmHV=8)4@2l4&V&U>9siB&W+clYynXlX;$NBslNshb3)xK3rSs7Ul zW?$yXoRl1=99RyMrknj)@836@>DzfexD?{aJVnpA)OrrMz>VSp9nEcy`S_&E4v5HEQCS%O;>=T?1Vvfs~ zw~P&qaYdFt|M0x>d9791%-b2?c4~!QMPWr}#URB=#iBoR&ay`-Me&_kp1J59kabzx zqu$~B*0+>X&bLF}Ha=8I+(}G&U-eAeavt=m=6;kJvRPx zbAeS0vWJ{osd&8_JvFD!kX#}I{mhxDGx!UQ{N_#H%r3R9*fe+tDiKqanw99onTX37 zmM1Sb@Vc9Qs<`_`?~~rg!OWihRDvljfFg zaCk*@eSu@oP??(9z`?uyGW*Qg+6_0$x+k^%s}ILN>dl$xR}DEXCYe?nnvS=)OrUw1 zBK^ciBuCt)@|uc51V(u#Nj8@F)=U!njyQ`IbFs9eZ~4;s16>nYJ^6yxIyTgcDxrdk z1JCcX3s-Xs6;-n0T;-kpsyEX5D>yr^cP=uqNZj#yxt9O^?m$VeetagE*tD$d!q#@m zXiBZf?+*RB=Olyo7?&p=ZMH7PTYPKv{C;KA<_%}O#&+3iSxlJ!(SdHJirInPKu@eu zGx|nNyt8~5_GqcZCPU@Yn&(x>spfKs(on>hy|Gl;TMwNOa zKg+qWjuUw&vEic!6-7gNo1<@@$CSl?Vwnu>4c^~SYkwvH-^>}zF_aMrHQbz-Cw^Q_ zSmhCT*ZL*sdf3>s{$9~SE)3&p$+XWigBh6;YJp=oF(;>ZgIvD(k)-SV`$C06siziO z){b;{KF-X=>GbL>%5jB8LQcAX_0Y*?Nemr$1ammfURTTC3lSB-`mQ^u92Pi@%eEwvKS{a@_+854c?)D z3E%}C^N;rvNq>@^1b@+hSHSb*|Js|<@A-*;ZJ&q$-;v$YS5#92@A|f0c6RRGjvhW? za|SNp14>U-6K^uI3!KpFn3^8PH*kKOlYz01v6iNkt%n=G^<57eJN^JSPv|^kG67Ox z)6LGunl-@9)!kbvK=#UyJ*2=k^s&Gd)*rk0xX4~H*3xBF^zgD{72_A=7rY{Onw6DR z#_O)Vl-_OSe;yA0lD*>SU75|R=!KlcCs`{sXs@qZm@{69wu z-w+o5--rIMul|1zg?Za~DSEhp-}I6DpZWUd!TYT7i>K)?&#DObWqmtTUdhz3w3qiDX1i!qWOAYs`(($C z|71hZp8P89%4HGU>j%Gfz|H40=U2Sge{pB4rZ# z+Vd-yZRy|6{^G^lEbo#1l`#SPJP^9dIx6~(|KS_9UpwNyRci1r4EK+d*=pV_cXnd?pxt5HnCF0{NfQ2@YSCh$v=nSsnD@@w2a zxs&czJJ#JVy=H#F)bWMU;mwuAUsxGd%@h`}cC_?reV%#9ddGZa4?mCigr{QQY&5+T zm)zLhXE3&uhQ*ww(ptQ;-H?_zpGRPinN;p>aMc?s>16V^OBKY0%v9eIlcJn0^%)qK z=csiI0uz3)oITgSJM;RC0I$e^jJHFM_^+6xt=SCh_m#%&5wo7(RT%F?>sy2o=kGky z7R4IOE3)kAjyV-&cV~I`kNIbZAMJ(<=*XJ!U$@;KFuCpR>)Lu|Y{ zLG8n|^CE`XRBY5L5*>K;SC-H_^s6)~zk@lJqidEVJPx^}7$`4iTbORo-O1>!X<{8s z7lh^?#XjrkHL7@pcfr8jn+UaN5s95qTa5*VU%5dH)dL}hm7tw52b8lJn7yy$8rnh~ zf6Rl+1H|7{AQA_wJHi_w}L>L~i;Uu77!x z{~ke_!^q#=EnhB3wcs9itAjVJRQ3c}JPKS$FXFA6@UrXTOy$+!t1(D-Z~WSwd$hl} z5hK6-<`dF7tx7w1!9#YULKP-&}@yLT2TMk9Igg;B%x)!mxPg6c=nk65u4NuLkC=a!yMK4g<_RBiBu=DX zVlDxueA*A#toQszkAMJp*TH@gDkCgpdbDnM9PN0_g~)98=Yp9^vh5LL3H+Rxq<**L zO6^RI^Ifi=tiV>a|8bq-b&TL-KOcuIvWf8i^Id+Hq0vFYf)~iRNDlLiNCq>YUBhh z&N4hSaOoil#2TOSnX%imD(EN1&#sMVunY4BrVBm!#2 zSb-t$66CeUJlYPr2f}u$k_7Kygb39`De)nn+2_4;N#>Ube#-=oQ&qcD!KusWCUlPI zXVLcRZ2zeSd}jhRski=fl14XM45OZV%l3$zMlv^J)m)r(ik8^eU4z+F@{Ty*%s2Wx z!m3Uaw(y?ZDD1lfQ;!`}kLu0U`nkA`ZA^HJxo0~CCtFb%yLDE4`2L(-pD2!TXF_hf zL4ane^6#{Gw_=Z-Q7s3Yc4ogm(V$y zIVpb)45o)e3pqP&t#f=>59j@qxx=a5R-+AB$9RK*o`VEI16djysg3vSC{{yROjw`n z!Pr1p?H*OU57Q%3C)Mgdc9sFQG8} zlyNmGRoqsqk90yl(ZZi_RHt}fa_2Z(dvr)jt?HLTt@+E$R-5P6jF`IAYZ0IR)K>&# zp8*q!Yd^_iPGOaS<3LpO%WU?x(nVzS#0`)v+R+B|z|Xg+bCaIlFtiNa=6)zV=mp%e z3Gp?3t1j%zWv8)_oF#Y+OW5~fQ=O|E+hrc1sM9aE&pfT!P58(Hf&D;i>7({%KTLD8eh|DqYI1^wWbhDt=GYOVa~Lotl|;6PH1oK z=x{B`N`FOJT5Qs1$ZO`o$sKsJQ8~|pLW5Wh-`YfF?sm>C@fURCdla>J(prr<_Z;Wj zl$7E(u?BN{zyX*~7EuOrKF9I!Vkh3Ew(ZYXf@m%7;M*b(Os+e%b*mufRyUf0fmVaJ z;;`0a8TF!36(vh<5oQfIFaEj9E9#=Py^DElYh->;i7w5l_Vh|k>`t@mW)!V0ujv%Hc~M7N(u@c1}#|#)(zF^Q&6scu>-g=sO2M6YgWpU+(cp3Hd?+6$EH10gW6}?KM^edR01wmNyGj~2G zUf~Sijk||$Gd@!JVaK(Cn_-3~1yHue={B7MqAIdu7C2A~$d}@tz%V8Y($hq3TyxNs z2dJYx%n_1H8skK&9aQIm5mp9&`}QY;d+}>sYPs)L4(ZKm65PL0PHbI0M}0iatHXFg=^n>8KpQI2ZJOLHx6|IKbHaIp-% zdC4K`&f)h?c`^DDv?9EK=S5kyQm?2wX^8y$U|hNEhHTevfvgwx!W2>kxiC*kB@{SY zzMJ%)hQla(T0SzDTpU5wSht#$fI(fXbYGp`ZQX5w6$?#wsIY`q=YJZBrnivzOoFeW zEX#RbG#D2|+sO_d3hyemMwVElUU+6APdA3=H}h!mg|U@e;COysaT&o?e|1@_ja@2Lxl0&l8o}_!UlGSo|gX zv=@w_TOVQfi*j%wTIa8JCXj*V^O#d!tQeB3b6J$FMRdeC?{q_f!bt77`}k(FSFAsn z7%%YhB`h{gAGn+NVqr}Sb}xb7!%4tegJAIBFE3({B=#4%3#z&xfh~0Dzg)CSdwHc> za;DqQ^-oozx~vqpMkt4DBuX>Ia2b(QH%2N1j@eoDJ=;>0&{Sz zfx8B0(}F7L{iNS`nItMG_i;GE*#b&%VUPIv3Ve7zJ;g_M2xm@o3rZ))Jo_ zHj!a#HCXTQet}ah=OL-S5@5G(51FRf6ZwToqvppN7Pa6$ywM5LC_~sY=l;ymwQ(?m z*VH{ZFbD6@O{=C*DC+N|T$>2l?1SCR6WPr57|bCgC{j7~a~~YPwyjWdKiQ7I@yp8~ z!)-ij(iUk`aN5ZG^XT+u&h8E1<8=af5p@}KPYbjC@Lua3^r>SGxh++$$BjU^3UH7j zTn^uOmg`d(+|pH1G-!n6t5JEaPPuY}=RT9qhg&dJbc?IE)UizaCk} zH4NpcN!$L`Cj7A+#u<>6TWW)}cF&lr%SCz=p>9g)dsZB8 z9mhM)v$YP~Xxr%!?6^8-d6d#%pSiAkVHt&41F@k%iUVb9G;wTnqCz zQYu|==-U<2LZBB^>x;*Pg<)^>x{#83UDxTVgQ5d6dbWd(u$ZtKa#x%HGEbdOmhknOyKp3t{Na6f<`duvXiGyqYb?+uwxL(NMX?RX2r9lcsQ4uxN7q zTWr5f`{O2lTFRwL36QJw12mrc}%;F+iqL<=S9&2Ts&mh zU>Ui=(n{2F4MU+;g7?VnaCy0QGu9>)1z2> zj++QiHCdV{XYHc}@wQ8PgeBm;d3i9+UM=d=I7T!42U$>OXWP||+B`wRY-HK#ka~pT zOZ+_!4OdHwlMnKfu#DclcQC>$F8DQ39@cY44J9ov{50CCD>PtLluVL!8UiiV6QGoV z6%<#~nBPrQk~+d3YbM9{%aK<4SM`49Lwv;BhD5-f4pMJgct8Ck#hHJ6`5^zaUqQDS z>G1MbWBIKY)V|RjG=mzM9ka@KS&Q(4ZCKBTYMxSznki$ya1SpQ$(8M+hwZPP(tiDC zLtNjzL*gQJNok7MLk<3hyWSN!YbvxW>e~$lh8n6UW~bQvJ79J(BUVPQ6H8V`&Pt08 z2w*2^&T5nklGcU|!g-?zkG!$4o%A*Dh|q0` z?=z7-P%WYp#QD>1h{fWMkh%OV&c8Vi_1It`blGg0+oiNZc}hD;s3Zao22LAlE;Ysx zn>YJ;N~CUNB%Z!Q`G=^A_d(0 zQJ`(#3v0Lt+GkA!X1@NL4Llt#N+_EAXU-!zz(n^z}34iP9HxG~n&3{m&&c178 zqesycM4_lW{u@76=HuH?MS=^o^!cbX4|PsN*Lo}uy^N$^8BnT=zWf+RuBt6fsP6yd zbk85ujy{E%9yEUvfors^iP$GiA5HB$z9%^qrWc-`gE|V?1Iz(44=TI4Q9gxSTYZ`$ zeFjihVI8k&8eG_DT%}|$mOL{C>N^Y2kU)EZ+9NsBy|H8?0Q8^!Tu~`sw&bAAqq9YB z7ud~#*&t!g9c{vq?PYC;dv>kF1)g~M!vNSUH|(odC_c}qd>QJdO&{*mNk6eqH|WX$ zNwD3^hJfpJ@HC9Sd{-nH)3U=Sb(_!|`61BsA-vrD&sHxkACE%ydfyFs`x0+FgA=ZOx|3I}-q; z5wCI3UQG}*9EjXo>@BOCYCQd7I9H(c`zKBU)AGH8ZConwHsv{`7AoVl!etbo*y~7o zZYW#XR_(x;x<0J01H;XOh6fL2rD$g-I4iomA7qoOUPlMJ{ujQ|$1U*+KAPgt_3LEv z_o>ZMzoWu<@3uqZ!ByP7Cw#Tn+V-#*DVA;N9i7l6ec1Cd3&Guu^-dN`ot+Tu;|c?U zbfz1fe#tTjW6V3GoP@iFC>0FwXfeQWomy14gFwCsgS~3B-$}cu1xB}I;!I!Sebd#@ z$e$L*ig8+HhmQRrCN;GvaGqLZYDb zserd;SPzZ@BWUE8^g*{u)&|d6*gar2wUL6hb=1ih)*T5Y&ZkPV6mY^7u5SmdHY_4% zjJ?yNaC!%h`Rky-DnkA_Y>u|XA{T@YrsPR0Rj}YU)eWdlXH=PCWo{71jh#G}gW?=s zeJxQ~!>7kQ-Mu0M6Y1h5(;!V1vHMz(y6PqSPp5oi1^pw32dzH;l;2mDbdw+5saTF= z*|+MFwTutJQA>VK2&!CkX}WBLvBI&(%LwNWS}NE&Ic3bpFtoI?6CT4&j#}12JsN=3 zOJ|yTb#bB`Mji38euf)={(JyGC|dPWH0iN9J<}4q-gZFnh+$kkeuh^!PG;kM(zmys zb0BP8&)xsbg))55H$V7J5D`$B9i-U}@+*PhwHE&t)RHJ&6qU@kSLndLM+SW3UoNZ-8vY=YrY?Ub-awgQ_zE&E>sZkN)U z8@~`)y{;{SZDrOKhC$+?Y}W3gVpHY2T$2;J38P* zyaYH)2AW6-=R7}1^>WLFK5brK=o($sQlk1T2%zYpl3vjrSZXc|8sm~%f0U%I+;{K8 zt&=e8#)W3kK&i}kv$m+44kJ0Yd@amGH>l!BjJr^SwZGYq=UoVJdMABg>)p);J$UZ{ z*`B8&{b^lna{%i=kB~Y9!tT^a0+2y6hF64Nq_VB?vDt{39Rk)3)$*;gmE;~YadL4YQnyLK-asLI;>CeH4;Duy;?XSJ7unHcQ zserjytbe)582_gJq&skg0#LVYF*xm;b;O^2ORgrhP|8E;FfTn-+MD`n6iN`dpN|R1 zq|AF$5nFS@_P&NH+HbeE(EPMPjgfyKbZMpA?)y;gp+PN3cG=kScR1CRN~$F^-rJI$@hK#V)Q+p$I z_FnJ5V1@b5K+P3w10Qh0^C0H&P?m9gPGVK}zI)^}J&MlQjur@ck>!VX%2uMSRO2kz z1xwftzzs;#Ygc9bfuBuY1Ne@j>CJ`u!MF-Zubh$#DUY4|gg^@)#+JtDQkyMkq7XzB zD3csg5MqbD(w13&%hrjX7*Smt^4iFp-nYluu#iSOk=z=D=Wz675oq#kEXp4>xCFMN z!|!Q6wZhq@!VPPIU52}D<*s>^4F&lCAGDTn1gsA+5V9aL-_3(r$(R-xMMV2e`r^D6 z(jENxEOj^n5am{{^Bd%sfAr$3rQPDd^oE2jm(`^}5nVMJ({aJ9)U|p2on4~Rh3k~h z7vvg2D;2f2M_kOE4!oLw#r*JBDu0kcFsyXn+Cf=iWga9>ag`_6I#X&_ztJ%9*E`u% z86TCUM~7lUc00U@B_Gl2b0pN@R-24#8$c^D8Q5phn(%>K8t|<>P%OFt`uJ$2L8Kso zG80kOc;Wlv?c+iR{akcUy(U_eU%QOER%u})(744neHy-bEc-JjVP72T=l>+FfQ}%) z6Ksqsl~bY)xN<|b+z>wi?jnHqtHT?R%qf}{Ux5Ogds`Ic>`N#XO}uHN@HCe+vDhg0m42mLp=2-RvCly( zEu6twi{nNh2opPHra03Hj-NXksoyUSwWG}=tBo~-s|`%l>ut^7K_woT(Om1uJDA($ zJe^s7PbsayM8fl=q8W|2pSFNXg#o)!qFTMyO7cUR#a0ih$ZaH6;w*v@23MCv2OIgz zRtJTJ>8h2b4J`uax!tuJxxEh%)5evyqeBQHEp>?9bwRclB`^oRp2MZ2K1zdKgk%(X&kySM)PrzfbLyx4f;Qt&~mfC+zlMYX>s4E-^#+C*#o z9f&Eu)hOe*pN6}D>{CyPRz{&rgD=13Khx%hxBxIU=lX65P#T(J@q7rh-k3xEx;jOZ z*IB3SlpQZh>+LfooKI6cyFhcmQtySc`MZPNX-n8Sb(bcCNiayOg2$>r!?X(5skksN z;oa-Rgj-9i8UzKdK1|6BwBur2^QNCdLGDLukFL<7GqYS9DH^(!$HGUsxrMAB@fc_C z(^+mI52dkinby$P6jJh)qogVjy^Cz2^h0dSL{g`a?`GKAP&8Hc(OZU8WO=@(oKLfj zyQKG#4<|>rKobFS+!~}qJBZa|lF5k?@a+gEwIDDl2H3X2C6O{F2M`sL9F$+jZ4|!HS4m%}z+*WpPiw`J|U}b9h#InfbzjelnPZ`&o=#}J9O*Xvm^r#;6 zC$zr3DBAm2gR?NBxJP6DNQL`2AIQ!)+bh;DmCPWldI)vX7R&%*OA5Vfww?nTwB5W_ zy~1*tWh0L|!D=&cZKIeEtotGAb26C?;)@~nW{xQ8wjtPpcp}DM)P|Zv{G!NazZhtPep#9t%itz4| zoF`=;K?wDoG7q-@z-sxw739n|-#6r0zm`^k^eV2KR(hv7-q!a^E&J3&n*(x2Pf1aZ z)OCNC@&9|!f8qi>;0LTKekxk>Q_UmfP*AHJ(w0VG!nRSc`NqV40m3b6`TcL`j=_|B z00JarI7Ix^^jQV3Q;;`ZEkL``vI=@Wh^o{EEEy!lClC{e8!xCsiycTEU~~(A7}rDg zxN9YNSUkAm#(e-F;1nu;TUY;2SNeZkQ}Y!-*utEu%0AC3cQgiRrj^R1B@03Y=#QiTR!*Vp_>KQ_&i`0yS|y!6<)@`* z!2m`%;W*S18UqD>&odo4NsE{tESrO!ag0MWW*z?=@!yNoe@{f-AAmK;ncQ*ee1Pw1 zkjtL1!?f%mxxHd{&R&4~e5?d*I>a`>(tpXxunOLRMw+`Q_IFl6Lkf3Lc6%+A6s1gq zlxH4*UHXt`mx{^Qc?!}Y6>N?WtPygr{SH(A@m~M$sQ<6 zcgVRe(krN#4tOsogJk>w75ZmG=y>LoUyYLHFTnWF=vlo2^LnC{%una%XNK~w2etRD zjLhEt!bJW!-*3F&o@UNi?f!c{{(9r@i~q0V^Y_UA_Xg+RX7jh%0KfRRxB0KZ;cq|x z-y`tfX7jh%{GHqU*9h{%IR1{X|8;!+PR#yJ%>J&V{<4GecZB^r!v4PyVILH}0_-IN zbmJ0o<4azA3M6Uh1z1d9e9K>Ifo6QKd_$h{`_WMW6cXD&z#vzjIs&wEk95$1>j9X` zLgo7_Pm%$afzbpCg1L|`h&1fA*0P%t!yHt+=K-h!*Qy5Og41o|B#}pz@wg!gz?$d= zAe#8+WYBB=xD+$b#!_uB0}#G>p!RU?J80{In#aw63{N1A@rZ6hqOu>1VtgRt7YCL(D@47hWAvtLV}b&?h|GJ ztjW0!)Jqx;M}TDKYXV?l>7l8oO*dPY#V39A10nV)AW^{&+V!W{6muwk2PnGh0$ZS%KSKT)Ch*UOh%urLx%X_4(Ss5bB4MuGBd?yA&YlBS{Mg{1NM}_dLQV z1)_F)pMuas;v1I359vGhu4h6Z0J-gO8`JrfmG(EaYn$vW#P@0EHX(M z(*y!d`m4qB=<9)2qK7*C`x`F+?Cij=@7|8^1`-E96QBtp@h?WUpOyjGza0R*2vQIC zN%r6tR)5lqeSm9yl?I`@z7PuyqOr*UqDWrrX<~a2m;oM0GPs9+#@c>Ig$V{a*U_y# z)$+#Ry$7hUOkwNJ;X9@os{k#M1f-odJ_xp$9_ka-(0y)Me6t*t=?*^OEip8RpLhn$ z&RQR8?7;55NQm|xVy8tV9c`cyCZG5#j1gIFP7!2Ik zz8+<-AqoM|W&+TIJ9W0<}M z@h=xY(4d)pu$}$w&Br~$h&`4mU|}_!UM`5W=ME@1sQybD&#Pq(h)dBAe9Z>HlzraA zR0XXcP+YhM(UE?L2cd@dA!w(kHm$V=zpo^&i?IC(QNNa}XthU93XT8kSpX6*AQ%F^ z3Go}ab)PxwQ-%~|!)gz}3h?1ey`Y-swmn+&3FT-51_q$>#)m*?a#pBJXRYmUxeZyH zzU@PTm7~mVm!rnt41YTgs7VI;S}?u#B3Zq!TxBkhP;N(M9xMw_6WdtPKYLj|p9SMK zY9l#9HhM@2ddf4MbTj9x3TEvqsVM?ucd|;*d26 zWY|`AUF88VnjsM=Z6rRgnd0{V7u;zcFbtHu5yD`Rrb6U@yNxccwG8<$lOt-YOfot# z)&HQS0ZRIICgdZL_7HgG7rJAb1#}xz-`|O+Kp3Dm5?YaeMjhXnJ=z~QN(R?jQe__8 z67oS{bQ{pJQvr!Ke*&;6V5Gikj*vGDQ@UQfKrwk_SPMo}7=$Ii+R2b-OU@7p*TE2p z`GH4{Ed(xR8%1BFxi7g?oQJfd34oAS=^n1n7_tKN116hak> z1F4kis2pvhND$=0IpQ11yzX z819E86);$W)jDd;pG7f>Pls#{^4uMpT7*Ks8y8{NE0p%rqdO5C%b2#Xz_s9MGx+jO z(6$e{9Y{=!vt6FD1bul?IjpAvTg>RzKf_n8+w#Tb(APW?4s1^Ihhoj^+)@RkK67(k z{<`3T{9_6r=dgm;1`EM}sI2ii#_3qcT# z-GrEMjD(x40;TziRFr{9Z%cCGns4jwwy|3cR-Hsj9e|KX^qM~MW?>~v)+T|}!rZV3 zB??Gqz13MpMdXVfo*40lg-3zrT&S3ceolQv84hYK}v) z9DVQX0l@Q+C`R)4ya^4QxwqDKXc&+QTS5%Uq?^XdwVB-(+p503=0`wki%prS&;*tTZcq6N!Ow`!7h2GE-uJIw%~8bYIBPPLLkJLXa-U`)uDO zZ#T^N+Qg>EGxGNsz%E73+pW$*Iz8Tsw>0p@%y8S!l9|DxM_0Q-bLaZ1kOy^nEo&A- zf#3mB-{-R9H&#$b%6IMC2CB5<*u%v)cn4%t#M&fx_ua}mA(<_Fc_LM)t9EEfSo=-v zqxI7FRkFKQNc4haB8k_KxNF)OzB_C|B=;)=J_Bk?RSc?%3+`DPP|$HcAglg9&?xYRi;LKUKiqjmu+ zjq~CTpafy6`u1lIfTu1;UNjoe3}8jfQ%TI+N0S*J1X|Em0%mpCupNR`*)%Hd2E@(Z zct9QU+_V%Y#1&ErQm9mNDm?q_V()=onA{Xed}i{FrqeR$XUfRw|R7Gh3WDQ_fETOOek1WYf|n(+MaggrzBTamM-JDGJvm!gXsjQ8|YpFpjHy zggLK)d0Q&*x2vl9@iIl3tLdbBq!n+Z7$?fVi>Cn-g5q#D0IIt}gCm?4x~x zI$*6?H(D&_I2gCNEi@&B=Y9@MTXaGDikyP4`GFJ>lY=9giSf_5SdvWDz9X5TvM zc@T&WRY-4$2|jQu=83=Rlj5yThL+vn)iRss9cQLpHc1S=N*WMB%F^8LIrQG=$_cPp zoRbNM1jW9E%i<>diWV@Xt(HKFjIT95PhDcp<<4D)oaL%W`AqIs{DfHAQvs!C+`pcz(8 z$dkld7Z`l(+IBJAyO?Ta6mgpPqE(XSn#MyUGx47EZ1U`D$L&f=XO6qDnCh#_TSwFROGaVCYq0E+mK9WBka+~WL?&6?qvVTzd=yfT zlb`Kb(C5vliz;(jzIsB}a0N{H8jfPq^9xmVQz{r-6g90vmtRn{lULTZs#0;t$;}p& z3Q}QSdaN{A6zClSa|({@VV-M-%1FkOD?m0fQia4tU7%gM+?TeNOV^h%ke)cwCGve$ z*|*1hTB4wGD(Yz>TE%;u9V8fw`<>#Wh;Qz%-%?J--Pl;^-gY*+@0=T)lh?3HKsxpj zxUA9~jE+aXiM6;@J)1J%K$sa(1p=T{y$0v{#1G!b)86pW=K{)6+cHVCB8RTQfp&0( z{xvdQ7S@z8`w1}b%u@~Kdc{;OOBTs^>L6_QFMxb~JmOgpDf2 zqbLd*-pd44vsTOfPxSC7Tn`QEmeoCZk5$epo5pjVe>S7RUGucibkuV^STuA5C@dbE zLQ12>8#HItcnTY93{1mAH#4VKLUNFfCasg7%9((7umhzKdPL(|5f!e0MjuaB8(!My ztLn)yTNYIPMtysKVHpHQ%Ga(S>4M*?+E190sdE*Vr-G7%)s-uqnciBetZr@mEn9<0 z7wop*uNMjfT{$2v8nsL|7si_7!wW>sgG+((0!|l-Hw0?05gpFV{SVoRbA6JW-_i`> zlqYVy5jDAr4a}gk6Bcm$UTI-U6jjO6VBU9e zA>7NYDkOBW(y^6+RKs0;uIf=M%Q=5pJkL4$mCMtcEV))j-0}rMmeRwBV1f4Ls5E@8 zmPp?XgptT8oZRjLaRfV@f#u1}#jS0w#Z0ge)+{$$(Wy*dp`2%Xhvr6aU|pO4_Tsh+ z_rs3jG3~0uQl=}J7Y81vyuy2t_J=2zuR@;)pGzVj} z{^6?FF2d!YKp?aPc|61S-7a(4?&4oPf8-Spr=WcVoY>Ci7PXYfGTRC?1S8M#f?7bz zg*>g+7fmapE>XbT!X1gtt+Ax_RLv}fw6B|yp~306K_5sz;6*ty;WMO_tuG5m^*vB> zP4Nd!x#OW=ma_@bBOi>%3oy9lxA9p8G%)Y{L9N#^ePjbr#*H@gB9!Zm=#<-lhti;s z&RE#z5ECmy_@J<&=A4ehOv{^h=4|wp)8GR>A4Mdf2Q+JEZ!+Pqx^IOUM<4lIYb#q1w2G!)50A+ zTT@(}ep(9y*KeB6Ih^L~LOj-bDM{wsgKtD#F*<(nXr1Ng&MHu3Iae6CcgKI< z_FM9`)WCq+&vAf{;HqzpKIE^)X&~~dn>0Cdp+s$YZX%a5^#;#kDY!(txmfX4-c+PV zgIr%CNn#w;=HIZm+56sKiXctviByr+)IVwEC6K={4tP+O0;bVw-fOt&XZ{4;&=SxC%=mA5=;Z7YMQEFFU$wAJ)%R zW<3D3g+UcdYsv?*jMKr@RYD$rm4!AdKzci@`?EBbFL<|gWnr~b&*9czZ2@^Z;etu3 zxtCfO^-|x>LC^92_;~QR65FD|H=aGM8S=~YE6_ti0NZ(GP_ib9o+e0YHi}j~WI0iH z06hHW&cS^-y>gyqj`yj8+HEXNv?I{7mzMjC5Fs>Vr7F^;$s;CCUD&gx*q((NrX+O) zx;jzwOiiPgc1q9Qn076Wu_Pe5Hhf$4TfR}+75QrpnZ8Z$$j{N}y40T04B+A0TuKz2 zfCSk(eiq}M%@Bn+`rQ(R{;_K>O6?`esFLl{f0%iS#zU@SDPiohx%S{E?vzGKQKr?5 zf6NBLCRkcgOH0%>n*`R|vY)VLSqla&c3?3ROY<8UEGx_BwFl#2c`^jfC#?J z16!uq`LZqBbC5)Ad1^aKWy>)$==vx_*GS}5601qhcnddEp+Y~9``~5eUrC-UoxOf!n5t4VBX@oQdJdgA(Y>)*hK%|Xn0iD`c z#XXz9@Ln_vNWxGi1h;u&8+a;>e*|hfh!BqYOv1X$PVjt7TT_RBt(+S1#6U^(d7cNQ z3#w_A=+|jPB13W;TgewJBViS$!3^{Uk57ODXg;_pR`&4X8<4kpyT zyCYzRCG=~}3m*3lsgDQl+_uSMU)ehUJkjFWfeg)r)0+@bcaz zr`cWb*rj|IL>M1huVW6hTTw`+0=$aI`JtKzNAig*3;LXP=3!}sn(PW040tjFA(3Vj zbR_AKZwBIDI+dg%H7LEX?6c3J==Cny-DpRbrm~FdYjL*cM@i90m;$*iN-WZ;BDL0K zdlWdZZb%{@h*jKk^HW(GQ)~GscD5BW zC}CK3Lit8skTS9&|Fxm)|HIyUMm4pqjlUL90To5CfPjjKfE1|$(nLi-Kp-KsP((VR z_bN?A1VkkC-a`q!g(4s#y@rG?Ql$3LA7CU|Su1PKHOo_f zkMhN7fK$m~k#>`Rk*i*QmjI*xY=Vv%Z*^BLO_rm{bTCe?Y6rrj8`uqn(p{9Q#jEPz zCI;asIN8}$D&@sBqTV|Z84d~noTi6ZrlE9;fN|I{t!K7G-Iu4P*l&?PXKwX zBe~qNCD<(Q7q*O{AURFeqny$;&|!uH`>R{*0TV*MhapdtDnmx?p57SbgxM*&!IsVF z_E8js#WcuG`jS{&XV;v|I>qzze~dWsC|%fr!)nCrHVfck4axP#iB}ay-^{j^8F2&<&XJ$eN`~;|vSM z;=fm=&55e?4lt!@6U_~du{tM6$-aDWSSJ^skRI8?iwr&62qU@LJ;D+eN(8~70u^0j z$Jo9Vg}d`B5GWibwWutfZKS%~Ztd9{<6l^&a%m3E0=i;qxBLm&wi5S^5*6re90z*) zW;Melz!^wTeq`1b!X{}F-N!&AsieapyMVqKlLfDCrwsT6wJ4INSqE#P#`!9o z+?=exSX$!~v+*D4dzN|ZIR#Y4S<-CNeC)Z{wcV-`+)}9)dfVj6fQQGr#v)c2y>Bi@ z(c^$ki_v83orr5Me!iR`)V-Q*VGzFUyqFrLs1agVwfT&j3%d13E}3*W<*Y6Y)yeM@ zu6~!};o7~c3xCLd^2X@%^9CYhlEs9ck%Jo`c}c89O3_3l%Is3d&@Pd>Ht=>JQsF!2 zO*BM9_O*@HQ*U@1x6O&P%nH85WOq@jBC~k?s$j4+UK-ycX2iGDLtxp`i#TBSOp3d{ z8s+eAgZDlofM8TGhh61;>bmIME>NQhvZPE{BJ-4N&)&j^)ikxSh3|u(ZkUQx3U^2&S# zF`+~C&3=23aF}Zpbj3dD*0PPJA)YJQSH9V=dQF3ZDgD?=F<;7==09OU4> zY_=7sjkL}*#h>r#-8HE;#AH6jW;@~b9xj~*X`0Y5)|*j)W|t#e>8nQ-(d39W!HaD| zBw7m*z!qrc+3P5LyxGC{9t|@PdTOiZK1}&+Zd@JJg>CXDP7~)eYLEXgD1}X*S7K0X znnb0Cr-Z?T3Da~Z8WNf;O2Fy=@sN%ynEfy;F7m)a3gS1)JtDV-S znfmW+0^{sN0h>~E{e?_G%oLC?5x&aD4N^ijt%*Vf?j;#2gXiwvJXn}gNtKtZbT zz*&b$%)s7x7TvD1F7`Qi{iG_7ML&mtLWV4R!&EE|tZ*Zd9voHIaJsPeD*A8V3HPw2 zRDH5vZb=4AeP2TW$6#)qBoQhHty%`IzF#h<1i)wrUI214JU+cbrA{K5et}!QW@DDz z000Q}JD!}nINw~joTamGI_+e$)KI!#$}HLE8>~#W3XFsIG7oSJWR9tUu(%!Zc z2ZTP<#H2dz`nYSbKB4@ycRYe< zQ2| zu2UkLN)(m;%yr8Q!pqVCbAsSVi+uFiA2FP+b;<*Fl0%*NyA2CZHJ>Em=0u46~ zq*SD;dszc%htot7FZM0F=RDZ0l=E{%sra66)VhG@Dm+Qd))rMKI{rTGmN8`IlxSez zl*Cz7Pi;|sL`e^(#f^G^#CC%HBipw3zV%RUQ%j~Xr0?gbP4zpY9Yt-3w=J_90#c{x)b0jHRbc+-YDdNkyVW$#nS}i9Cw^&KeK~VFzWB87%XaB*s}x z{lxAMCdZ#hORIm*xuRaZQ8a3x>k#l6Z#AaN+ZjjTBT? z%hX1D$VcZIW-!qV^Tb}zUGyO#nG4}o_Eu=Kde(lQqjNTYCMiIb@T}&&4e;DE?vz*( zjh3s%s_Q61m)Ml=j7`V12EQ~LY4JJR8kU%d`=6i#>&#m(f@5~O<+$KLoe>9gIy>lh zlT#R?WA%@Ck1UkBxArz?>W;Q3)uTa>`YBi4K}<~)#hB7X?q;bobL9|`T$pyAHbIb@ zWyLQv0Ehv@u)$qxFb2cSlLgL%hysCPV_KgxmuiK(tY_KT5eXhX=Y=!0vq5I- zHbc6-i73_G0bq!geWcbF;>u1y)Oia90jn7w8T8If#6Hi)}a^)y$J zO#!Q4M*ehzrw#Wo*cK7h__1Re07Zb?w>n@YyOC(F5Oo~X%Oi=P!pnDN!Ts*drFoA5 ze1VE(nv49gU64IFOD@A~hkJ-46Fqdu%YsEW5F;zF`GV+uA{J^t$3m5}Wpth7TJ%EL zr32Xq90)Dm0YVa>xA@ty^cCL1GN||$3Q-M>0%Cyh;VC)S9$!>X6h;W31&3TgS~r() zz{C>B=v~sLnxEtEuFgNtB>+79u0`b>OTT0PJ!d15N19~-8^beuKz##f#iv%2?Y;R- zG9xZa0-hPuc1ZblvIE9IrAiwa2?&l^&DvzwZ{I^QmPUs`3d}uzDAGg_S!~)H`~+d3 zL$g#aR?Mk}8P0|(>avJOr3tHu0xWIuNllaF&sNV0ZKO475g^+czQE4{JkARubL8eG zhY|0!$d2_gVO_dM3Ue=fW@8|RqQKaT_kP42gCg5jrr-X8g!FqJ?q}KeD6<_e*nIYy zm0%@WuvDbfQWbtf25y}OIAN z_5#rJn8inoZbL%fbEShE9c=T)uM?7 zuO9vZB`l1M;F>G7rXDjFwX_b1iV(j$wv2arLkuqEe&5KhFJkgDp&~IUIczPltx1X1 zu$`zjQDtdy4YCZ>?%^7S1AWhX7OAse) z05;8N|N7T5X%V`$-?2Hq+@>aSBVy)=Df-1@E&xc^xZQi{mW)A;aHq264e@U*zTF4b zr3Y>)xT2kA%60VQeIQa|;M#1Q?m+)qdP$V2`xG+2_hj#dxwE_qSyp_c+ON2K`iBe{ z9b~s(eHI953vq~ROHdj>r_#P~y?rC(hZIV6^7OpR?V(T2Qf+Kcw(m*$8|tQMi=oL_ zdl%+iNHI|@o38QX+LUBsx9O_Jo6Uvy>q!CS#a^mU|@-_}vxH%RH84AvX|@K9HFNQm6fbHryY}@a>%a2-yr%ty~}v zsHd0O?+5bKMnQd5TA0a+$ZKS2w=1J;&4PV-Y)8oa1*8wOnPd9UKVR7PPwmdLLwl(B z=4jrTa1MIJ%R)2Xgm*r-O<7es(LOFbtBd<8e5mb}vlG$%NU(PF!%z#^S$-*-4V!)K zwI$!pLXQ;J{E@yn4m|(;c$&-zWKAK{a8~B$$ePp*;6&r88MS4R%zsF?YHqg35=Or^ z^xa)Nf3a(4tMYe1iipoA^m*`MmlW(nE-60DM-_3?zV@Y}Dw9c#*s~fjyUnKzqcDAA z>B6De(L%Y9sT{`mNoP(U2m>T$-N>wiE`Bd>Lgln5oDT?11y&eS81B@8&_#kTa}?I) zjy*8k{_cols(L7Ag6VQ^lL#V5uF7c%&W9K zjZucPj0QOTxYN?d6lQGmfo!dpsB5*00+OX!nal7FzgLV~hq8SZ19;?9EFZ&dpE2i$ zJUsy?0$OqTX`j>|@sK%u;8WgaO$;(*?+od4=Jyc03H&LZaui?P;-i=(k@b|~mF&9x zK%=_!+N1y(bTnAxhpmsIH4rhCs`Vrh-M@e0kR4rf2Ky*1hcxnwHNG|+NR zaQ_gGpMm9Zpxg62z#q@3r^)R|s|}rHZ>>HlwvrR$BuY zCEg9ufr;bc`Jl$+gPjgQiF56TQ;DHu zaX=ViEPR+PklUoy>+tLH{3_y;J^F<%M9<1kI$6HPviL*E0lmWbuTrO4&Z_kH5j${= zVRz}l*){ZNVAQT@Q$+HJ*Vf77Bo`!({p~-mQxO#{lb@Yw5plPs=lYP!HM@}- zUk5u_)jp{9XP~*R1m))7xRR@OX+&Et)P$AAeFe>&(4C0Ajb}a$-6>yfX0Kunu1lmG z&A3y`iO4eOBhuF*K7Ok1gf^tDj5kIjUyyTA^mW#9Zphe5t+7@X#XKU}p;DtM-%D$@ z)NqlP%$T{Zyuk@|R9Ti-<59xw%w|pRI6y5R!YRjb)hjrZOtDlhR}#+jJgubyTAq&oPP(x#~baYPe(}^5kgD_!x_{hJhVj zIlsuLS4QtL=|?-ybAo=16Ire(u{jSp>iO>7oz@vOK(&Up?sd6pTz*l@<9E8gMYNCa z`P$ZauOPiFxdGZTKXi--vP0I5}|sJ$vpubp?Uz^WD~;toNhjXnTy$ z7z6f~AhZi|;qDMnaYQ?`sW(w*pXk`$Vd)a_59%6>n;eT z4Q>2URY3u)CwVG&rD}OdJs^4+Lj2H!N=B*f%_xdcBJ?#V(ic3QA4Zy-I*Gbob zJTuoO=@}2^hhKK@`s5a13Qv%l78Rv>Q#2XxBx$*KUs;?bYKbc2bN-GV?)|y1-yo&1 z(^*CxadAqOi1DhleST@`dmlqS^xSNv=}1b{R(YWW-J<^T$=ba>oBU^Moai70VMZ+H zV`R{9r#!)GxW`_U9C0@xE#Vp8vCkQd0Bu+xAM+spCxR41ZKcwazY*EFg0Y`7)ELM~ zt8t~S==R`I{r;>*pIYH844d`9geq>vF{&b_$-d$E0$==+^j>OsOmJDGFP@5P)s zVmS0JY6!aj+{bBLeu%FX8c=~UT5az8wr!SfRp#Kr(l2|ffy*tC*rb4y3_fG-!A-aB_&?igm~eB zcQ&FNvf#o2vKXd3A|Jp$JeThKp|N+vh;DR0V7%o@s&*_N>9r zg#YcfyNFj`U$(Jsga1hIIbXo4k_OTG21H2{sW)dcw<1~2-1zv=t0|OaFhwSm?R*(l zRkI)PU({E46)#96c$_FS>e#G<_oOS90@F;3tgP(I^Z0UGBO)l!90X^S^yO$aRyI=p zZb*RVm6Cj{HrMXDeeSh?Z7Rl(yngz~JS;h)EI%c#B_vo{>j-L0c2rFygvLdJIm z5T_rAoRFc4uxiE02vfb4{O@)PQ_jvB&%-E7t$GfS9d!Z4Z22@Vi#gcB1x{C+yH0DF zd-=auKD{6p!G6QW)K#}5nV02v&X`u`d~GftgBvIPe{=R7>Kk~h?-s{)FWB){XVP%R z7w2WsD^sTb%}(@;#_KW&fuPad@%mfQ?mrKtcuPFZG|TL~xbu5y?N3Kv+>yu&i2T!s zzkQn$0ptg2x(gLP|9KOCD~w*4e|i3I5B|jgR&ZPF4X1n;|Kix+$~PpKh?9SN@IMbo zyeGRbFPncnQRF|5{e9DFIj8>q;D3taA728YPuW~z=KOyi``c~?k3{Hi5B|l0e;&y{ zkL14|UjNLJe-^I4SVR82(EhV<{j-<+*Zbl>+xtJ;`+uyq8~B_lTW?!@&1XMyUVs){Bjlhll4L3rpibv6&H(AQCnxfQ>Gd zXDbR9V=Ga&mCY$i$#ki8KB_7uRG+vOX_#f-l2;pT(C?3#=p|S|7vp(qbCZ&8MGIQS z(NI%E`t?R0|4v1uBAb|+(nwc`y(c0f(sd_rXXisXv%~7viCufuejP(xxCAg`+n;%G z?T9EPLv!X(WPdix0MF4lq0!O4sIyL&kP2!~flT$aNAMlW-1GFpYS97++8;JTw~w6o z=cTjgv6n#$vL942fv>=&aJg`mpFD51;->v7`m~tp6=**pL@Xl^*I2uFh5v`vXMeF% zr{8Iz$NPV1VHq{!bs-a;j>auREp4^E2T|<&7h)z~yNQfS>hE;OBh+Ew`Y0fo| zy`P%`kU8@DUF2k_jlX*?vEakLdi{Ly=jVOo{yW!!3K->acINnzKKpeG zD7f&aQFFf;vR*C}7v@odH%}iiP#^Q6B?lkgq>lcrSLV+`ey19^2U@wPwIla+WNiG= zEQvy3m&eY({YY`-_Y(TSQe`S2^+fvUeEiciOUMM4cK(esRvt$z;N8-|T)p#wAND^w z?N9x*0SqNjMG1$ao&YaeVzckl(B1m;9saxbB`UyoWC_>4Y%u-%OPx-{Ms`H;{-$dr zc!`Z{J^gX<=!qYI)t^7PHYw{*w|DeyXA$u+_Qe+-Iq{ed9`aS0ZO1s`d+K6w15&k^l@|NiVhUbSg} z6AKx{gpZzBNCg_6{U)IOcipN&yt=G=d*HvXDd9pill(8ns{{tn5wl*6xkr2K1v_wZ z6#smw|C`QvW(2*0=;$dTR&WCz|u>nb6-BcC0;F!7P|>4Ov7oR(*Vk9?`^IcPX9 z9d|{*zwiG)Udgk7tN)r8I{G|*5$#RGPh;ku{Ap+(dFv%i9GATGB1bz=f&&bFEY*j$ z-%O7i?nFn_65e+5NF(@4z^M3kdD`vBXMdiYo#w=OHJF$@e&kDhBE*JUe4pVy((oh4 z|F{TW7`S@cr|HTg2U6m}XX|vfxmW*Vr2Tuy&fW!`6J$02=4iJSUk0<(jK|@~x^Sdl z{)vw1-;BA8P|y*=`T3WQc3`h07&`Qwc+%f=PPYniLI#Pz zj!q91;sQx--|qjXh8=y|rc9iW*9C-+o>)jU65o3psBom=|6a`g&nt<)xVnT3n544Z zW#LHVK%E~2;$Uxkb2{F0;AcZXj?~-pC7{qC9@P0UUl=S^?2deJ_Gl~r)Q5i>CcWA> zYC5yadb1H03j_m7(1kZ>z{<$1M{U>w=Ya!l-}_XPX9wi+5SSVF8%#IJTpH}~+I z!}05Q!`28rip%%7-P6{clm2?)mS_Pz6-GO*@v}MwE!WbT(V~5>RB>HcImh#yM)+BruQZ2%3F7q> zETB-z86f1kf+BhgAaEh4ONob2*SW)+M@W` z$KIeg9Y7|4M!c9il|`t9<-@(@dI5uGYE3`{TL5S*L|%(!_8K3a)JhivV#?=1tkbHP zc(QcxQjnHbeR%fNz_y@e%ZIy;59LnNX?FKt+`0NT)j740`NkK5;C zx=zPFIR3$>U?J}~^sVF_Pq=ydkn)RP)C%P(QUq%-xtQ3YNyzZFP00SHbSBLeQW!D}VG)*jRi*uHRg{qd8IY2pm zfF(AHKL#RqwizyWWHkWL@nZG?O=G0sgY8snep1p8K_j$wl{qN5weD!POa#@m#ktI8 zzF#Xc!?g?B&%Q$aNUdf~m=YvyF9EzMV(34IV7SZYK$dbjoiV zIuE+#JRdBQt|xilEsE#2w9cfr)vVrsSZMR0i$E!EQDu?_=i|d=P0@H%Rd>*_Vx#o|s3SBFYGP*KHKDo0c~z#D z(GYND5F{2EfciSp4Vxf0A#`KDzwqbu8<$l8VZwuQxj+5NRMqrIMF5J=9HhtRW?WTO zR{qJ+vIQ^zt~6DvYim`xXKDGq6Pbx`W>pJ?Ec8ipY3ClcovOa(@EPo{*ZC^`GV(}* z9xN8v;~Y&Gus-n^^9pOJkYK*9ZIR}f4_mC%-|*bmG!?0k)oYNX_apDJqjY#uui7{t zW{|$v$L+_QG%cI{94(a?T$L)9Ij`rbrwu#UwPkH#rz-l1u07*tV1Kmlj1_Urz2dFhz+Qa(-+l7u=}(JpRh<^DJZj}ELpt8@{1&D=ro13OJngun(Q9Tf?)U)`xCpgQdUD9Z(1P=eI5b8&SHlpr)0N`B=@ z{-5FTi`!7%J`hX|*|@d8oH(6jL}>sgGSdGOP;~ZLa3!F@S{<>FcbDMeZY@@Hc$W^-^*ym9jheLViu@st`hPUg5 zjU+SSd#}8zmXPNb2Keja?Bza`_{YPtZCOp;E8I3x!Y z0WJZBN?o9x!gezk`kA&?h8;&YPM8U&BWoe=z=Icu@RS@BMW>}O( z=BCrM|K<}=1Zp~-IES4ro6^A+6(*3ifTyOR>7Qr{ts1|ZQP!tn1{F43_XAZU+lt)M zqo$BrSO8w6FdMC|B0SuAJC%&;%LFVy2kUSStgA)^L@pME0Cb-?G(l>H5|O;p_rUaE za%##&KMw@_Mo;NL#}k;9(&eM4=n;Scx{T`od+ao= zizBGJKZhO$FM_H{Y#}Qr{!&EYAPP-AlxFTeaME0x0MtDin$vnQW17=yxbyj}@1C^C zF2o5+O(KR;84IO?iY-I+M%!8Q!^J7tCeEsHwd|lH4OBeYN}77!FBD#5Mozx3&n|UI zJEtbta;kzbUL17_Q`9>^r$f^pUW3G!7Rn)VDU8?cYCmjL7!4R!@gjN{R)P;L;Z`8X z<8bf_PkP~PoMw3_@0ft`CplVTKpi5+zVa9+gsZ~3@#E0aw5odSHC^ID?01;O6d z)rX%4;aG~`Ti(R?-ij{#(guYw%ig?Ivtdt@BCw>Q%5UU`AF)T)`z<^Euck^PCF-RU}I&HlD&i+03} zszJPdO^rW8_(XKomU_sp`DZ+#CT!qk>Gf&0#e@8V*~P2TMw-D2{_IlNJ{~2;I<%$r z4v%KVZKugC_kt?tiM|^$6$_p=S7d<5kDzcbd-rSA|6pe*=VM5@A;Z+{CMPA z%M>DLlxt+Y)8|-*jTk4qCWunA^JSl8B@=&FLlb_TDR0^!opqIqv zfl}VbEg3n2oj^Hxm*e>w^eLC=bU-|-_7-#f@Z{lI{Grp$7>#)bM->pK{3_X7Z6&Hs zwUNO!JEwBBd1Yi%yJz*I&5MLP+M#VfYJCvjKi*s!DGA`L_)cL+%vde~^4|bh91uDl z+o`1sr|8Uei8#4dj}|0HA&7qN6$7$k1g>6u9wa3Q*v-5kP~6`Nyn0^CgjFtZAB2t8 zVW1C*_ai!v%Ei1K{~o&ROsv=Y9b+KQ)@u)Pc!(xQgm5@2KL=#q-XH9sGPX*v0&WgA-P?9||C?{cTrYm_I(QNjYyX%ckkSGr% zup51X_*C{Xo0ndqt2P&CXK;c&48lU2T$b?;I@MJx9v5W$Cl7fRDx_LU{NFrNzzYsu z#^gb^BJ?uhCGABmZ%R=R`t&=sxxZ}X%-4NSM6bwQcuc{l+2J_A*25{35XLboycz3s zGoTAIjsGq}Zr(L&(1@Aciix<p<@&vbj>^}Qa zn3~KNurQ^yL@e-fw{SYN7(Uh1KZQAEjxJsApRnX^92jAWt4mKDs4ll%*J6QyJ!&yeg50pJ-Xa~^|dWtbvwmTCU z7dp2oFAu!D^7=gvvi&P9*%lFNA*p6iW41Q`HvXsO5~F_avbl(tY81GtK*d&>(gPuZ;G5nD_ob=4+>_KeByDo;}6Ha_Vtyl zuCECwf3az0da_wcG56IhswR1}qlBr19aFL_V4r_>DSl>K8#dW6#3+opFf`0$i)dpz zVdx)}iVJn`D7SoNWtn3Uv*!`JYwQJ*ORYl7rdzcJD~*s?M+o}lsNOEn!# zC(aaU0a>j0x+auWx%h6eeV=+`);(y86dqL9ehH{9=+bC!J@R+_5LZw@lHL0mDv95? z^Tr^^ldsZ!0dL<1`ZE5j|0QaWNAtjE7`;QS<3+@o@q2&PkayQ!#FOo~5(OC{wXz)A8Lh6#QQ~`RcVAEgBrpg=cTVJl`>?%a?WM_KgU08Rz0HO6 z%a4D`VC|efT@D&2NR(RcnDL>xfD!f(S^N}pfyZFGK#KluZpN&2EIUoUNbqqB6v zG)X3+;zV6t67RJgCp|^esm%QXyH3<8WYf=_#!x@*xlc2tazhR~LVb7rq%F$O0SkpW z(@fgksLH+H=LUVY29T?HKzJOA23F=-!P;EeiOPQ~O-Eiy1P~38>-CWU{g;>pDN3i1 zYIVS(_Z+5b`yFOV4D`-IvuNElU*woE!`h~qON-Pot8S0@ViNLH%3cO}wl0sqnKKxu zPbWEky6VcgqQ_FFQ5v>8aMJr>$#soq#g~4tY3~z0;9n^4;fuW~7VlYyeXI-1sH@F& z)FMUqXeFfO%`ZKAOR4i~Tglb1Kckkcn=7nDKqbLs`H3@DcpDSPcW*Fg^uECLo(KR` zBzy zY6_6W19PSDFtW6ic1f2V~` z`Y4d2xb?I)tT%guVGHd2Ulo(6LDBCZi#2jJFKQ1!tqd4rJ9Bx+gba*J{rDT;VZ8KK9 zRdmp6kHKrHIbDildM!agwAr^vVwF9~YcmjKV{b}8{%_yv8AEb`?VHJ9^BSh`>)pA* zKO}iG9B86gird>5Sd*O z(&HC%OD306P|s1X!a_s!PhYosjR5TZ15KJ>@=#GgNfR)~bN76D@3D3gwxeE4?^jJd zLm|k~BIGcy#)VH?n{(5k%@b%7SFF?xpL)+`$~u%vu8umDI>}a_Q>~xO{FJ8eQx#GL z!d(7%0hCBC0NZps9S*>}hbSsdo`d|{Ll-Z$4XB*$o9L-Twr?hj8LUqBpnA27KGlfA zn)G1PIsm<|BhA-Gamw!mN1T!g$#p8^Z|B92s(OyTJ~$1;Uipd%Um{#Hu3e9<%Ktq+|1{DO;h90xg6w%NKo z&)(HQ0~glnVU<{9OoMLQF&L;~@?KWs!%q@af-6R#T33Iyy4yZ)`N^u4HyH6ya~XEQ zVNg$wqbkCHUhBdbd+FH;k}C`=S)F$w>%F8o*)VT|hPvt1_+UGlq_i?}rG8HIhG%qH z>fX@mOSl$k8o~2!zGDrWKiS=18sZg+fu$*_HJxzY&m}38mB4S3knJMcF)fw zvidn})Jx9%I&+0YGeZTm3z zmXcR!D9glPDX$zNGy3qrt;?Fm1(Y%_;Qeql2C-XiK!N=U4;9B@?6`NEp~1Ut9L`rQ zP}=MB>N)InFtGXZ;q4Cx{TvpO4aQSHPNr4ym~)i!jo=E03lc0ApRhB_KVZjcYGcKx zuUK4buK#w5!39qETy4SH8?-owvV^Cms$2YOQikOrgszle2)$aGrIqj1-S6$M!8RVW zxeHL%aMs*6Z#9e z$G^Kb_$h)rr_%BvYomi!jroE2frnD7dvXmXn6cEhBxi9E$cEN($`$2=2~FmbuYUUD z9AtCBjKLr$%m$dyur}sUCE2i$UdW0}ZT0{k^jJ5~8}i%?dYkVz!;n!~Z7Ze)Igj`c zczh3>>vvhV3IHa5@Vvyi1?O%pBss zFd42R0Co5yrFHFz2-=pI`LE5bgl$uJFh*i|X+tIK+j=!pa(=YNvo*ImxXv-k2bFEV zx6J-c)RL`N~l&Q(a?M6RP^5tB;7;L&9UFdzRBlJp1K{4hOZV+Fa zdr@S1pd^!#lALoht_xc!w_VDde5f-{(wuw zFtcL@zk58IkbY(G9UYve>;}%jsNB^4?Ppk4&wcEs6^*Zl_1Har(i+H3Ik_>v!QS}y z3tMv(mE57)!R?VV(-RR@1@pbbFU92sxLo8lXg4L}5ln{Fa*nCu9v)SzUCb|%uzI+5BvN-mmA!fE)YE0;J`9?X9O zf-%kXlAt>S+L5OHTl`hb*_S-`_HA#w^s2?!X-cMYn^Z19;fuXhKDx0r@=`;#d(PAG z$raYCrE*2o$%h{65BMWB1MP!{NB7$wSdMC~v8Qm@CiW-dzK#qkShv_SV5Iu@H}(!M z7jBYugNrpA)*iJ)oK~|N#9UAkqZJ@7|h@P&P1tt%Z7(AXa>>xGxzq9aM!Hf zeY(c&n@T^}Dt-a`^a3c7w5F{(!=Zs?uW(YW(D9pozQX-}F*-ZH zYwv}zTrE4tMHI@sO8_yz2f%}amEpw`Nl5MW=x=i4X+m~D$K2&|4F(ptQm~761k~wJ zK3tX<>I|!iMSAys`slF>_Rva{+Ky1yYRo~23uJ@4&Au3btnQ>0z#iaJJ9UdHB1%Jd ziM1(sIT$n344%-)W}$`w!5~fl(mYDmpYT`v?git6Kl}n`L$A#%PbTgUU0D=wJ5%>~ zjD4PHlN2v4o;>Buv9w^E@#DdjPY;}N_zRx}Ak48oa4ZvaMM*_sDl~dft;7{VaatoO z(Ff5Ul+$OQo<+OqX(3Z=j2Ym_B)l+|sq)f%HNYW_^vg*aWALkp6Jt8y(H@Mw0-4iD zlv01)M0v-z!dG*PRU>;bAH{+tanmP_J&4L2Sd zLAK{)H_1A4GhDsEhQPs9j~&wE#A3wlsjY5PGJLk9@lMQ)$Ysc+?U^;Zz|v=+?{h>*XjaD zgR_T9go}r^891@+RD4ibGqY9mAm?GY365UFp-qXBqiScBIR}yI5H@VDNaksgwA+X6 zUV=e`d!~{2G91N%J&Xo@<7#yoW~NZ2*)JgI`qiOQTCmYI*XF({8>u$KFk4HL#vf-C zr+t3b^Ku;lf*7rGeRFP9pe1VtJIrzNxzvqVk^^hG$dO6!N=6JSogYyJ|FO?=<*H>< zAn+AGh24x{mP0zZn)X+C?C)T=?s8Qwd&}7#P9e}%y$O;&rj?dFf)Kx(PBNd3Q-a!#D+}da4y@bUd!_?GfpdvljRlduDZ2XcUK0_y=r&VZ!t81&P zY@{uF%opv&+R`6mE8H&mZQGgiLxoiE&6Z;zLaptCs?S=f$_5Ygevkc3OjHY$-y077 zwaoC>R$pS+P*1Qyr7q58vBi$#iW<~xu6hk~kk>r+IexmlX4%bo(xA0KYh-MUS5tiy z>-}EoV8!gxt!r-Tacwp&cXk#c12ol_I1L)lzO@5tpP!r@Vz5h+M+#eUM@K{GUV?tR z`U_J`9G&@Kj^>*x8_E8Xl{!&EV77T4-aTZ;Guc}|BdNo1?kgdt6wkpih0I+W^f8(q zcq)oI@SHg)(O6s&gV|60ats(YWll}AlEJlKD+$ValIA6o_5tsM@ZL;yphE?Q2;4 zs%==DYb*C8v9%Vta-y>MA<4{AdLyj*ZUOJ&8Ce&T{`wKliK}R5xeLe+%eJv#cxQ)u z?0E6a^zG}0WQx1-{VlmaOVacVOlOA|2XphKWlbRF5^zRNEJyWh|_i-g&5a zP=Ox-7HqMD#NMg4bKf3TpbxhZ*{%xq;}ZmQBD({B-^LCO6y12@Ffv?g#I~otbx=x0 z=b(P!*e0PXd9i`6tYc9-It&^`@%B{x;L3F`wf!>QsR;Tq8Vgr1T0gP|!{wX*KgXBCB&5m@RyQu5-@$w)g0MZ9JU=bP|Zh#wkE%#Pj4 zt+1}jSgO5zr*N1&qrnTUlq%WZaY|(%>S$b(c6))fWIu>5+)_pSoc9YH=Dnhb6o zEtB-F@-IYy$-p;d8oK>+i&TGBeB85;C8Ue=AKAg#lXi z7Sppl_G-B>H0tL^q{_OFpvE1`FRzb>At}}=lNJCf($ZI>F<|3hijZAsWb|A| zVpPhqKva$c;FPM`b)bPR^oS$wZfo+3;HaP+lss^>X2DoZ0CB7o5N`&EG127XGxku~ zC|)ClC!JZjwYlnrhW$VbS&W70Wu6nje{t207N-@#rzXUsluViwYV3b?H@y02-1OyD zU|@TCIm!yj=0}9rIRGVOcQ_A(290RDtvo@0ibleFD}x36wy5!gfW-5BjH?(}@dv?e z&XbbTT!pB7Tn>?D$OmBpLz)^&=-`j?5mi``raLCX5<7uN z6H4>kQ|-|WuX~F!PM0-VMgKQrHk5uosbH~xzHy}@#Tb?`4{cW5eGt!P0xkUbd@s-Ozsq((mZYb2osI0OYtU#g3d zx>2tyi2&+*Hqi@x9;&4^@8_2GJo0B13^09x>!;K=u}-%B&ACD#lH_-nqg)g7eSk%^ z!ePNw!%#U4)q4oaIdwk$a8=2~-COfVLAw6-M!NCM{Y*3_Q)%XJ)iu^3o|RC#CW@IARU~5 zPXN)KBBLGAik_IFzgx>l{tXVu#v_<6XE4BVz};m5s8wkM^=d$kq>5p60wn--YkB|L z{#NjZ{cZTwY0UW=j#07L%aBA;`D31qtiby(74TWxL_HukP_W2Xcs%w=?7=vq{KX~ z7xnjsYosYmv)}7*u-6i*AE~(K@$ugLi|FYwW>%W(bW5mgP>76Px}`DJ&eF^MGHn2a z%pucqFg6T!pJ8k+?m=4E#=I8N<$sRuD(z6$(PG|(EK8s5+|-dck(#g^yug|FZaZ@M z^d3;|bcYdP-bJ1?VM8d#j!>p$-dsBnwM$rhUSk;s4f<(LBmHKRrpZrZINd6582)P2 zC$yKSIGn3{7j=lMe4$HOb@j6xIGV&Tx7n1}D2sW;?Up4XY}={5n^T@&=(sa18KDc-i(=<|7)Q0lR0b;&RTEkq;8G`H*6v` zmDk*14V^WDb5&VG-DoNB$48=p`m#jv9x>&O&vN~-a4ULMX&J-5$61@3_jDoNs7yk3 z*)p?uRGih7Z^Bcz4FI7=Ja!S91-DmW541XX;pW5W_OO{p%J+vhT6sJ0pq|yNy}D#H zC|y(U%5c733piU#KnY6biflF=nC`RMo1|`#a(1QAoSF%3xDQ;ogiX8+IDbk8OxcNc z+)J^XV{`Hs=am~!O36=&<=Cd7T+t7#lW;Yl`b-<(TcTy%<@@kkr~BNH<#lQRW}1FQ zqIWgfame~@X%mR)upGuX5(I;t&%$KZ7C=y@!dy>!a3F)Iu%RYt1*jLsLMLRC0=wCc z&Q05Yb-`k(=CB$V<=sc*#=ht|MK7-bm~H1`6+wF`m4d6Xllt?TCVmc7qFt>sIB*@4 zb}wOcUsqaUZi9+{zC3bgFGd%p<}>{-JJbKLJr!yFU+leSSd&}RHmq#1fG8>*DT;!0 zK>?+U2wRHO&_fXs2@s?tbPxpGf`E#EbOC9hw@^Yyr3okKQ~wg)Ho2uDVd-_oLC{l0w}|C5)r2?ijaq3YQj& zWP+c(yHUBEyTi9uT5>E;HWdnqLGC#2Opzqxp%FIZ1`q0OhVcq3 z%#(>X>AL-pu!QwOHYoUM! z?~OLX60`;k)Sqpbf3oLPOCiz&AWZY5?Nlymm7P>U>e6z$<+2Ca_UIrITf^bt1hpBE zv6uNov2%mG_|7`EBTb{+UlsM`t2V2m(?~sIAQMgNVW38kYCFG&*NBW&rlXXilXHn8`O)FeZp?Aw}`fN?96038cOFB(0M zsChybQ3zPG^wqC&Yx0*SSM%{IPis%38ltGK3?Pe0BJH+2S^Sr zGY#p{cb%y-P%ciL)g@gGypYtjrtQ<%`6V~*dTuNm)?H=yt-gz`FOnXOA%DIBK?91z zU(C^Y6xt`fPk&bR3VJhk`s9!R7Cjwf=2>#!{isF&uD8gaJM7mEVON_tvv6igw{t8f z2uG#_B$8Y|rCUVyj-zd8$O(q$*6EHP3$o2adnj6|`<@wjFWl5$U#(Fz_4YUZ{7?n( z#dQzZArfVpIypbu&)v8#aE{tHB-W|29`2k~{~_kJ|I*G;%69!Bb&V}p;0&Ze~X zAA~<`iV^vk*QwQ5pyJ7gPKPFCRqh@icL{1DDR;PSIWrQJNVB8l_Za#+*7S@)Q)kx5 z=P$p$PYjpj&dZ-8+hRC@oZ8U7!;>R#cp@nNK;Hs1&nj3sPq{lma&S}Oh4NmnZwiu! z++<6UjlEXg{kQH4yLGRdb)~t-OXnc>+XYji)>;a(_^R0Br#xTvy*(LV-P_ia*zaJM zHT$WEN4A>|xV`I|x8R<%dIQ!WJTsGX<@2TZL7(mb>#P}@;#-fQhzNaU=ip2rKeKaB zN{4Q7J33HzBU_Qnl49feR~JXmi+Q?Tt{N_35+1ou!mIYCR5d*7`ZhlEBEw`P!xF#4 z+gmwJadc!k0LWOU@1l0@Rgz-33w1bw|81rt4Y;t~tz^~kJ_4GNfc~#c7t$K-YG&lsFHUN$9f7HL}rEhF;JC$U+Y(s0R9R43!nt zguYzyuKXAmHmCtWX4c-C4jVcE>X@B635f&1-#!(utnF>L8EjE@%)^>v)Fy=sn@dYe zO4a9igL~1L_!+^mOb{0W|65x0HQv)h0yVGqK{Z*gOTC(lbhM_~NH|B*^o-;nc$aeN zSB3<5b6KvoF=%=mln1sn;$;>|6QE6mPdPYcGVJ6fE$i4z&nj)yZxblX{UFyQHf{eo z{^pVSt%B{Z9{5?>!Hkhj(_o4FAsi}e<3njFu>jUrj(qPr%&~j6-4fN746`04?0(kh z#gG}zuLWw;r<2H#&{BtEEU1wZN!n64{rmJgTDj){ci(@W(gHreUQkU0+dB7*7KgIP zj;(wfy81BGib@qY0+y5`!(IB4`^hV6jg)N9-3datm1av3)cefyiBWZ6AM}`{wX42h!#afZpCo2EV zJHwrXcanQtYyD|}Hq{sBq!!y8r7vu*hsiG96+s6UlI5vtL36n24|g`xvy_$QvaHL+ z4=l;5GVwM+>wMbnxxMxENJbHnK%2zx^bbVo5}|3l+7f1p{b>x?V8cb75WpEvX2GGc;|Yg+7FjX zw+pTd>@C!tcAfIfJ@*kD;Dw^TF1k8j6EKXc$@Wc$UaS>#!!6j8o@gyC`m}3E+22$% zuf6J)k|{XrS8JMXCbS}99-Cf_4$+TAUtLQygou={gFHj&$4qdqBk;+YRsIZ=arZ%y zue~BeM@CaV8H>=q#m&y;UV&Cwk4LL>^X(ztt}{!dKr&?tJy@J%-;^ACM~;{pN(y3n zX)W@^!xJQOhU$|cIot|KjWT4t7hr*>=C(i>r%auBJ8(1`9z7ccV;r5HB@{Qm)k^>rf^O%*>vrzmP|+%&$oIkC?v*1C zY4eHeUn%)tjq``6HQqs~g1QKuq~%T1aI$JXgn>yl=nC3KejMc=CL=eTbTC9fm|1o5 zq;Kwu)Fn5L7!`NbOWCO8G3vsP2}3SxxGBca5H0l6qk64JAW>gPP<6ksxhR@L7&}SlYMU(0Pn{ zKHA0T;0+>w~!6-h5r{vJtITYSU|JtY1{0FmgA)6KQ5jyEjBJ3A97VPuVAFVZb_8WH zzT3s|_O`o@Q`{{+I`ldl?*{S6u}3#lua-btu|(}*jK(M3&n>g@npF0 zPcNNz(Vy!)+?&GekMql;E;1Z33ZuP}yz8NFt&Vm}^EhD?BFQa=sTxw$INj>({?v2+ zX)bk5LR`bc9L0%iaDxivovVuin9_y2PIJJIh<*U2@WL>e8%m+#<;>P(-h=k)S(&+Z z3%#k?W-Dih<5o+`aZ}z3!vzb%pC=eg7E5O~v;;!q3zSX!?OPnyUx%mD4Z#Nlt*DDG z%uN^_8KtH`cACM3#w3K*aumC5>nweRt0Au3Iy6j4jZ$$VVJs48x6RLu^GjqTyz;DS zsWb6=U;9Y3ofmpkNtFSIEaQ3s=oaOZB~Sw;i@X&5_OhaKq>SJZCI{7|vE6NV&||?d z>avM9Aq_C7NS5y~KRBQnp+udeS@Q8@Aq6O2@jFhh&Uut7EA?&CDG_jRX~S9Jygcq) z2Pw?j-N9?~=;{s`hi@fTwE}?a{HijOwv%$T5NR@%zq-b14%qMycIlck&71GM-~z1I zW5DU;fuOHBoh->8mJ)-E^bMy|`p`2e?m@2ou-#HfH%Jwm2I~aX5oQ6j{9VC@2NXk# zM+$F;u=lpBNX?cfnO&k@@jskfgSQ9@WRV(-vfQ0P{g!f3jaq#rimM|{Py5>Tc%^m} za3^Z30;{>j#TjK;GG@R(p+synUnqU6RAEgDQqE~&8~&ehKU;?}VWpibCrU*t6G#-Y z(g&Auo0--^w6J4EmEo`Yz6fltWv5?GO#bq@nJ+`&VR=SzQ^jn)GdgCZ#&~E)Q%@~W z4!;5@39=-_Jq~c4eejf4bOFCSO?wO3zI?AOmq_>A@|?R*SjrtVr4G8c9| zI(=QYXA^>L+%>FByO z?{W5!aDi9YB<Kzp-3)8Z-C#3yB7x;opl>$8JW8+Z^AW37f@X^mwEZ)qGG(cM6!O zIZSXZzuyTr>aD#QFWnHv_Ykped*kzAND;=-E`DGl%*jnFxBPLbQbDUs)RjP z*mC>K@Y=vx+7tFBsk-^5>j0 zBMOi_Dh0+I+vGsorpzo=<{)wxBeab>Pi>w5x^b3-hT5X(SNe(k+MPy!CFb@*~1 zx?SB1_3Em_LV;Y;9%Sm<@8mA)TQ9vm-r{l)4r~NXfFXGMtY-7b&KLAM)g7RNte6zm!qNuHW2bX`o}=b3#?H;|WKo)OlB# zQ8Zd1;}{El$ODa4G+2$LqtT(_aVhPpvC z)G^wvXuJDl7OXv^QX#{&PAOYd8*99Z5sjNUsokp-e|**5oi=E?*x*8v#sr&498*-H z7gvz`%=l1(r($MGlxw7CFJ$6z*+DhBY1g75{$)igXIiJ}u{Hg|o0rEIy`g<-Mh!}i zki3;vz1xxV0RuvAqg#1Bq$1r@krwGsK#ODKTKy=aNbnxgOA4wI2g%QXK7X3N^bk>) zvGiul21WKt=H>FhH2_GzDL6k|6EdLPn1P_nKR17!yq|7+LH_B^)ZCF617E%Yer(6m zuKGYf>Z!IfRLk;y?FqR$60r;mga}$EeL7tMnQd}CdezYjGay(! zY(|5S(DP6WEd^jLAY*|GvnRcwLT{}y9)_1Dk{P0&B}s#H_v-|I`CU7t5YF!XeZsMw z1?Npj`E*xi6u`Q2@j-Btv8g04QA!q^ze2Xv$Fdjl0*9?bHVq~qV;nI>pklZS>`EAp zguUzy_LJ0d{~+hC@n~u!fPXET%78)OuIx?6lCHXLaV=F9FB#s%v_-3Wv{kQQHY(bR z`n(2ZZt`;ZIsE(FpV#NVStL{u#3H!j(omqg^mC&$l0+&giNzN;w>a3%x5}p@&Ammj}!&y#EbX_CQt^B3S4}mHzM$G1TRJmz1 zC^|)hgmKr56Yi(=lHm3QhX8Dy*Mw@ulLGK3*wmk*TmV7M=4o+41>F?q^Gh9w-QnxV zDyiIhjzL1D#ueB8FFtufAt?h>T_^9@fl@lfPY=L0 zt#Ng#Jta)u#QxAU{~H(-zziN2Ihaqh#FRHeHIq@5-16TxCL5k>bK~z(qR)QWm>1?B zCx6N-cUgfuTrK@{|DhYacBc-XD|py>K0~;f%Rs*10pw}GgJBlR3p5W(2;a+KYc7}^ zR*?p@h4sx_V7(J(IuV&?qx69FT9bv%VHkX!J0K{1P(r%%|Wp z5B#fgP3sza^Ud)yN=hrc2L|#}&R%=?#;WHN4*yyBqLeEoE0FmQ4F)eW9DJYk`I;Cx z(dS8*kj}J}teNDN-5)nmEUBAq)UNohpXB<-oalyq zf8k%>KdLeY_dGl^^?>Mt44yYVg?WMIKYNqkCA5C@5^|t+n4D-JewW_#2+0~eVgFAN z{{BfMQ0mSMaqIoTvF3r{es%aLw?CZkrSEfE6-P$>#AJUUSM{WG(?2ij1$}?v{>0I} z1scRE#1yc9fmbKcU9I-TvwtUPY2&BhN2iaUBx<`xhXNm|Ix|J@-{KCM&&NfivR7XPeLYq0XGD`HZcmcT0O%3OBf2Re{p+F1pVpY5Q zKa%4BYe&@5{5;V+em6Q8-b0i6=zUr}G%R4nt1a--@jsOirknC-%%=6HS*SJsJR=XpQ3^ zfEVEah~rgO%dH>h^v|oWs=nbu7V2f@0gkj>`1*Fd@9w7O^}O7I528;)_V3Ah`M4K+ z{tbWsZuy?U{QB+<&jJ@;)bv@?oninVD)HEH>8)^g?Jc%lPz*v`=ivA|LCUe`L5tT^-ncTnGg>3_QB?v}Z28?P@Zb`@gi>S0$BzQIg1eL^(XfX}@jT+pPUf^Kwt z!osw{e$F2n&TqsQ&Icu1l<%tYWqSVIgb@jrE~08gD#Qkh&a?vH`g;@5Ia#AvSa{-) zLu0#`{unlx8PS07m++f#=k?}>r9n%LUxqHo=BD?-7EfkQ zOFckIp$$qbzvzmw5)G7iVjpBkBa*VFEA8wAN2Je zl`5|Bb!iOI%J@@*zqh^L9(fe332IU1+Ef3-HTz#ZR|5vYbQ<}$o|8zKSfyEkebJtD zIxhdi2!ApR@Ca!+V56U~RA}UY~&s`7Q1V`(J8%mHf!t z_(m?b)}d4HyeUp`BXQ+r{{9q_S~aL+vBYN#Z%6Kj+fMVOfra{kNRhr zq66SC;p~6awxk{$fB0HGQDyos~ru9ANZ*FP{W{~E6UH+;!aK(Y(UyOKR2p=D*_mV;#_1h_t+ueB@$ z6w)x74{Vg8UWAs~u}&jTe=R4J!~?!G%de}`9xns8LPJA)0r!JB00N`uEATCZ68@P_ z@sB}w^j6{Cdm)|W4H^HiBlFQf=~QnhsC2usqnJcRMb!hUFz<&Ox};@-=cRpYEI68> z!DD7(W!M_QI ze((rYkzCK0tNCo|gy8)>1j=J9sIV@-A%30`=B0EbMX)?KB5Md#JwE{L-~)7iD{_HP5$4>khfp`h2z4>qmQ?Se+Z1upVd^L>o>#ZBCIFg7Hcg$Q|ujp1DJHy_i zCeK8jmY~;7fO%tA-*%0%&_?_Q8lV4z<@l(IfroP1Si3b=Viv$ZvI<;xHz!!4uG=RE zp1s~yu`v>mx`>~{WDkJXQmb|HlBOdSq>pa=ux6I$;i3Zi^juYMCIDKu*5_HAo6r2i zh{x-Jmntab6T@95pgIyQajpCIIZ}rfX%M&;B`e&kwUi_?MFRd3!aVbt7Q(w|-iVFc+9t%s)%mBbffn){vCx2>g9H=2L0dFL|zryeT%!KK!1)``c^zAeDE)=B|!J`IRU1DV`cJ`Xn4j{@F8E5H+< z3I3IbJ8=ruIJc#$u@T4=V} z0O~SY0q@R=!BCJDS?I!E+~!3&--^#{;=_C-&_$l$;^fQ)C4+U$pok9-aI9qw{dIiM z(jLI*YR;=y@EZfOTP_N(QJo1z_Fl~ENemKgl#rzIY4?b^W_!0o_<@Xaw&}0uvSn|b zAduQw^%Ynoe~Hs3tZ1NFm97Rn2F0HWG7YZ-+tfciIP+x`1<&?$?oEyJ+;s5(Z1R0z z@zI_&m|7(i-PWD8S4tXok(#`=@ijz+i-~P@y3_ub2vJGu*8$oECu5z*BkCssNH${4 zYY-51F8zkT{wYO;1v8Z#b-w+bt6jsz@YgblhV+td#jAj*+?9S=&8rbUPmG=stD$0=1Lw}>7~oYp|S8}%817MQP%fC^MoJ~&f0%uxQvC4cKim)*acua_1x1H zY6I7{0&1wpbkl@TvbWA2j z1XQ_jR>k39ls^drS;;#XDG%MG>cV8nM65mL?X#kO!*Z8isN;Ycp#X(bXVhkq=UVH{ zlM+%MJz!P$!&}I@6<=-%I5Q>&YZOyD!tMDLhVGDwE4;;%~P9CwA0Mk+Am2Zp{L&Q#D@h z@|8A4wHsW89}^c|R;F4?Af}Ry!}K6qfailPk($yOus$jcN9l~cJEKxyJNf~_PzaoE z$?$2!$tiwdlMwn-YU_T6n;WCS16uFBt1oBj^IGfxN{+#|FY2^1^-7vPyKG;ioBZU2 z$W2klAgzl?1^3pRm$|l+7hZMeg(-Eogn3);p3W9x@ytoT6C*n3Htnx|YnV{(l&)TU z8+rq!_<=xW8goY&<~{{@)$NV&djxt)Yv6kqPuj(q!#oc^hQi`;ptv?DLnX7gfxRc; zHM?rJ_v6D9{z@|vYE72E96r8aD922#+P<`nha42x%L9BJ!0Mrtgr{kH>#IT>z#STt zGb=~~f~X7c(zd7;V9l%<5LK*^U(i6ny`?NBx>CeFspxYN^*Z4lQW_ z>x&~$Uh!|g&H6xfV#)gsnQ|I+%-jG*epZ0gup=|7J0V=gi0rqqi3xe-bpm59P;W*d zCEkUV`5~z`i6KyVHDLUjB6!U0{vvqKHdN;_8IPvvuBv zl5FXFh^}^MC_`&D6)%5^w*`$-?DfUlkT6CM(6~ZuXQe$cqs%PYq3w3^m@tS}C`vh1 zg#h2RO#!2Egn+4B63vTk5X;>4z1P9}wkz8>fW!`VkXxrCG+yr>!3IGS0q70OnG${1 zWyN3bZkv>6!`I#8fbyMrmcMfpkY@)RLIOWJfn?hR{!0!uf{>u6|04d`qceB>`q--&@hlEwj(e;XpF$&0jkNyckRu$<|}o0n@II>ZEs=M;lUDX z57!$2wc6-hII6U3r7Lk%ciucZ+H-dkIUZr|!k@_e_*^M4j%|nq_Qn5d{BBmGi`G%9RhK1f?kL^x!EpF-BtI?J=6v3VZ9(YPt9ouWNmP=a?W4J z`Pt-y9A-u-W(F|ejj+~(it7R)_$zcc^-HQ=Xq|y>i=la-kS|7+hu;8}W>GHO+GJvI zAFC0!AsP3S6A1gAJA@~FgU(quz2ek3KYACe#**^hRHL^`5OFotJDK`v^}08zb>2(G zeBi$9{GM97*bDPzWm;W*v@GFK4~U4S(CQNuM+B!8TpcNip9k#Pl0hw_$Z1}&Ku_OhQ)+djt_(@dh z6GctFvIQB}VPD$*+f)ZM=o+~hvK9^1a;6BdcSH7_Vh{<)>Itf|%6dI>GP%O5dG4~W zTG{F22S|Tm0viu|%(La>b>>cn2oin6_26lkT}P_g;AE;isB5NaDq8|n&^k{}FqMVR zB?5A>s*iwmiBV|KHNGpdBl4v-m1xL~oR2YL-K7pwr|J8FlTDp%Ss^Sd5FwcZK5F-S zJJlS7V8tC27`&(^GfTtEWgmJh-Zy9bpe0Hxcv`MNzX<-~M)gkQ)NHfE&UtE;k*8Ac z0Gl;+{~p-~PSsRCx>0Hb2a0B^Oz`fz-%`6a2#%?8JN{Rj3QcBec8%1J+_^#KO!~0E z7T0V-a7?IKaLzBzEZhuURkE^Num`DGpQwMdqxkw(I`9~h;FE;!)jv;t6R0<>9w2Y1 zc1^(~UUm$W=oJx&`D0|gP8Yr&EBui7DOjpLY3?f$I7!)n^s95g_zNS7CPM*bn!K-U z+3>D>Ax)B2d0B$$tC|ajw=aH*N2H(NB6B9Ns14ptVD7XFEhS%30JYRQ&@(Q}D4{&C z6uVrf;Mr&~9V+j|CvflTET#EY;~YgOY-@%-Bd+xIt3quc0nbmF$l1QR+(fOBkx=93 zoOHOxm9_h&9*b!1u7!Kv(CRGm&ZSsAFGWodqK_g4rj^g&7zF5WkykC$lfp*IoI~6- z6|F%8=Xr05;7F*FS7^%}w+AAo^BacjjD*obp{)lyAp?(5=_=HP7m{h-|GcNok4}Y> z*(>@4lJg<3#xASVV}~=!4usV)9@kEtkwV0Wr&7_<$|G)U0M8s%Dy(@OP{817Pf9)e zDCxX(&k`u!SA?Jn6^~lCzoFWfF;sfilHmt;&2<}s8y2eoaiJQoeA4O3dO%j4yl##H zVz7kwo!T|lzJ2>?TEOjWUv|W5$|to1bx>Rxf{hB?y4Z*QQVhfaGie-Jy)Ss*PgwR<%Z9(Gv|4a z!HoZqiI;IW)jyJjk2Y%uD4K*ILB+rPN{3x1y?L}rQc}_jlj-CI(9s~UY)z`<>q|u( z=*Y5qQem@1FRBlu6$Um}CVhoE&bO~jwQCp}=7`C6E_P_BWZGRXcU?yV4n8iy7(EJ< zMoJJ~G*nui?+8Y)Tg;~0=pVp^wT7JCRb@JgyzTW<-q{~EuhLGWGE6v8Tuv>4s5+>PQQRpqUjax3*b7GygL zCEd4V!{W_OFkHQ~BszGebC?i{$!7y5hc(b_LY`gu;-?o)-JE3a z|5S)-n#Q@33FaA~4-eJUvdx<#%>ao?@Nsfv!0SxoZm^r{*CHv0EAQa(gqT>{$h|W& zMDLUvpykR0tcfo~r*HpX=);6Jlu&gGBGzUQ4~72*%Q)~_t^$OS$eLpuvdPOus5A7h zYeI}uaUkoG1FT3&&Y^tJze~PQ<}Dvh94H_0Y0?4IjnJ_4RT9TQqs8@ojnK$Q@+`UTr}rk4pZe_JXVp%%(rmf@XMiV^KZgHY(pB|M1j2H-;;fGDN@nr~LeU7d_2 zU~_r_C8#A?+(v+m-Yy?|Az$HkKHwL^bJ)kFccu{d4#W7M(-nL?JO#ja4-}Le9y=@w zgXJhEo}3|5i9{2qwYmk-}!-rE>GS%g3}gmB3Fkv@hp zyl9whmfJZWnmuw`5b&Rzr;}`VgITCR84foQg1(?-zx2Wkks-HsSSMXj6 z@uL^|&z;Wjsrp{yZeUVp0quSPHMf@RRj{9PBXBOVWv|Nej^aRI^TPO*3=K$8JhRaA ze2ywB>!&a=Ky*UjmU_VK!Ze*4^;7+hV4i4fjDwA45urdo1_z=*Ta32mf~?mokO&j! zdZ?zSH;qnBqVX(i1MScluReHAprS+*_N$qJ<)A4T5>Vaf*xKfbL{QLOuHpmx>Uv8F z-4JhRM1Nca@SRjW<*tsPg}LFqy{n)s2XyKX)hKeD$;c1l)yb)1S9)zsU@}g7&*!Oj zscz_W)Q8`Vyywmt2^Ha5Uy{k?jA*xf{@d|CP6Ev$^c)iECdDFbZ3} zUKdaADOrzYB}!LiG^=eamH)@CIv0J)~OLQzTn2d^!Qn>j{X3ex=l^ zUD1VrUW!^z0DW=xKNg-t&I|}8(OFPTA7QT*38QadSzD452hIa7;yisP7nP8;Om$RE z=Yp2n>rv2frU*oGQm0@2CKTf*WYPAH(36Ug2!&5K7#xFVBms}B-Vc8qs4 zx`V3ok^v>)PDD>!?@?qLe0p~d5Ptdl+`r1B16sUT7F{eNxLUdQ-4oO5Lib`h5*leE%0UdGfYRKEnG=}OUBUD5r*4=b^L_uHx68@3=X zqF?AupsD~_W@bkyL;T$NPH4Iwl?J&T*CC9-;ax%t!u^!&&;Mf8B)QInd-*k0Es?;O zA1DK9lE{_Og^^l<3OClWw4VGFpA4rZw8Y%I)GpXpWMjh-S5$;0$`f-e+lu&K@&!9QmG(eo9=ob9R-V zn{joSUur|V6SNP}o}2{hN~jP{Yjr9eB>vz!>eal3S+v=j@`S*Cx;$&npgcjV3+!A} z=FLKbBYL!KE@qdnMKa#)TpZ(vCFOu}fI0J*rAHx0!;Hg?e)~E5+7DLHN0C*tI&1o^ zTB`g2KdLaBV6SGwY=K+6lTJ2GG7EHpa4>*5$4vT;a4HbcS*n#leaR}B_4zd6FhHau z=^3-MRkX5QxOVvfkkc}Z;i7dP+=8XV}&;(&L~Bs%{FW8oYs`cRGT(bHMv?C zR`i}mzjz=L<=S+aihd5HR+8nZ5fP|`2c@e`@6a@~v{*uu!uTt`^7;i2h7S)@{g(K{ z*nj@7H2i2rZgp0Fk3`4mgNJJP7C<_%hg#dETSk$*SGAa+rdl zrzh7`Ihg8yT`=EX)))c`hci*E%WUAB>|zdJM#k_WH$_S<+LPA^p#aE=kF$LIN7-7? zEYlif5iQyUfU^ZJ*%Z!SG#Vt{)f)m|8cJ=(8pUrKG6B+M(Ia|`ew$w zct9ua#`AmuazFk0=ccah6li80#IXGHq5sFQzC}B_ga+8R3}}ejhyVOSqS)vy8&E4I zq49sH*WX?{4|IR$4k+ef`1#O(Dw?2}UtL&o0vPbH0rN?A*xW(|X zNkpyDRhdY3?YFcT$9rQqI`aafL^-x}FU222?tr5Qcxrl1&L;xajGLC zO@cgAzfPv9iTzL$aopmSK{m<3IDdz?@RX^7bxXgUMzQ6}7$PsPMfDJ-W9KP+?NUb} zptHGec2oBfu?RCHzk%l{9H->ZrepNwDm*hPMjr_g#a`e=O}2L9=V<5M<2$IP84xB+ zB+yRV134#%-UxMD`e1hL6CV3o=r1QYKPnVGiw7s2m0{Z5JOv#PWqI0kqDbZq1L;bW zGoqZ?PYbiLs}?903pux+2FhVLRI{>EYnf@ezgKBT2VsCU38oaj>4 z=dL6sCAp`=T)qx6zx_b;&DS7lofiBtCpAg5G1W5&k=5(-K z74!2aT7Ig(kk;4@s^p{}W;U=oP4u1zL6CNk(vWBcK9Zh0<}>y|L1+4ftLt+HB9(nE zMi4g#;CZM!E_7=@yk~_HqQgc37NYwe^^s%c5z(qq5B`Ls<03jIk*1&mlPOi5#o+WX z_cqac9s;{jQfa5B#IIArK^ex#ZIUKGH+us{#1|z!chqOB3~;y2oxRdQ1a0AJ0_AR$3A77EDh6KI@m6s5^)Zj~5Q? zFdKs`6%=D|KE-k>TU~>(+tv!p7q8etIXVilG}cy?Onun3JD&oGbx0ZL5JAlo+2>5r z$B3Sv^M_vO1Rb6B+SerMHK1H(t?0&!l_Il8T(@@kt*0}5ZBwAxHzcsdW@jvi5^}|q zm*rMtvS_-Iajwv-e1=+9L%bUU_r>q5u($D6@>Seflx+Jp$PV&{ni~uR zcQ6u-#DMbm7dE)2mr9(UPiL3TvFzM#i^NB5R`yzFyHQ>F1Oey&v!$DIXlo1&TDvY# zeNN7{I^n%Ae0u$kV-PuR)WZI5m&(CxZv5QXp?6(Rug7{3DfrjOKW!L#FO{EYo=YzL zVZ$6cRJDn17^tEOjn(h7r*PlA>ALthEp%MF$)Ik%r}{*H{LLiWsS`S74khJ+7Jd>F z1!QY8aeJD2A9L@_KvQt}?n%SM$2P3pf0(}d!X0^cB3-J#_`B(AOiJ`CC9*EhW5Moo zrC&W(k=Ft$Zue{_$5^eS%sNse&;DfJ#hC%N3c)Ex*Nx`ep(KW|@|mz*2@NQ4g_C(vn}qgb8U%4R1CJ2s9|ZEpf&8j!L?ml{*A(_rX+LR0dH9bvtjSSH{pGJ0IY1%=R@TIh(8Zq4y*Yt3WzZS@ z2uF|5(z95h)ysD=`zw(0R|W87b)_`rw^=8GF|#G9Rhl|7(0~}q?pthiJ(?UH)Y++H zS+sm&ja|0PoJ3mj)%(xM%xV2@jh1lzF_|uh)NF_*^Ce+2%OGtUC+Kz+G#_&D#PeBK z`QGV%4jP!8Pv>I73KzMmh~=Of=!li_(x1`6`#bTci5}mf`bTsSe}pc|cVCMifo`PX zC)v)Z$d_GjV0Ojl*C(tEW|dP+7ioj?3%7*1b1G%Cn{U$}_Ibt3rb?g{TwK_RIw=?< z{&3&9rE9;;5V>h%)lLr3eCz5429r3QRglYS|j@xwo+Qg+~eo zL+`te02i{seTIu78&)-&GHZh^vexaq_e_3&Nf;OYIS+lvL)=8W3S$bwJb1qLhQ{za zT^Ns@?=BCS?Z`^A-}{>RdelbBnuT$9oOZ1l7snkqpJS`R=q%T&P)olb%0H@#yZ~1D zO;@oVJ#E1Nh<2cUktLjVZIBnXbdEo`Xr5+!?nKnAI3HB+w2)*MIdA%)UZK^jXkq3M zv;K$U0OaTYtT0-qRupXwUynr^XQ&+~I)h@R`XdnaxtpSTj7a-oslNxJ@1?3d3<}-} zKPbpM@@hjv@bF)D9Y|}i4Cu2$RBI4f!9zxEKa45Z^Vg?Si3qXMfy8+zUxrETOw)% z>t{4$o$6FUgKz65-XbNluIT8lz3XkDd?X!|%CuqQ*Fy%i35OS;b|iIkMejXJ;3J?LHm&{6AapixEXJZ5C%?z+9wye}`hr)Ih{J$!|1mAT7&5AgEO0%WNm zuYQw7S4IRT!`s{YZFuNM9|Cl2s1l%bqA+~!yYSMfWb|h_#*2WM)k1KygwpY%<;HLH z%S~2W-g&Rdw$A8P!ecXw?!;ObcvQ55%y|RsW7SLb{NBn}x=(0ArDl@1b80H~3i}zl zn)3Og%-428j#d30)t`=-?q2{vxjaxIaxs!;bhM1M7r;`&7tK;I(tDdX%giQiS`RZ? zeTfaPi;}BNxf25e+@$uEO_O5EJqn0!{!shRgci&@9*N6*JI!5=tUF8t;0V24k~U}} zF0-DELbuGmt^U!4xC{WlM}zs|xQ>`p9`}s9za(xn;ZHbrCC_U> z4Ku5$BN$HRMeqY~W{ zZJ=q-eFE6eKE^5y?5^u~tlHLbkR6W=FzHxO&D0O+&eZSTi9Maod_4O)3CL}f@Skzt zbDBt3*Dw2M6>@*G%eJ<0NJWd!Y*n26TQt;zuWWs;JzM7+(Eoz*T6v7P(+9~GM|@u{ zN7jeS!sq+-g#2oXzCt-p!ir5FUyYK04&; z2tgL1=O5E^TlEE-t<4yXX^k5wz{)*h3#}vP4LLZueuc+{UVl=>aYeglq6HBaw|hwh z(bt}!7F!65o^a6DGv;M9Yf+wY@pMU3j?lPIP7|sxF;U!?b2}C>lvgEe6zWzs9cTQC z4YJl)-Wx0#-12PKE}pNwwf9Q@%!Hmjqq(k_==^42jAcs%&z|UfrGSRQtk}eS;Pk+Q zS#fN!MeJ%{@~5t}eAxVZmHXG@^gXk-#k%ZgNYX>Unj5hfy)a8+|FUOwtVQ=siz(5H|O(9aQyP;@nY#(TO zc`xFGlLYAC_6>WemB#o60G(yOBJxxmYzYuo#|ne6k{e-!M&iA?_Q+BKh)^z=dA7@l z_r+T~(=T26Hi*ZvWFCWV%gt(sU09}fQU$GgE^DX;y>vb}5dGP_a4p{ZRj$8eD}d$j z&j9A&DS(wvh?*uq1Kh#TlZ|yU5~2hEW-1Sq5+Oosv&l{l0o07`FGXZX04`#kjq;7y zGWcz*Du>J~$_NS%4$Lb4^0NMIRmplqgPb#RlFt_@I}s`}a;7;%aa4iH8?Mclf2%Sa zyX#8TLm}VgkJ`NzOpATJXx3Edlu1_*G&39f((8dT^hT%o9_)~Xyt^flA#%P_MiS`!~oigd& zb#(`=6(YQ4(x_q_w>;loy;n~OYB=w61w2gYJb42U$>+VAXbPp@o^Mx*o#4)}2Ss4T z$IYW{KQJtszV0k+MNo_a^Wf z%shLgs0j1~7E_fa%Cm*JO&1jOduGe+s`%cb5~JXBZR)965g05uy7vmKXWGdYJ2|%2 z5!C?oe1K(db(z;Oc1QB*F+r3qW2E*V_m3E;+49c$Y4~U8*G1aS-doJG!;G$;b~PO# z)1UK!-3|4-b2)ualC-PH{>2zay>i*rl6P}%&c3`zZVJ12d+|~wn)FYGFBLK`OZqq6k=8o z-@N&G?1n4#waim~^ERfZ#jguAL>o2XlEW2o`4(ncG!tx?O#8r%j2$xT@U^E>6Owj8 zPvZGQ`^s2ME2UNp`^~U!Vi@xm_{0$isSEt>QwrDI4*zg1Lv`K>ySdwUV({}3+X7QY zjgI6^xZ-o~wWcvEi{oEJyFMKYQmf%rZEux&*~xD!13hA(jT_vXEYYuk+B>c64CZ)# zIE_<4s?FscxY!6%~v=>lNR2(ppJi#n}ZCG%~X_Uehz;p*JIwCtk8C>|oEkb!8 zyGktXPU3S-zJi|6G~@6iiR3|KG^y`774CWw@Qk3d?)!S#()x_3i~onJ^Nfb`joSS` zO@s)7AX-F1qKoJ)5hBt1Xro5&WkxsAI}yE&7M;<1ixLtw>gb)(#^_^|ah|;IIUmjk z%Lj{P@jQFq_ukj_yNEoushbVec1eib?dxYO7PGayGTn7 z+~T{`fA6;B>TtB_Py~V%k~qWf8e-=hr5fsbclxWS0o3K!#{l&$&ZrL zM-^0@(V$(13r=i<)5=icle2vw`LUsn)G zfLhvnoi(w`awuKM9oE$0w9@rSShGB+co?7F@TZJZBa8S?nXM9>b%u_^FON%feP*a{ zqFP%im#6Z)@Xz}3{l3KMAjg3Wo^wyAXA<}P;6>Bmqvn#;+k0NaUcH7C42#dF6XzL8 z21wvCbuXvu)ccrdbVc4C0`I&!;fv{rFA##l$4K6@>75dzYE&-2#h}v--rM9=-H+mq z>x-81j!99>S?_krWGqY+@UeNXmC&T2JCJ(UI}f2Rk24#Ia#dr`I#eD&UpAEfkHN~f zc1Un;T3HO8Ft4baBHvjA#Es38eDsV2ar^m1j6-6HmmfXe|3K3wxbt@ zFMf%()tuE!bK&&P```-A6WaV^pGh?cevP#7HBsSKsFc@DgDrB{H**h`X4F^Xm#|6& znCN7NVC#VGR}!&vdA}2}zDRtxgx+P)Dobx{ozkel@4mZ=r&PA)k#o)fvfh3Jjy&fz5RJj!=mVV8QHqoVM}>?8rOP}{EZc!pP&AIe4l zVhJ;agz5#@R<+NlqbAI9DAKsftxCI~^P)=*m@L1>-M*y(yPs_X=;SQW#e}OgTw{vzt@-<4itC2wZN4)yL-mV9eF^=(OS|&4)`<4ir>Rnd7033qZ+wMiLvJiovL|EVu8YuVD_s8eL=eX2$;k9RxDF)V)Xt z-pL9@OzM3pkrgsIX|Ns65ZN!&OV*=2)Psy)I_*tY?V}=C|5{c`5AGPUr+zOU3H~xw zSD>=iQFXLORky%;B0=G+m3gV3ssu@!x$!bgZIh}S+#IPmzpcN1mAz(%igar3a5zhI%143ri_aI0~$-V?En1dZ0t2TXy? z5c@*>OO1b~sd{LE^{E*}-I#$!6a)BvC&4;tL%XEEbAOY8dH&S!ND37xBT_fzYhxsMs6t=DV%D5TOae2 z-4|f2cv-cSiI_q7nl$;ISj+lCp?bv4*Nw9e^q(F(Mq;n-7i#5EV00L*eakMnanSYs z;QFSuyubRzH6D{2F{8?$Z^{F5v+zQmqMClLAkSUWU6xM71a|PH%9FXqaP#`AarKpP zRH5HsVSDeiYth_T^zW-Z!3;G z4WUM0lY7G(tI-*Y^cKU2^Ni=ybz`pvM_g8}@=%jh65&O4i*^L!74CSvQihsE;VFBq z;js6Z(f3D7&>L4zZr3YVB<)ATtVLo->YCD5KgZ$JU4abKgC#m-2 zH9-O3a5wFkfirAuqU{@@)|=lfv5hO#Bp^^dkTB=;0R=ep1n>2jCCUI6RqI;CYuth54l^|3duiCL0{y%a9@ndG0o(~O71v>NRNsd0uI^o zvaiANqRfeQH*IG-=zA^ym_`3`>4bziVu@lovMb(2>AjqE-X`s_G|w+}&M9tH37k}P zgR4|>6eZ%2M9B+4@VLXSftS&iM>OapHG700QAaAff89OA19A|;F<9zVx)sU>^emG> zCW;a|-FvleV4HtaKR`M?uP@UjS3&&oT0)!nfC#I~rxmuYAObBP0nJE|)2+$ae> zJ0@iW;Sc&oOMepaiO+GrUYQRU%%2>&h}jiN&;9VUnR{&JoWletgHFMeNybQZ)U|sA zMOOwY$mTwiQ9@<^ZAz)$?nsZ_Via@7tN_6h!)o^|zMlt<+9b}X$IpUNB zq6RjjsUX&k7%Eb^`mUum(>GjpxWZV@7oG7k?>UE(pY4vyaM1k& zhG$O_X zcqqX?0j)s!+*ALlOu&>x4aYRDJreqn%bV6^LgYD=DVA&udMw5_O2QNX{`{YX@#BTx ze=Ckl*@^BH)o~?yR8!<_-HS3!+W-{Y8!=bC+&`-&{x4JzS>4=Ow&9t> z$)$jjBQlSs6XI@sB^0$k`TqFTkNj`tQx!>6RO+YlWyZ+`NZc@hG?=#zEa&q&w%FyH z{P`QW8QA~<>mB+G!Eu!GNAmT78jD_IzJnIm>JrqaT?4a8Kur3d33Z3oYSUjt*iZ=~ zvt1gbr&smMIatN@Y0NDO5r({22 zs)|I2;}G6f8aR-u3^J*`^oC~*x)V6IRWY`Wys9g42YgX%S5fM=W}+XpzBk1zV**B7 zlJYz9?zWhs!_&l~Fid~Y`T^iSB3hP}yD@wkd&LbLe&Y0H3qd)3zeqHTiF-0<1t9zU znkV1MGO%akXH_eXekMzUcoE@#QM>txkML3cmFmC+4pt&)-BM9;=Du6s`Jb|^d5HaN zbZSA$YAy9@;+x{L z?ZMCpbo^^&+iqpQwT1K@O&f?D*Vpna8Dzu`(LQV8218LO%sTRV&xtQAhs%WntZTz+?@zc6&p%6NsXa zZlXl8W-@JxPe{Ag%FhXT`*P`hG5Cw$CQISvr$XY7iKUsw)9nueOqfPo@CCyD{D~Bg zI4f^?vl%9L5Pz(gY_o;y&-{AP$({V>i5dEMw$|Ee z7r5!kJ@@O@sc65gur>1`A`N!Vl)0*Unm_LcJ3{B3Fl*a3#R^9VX+iMr?OC?$+U$;(&vf%R&~LI7VzufYMmPjN54guOWoVYIZnn$LZ* zV-aJC;GVt$^WRObV?QQH-e}WC+BXxH`mT^_d#=@-ZeeVc`c59OWh_JKN*pXS0Z>md z$CCw_NuF#0M}W3r4;a>HiJ`CQi&P`9jH9xiXh(F-zbx_E(la0+8;8 zlAj8#zH#Mrl2rlV#lxF_YbdbAtLZ$t=pF4BYQmp72B##G!Ix*~HTwu)nls`H+wN^? zW<5&w$P%GoQ+AWmIH4^W;SByUA*y-svAC=1f>TwZ)j^HY<5aTnpWRES=m(@%FS&yo zk81YJ#j3PG(Ybm&hbr;msDF0mxqL(tWZD0|UWH-Xm|@usYm{GbMKhcJiMuS!Nb}-k zJH8UatCaTyKcN*FAx*p^|Hkmo1WLMfgTJ-ORAghS zQVq^f1^QL1%<~v3o!n22#h(|>OFB*Q4{bM_^u{V9C1HvBHNBowQ`W@2Fj9Jfj(+JG!2-0-F8ot+h6B8Arz`AM~uTOi{BBVcvx#+ZX}njA~gTRNg{(~i_5 zBDgowRL6O*lXCEg+IMOj)6CeGi)6n@+y0517Zf+EE~3u|uIp!P8QEGV3x1fIA~ z8qTBY(TMC375XdXi!CY{Fho0g?iv`t#szNvcT-nPS7}V$Q#_@D5-LfL7>kWZ(d;40BkQ8@JL8Q9 zrYQ+iC!g=oeT{rdY3KtiK^Hz#O@RS^?r0 zhu7UXFQzB|s6T*~i(jxy?N7q;cGU-Z7w#$_VR#ZB4ov(A;lW!MN)$|~l zSp6Eh+TEH@(?u)h{VvMq1zq&M&6;-m%;nhoZu*P80CMkoepHagAil5x+gVfq9n}?hSc#^hw-a3IF*=BWZcjdC>VoM*lX%pYAvCVYRc zqsxYkLC)4qzI&}pY>>MiJiHLJIsp=$AlaNEtPNcPdDrMVyy zm!XTq`H1+$MvMf^*0CeZyiSP_19Xf&8G^82-*p4(A=e8=iP!HrygPAYp1y;b1AFP1 z{)PPqQuKO48~ciF5O(pp-FpfPi_C(yS(dRGx*{(&mFRY>M!uN~_TlU_l4CIjMh*S@ z%HAUW!%G<*B+(hWzZ?y8*&K)ifI>*z8%I4={YW`E9u)I@n#xux$WsTB3Hx#3ep$+t zIa1-sj!zQbcLO({7}Y#V-{Q|(b$tic#w=7FEhS53UNWt9fLG=(U%Be}a5cy(bGYn^ zVZ{YqBpqXB%m3>22p1llspO7)FVWi@vz$-iQCJvBX&PRNGDWFC#8C9MuE57!^brT- z&rUhNM(o`d?e}9$wf}cq>4qiOs;f-2L52`N;i~VxFO^!^3v^zO6V*bFKfzSs&tAlj zxYs6Dc;;$v{5n@L4rA$(@v)2d{J8iRc^D?aN!(Wd!cg1(WdHmwU-mbtx#({&3|wnB znj1{#;KFuxU8wq9T9b(X7kjf)$$nkyUk#@;Iy}}6YgV$H9RFK$0r?dc# zstE38VD|oJpQp0UE?8>f^hd{*X}MmqT5$=-N5}Sm03#CP*KZ3W=M2>vSc!CsV@h@b z)`mkx>rsT5o{-K&e-!Wy8-SA)4e)5*;(FPMIO#ptp*>E;o&(u$u+y?sxr&fLpwN@nKUaMzi%3yuEt44)m%^=dW181fwVft2%_|f>u_|!! z8T6x1Li7Q$r&7Qm@Ofv^^7$9X^PP|e=~5z3ukt3(0ir26A-$8CZQo6g@olv%Bb$55 zLLXam5xRjwOKr|xC+@*?2B6$@#H=H*y>V_)KWZ>sHG;CjcaJRryvcs)=?Dmt6 zV0?W~3pt}L&hT8@pP&s%S)i!tHV*!HF<(})(WB_c{i1|oO`GV4x0!kBv1M6bc0~Kq zai;CdH3x)QwCP)kati!qU()nJvi!o6c5Q^`Mh!v?H5V;6B?v1uG7>XVyf6egOIEq` zCywlhP}{OT3diT(41@Bazs&OMdvI?kN{dp_W@lWL#AlJdIo5RkRmm+$bU!zu!I5eVbtvr%B5j7CT%a>D~pCwCQL)XJx=Z?!W`NfiF| zyN>|qvhC(eDaNcb7aQO1-FFG!x*5*HOddvbXt7^E>$}N&1#>!y;vaVUVB{sW*`d1etQH!)DN;>B2o&8#<}d5Dx&SAm)Gl+a%_=X zf#XuY9$v=awQ@E+kO5bxssn)+21rysBB$pfF1G;d-dThpSj4kUZy*i$;m6lz8-B_s z*DRyLfIa5zi|NEB<7CZU;g0O5-q&$Y7(ja4Z6zaPZB-=)f8Hx|D8e||g}^Y6wOL>v z+Qdr6**xkwqcLEAl$=UZ3gqmLUOI=2#MsBY01Vlv?NsT8qx>r~ZoOAZ+ zRVk?`fu)2%4=!i^6^Z~6;rGh@GiHnU9?`PF@w^Ki)(H8f6S6zo`}uwk=IP;viURsV zj(uMusx3dpck^yOw|8R?npJJUYdKf1UMnpp(-?eJp#rO%W`(Jl+-&97jkR}Pesv|; zmP9@ME?+XRE$Wo&t@Nq9<#nZ+mM5Th0SmWw?KEB!??w6MVr5%#Ek;d)_=}qPiHPeh z|L{QO!=$*K11*X6z&=ZUHW|0hJ1^^hHx*EEdR3e(Rs2-mg=d7q@H<4%%xd?zOv$dM zC#bt#0l&N}jNFXNQ<$@sy}zJm52Z+3wTojQF{BWd9UeSckM%;NqQoPgYo(0~D|ors z=3H33t(>&Xc&2tq%w_;%ntooV``bH?1L>nzYvK#;ry&8bUJ5oj4FM4o7`r8o3Yg)U!+$uYqP#6v?xuzLr^i=jF=z}BcZYC>&j6&kA9?N@z#|4%l({6ns@)W0fT@>jIPY}=1MnB z4RJ+owfyHle{u$=u#%LxnDcOD5sNYYpTTiLmxSp&KGOibauB!;F$SGVe+w4A=lDk1 zs{6kO{3VC#L5E@tMTDj_Czeq0hh#Zw1a}Sc$)L>V@900$#5?&R?mUhCKrfa9-TGS) zNFEml8zj^v4BQq^;OkBq28-W)Rv$>4nY~Bq_&(^UlOn~@jc}YVs*}!9Ww2F_tm{9j znw`ThALRrX7TQC>w{|-(u8P{^9mQM@k=FHc z8Vh+h*K{Ec{N$PUR=xaI!`TALOjh^FhYx}AOu+H4H;Yebwv0nurso9+gnD@9lL1C7 z;jjdj@J@n<-B-R%@#Ns+KiD>dJCb;b;bmHJvj0}{@2Hp=Ts{;&YW+!w?0i$m|of({4Ha`+vDpwW7#viA@{WUCJwUp{vcTq;m;W{Tclwx8}l0MoXlp@qU@5c2Q=-eBgq4Kgp++zMp)%6z4P1x3>~C-GBV9ZFRRE1ivNK*Q_wUxVtQWzq(!K;7 zB!IK?TO-(mwWso$NIOZqQ44pKZA-IFXcmB2a+YKTEP>Pelu}k3 zUMXC3b6MfVpXc5gEO~->KehvlHCeVduw7XeWpENaDaCA{*vX2 zKBqHF`}Dc88ni)K=I424ia8GKITEmnWT&IQWjhJyVRQ(Kq6WHRWO z%c1lgRfPtR2q0IBlNK%h=r&=#|6t3%NH*nm>*(|sy;{$~OY-A=UKJj5UdMhoiQTy0 zUZj0V^^0|V40@KEnH3DqMR+tMvS%P6jK_orql10i9QIan-$=^9pcVzYPK58X0~*iwAIKKb4MB3^*-C`*j>lQ$&m8`$@dtddzQ^d{ zqjwWFFBmvg@)ot1+A&gKQn0Z3oA!NU-w^uQ*>+34{fEXs?&!Mn#7w8gldi-~WPPl? zf7s`5xR{r%?Ucv{m@h)Ca!j%E_V1=WiOME)>8_&$;_WP+>tY-3)g*F|5%l%oLJeZk z^sBtT^uJvq6QoT?`CBGE9)a<)0~g;p(ood3jlSZ=4gS%1OJM%?@uz zksR*PUGwu#N0U+!o{mz-+VM@78}oHHN9j}iMGP#uZdF7z8Rdn>GGa5xNFA46Fv;d( zq3d?CetlQj?8uZ#Qt`vZ!}z^pj3366LJRbK(q^Z?|^N3Jt~^2X-AUS7A$P z{^k^=wptUaGS@e_+Z1^)F5}6nz^UlZK^tV8Eg}C^Mmy+bBf!cJP*xJ<$Q1kVDJb-Xv?1RoUYGUXP+HL)&I>GYLb zY&I5>0Z)P?%kuUJ^}B#hxhme(^|wjNZn_fsd0tUlbRdu5@PIJn;O?P{@cMhcxq1$n z9%>ZxeS)BmPVhgkh#6n{>`s<~o=peFQw*H%j&ok-Of_08Z*y{Vad%xd{#7yveb~tN zY=aI(7poq|O?z&pDzw-1yQ7yTWm)pM)Dq3RA9pgYXtI~-DcRx27gb|$K|w$sNPoWNgdwr9w|fgkknzA_pr$g;1TKTeKec(d+)Iv%|l(2_Q|BBqtz zCS!Q?2l*frd+=zd3~Q{QBp!ppr}@!AGYc*tCaAA>Id z?BvsTY!mo1M{7?$YqfILp|H**w%BRW(8s;++FIG2X8U0DdG6$}PL(|YT!E13^?e9* zXCF6+CHpw{jJ>CYxbu@(;_;f1rGbVx)}yzn9pQ61aj~!T4jo&6oIHUK(=R-eqmxQ{ zvA6STFYTbyanMC^9<*3ctZb&;D0@bbu1|-D%RyR4lW|?h#03$(WP1M;R$~w>;*Qa)nZAvl z!x4V@XgFou=N#2^^{mAYKksEE>^g-PVCCF9`atDS=a*00=Gupky;Jd9DMtVAqa--C zFU{CA1D3(ry&6U5%Gj7o;NUw-v`x;*VBeO&^~UIO%@|y~mje?@9R;C=V~_jc3D}z* z{XwDntX^%A!CG3bP5wF1@i`s;(D6+&-84R*VWRygTXbBki(lWMU8B7c?p=z>1~*xt9VI&MvB zv91-dJJ%uk=NMZGN~^(^2|y;%m&w<=mLuh>ZSCLW5+K2qk=NX&vgz|Mg_-cgc5>;{ zO6Su}G}gsemhDl+HW|UFRIfT=%k<4-XxC2u{V6D6Y5!^U<;-cpADe8#D(E#c!{t-F z>4$*ToC?P*BG*VNGFjb><>wjoz|lF+u|kMcBDrNcmUikem5v)U?=F+mGOZesrE`lL zK1K8(Tplje_SXvUSE}_=Pi!Pa7Az#Iqq+29+Hi`0fjLl2lEZ-Tggvpn~ke&uxSRJEx&;{<1zk(Xn83Dg77))HAk<#9!|7 zT~ku}r9;o}C!FE>sGe_8uz44Q%x$v|xR7Yeg`(Z3gQFj8P1}}(8(yEZ1c8GeACFxw zB38w9WrIaesw)qFqXgZVmJH8VD@b{6gxfmpJXZx)vgUkaj~J)8{jtBO?GIhEUV5d| z#mvtrj4mGQGz9~03rOpj=bvgGAD6&Y{N6_);gO%efwA5kNdiA{hW~AXmnk!Q?!TKV zV;@HG{w8O;ofAmz$mv!+TJ`(C$fa8-_mZ(3`97NjK4TRWLzV~fz3O{8lY~)|!K!23 zs7m4$g3M)yDQ^DD*HT?CEP>10BM;h$$L`;f-oL6hS0y^6hW}oTx^-Vhhn}e~>i4fy zx`SsErU~wB$uYOS@n)IULvX#mF6d=u|66Zb|6@LP3RJ9I5nZ45?dG5jl$BJ0`Hodn zeCJyZ|M?dy{tYPctMZ6TfI%v5+$HgtQPruh57O_|qx(>jS9LqRrMFSeWY;3$(pqOz z^j9EbZ+jjAM_?k~O~1hM+R_?MI&1YXMzxeC_hV0V`%99di)|WX6^e+sTgn8dxlzXf zavwPR^Gw_+pw3DzSx)%xS zHf4slDsS-i+)=Kpo1Q47Dxchw%t$b!eeWjoQTlO5` z8BZ&0f`)gG_?7k#=xjHoc!+v zt4Xp-o+W4L^(Yh`Kg;C2JAt=a>r)32waj8f(w7#~E~1-I`J{u_BOMw}x7?S?@;;R< zD<0XY4*uL(A1N1J9W-EYW!TL@F?G*9J;An)Sq-;x3su6__a`lo5Yb1_=3EAtLYwDa z)==kqnXUb&F1$j0cnUeqp3~XGeiIX9 zaI9d;F5_>{ndv>O2#?B&WI*4d)tf$}I0`xN0ZOk%yQ99kZvV?v05OP0OWCNldTyEB zwP)(^nr{VwDPPAsrVYW(cJ4S+GS4`O6(9m>xHB+;+Jw-4PUe&jhtzzIL2X;jdlY8} zKQ+T7u*&fwN2~N5fzUF+ZlS1-M^`?f8GPM7I9cwp)eme?`n%Zi>Z=iK+Mo&b=2>89 zwim}VE|esHGU4*i#LPcH!o`JG46=_8^5DJYfkUY)PtR>_tcl8=i-{rrh>!{ONC`#R-zVfOeST{u_KRh?i0~gv zKBO{YcIxIa4}uGnW|JUhb}u64EQ9Nn=$fex2d3E87unJg8rH+}ZD?OfY%Ba1a?!Edk{%>zq6P2 z4m05GgoUOyT8m{f0TkkHrp)xg$0I_OUCU(5zqY=y%H;D4{p^0IP0+pS(R6~hCYVz{fCAq3N+yGVhJ22ZxwLAH!0bcQQqN&lD`B zpWXWpEu~XH4t<#zilQ5lC$P?wPIVJ9Nyd2c4!O=%J%qW$kcBb7`!!~;^j;d11&a-l z*!TPcSiVfajmkcwwjc>=QA&BKyZ_2D&ZN0qfgVnQN7#IzFmM#p%82&O?liC!<9eWf zuxI3*+AQu1x}5$NUC}yaS3gtPFIY4ulrm1(GVd2JX(apZ3^dnbfeta-y$wS9T{L!5 zjP*QdVf1Y)UpvUSV>_5ss(q;oovHQ~Qkb3$p|8++c+RqwgIIf*^KQb?WW>*${QfXjfbg4$%0#q5Tf|?Ru=dJVDqWvFtGP>jJZ|^0ko5JfQ?$~vg%2O0yNxhA z`#|W4)iaA@WRv-~#^)tVI~z0KD;Y`P+-!n|Q}Q#*6;-|yp>b_<`UgHdvaHJ^t*W=ea&5`bbPLGp)$pP(z^b} zWV~bjf=QcIX35|Fnlxx2&GbX+O6KaKS^PbMESMu(Q6~HtUK32!kkPE5FUiwt+xFEc z!S+(d6ZgkGqur^O8Y(ivW7jb{o48q_En{5T&0sf;;~(^9s!h?lubDPLYQ+Hx4LZ9Y z#G#*|>F8Iz7_Pk7&})Z2m8E>H7vA6UZHZ9flSe@;-c~NXT-K8;vY$tJy6)gPm4(Dy zhugsu0kn*(nr9HKrfo}R}lBekAHR5 z8EHAuzMYqT08b=m%*;~}S*^PPcYdP7@nqk5%Ry1ymf{0^bH zo*CAd_5PGdVm9lS<@}uRY6e^VD?T1c{uS z91kIr*#uUu4BHuR;c03x?NCl2Q--m#UteRew0ABzVdz`hNSN z(i_nc@=t$nNdZAb%Om+J92Xvd5OxT#w9pOy*L$x6BQdzK0V|+_;^um|#t&mdISI77 zlIrg~CDjfaCmelO=q~AcTY`X{=9$YGAXC4)NPj;3?0&A8_~J9;0i>t?V7NY!OJ@OwFJfUloRGRPGFGcjQPFiPeqYrpm zm4Kts@Hmss9rm3mKwfIXbk>&B`Wp)(1CIf!?q~1VmTF;A!iSGsGl}(zzW+ZK!1)t_ z?41ht0bnN+N1Y408@>RZJ_U@zbd9D#Kc0&}xIHKxZHfCAOZm@2X{^zcPH0FhK!77R zf1{dpmik+ATBzof4=&=c+{%$f+&O$&amU}3K-(vW5^;7-Tf@R#DnwC6d_4(5yj|NX ztMh@5=1nD5lH`9X9JOa|SOdm9Z`&~`f4>-dxEJ7fYJjwiM!bSnih$jD_j?ZQ)Xz)} zO&c9&DS9<}S!X2aKt=9nWZSzKJ>zhMc130LC#LdtZ0nm4RA`&m>*UWuS%dWOxM!4A zhFyr5gCe;D(`7=pnQZ%(_%Z`zGcr!bzHl+;Hks&?}W^|=*s3$dz9|D)BB*| zA1Xb+f<&UyGRUxS?3@tclY_1JFT5WP0{hscGTu;tJnpN5*6G#z3K^ArMLFL@_DdQ3 zONrqjgD{^kUr|GZS)CL5k0xcwMMpQ^8-y@#W&7<(^BoPlb-fExSF8*_uBO-8RPU(B zJ6pLq+bOLecrKu`8qI-d3#AFY5ZH(;;kod<7-%=n=kJnCM($Y=*I<5l6?5p%7s9f} zlGxWpozSg5j4fk?Eo97(cPQ5`&M+KA#NdadrnXgJtPsxCMr{q zS*2b_`wB=JXr-tXBI7LJo23pbt~$8hmgZeOq>JrWv$uWFa@$Q}Ckv>;g<}6-6+Z1& zIn{pas&JV(3wz~gPO4@+Nr6L%EhAXg3kIO_nESO z`Z^{1MYEa90NTw=tbTxMq!9h=rswKTq3iYIT67jIe{yPRL8YK?g45;^+ta~B?52Sb z^X=Sulen)OmBbGkZ_XwydU|oPpINxeg(^DCWuN3Yc?O4R&$o*me`Xrw6AYT?=b5=@ zYvM1X4mY})HkGV2oHoABqe27Rut-l&mzq>#wyPDK4IIZlh=U%@%XioHN>q|Vz$K2p?(@$x>FiNyQJG^1WZ`CeVjA+>(2;j~Nr z$QCOH0j*_R6&o}K3e zuGfK0mU~p%J=OA`dRE79SsESof*<5ih-fDrL$;omch^Yrb`+On(I42qJcb5;bqlQc zzhzSz%Pmjz>yzkWn|sHEmEl$PjL%X2sk|^O7#HmeE1xPHv#XS@V}5&ZP~(c}8i*|s zDCHirxGpENB7WT&zFg@7?&wNQ_ufaK%nlAaSgKXj}O9^w^D>=9+ zS!RGVW)_RCAF-xbP2dP?0&7|DIk(2AvRQZYJ(5@>IG%KG`bK6;a-JySp2a1aP*W-a zRr^o$m}W2M!$|OB*UTn0hGYkDhu?L8ZpHeFyHBVX_*%IEz|9Qs?n-7g>87t#>RZb) zdAxWwLBFz*;lySAZ|fE0AHH+`!tGfg(ZhgqhT#?80`yl4vhC7}b|M)nw@;h=!%T|= zgpMHx!wtZL&QDmgOnRbbNKi=kVErLqpHiT!&qYR^-gyq5B`z7uk`X3mkK zf@ra7fdRT?P?1|i&(i=6vxE-~LpwjOoQ^!F_y-ZRfOZ+6Y)s61IA7t+%%saCNFBky zj!0AcvxI7f4c5#?_^dTiO z`JVV~V{u2K)2B3c!n;|=0bkGk-L;=~v-ATwH8UpPih#;#-9JMyPRU={wbxLC7=b9G ztIQKcrd*TTM#K3BkwzN^aBNj{q|aF$Bo@CEt3TLU&v&G<%R1fg7FaMxMK>08hQvBh zj7`jbb|Qfi(AN8--z~TX+PMB~Y6?**4g#-V!%04itOkVqRFYWA^BJ?K(H?qL7Rmhr}`NCM8@YE7@Ye0p%!Jr=tnU@qjZn34Swof~I z_51+H@Dvm_s%1OGQ&=R{)7Rv2Db9S~$;b5@BE0;VrP=$#`arE9vvz9d_T=0ljZdDN zcTK2shZVS+UL5ofyIKK^phyya(zO>HTIv42jrF_(;*Q&;zb)~2-&++-0pz5|grGdd zF2pN#*E2^OSZ(H#@Zpo!-=~VNM|&#`x)2rR0S>@AydG`!NJr22=NNRk!rke`03fH; zbuJDbi;9n~`$J9m(9H6$yIZ=qxnW=NDJGK^p#sN|50xt!4H@eg z4Z9fA$X-j}OkK&E(Q)x}ScM-e$V;PwObUvSA# zb>KYX6H1#-(s|}v5v#Hr8H8rA<^yG46AAH4q9(Z)d;O!=6Owsn9gWO{ z`u#jI2ExvLZdjf3E3#p?iNt9CXUV+zYz`zOPAqA2S*OoolMvpd zlp}1eYN^7|8hYtlCo&PEVGInK;;2pc;*$Rldv6^URoC_n3nC#PCEXw)AgOe>fFLR$ z-9vY`NVn3R0xIp$-5?All0$b5HS`eQ=Dx4%z2$n|=lkC8{rfqNISz)sXYaMvS?gSD zo#*d-j&l5{S*T-lt@WA^bb9=K;Gv$oRZVkz7QQQ?1W!r%_9ma$bEZi0tlGloizHW^ zkr8a1HRoH1bQ)F`<94n&mzhkE9)i?tPx)$k$89d7q$sbQ^M|7=dP8~-xnPm*8J^(l zP5D`%&?*F|%r~cHO9TL0Pz3tr@q8k!3pL%?k!Ajf9wvb`f19rC1YqHyi7^C4?$_i{ z1cqaV$SSd3&{#jz>--gd@7KeI_PO3m?m|svDAK?J&3%>(u1>5)&2IqWQ$A49+w9|T zFxJLdaN!3$df86TH>@CSKe21>`?0qhe$xCp1UiZ@*FrckBCeLI;Y}|%?Ypy;;ujyF z9&WdL+0Df*Ucd9BAC*@3s?uW5p(aY~Erlw*5trHZ2bP@VB|xJnNX49KDeznf zmvY(;x;iidWC!Vc%lxjk7d&B+6C6qFKqjo!8~_3)ZoMWMTJPeJrMj12>dW4lP*QlK z2Wjp5O1?eNF|-N-={dhInKC%9CZ)NLlSKuo-@=*?BR=7-(i0NSDleKFT$@=;C-vvV z;#;5(euoy7JXa0h>$iBeb{qprji9pSrq&)IE^V&>HdcGfMowslxt#a0v5)YrD6 ziwH?uOyrn-oif}FZ;5SQUEk-J2F0xQ8rIk2gT1DLXTD@=19S?W7&`yo4B=Q3GrdtHJ5@;p~9^zfrW!gZC7~3b;`CM|DMVV(Cl@c zasZ!Lip7Zt6W@o;5HTe|h|{hWr<-slX2eN*U6aySaq0g3vaft)%_G*h>az~c4(+9C z*8E))jH`XyeU6>BM{3fT4;VFZ$Ptjk^2J|;S3A(c_L(IQQ4ZWRYx!>9xVk85g9*9Q#wFL@V`_(YS7~$1KUzi3e!qoDrQgFK7znl=F3a#d6 z=cA)~G_ZMy?Kfy{%|%X;0tKD%s;y-YEcMXNR-4U34R*chnBLb9dVbOuU0rZ{TDDh; z@5*)H$h1B602A{&MNI8bo{iWt4}oLmOlGwn+%u?gjgW4~h&pZZWucgso&CRdC@X1S zXAnBZ$WNN~WS3+wi?eQBv?=#>{R(V%F7C*}f$m2X>Q0cjuSspV|Dv{pB=T-am<`}u zrKroF4Y#C0Hi~S_epJPsSP&#!ZGQKJ|2QTKy#m#R_kOA?MjR<_TMX-IkmRaEzhLex ziH)attSc}{57^|~=*nbM9OK;Rs%@0-Pr!H(a|FNs8Y&(b8k>9H|Byyv(jHi@6V&g!-BWZ(%O&hJ+ zPob!nlL^6Zlu|2BMeTMyY~Pgg{xl}W;1xQsWDWl*@+9wvB0=;BPDd#EcDi;}bl>;m z8vdL_#Rbgjvu7+=^eu=*GB_pErlO(qA>IX!6Ed~n$AkUOVk-~?A%^qMV!Vxs7jtEgHmbLu+0~XBff#1B!K04!QKVfxIu(A=SRk%_Jd%7yK${*Sv#Z z3b1X8MAi^4Y60N~>D8`<9iSXJRTax&&6l>yUhGC{-F5z)C0xZdo=y+j>?AMOg;xKP zw0NUWc`v|$5196!U@Wp8JdW+&C-KLP+_ued8Rzml>!6;tNj#x)Bgb=07%qbBfXX4K z1q-O}@-h`|y+lbLZ~UZca4(?WH^s$~GH8X`70rD|Gd);)5pvcTJ9(DIqFp&*08iwS>mGc@(&u1a{yF{q$qX~2dY zcj(H6{q1s9M~GI=7}{G$9=R)A49bVN2OW($*Q4I;rCxd#+)UFcdXwJ}W63#I?hjHD z{Ni9@LMLmU@LqTws^_;LU9c;GcX^qg*2Lv$(~L=`UkQW#Tgbz9d>vCEp?*UV%}E(b zq(#Eqd#F`-uW2jEM7`agZ1Ecshk2kaZbkq{>4#EBtAUzr;hHxjkp+)hT?2o&@B8*O zKMk<6_4;)oJEbXiZh^-CIW?<5r~mq%Zyn%a6lyf$^@JhvqVXKm-)FBD8cW_=D%H^Q zV5mh!Z;NdEg|7Cay8O(UYv!c#?H*EW z5PaG0QQmGf054}v=(IspG%#-;*8N2Fqm1^!+2Sg82q8SxXPHat{~?v!d4QYF19* z8ry2-%a8SfCe5Cf+1*?~m_D*~8*6|?{I)4yh~VyiSzSI890FmUlyWZ1)y$^Z`p~ws zOXHFc))$`4R`*fVT9ot`WP5!n#BA8NbxA({)o~RHD-Xk_-IKBIy-MA^88{I=>w&%U zKZ{*oeA;0JSz|5q8<&ASa9A5>8bF`JVJ&-aQK~euw}le8;sy9YhjdEfRq_qw}+09x$pgZ<=cajsPt}=vU?TI@BG+5ERomLdS&W zgrd~lUtFA^!YA2iy#W=verlx8;lnv9e72&^xo(l!4(?V3^lag z;B9&v{{G+_k=8G3OZ=JTG>#)WTp^y3A`i1;Lz3~4$ZW8x(*E@7FBw?OypAs$Q~t3? zT-1y!C3!oO2QSw-p_O~E5s04B1;FRhTd3O%XDvk+&Ran0Ay%mM(e>QSZ!n)zSWt5kfx^>CY-dMOpSbQHp0?chG#oE-_@V)Can>3^oBL+lEHFWGVrCzFy4q~^ zYI0TZ`)Kf*Q;+HfQ^tuqAN>q^I|YiMMM<*F6mwT|xB!iWwwf#vF_fYTSW((5BXs@HbIV2y*{0Z+r{fTpKIFLP zuCd=?TwfXF>kFV*q9WZ3CVq+P6AQr^LS~(N`(8tgIJR#xZoK8&k8RuBj(NPNp?Hj$qXOr#pwI zLrNF)&msz~`OySjvIKj04@+=Me~-rn>Hd~8$)F!5Y-ewI=D%PA)Q;TMF@#$Oxi0`% zyL^GZUz()TI&dgAw`fhIt`dG2pl9P{RbbNv0wugrT8I%GrR-Y~TNCe%qi8O*ntjfZ zOC(X;^F8&~S@m5`=f@wvdVAZcsZ!14R=>Qkajgt`s>0>c9vg?fN3}ABx ztY#fX%qp!L`1RRug((pFUYaAfLj=5SCCb}y0*}7|H)F9GW!iZqX$W`y7gL+GIOC`x zx*bqPeA_$C(ua@X)`<*Lymcb2`g4}ws95>MD^4E2mCBnsnoJW!-VJUs>Cz_N5ELq} zKYhTX)g(pP;#M_fYv6^WY|H7~@q+bLYM7}qMf*w-=BW+2cjJ13tkar{z`;NU(?m)> zaUb?cp$H5xeJ3|rKhUkYtW|86YEm`q@_!p-1Kan& z_ty6~fV8@kvLVNZ4a^8$vq5yppaG#4LY3*|S58qh!&7VVq!JsQgb0mf2fr=%xml6e zZsYj9SL>B{FF@r?G>3binXJWhW0UfWF&e7L-!oR(X>NL+IQ06kjXZBuo0+qFL zPw|mm(g}ig;&&Rx%>+fLSr1fnG$$CEgY+hX4!T)LPT_NX|1krX#=zQ0tgESdc1#^h3>oZG>in zVD81|>2(s(-s?OTpE_0(_Tu2O0-T*Wfn*BY(Kw4_i0*ctz4L*Vp1P1t>lmIa?RWC@ z#NizJBssQFzwlc8*Gr-K7D&<_W*ff9SA~3%Oe3@+NF&y4?@pQ0=C{<~gks6%>LuzXNhq4mbIXA5y+gF=Pr( z_mm5$^HVoY*Cd&s_+8O)km&a!g{O32fUa&~Sc}KJtJ=&sX9kYZV4rZc(?0;()K^aq zQ4Y16ggi1N?zyOfr91M34vBm{n=)6ue6kasn>&Aq2W&ACo7ℑGP@~vaKR|#boD* zf$Fgj8L0!i$bd82Uka=b=2&$}FHavI8!!qvGagmwKT3?-%60EuZ3=ZG|5f)R5NJfJ->pOaTP8%Dc28p*;yk{xaJt(&-Yxr^&REW1Vaj0z}+4`hVp< zwd%QfX+zZ_d>#lYZ7~QUROhT5>gYxxV8rbVL-MK65iN6Yf7_F0G}GLUh`vzfmt?fF zpEVXXc9(To(|p^9|{W-SZM z1R)}!S-x33=wE?AC#twk?U&orj-h&6FJUo`7!73BN;TLwjy}&9Y)`Dz8(sWMhW*tV z4KK&Sk*G3PJrHiJYN`Dvdy_W{jb#f+Yt_qf4>V&YISrU}6Sj*;EJTc9%R%RejUo`Z z=vYaax#d-H?N%{zms+zuBSkJw86VnJ9__vn5cmP$!7;l!^o;axt?%)d4zh9UdmhC2 zXxv}Z3g2eogR1wI8De@+~!;)YEQac zWZ2MU8fvR)#`qt2Q;ZVWRxPUQ_r7{aQlXnL-2G!O zA#4w4`n7i<9Nw(zxHe|UL+*y>>rY17G+tkVc(7e)iF(baKgdMJusRdvzv zN|Pl7)bdOx^f&`XAOi7x>5XWb`2qDkXt8aC|PBfJ6LuAC!2sL@s!hEVTZ)2Yz zV6=T^)p0<3Lr_v{oi_GRtRT+TDgymrL(?hc!J6_p4ckg~eDxQUKHVGUlcs^TH3C;k zSDU8u^-d7fwv^NDhQasJ7}$bjzTs1kY)bICIn)z&x*-E^Dg@1IufzezO$;MH!Gpxw zpP#=>?z-@%s*Y{vx-cZkc+cACcY?>ugp7IPJKw)o9qhO>R@5!*I^DeZr0ukvW&kF{ z?GWbYz4BQOB62!Iuo9j`($0ooA3n9JDvMUMea~qVSeLD4gE?86sCONpHZ|C&S9!k{ zA3Ve(m)*Tf!W1noHIN3&*>SflolD1&U<_u0!7Hm@O1Bh0^52zk@Sk#Um$cC>5d`j`MzEBLYh5ZkR`4(9kl-Nqtq*wIF%r zyFKlB9Z32%re(xr{Mw}|g(+9pvD4+)AJdTRMrDdL-VlI@)+v-p$f!gVXIK#P@mRI5 zq<}h;XMEIIVsyozJA+LvZ4|ab*tvbmnqr93E^FVN$n41p%C}a&6NPZPn*EA~J$zRI z{0p`~aUh=voi8lJkZu0UJrvx=fNwDu!99~`)ZU!tHPU0MFA+fb#~RNh49xM2a#ofn z&y5I#>A^VD%+};JI4w#q`(L`K^5uMlp<$CfZlqp5l+^L>MK*57(R1qPMvzIode@W_ zzqeg`#Tm8^L_Of3thygk2s)daXfoIAbrIkRA!qW#I~cpi)RwDXUHAZAaNJh@OH-Ha zKGmVqpm(8F=tH|+RIZ4%(Y>tDhX`f)w~eZXl})*lp>MPDY;Uq|E}7(eOfr41E*|t> z!u#K{7!p$rf9sJWJ;lFbQzdw#4qZds@_vICa?aks4 zaDd;-x9ba{%!F;|FV)7Ol;H^Pe^|uPwy7HXcw)An-|7dPJfK@YlE2Nwd#QwP*Y#H> z-YRfpahkns`{TG{Mx1NDA@3Rg&CFV2UQLC~%F)LJM=CSg`$c6w!lM*^x_Re^5!Kfr zLeV8W5zmHIvGzCJ)J=?octSnYDPLO*&ex1X)J7|^kPZ7q*ZGpmS}eJaIA)9=P_lo? z6S8HJZ(AOpmmN=bLCE1KiCRA}!XD@P?W)K8#k)NPdOc>|J(mt=tlDi=aGINg4Po|F z^lKg$w7F7aRnlJXGpbJ=aDL3yg5`J|9W#Q*zEk#VC>Rp^2)P&5BYvhAW{_#G7@vOS zlJcE!Xo)sFgBMxw#upI2rUjOZc0qNm!R(Qk8o?7WO*g7`1>VU*dxhF6imEx&&6Vqp zBj-YTm^+9wZATw@HoFSFd;yoFll1c|_+HvT<~naOwVydgW0Ahl_i?rs6GSr^$;}xU zHX42)$lV_N#rx_RxgOLtB-31mL%a0XXAF;Y^L}{X@lrJQY;7NfRnx^|qx|}2xNeqj zN;pQByy$2_O)^Zmh)+yYRVCGGt$>(p;9Na2@GJN3+!KAK9my5fnR0j4!Tz_PR4I0I z^uvgUXy^4l&9&EU9X9BLv-Fboj=Rd$$W+9?toLZu))oe!Swb3_-pHNadX>?2-{yoZ z%034XR}-kKY)$U{tl0DOXgWVl8z}K9UNj@N!2Lw!;E{JeUzw=vwR3S@NCY?AM(W3? z2<_aD5gSjw&OroRt%7UB20YFYCuuWRkxbQanA5Y;dETdD(rGVFh@w2Jp^N3MiWGa8 znX^ngls-1Xb`K2Xbf-ylh~W^k4xh|7NgC#4YK#~SxnE5XHICzA3I}t+nFOv~82x45 z-$#Ix$hQkAyQ@Gy+6KqxWt(H~wUcb3uBYnT}fe{oKpr!l!t9X;xc+5-=0OKxGOEOTptQG2|DG7{j!$CYukI zd(c+tRpUQle5TDrB8i7u6lQ#E`yStb6Pu4`PoqQE_-Nu?G8n4y%OF)T?&zmT>phxP z34=-?#vOHuiAg;VOirXzHu_CAzxBSh6#5%bCI(RQ zLZhe$qi>efZ~}k;q0~`a3ByAUA67cYI>;0w2~NgWxfdAc7|hqi?~tX~!F2v93;g_) z#KL2a*0!@Z;8gxLO~I)rTX={-gQ^rWGi}l9$t3?!%k!ZiVNG)vWF$X>Rp2BS7C9U~ z{`-044dNBp1F=j5_rJ;`7}WIJesn{z?I>muJVt&~mEmT#4r-v=6&!GNwyBjwME~Hh zF}qLInpsim$yd2s#4%H790JuGH@$j=vo462K@&0cS#k2wEEzNfe)5jo$YH!#3skCW zB7|Wnb!EZPXeML9YjUsjk}D}jh)Q%BRptG9*{3ZM8CyzO!pz<_l29>i3V_ z71*+7<2e)0lf!t&g=vX1t9a^|oxZ(lFMUG*BRzLXD9214+{W&Am(I6c-9ozT_KLS3 zL@)3tq-{NsVN}NILWH}bxV+PUGRPa4Cnp`<8|K;2BKmT&>)J;p13elS?6#I6qxb%e z?h)WRpl|(f$8P^B_r`3QGQ2gI_rdWC#>UzcvLy@Q^-tq`Tgr_Q-&z((pD7&ag`c|o z@@>96>=$nxaxjele1VlkL2xWMjUOL(g3>J@$&YWVj|${D8GrnYsq#vD;*}rzMn*X{-yW4Sb0wZ_N$e;b7 zTJ|L)LW83-NeAb>0I>Z{XpuH-yRO-O+(Td8J0?uD@*A_0 zS)gtxdQTKNait4C2*?EF#DN=U*v<3=s-Bj-vq3#ns?VAgeJW&wnK^KT#!34LL6$>& zdI=s9waWCp*rXAF0Y!H+@QObB2kIhqQyr@S*?glJ|He;fkwsKQ)=_#meh}q#Y0*RMu7Yri01#&F_Y{+K_ma=~J=Gdi@{)pHnUHPA+Vl z#uf-A_O5KxITbI>lxVp6GHVG5R}cMAQ*cp0#ItynvKF6~icE{MIV4ct?MbvZ$$z8Y zMEK>siW0gni_K}*?l_{KlU#WO<1;$3TM?molow}B*$AQ%!}Axqne4ot9hE0L)1iNx ze_AzhcqBNdmA#pV=~@!SWjwQLO(UXG%vO>vy18!Ta^hr^!cgXELy+`SAU=WiOSYKt zFKFFiyA2e(2=Z`T+f!7#$u41&r)VZn6nb-5?TtQEGqA@xP|#As-9KrcbTqG2)gGg9 z%`+P5WnFN-wyo3hDxRirs&sm}k<@>mRe?gTj^xAja@X-%z|%VK4XcZe;4zTEHthxz zYbv6!iHO~!{3-4kEwX^oge7=e5Z2+fWN59=ihMa0t|R-Xgx9NV-d6-cJ8(_Biej|_ z9=K2g1rV|h>?M|PhZ@gaewos_djFPl@$*pxySm{ni5l@!B}1Rsgry5*C!c!m$E-Va z)Vpy`W*DUB&EtD41LH+%Dc6ecQWCZ$2T)Gs+l=VZ}aZL2@Nc6%0!*6q`L?!beLSMj6Y5sCPUU9oBlWF5lL)S=}yglmcjVZXC^o`I_6w2!!v?i%$Q3tHe`971c$ zhl&^R<*Z@Kyb}rFYt`^m-rw#uKKofjJS|NiI{_A^51EHDPTQ0HLh8%{Gs^GRJ*1ge zoK8z`b2R6BIHpgb6%)@ekKUX zG+I|e;(2L783ebz>GD>XRKpT!fNi8@amT25bM%_#`zj_Y%Gr{q8I$2?tLn8}!rG~7 zy@#|Ngn%&2sub)F{@GyT&e(QND*K;JpkFIP0nRU}x;~}t)APKWj#F{SI^#`{8^Xk`^a11>=^3^ZBhy7Kef7+^QO+6Mr0L8cAdhU81d z4eNvo&U|SBM^uEi>LJ2lk^G&1pvkCM>ZeId9A zC(TU6g?3`cpP%vv&^hn&K+~<#*D?Er71L?Yj8Fw7zm_}LlA=3ql9tnWvz^}m$RZts zp301Q`fx(CPS{nImoK@4`;;5eK~8GwycR;c$hWKci%xp=9OAHa5aDlvYKBSZdcdZ1 z_-?Te?>G!iPFO(Dcp+)s-VBSDs-4x$VwWpv+@r>6K2P-N_Wojrc9w;zMXawPTt|Ld zZ#x#_>^|$yr%qN@B}t`H)n&YXli7?LGrcv~hL4o%DxR9Zk4q#~?VnN}7lbmMG#{_6 z3Sw@^lU7+pO*sriQx>VTn3_#bbqmOvO)XXP>?lH!oWHxIG{K6eDh92HEjHLl8fEig zG{u}Z=Rdj{O@)HyQ)aADOZ27$M@!$ev!fXIOnr*m<=+r~KOU_1-u2+&_Q%O&zInSx zg4i3c>&}L%K(q7CrK2B~6}UCfUVcX~*yw+E(bas^zQRqiv!$lmv%jelwYKHA-uOkj z#I2>I{)_|i$#;a-R5w-N0L&Vs+jxU#qgvDYRqU-srxeiywj|?v9sbA*NzA#r!8yQ9 zYi-Dfdv>hgZfUHv36YkmhW_x#S`G_w4YULDs=ge{Y&g))Tnfh}!pCF|-YAer_N5Q; zt2b`GSwD)Zr|Q|NRYi+{|I&mY1P6TiTYeK{;0|z@xu^VmR>{$^-m9|ir5pu+w^qpE zoO0-Ds$KgS@Cqj2b#@z0tzUIRc^`-Fyu zHR^aF9pJ#^G+HKkGRU? z+OY+ZRel9-BC2g}?-n3&^HVkl(tYRa=F=9|3%kEwjD=gSgq5(bWzwb^$PB}2MRzJBS}lx1Vl6K zgn61P2plltF1(<7b&c4guE#zC>_HD3y5IYgDhV08rN1*v)U1VF%*}?sW7Phvki*+T z2o`bu?&I!NJ;ZQaved%Q;r--h0S|M*!-@xb`L+P6A*CHV+DFzGW;lS6*EXiz4Q#jh0SJYWk0D zW;>g#0JsN9PTq@xlVxh39q^ilYvdZaklFDwq1|7cB23Iz2#G3Q7Da?7#_F@6my>Ew zy2{J9s+Uj76}C^79{LeCzwW!4eI^%H=v}61_<1}=J-uo*Y@&96UaZ5Y95@tu5uzLG zM40tBc!W6q^TE8_Bd+_1XM}Yzj#nF?{5ZdNy`T1dH?2(=g}d)z1n62sPSrp%LF4&i zoWb%znz@jILMh%p?-4mNLt+okPzff%Tv9(jbYWbVk{^9666=Nls!}|)$~$*%`W1?d z+2#>a2%EYvo=ljxe1G<1@S1?HFw%MO`(Rvaa+^xkA|@U`pWA%P743qz)c!B;Y40IVKHFJV*E?3t{^_1xsK9C1EVIkvFeZsXj?B`1+Ql>u5SQa;t zF03Zds;|US$0B>qyl=fG?QWZa*s(NBg6_#t`#gqpf?l%;8}y1}o|4aT?{9RT@?*{~ zV=+72EMa%F_~8XESs=IRQ(&I>8-&_3V$EH2(>#Q}VFdZ|SWfM5p2S- zvuVFP@$+j9M`9{vT9*j48o*e+L?rxJ90(Zxh}F0PO=9&s1IGtE&wuQiU)OVKOndoA zPsTg3*i76PC`_TWn$kMN(U`tghdU=bKT6QcS1uXgCJKFd!U{F4ZF>kQE#i&v1kkN_ zHnoM`9>hb*A!7Pgygb$n^L!wO;=0(3R}F7VG$+}6rX2XR7q@t9GB5*mDNM}@E-3A5 zRLr?=Y72i}8kn66=1G~5LXkWZVb%<>tM5Zr#h~pZ74iu)5rv1R$_Qt!^ zNJ@gDsRU+yrFID)SD8;)Eq(lsA)$=5-=FyLwYy#Cl*Xu8YQucg>Hc=Lwr`FeC?H=b zJa+a%;P`eXiKaCqJ-}BK87))Xx6Q|vy5dq!?=(R}A^+V!BaNBFkrgN;7mCLq{E{93 zFbRzAZomze8}h%8hT0!=t@xHW|5@8{ga*x=3$X4U^l~=dmYE=~JKw}jT7H)7ib9om z9tk#@o3Jc-&XNPuhDqpq>5#wvBgYqt=#H zpq)BjWLB!Y=M|u*227#uO98ds=on|GXygNDNom?m-gTAkUZj>H8dn|>)2<)EmF+2I zCE~`XT*qr6d)in%-Y`6u5-Nci(YdNj0p*6g5vB9qhrE*0EW){VRj&C0=HS#`P9x37 zu64^s_GbmesSs9PU{LYpKvhNYZCZ13=;>pIwdF=@W2wtURVo!*zU!&XNs^9$-bsYD z{s60MtHARtkOQ>mxTme|O4>#lz3$5TOujF4qPnA|G)jT!Qugalo)Wi0jPbW#XUVv% zHg+8n(UAfg6)D}t%xf3QUOqpz-(WQKMwF+R%|gxfyvi7U3}NBeTH$=<^qVT>wF?zx z+HuSTq1$;*N%25u^N#MbTLt+S?x|V<=St1gk5qhTmQN>}WtlF&G@^I;njsF9XDYhc z>J0Kpop+9YU^Yy07*bRFHorOxt*PiJ-XA_?3@JaTgpv&uW^TmW;N`=>9%{pKsT@1> zo6BrP?d+03;k}cBg%tZ}!VcT=k3j^+p$&sR*&~gXSzOO-_yfY)?_X%7cGP_1ZGn9$ zWUo=gXrKt&g-;P4#~95)KdofAd?4gns_G{l5xX|*kVH)E%yMYA6%$gu4YBWbva?{V zBx~||#d*zjxif=V4Y++L0peaeK2d8aH{fMzFkNo#6}&E%l26cDz6t=1<~<#Kd>iUi zfdV^8%W$vC7)dVD+^w3jT>H>w)wxDS1oTig$k^GCWLc8&La(F!{6K^v+F_?@D9tOg zKgcf>KekTza`^LYKzZj;m7}lNV^KGdhD4xFFpcR$eiQ z6j|8_(x{i*;{w2q)IC7<(H@xxSj;C{X}UdSSBWwAXdlo2$RSw&{*9BBP0hkAy)&Y& zJwMyw`lN86Eph-!QQM9N56qobe6p>Z2KwRB7S-=KV>v`wqJm?lAGja~CbzHizGk5&ng9v;(A8>=42?sNSr_(<*Y+glxisQ+|j&z7z|h+{+}T;w3E zt7bRUL)+L~1Z`iuay#)7*g7xI9tfBW+YZ0bN!=c%yuY4NFM7(no_<0Gn=R$tWsMH7 z`t11HFDCVIdne)6dFWtm2(V?uAGWm=6RntN7e1+`xioG; zX^Xip%`emW`pQOr=y`Xx@Re%TRNKh|n0MML%oS7aNIU;0tA6Smz4`MKwZ3BjG+_@q zY{Yqyf6OiA4tc&V{0+;U$Lnf2rR_XF=JR!XofTYPj(up)T5Jxj8t34x*E4pLhR1y# zb2FmLq8JS))v&keLtBIz?^!M`+Jta7MJun0j>qjfxvTdaKHQcB4~5#fon@@ca6nfV zg^5>Lc|P|4JgGYm!XBs%J(e4t2tL&H_IJ{VoccayS0F9;DdAkN zO45^in0AGGbTr8S`3#St{NOH+O>lI6;RjPekrw~Y#}nVb_&1{e*^Z~x7T>s)3j2ke z8-EMFi%SUj3wQVj^w7UQj}^q*OC`f(zMM*t|L|O?-cAbR&jw~!Y@>aUNW>~87ipEs72_ZMp+VM_p<%txs`*q-!(qbr&;Cef zGvW6tG_}mMvk$_!_(aSyQ}`L+g>|K+-8z?rZJ@4vqCRg;HE}##r2l-F13v(WQNs%I zUabtLsW0QiaNZpKXvW)e45tT>933vTY94vPrmetZ5TpR0N-4Eo z@48_GZkXap=Fly&Ra=3BA&GAD-dLCbg)`hCyc5bTzZ)bcyD+?tfR*FV<;=mAI;j0|^IC0=RqDCt znCTC1miYhh9T?|hMS%527@pAEq}P(%r@qky$`$MYO&cw)KtE+50yUyGhe3u<035}- znlv0S1n()slGq~2Pn-zMj!^NP1;stP)tF}IT*Mw5H5t5quHgcduG=^KeZM=hOAf%0UB zg?3D({Bz8eVDn5^E5#YB^=sLa8=;*3xYkqMP2)^qqv znCo=W>NMH@#sc6502;1ppb(AutH+noXWRAkdHwUYQa*ThIyt5EZ%X%Ai&9QE-Ju#} z1m(w@y*=Rkmgy+6fiW3P&)uv#3wrHC%#&BGFO@@VhDdph^ydKTKLTRRP(VSXQPT8= zn#c8Qp|=T3(=>4ZMH#&JySy@sKX@3?lX$keFz{*GCYYZMCwX z2GQz&hPQLlg(J!{x>Ji@eQxJR=)IM7cZ3$V^zIV2PAo$`N#{i$r?ZcLvNJa2YzT^)8s&rkf;0@Jei_LR?a6_r=F?kDnk*_2BbW%t95 zw#=9`4K?yo$~2;MYidc$S0rr{L}mW4dC~^aw15(lDl=q)W%azv&iBD~+D@nYpcPb{__wo$e{Sbw$~l62&jGB0Yp@zr9wqfg+pze(&PTIqL(#L00O zCi!z>0GQqG43N7DW+%PT(nQg7U!MjoID)_lN!9Hof;Ii)Ll&dk17{Oryl-1>vNSFI zJs_7YUq4TjstewsO>!K%{G?g|_Mif%Btv?W%+vB70_Vu2?sq@?K4 z{K%2M<)SNe1@U7lOrr*B$KOO9%%$+#<);KR#lveXm~YhWPB(km{EM-QP4X#HL{wRl z?=l$aR!FjD+u7Y%4i=7qa-u0_b7!@0>B{Qs$wtk-&4H?bAp6xMt>NO@-;!%dP3sO* zJ-(tB-EwX9D$R(jDYpQmip@&N|4cW4xYzR_VKnr)pX7GxvL0)dVC!^>(Lp!CaK-;`oDyg|%Y_BnWblY7eGQL0rqJp3;VgH!H5+|vQ-A~PAe9ATu}kYMaclWZx3J;oSt$ zc`??u7Xg{?KT55dq0RBVBb-QhocOK@=X9a?ZqI%!%m6SsGeJ!3?Yz78YuKNus;l+= zJ_uMg96w~IMa=9q3ene)S8Zpv+8mIo|9&yM3r&&MjSjpci1qY;k$(1o;ydJyWgON; z2ZSd}%}~QlAcm#z4qKejkO64vHqCaS@vl}?T-3fNHVsX9sSY;-6P)XFaLF$rC4+&6 z&O#)f7uah>dw!1k+F}PJYhIg1LDISmNMsrad|8*gXWOsWWI4ccmH3>a`8)^l^lZnPL^kQ? z-{>>DRy$^9O&_~JUkUFFm6II(uSo#AP`u&soi0#G{ksdE5Qf70gn!)HXajn%wG`(E zgxaNI?t0O3ALZ)D8$Hl)$AGRv(k|Jc&*&)-@RRM7+xX?vhUWj}$lQJrcYE?F!9Srm zK2Io9DnauP=>g;u^LB=0*x6#&i0pfMM|?7v0J8y9O!ri5bn6PzcTU-DI^P0yAo(cW z`X^;jp<)-S+4s71*hB{iHWcNhu5_}jI>Sbx`Z z*LG_%0M@Q0P*<}_@*VphTtUKPrUVp7q36d!x?YO#nDG8DueF1)JqFu`H!Td1vLv0} zhZS28VfDz>PQ5H&xEOrOZ4?p%m>5Ksukl>^rKXW+TIn@8_-4T$^m7i*STL$^=k*)5 ze>;mc@WR8pY`cq_8i@2;ZEB(F$?GaIn8hI{@qv_LE*={jqw3Ix~0JE{*vnFyN!th3P6ZnJo6J6pcK4s zMFr9#b_Vf2({yI;@;2Q7OWT3B92Ju#Sf5#;o@le^JC^*}D6YS)%3lsrjaZK0y*tD2 z<@`7M`}SpWbMH<-VYddD?$c`TTF)l-+N??oH{hRjUk(Lpd%N@%es0h#*^A|sHqO8v zsr|IsvO>peVr*j~c*T52hMZXb(s`#Xk8y{)4G`VxJcpqMQ7LM|pC(NlrSH}SJ3Lg| zy`wpRA1(gZK!|B3*#Gn;q_cZ&{b>F6QYtTut=2!u=ZOo*kLU2u@tiyKZcYEoYwSt) z%yiMY)6k~}$eQ0y6(aYjot|jcO*MhoEY~nEBv6h3iA$yH!5yt zm89~b9=(r(_J7>+r;-LnN#*>*>JJdf$2`Dhf?F`tjQFmuC@d4c#=`YdH{h-rum&#O%f7!tu zhOhVkl;sVHTfLKD(hj*h)BTT_{lAHsK{Tx)n!H~6`l$v@ut z1UaS!fR1Zu9AN`H2YKwD)y2lTTIwW&tw@QK}Ag1?oP^1_G2{0bjQli#sVAJ9#b zT5-fK4N_B6AsoI3n4?7+n`Xt29ak*<9!n}(+$A6aulEgNIaiK+Am8mpivF{=hPFbM z>>jW!-=sJNwmUjmfwKRls(+GnE$^l}`M%p%Ucc$aqrqZs+MSOd(q6>WMzm3R?1ne7 z|I?GiMgsNmgxy!wAZm0Gu($N%$G^DiJ_v+}t3#=Q^R=bY`_*50)7}s1KJ4dT*KrfX z|AQ?4nR53eCJ4sgPMF3#e~?@1=&}9L8WgBIFfbrtP9(|QcgL=XqpYzZht{Jv>1k@F zgx!COpeHDl2)e7TKX7}s5XODP18bjH$v=LIq_7XNA*y@^h($X5P{rQjP0k1JUJY2k2O+$kZ+QHF%0CXWb()UlR zfa||2lPy#!hTeZR4B&M1ywwJbgkDmT0_z>R!_aAVv^>8(1doxanPRkT?6ElkX_WR_ zcig}~oUS{A{Ks|wOnJa~XS$EO+;wE{dNp_K`X9Ga7y-|!Kqcnk-PP59_wzf~hY2v` zC&vhe>Z9*Ea{nOP|NdW^QNVuo9c`*E{_pSqxorF|-#zJWXVN9j39f%w@;lDvpNrT( zzMG^1tNj#F5tj5jn*4wAXsEc#6M$YS!rOwNKjioy9Qp75^;aVJRL(kDC>KQV-~Hsj zzrGQ6JKuzv>Gs@J;X54pgRyt6f3g7lHq(ovul9E?|93yXdtKx+KrfMl;_c)+cILk@ z<$udZ?pJ_tDrHd-D*rL7|DQd2yCVrq{!E!Jl;HmhP89&cnXoyU*ZvPv`hUXbBWZwM z$DQC(~(KodH+Bn)AI;n7eco-bE`Y-?WIEkmEwAeVCpsezV2Nj%;ml_8HjHJ8OW-F ziG7Pq9Enx(Ipy0Q7Y~P%SBamceZdPKIwj+8#ZgcGcxHF z^EJCO`~h1iHlg$;a*W2QUkiA~$8CK8GT1ol!xrOowhwY$8_W=DspD}P6lrlPrOQTV zMh^e*pFh&{udNYzPeOI!YXfobSQwhTPNQX|PFe2!2zaDbA)Mi7emlnjpAm8Ac8yLg&(cCu#+e#5j$(#U^( z6vy9)jQ3?}^}FfMUk0?)|L*Mn>Uu2gYZgzxZ6PL5zRBpN90WQN`vI=Kt5b7|30}5ebtCE6V1;j@m!k zHs?a_dTt&2{QqI^E#IQ-+VD}8E@=Ug6a*w4q@}wBq`ReiXoisP2I&^1yF+`&O{~q@ru)pkYa~$_EGi$A@&vo7B_4WT>`2Q`d|Nq4QKUS6WZ`Q_nQts|$ z%1!!z>8pkd4n1LO`-eFt8P_(S6%kF4>DQV3(cQ?T!Gi_aV)wacf2lYnpx}Sh{|dbI z_%ECGr5?va46}gJSSSLPDV>%#*alb4)47q#xZ5Y%&sUtO`jXqE`1cA-|F;5kE}!FD zmG#{rmgLXd6k*N>dmIe4CY8>_m1QLk8zd8^_dg28r>9&hxx>pN7xP9cCHK-^&K<|>RXZ(*7 zE#XB?2wT*Dy|3}Z)n{7wvcF#aL3OSa;7fHmNSI3h8CRgpwU58;`io%#ZXRs1KS}Y| zd2|f=3cWe^p#_&>@(aPf{N>1N9{)KjzkgOHY|84DttOC`5yw1ZLG8$Y?Gf;zUbbLQ zpb)f$vrzcgcS}J3TUsnvrkrlp3rJ1P(w1cG$QSopG7|T$kW^vQZPB z|D#H(maf{cy#FjU8?{F1pVKM%BRAXGRojwS@(gi_GdqQys`Xdi^Yq$ja(XfcRUuo- z|IsJ|RnhDZXAi(OatsO|NK~XJ`e&I%e%|snx^K6|9-en{X3ALSr$x0(b&|PLVQ#sF?ZEp zS)DOdr?r?SUr>A6=+KU}sI#6vOZ%WFq36-A)LW*`(s%GBwfUXUS@eHI(D6D@sCerh z_$@CxpOK=&0qpX3EK_!^^u?bo84f2@UpG0&o{Z{dd{t4t+-HhydR{!|$hz&?Zvi@O zgb$|6!l@IjBJBqQ%cm97SiF6l>M*YcqE-T(|NAe#)bEY{)q>CkYn!P5ECH}zwSTmr z`i~ZEu}AXB9hRbxz+T(YHhZ9TWh!_;q;8=d=>!CWZ&*Vz~( z3jHeuSzC|QUxA>_rDW-I7^{rwp}>S~BvnxVRH?gau|(_#nHC)UY7_5+-FTDz-M*n3 z6pAF%8U2h9=+sJbdtB|sQvJ2NbNFBDe4qQjO)NUwB>nYpd>RlMpvvF=Y=XkwCej(C z*~t0gxxhX3`F@K}Am)}POMRP8a`D5+c4XDGFNnuUk=E5z=m+6{cHzev{jWswx$a=Q zW3h9W03E_P=Tj=D0yLeVp7r~HVcH=yy^=9^o4AtGF|?EG1cs`uD`R~59_W4$WN`d^ zT6WHax%@BHE@49qE52l`vf&04W*UoA(;MoR|*NnN* zmgX1nwY%Ym^4%@5b3xA6^@3IjSSZOuXo5d1NG3zJfFVHthyME2Mg4CBm$#)uqX~~| zmr|K@MXRxO6_y80HmMbpMYm+!Z&j-H?(0pK^~sY8l&SD9=Vg(xNNFaDjlsGP`m*0l zd(GKRcKayeS#*vpboKI;*a~AJzp5 zy}?SOkxG=|bF96dGv8ec<$9iPR}PwW7IPo9*0uH49j=K)vDKr^g3Qpfde^+ONoF{@ zvchs)$x%JYqvBD9G$w90{jC6a)c>ZoJI`1$ypoyR*Lk;_ZnFxyD)w7)Yinyyu57pl z%~Z(ao*LJ&!6v#{l3Uhsn?SJrhqE~EDZ6$StA~4%Ys-Tt?&pd`10k1-aie*XTx0X5 zAQ$FTUe!Xoic0J2TX=kD0E#4s`X$4EVjley+Ted;R^t5rH1gjMZSeo(?IHxuTr{*&-0hxQdAz{N&3ozuTKj`uJ8ka2b){#~6#H!XmT$WdwZEwMBNAtgA|W z*k9ZI?Q#AjAh_TxDwip_R`u7nnDIN?@us!L6ayv)pLv`L?q*pdYl(3QRKco{vmDGuhuoIqUQ*C`C|$wQ6_KgXJ&0j1Fa{l*6{C#Fp=z(AbGrepkOex(Q9~1d#kJS z65+NmRNXizQ9Ai4^Gm~0^FsT1N0Y#LyF!!ndMLMH1QXl2;^#Sf?E5-V4SeV3zqVa5 z@$z3OZw0Yr+6TV%VpkgUEZN>S%UyvdR+`27W(>uVj$*9#XsnJj=X*dKl!|i^*_nByp22iY$F79ANVEixSA| z%D(u^_}+JtBNy@i!#x1jTkt>Y{cM|!^>?MDX8Xr_g@0S`^hTDx>Py+=f_$ewkj0XM z2|GKMu|U;kij0Li?MXJ3tET&5xP)e&V(Oi(ozs)Q-9$Flze?Q&32&9trQoL|9Fo=r zL+*Dil6G;MUii~fl1HA z1y1SYzoj|=l!1Rl4!N!M`}-kG=#R)h0U{T+d6)@zIq6`;n)v3)E2^%)I;7!g;L}~k zvM>I0zC~v7wn=#L0kcR}E7Pr2_~E1)Tvax(Q;_?Y*RSFDH%V%^tUrKVn*P8qlAZEZ zI@mb#FwXcecB6blc4}g_RAVt|va#gDoG0-#;Up@fbx)_bAiUtmZTko1sf~69-Nl@M z>!lwtJt=jSKdetv^vE|c{MGO8cqZ6(wWVG5UMIHR$lTU)CKMdDy)JHClF>8`{DAes zAW5~#`r-wN<2gp^>F(b)_ zH*@DgQqK-&&tMR_`6W@n*bpX z_$R^5*I#e{s^F+J*i^`ZDRTsXffZ-Jnp}2AfyG3MQV`k5q3ItsOC1<-;v!Y07M-nGfEEo?}s8wp!;N!oO%X&)??k z{?}X>1^*RiL!MmcRoA4s^txr2I)E()6+Bi%9>L zo-*K<|446J!AkpY>2XH=Mfy2%pV1O6W_|2Y`HMACo7H$P%$H?PZkPC>6su6S8~d&0l%ux70MqtZN_uPcsL zb`1b2lLyKbVsKd(slTym8T9KOf79N-BjvDC_iCug|Bp>|p#QsWwQ+gfM8(_VK8hi1 z!ITeUxD(B;b|h>DzBP7B0=XYxbHIf$-C^5pnXA%E$*2f`?ay;P%j+c6>t?&?1YoC; zo+;Bc9pRWsh~%7;8XP(W=Br%V1EiaY3K_iOoS|xorKWl%}m&CVh(uHKy_KorNnJx=9ghNhQ~Nl7Vu)ifiPip2>PnyaGUNH`XKuV0E|I$P7OgUx=kiNlBK@;mrIbt6=^|TP1-CUyK?u@bRKeB=}Zz&Yi->V zvd1)}V(j}L3>MZXWdMoUY5B!kLaOCT|+k~?{oma*)rSy#$tUx)iW&|LSbt9+Giq^KQ zEc3$~?aG`Ft)1gKM-HpC3vqU93l;BO9RuE-!6v-i(2tohySDf1m!6%0OaP|)MQ4zq z>B7F3K92h1w zSVP2zo2K+Tx@%zrgzKLxqN)TlA?9AQxxjw@OJa5+6yeLyWKW zq`7|!OOfP^;da+I<;)l6vnczD_9ezPnJZm~<&OMYQ#(07* zNDW9AGGBL+&VSPX(s3&%xOZY8mGhY(`syZtBfUJswnoid(eY@#ZR>bdJ2}~FQSNDt z2O*jX83|a5=45|rV1w(WtTaoo0KU#j&VGYd?=|j`?tpd48?b{4+lcznaxrJMSo^R> zCy2(F>Be_xT+z+?$X2@h+_0BF$^oU9BKMOguglJda@~3D16ps~EHhw`SMJl1M!TD{ z?J5I5D&UAH?zbeBH8m|DJ5`9kuR^w80W71R0-FoFS%|Q7?FbQB+V32rt>bo0=wEt$ zdCI#*X~OEBw)5QA0B7h6_n!d$4k2XAb0^aKIz6+bc3-rEc=Uv4Z|NU1sl(&wOfrL=il_*yV(x=P6Qu(u1~YzI(3U4 zR`pVAH&v!XEw}0_D)9`LeS!~_sqrBhm=jB2m`$cq$0L69*XT4)X+ktmUfBCe`VM_a zurJ8T5w>kye^wdA;(67HLcs*^@bYsR7Wm2jqwM<9oEX458}}9U%7p1 zgx|Kq!=0q0lLm^GoP_b|6bLFh=mDxsr`8YGwC*{jKj||$*w(KNglMGLI^5O3a~4Ia zqr&8$B#W(^*DAFdSJBwbb)FWpU2OH|m^yYOB|7#$vl-(yoogY3SIBLQ$PZ+~)cW7_b|%CB>(U#8m_+`>nzigqx5>eV!?fa4(sHWZ^uMviBNPemn{0BT)6Dr z*Ng}@g+}Fgul7L08PP}G0M+{E+16<-tAXvJtjue&TK}#MfF{15z|a18QxMLB`{wG0 zBt;@{-XN7evoxDml4LF)HnEChU=FADw4SF8ysW#OPX03uv`03X#Rkk2<>!65P~THW z#JiLAa7H&~Ta!ouxjP1#4HMt0{7!4f(ShrzSY)2$`^tby`8GHUEy}?Ms!g&Ko3xtm zHiPbA|6Ic?&3mLc@7tVp6VEn1f9A!AZ+@QC275sVP%OJEl&n7cQdV}+n}{;+Q+B4) zL_^-lNLzJ72#<|=slBP45`FI%6Z^C0y} z2=6xZjr-X*VE#lSWp|GlmW}X=$W64C{Y~OV3_v?KU5$2BDHiK1^~4u@ANW(WR!-E< zF>F9UfWNOwxNW0ML8Q>vslseyiIN-z`r6V3_X}~^`;C7Mx&IR$TWLa z1X2m=$QA8ZzcAd-r_}kMD8V1@*VCOwLrV>A9O(R4DBxGY^(0*nzy#GZqJf*p9Ls7J z0LRd)>Ld3w*}sHy@0L`*yWkIFpZSjGK-gh~-~9f2Cw*B9z^vjp#(!x-h)oTSO?)hg zOT(DUcIPkpWP*r+4f6reD?>P%@(N zwzq1B*5bNg1K9$lq8}RFy)xuLDsxyIYw1oGj8Q79le3Xkhwc`5$CexKSank57nO~Y zVF=%6WP2)&wB63xT~44@SQGW?7q@1<(xadjh%-Ec$2fLaze29<794t}+gg3L4b!|y zHC0YMQ_9<`cMsfab=bzGKD~byWau}F#M70?9Z;NbiS1jp4>&>KMZu~}+40#ifm>_V zycp&**2qaRU6mW*54Y>rn^|MLa-q7K_FLHE*{VR?c!}l2aw{6Dd)#Eq z0HrAY90-Efc^5b?Yw?g~Xw_*HdV%y`*9(qeypW3HXE$Fje6&_pbkL&7>2>#-!A=gs z&no}P?WmLT9?N1 z2-=mg5XLj?klw2hUEmryT*9KH9P^^j?(l1DW4Ji@S}E{Fjk`l{%+v$wVYJL1dY{B4 z0or5PyK|H){SmaRV`9{rfnknIKn zzg_YSBacOh3D%;Xk7pm{?joh3Biz!5-^`3#5=+sY`l-H40r=L~$1s@{wbX{9g0IBD z%#3AEG^~w?HY4J7hwCCaC&B7>-7Lt=Z1fGR+$v>_8_%QVzQ5rn>-R!N!ziH-e(76` z5|186hL}X7Nf(!y$1&K9_?@{9O1Fa_0h%ZgNRN%IE>$q>nJ}#T?dy@; z96i$_E6}{0mHcMxmtU;tE7o)iVtG_k@T@73wpcPF&f}Si#>4pwP>VkPY@p#XiPLk_ z!I{XDPW8x>lLQH;^2vZM)qQcFR!Bhvj71)gWrH>yxSn|@SgaI;%^V*b&Rwu@eK|GA zNbz=%!BcfGlhl;-z06*iYw-Rfvcq2G7YX<9AlflM@5PZ#Yx)N;$tMNjvft<_% zg?c%6R9FS|hYLjL4J|XNu7B$pZCfcT!#Yc#1oAHy3& zWCs$0Is})k&s+BnF9Yvg$}ro18!3yh1T_?eZ`>?gK~MHUGTYp6?9D!}$Z{u;V|*@1 zuFQDz7`d_1IQC@}w@BT*qpaP+L#LT9r38eYmGv?`)I<+lM6ojaDx4X29IC}Fg!+nF zR#e##Jw{vp)yL6313o`|(ICu$4*~L0$d;MXYcZlvV=ImOJa!!(Vx*4%%F)vux@zLX z=VGC{4&#%cFd;)+An`*RqyKHd^4#L3iT?L*;I-QMcSA+_CC1TT3O#PW3Z_vXM!!?3 zTQbcOQ=#50fiiS(okl{^8A;_bmaVb$ZQd?juSCCek=KIrQ6mq;*% zzKC}}Q)PeQHK$}C@ga6@P=!zRlG^QEr(8v{mC4%+BC`35bs!k3q2IW~G>nBW=tnqU z5xoT2_Ka}%RHJ5wz^1(x*`d)f@RIhprc+w*isUDQWZ4Gw3!mAl7|hgKciv&j>H#NYFfv-gSHB^6-QB33=N+9Z3?`=ioh zG>-i&gyI<1n=D`Map#E=p@b3Pw#?K|lAwv1Cz@ z-w#_57i%bSraH!UI=06=4lQ}xe$~VJnIY$)N~xWSw$oY?7)J0;I29Ey;wAE&l14)` z(;NG)jaQJBK%zB(6z%-$&9)-sHQ!!^XrY$+W2R@7;TBf!Jwm-YEPR1*^8ORCmt+WA zeH4mdB}NtM{bJ!Gf&H3EMB0Qld1R{eXL9UM{BRLY3)5`TTY{DLa~6s+J-(`cBIwMI z)6)$65(XSwB1OQtM8NpAr4ZVSQ&1%zp`sv`)h?QjtO8!j8L53Uzj&~5T%4I~I zA5mk!vMU{@cb;=%>&M9No#-ox=JlH@{v2%2vW=0z_fj?MLtOyw?C1LC+xae&sKi-} zVVArm>r0%rwg<}`uaiz4O*Tj>m5XYB2S@W@Kk!zZVxdlG3=f712zCd*Z7A%_3;9*r z#7IHLR+3XT8jAl57*}};(!skASu|wt4I(>y`daHg`mto8V)$fvN^dOhUS&ERQ6=NY zL7{r@t%@zhn4d9;x>^AbsI97+vCtmpuz!Y7~9tHxivDVO)A%AWiEI&;Y`(y(RN)p2IP9@wG|V z+vmR^jn@}76pfh)uGWP@y`3 zo0AS}uH!Opz2X^th;Eba8HPpsJ1d#8JdX^|R_CP>ixO`2>!gFRzK8cl>f1QYj)195#5lY@<91uc?-+h_540Fv;?)k(UPYdFJV?!i@>S)1CFj8}F> z)Q7cpaw#q>6TzrJRS%aa{u5OE_5c{~F&rG^o{*|m!7M{X;AHP7hLjq%r57Svmi?t7 zvgD(5l~SV%)Wvm2Sn%;slHovtuNWr|t=}&(@F)6$F4~A#q#@J8&Adl=#lE2M7^Go} zH!Byi1k?$nFFeHT**;Q)toA(l9~S^E_$%L_Fmm;z*;S~n$(Pl6Ft6AF(#%JcYX|EX z`F;f(AesF^M!)9}D22Bp)*q21I}ojHXO+C_PI*dfB9z9{wFpTsq|Z~5VcAzTQny;F zoe-dq;O@o7GnbL!3$$hdSz743z$|s~x_b4lNwYZm9n^oycxOmuO%1LMIPs-Kh=J`^ zl4bS=BQ30W-a6Lif0#3bxeuRnfFKSsye_D(z~0B(Ua1!=I;nzosXr7kHLc#Ole8KN ziasr`Qhlo}@+8en%0Qoq&hLD0N_hJDly(sC`5OD`q&ea4eMTJQMWZE7^LX-j+TI!L zz}GBYuG7}Nkd*2>UTa{9Xk%f+OaGJ()KA4oA>(2vv|uHa0OuHa;xiMMSMP?^O#5WseVQl; zvw{2^xsln>b;@}=d?hsK;lica$SY;J_(Xa{pGh^%mbF!pTk_e@>7i3a0UB*@IO{gA zk#pg7u_;Er;e*_&zLYt<^qXx02~2-?yD(KmT+6WJX8Tkz?tIB}AZEldEB~18cJN4F zKd#vzlXj1oW{QTEioVinof_;AO%g28XL4gJb&dFdN&MbJpi|^3dJa@MG>2(2)w5Wi zn%U47Lb~R67_saINp&9BfczLjTSWalJ?^dFaKZ2Q9J;Es>2`PA7YIkqrv=$Hi{JDlWx_8VQep~|+jQ|9}jT?7jHme%%i=tRV|sqCLubdQC!#~yp!iAvv@nMgbU z_{$0sCT@CHgjh^V%KqQ zX~E(-^+p$^m>0o#&5oCmf7+ZtSFBCzOvUh{$Z@_O+a2urU1kLX6Z$t33srleq^)(y zwTJY&5cdM}kSPeeF7KhE+!hC+B?=;yl$h7uRkUM((HplT14Aty$c^&oF5bu7!lP;% z8pq&b%$RI?3;_kUap|lf$Oh@g%l<|S1cW-n?;T8HFXu2sDK;Ms`)C}|pZpw=^ajAG zOXaknsa0D^!`vu46Ps=d(p(Wa1hh)sESYv`4pASyGm&n#KcV5bT%ulvJH>s4 zX5=CT<4!g#e|c-p$SpHkxU%Cel`;7w zXo8E`90WPX=r{XB`7Q)f({;#(qL7Mn$L#ES~!z;wv_x79#v$nb|K3Xc9}ea=B= z_6%dVfN53dvg53qMx(Vr%lB`6_w0Q!4hI<@4sASkMv$+64FNE@>Z@SuEEZVjk!{p- zSh^QGL|W!m%BdX3q@>T8i_FGnIq7d{7MDTgw#v6drXCLQ6rJ>5Ek(qz| z-kP8-5J!=6FFu2Ar`ZsJg1*ZjKLf8Er<-Li;=sg)+W8@A5V&+*1DNQK_MT^wIKOOb z25wu1C!+m#Sc5Xw1r@FEn~8@}fC)a=-IK``>{L>?%r7`K4tJQ6IC8+!JsmDV%9EMXx=O zsM;iLF{)nAS$z{j0Y3DfQ`lh3MBB5-{kkA^pMBDzGG5fk1r1W#bSyIH21{Im^G<&|SjlWUeGH;b0DMy5q# zqw{gYssq8y(aQv$XdumzlG&?jLp+naLGz>AO2v`7GXdAH_;|w>Hp}7@$@P&u`W5*0 z*ACEMu$z<+FW{zyrs5Mf2ZW3@)MvdHDKyx7ddCQU{l=L%?FWHT_=pkyTjbO!;!TuE z2Yk$c(LrY?>2ABC*vA}E4SjxslVHhhkFDm^->B5@OW#Sxq%mG=Z|k(t;Ac_ zp5?dzrI|Or;hRA-`x&q3%R3`OjnKP%3BcSDkRCk@=t@y;xe?reo&BjE>Tx@3KXMfO z5!F`sayc7N$@+g{_qlUBJkoJN%2>?_CXWM<#9mmB+#7&z*;VaL{SuLrPFHlSx1_0AuZ?P0WA;Gd7JPQ4m#SG$j{+@*^aXw8R#U7<&AdB{Oo4$j#q0S z>vcr{4NX=5m)b#-y&DU7Ux<%s)hTk~h%aLj+*q|vFac`XG}}@=f$(|6BfUE36n9hl z_Pm!@TgKRB#f46~Ym>q)viL=9u`}NZ9#uGz@}8VArm|?muP!1QFQ$|O?9En2=}=v6 zDFfI`pExXZ0UM#mPw_+E$PM7+%XNW^o)-3sc7BhI79ppJ;i6;>WcbScEM)@86irzw zM(DwJoS?f!AvXnO%BH^2t&_L!_H5d>vj)s!#=PVvvak6!8X&F2fXB)E-*09?+F%hSE(FF0JpK;8 zKM2J3{7Zsfc9dcOu>irJ<}$=Q@WJr*wTiM4<;vO+Z9Yk_6n1=G6z^9}{xd@A(KjFc z5mz@-jHA$KPp?8%SV%BLh)q(GP{;7Lt*E}Pq*sjsJ*G1QLQfP_AX!dhn|4{vhml;1 zIG|E0xx7$Z@g&aCef0Cm;5T0#N_>efCs>7}G_+qWU49U_&*W^F8RT~u@OZd<+WYoU zJAKY4r(C2E10<1G0p4}UlbOeiXkm9hAh!0$l>KU1D1MF+o8BUO^>AeEXg9xmoa_o| z?iNB$wND8|>!sRX)w{hlfWB#Jy+W<|S)mDV9qv2&cpO|h8e2uQ=Leka=uDS%zI%Xs zAI z_u#`>3PoQ^8v~6obtCny8g!SfbCmqeiP9svw95RhIZPR8nYOXT1i_z~v=LAWir!cD z)tFq5M2H8iap<>Q@1PtW`B{P4C%G?T9v2?`?qBrgEQ?v_eaqFY?N}y49)DOrzVxin zNYva|Xl7(|X9u*^sH8Oa@c4ZQsoJG5#OUaq)KzabEE|$@8%s8fEQPp@|8UyvASXm= z*pXpfwY4Q3*s1JHUfBH<&-qEZ$QF{C-FY%&e#Uw^?7^1VhzOxiuGJ7_bN_lDuMg|; zhuKOkOjBap(3WS~<`siIZAd4f`b;iAl!6=6ACWAxsbn>>%^*O{e{j;)Dxh+SpD3W+ z5U+41FmcShIU_fNmr}OTk4So_U@Utzwvv$^=k-?>XOA=sJ7ADxTo<anysp&y~|Z%>{rIZL5*3%rQ)y+Y#xMTK>g*OsgJ z)6XduooG9qtAMw|I@Abu9uqG={uFdBIoti18|W4HmFw|O?~4SRXzr!@A~(Tn7KnTI z#>9XZHc*q1FlyZ{x;haKc|rs(B=L-h5Q&^wdjs$N6@nGJ@bd0%b-izW5uP3$j^5Q( z+p_h#12+(6b=ALSRHO-EkUF#IaO>JM3Y={hSpHZ@j;7|`c*Xd)QM&m)- zt7t9h?iokEbb9f4?Pube-t6fQR*9ChdX1^ny%FH0I5wuJr9hW^KSRE>3Q$a_=jiK}$Voq~jfVWkAqUtSoKd3;s^W(dC0c2{{ zM0b)Aicb7jncw&9w6h=sl~6^*TQ&h-ith8GtE^T{W8r=x0ncf;FQi0zr80{C?d8#~{ z(^EAp)MDEGDV{X%ON*JE$Dr*JvN5w0^$SlL3xeQPW z=A$B0Dj|j_OBjk<_-zF`4hpe`(QQ*wDQHT|>^Y){4s3{ZKk<+A2IdyJpHjxlBh$ul zI&V+(gga7VUH&)ZdW;hZXwFzlDBFft?u2N{P^0#TYfP5SS&XQ8&KnpnTdxg&sI{ zXdCQ?n2Lq={7aomR?e3kx29sB1#7iB1ui_kk4@cP1ReR^ELsp!;TC30n=!B>}$bKY$`DU~RFr7G4ah`Z<3uqQ?|oil1@B-Wq@1C4~5snPZt zl*U*}qmdq!snk$OeG^NW8-DLI0EUWZP$_iV6|2H8?IeizsZ^jqCgx5uN9x1TWZ|}Z zVIJJB;NxT)@$M6^eY%EW2f~wAag3G=bhA>^x;T#9Uqib9Xrfs5f-s}lX!NTp1a@P*C(EDUI%cSfEsseE+%Gh>~YcwiTJHcs9&lG$_~6cZH{+8 zw{5ZIZ7Qg)v|zb+k2iFB@UA`SfK1wu@U+Nrk{h1U$GZ7>iJyg$?T^Y#hGS-l|)OJX-TKFX|}76h?~~ zy55K#*;)?324jzC0oRB|c0$OjoFCgpyRoPC~Vz_=tE=KR0Klvsp?IIA@Qk9G42B6#xw!?V{v;{2Ho;*k@qpk93pU z^ThF;cc0=x*hJS|GGQ<@u+(=%ewuAgB#qME&|LUk^+mZXo=KLAQH%{b3`v)ajCkcC z=TMvBlb-qR>+ZPCSaT#k6h3rPG~EhX5h3DEDk){j9IHG;q!Gm0V4p5$3RGb`D6X(k zk-?hY5%~)F%iqYlY(2x1(%|1gL<0yShJS)cbgj`W#nK`;vA=J%pv9H)Ch;fsY{d(jO5lxgs$tRMR90Tq=HiWku}TXGS@P5jbz;KRkQ(zeK@0-&tgBRP}q zbtg&AmrhF0kickF5F4e1?#dv z2cr#a-srmKb?E!bnbvm+1EE`uH zM-&Ehcw)%KuU?1nghAJDCMa8l6RbmHh`VlhP(e=8W~CfuxSy0{%L0w9g~;!Nt%n@~ z+5$$^KN=B@F^{1LIC^2WEV+Z-CR7EJg{fuKCf zXpUlOSax7VeY*d0sUUv>(fP1iKF}KUVo4~KE3cm>zH_%=W}+>YIb!KiuG*|4$8lgW zmLnWK(Om{_o!PpUx=GcPoYrF3H5eXuob|LvgB

L^e7XgcHJ4vZ8FKMQ-%W#4ert^(Zk$UP~ePOyf?Tq_sK|T`4(_iwTL_nh{!!402 z#3gbVS*`KFY~nm-$#Z@07^m|qMf+$>lRx{``!dTsvSEkK=ecv*RaZgm`#BT$^{#<& zJ)l7J3jc{v5oD6UnnYljLrqb4lj^FJ!E>Gv1s|m8*GiZ|dGlgugBaaJFYX^gJQ7}l zD058mvb6%fPxtj(pi+RWK0rZgm1|rSnwYeFA(lhg)|1Fm)=4eKm$L;KuvAWv z0VzRF^e=Qx--LSMAmJB1^O>wOc>Y)vAJvJ^f`0}osnK`#x9q%T_cbs9x+u;bnq6SU z!#aH_J@b*!%06h@<0#_JhsU1kkJt2Q8=pnIm-3gwu^7&TUC17Ab>l{09nhr`-Tiuc zAS%*H9}09}kUha$lOVNOQ#B3MC4Lbz#}?={p2n?B=?1=%&8#h^tLGfI|z)WLd5#&KRYIzGLgaeJKsUw4`^D$M2Rx3Y zk~{Tb1j zcKeI%m0gC8w|=Yn&vaL@#Jy%|C!?W0cGC4vyH@s4JauIA;*VP_Aq7EB7Q zSJ-e)KG|gEJJ$Hr?XM`i>oo|B>mfF2nB>iHzW5$1c>B-(@7D~SLLLuy8|R-$SbyS5 z>^--`tkBn2Wi(;-ylS}s)!2P@GaDOcn+g=7Y%9{!%6Uc`v9luniy@Z8$m9xWFi%xKz$|fw>xOgbEUV%Y7 z%5&3f6#cX9;#AHZqNjGWZZ8#BDXC4`b9_}-c+Ak?xi`lBGrq`9TlI<`XlY2ZB*s#2qj;l00y!EjH4g_tXZQ%6Hn^ClmYQrd_>Fu_T7ze zX~;+xs7V0ac4nFG0JAfPwVZhSEG~@1}a9_B6F@o zP#WYINJF{s>K0C61^W?M!>1S>;wIr!ME6^B(G{&<^NfRy0#B_4Zh}0?5`@)jLy0I6 z@ig|M(o}jcRHiHawkdol5R9u#WV?DL#xDc>hg&nKAjEdP0#sK>ajE*_OC*OqbzQ8# z?26jG;+6~#Fkyf@ z;XZMFkFXi9grX6z1lrNe(?z6&xrk`pTA)LgzXZVUEhHHQ>XGO0N557}?c z-C$H6F8pWMsUV+UAL>*c@k#F-%)0 z)-idWI-tEQ;NZ*lB`u*ILqS`A7RV$Q;&I7n>GMQ>yfVh}y^n+3dlZq4a-cVoSa&0?=M@GFsOtapIlzDVCP^%7IikYfugi{rWJaSpU>hgBN!-ReR+boEh<%Zk)yIx+c~ zcmyGcgT`fk&Z${eDq*!R`m&Avj6=Qud#6)>b|CzAJ!$fMT9T5YYa?DWvI>sGp_f-b zm#&e&6eJOI@PFR@Pzt*-&1#lx9IuAY%oYB{^oZ!pmCHR-e>)DUrBj^7(9mn=ZRTQ%U z*@v+8kJcw2zNZS&^~&oUh?_uDThU@!+NL|N&PVry}?@>=aLs&WBnFlwLtlZV1uB&kx5#4__AhMR( zqq`yWZl)D^hW12ii_7FmhuV5(5233JX|J&T#X6q9OGuQ2zcuOJM`xWqr1UiCNErYI ziHpt<`b|p$BtNf)^Y)@Eye%PbSNgOn_o7n;7vx@Z>9gLNwCNW&d04m|;!BTc(u6l( z#?&5q_K@0@!#5R_7peHNQH<2f+4U}axxJ?d&goY9y||pvmJS*|`Rcfc?*kBii0mFZ zI*UDQ4cQh2iCfFN`F%GFY0X|;XW1l#3Wf4vmJs?Zm?@$AvN9J0c3|GJJrnP}MdPmX ze;NvT9&UC%R~IOBZ*YAopx0 z{b=j=;7;PVV4HF7iqh}`tHUd4(Y^Zngk$$RJ1`jcqS0S3LU({8_b~4zO6=mi@gA?6 zlVF1+ct^T9nif%d*XlWl=K9RrR#$izaIJHqLfk$IG+VPk?xpGYw9h|7a6Dw+p_^>= z2*tX7x*;fBDV-Arg8rg`+4s~|e($fez5a48g4=wgWIRcAg}U8!)u_{s03&9#EN<^K zbKiJzHE^7af~E-tnjcJ@)<{>v@S1hr%GkAPT=cOYP7kHd6a*~Vy{pc!enYJdcZzK| zXyk3Y@TrfO2hZmWe?lu_oGwK2bI!fHoX;qdFSwV)mXXe z!6O&LcY4l4n#%AM($u9^77|tt6}<$YrNX?fk&y!~FKJg*dLJct3T}kWR~A! z=`85s)uN;qhuJdmEP*ac)E(m{M6(B!{MaOseiS>kkMNsUPD1YdrZP7($;T3hwFV`8 zrLacNwl6LlnRJWUJ4_6>8LIe+ zd+;quE@g~wG~v##MO_XwiFPq@vQ z-eWjQf+&rEG@^7fLRvsXx*0V(q@|@LB&53;N=ZofNa;ofj0Sf{4&{GI$lqKZz<456(A)8 zL%pA|WoK>jlz|6p{x9rQqd+`{t(8yer7%P=L34WRps+*CGB-Tw*>BcCn@nCp;~+)? zZ7Dz^qn*(wO_;O5Ua+FcMn|XB##_u9XxsMG!*)wkorlY!+@yY%b z)fISDKu+^v{Dt^Ukj@mAUkoVR{9^zx31x}^v7A~fDhU8F`;kY03zDeehbh@pdVPv4-EQRM}rMY?!6>2rb^+?TmY9(h|cA&Wgk$_#RGFkA7qouQ31nNifOS zK+K@Q-~<16NY(f3IG;iV0{e8ierZuzJy`zKLqM;|%2T?5xdExT4F1*g^>OCkTH42r zM_?v?s?O~fdg_@rT@1J+kGk0iBf%f~g`X?Y0uv~^N|{O2t=eCPlCG1=9T>wBhJP+T z%^Vy26b2pDo&2RK*TQ%Dt^9!i+qh1?>({|2&#hl$6s)zxN*^ANcS*kgb{HXSk-aKG z*2s-v1WYRi7190yym)wS5W~R~$anKTj&@g+2Bg3^(3gmbxZ?7}hy8B|v>q&<@sSe| zl84>ys3A$yM>l3E8{*a#&nXRVLZ(2Ffuv>pHog!8qSm;dmwi;tX4Suoo#QYGxYlM` zoDqDLvWV!(BcP-~`%X8o_#oa9l)W=QY-A;@i9UVvp{43g&kKnzssYLV7BzcB+EW~I z#44r9=kD^5`$tjHAH?yUKBV83@LEiNT7?<$ik&tTIsMs4dX*4wzCry|{I1#fUaE5F zi|AH3wU3iqfn%FY%aX4J^s<`58#tN# z;>-cQDMJg7My#{}sK0ZboK|H+c^-pcC{@4nEl7O+;|DUl46mv{e?1?cAEs(etpXrQN8 z2>6_Nja@L1K_KO`efFNJ{e4SLy|TOBhByOv8g5=LcU4FGptyaHXDipl`b-Z{*)<5m zZK?lNSIFt%8>vfN6w*7R{PK&L(KWN)|XQ=h{MZhKb@9`gbZ0zI~luo?{avDzz zq?dPtf1LB78_a1)GRQW$I8!PcYKbAAc|LM#TfLGgWRngw@9ch_O^8c}VXb^kC0cYo zG`bvc-O?QQ%t7W79zBmSZwx1eyu}Dn^<6QVv_D}1DJYUgbquDx)8|Y>@jIc%iU#xw z>eL(WD7ATo1M|iiEuM|i^Su*py}&EYL{@UO-hO1S5_li-%Ibha-U7CS$Lsg&z^cDZ zoREIKzWGf#hEM+$!|byb<_mMR+fS|m8b86n*w(W0voK`LQz0C?Drv{v1@(JJ1M`8o z!#T>icXN(07mJP~2TfAMA*wZ@74cp4`=+uL)iQ{f?!`5)1NoaLH$0Z;81XnNK);df zWqcAN{;#U2jloKxajS>X_C`5=@@eeF55r!_R)65B30^RM1>3`^9XKq>2|Y1AaOrI* zY9}BG;+lPq(OEy9z5dnQnczGwf?dW~bLliG<(<6`weYLFdK^5p_8UoMWM z_7I*KOrm#;u&J41DEXX;fycq-69UD(b@FID@pNXNQ|G@1PnqH{152J$&SGOs@h~>= zGp)!bZIX=WX9`*1l>Z$ps3F1>^a_!2vg_)nJ4oech1)oQX+J~JH5`i!PFZt8h>Al% z0Dt85dCxMX((>ks300)&VUrXaUk~McU2CpyGFQN5u?kY9&!(ut&tTC71W zJ$x21w2ekzbK2FDooi4nBUa;A>@I=GmyfXYc{{cy3=)#4Op6N3haAuMOq0nVHluba zmX)Qc26b7reGU5`wR(Uh>h*`k@Y6acPWbf*lnU}x{@}-@osH74Wo20^@+@n7>~aR* z_2Zf6F#MDIiYGyLNro0z#QQ1XruX8E^2_(fTs|-^l42u?9o7Kr>$RQk1=M}(sFgKG z@;7+X4+!+uznLVy-(*tXjCo8tlgn9 zbSV0xfw4qV(mYNA;M$SUR}LQHYa9`7-=w?^Qy)^Rd&-Oqd}fE6`R3)5GpD$3Q$<|Z zmf~|XDY4%K%pc_+$W?8L3s`-C3K9uxgrVL6Ey@}3Py5E^`tpM&AJF?sdy$3qa@S0J zj1cc)crWlhhf@U|r-nmCjao@ml7;K>uy_NFIJ!pQk{} z{G)0>wGWu-d7o zRPHU1asp~bm?@Bos@_Yk5en;XS((|y)AOMMJ&!^Hc5qhmH~yBqWvvg942%7+#@D?j zBlF?j)!0K(po_`1mPeasygh^%i^2*W5|*sIf-yXpP*)JWduR2$mb3}1MZcKA=-|(* zS?4j=dYJSj@PL2wdL#ZS(#;DDT3{FMrn>D4NOPpx>-MI6jqTKVf3v?*i5dD6x`ht( z$2nyUvF?F3Y-ov2YaTZMJ}zR|C$A?Y&SILLtusKs7`h%>NR!kiY*2rF0j+Ve!E1@~ zBTpHd!@$^aL(S5b&(F8_svHf`MkN1f;;F9DuCQV&`Jek3X zB87x#u;)7URZH89i$JIIa`T3)j`Ia}o&2d=HqTtN^3Z0Gv0?aLLG7cz8^n-rhiLs& z%r4E1u42Addxeq;3`!1MwZG%7>60<0W9mNvid zQ05>gBTC|;>R~*TZ7r;t_x9BAS)LVpvS~S&;|YwF5b7=*5^x(UJ+xZ%#D`e7IJy}& zOxGU(cw9is{0@0YV=9RKXvXq=I@ejGxo$s;n9YQesMUzlu5~RSpoxtc5irjPlhEZg zrJ722(ta5QG8Ui$)BBX0(DQ2}0{GfB?V(<|U*#H?=HBVk&r9vM3Wz_e{x1d=lSAmx zZ7#)2XT6TQi;Kkh_}}-tKzbtD)cvocT@F?6|ZJQdeVNMt#@i{^uXqCY}umPpWq`L6RuyqbX`sQu3W8VS}*6YPRA#| z|ApG%%r=hsf2-UBOgL*STwf{m)heGE<1-b<)79Pbz=FFkrr~k&kZ}#8wAMQ=#efb zxU1y6`7^T6Cnk({|D5ydWK(iIs}e9)j)G(QMPd7Wby0a8a|75oWanma5m@a za4S9}@RNw-^Sefdb9sSNGfG2q{3O@Ucc9AV7wfC$70}fDFXZ0R`>sc+W1F zC_rHEVM$}|=sA{f!eVofYj18b;VPvRZD;ckQOKR{{ptOx^JPUEG32<0Po7@pKGLb= zV!wusMnPTwKOiZ+2vj++9D7@^YvGx*-{X4rM;jyCxKmW-mHI9HB}EX=i_2K z9s4y>OkzvZ3-uS+ZMoR<9U=KxYJL_qq~$p&FEnNLK{pqYG87gq9!Z559}EotD1@p@ zacod*F}^uFc#@*>Jt4Jn-YXW<9Fx4WY0vRXwu?-B7GIf!685C7y`#Ob`PN>Cs7%DP z5OFV_svZ~yQoD4wn4k(}=mQE&SUR$kn4_VYZNj&jElYPJR{G5s@Bei*Nj%5%1Ns~X zz?EoOlMF%A*&Ub(&l{hg_(Iye{p3?RK@PRQ1Fls=jc+~LJ@(8Z^}~l|CPw||pu`WJ z$sd&Q6J{%@FhCF$ms2I>FJm(+pO|x1j)L@AF?0zBpOXfp&B7pu&ra6G2K~YhHw-Wo zEv3_NR(uqKGgyH076s)IU=APq2nTEZ(1`@8Sav;-3Z`fgC^5u8T>CufK|z5q9)BRN zzocbB*-Pgbm0w}rm@A{KtYpb>Bk9}Dsp(s2G+t@yyIb^o+V_pVqXzaZrY`oY0KFF- zS#PwpX7T!t;Fpi`^tuLU8s)5W)rh>Lu|P9nI;3@!JLKDQ)dJJgubXQtv)b z$!X1WrV9p2DHnD`F3*+Hagw|K!G zBIKU!HzT~8W1yxe&p4!m3!9(x-RFv0e-6ZNc9aw)v<7hkRr=La)9cCF(&TU;PY*gr0MO>zXL z!QPNgTf?!bWz6v3n=Z{%F$si>_9ckz5Ls>cV4M%yGqoARNbXb`Yxttvt3Hr^k;>(S zHb_P&`~DW$jBDvXESdgF=M>r$nj|=PhD>+1DX%_&9*q*K1Sr~6y@(Db->RW+y<1rE8*{(%8Ns;sVnJZLQkx^I8Xtt9-)h^FdGBofRV(H#sX}iW` zY61NIp91bvbnEPEL@uUw79c#X2vg*-eKlZSeO$@ZC)E4lgYF9{T4mD>5yZDbtjy>u zvn9vGBa|}r-}HJXLn(SJZXrj)4vS3xW7n)|kN-n&MQw|C7c1(t`=$>m2VL?vtP62# zb5Pdo-`(27gVDktDCG(>J?ySqinBgs$)zbwJx`uXwQDwbnRJgI+INi>^4DgLAG0Ak57?_6hMQe2Vm#ZyXx^mQ&6 z71*tD?aAmhl-;VN0hgwahf~h}A#Mx5a$qv^*+3TKdk;dCR~T@-($S_J%ST2Xiz9PF zmR<#IC`F}8sacg(+u9J<%BN=$TqY_rg9tvKpalz`>(14YFcFFmw_fA|{u;QL*GOCT zYyYtHWK2vEl@~r<#5mxbsz%9uByymJS|?Ktr(yu!uz@VU4EZ}{0S%&>JVYXmh9*W} zzu;J4l9?6EPVE*&SIAnxk|_kLxef6UY%=b^FsZx3f?bOXV_xa;u9@&X*b^IiBc&97 z4x5m?`{$W7FN`ro2vvxwvo@B*NA(jN)L0(~3>#21Nw#?WdX4D{e22|Dj5NHqq|I!t zh7jZI)Nn4_G6U(nq}6Ehq&<9&IH76RPQpgQyHiP2QT8@#;#^RQ3)u$+rhF8CC-`D| zjxe5AV?MsM0}Jf_88*E*ZxU)~+x7o>)%~xEO;r8IrO?czzv^N9Rz|(Yvxfs!QaAY( zLVwMvuH|lwvKmRJypCB>5yJ9t0{CG zZ65c2E0WvZwL9Gq3*CCFfp#lcd9tlftZs|;6U-KND$?{NS%Z!f;+e$!QmFAV-?$^& zj=~PUN=sbj(YKkVOy_5A>KX5L7Zn%Cipu+6K5MZ|5H`}(&o1a^?1`&cbf33t%n91X z`TWCyWNG7DGQRVQq`6a1>WaWNAOkVb$p8PrR_okBKWypYGS z+xYbNGv3d2!f+0efSYp_y^l`@XSY}&p2`B&+hX7&_3*bf2Snvnh}V@G1}VmB1m@PuzhhGo3e8! zqc)4rDOCey zpXz?I)4Dn3+_}Dh?)+~B*Rob}Eq!aUCv0V&(+k& z2Zq&Q_mFIiGT;51Y4`WwXkmo<YccdpAM?0D^b)sHEJ`)B&;ntvGp($-hc#^XpIx*5=_@;8ql`cN`)4U_VD3 z>-HDba5|^V!kwC^D$JH{q~_?{yaXsUx%bazcib#9ZAz}$r?ydk#*B%jh1m|9a1m3jCPg{VQo!r*)2sk*$o45&xz#p7t>P!{Fy{Sg3(~S$wUiA7{>7S&<{`Ih zDb!|U0PbMn&@(uRT$r!J9??{RQPDvS$YtJdV5U$#o}+v0^w&$b0MRND*#hrY}VTO}Y}gne%HPi9;6^z^I8=8v3A?*0C1CGvJCD|*X4zwJaV z`n=;o_}c`vhz{mWyk;X0xr!Q=wcpn|y(@Po`0fzrFIHeUd$1~Vxm+55(CW!xa4eU5 zcQ9ItvDTKU-4~vxil0)T+^RweYtTGuJgVPt9e-=1Up(_RvKg`38I;r0_E7If5J^z4 zSLH*ETEg!NE$ghPY9h%<8O7HheZLxSpAd3QGGv3E1U$__8B{Dmo1viVS3~TS-VdaQ z|7_;*I?^dn67u${=i!O>=UOmxoh8k@LXD^7i-G(m!OO8bJ|1kFcV~4av&S&&g1FF} zFO8BdSR8J$QkB`^Wsb8n}?_e*^v)_`Q3o7?oEYK9^og^QI#CbNIa3$tu*a1m! ziZBU$r>j(dX(Oq^QeAFRE`!jus(osHA#|@gAUlA2tQzBFdr3&T8F}Kh!+?2aqy9G# zm!W}6L@mH{$A<&UjrYIr!{-VxasJ7-rAXoT0D`KIJ@0Ifqi|_C%)9! zF>ErFFC!@e@bR*a#^?$xxw0xG&DZ1p;>_b&rLP;C2hTK`lqX|b4|*<=2}{}U52eq+ zli+Tu4o)S{N8p^*PVVX4HQ>QGjGyJ*094`SJM)q2M*__Z*pdMHc8ptqPp{-v+gIZz zVeA{ehf1?o@VJeeN8>})k4v9+5(z)D%uK8P+sI8=Gt%HPS%R4?4f3OF?1zJ9k=XOm=OQcQ*Nen=ENiq1OSjFK7N#EnejPt@(e~Wl_!ay6 zd#~2cp-&2puCG^Z`57!I1M*Y?u}P2tVa|RA+xG@jmioeWNoL3RX6{Tee*AhV9(N<+ zZ`LO;$&#CxJkfadd!)SwFp(HDRCnF`C3I>^Ho83YlP*3NCUfI;_CChQgZ%%4Le&p` z0EI_$*+*9Vr?QU{R&%eUScQ_vqbVn>p9)O)X5q-6t_7Jb0x(Y zF))$0T0v9XxvDaA|N`=(8> z-(Ej%sCKGJXFA?IqGa1{Gfk)#96xyF#|T>!NqBmZH(as`?f9R7%;Y8WCFIFhzUp@= z(WZR0-QOw z8c&%OYm#u{lOFTn(-gkS8dp_4(tB)>c*Y`GVx(YXtZp&ab|xR1f&fDmZG?0aeLkR6dv=RV?%uI;tH{8R(f5A6gsf|?z2^q2i}@>ZlGVR#Fc%) zIsaz%Nsyz-+RgUza1wtU6%`AE97PURocw0xA5u)Jd6i=DDfi|*)v7@3x7g)<-S5Q54>bn>s>SiT83nl z7pV9qnwSS5UA@Fde551&?^FwXnz9h{ajCUK)!(+Z1#uV7=HWR=jB(_%)gf)(iPS!2 z8mnmjWtFX(j@pwQ7D&GiuMBMDQdUW7RklO=9hW6#!eRJB3z%?}{r2Wi^5YV$_4tKx zp$EhK=+%|>E@izL?;ob9qvG#&tun;Vj~|9BV`0hs*7kp>x$(L?<~><>rufF_rsb&B z-O_bbCRLTy^w4KjCXpz9GQev4Q!96+Up}Q@osUKJ1+_f-gKmFlMsJt35qinQqqei87we z)0$-G869ysL@gG98a~=_qqB)^0{Y1hLwCoAGKZO~9a!ilNM5vmxg1FD2N2|`T;*V% z0$W5dOrG|VyFmEw`RN%g5k+awzz8ka5aK`%z2QB)E?$-Gh1V|zUb303BuB54S+8ia z3Nakr-LH1;uci_NoeapqAp!RxZa1+_qkC5YKk3e$QhY7@`A=`bt=fD2nSVSqlu)7p zXS)!kEN7f08wL>XkVIkPLIR{SqK&49*k!7?_$N~p?)fM`Ee zM3gnpdr9PG@_xGHVI$%3epS3pLo8Q%n$(2MVYHP_ReqvtvWmTiOH)(e($;|*l#0l` zLMvjdSq+OuyK4M;A)i05zDD{qF+Qa}+x@->G`HGVw)mA_*^iA9Nu*RNZR^htZfbwb zdD$sdrAP$@w>H&$-5Pa79$1H0osElENsnNx%q4A#66+1tlTzFzDVboUPC@b=c@eZ;p0}}aT;{y&X;hd&OCEk61^!6Kk>PJhaC~Buz z`(&9WQQnP2!H=W%lMcmxjxNCV86CkMmv@3DSr zk&FeNSf`yLUA1vyzgYQJ>!Bl#=crA8r6BQCq*_aIF+^+M4D*?`1yYgt9>oHgc6!ji z8bl_Wk}ID#V*Qw|wEw7BHb{Z@HnfR8A3AM)@x9%3&R%5=4GAdr1JSGZusr&xh?h}O zqByY%NUfSr6j&y=yQQ9+nYq$AYn!;zM|*=-9DmGIW|&+CTtUU=sqCx)OsZCTG`ud7nZYx9DIR)H|x@1tS|C2_e#%k zRojgx3={L~n%WPY(&p{DglL4(dnMcHmejyBoe~3|YQz4cY&4%ihY@N~Ur2B7{0HSY zI~uu7nYPVfBtM~&eB|@#$K8^Pgb7O-6wnRoygz$3tgP;5uK~?cO>U>^>bMgjgBNX& zad)1ngI7NJtd@AE>`O~~#=#yM5LITgO_)eEas6D7U9AXlSh-#)McvKKyN@95>*TG? zO=)&#{mS#}(Y1AsfsT8U(@4Q+DbNP<;vRn9q_`tw_{6W5f)!d3wSJsIz%t%N?pMT zX0Fz6%E(;&bX|;fO#HWoIVK(C8|we+yoD`23v=oB zjxnanJOlv9**tfQ?ZB(W{=Bxxj_HEr@ZASaUKQ#h**cf}JOD3vKmg|6@M6rwOWd18 zG!o&G0+A_VmVqLQcp z$}|rRvQ8+#TD+JQ4A%_vyjq z)9RM#R5tEkJR-9Ty%+3DuQvT(c;wB(=Z)GS1|mmQ4n-eC8%6sSFStmNQlt4U zAn$`8Ca}eBe6%vI&z|QzFqibL$g-JTyQ(uF+P>~E>ni8rNGqAd02jcn&(DQDfNH)& zEi>vRP>WTAtJ@!ANo>*j_?>OU$1hVAo6My#tq`_?O)m7}RgzD{PAl>dVmcAnVL7ax_BM`tMXp zqi2a<-?+R&`o=wcyV%bc%&_Wl1%g+Kw0Z6L>!Eg-;TJH}P<=PPob9wlk8f&B+iRKU zrIy7eU;_}8=YzDC&BNBe;WWPGKr4tuUh8iDJp_~18kHe$P}djoO{FC^1})PVG6SN+ z3id3lWv{H<_bMB${Kfw=J0-AW8noA_#N#&MDB1D^a4|9s(gv&NmS$$bGb@AYR|1Qv zAX>1oz8dzRy)nGNc;KGiShO_RQUd%^3!y6h3SN18Kh^Oe$b;woxP$gq00D;GukK{j z8DCGJg*)LoauThsb%RItSrD3J>#9l&x)~?qN?yxKZ$Gg1Tai0e407X1Q+uEp=VB9B zxu5OBWBH-9(?+^wQ1UQ(fw3yyAWnX-5d|T#6}SKRb&D1t%ZO1wsBsp z(r&j!U`JX(3U?RuJRy7+>*vWf5dXNn35A8nb|NLJDVBM{iv5ub=SUm$#kK6hmzK}A zttlJ1{I&j4dntiCcgjYbhl#ZD{SXduLdYAI738x4( zQ}suX+ROhHeC&4g$_XIEdq1u(yXan&2~!CMWs341qH>aVuXc#~hixTff{+rM5Rnc3 zf2$f?9A6*K#1Iwcf)Cw}SP8P&n1d5xAa9V1TasfkY%8R}-*zJ9v^~i^-)WDjdSp() z=;Ch^gZ1sktDuIuyGyWotWU0CY`Xti*;n|ct>lHo$crIy>DGcJbeEOSK=yVz7;?QE z&@GL+KZJ{4se%~MQQkZp3Jg*u{#SpaPJeF{pDr+LFidP-Ms!vFl~!+be6ks_gW3AB zT34u;r=&4>3Lo)H4R4iA`lb_juEk%eO&JUt;tV|-;!OQ>_o?_t9*TL8oje0ytnhb| z-A@HkOCYL4AlZNexVxsR1Q$&0zB?|d(GXeNNMSb10z9+6HRsrxcWzDTHwmFwPfUq} zA4msnxA;>0!hdZHA`mM)&3zjy0gk)F_9oEY&2dKWuBpkltDznSTx^UjwpxG(rY1{Y z9cC{IB1Aa9^ynq+!w?Q;z|&IP)>?n{v-a8B!NYFixm35U>+Q13rCD}@Lww_zN1i?s zu~|CzxT>t;2M@G!(fNylVPyHqPmfoqO+rn;1AA)0OD@7+Y&cf==qNFnH1*WuL~=#~ zk-W{vz8dS9zoLR@7`qzB9HwaCyzO#^de5ua1VO$jlEl>*!CrwuJ#Qu5uw=j)aPGSABV4uun6~M2F;BHKBT(|PuymjG&M1M75h1%K#AMh;~wkNr9Rfi z^dm@yY%yz`l)FIYqJmd+?o%mm>&yW$L%;3QDoyW(kZ`bZZT_DB{4J+*vjfoQO2IpI zOt(vA>aXtF+_UnvpYpo5aPb*O6Pj6d$vpPxAUMIZ;Z)w;=)p1*cc_S0x@nu20^-8G ztZ~$JV4U5dj8ng|#aD)0AJ7mGFry@F=yRUqhHP;kiQ?Q&LFg)P25fvEI{kIaGF-Gh zdN_8M>eTx5K&fj^yquYJ|BAoUF!0`IB3C=l+jz!YcWmeU0-=&pVVu_mUcD{)3jeJg zv45aWwOH6Hb*@5iaAP5~v1sX9IUdh&XQte;eMF#Zd7X&)I?Yn3Ao1E9KeYyxjp5Sr zVz(8Wt;)U9711S#X**BTVj1+HqwLRJ`%E&kOhk4$XXO+_`%ke-<+7j>X%Sop_!d*7ix8oi_ zQIY*bgW-+%`<-~-i_Q9)Dbc*R(*>s6&&Uze6`Bk?!r|##=SHGa{e^xz&SJHMR{hhF zQJi^&h1vrA1A82&q6$0M=2_yr-F{}tWrGQ@6OrlcE+4oTSf@xe=V-FKim&I8ZHj*T z7DwSMQ$4G6Ed7jYm7nTG4i8*5Y*gt_TUJo3Q;DCk8O%d~p0zsYUyAa`b3T4;^nYtG z!o&P&RmAmLDm>+}Zh|Z|xu0V4%nXyexwWvT^cRmuZt8BWUEpo&QJVV?au|6mc^7`eQjmb+kD8+ogo3W{gbYZvU z2t5~YeqsG9oW~U<^hsjgbbK1HdF^!NPZ~EubzvsMr$ZP?EsVbGc60A88$O@jRk;Z} z0IPyT4y&dkvI2H?ugcRK#vM*Ov_#Z`OjrE&O7PN@g6u=+E`_Q&Z|97LrFh%Vr&a>d1kQ&1%}vn2lm>OkZr!9Y;?k zPjV6dCEk@q%UM!A5+)_)H?Cx~CKb>@&oq6~|Jg7hbbAI~Nx*_|Xtvo3`s%3@2Z8Hd$tR zX)gF*c)RCXn}BuFO9LfPOS?obo?pWbAT9u#RAKLhZ=UvX4%6{ME*p7o3(n>7lLdsc z5CvPJ)9BX!lFS}&k4n(QwD7p?Ys%F_xpw)-u6mg7B3H6 z+0!vLh*iwdiX|#EMRwq_49}KU-P%`psUc&_DN-nj^v5>Z!AqL==l!M67AbY4vpM6k zv{B*eX*8>K&9t|@_Ur}p=+7)o(wL$Q?NbYX5d6=n6}Af=U$e1hO`XA*DM5hqijO-o zrygc~v!;}8E8Vm;{PV6^L_2U=;F;!+LbB=9*fsY7FH;W}QSz4TRX5dP4 z%*yX=5&|{4e)Ex^iB;`7LmwzHvjaK=;}sg?6)PEs{C;u%EbX!xp45@h>K>Wt-R;VA zQsR3*oFE9T@AJGLv&KllH$`^u z3sMCL#4qz?I7K=ge@V{yfhar)x|Iggfj({m@doy!*+&({AF`RYJN$42w?1)>M^5eS zC8ysV=bSQ_bXI#a59hJo9JQUPm&dL0stY-v>ZF10QbopjU0RQaIE|&e7AsG?)ekx1 z^^_TA*<(w|z<`oA#5Tp{&D`pBUa49~B^IO>%oTCEqJF?;+G=T`{=ldmy_DzUE5v-g zPoV=4*ZoSRStdS)?UlOXdi2;%cO+-Yed5LqNWR(NGcxWr6%~>0K4D^@CJrAo(Ewg} zYM?08oxlbym~y*X$kQm-a%R=1qiHN}8|<&@E?jxvRXO9pzzc4-Q*GIGh)1CsTWdKSpW}9&7clDsguKY;7p>+5ns5J(D7-Jv#qG#^NL1{cjo6$1MHZPoeo<&H z_O=cbNTUr?idf8#J92%7IlW}kiro2d%Q<{AC0w7h*dYW$1=#PkJf6idGm2Ihg?48M z+jltJEXrNvEAE{_L3kj<_fC2rH0tUqEiqmJ0Eci<9_G0AQ;kJ{-7vj`0G>x7sv~#z zC3TW%cI9J&&t!vq@@hl-8A=!N%N&G+cgKEY-Mr78@={MQ0qEPC?sN#S3QP}X^i;%!U@ z5Ts4_np6cN5%6;tlvgI?W3#Yn2xJR=>@a*fvVz*oo*(eT+q(f*LD~)s>+E+h)X}@2 zZY$dz=P3r_5rM9_G+Rukqk*Yrc{l63VvEzeTD;?XRGGo`^8?y0+N+mW7`uO|U_hop zqXGCsyHGG+%M0_?!1>Kg{zPN{RZ|7kY8{hofufakgB-0&O&qTxUM}SJ`d6_cREjR| zl!$)G`36gMsq|YZ8Q08i4$7hl4_CX~36G{RuZ4Uk0jOTTjaK}G%8ecCmc@oJyHm4o zL-f|;si9X$=_*4MlT+N**PO9CXupa$zoivwTYDj9S3wn2kN#0;J`it_{Uwz)I%dqe zcxCG`s)xQjMbu~WF3O>mQbt=5+}?%l4~skTP9eg$2eI zYvykAHKBq*KIqIuZcF^#&WVFBw@Efn4~89`kb$vwEWA|Dr_%$r&r%rMM~~CItN`!^ zJF=}?Mig7(v>QP7ymOyzO5e?Xg~yPAD@^0u{_C<4&*_3aov#!bQ(OHrOWZOa zeAn5VdN6OwF1@+iJFZh*%187xXTj9E6w|!+qt<2D4taFLxqjhQ&^&hXp&Dddix%9{ z3fFo48Y>k0bY7KJo*G>0cr-DA$Umk179YEDHO-a-B_5yA%XDQ5P1(&Dx|)1boWh^W zj_eqJ>nXNARRfjxA=}B0OOc@?wF}!iOPg58C+xh21KtpJT5o(_x&&s{hOLW~g^#a4 zo_TPH=YD1EDlmEvKpl$!Ra0J3Ot6Y2y{ zrX8WyC+{6?P**o&$?!$#3^oV)Um?0>nLTP!zRm^)kE>$EVn@F8vyJd;=WDz7SBmkK z@AVu!wi_#5zdJ%5y@JPyi=^N(ENDIE;9-;Yo&Dx!f{9({$H;c4)+YxXGl55Uw+bT! zrUt;H`&mnCWGxc@EgG1{$x~|cOx)f+9FoF4(|;p;RU$5KThQ4aR0F%1vDz z!T)UacFpXgcA=b5=wmxFI94{c_Jl{#X?0SItaK-IcUqmUWX#2L4~JcQPl;W7VbsY) z+L0<^o(J(#Mulo8vy>KByWKhCN^(?KRLzctK)fqGI>^mNFri!9-HGxl3(^m8^pz>mB@NY*4A4bQUA+E=h1o1afs% zhecTZ*XNompo&w?-deO>mBe4I|-5PM!?4{wGk*N3*3;d2#5n=l}xP+*Tfr`bT-Www|=6&)StOkGH{P8BG8N%B7g=hFwE(0Q#N6< z6r%y#`yCzIDOH5mL-HaQ6>}H&mtNUt{7x&rEf>?<+Es`j1T9Sg6PL((X*ZQU@-Tt> z3;~9p!ds533fV9rUSg$cU9_Wz(0Bk2|?vHkgAzeQ3-l&Dv@ zUy3lyx9N5X^y}_8*WPh$#h!Mf*?#sHG!6`mwZ?CXAHDb7egqi_olyZzRGQqrn#ctb z8eN~msL}dJkCXuacV;jtEML)wSlCa98Q*?+@DQs9FXn$Q8x&J?s^j?Tj#xU+ncQz( zHo)_$q!+TkAD=_h(w~h>wn`uhdwe%|>oRK`jD!Gl=`KdVj!$Pdwayq|w>P9bQqC*c zYJ6RwAZgvwZ}S#|tN)HW7?J$X`(QtbDd}R{M>(yWU=AF!+^yukEhhkRJ95{jK3>Lm z=vVsw=-zq#{B$_TZ@E4j|LmR3?#&81z{%&j0BxNy2Cg03+fd`!Ho5u}V7PM4PIVLd zAQ;8M2Qq`PJw5K@4XhEVGYP?4J$4hNa4F!XarnyWqRrjNUE)GmD_T6t$Gm9gX9kq>j7j*IGk>k?0 zgQsLwZyIy_f3LHK^cJUi(LSHl-L~wn6t+!w!uvlbfZZ=|hWRfDBV3J#69sJFk3;T{ zP167rE1fU{2>rbAa8`OibxzPd(r@KR4t=QZ3q{gjkyUY?#pn2>4LcDnnbx9uf?PqR z#jh8V2dcfjfDS`0_gCoBwnoENL#DTDYh-g^Om9eLhi+yxFtg>Tp(?-$vD(dA+zZ9C zVyQ4i&6pm7?lPj6LHcF}zd!57PmOo2jIcgS#D(M2eh0dt<>|2@u)`HmT>JS?n|)M& z!LTy#n_}8J|G!WSR9jj<4C<`$FU`u`hg`X^bEfgKRka=OoDN6prM*hi8xfPLxwCW$ zVwY>E^9_P7t8I%zZ*z}?=vn`}y#LOwS{nPk0m4Q5-j!Vew1wH-*dlSu>B6hP{fnB= z?m7MkvYD99rvInCD-CPvTGxtFMNb_ov1QUy1Z7ezAP7SBAZ-~P0K*WV8c`X7K>`6J zg_zm6BSnpd`m~}L zVQUx{j&ZeHdjQ>AihP~H=XYaF!bYv8w?M|zU8o6sbY|;t-Q{I5D|E}OR?q~F)4XX~kerz|OF{X|1tqHcA6eR)84O>q{6u@Sod&JDj8_vQf^+e<{h>*`D;MFk$hzAwK4 zRl?K}i1UvgL0W!#d5hV~N+=7;Yqlq;w zy_7)R9MOky=mqXW9Xa?c>-#rOtW60*i|B(`j*8WX6s-;Ph(}bUa57F@t^SZ}wQtY{ z!qTPn=uztH#BXrvo3`zah>@tVQ~4BL$ddvG2p0Vu#`w}NYtN+V+4Y*Rw6ruG`h-8- z)g-9z1hHnQ2z^fxmJpSL0hW&Go{Lz2if!ZY0&)T4pV8XQxa^P_n?P12iMzrGOat?x z+VR%*e*bIgBv(yr?wYrg(OaHXg>=0<{+5MMply1V`XvP&DfUufv{nb|thcB{w%04` zr+Gy4vTiYo4a^F%-j>+Z1r9GO^;MuLA0IFeb?(ZxFQkTWS9mZzIO8LNQST@O^-Wef z!8d)!+Vz_k&~3xk^jUaYV`%`L!DB~ysvtYu7!7*dii0cb-60O0`9t4h2SeB`rPt0!iydzVrDq7)I0K4+uS4cCd zq)M2|8phzQ?!Jn%ePAsN!>bV_NaIFw#Ky6WV3JDc?n9z%j<(L@eCJ!hvKUhiz(dP87T>-rEkqNmb}4V&0?kzrU~d2<9aK>Z+!>9O7V*@iE+BI~?; zy0(Y^8Ez*_AWcVnQa;Z#;fJL_cb~r+ha?){(c@QRZ_%y2hz|2-XWva6RWDMg?Q~@t z(Pfjh}M*7LR(4^sEs#0}9KfiUz|m8}HyKX$zX$JfE@Lx&3)cBU5#^h!>TPL5KL z&~06-xuipL^J70-7#|-uxzaxGB^0c*XS*9TMYuGRnL>^sRg5#U43L1SlT%;%iVm z0bmU>GSg|JA6|?@wkDht>Qm2g#|*^3b@AZ}WA*;H;*!Y@l%w!*p1PBBS5viA1B!L4 zCtJKuLn4R$NIPkx^iq4rQG?`k<8U`t8@z_BhZWIx#yipiZd(Kb5<9PZpT3#Y18_XZ z)&naSJvV2gXM3*(6n=M2RL$tIVul-v`*iKwhv)V3Pdk{)aM+XR|%hA-JmxH0eeU<`YKK_5HhUC8dB9Op06jU2G7oMo3Yk3rYkD zicIT3dkufD?)S~pwf5>qAc8R@ew=l#^Myzo;f$9IaEBtBa%6^X@&+6wI>u`NHHwXvi~b?- zno|hsvn(X!hZrvr#3rxH6kW>JTFn2uKT{A_aIBv6su9pF$D1swkxV=p92Rex*+1q) z+T~F{;T9>)ZoR>u?&yZDb0yB$i7WS+OH4}nJ=zqvtt_=r zX32z{IrnbjhwE;XDg4mU**N!ERiql`y8NhVADI|6hQE_eYAeC}Wo0xL_qVvww2R=i zMbC&=SzAV^;q_K!x-hz-mr3_$XtAg#Yah>ftS8!fQDtjX{b|-)^UOP-2S!&-`)Y|9pZlLg zDU(hXr_&7R;Wku(OEYC%c2Diab9b6>(nK254i{h}ay zu@-PaM%4Y*V@x%UWTdsOI=H*hHkD~;QB!+2qqW!}Vw`@rxOVdK7N`^jS_KeX?jeVn z&Ga%#pYR#QlBti7BsW(hc92<)f%dX!w_2TGSBLXt>`@VXu40nnQtX-vx}@ipz$*&u zIU!;25B-tM$5rbITD`^jD#bX-Sz#X*D%Xl5wEBVatJ~_seIx3{W8LB4{K%K&=dd{3 z`(NEsUeiUE61X^1wg&b**9llpi(M?9HtefhdAPgmtfuh{y)df?_Y&T5fr_h9yF4f( z28R32KitgxR^1rXBY}WblT=V%-UrSP^pLT`qd!p_UtJ5%S(xCN^Tw@&i0Qj2C%qGg z6V>)JZY3RXcO@abI*DE$CV@T2DJU+&1eIN5ou4l30}tx1*{Z`G%?JNLx0$_8X|Bhi zxmgjMWmYFt&4=BHq zbdBTBT1=H;Awj%rN=`iwzPIhBF`%T==y+IGUCA2t{giQ@&o7LTJ+kaFuw%Eu_zc}A zH2VQss&x;cG&VCh0COdfIOTV$2h&-C1UCf6p8A#tIYkZv zN~81zZ9MU+6Fg{)9G|$0M4w`RxuP+fvSR&0b+>xMz6UFt@;O!p(7xZ}_@mzR+N|LB zn)xl=k-=SAfJwzva1d<~EUN>*+fd}Hfzr9$!WwdBr!ClSo(cOtDX<5M^krt{Z${n4 zdWrsmb{(XN4FGR?@(Sg@+&c@PcodMd>yD`_|GHp9#h&@SWl2Xo`X7+5!Ncgj91 zlWe+S#rl*;>69r$F$86p9OtyxzpD-8&0A|3rcTq1=>b#66*o5Qd|Y zVcFp)s`_3C22F%B75bdN#`q;P+{H?;my}=}>HD~oCNSM)6w_I{s zUAcJkLQpCgdZk?vSTrXtaGo< z;a-oblKkl1{Kf7Q&Drlj|Xp433jd{b3ybq8;($Cf^F-JPZikK?1P4c6CI%hFy z=TneN9nu5s7D5*kD*I#3-w`GO0}Xa($N`0k!mSeFTHd*kZvx~-H*E{0eof} z$(0eyVleaWUHPQKc+p+^ZDJ|7?-qdiJ<>GqLhyNpt-{2xX1-+1c(odZeBSMz#6 z5Ts{i>FK%=0|tJQU&*?!W4;Y|)slW}1_`X~N+sv5MI%{@wgMGghm>vDf;lK>Rj{)$ z(R^Yh#!~P=6Db_+pJhh(Vinh!%h@I_t)cD4erAC~CIjR=26%&N{Ttd7>Au`4jN{_H zd|rYbcTH`|3OQqBZ`c|tKB=cbqXhQ4QiA&3U$y6WCt3);U$w{+K(0At|Ll>ihCU55 zvMWvva{|Qm!{ryldNfw0aNA^|nBZwGKKb&mnSGiC(Hb@@+zP@afK616|3y|*EX|00 z@|8i(!pC6TD!MiC_(L02rJ=9lx@*oI8A)>gQ|1;ihit9I107~~j?&_HV$Q?Z-Xlrn zO1zA;v^V;#*R{UXl3UR_{g{=Z$iZ=H$m_&Ll_%1z@%M8#$nfRx*SV5Cn_R&z)S{TX zt$m)(-mi!oiMPRmR=Redx$n@{9**mm8x{P!QcL>YLfC_)ymW|%LF?%>^PdF>O;Y(-rYZXgEBlY0ofHLUg%-UbKqbh1crU zyrF|f)MZNllrS6KI9vO;#ifzIUR?esFRWn-3bY#MlvQ#werhK3FE+4Q+Y3rQDTB-g zORE2Sy)LQ#6OOjz^|B!P_W)i3oWBS1S-|oAF;BW|*}7Xl{PVlxOSu10M_K}(CGeT0 zCrfPS6I5o2?fiT0kx|+uqWSj(eu?A%eeJXaI7@&tM@g1A{zs|VEUYYX{QrjIFY)@1 kI?ocX|9`~mKTI#DB^c`OjL@rG2L67qar`Iopik_-0A)lJC;$Ke diff --git a/docs/fr/production.md b/docs/fr/production.md index a1c1b8ae3d..163796c28e 100644 --- a/docs/fr/production.md +++ b/docs/fr/production.md @@ -76,7 +76,7 @@ Cela provisionnera un serveur Ubuntu avec les dernières versions de Docker et D Pour des fins de test, les plans les moins chers seront suffisants. Pour une utilisation en production réelle, vous voudrez probablement choisir un plan dans la section "General Usage" pour répondre à vos besoins. -![Déployer FrankenPHP sur DigitalOcean avec Docker](digitalocean-droplet.png) +![Déployer FrankenPHP sur DigitalOcean avec Docker](../digitalocean-droplet.png) Vous pouvez conserver les paramètres par défaut pour les autres paramètres, ou les ajuster selon vos besoins. N'oubliez pas d'ajouter votre clé SSH ou de créer un mot de passe puis appuyez sur le bouton "Finalize and create". @@ -101,7 +101,7 @@ your-domain-name.example.com. IN A 207.154.233.113 Exemple avec le service DigitalOcean Domains ("Networking" > "Domains") : -![Configurer les DNS sur DigitalOcean](digitalocean-dns.png) +![Configurer les DNS sur DigitalOcean](../digitalocean-dns.png) > [!NOTE] > Let's Encrypt, le service utilisé par défaut par FrankenPHP pour générer automatiquement un certificat TLS, ne prend pas en charge l'utilisation d'adresses IP nues. L'utilisation d'un nom de domaine est obligatoire pour utiliser Let's Encrypt.