From 65b6632374a172be39fb49aeb07fb6a9f3187afa Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Tue, 27 Feb 2024 11:52:38 -0500 Subject: [PATCH 01/36] add upgrade guide --- content/collections/docs/4-to-5.md | 41 +++++++++++++++++++++++ content/collections/docs/upgrade-guide.md | 1 + content/trees/collections/docs.yaml | 2 ++ 3 files changed, 44 insertions(+) create mode 100644 content/collections/docs/4-to-5.md diff --git a/content/collections/docs/4-to-5.md b/content/collections/docs/4-to-5.md new file mode 100644 index 000000000..4d6c3e5ba --- /dev/null +++ b/content/collections/docs/4-to-5.md @@ -0,0 +1,41 @@ +--- +id: 91e8f239-2f99-47bc-b4dd-3518cd3e36ae +blueprint: page +title: 'Upgrade from 4 to 5' +intro: 'A guide for upgrading from 4 to 5. For most sites (those running Laravel > 9), the process will take less than 5 minutes.' +template: page +--- +## Overview + +First read through this guide to see if there's anything that you might need to adjust. While there are many items on this page, a majority of them only apply to addons or custom code. We've noted who each item would apply to so you can more easily scan through the changes. + +### Upgrade using Composer + +In your `composer.json`, change the `statamic/cms` requirement: + +```json +"statamic/cms": "^4.0" // [tl!--] +"statamic/cms": "^5.0" // [tl!++] +``` + +Then run: + +``` shell +composer update statamic/cms --with-dependencies +``` + +## High impact changes + +### PHP and Laravel support +**Affects apps using PHP < n or Laravel < 10.** + +- The minimum version of PHP is now __. +- The minimum version of Laravel is now __. + +## Medium impact changes + +... + +## Low impact changes + +... diff --git a/content/collections/docs/upgrade-guide.md b/content/collections/docs/upgrade-guide.md index dd6d7eee7..9759889a5 100644 --- a/content/collections/docs/upgrade-guide.md +++ b/content/collections/docs/upgrade-guide.md @@ -5,6 +5,7 @@ template: page id: f12f8ba3-19ff-48cb-a07b-653b05082d7e blueprint: page --- +- [4.0 to 5.0](/upgrade-guide/4-to-5) - [3.4 to 4.0](/upgrade-guide/3-4-to-4-0) - [3.3 to 3.4](/upgrade-guide/3-3-to-3-4) - [3.2 to 3.3](/upgrade-guide/3-2-to-3-3) diff --git a/content/trees/collections/docs.yaml b/content/trees/collections/docs.yaml index cf5e476be..13064f499 100644 --- a/content/trees/collections/docs.yaml +++ b/content/trees/collections/docs.yaml @@ -16,6 +16,8 @@ tree: entry: a1d1a50e-fb42-4a9e-b03f-59dc47f21dc2 - entry: e077f513-45c1-4eff-ba87-210340dd6f54 + - + entry: 91e8f239-2f99-47bc-b4dd-3518cd3e36ae - entry: ec130472-4f44-4e7e-8dce-71d0c93e8fef - From 78266203e95175e3ca55b5025afa7b3b8215c126 Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Wed, 6 Mar 2024 10:56:04 -0500 Subject: [PATCH 02/36] explain that seeds are removed from shuffle modifier --- content/collections/docs/4-to-5.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/content/collections/docs/4-to-5.md b/content/collections/docs/4-to-5.md index 4d6c3e5ba..66d611e17 100644 --- a/content/collections/docs/4-to-5.md +++ b/content/collections/docs/4-to-5.md @@ -38,4 +38,14 @@ composer update statamic/cms --with-dependencies ## Low impact changes -... +### Seed removed from `shuffle` modifier +**Affects apps using the shuffle modifier with an argument.** + +In Laravel 11, the underlying randomization technique was made more secure and no longer supports seeds. If you need to support seeds, you will need to use a custom modifier. + +``` +{{ my_array | shuffle:123 }} {{# [tl! --] #}} +{{ my_array | custom_shuffle_with_seed:123 }} {{# [tl! ++] #}} +``` + +The shuffle modifier without an argument will continue to work without any modification needed. From dd556ecb42d4c39abe5e44a980292671984ab49d Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Wed, 13 Mar 2024 16:13:05 +0000 Subject: [PATCH 03/36] [5.x] Document Addon Testing (#1258) * Addon Testing docs * Fix tyyo --- content/collections/extending-docs/addons.md | 59 ++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/content/collections/extending-docs/addons.md b/content/collections/extending-docs/addons.md index c32af1e5e..244ee6bd5 100644 --- a/content/collections/extending-docs/addons.md +++ b/content/collections/extending-docs/addons.md @@ -542,6 +542,65 @@ The `update()` method is where your custom data migration logic happens. Feel fr That's it! Statamic should now automatically run your update script as your users update their addons. +## Testing + +When you create an addon with the `make:addon` command, Statamic will automatically scaffold the necessary files for a PHPUnit test suite. + +``` files theme:serendipity-light +tests/ + ExampleTest.php + TestCase.php +phpunit.xml +``` + +The `TestCase` class extends Statamic's built-in `AddonTestCase` which is responsible for booting your addon's service provider, amongst other things. Under the hood, your addon's tests use [Orchestra Testbench](https://github.com/orchestral/testbench) which provides a layer allowing you to write tests against a *real* Laravel application. + +### Writing Tests + +All of your tests should extend your addon's `TestCase` class, like so: + +```php +assertTrue(true); + } +} +``` + +For more information on writing tests, please review the [Laravel Testing Documentation](https://laravel.com/docs/10.x/testing). + +### Running Tests + +Once you've written some tests, you can run them using `phpunit`: + +```bash +./vendor/bin/phpunit +``` + +You may run a specific test by passing the `--filter` argument: + +```bash +# Runs all tests in the CheckoutTest +./vendor/bin/phpunit --filter=CheckoutTest + +# Runs the specific user_cant_checkout_without_payment test +./vendor/bin/phpunit --filter=user_cant_checkout_without_payment + +# Runs all tests with checkout in their name. +./vendor/bin/phpunit --filter=checkout +``` + ## Publishing to the Marketplace From 65a31ff5f43c98e0d7d14eeef8b9c5fa9aa05cca Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Wed, 13 Mar 2024 16:15:18 +0000 Subject: [PATCH 04/36] [5.x] Remove docs for the Antlers Regex Parser (#1242) * Remove docs page for legacy Antlers * Remove links to legacy docs & mention guarded settings --- content/collections/docs/antlers-legacy.md | 426 --------------------- content/collections/docs/antlers.md | 22 +- 2 files changed, 12 insertions(+), 436 deletions(-) delete mode 100644 content/collections/docs/antlers-legacy.md diff --git a/content/collections/docs/antlers-legacy.md b/content/collections/docs/antlers-legacy.md deleted file mode 100644 index f5b3982d5..000000000 --- a/content/collections/docs/antlers-legacy.md +++ /dev/null @@ -1,426 +0,0 @@ ---- -id: dcf80ee6-209e-45aa-af42-46bbe01996e2 -blueprint: page -title: 'Antlers Templates (Legacy Regex)' -intro: |- - Antlers is a simple and powerful templating engine provided with Statamic. It can fetch and filter content, display and modify data, tap into core features like user authentication and search, and handle complex logic. - :::warning This parser has been retired - We have a [brand new, completely rewritten Antlers Parser](/antlers) jam packed with new features, performance improvements, and bug fixes. Make sure to use it if you're on Statamic 3.3 or higher. - ::: -template: page -nav_title: 'Antlers Templates (Legacy)' ---- -## Overview - -Antlers view files are often called templates. Any files in your `resources/views` directory using an `.antlers.html` file extension will be parsed with the Antlers engine. - -:::tip -The `.antlers.html` extension is important. Without it, your template will be rendered as **unparsed, static HTML**. -::: - -## Antlers Syntax - -Antlers adds capabilities on top of HTML through the use of curly brace expressions. Those curly braces – often called double mustaches or squiggly gigglies – look a whole lot like _antlers_ to us, hence the name. - -```antlers -{{ hello_world }} -``` - -Before getting into listing all the things that happen _inside_ an Antlers expression, lets take a moment to establish the rules for properly formatting one. - -### Formatting Rules - -1. Each set of curly braces **must** stay together always, like Kenan & Kel or Wayne & Garth. -2. Expressions are **case sensitive**. -3. Hyphens and underscores are **not** interchangeable. -4. Whitespace between the curly braces and inner text is **recommended**, but optional. -5. You **can** break up an expression onto multiple lines. - -Consistency is important. We recommend using single spaces between braces, lowercase variable names, and underscores as word separators. Picking your style and stick to it. Future you will thank you, but don't expect a postcard. - -``` antlers -This is great! -{{ perfectenschlag }} - -This is allowed. -{{squished}} - -This can make sense when you have lots of parameters. -{{ - testimonials - limit="5" - order="username" -}} - -This is terrible in every possible way. -{{play-sad_Trombone }} -``` - -## Displaying Data - -You can display data passed into your Antlers views by wrapping the variable in double curly braces. For example, given the following data: - -``` yaml ---- -title: DJ Jazzy Jeff & The Fresh Prince -songs: - - Boom! Shake the Room - - Summertime - - Just Cruisin' ---- -``` - -You can display the contents of the `title` variable like this: - -``` antlers -

{{ title }}

-``` - -``` html -

DJ Jazzy Jeff & The Fresh Prince

-``` - -### Arrays -Arrays are a collection of elements (values or variables). You can loop through the elements of the array using the `{{ value }}` variable, or reach in and pluck out specific elements by their index. - -#### Looping - -``` antlers -
    -{{ songs }} -
  • {{ value }}
  • -{{ /songs }} -
-``` - -``` html -
    -
  • Boom! Shake the Room
  • -
  • Summertime
  • -
  • Just Cruisin'
  • -
-``` - -#### Plucking - -``` antlers -

Time to {{ songs:0 }} cuz we're {{ songs:2 }}.

-``` - -``` html -

Time to Boom! Shake the Room cuz we're Just Crusin'.

-``` - -### Dictionaries -Dictionaries are represented in YAML by nested key:value pairs, _inside_ another variable name. These are sometimes called element maps, or associative arrays. - -``` yaml -mailing_address: - address: 123 Foo Ave - city: Barville - province: West Exampleton - country: Docsylvania -``` - -#### Accessing Data -You can access the keys inside the dictionary by "gluing" the parent/child keys together you want to traverse through, much like breadcrumbs. - -``` antlers -I live in {{ mailing_address:city }}. -``` - -### Multi-Dimensional Arrays -More complex data is stored in objects or arrays inside arrays. This is usually called a multi-dimensional array. - -``` yaml -skaters: - - - name: Tony Hawk - style: Vert - - - name: Rodney Mullen - style: Street -``` - -If you know the names of the variables inside the array, you can loop through the items and access their variables. - -``` antlers -{{ skaters }} -
-

{{ name }}

-

{{ style }}

-
-{{ /skaters }} -``` - -``` html -
-

Tony Hawk

-

Vert

-
-
-

Rodney Mullen

-

Street

-
-``` - -### Dynamic Access -If you don't know the names of the keys inside the array – which can happen when working with dynamic or user submitted data – you can access the elements dynamically using variables for the key names. - -Using the mailing list example, we could use a `field` variable to pluck out specific keys. - -``` md ---- -field: country -mailing_address: - address: 123 Scary Mansion Lane - country: Docsylvania - city: Arteefem - postal_code: RU 7337 ---- -{{ mailing_address[field] }} - -// Output -Docsylvania -``` - -You can use this same syntax with literal key names as well. - -``` -// These are equivalent -{{ mailing_address:city }} -{{ mailing_address['city'] }} -``` - -You can combine literal and dynamic keys and get real fancy if you need to. - -``` -{{ complex_data:3[field]['title'] }} -``` - -## Modifying Data - -The way data is stored is not always the way you want it presented. The simplest way of modifying data is through the use of variable modifiers. - -### Variable Modifiers - -Each variable modifier is a function that accepts the value of a variable, manipulates it in some way, and returns it. Modifiers can be chained and are executed in sequence, from left to right inside the Antlers statement. - -Let's look at an example. - -``` ---- -title: Nickelodeon Studios ---- - -// NICKELODEON STUDIOS rocks! -

{{ title | upper | ensure_right:rocks! }}

- -// NICKELODEON STUDIOS ROCKS! (order matters) -

{{ title | ensure_right:rocks! | upper }}

-``` - -There are over 130 built in [modifiers][modifiers] that do everything from find and replace to automatically write HTML for you. - -Modifiers can be written in two styles in order to support different use cases and improve readability. - -### String/Shorthand Style - -Modifiers are separated by `|` pipe delimiters. Parameters are delimited by `:` colons. This is usually the recommended style while working with string variables, conditions, and when you don't need to pass multi-word arguments in a parameter. - -``` -{{ string_var | modifier_1 | modifier_2:param1:param2 }} -``` - -If you use this string/shorthand style on arrays, you need to make sure the closing tag matches the opening one **exactly**. You may notice this looks terrible and is quite annoying. That's why we also have the... - -### Array/Tag Parameter Style - -Modifiers on array variables are formatted like Tag parameters. Parameters are separated with `|` pipes. You can’t use modifiers in conditions when you format them this way. - -``` -{{ array_var modifier="param1|param2" }} - // Magic goes here -{{ /array_var }} -``` - -:::warning -You **cannot** mix and match modifier styles. -ie. This totally won't work: `{{ var | foo | bar="baz" }}` -::: - -### Escaping Data - -By default, Antlers `{{ }}` statements are _not_ automatically escaped. Because content is often stored along with HTML markup, this is the most logical default behavior. **But remember: never render user-submitted data without escaping it first!** - -The simplest way to escape data is by using the [sanitize](/modifiers/sanitize) modifier. This will run the data through PHP's `htmlspecialchars()` function and prevent XSS attacks and other potential nastiness. - -``` -{{ user_submitted_content | sanitize }} -``` - -## Logic & Conditions {#conditions} - -Antlers can handle logic and conditional statements, just like native PHP. You can use logic to check settings, variables, or even user data and alter the output of your page. - -You may construct conditional statements using the `if`, `else`, `elseif`, `unless` keywords, and use any of PHP's [comparison](https://www.php.net/manual/en/language.operators.comparison.php) and [logical](https://www.php.net/manual/en/language.operators.logical.php) operators. - -``` -{{ if songs === 1 }} -

There is a song!

-{{ elseif songs > 100 }} -

There are lots of songs!

-{{ elseif songs }} -

There are songs. -{{ else }} -

There are no songs.

-{{ /if }} -``` - - -
Antlers variables are null by default. Keep your logic statements simple and skip checking for existence altogether.
- -### Shorthand Conditions (Ternary) {#ternary} - -Basic ternary operators will let you write a simple if/else statement all in one line. - -``` -// Basic: verbose -This item is {{ if is_sold }}sold{{ else }}available{{ /if }}. - -// Ternary: nice and short -This item is {{ is_sold ? "sold" : "available" }}. -``` - -Learn more about [ternary operators][ternary] in PHP. - -### Modifiers Inside Conditions - -If you want to manipulate a variable with [modifiers](/modifiers) before evaluating a condition, wrap the expression in (parenthesis). - -``` -{{ if (number_of_bedrooms | count) > 10 }} -

Who are you, Dwayne Johnson?

-{{ /if }} -``` - -### Variable Fallbacks (Null Coalescence) {#null-coalescence} - -When all you need to do is display a variable and set a fallback when it’s null, use the null coalescence operator (`??`). - -``` -{{ meta_title ?? title ?? "No Title Set" }} -``` - -### Conditional Variable Fallbacks - -What if you want to combine an `is set` check with a ternary operator? No problem. - -``` -// Short and sweet -{{ show_title ?= title }} - -// Longer and bitterer -{{ if show_title }}{{ title }}{{ /if }} -``` - -### Using Tags in Conditions - -Yes, you can even use tags in conditions. When working with [tags][tags] instead of variables, you **must** wrap the tag in a pair of additional single braces to tell the parser to run that logic first. - -``` -{{ if {session:some_var} == "Statamic is rad!" }} - ... -{{ /if }} -``` - -## Code Comments {#comments} - -Antlers also allows you to define comments in your views. However, unlike HTML comments, Antlers are not included in the rendered HTML. You can use these comments to "turn off" chunks of code, document your work, or leave notes for yourself and other developers. - -``` -{{# Remember to replace the lorem ipsum this time. #}} -``` - -## Tags - -[Tags][tags] are the primary method for implementing most of Statamic's dynamic features, like search, forms, nav building, pagination, collection listing, filtering, image resizing, and so on. - -Tags often look quite similar to variables, so it pays to learn the list of available [Tags][tags] so you don't mix them up or create conflicts. - -### Variables Inside Tag Parameters - -There are two ways to use variables _inside_ a Tag's parameters. - -You can use **dynamic binding** to pass the value of a variable via its name. - -``` -{{ nav :from="segment_1" }} -``` - -Alternatively, you can use **string interpolation** and reference any variables with _single braces_. This method lets you concatenate a string giving you the ability assemble arguments out of various parts. Like Frankenstein's monster. - -``` -{{ nav from="{segment_1}/{segment_2}" }} -``` - -### Modifiers Inside Parameters - -If using a variable inside of a Tag is nice, using a variable with a modifier inside of a Tag is better. Or more complicated. Either way, it works exactly as you’d expect with one small caveat: When using a modifier inside of a Tag, no whitespace is allowed between variables, pipes, and modifiers. Collapse that stuff. - -``` -// Totally fine. -{{ partially:broken src="{featured_image|url}" }} - -// Totally not. -{{ partially:broken src="{ featured_image | url }" }} -``` - -## Prevent Parsing - -You may find you need to prevent Antlers statements from being parsed. This is common if you're using a JavaScript library like [Vue.js][vue], or perhaps you want to display code examples (like we do in these docs). In either case, you have a few options. - -First, you may use an `@` symbol to tell Antlers to leave it alone like a jellyfish on the beach. The `@` symbol will be stripped out automatically leaving nothing but your expression behind. - -``` -Hey, look at that @{{ noun }}! -``` - -### The `noparse` Tag - -Use this method if you need to prevent entire code blocks from being parsed. - -``` -{{ noparse }} - Welcome to {{ fast_food_chain }}, - home of the {{ fast_food_chain_specialty_item }}, - can I take your order? -{{ /noparse }} -``` - -## Using Antlers in Content - -By default, Antlers expressions and tags are **not** parsed inside your content. This is for performance and security reasons. - -For example, a guest author with limited access to the control panel could conceivably write some template code to fetch and display published/private content from a collection they don't have access to. - -If this isn't a concern of yours, you can enable Antlers parsing on a per-field basis by setting `antlers: true` in your blueprint. - -## Using PHP in Antlers - -PHP is disabled by default, but if you change your view's file extension from `.antlers.html` to `.antlers.php`, you can write all the PHP you want in that template. - -## IDEs & Syntax Highlighters - -Syntax highlighting packages are available for most of the popular IDEs. Make life sweeter, like they do with tea in the south. - -- [Antlers Toolbox for VS Code](https://antlers.dev/) -- [Antlers Language Support for PHP Storm](https://plugins.jetbrains.com/plugin/19203-antlers-language-support) -- [Antlers for Atom](https://github.com/addisonhall/language-antlers) -- [Antlers for Sublime](https://github.com/addisonhall/antlers-statamic-sublime-syntax) - - -[ternary]: https://www.php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary -[vue]: https://vuejs.org -[modifiers]: /modifiers -[tags]: /tags \ No newline at end of file diff --git a/content/collections/docs/antlers.md b/content/collections/docs/antlers.md index 1329bb34b..00c7c61bb 100644 --- a/content/collections/docs/antlers.md +++ b/content/collections/docs/antlers.md @@ -4,9 +4,6 @@ blueprint: page title: 'Antlers Templates' intro: |- Antlers is a simple and powerful templating engine provided with Statamic. It can fetch and filter content, display, modify, and set variables, tap into core features like user authentication and search, and handle complex logic. Coming from Laravel and want to stick to Blade? [We got you covered](/blade). - :::tip Hot Tip - For sites running Statamic 3.2 and older you'll need to use the [legacy Antlers parser](/antlers-legacy). For all other projects, keep reading. You're in the right place. - ::: template: page --- ## Overview @@ -32,13 +29,22 @@ This is a very simple Antlers tag: ### Configuring -You can configure advanced settings (or switch to the [legacy Antlers parser](/antlers-legacy)) in `config/statamic/antlers.php`. The `runtime` version is the fresh new default parser as of Statamic 3.4, as documented on this very page. +You can configure advanced settings, like guarded variables, tags & modifiers in `config/statamic/antlers.php`. ```php // config/statamic/antlers.php return [ - 'version' => 'runtime', - // ... + 'guardedVariables' => [ + 'config.app.key', + ], + + 'guardedTags' => [ + // + ], + + 'guardedModifiers' => [ + // + ], ]; ``` @@ -375,10 +381,6 @@ There are more than 150 built-in [modifiers](/reference/modifiers) that can do a You can even create [Macros](/modifiers/macro) to combine sets of often used modifiers into one, new reusable one. -#### Legacy Syntax - -The New Antlers Parser still supports what we're now calling the "[Legacy Syntax](/antlers-legacy#stringshorthand-style)" styles, and will continue to do so until Statamic 4.0. - ### Creating Variables You can now set variables by using the assignment operator, `=`. From a7226f602822d78392f964a6cc9fff32f557830a Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Thu, 14 Mar 2024 10:24:23 -0400 Subject: [PATCH 05/36] fill in min php/laravel versions, and recommend upgrading --- content/collections/docs/4-to-5.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/content/collections/docs/4-to-5.md b/content/collections/docs/4-to-5.md index 66d611e17..c2eb89c34 100644 --- a/content/collections/docs/4-to-5.md +++ b/content/collections/docs/4-to-5.md @@ -27,10 +27,12 @@ composer update statamic/cms --with-dependencies ## High impact changes ### PHP and Laravel support -**Affects apps using PHP < n or Laravel < 10.** +**Affects apps using PHP < 8.1 or Laravel < 10.** -- The minimum version of PHP is now __. -- The minimum version of Laravel is now __. +- The minimum version of PHP is now 8.1. +- The minimum version of Laravel is now 10. + +We highly recommend upgrading all the way to Laravel 11 and PHP 8.3. ## Medium impact changes From 9fba930baa40a1f589a06bb4efc021329e13d7bc Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Thu, 14 Mar 2024 10:24:32 -0400 Subject: [PATCH 06/36] please --- content/collections/docs/4-to-5.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/content/collections/docs/4-to-5.md b/content/collections/docs/4-to-5.md index c2eb89c34..ded0dcb99 100644 --- a/content/collections/docs/4-to-5.md +++ b/content/collections/docs/4-to-5.md @@ -40,6 +40,14 @@ We highly recommend upgrading all the way to Laravel 11 and PHP 8.3. ## Low impact changes +### Please command compatibility +**Affects apps using the please command for custom commands and task scheduling.** + +The `please` command has been updated to work best with Laravel 11. If you choose to stay on Laravel 10, your app's commands and task schedule defined in `app/Console/Kernel.php` will no longer be included and you should use the `artisan` command instead. + +If you are on Laravel 11, the `please` command will continue to work as expected. + + ### Seed removed from `shuffle` modifier **Affects apps using the shuffle modifier with an argument.** From 88f1a36d3fae8a62f31494890a67b0fad4bd83d9 Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Thu, 14 Mar 2024 13:17:08 -0400 Subject: [PATCH 07/36] nevermind i figured it out --- content/collections/docs/4-to-5.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/content/collections/docs/4-to-5.md b/content/collections/docs/4-to-5.md index ded0dcb99..c2eb89c34 100644 --- a/content/collections/docs/4-to-5.md +++ b/content/collections/docs/4-to-5.md @@ -40,14 +40,6 @@ We highly recommend upgrading all the way to Laravel 11 and PHP 8.3. ## Low impact changes -### Please command compatibility -**Affects apps using the please command for custom commands and task scheduling.** - -The `please` command has been updated to work best with Laravel 11. If you choose to stay on Laravel 10, your app's commands and task schedule defined in `app/Console/Kernel.php` will no longer be included and you should use the `artisan` command instead. - -If you are on Laravel 11, the `please` command will continue to work as expected. - - ### Seed removed from `shuffle` modifier **Affects apps using the shuffle modifier with an argument.** From 62cf6137423b9f55310d140645b1f5c2175eab0f Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Wed, 20 Mar 2024 17:12:37 -0400 Subject: [PATCH 08/36] slugs --- content/collections/extending-docs/slugify.md | 18 ---- content/collections/extending-docs/slugs.md | 85 +++++++++++++++++++ 2 files changed, 85 insertions(+), 18 deletions(-) delete mode 100644 content/collections/extending-docs/slugify.md create mode 100644 content/collections/extending-docs/slugs.md diff --git a/content/collections/extending-docs/slugify.md b/content/collections/extending-docs/slugify.md deleted file mode 100644 index a735af0f0..000000000 --- a/content/collections/extending-docs/slugify.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Slugify -stage: 1 -id: d84613d5-2b2b-465d-8f02-c71b6d2aadf1 ---- -You can use the `` component to generate a slug based off another property: - -``` html - - - -``` - -When the value of the `from` prop changes (ie. the `title` property), it will update the `slug` property. - -If you update the slug manually (ie. by typing in the field), the component will realize, and prevent any further automatic slug generation. - -If you want underscores instead of dashes, you can pass in `separator="_"`. diff --git a/content/collections/extending-docs/slugs.md b/content/collections/extending-docs/slugs.md new file mode 100644 index 000000000..75033c44d --- /dev/null +++ b/content/collections/extending-docs/slugs.md @@ -0,0 +1,85 @@ +--- +title: Slugs +stage: 1 +id: d84613d5-2b2b-465d-8f02-c71b6d2aadf1 +--- +## Slugify Vue Component + +You can use the `` component to generate a slug based off another property: + +``` html + + + +``` + +When the value of the `from` prop changes (ie. the `title` property), it will update the `slug` property. + +If you update the slug manually (ie. by typing in the field), the component will realize, and prevent any further automatic slug generation. + +If you want underscores instead of dashes, you can pass in `separator="_"`. + + +## JavaScript API + +### Basic Slugs +You may also create slugs programmatically. + +```js +Statamic.$slug.create('Hello World'); // hello-world +``` + +You may also define the separating character: + +```js +Statamic.$slug.separatedBy('_').create('Hello World'); // hello_world +``` + +You may use the `str_slug` and `snake_case` global methods respectively as aliases for both of these: + +```js +str_slug('Hello World'); // hello-world +snake_case('Hello World'); // hello_world +``` + +:::tip +When you're within a Vue component, you may use `this.$slug` instead of `Statamic.$slug`. +::: + +### More Oomph + +When you need more accurate slugs, you can leverage PHP's more powerful slug logic. By calling `async`, the `create` method will become Promise-based as it requests slugs from the server: + +```js +Statamic.$slug.async().create('Hello World').then(slug => { + console.log(slug); // 'hello-world' +}) +``` + +This is particularly useful when you need to provide the language: + +```js +Statamic.$slug.in('zh').async().separatedBy('_') + .create('你好世界') + .then(slug => console.log(slug)); // ni_hao_shi_jie +``` + +:::tip +If you don't provide a language, the language of the selected site in the control panel will be used. +::: + +### Debouncing + +If you will be calling this repeatedly, such as via user's keystrokes, debouncing is useful to prevent excess calls to the server. + +Debouncing will be automatically handled as long as you call `create` on the same instance: + +```js +const slugger = Statamic.$slug.async().separatedBy('_'); + +slugger.create('one').then(slug => console.log(slug)); +slugger.create('two').then(slug => console.log(slug)); +slugger.create('three').then(slug => console.log(slug)); + +// console: 'three' +``` From 6d30bd1371dbaeed1a47bc1d83a333da835925a9 Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Thu, 28 Mar 2024 09:56:56 -0400 Subject: [PATCH 09/36] explain how to use temporary file uploads --- content/collections/docs/forms.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/content/collections/docs/forms.md b/content/collections/docs/forms.md index e37d8800f..b5d81e53d 100644 --- a/content/collections/docs/forms.md +++ b/content/collections/docs/forms.md @@ -263,20 +263,22 @@ email: # other settings here ``` +If you don't want the attachments to be kept around on your server, you should pick the `files` fieldtype option explained below. + ## File Uploads Sometimes your fans want to show you things they've created, like scissor-cut love letters and innocent selfies with cats. No problem! File input types to the rescue. Inform Statamic you intend to collect files, specify where you'd like the uploads to go, and whether you'd like them to simply be placed in a directory somewhere, or become reusable Assets. -First up, add `files="true"` to your form tag. (This will add `enctype="multipart/form-data"` to the generated `
` tag. That's always so difficult to remember.) +First, add a file upload field to your blueprint: +- Add an `assets` field if you want the uploaded files to be stored in one of your asset containers. +- Add a `files` field if you're only wanting to attach the uploads to the email. Anything uploaded using this fieldtype will be attached and then deleted after the emails are sent. -``` -{{ form:create formset="contact" files="true" }} -... -{{ /form:create }} -``` +Then decide if you need single or multiple files to be uploaded. + +### Single files -Then add an `assets` field to your blueprint, with a `max_files` setting of `1`: +On your field, add a `max_files` setting of `1`: ``` @@ -298,7 +300,7 @@ You have two methods available to you: First, You can create separate fields for each upload. This is useful if each has a separate purpose, like Resume, Cover Letter, and Headshot. You'll need to explicitly create each and every one in your formset. -Or, you can enable multiple files on one field by dropping the `max_files` setting on your assets field, and using array syntax on your input by adding a set of square brackets to the `name` attribute: +Or, you can enable multiple files on one field by dropping the `max_files` setting on your field, and using array syntax on your input by adding a set of square brackets to the `name` attribute: ``` From fcc2a832eb8a037bf66316514c21b33a222f22b4 Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Thu, 28 Mar 2024 17:10:19 +0000 Subject: [PATCH 10/36] Tweak note about supported Laravel versions --- content/collections/docs/laravel.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/collections/docs/laravel.md b/content/collections/docs/laravel.md index d281e0554..43169138e 100644 --- a/content/collections/docs/laravel.md +++ b/content/collections/docs/laravel.md @@ -24,7 +24,7 @@ You'll get a bunch of things automatically set up for you, like a pages collecti ## Supported Versions of Laravel -**Laravel 9 and Laravel 10 are supported with Statamic 4+.** If you need Laravel 8 support, you can still use Statamic 3.x. +**Laravel 10 & Laravel 11 are supported with Statamic 5.** If you need Laravel 9 support, you can still use Statamic 4.x. ## Install Statamic From 0fe27032f9df2e3dac0c91e6ff734d08895e7586 Mon Sep 17 00:00:00 2001 From: Jesse Leite Date: Thu, 28 Mar 2024 14:02:46 -0400 Subject: [PATCH 11/36] [5.x] Update string based validation rules (#1298) --- content/collections/docs/validation.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/content/collections/docs/validation.md b/content/collections/docs/validation.md index 63648f777..a1f1924ad 100644 --- a/content/collections/docs/validation.md +++ b/content/collections/docs/validation.md @@ -98,7 +98,7 @@ You may use any validation rule provided by Laravel. You can view the complete l handle: highlander field: type: text - validate: 'unique_entry_value:{collection},{id},{site}' + validate: 'new \Statamic\Rules\UniqueEntryValue({collection}, {id}, {site})' ``` This works like Laravel's `unique` validation rule, but for Statamic entries. The rule should be used verbatim as shown above. Statamic will replace the `collection`, `id`, and `site` behind the scenes. @@ -120,10 +120,10 @@ You can then customize the error message right in your `resources/lang/{lang}/va handle: foo field: type: text - validate: 'unique_term_value:{taxonomy},{id},{site}' + validate: 'new \Statamic\Rules\UniqueTermValue({taxonomy}, {id}, {site})' ``` -This works like the `unique_entry_value` rule, but for taxonomy terms. +This works like the `UniqueEntryValue` rule, but for taxonomy terms. ### Unique User Value @@ -132,13 +132,13 @@ This works like the `unique_entry_value` rule, but for taxonomy terms. handle: login field: type: text - validate: 'unique_user_value:{id}' + validate: 'new \Statamic\Rules\UniqueUserValue({id})' ``` -This works like the `unique_entry_value` rule, but for users. +This works like the `UniqueEntryValue` rule, but for users. :::tip -If you want to override the field that is being validated (e.g. in Livewire Form Objects), you can do so by passing a second parameter to the validation rule, such as `unique_user_value:{id},username`. +If you want to override the field that is being validated (e.g. in Livewire Form Objects), you can do so by passing a second parameter to the validation rule, such as `new \Statamic\Rules\UniqueUserValue({id}, "username")`. ::: ## Custom Rules From 07ad278072011574b92af444e50710a6fe72a32c Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Thu, 28 Mar 2024 14:15:03 -0400 Subject: [PATCH 12/36] link to upgrade guides so we dont have maintain two identical lists --- content/collections/docs/updating.md | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/content/collections/docs/updating.md b/content/collections/docs/updating.md index bb0f86768..493ed3eb8 100644 --- a/content/collections/docs/updating.md +++ b/content/collections/docs/updating.md @@ -53,11 +53,4 @@ To go back to a more traditional version range constraint, you may want to repla ## Major Upgrades -Upgrading between major Statamic versions sometimes involves extra manual steps. Check out these guides for further details. - -- [3.4 to 4.0](/upgrade-guide/3-4-to-4-0) -- [3.3 to 3.4](/upgrade-guide/3-3-to-3-4) -- [3.2 to 3.3](/upgrade-guide/3-2-to-3-3) -- [3.1 to 3.2](/upgrade-guide/3-1-to-3-2) -- [3.0 to 3.1](/upgrade-guide/3-0-to-3-1) -- [2.x to 3.x](/upgrade-guide/v2-to-v3) +Upgrading between major Statamic versions sometimes involves extra manual steps. Check out [these guides](/upgrade-guide) for further details. From 101a1225c6531d4eca1ff44c9c48f5122fca363b Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Thu, 28 Mar 2024 14:15:09 -0400 Subject: [PATCH 13/36] document rule changes --- content/collections/docs/4-to-5.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/content/collections/docs/4-to-5.md b/content/collections/docs/4-to-5.md index c2eb89c34..51f5d9daa 100644 --- a/content/collections/docs/4-to-5.md +++ b/content/collections/docs/4-to-5.md @@ -40,6 +40,25 @@ We highly recommend upgrading all the way to Laravel 11 and PHP 8.3. ## Low impact changes +### Validation rule changes +**Affects apps using `unique_entry_value`, `unique_term_value`, or `unique_user_value` rules.** + +_Note that assuming you haven't done anything too unusual, the following changes may have been performed automatically by Statamic during the update process._ + +We have updated our custom validation rules to use the more modern Laravel syntax. This means dropping the string based aliases in favor of classes. + +```yaml +validate: + - 'unique_entry_value:{collection},{id},{site}' #[tl!--] + - 'new \Statamic\Rules\UniqueEntryValue({collection},{id},{site})' #[tl!++] + + - 'unique_term_value:{taxonomy},{id},{site}' #[tl!--] + - 'new \Statamic\Rules\UniqueTermValue({taxonomy},{id},{site})' #[tl!++] + + - 'unique_user_value:{id}' #[tl!--] + - 'new \Statamic\Rules\UniqueUserValue({id})' #[tl!++] +``` + ### Seed removed from `shuffle` modifier **Affects apps using the shuffle modifier with an argument.** From 1a298d11d7f5276ad8b8a2f0db4097c778914bc1 Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Mon, 1 Apr 2024 16:22:43 -0400 Subject: [PATCH 14/36] explain fake sql queries and how to disable them --- content/collections/docs/debugging.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/content/collections/docs/debugging.md b/content/collections/docs/debugging.md index 9c5abe8bc..a94d00b79 100644 --- a/content/collections/docs/debugging.md +++ b/content/collections/docs/debugging.md @@ -20,6 +20,18 @@ Statamic will try to detect why you're receiving a specific exception and provid + +## Fake SQL Queries + +By default, Statamic doesn't use a database, so our query builders don't actually execute SQL queries. However, we "fake" the queries so that they appear in your preferred debugging tools like [Ray](https://myray.app) or Debugbar (more on that below). + +They are enabled when you're in debug mode, but if you'd like to disable them you can do so in `config/statamic/system.php`: + +```php +'fake_sql_queries' => false, +``` + + ## Debug Bar The debug bar is a convenient way to explore many of the things happening in any given page request. You can see data Statamic is fetching, which views are being rendered, information on the current route, available variables, user's session, request data, and more. From c05201693145ced90a06b2ef182aa32d7e342805 Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Tue, 2 Apr 2024 18:09:47 +0100 Subject: [PATCH 15/36] [5.x] Document new `findOrFail` methods on repositories (#1305) * Tweak wording on "Entry Repository" page * Document `findOrFail` on other repositories --- .../repositories/asset-container-repository.md | 8 +++++++- content/collections/repositories/asset-repository.md | 11 ++++++----- .../collections/repositories/collection-repository.md | 9 ++++++++- content/collections/repositories/entry-repository.md | 4 ++-- content/collections/repositories/form-repository.md | 7 +++++++ content/collections/repositories/global-repository.md | 1 + .../collections/repositories/taxonomy-repository.md | 7 +++++++ content/collections/repositories/term-repository.md | 1 + content/collections/repositories/user-repository.md | 7 +++++++ 9 files changed, 46 insertions(+), 9 deletions(-) diff --git a/content/collections/repositories/asset-container-repository.md b/content/collections/repositories/asset-container-repository.md index d79fac51a..3595bb9a3 100644 --- a/content/collections/repositories/asset-container-repository.md +++ b/content/collections/repositories/asset-container-repository.md @@ -26,6 +26,7 @@ use Statamic\Facades\AssetContainer; | `all()` | Get all AssetContainers | | `find($id)` | Get AssetContainer by `id` | | `findByHandle($handle)` | Get AssetContainer by `handle` | +| `findOrFail($id)` | Get AssetContainer by `id`. Throws an `AssetContainerNotFoundException` when the asset container cannot be found. | | `queryAssets()` | Query Builder for the AssetContainer's [Assets](#assets) | | `make()` | Makes a new AssetContainer instance | @@ -45,6 +46,12 @@ $videos->queryAssets() ->get(); ``` +When an asset container can't be found, the `AssetContainer::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method: + +```php +AssetContainer::findOrFail('videos'); +``` + ## Creating Start by making an instance of an asset container with the `make` method. You can pass the handle into it. @@ -71,4 +78,3 @@ Finally, save it. ```php $container->save(); ``` - diff --git a/content/collections/repositories/asset-repository.md b/content/collections/repositories/asset-repository.md index d532dfda5..d2b9c307c 100644 --- a/content/collections/repositories/asset-repository.md +++ b/content/collections/repositories/asset-repository.md @@ -20,12 +20,13 @@ use Statamic\Facades\Asset; | Methods | Description | | ------- | ----------- | | `all()` | Get all Assets | -| `find()` | Get Asset by `filename` | -| `findByPath()` | Get Asset by `path` | -| `findByUrl()` | Get Asset by `url` | +| `find($filename)` | Get Asset by `filename` | +| `findByPath($path)` | Get Asset by `path` | +| `findByUrl($url)` | Get Asset by `url` | +| `findOrFail($filename)` | Get Asset by `filename`. Throws an `AssetNotFoundException` when the asset cannot be found. | | `query()` | Query Builder | -| `whereContainer()` | Find Assets by [AssetContainer](#asset-container) | -| `whereFolder()` | Find Assets in a filesystem folder | +| `whereContainer($container)` | Find Assets by [AssetContainer](#asset-container) | +| `whereFolder($folder)` | Find Assets in a filesystem folder | | `make()` | Makes a new `Asset` instance | :::tip diff --git a/content/collections/repositories/collection-repository.md b/content/collections/repositories/collection-repository.md index 1e8048694..6987539a6 100644 --- a/content/collections/repositories/collection-repository.md +++ b/content/collections/repositories/collection-repository.md @@ -23,7 +23,8 @@ use Statamic\Facades\Collection; | `all()` | Get all Collections | | `find($id)` | Get Collection by `id` | | `findByHandle($handle)` | Get Collection by `handle` | -| `findByMount($mount)` | Get Asset by mounted entry `id` | +| `findByMount($mount)` | Get Collection by mounted entry `id` | +| `findOrFail($id)` | Get Collection by `id`. Throws a `CollectionNotFoundException` when the collection cannot be found. | | `handleExists($handle)` | Check to see if `Collection` exists | | `handles()` | Get all `Collection` handles | | `queryEntries()` | Query Builder for [Entries](/repositories/entry-repository) | @@ -44,6 +45,12 @@ $blog = Collection::find('blog'); $blog->queryEntries()->get(); ``` +When a collection can't be found, the `Collection::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method: + +```php +Collection::findOrFail('blog'); +``` + ## Creating Start by making an instance of a collection with the `make` method. You can pass the handle into it. diff --git a/content/collections/repositories/entry-repository.md b/content/collections/repositories/entry-repository.md index 9379148ad..7b68280eb 100644 --- a/content/collections/repositories/entry-repository.md +++ b/content/collections/repositories/entry-repository.md @@ -22,7 +22,7 @@ use Statamic\Facades\Entry; | `all()` | Get all Entries | | `find($id)` | Get Entry by `id` | | `findByUri($uri, $site)` | Get Entry by `uri`, optionally in a site | -| `findOrFail($id)` | Get Entry by `id`. Throws an `EntryNotFoundException` when entry can not be found. | +| `findOrFail($id)` | Get Entry by `id`. Throws an `EntryNotFoundException` when the entry cannot be found. | | `query()` | Query Builder | | `whereCollection($handle)` | Get all Entries in a `Collection` | | `whereInCollection([$handles])` | Get all Entries in an array of `Collections` | @@ -41,7 +41,7 @@ Entry::query()->where('id', 123)->first(); Entry::find(123); ``` -When an entry can't be found, the `Entry::find()` method will return `null`. If you'd prefer an exception be thrown, you can use the `findOrFail` method: +When an entry can't be found, the `Entry::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method: ```php Entry::findOrFail(123); diff --git a/content/collections/repositories/form-repository.md b/content/collections/repositories/form-repository.md index b863e7fc5..3e9922d38 100644 --- a/content/collections/repositories/form-repository.md +++ b/content/collections/repositories/form-repository.md @@ -20,6 +20,7 @@ use Statamic\Facades\Form; | ------- | ----------- | | `all()` | Get all Forms | | `find($handle)` | Get Form by `handle` | +| `findOrFail($handle)` | Get Form by `handle`. Throws a `FormNotFoundException` when the form cannot be found. | | `make()` | Makes a new `Form` instance | :::tip @@ -36,6 +37,12 @@ The `handle` is the name of the form's YAML file. Form::find('postbox'); ``` +When a form can't be found, the `Form::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method: + +```php +Form::findOrFail('postbox'); +``` + #### Get all forms from your site ```php diff --git a/content/collections/repositories/global-repository.md b/content/collections/repositories/global-repository.md index 63498c31c..1d2f0eeaa 100644 --- a/content/collections/repositories/global-repository.md +++ b/content/collections/repositories/global-repository.md @@ -20,6 +20,7 @@ use Statamic\Facades\GlobalSet; | `all()` | Get all GlobalSets | | `find($id)` | Get GlobalSets by `id` | | `findByHandle($handle)` | Get GlobalSets by `handle` | +| `findOrFail($id)` | Get GlobalSets by `id`. Throws a `GlobalSetNotFoundException` when the global set cannot be found. | | `make()` | Makes a new `GlobalSet` instance | ## Querying diff --git a/content/collections/repositories/taxonomy-repository.md b/content/collections/repositories/taxonomy-repository.md index 4d4021356..c9d39ebc6 100644 --- a/content/collections/repositories/taxonomy-repository.md +++ b/content/collections/repositories/taxonomy-repository.md @@ -24,6 +24,7 @@ use Statamic\Facades\Taxonomy; | `find($id)` | Get Taxonomy by `id` | | `findByHandle($handle)` | Get Taxonomy by `handle` | | `findByUri($mount)` | Get Taxonomy by `uri` | +| `findOrFail($id)` | Get Taxonomy by `id`. Throws a `TaxonomyNotFoundException` when the taxonomy cannot be found. | | `handleExists($handle)` | Check to see if `Taxonomy` exists | | `handles()` | Get all `Taxonomy` handles | | `queryTerms()` | Query Builder for [Terms](/content-queries/term-repository) | @@ -43,6 +44,12 @@ $tags = Taxonomy::find('tags'); $tags->queryTerms()->get(); ``` +When a taxonomy can't be found, the `Taxonomy::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method: + +```php +Taxonomy::findOrFail('tags'); +``` + ## Creating Start by making an instance of a taxonomy with the `make` method. You can pass the handle into it. diff --git a/content/collections/repositories/term-repository.md b/content/collections/repositories/term-repository.md index 980295eeb..85d476df7 100644 --- a/content/collections/repositories/term-repository.md +++ b/content/collections/repositories/term-repository.md @@ -23,6 +23,7 @@ use Statamic\Facades\Term; | `all()` | Get all Terms | | `find($id)` | Get Term by `id` | | `findByUri($uri)` | Get Term by `uri` | +| `findOrFail($id)` | Get Term by `id`. Throws a `TermNotFoundException` when the term cannot be found. | | `query()` | Query Builder | | `make()` | Makes a new `Term` instance | diff --git a/content/collections/repositories/user-repository.md b/content/collections/repositories/user-repository.md index 53ef3b427..f5cd68a45 100644 --- a/content/collections/repositories/user-repository.md +++ b/content/collections/repositories/user-repository.md @@ -24,6 +24,7 @@ use Statamic\Facades\User; | `find($id)` | Get User by `id` | | `findByEmail($email)` | Get User by `email` | | `findByOAuthID($provider, $id)` | Get User by an ID from an OAuth provider | +| `findOrFail($id)` | Get User by `id`. Throws a `UserNotFoundException` when the user cannot be found. | | `query()` | Query Builder | | `make()` | Makes a new `User` instance | @@ -40,6 +41,12 @@ User::query() User::find('abc123'); ``` +When a user can't be found, the `User::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method: + +```php +User::findOrFail('abc123'); +``` + #### Get a user by email ```php From ac6eb69b6376dccd8db1ace6597154e3d2e5338e Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Tue, 2 Apr 2024 19:03:42 +0100 Subject: [PATCH 16/36] Terms repository: Add note about `findOrFail` now we have a `find` example --- content/collections/repositories/term-repository.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/content/collections/repositories/term-repository.md b/content/collections/repositories/term-repository.md index bcb58d7a6..1a58b9df3 100644 --- a/content/collections/repositories/term-repository.md +++ b/content/collections/repositories/term-repository.md @@ -42,6 +42,12 @@ Term::query()->where('id', 'tags::123')->first(); Term::find('tags::123'); ``` +When a term can't be found, the `Term::find()` method will return `null`. If you'd prefer an exception be thrown, you may use the `findOrFail` method: + +```php +Term::findOrFail('tags::123'); +``` + #### Get all tags ```php From 557f3acf14f6a0f9c4d860b3166e8b29bd288388 Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Tue, 2 Apr 2024 16:00:17 -0400 Subject: [PATCH 17/36] bard --- content/collections/docs/4-to-5.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/content/collections/docs/4-to-5.md b/content/collections/docs/4-to-5.md index 51f5d9daa..dedf294de 100644 --- a/content/collections/docs/4-to-5.md +++ b/content/collections/docs/4-to-5.md @@ -70,3 +70,13 @@ In Laravel 11, the underlying randomization technique was made more secure and n ``` The shuffle modifier without an argument will continue to work without any modification needed. + +### Bard JS value is now an object +**Affects apps or addons that are manually targeting Bard's value in JS** + +Previously, to prevent issues with how Laravel would trim whitespace on submitted strings, Bard's value would be a JSON stringified version of an object. In Statamic 5, it will just be the object. + +```js +let bardValue = JSON.parse(getBardValue()); // [tl! --] +let bardValue = getBardValue(); // [tl! ++] +``` From 2a5fab7b3aa25ee1510789597b46fbf553b7e80f Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Wed, 3 Apr 2024 10:04:16 -0400 Subject: [PATCH 18/36] helpers are removed --- content/collections/docs/4-to-5.md | 35 +++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/content/collections/docs/4-to-5.md b/content/collections/docs/4-to-5.md index dedf294de..036f9b949 100644 --- a/content/collections/docs/4-to-5.md +++ b/content/collections/docs/4-to-5.md @@ -36,7 +36,40 @@ We highly recommend upgrading all the way to Laravel 11 and PHP 8.3. ## Medium impact changes -... +### Laravel Helpers package has been removed +**Affects apps or addons relying on methods from that package in custom code.** + +The `laravel/helpers` package provided support for the older global-style string/array/misc functions like `array_get`, `str_contains`, `snake_case`, `ends_with`, etc. You will now need to either require this package yourself, or update to use the underlying methods. + +For example: + +```php +namespace App\Example; + +use Statamic\Support\Arr; // [tl! ++,**] +use Statamic\Support\Str; // [tl! ++,**] + +class Example +{ + function example() + { + array_get($arr, $key); // [tl! --,**] + Arr::get($arr, $key); // [tl! ++,**] + + str_start($str, $prefix); // [tl! --,**] + Str::start($str, $prefix); // [tl! ++,**] + + ends_with($str, $needle); // [tl! --,**] + Str::endsWith($str, $needle); // [tl! ++,**] + } +} +``` + +We recommend making the code changes. However, if you just want to require the package: + +```sh +composer require laravel/helpers +``` ## Low impact changes From 3a5d4d54d7204b9c345d08689ba6c420794dd26c Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Thu, 4 Apr 2024 12:34:32 +0100 Subject: [PATCH 19/36] SVG tag: The default value for the `sanitize` parameter is now `true` --- content/collections/tags/svg.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/collections/tags/svg.md b/content/collections/tags/svg.md index 4eb9cf223..a6bf3ee25 100644 --- a/content/collections/tags/svg.md +++ b/content/collections/tags/svg.md @@ -17,7 +17,7 @@ parameters: - name: sanitize type: boolean - description: Determines whether the SVG should be sanitized before being output. Defaults to `false`. + description: Determines whether the SVG should be sanitized before being output. Defaults to `true`. - name: '*' type: string From 045de7e05618d46802e2c9923414ba61b1f8abb8 Mon Sep 17 00:00:00 2001 From: Jesse Leite Date: Fri, 5 Apr 2024 14:34:05 -0400 Subject: [PATCH 20/36] [5.x] Multi-site documentation overhaul (#1307) --- content/collections/docs/multi-site.md | 232 ++++++++++-------- .../converting-from-single-to-multi-site.md | 84 ++++--- public/img/configure-sites.png | Bin 0 -> 115211 bytes 3 files changed, 175 insertions(+), 141 deletions(-) create mode 100644 public/img/configure-sites.png diff --git a/content/collections/docs/multi-site.md b/content/collections/docs/multi-site.md index 1f7a37c05..cd796d59b 100644 --- a/content/collections/docs/multi-site.md +++ b/content/collections/docs/multi-site.md @@ -17,79 +17,111 @@ Each site can have different base URLs: - subdomains: `example.com` and `fr.example.com` - subdirectories: `example.com` and `example.com/fr/` -[More details on how to convert to a multi-site setup](/tips/converting-from-single-to-multi-site) +::: tip +Every Statamic install needs at least one site. Building zero sites is a bad way to build a website and clients will probably challenge any invoices. +::: + +### Converting Existing Content to Multi-Site + +The simplest way to convert existing content to multi-site friendly structure is to run the automated command: + +``` shell +php please multisite +``` + +Read more on [converting to a multi-site setup](/tips/converting-from-single-to-multi-site). ## Configuration -Let's look at a full site configuration and then we'll explore all of its options. +### Enabling Multi-Site + +First, enable `multisite` in your `config/statamic/system.php`: ``` php -# config/statamic/sites.php - -return [ - 'sites' => [ - 'default' => [ - 'name' => config('app.name'), - 'locale' => 'en_US', - 'url' => '/', - 'direction' => 'ltr', - 'lang' => 'en', - ] - ] -]; +'multisite' => true, ``` -### Sites -Every Statamic install needs at least one site. Building zero sites is a bad way to build a website and clients will probably challenge any invoices. +### Adding New Sites -### Locale -Each site has a `locale` used to format region-specific data (like date strings, number formats, etc). This should correspond to the server's locale. By default Statamic will use English – United States (`en_US`). +Next, you can add new sites through the control panel: -:::tip -To see the list of installed locales on your system or server, run the command `locale -a`. -::: +
+ Configure sites page in control panel +
-### Language -Statamic's control panel has been translated into more than a dozen languages. The language translations files live in `resources/lang`. +Or directly in your `content/sites.yaml` file: -You may specify which language translation to be used for each site with the `lang` setting. If you leave it off, it'll use the short version of the `locale`. e.g. If the locale is `en_US`, the lang will be `en`. +``` yaml +default: + name: First Site + url: / + locale: en_US +second: + name: Second Site + url: /second/ + locale: en_US +``` + +## Available Options -```php -'sites' => [ - 'de' => [ - 'name' => 'Deutsche', - 'locale' => 'de_DE', - // 'lang' => 'de', // Not needed as 'de' is implied. - ], - 'de_ch' => [ - 'name' => 'Deutsche (Switzerland)', - 'locale' => 'de_CH', - 'lang' => 'de_CH', // We want the de_CH language, not de. - ] -] +Let's look at a full site configuration and then we'll explore all of its options. + +``` yaml +# content/sites.yaml + +en: + name: English + url: / + locale: en_US + lang: en + attributes: + theme: standard ``` -Note that both Statamic and Laravel don't ship with frontend language translations out of the box. You have to provide your own string files for this. There is a great package called [Laravel Lang](https://github.com/Laravel-Lang/lang) containing over 75 languages that can help you out with this. +### Handle + +Each site is keyed by its `handle`, which is important for directory structure, as well as referencing sites in collection configs, etc. throughout your site. Changing this is non-trivial, and you should be careful if you already have established content in this site. Read more about [renaming sites](#renaming-sites). + +``` yaml +en: # <- This is your site handle + name: English + +``` +### Name + +Each site has a `name`, which is a display-friendly representation of your site's name mostly seen within control panel UI. Changing this does not affect content relations. + +``` yaml +en: + name: English +``` + +::: tip +You'll notice the default site dynamically references a [config variable](/variables/config), but feel free to change this! + +``` yaml +default: + name: '{{ config:app:name }}' +``` +::: ### URL -URL is required to define the root domain Statamic will serve and generate all URLs relative to. The default `url` is `/`, which is portable and works fine in most typical sites. Statamic uses a little magic to work out what a full URL is based on the domain the site is running on. + +Each site requires a URL to define the root domain Statamic will serve and generate all URLs relative to. The default `url` is `/`, which is portable and works fine in most typical sites. Statamic uses a little magic to work out what a full URL is based on the domain the site is running on. :::best-practice -It can be a good idea to change this to a **fully qualified, absolute URL**. This ensures that server/environment configurations or external quirks don't interfere with that "magic". Using an environment variable is an ideal solution here. - -```php -'sites' => [ - 'en' => [ - // ... - 'url' => env('APP_URL') - ], - 'fr' => [ - // ... - 'url' => env('APP_URL').'fr/' - ] -] +It can be a good idea to change this to a **fully qualified, absolute URL**. This ensures that server/environment configurations or external quirks don't interfere with that "magic". + +```yaml +en: + # ... + url: '{{ config:app:url }}' +fr: + # ... + url: '{{ config:app:url }}/fr/' ``` +By default, this is linked to your `APP_URL` environment variable, which allows you to control the exact URL by environment: ```env # production APP_URL=https://mysite.com/ @@ -97,46 +129,44 @@ APP_URL=https://mysite.com/ # development APP_URL=http://mysite.test/ ``` +::: + +### Locale + +Each site has a `locale` used to format region-specific data (like date strings, number formats, etc). This should correspond to the server's locale. By default Statamic will use English – United States (`en_US`). +:::tip +To see the list of installed locales on your system or server, run the command `locale -a`. ::: -### Text Direction +### Language -All sites are Left-To-right (`ltr`) by default, and you may omit the setting entirely. But if any of your sites is in a `rtl` text direction (like Arabic or Hebrew), you may define the direction in the config and use it on your front-end wherever necessary. +Statamic's control panel has been translated into more than a dozen languages. The language translations files live in `resources/lang`. -```php -'sites' => [ - 'en' => [ - 'name' => 'English', - ], - 'he' => [ - 'name' => 'Hebrew', - 'direction' => 'rtl', - ] -] -``` +You may specify which language translation to be used for each site with the `lang` setting. If you leave it off, it'll use the short version of the `locale`. e.g. If the locale is `en_US`, the lang will be `en`. -``` - +``` yaml +de: + name: Deutsche + locale: de_DE + # Lang not needed, as `de` is implied +de_CH: + name: 'Deutsche (Switzerland)' + locale: de_CH + lang: de_CH # We want the `de_CH` language, not `de` ``` -:::tip -Statamic's `direction` is `ltr` by default. You only need to set `direction` when your site is `rtl`. -::: +Note that both Statamic and Laravel don't ship with frontend language translations out of the box. You have to provide your own string files for this. There is a great package called [Laravel Lang](https://github.com/Laravel-Lang/lang) containing over 75 languages that can help you out with this. ### Additional Attributes -You may also add an array of arbitrary attributes to your site's config, which can later be accessed with the [site variable](/variables/site) . - -```php -'sites' => [ - 'en' => [ - 'name' => 'English', - 'attributes' => [ - 'theme' => 'standard', - ] - ], -] +You may also include additional arbitrary `attributes` in your site's config, which can later be accessed with the [site variable](/variables/site). + +``` yaml +en: + # ... + attributes: + theme: standard ``` ``` @@ -147,27 +177,21 @@ You may also add an array of arbitrary attributes to your site's config, which c Nothing fancy happens here, the values are passed along "as is" to your templates. If you need them to be editable, or store more complex data, you could use [Globals](/globals). ::: +## Text Direction + +Text direction is automatically inferred by Statamic, based on the [language](#language) of your configured site. -## Adding a Site +For example, most sites will be `ltr`, but Statamic will automatically use `rtl` for languages like Arabic or Hebrew. -To add another site to an existing multi-site installation, add another array to the `$sites` configuration array along with the desired settings. +If you need to reference text direction in your front end, you make use the [site variable](/variables/site): -```php -'sites' => [ - 'en' => [ - 'name' => 'English', - // - ], - 'de' => [ - 'name' => 'German', - // - ], -]; +``` + ``` -## Renaming a Site +## Renaming Sites -If you rename a site handle, you'll need to update a few folders and config settings along with it. Replace `{old_handle}` with the new handle in these locations: +If you rename a site's [handle](#handle), you'll need to update a few folders and config settings along with it. Replace `{old_handle}` with the new handle in these locations: **Content Folders** @@ -206,15 +230,15 @@ permissions: [Views](/views) can be organized into site directories. -If a requested view exists in a subdirectory with the same name as your site, it will load it instead. This allows you have site-specific views without any extra configuration. +If a requested view exists in a subdirectory with the same name as your site [handle](#handle), it will load it instead. This allows you have site-specific views without any extra configuration. -``` php -# config/statamic/sites.php +``` yaml +# content/sites.yaml -'sites' => [ - 'site_one' => [ /* ... */ ], - 'site_two' => [ /* ... */ ], -] +site_one: + # ... +site_two: + # ... ``` ``` files theme:serendipity-light diff --git a/content/collections/tips/converting-from-single-to-multi-site.md b/content/collections/tips/converting-from-single-to-multi-site.md index ca98489be..e8f07303f 100644 --- a/content/collections/tips/converting-from-single-to-multi-site.md +++ b/content/collections/tips/converting-from-single-to-multi-site.md @@ -1,6 +1,6 @@ --- id: e1da92af-a0d8-40bb-9417-52675fad5e1f -title: 'Converting from Single to Multi-site' +title: 'Converting from Single to Multi-Site' template: page categories: - development @@ -9,55 +9,65 @@ categories: updated_by: 3a60f79d-8381-4def-a970-5df62f0f5d56 updated_at: 1622821029 --- -## Move files +## Automated Conversion -:::tip -This can be automated using the following command: +We recommend using the following command to convert from a single to [multi-site](/multi-site) installation: -``` +``` shell php please multisite ``` -It's important to run the command **before** making changes to the config file. -::: +## Manual Conversion + +If you wish to better understand how to manually convert from a single to multi-site installation, the steps are as follows. + +### Enable Multisite Config + +First, enable `multisite` in your `config/statamic/system.php`: + +``` php +'multisite' => true, +``` + +### Adding New Sites -2. For each collection: - - Move all entries into a directory named after the first site's handle. (eg. `content/collections/blog/*.md` into `content/collections/blog/default/*.md`) +Next, you can add new sites through the control panel at `/cp/sites`, or directly in your `content/sites.yaml` file: + +``` yaml +default: + name: First Site + url: / + locale: en_US +second: + name: Second Site + url: /second/ + locale: en_US +``` + +By default, the first site handle is named `default`, but feel free to rename it. This handle will be used below. + +### Update Default Site Content + +Now you'll need to update your default site content file & folder structure, so that Statamic knows where to find it, now that you've enabled multi-site. + +1. For each collection: + - Move all entries into a directory named after your default site's handle. (eg. `content/collections/blog/*.md` into `content/collections/blog/default/*.md`) - Add a `sites` array to the collection's yaml file with each site you want the entries to be available in. -3. For each structure: - - Take the `root` and `tree` variables, and move them in a file in a subdirectory named after the first site's handle. (eg. `content/structures/pages.yaml` to `content/structures/default/pages.yaml`) +2. For each tree structure: + - Take the `root` and `tree` variables, and move them in a file in a subdirectory named after your default site's handle. (eg. `content/trees/navigation/pages.yaml` to `content/trees/navigation/default/pages.yaml`) - Add a `sites` array to the root structure's yaml file with each site you want the structure to be available in. -4. For each global set: - - Take the values inside the `data` array, and move them to the top level in a file in a subdirectory named after the first site's handle. (eg. `content/globals/pages.yaml` to `content/globals/default/pages.yaml`) +3. For each global set: + - Take the values inside the `data` array, and move them to the top level in a file in a subdirectory named after the default site's handle. (eg. `content/globals/pages.yaml` to `content/globals/default/pages.yaml`) - Add a `sites` array to the root global's yaml file with each site you want the global to be available in. -5. Clear the cache: - ``` shell - php artisan cache:clear - ``` At this point, your content will be available in the default site. You will need to localize each piece of content by following the steps in its respective documentation. -**If you don't add the `sites` to the respective container files, the site selector will not be visible in the control panel.** +_**Note:** If you don't add the `sites` to the respective container files, the site selector will not be visible in the control panel._ -## Update config +### Clear The Cache -Add the new site to your `config/statamic/sites.php` config. +Finally, clear your cache! -``` php -return [ - 'sites' => [ - 'default' => [ - 'name' => 'First site', - 'locale' => 'en_US', - 'url' => '/', - ], - 'second' => [ - 'name' => 'Second site', - 'locale' => 'en_US', - 'url' => '/second/', - ], - ] -]; +``` shell +php artisan cache:clear ``` - -By default, the first site is named `default`, but feel free to rename it. diff --git a/public/img/configure-sites.png b/public/img/configure-sites.png new file mode 100644 index 0000000000000000000000000000000000000000..58a14897368d93a4c11b979ce1f75666dac6a311 GIT binary patch literal 115211 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 literal 0 HcmV?d00001 From 58fe06e00ce6c04f918ab492109bb4abdaa1b756 Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Fri, 5 Apr 2024 14:58:15 -0400 Subject: [PATCH 21/36] sites --- content/collections/docs/4-to-5.md | 56 ++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/content/collections/docs/4-to-5.md b/content/collections/docs/4-to-5.md index 036f9b949..55a0c3766 100644 --- a/content/collections/docs/4-to-5.md +++ b/content/collections/docs/4-to-5.md @@ -34,8 +34,64 @@ composer update statamic/cms --with-dependencies We highly recommend upgrading all the way to Laravel 11 and PHP 8.3. +### Site configuration changes +**Affects everyone.** + +_Note that Statamic will attempt to migrate this for you automatically during the upgrade._ + +The site config has been moved from `config/statamic/sites.php` into `content/sites.yaml`. This allows you to manage your sites from the Control Panel. + +```php +// config/statamic/sites.php +return [ // [tl! --:start] + 'sites' => [ + 'default' => [ + 'name' => 'First Site', + 'url' => config('app.url'), + 'locale' => 'en_US', + ], + 'two' => [ + 'name' => 'Second Site', + 'url' => config('app.site_two_url'), + 'locale' => 'fr_FR', + ] + ] +]; // [tl! --:end] +``` + +```yaml +# content/sites.yaml +default: # [tl! ++:start] + name: First Site + url: '{{ config:app:url }}' + locale: en_US +two: + name: First Site + url: '{{ config:app:url }}' + locale: fr_FR # [tl! ++:end] +``` + +There is now also a new `multisite` boolean in `config/statamic/system.php`. Previously, the multi-site feature would be considered "enabled" as soon as you configured a second site. Now there is an explicit option to enable it. + +This should be set to `true` if you previously had 2 or more sites configured. + +```php +// config/statamic/system.php +'multisite' => true, +``` + ## Medium impact changes +### Site methods +**Affects apps or addons using the `Site::hasMultiple()` method.** + +Continuing from the multi-site configuration changes above, there are now two separate methods for determining multi-site state. + +- The new `Site::multiEnabled()` method will return true if the `multisite` boolean in `system.php` is enabled. +- The existing `Site::hasMultiple()` method will return `true` if at least two sites are configured. + +You should decide whether each existing usage of `Site::hasMultiple()` should imply that the feature is enabled entirely, or if you need to actually count the number of sites. + ### Laravel Helpers package has been removed **Affects apps or addons relying on methods from that package in custom code.** From 67ee3f4e9982c73f7743a1fc7140413774ddb1fe Mon Sep 17 00:00:00 2001 From: Jesse Leite Date: Fri, 5 Apr 2024 15:03:31 -0400 Subject: [PATCH 22/36] Tweak sites. --- content/collections/docs/4-to-5.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/collections/docs/4-to-5.md b/content/collections/docs/4-to-5.md index 55a0c3766..a34078a49 100644 --- a/content/collections/docs/4-to-5.md +++ b/content/collections/docs/4-to-5.md @@ -52,7 +52,7 @@ return [ // [tl! --:start] ], 'two' => [ 'name' => 'Second Site', - 'url' => config('app.site_two_url'), + 'url' => config('app.url').'/fr/', 'locale' => 'fr_FR', ] ] @@ -66,8 +66,8 @@ default: # [tl! ++:start] url: '{{ config:app:url }}' locale: en_US two: - name: First Site - url: '{{ config:app:url }}' + name: Second Site + url: '{{ config:app:url }}/fr/' locale: fr_FR # [tl! ++:end] ``` From 1b3c956ea988104cf2c72ebba3fa825b55912bab Mon Sep 17 00:00:00 2001 From: Jesse Leite Date: Fri, 5 Apr 2024 15:43:57 -0400 Subject: [PATCH 23/36] Note on text `direction`. --- content/collections/docs/4-to-5.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/collections/docs/4-to-5.md b/content/collections/docs/4-to-5.md index a34078a49..6543e30c1 100644 --- a/content/collections/docs/4-to-5.md +++ b/content/collections/docs/4-to-5.md @@ -71,6 +71,8 @@ two: locale: fr_FR # [tl! ++:end] ``` +_**Note:** Text direction is now also automatic, [based on each site's language](/multi-site#text-direction). You do not need to migrate `direction` values to your `content/sites.yaml`._ + There is now also a new `multisite` boolean in `config/statamic/system.php`. Previously, the multi-site feature would be considered "enabled" as soon as you configured a second site. Now there is an explicit option to enable it. This should be set to `true` if you previously had 2 or more sites configured. From 46151880409ec7858e2b39e259bae70daa6d5b50 Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Mon, 8 Apr 2024 19:02:02 +0100 Subject: [PATCH 24/36] [5.x] Upgrade Guide: Add note about pagination view changes (#1312) Co-authored-by: Jason Varga --- content/collections/docs/4-to-5.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/content/collections/docs/4-to-5.md b/content/collections/docs/4-to-5.md index 6543e30c1..73fc788f4 100644 --- a/content/collections/docs/4-to-5.md +++ b/content/collections/docs/4-to-5.md @@ -129,6 +129,24 @@ We recommend making the code changes. However, if you just want to require the p composer require laravel/helpers ``` +### Statamic will now use your app's default pagination view +**Affects apps using the `auto_links` pagination variable in templates.** + +Previously, Statamic used the `pagination::default` view to rendering pagination links. In Statamic 5, it will use your app's default pagination view, typically `pagination::tailwind`. + +To avoid making code changes, you may wish to change the default view back to `pagination::default`: + +```php +// app/Providers/AppServiceProvider.php + +use Illuminate\Pagination\Paginator; // [tl! ++] + +public function boot(): void +{ + Paginator::defaultView('pagination::default'); // [tl! ++] +} +``` + ## Low impact changes ### Validation rule changes From b95a7606368e5e6e5a61156e40f2d43daaf1e86b Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Tue, 9 Apr 2024 17:00:39 -0400 Subject: [PATCH 25/36] more upgrade guiding --- content/collections/docs/4-to-5.md | 149 +++++++++++++++++++ content/collections/modifiers/modify_date.md | 2 +- 2 files changed, 150 insertions(+), 1 deletion(-) diff --git a/content/collections/docs/4-to-5.md b/content/collections/docs/4-to-5.md index 73fc788f4..09ddfe8be 100644 --- a/content/collections/docs/4-to-5.md +++ b/content/collections/docs/4-to-5.md @@ -147,8 +147,42 @@ public function boot(): void } ``` +### Tag parameters that output HTML attributes are opt-in +**Affects apps using the `svg` tag or tags that output forms (such as `form:create`, `user:login_form`, `user:forgot_password_form`, etc.)** + +In Statamic 4, if you added tag parameters that weren't recognized by the tag, it would output them as HTML attributes. + +For example: + +```antlers +{{ svg src="foo.svg" class="w-4 h-4" }} +Outputs: ... +``` + +In Statamic 5, you must explicitly add an `attr:` prefix in order for it to be output. + +```antlers +{{ svg src="foo.svg" class="w-4 h-4" }} +Outputs: ... + +{{ svg src="foo.svg" attr:class="w-4 h-4" }} +Outputs: ... +``` + + ## Low impact changes +### Regex Antlers Parser has been removed +**Affects apps that are still using the `regex` parser.** + +The new Antlers parser was introduced in 3.3 and was made the default in 3.4. + +You would have been using the old Parser if either of these apply: +- In `config/statamic/antlers.php`, the `version` was set to `regex`. +- The `antlers.php` file doesn't exist at all. + +The newer parser should be backwards compatible but if you encounter any errors, you may need to check the [docs](/antlers). + ### Validation rule changes **Affects apps using `unique_entry_value`, `unique_term_value`, or `unique_user_value` rules.** @@ -168,6 +202,13 @@ validate: - 'new \Statamic\Rules\UniqueUserValue({id})' #[tl!++] ``` +### Antlers sanitization +**Affects apps or addons using the `sanitize` modifier or the `Html::sanitize` method.** + +The `sanitize` modifier (and `Html::sanitize()` method) method has changed under the hood from using `htmlentities` to `htmlspecialchars`. + +This change allows for things like accent characters (ü, í, etc) to remain unescaped. This is likely what you want to happen anyway, but if you have a reason for them to be converted, you should use `entities` modifier or `Html::entities()` method respectively. + ### Seed removed from `shuffle` modifier **Affects apps using the shuffle modifier with an argument.** @@ -180,6 +221,34 @@ In Laravel 11, the underlying randomization technique was made more secure and n The shuffle modifier without an argument will continue to work without any modification needed. +### The `modify_date` modifier is now immutable +**Affects apps using the modify_date modifier.** + +In Statamic 4, the `modify_date` modifier would modify date variable which would then be reflected elsewhere in your template. + +In Statamic 5, this is fixed, but if you were relying on this incorrect behavior you will need to handle it. + +```antlers +{{ date }} // 1st of may +{{ date | modify_date('+1 day') }} // 2nd of may +{{ date }} // 2nd of may {{# [tl! --] #}} +{{ date }} // 1st of may {{# [tl! ++] #}} +``` + +### The `svg` tag sanitizes by default +**Affects apps that use the `svg` tag.** + +The `{{ svg }}` will now sanitize the output by default. This meant things like JavaScript or other valid but potentially insecure elements will be filtered out. + +For most people this won't be a problem but if you rely on this advanced SVG features, you may want to disable it. + +```antlers +{{ svg + src="foo.svg" + sanitize="false" {{# [tl! ++] #}} +}} +``` + ### Bard JS value is now an object **Affects apps or addons that are manually targeting Bard's value in JS** @@ -189,3 +258,83 @@ Previously, to prevent issues with how Laravel would trim whitespace on submitte let bardValue = JSON.parse(getBardValue()); // [tl! --] let bardValue = getBardValue(); // [tl! ++] ``` + +### Misc class method changes +The following methods have been removed: +- `Statamic\Entries\Collection::revisions()` removed. Use `revisionsEnabled()`. + +The following interfaces have added `findOrFail()` methods: +- `Statamic\Contracts\Assets\AssetContainerRepository` +- `Statamic\Contracts\Assets\AssetRepository` +- `Statamic\Contracts\Auth\UserRepository` +- `Statamic\Contracts\Entries\CollectionRepository` +- `Statamic\Contracts\Entries\EntryRepository` +- `Statamic\Contracts\Globals\GlobalVariablesRepository` +- `Statamic\Contracts\Structures\NavigationRepository` +- `Statamic\Contracts\Taxonomies\TermRepository` + +The following methods have changed: +- `Statamic\StaticCaching\Cacher::getCachedPage()` now returns a `Statamic\StaticCaching\Page`. + +## Zero impact changes + +These are items that you can completely ignore. They are suggestions on how to improve your code using newly added features. + +### JS Slug generation + +The `$slugify` JS API has been deprecated. This could be a good time to use the new slug helpers. + +If you are generating simple slug/handles, you can use the global helper: + +```js +let slug = this.$slugify('Foo Bar'); // foo-bar [tl! --] +let slug = str_slug('Foo Bar'); // foo-bar [tl! ++] + +let handle = this.$slugify('Foo Bar', '_'); // foo_bar [tl! --] +let handle = snake_case('Foo Bar'); // foo_bar [tl! ++] +``` + +If your slugs need to factor in language logic (like an entry's slug would), then you can use the new server side feature: + +```js +let slug = getSlug('Foo Bar'); // [tl! --:start] + +function getSlug(value) { + return this.$slugify(value); +} // [tl! --:end] + +let slug = await getSlug('Foo Bar'); // [tl! ++:start] + +async function getSlug(value) { + return this.$slug.create('Foo Bar'); +} // [tl! ++:end] +``` + + +### Addon test case + +If you have an addon, there's a good chance your `TestCase` is a bit complicated. + +You should be able to extend the new `AddonTestCase` and specify your service provider in favor of manually wiring up all the Testbench bits. + +```php +use Orchestra\Testbench\TestCase as OrchestraTestCase; // [tl! --] +use Statamic\Extend\AddonTestCase; // [tl! ++] + +abstract class TestCase extends OrchestraTestCase // [tl! --] +abstract class TestCase extends AddonTestCase // [tl! ++] +{ + protected string $addonServiceProvider = YourServiceProvider::class; // [tl! ++] + + protected function getPackageProviders($app) // [tl! --:start] + { + return [ + GraphQLServiceProvider::class, + StatamicServiceProvider::class, + YourServiceProvider::class, + ]; + } + + // etc... [tl! --:end] +} +``` diff --git a/content/collections/modifiers/modify_date.md b/content/collections/modifiers/modify_date.md index 0d2711458..c94ee1899 100644 --- a/content/collections/modifiers/modify_date.md +++ b/content/collections/modifiers/modify_date.md @@ -25,5 +25,5 @@ April 1, 2000 ``` :::tip -This modifier **modifies the variable directly** which will be passed onto any additional modifiers. +As of Statamic 5, this modifier will return a copy of the Date. Earlier versions would **modify the variable directly** which will be passed onto any additional modifiers. ::: From e730520496cefc48d53fb47607dc13ee80f8559d Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Wed, 10 Apr 2024 14:41:21 -0400 Subject: [PATCH 26/36] not anymore --- content/collections/docs/4-to-5.md | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/content/collections/docs/4-to-5.md b/content/collections/docs/4-to-5.md index 09ddfe8be..6878ad9b8 100644 --- a/content/collections/docs/4-to-5.md +++ b/content/collections/docs/4-to-5.md @@ -147,29 +147,6 @@ public function boot(): void } ``` -### Tag parameters that output HTML attributes are opt-in -**Affects apps using the `svg` tag or tags that output forms (such as `form:create`, `user:login_form`, `user:forgot_password_form`, etc.)** - -In Statamic 4, if you added tag parameters that weren't recognized by the tag, it would output them as HTML attributes. - -For example: - -```antlers -{{ svg src="foo.svg" class="w-4 h-4" }} -Outputs: ... -``` - -In Statamic 5, you must explicitly add an `attr:` prefix in order for it to be output. - -```antlers -{{ svg src="foo.svg" class="w-4 h-4" }} -Outputs: ... - -{{ svg src="foo.svg" attr:class="w-4 h-4" }} -Outputs: ... -``` - - ## Low impact changes ### Regex Antlers Parser has been removed From a971299a37c38cce0aeacc918ba9c2eb4bd35d76 Mon Sep 17 00:00:00 2001 From: Jason Varga Date: Wed, 10 Apr 2024 15:31:57 -0400 Subject: [PATCH 27/36] escaping params --- content/collections/docs/antlers.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/content/collections/docs/antlers.md b/content/collections/docs/antlers.md index 00c7c61bb..069f9b93d 100644 --- a/content/collections/docs/antlers.md +++ b/content/collections/docs/antlers.md @@ -1285,6 +1285,14 @@ The `@` can also be used to escape individual braces within tag parameters or st // "string {foo} bar" ``` +### Tag parameters + +You may ignore the contents of tag parameters by prefixing the parameter with a backslash. This could be useful allow you to avoid having to escape each curly brace like the example above if you are providing some JS/JSON in a parameter: + +``` +{{ form:create \x-data="{ submittable: false }" }} +``` + ### The `noparse` Tag Use this method if you need to prevent entire code blocks from being parsed. From 651cbd43d43b51b30d13d039633c93a513d0ee28 Mon Sep 17 00:00:00 2001 From: Jesse Leite Date: Wed, 10 Apr 2024 18:27:27 -0400 Subject: [PATCH 28/36] Move `content/sites.yaml` to `resources/settings/sites.yaml`. See https://github.com/statamic/cms/pull/9857 --- content/collections/docs/4-to-5.md | 6 +++--- content/collections/docs/multi-site.md | 6 +++--- .../tips/converting-from-single-to-multi-site.md | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/content/collections/docs/4-to-5.md b/content/collections/docs/4-to-5.md index 6878ad9b8..69b9fd078 100644 --- a/content/collections/docs/4-to-5.md +++ b/content/collections/docs/4-to-5.md @@ -39,7 +39,7 @@ We highly recommend upgrading all the way to Laravel 11 and PHP 8.3. _Note that Statamic will attempt to migrate this for you automatically during the upgrade._ -The site config has been moved from `config/statamic/sites.php` into `content/sites.yaml`. This allows you to manage your sites from the Control Panel. +The site config has been moved from `config/statamic/sites.php` into `resources/settings/sites.yaml`. This allows you to manage your sites from the Control Panel. ```php // config/statamic/sites.php @@ -60,7 +60,7 @@ return [ // [tl! --:start] ``` ```yaml -# content/sites.yaml +# resources/settings/sites.yaml default: # [tl! ++:start] name: First Site url: '{{ config:app:url }}' @@ -71,7 +71,7 @@ two: locale: fr_FR # [tl! ++:end] ``` -_**Note:** Text direction is now also automatic, [based on each site's language](/multi-site#text-direction). You do not need to migrate `direction` values to your `content/sites.yaml`._ +_**Note:** Text direction is now also automatic, [based on each site's language](/multi-site#text-direction). You do not need to migrate `direction` values to your `resources/settings/sites.yaml`._ There is now also a new `multisite` boolean in `config/statamic/system.php`. Previously, the multi-site feature would be considered "enabled" as soon as you configured a second site. Now there is an explicit option to enable it. diff --git a/content/collections/docs/multi-site.md b/content/collections/docs/multi-site.md index cd796d59b..e27eb17f2 100644 --- a/content/collections/docs/multi-site.md +++ b/content/collections/docs/multi-site.md @@ -49,7 +49,7 @@ Next, you can add new sites through the control panel: Configure sites page in control panel -Or directly in your `content/sites.yaml` file: +Or directly in your `resources/settings/sites.yaml` file: ``` yaml default: @@ -67,7 +67,7 @@ second: Let's look at a full site configuration and then we'll explore all of its options. ``` yaml -# content/sites.yaml +# resources/settings/sites.yaml en: name: English @@ -233,7 +233,7 @@ permissions: If a requested view exists in a subdirectory with the same name as your site [handle](#handle), it will load it instead. This allows you have site-specific views without any extra configuration. ``` yaml -# content/sites.yaml +# resources/settings/sites.yaml site_one: # ... diff --git a/content/collections/tips/converting-from-single-to-multi-site.md b/content/collections/tips/converting-from-single-to-multi-site.md index e8f07303f..c096ccdf5 100644 --- a/content/collections/tips/converting-from-single-to-multi-site.md +++ b/content/collections/tips/converting-from-single-to-multi-site.md @@ -31,7 +31,7 @@ First, enable `multisite` in your `config/statamic/system.php`: ### Adding New Sites -Next, you can add new sites through the control panel at `/cp/sites`, or directly in your `content/sites.yaml` file: +Next, you can add new sites through the control panel at `/cp/sites`, or directly in your `resources/settings/sites.yaml` file: ``` yaml default: From d82003ee94da598a33b33e64f949e09af5daab6a Mon Sep 17 00:00:00 2001 From: Jesse Leite Date: Wed, 10 Apr 2024 19:09:09 -0400 Subject: [PATCH 29/36] Move `resources/settings/sites.yaml` to `resources/sites.yaml`. --- content/collections/docs/4-to-5.md | 6 +++--- content/collections/docs/multi-site.md | 6 +++--- .../tips/converting-from-single-to-multi-site.md | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/content/collections/docs/4-to-5.md b/content/collections/docs/4-to-5.md index 69b9fd078..8f6728fd8 100644 --- a/content/collections/docs/4-to-5.md +++ b/content/collections/docs/4-to-5.md @@ -39,7 +39,7 @@ We highly recommend upgrading all the way to Laravel 11 and PHP 8.3. _Note that Statamic will attempt to migrate this for you automatically during the upgrade._ -The site config has been moved from `config/statamic/sites.php` into `resources/settings/sites.yaml`. This allows you to manage your sites from the Control Panel. +The site config has been moved from `config/statamic/sites.php` into `resources/sites.yaml`. This allows you to manage your sites from the Control Panel. ```php // config/statamic/sites.php @@ -60,7 +60,7 @@ return [ // [tl! --:start] ``` ```yaml -# resources/settings/sites.yaml +# resources/sites.yaml default: # [tl! ++:start] name: First Site url: '{{ config:app:url }}' @@ -71,7 +71,7 @@ two: locale: fr_FR # [tl! ++:end] ``` -_**Note:** Text direction is now also automatic, [based on each site's language](/multi-site#text-direction). You do not need to migrate `direction` values to your `resources/settings/sites.yaml`._ +_**Note:** Text direction is now also automatic, [based on each site's language](/multi-site#text-direction). You do not need to migrate `direction` values to your `resources/sites.yaml`._ There is now also a new `multisite` boolean in `config/statamic/system.php`. Previously, the multi-site feature would be considered "enabled" as soon as you configured a second site. Now there is an explicit option to enable it. diff --git a/content/collections/docs/multi-site.md b/content/collections/docs/multi-site.md index e27eb17f2..64aa4df6b 100644 --- a/content/collections/docs/multi-site.md +++ b/content/collections/docs/multi-site.md @@ -49,7 +49,7 @@ Next, you can add new sites through the control panel: Configure sites page in control panel -Or directly in your `resources/settings/sites.yaml` file: +Or directly in your `resources/sites.yaml` file: ``` yaml default: @@ -67,7 +67,7 @@ second: Let's look at a full site configuration and then we'll explore all of its options. ``` yaml -# resources/settings/sites.yaml +# resources/sites.yaml en: name: English @@ -233,7 +233,7 @@ permissions: If a requested view exists in a subdirectory with the same name as your site [handle](#handle), it will load it instead. This allows you have site-specific views without any extra configuration. ``` yaml -# resources/settings/sites.yaml +# resources/sites.yaml site_one: # ... diff --git a/content/collections/tips/converting-from-single-to-multi-site.md b/content/collections/tips/converting-from-single-to-multi-site.md index c096ccdf5..e4bc20043 100644 --- a/content/collections/tips/converting-from-single-to-multi-site.md +++ b/content/collections/tips/converting-from-single-to-multi-site.md @@ -31,7 +31,7 @@ First, enable `multisite` in your `config/statamic/system.php`: ### Adding New Sites -Next, you can add new sites through the control panel at `/cp/sites`, or directly in your `resources/settings/sites.yaml` file: +Next, you can add new sites through the control panel at `/cp/sites`, or directly in your `resources/sites.yaml` file: ``` yaml default: From f75e2d0d4779207f992473aeda74910cf1327d96 Mon Sep 17 00:00:00 2001 From: Jesse Leite Date: Thu, 11 Apr 2024 19:09:07 -0400 Subject: [PATCH 30/36] Update screenshot, since we moved `Sites` into `Settings` section. --- public/img/configure-sites.png | Bin 115211 -> 122808 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/public/img/configure-sites.png b/public/img/configure-sites.png index 58a14897368d93a4c11b979ce1f75666dac6a311..14fbd000bd9aef54f8ce8e8bbbbb5a18e4bb4c49 100644 GIT binary patch literal 122808 zcmeEuWmsEFyEdiJBBeNOafbqdB7x%W?jg8KuoN#=+})*EDaAdwy9FqP;9j6O6f6F* z&pGejeb2l1zwhU{t_c}d)>@h8nP=|jo|$_kOhri=3xgN~2?+^HRz^Y%2?=Ey3F+}U z+LMPPJuRNR4{wj0)TG6b%124JAO4Xr2gzC}Dk3pG)X|V0g;*n@{Bg>|i}>O7aB0pX zq{k2MkN!B8gZ!^gQKoYq|EvD^{Eri7KXbi9LJ~oel@Qf%f3)`z)o4MAILMciADWu> zYRE2~SU!bI>Ok`dkMi$J zIK&J4pBfM=LWZuQS3>i4N$MY4KrsD_{2y+ON9o6hm(!pn?bs6a4-NeA(7t2Af40ws zRs>oWz2Z*tk4{q2Tlf4Y^FN^M$WXRKUmSD)gY|wEayg|6`Onz=;kM6*-r?*$8fxPDTo^Wo6NE$Nsf^Z(sc8W54%!GwI1xuQSv>YhNf4 z%Ec^WB1%0h(@VX5o4!{l1I56pi885)$rLHuZ5m@A zy$g52wp+B;-V<5z&R3wYy(!VWye?V}4zVwY7QpO7SZ^%$dp>w7J+h-ZX_r>EY>KfI z`0CwriN8WsQ4R@NHyvDcwmth12ROjVxo( zL0K<)+VNKNuih!7dDJu2`=aD#z9JgQg9Lrj{{tbys7y;mh0%BUG=as-BOP2IDxp5i zvCk|KRKo!i3203(U>YYTH8!*;4=Vm*2~sGM=p~Z(y700FGU9khJ955mTFDQDBp4EPn`(^Zz!ZkYgmTl(OjIFbEHujMC{peL zTmIMa7BE{g)crZ$0-dt32&&((Y9ZQ=Hn82@P4) zFu7zb9XA8>gR21-p9$w_TNKv#2xNzs8YgUw%4@Ym%Ovmh{5G}HUr@)DVbF=ykB8#D zmO)Rc3{-nP6kw;DX6tk5`C3jk;kkpJaXfub4;PzX)Eaob&0&@wJyt{zEzyepwFPR~ zQ;{XPzamRi49WLo)j^o(0pt2;jDlb{Uj2lpTTb*t;cO`+I#|f5>Y0LTCA_0qSH){O z&2h66w;#ByIk|M#nh9h^gVAI&C}_5u=+1`{dfG14v`CqBFxSjZu%Xo({qBRyq(w~` z-#87vwWrd*JLjA*K;;INNlNp_YdBRJeQH3sAI>v*2KN$%FY?qe)AU&vR~75IKQ;_Z zO7}(A*jg?S+8Wj>kKfBAHGJ`ruQtWiZtmCUZH1fFv=XO&-I=}{g{`7|LL(-TY)rZS zXK9`%jxIH;?7so*2OhM1OS3^lt->Ju8}?Y}2Ls8@knc08R*F(di~wC)jj!=3e+<0% zhqwt3pDb1YAPN>Zbdr4 zd-OMi1_uSnNJykMlJ6mt^a4*_X568Qr9|Neejr5rxmP&E!Qpm4V;q+8d-OAa zZn>13VAB+mLl2d^EcTMFH?2)>3H4dtU1(;0KoZ;IORuMcdjsQ zYps)L9fU9PpOJCph%F2J9)^^DWRjE~>qNIEyvlR+c67(bRd`^<$b2=zoH;5T=@%1D?cGqe(b4z3qO!jna`6|k>a^H)R7U0x|3H&TNJJ#J8BBV) zk0_G5d&h!^Ek?pirDsB8PO4k1HXraCoPfGFv49O|*_I6$PqsE>BjVA*v^}12=w&sM zAg9X&w$X1&$rjrt7R9sDh(IubOXA^bv#dTqaDKi5#&n46>YNO|6W|iz zM!WOD81Ji~!lF3Ma3@MdlN8iWy0xCyejNYpW~jLN;i7AtlhP}O#}{*kTBQawuQTdU zjbYPlZ*K{0K@`_$Vbru+nwcAI$dwktiWD8l0YYliuc8LVnvI;}R3 zwi>T`6Tj~-2ueN>QC+^54kIWjeUe)~i3X_@kI;bBqAb3b(|tX8AAYU_2v7=-YdC+O zZGnZQ4FyQ_0#o7U3Q=)WG0rM+05LhP2&+DPLzzGeoT$)H6-@4@GL=msYI;sthOLIi zSix9C)-=J-xo)TWZt*UfcEVFS;j`xlyt91G(uRI7 zXLns=TwPvaUubHL^Kf6Bh|TZxp-*P>-+`Sc&%5CMbn@QyFa?D~os&#U@4dK?SH@T` zjxkY^?Qy1W^p(7MPICHCs+~?W1{SDwfge3J^6%7fa9KaoeU2|FM~4zW&R4%iOq9C} z6JPWP{}qLmoOmLUzy^N=Y-MR`S8eA#|KS4@wxUFK!~`%gC7vefaGWId&XufVVB|il zGjT-UpLs1Wb=amgKD&v#6%i6O+W=5{(IaVRulAB5j7;dXeI7#2QRQ(L}OQcQ3 z_#&KjsLC#e6GP+QydHWMS9oso0|$$}LIWc{Lc_`_Q<>_koyUf!Y|9U$*TjX0s$5lP zOig-zJ3oZ7VzVck5bGhC7Fp=O>gUlgLF)u*BQoN(B{^Hx-DTj5w{f39>h9fwEp#n-4*-*SiF zChxJE^>hJ@SHICBsyV$MMjM-VESOv&oBZ4^-mE8QNlKwcpP&SFp8odSd1H=Xa9}8| zP4G0uS5Us~E&!j*9G<#6`^tgguk4MD`=M7}u@q4N*P)e7Z^==<2=~=pUE0B;bhm1R zTQCi4mnAI;HgRX1Ia0YW7?mN0hBRi>Fl&SGwTcKVf`D&b#JHUF#A>QPnN78DPr#%L zNTGLPjR!#lNuzl%)O@af1FUz%b1B7Gx?ycZ+ggRvc2lkZ<%=5gglFjprOhP*`j36z zWv<01&fG)_32YGKTrjZiC5V5}knl5S$6}=qX51cnyZq$-I;~n1^*9mT%d%;!MhkNN zMZ+6O_WLZ#1*3o;>ud&>^)A`Xs1&*sGMUxWmG!1n9lmxEA3wEXQ)}e#&g{<2U!vg6 z+{|lErR+1rN`Bn$U!n-jZKbfYXYw*Tt+tOFYQ@daMB`n z32e}mAp`prM@)wd)t99(Wd6d70ua(I`Z4=7*tFFUCa5^mZqwkEz3if z!`o{Y!7hXfLN*+IyUK#}o`-D_eMjNYLyg;n+*O>Ad#_@8F<>&g zi)E%F#_&aa7Wmc04s{I?Yf7^2dcGY%PeQw5nNi(>ue`PFlw>aT2jgsfGF6%l`o-em zx9=T-(#0!Ht(9BkzS3mf@31pLe=P>&d@9c$s(@!{P7dv%|h3!^2T0n=7L$iP)862#sR1IJ|z@BqPb-n)Y*jBP5gD5&L_`A z|JrH!sVY`46de$k*sf0Jp+NI)j|WT6w%%?T3egi{Lik5d%achHC$@p z^;QSYTVifHw@+h!OZ zc2JJBuCW+a_Em^~+`k97Sb7&wYrQBZbbsziQ`!k5IG(p}zhg3t4;b>?OcFs+1A2(g zYr*8zKAe{z>?WVR1;%6~f8PFa{4`$|)a@npY|pNMaQ%fZ06?RgT&l-BNR0XXz5!;F z#@PIP|4WyxbC5Zu)e1XPM&(Iqyy?1!Mg%4_VFn7g~Qn zu~9%ew&h104a14uhJs=AMx_lyWlfQqggq35bCseU)yUD>D0M?bp_jMpF2T5vR-x%3 z#LDOQR*;z$q9$vtbchXAbq0p{(;+-lVXfk-(KTRzmFv3(mLY4p6Cdk}t~mn2uN+gT zT+-l@b<08w!}P}*!9^p<)Fd!g(G3`asS=h1V5)RcL$@zJuWxYwltn1h5;naF8tnW` zfO=3^8N@uLy+vx78_xqtO8fNDp;D*J7?Aa1`q?q12UJ(Ou{S?Bt4%kxID%0l;}V1m zKd55$g_iJj4z~;TVQahy)v*g|5rH@fztEG;K6_2keyo;Me{HB78j})~;9KOVoQmO8 zY1N&amh}0!X)S=m$}~uFeiNz(fB&O+dawH}VJVGn(64@Kk8fI+KeyVy58S$?xWjxTbaJ6`cL@t#g8p?lXmy5npWC4{0X9?9Nmchzonh zkekfSzc`KXhf&t-_?wr&(_K}+#svM=e{z%zJchzJDTO>p`eKlwQuevdEA-xQ)yl$m z5!N`=SP|j~Iv~>PvE7c{Z7*5G41WDo8YaDT)5o4r{UD z4P+Ab7G?qYvR|zcEp7%|p7P%(fO_KaRn1ct&$>IrE|v}?*K^H|;5xyimsAC(S^hvs58m8I2yAM-)x2ldLd@aKnqenby zLG|Pt2-~#T#?6d{EPcLTfxv|rg#yf!3if34x6-`s*YHU)S-}neU ziV-k|?V^;IMZ<)v6mGl-d+dEuoW-2CgNJ&8j9o!DA*I=@LLFc8&9 z{1i9Uk49}Z!o?P+45Nli+^@u}P#_o!I!@_D1?;p*%Z&%8%~h{*KFZ4tDvZ?1uTb5g zOxL%EKY98Ut(D1UUW@UYX5@Tn-keO-psU{=b4XFm4`-OOZk~3+snDrEG8McE>?Bba z|1J(|oxq$hm3Qtk4~Cx&a9=C;xKmF|!6#023vCm5+x_Ixh_KYlIgv=QR;(O{!xH$C z;rP1?^Rf|}Z-$z7RnOi0G&5mc;@;vhTjV9|(d@qUze3l8>rNq&9yMcgxF2?D^{5iK z0xT6Ha67m>EyVOzA}f;40)(lJFHv_ZrVhXwwxG zXt%Hv?T~YiW*y0M(;b&$xPo~Xk!o8~Tjp{b7=bD$D=S&T*N}aMX|$~~+t>R|IQC8H z_6=ai(YMsF!??#S0Ah>V3+&Eh`*U^-r1{Y9d*ytnQPXETWrVUIdQUZ~L4PWu((Qs~ z+t8ooDVozoTB=L8X;otnRvqsWN_F%|*oOdRj9`?%>~y-DPT+-g{i z=XKM|il%Q59U#BPboA>hk|hfiaf4!d6!yDg0h2v53;6mL05t`~3F}-!e%xhXE0O!N zbg`x=iOKOR41cX=1fafVuXx+mm<&-bZCPWdq?nRTKbCkYuk{LAmSZ%}Bc4k|xTskc zL9eHy>hqCr9@M$|@_2&Mm9D41&??2h*aj1&0WB)K?@s^`K~|JR%B4Fpr&=!q5+2*F zi?9TI1}jRuLK95+5sd5y4;9ojUs>Q*_(X1O5VPpNy ztykSFX&JU=MjdigPaU`yI0KsnS^xU( z=VTj}{;*$So8-V1uRBjOJ=`8G8ygsigC3z7R!%9wtrVV+cHunb^RfAOr^iH{XEM61 z_Gu3Yb7_o&V0wh6bUtF958k8*R(&$P;Qw68QCB|dC0}KiOFiAo9!|Y_?@Qfq9q7P$ zi05tpyNZE2r|Br(n?#KAELRqOWj9~MyV22ZZ}{RD?HG0k+XIh)SKQYNZ`^#@C*eIM zko6WOydP!u=qD-V@si94Iku>%%|jt;T^gZ*C-6CRQC51s2`%mB5SN*E@V!RxeQIFG zX7p4YR6ZRSQL0JIvaO<3DxWOs-F#ggCx(>qt6#W}kWfe9WVrXO*>hMI@j*AS4S3FG zfh!a;@V4pt$ggdl{!R$qkVam6!6<4AOD7tE>W51ysdSE8s7eZOhknrKt3B4aLM<-Y zerYTHuZ)YcfO1r?p=RRc$VM$=iH*t1JflIc)QAdX!KaQ+31ngxnr+l%;Ls5r3I`dy zcXqY+Lww-7e_txH*Nb zm)CBFMQ>(pqz@sz68ogs1C&MyC=5m(1~zyQ?Re{Q@#!L(kkgtO6|IWUC^Zp~@rmlu}tjGHc)X$m9R5lGa%|V_=|*v7ta=H_!XKR-XfhR*Nm&*>n|UC|nIAOR%Sw z%G+~*1K!5#eSnwXQ6p)R8E(6CQc<2T+vriv3lxu$H#0i4monsIe^RfK=;z&(A;^&u{c=Xv0-(ogc>6O2+ynz2PZ>pRM#F+r zt*jza>3kJ3m;t&y!<%K>)w1>J$#DVKFWH}YTUu-sGa|asj4Nvc-fEE;W0{U3c*PgQ zpVj+P)TX5MjU`y7rn(ApiFT9IkUnBl(O29Was4xWbjo+!=qDvGh+khkTarXM9w}pd z97mty{z*$sE6^Xua^4d<$Q|%{GuY!w7tyHC+}aX7SJ}(SKBlCvUv<~Vic`|nCH8so zh*sxHbLBXEN(_qxBc3pjID^9s6YCp5>~jqsO(s@s=Z;X5#28iVY@RIs>4>b}3N8P@ z-KU`M^$v7#p60ST&`>j$u=uo?P8)a}VvpQgBst>M5`2XHVUIQTsHI_ZBk+mV8z)_f zN5#H=l^bl6InOV&=?{KgsOrzB>s8of;Y`|g>fM$#>;d;mNQM^?%>Bu3n!E4D2q9+Z zO30!0PgYqJdzsLz|Cki^Jiby6!T>?5R3~y3;~)0Ehi**Ai_QHZ4DOyy1eTv?-RNj51?f8N$=Y&y>%3*uRg-}m`s#eDjgN(FtTIO=2LZ{kiov0@F z`337lY2JAT{iLRrk*M21s($3#r*Y5MDC95+51!9BnVHwyX*=Ar%a4D@VXQ2uL3P2| zjeXmdEaGxbeDP<8z*9t&4B9TcsyscCPdA&@9Lk@u1~cMhM22el*fI?pQm$xNOl{iN ze~M;zs|Q(>wcl(7xX2*+RaT$hUGQu+h8cfZOC>~E9P28FhX+`YZ6tI$by{SbnvUXn zub)UXykDuE2Ncca;z$CNo&1S*AZbH(j;K+ZZexywvrmQ{lcqKyfbVYz_l8ip>&Kr+ zPf#y*owaLy;*otX=b!I2u9WOMA%{^XRw}-W$BCWKRf&LnZ9e06Djl@Uws}z%Kmh-*w+EwrvBqIsgNy4Kcc_C5A;RJ>qEvSjOq1EN`# zLswDQdT!bLKH-_wt}xNgf>X_YVm;Gi-6S6}V^O~2TD`e}gc`O;99 zwmFL32x2_l>^a#)g>)GT_f6NbKA^sGV}~NygP0Qw9qq_YC5NNdP`NYMHE0JJ z13Gk1fd%UR=s45XSN&X!Qi2_Fxq0vn9M`zJ#~xVO-G4y;d1oRmu82DI392N;f!gft z^#S+DqQZN(U0T7@n2pLeTl36%ftbuJcf}m2_M?#-6Hs)H|7|}Rz zpp-veLKVlTR`xi&Dl@%Cj4iIDzWXr}N<2&!@6^jnm)aMj`Rb`DvYs}q>&#f10wyc_ z`E2J4(n?J6pYXHWuCCfNayNaZb&XCMIct3MB^Ht?QeQZ4898K-8=vz$_v@8m7GG#z zNe59Lk*(d7B$xh2@smlx$trDeZL0Ts1d94O6FQ-Nh7s|H_axM0c)Id?U>9ah7o`1B-W{av`}WRmPy$@ADz9x^HbxG*RaJQEabqMlY3-R{Q3 zQjV@H;LwN&WO+;Q;3Fl44shju4_brsZvqVwq`~BBptV{acxw9dih)~KLDOlcXC3Z` zDPk0|T{Sc)y8j$iW%>jpbQv|bFWh$i;B*vsb2FMV7&x;g?6AwdZNE-bdow@plWuZY zr&2QJ?r!j-q^d{dhdNGCrKD7_d^S{{>4Cy^O#HDru%^>6WJ!q0(%+@Q2&wovC#UE! zt`k&+<3a#e4=a<1={_Swo~`=@iJgso{wNGH^Q~>~hJC)(`VB+Di&`j{E^5Aa1U||+ zzy+k>2!{v}2s~_T&dj2V7@7XQf$oS_t0b2gl@1UvD7%J0TA!2v7v}3+8 zUIv&fVng>fe%YjE1Crq13}xhp2b|XiMFn~a*oRs)D1WYcoN7T!+j;>n5%p~M*JMz| zjZ&3RNL>7kppsPPw6sNQokDMg+MwFSD9Gh%!2nbvNW}rpx4_*msIw!PT1E&g52u&3IrZM++)$P`mL2U(RCpxMX|EH2 zvO4wE_u;2+1X>gxWJl&R8?9!m(vV3-uEl30Wk10isNR$TR<&~#E~@OTifS&*Up1bF zwkPMT>G%yv*mU+#}OJ+@H=% zMXx7=1~wLl_PIm{tS7Ng`>*ptlW8l}@r)LtKK`t7`ub;fA*YFrw*79MMxUncLe;!F zhpMdtYMs&otuOm%3jgX0hije{wh)h?9Gw*3?`jo8rz;8NEiB4eJba@RS}cm?bcmNn z7_2m5Y7LHjB-BMz=foW01%pzAvtS7FV^D4H-~rQQXEH#%7dB?z+LTCdbC^y5m$7xE zb1^9o+Vz>i@0aUOkdieqDaG(jH>}k&aw?tnSJwNq0oFXEF!rcKz~LxHnJ3}_;yOw8&RN^m?JBBFw16V-{61|^R7OCo7y2f0Az+`cEz?Ybuw zHBMrRfx7wN^4?u&n4CFXwTd~6&<3WJ*EJuuBQs}+T6gxIPK*x7fJ~APlrX_eBH!Al zvWq6M*!1T$wy)Ic)(e1vGMbG(3U4X?i}U_3k>iRqQgS}yjCi}4UQJ=4V^~B)^4I#a zls0LXZco_MzI5qdRlFr| zg7*9aBafUqGZ$t>_cPDxa+nCF{db_yYT8OC+>ZK}y>!1^Mt+;C(vD}MuQ&+Z?Dsz$ z96v(Isp3V>fEh$2&de~*Zf&o^aAruaInm6bD>p;UwTuE*HuW$Q;7sK(^)D)*s?~3# zJ5-e}s>XKX-|o3hY3?#$;O>PXmyTdVFZ?qZXjzzu)5`}{)Es_jR9JjwX3O020RNwP z?xErzj&!%#z3lUcoC{071MJU>OjO!4S;Q%zfXWKrc(sLQ+x@U84G$+AX9Aa7zxRLl z2rF(@447c$H!EGDURa>^X8J0tKI56k6(c8oUmt1avs@g+cs31EdH|)D@d%94%PNxt zeUAkNOxq`K^FG;V?B9&{LO*h7+q|}I zxMYKvIF|5m$moaYj!n|1%gi-FPnJ2?BV~=gP**Cbw==*L#v|3QbklxY50=T9#r;Dm zX?+!Blbr<%yPw>9<0wiyUWj5_U}%O708C9HzgNjSnCb0JzptqT2?qb9^EAz3affPR z;gNNqPY#lYhuVy?=auu4WQv5?GzAo%G|ARSJeAkGev5Ak;K0)n?T+Lxq&c;&4tS>s z2Uh@@0;Tpc*T6Jg=F<;7aK;duVo1rXX9q^4eD zB_hu$@|3qc<@9Y^NY6zm&nrDnWkZ+ zdn-)qX8Cy9D67}FxW-MA#g#-wo(y5g3nJZJIEGjVn|ZvKD9yd;-b4h`Ea(TaA5a98 zDS?9O92_-t+U=^HY(5V%z&|w)ek(K|p83fbd}wGY1JgfQMt*CGhxQKH-Vcjf$GT`y z?qNqARFhN$)QxM36mw+e&Tb!nZvXiJxn8M9se8;tLZU%JD!6FZG7xtnv%zNmK}2}G zl%8Grgq&b{;ShuT!BxMDfd8j1!pTtC+7XN@uICiUtrs#-x4(elz|^0_Y#Z&#&;ta0 z;zh@x%;DWq`iUZ~(hWRa76<~?a0IP=;m=F|Jsf{mQs*?{IZjea<5l+;f3fz94Zh{h zg-`M&y)9LtEXaLpLc&2H0uqOx=cVf!iAQXzSv4Z`vS_D8{~qsPltz+3&j`W(rK;X{ zdZKo%cG}QGP(E*(Fw_<>xwlkzE?j@s+5RAUx*3aQ{>z(xy7i&r$A^FPVl30ixgK5( zZ-1_3#fURSY7Ec3+!^t6+H7hotK%h8)q^N0CqVv+nSZ|l-qDL$Tb}tqpsqT!T~W_z zn#WKcc))#KXftu z7Jk3m`v|WP-S24jL`z0iHZ3tZSyo4SSFc1vTs6Q(FAw#x+0eLSG0i*YRNg9cgPUH6@l`$+T%060tJ^gRo z-+=~sV-nCoM2?GF;14b``AQ6kZrCKvz-as9i$nnE5)u+JW@ZwALldXJ@dMfuWOFGE zCkrtBskK{wELVT3|?tj_uoC*or$ilkPvpqlh^XaApuRenOV8UZre z9*ALb^I-i0ApGGPNo0FLK+75(Lr|eF*?$Fh4mV0>PBdZA_1wZ(-Jf>;Rl#9Fc?lH& zWf5%2{{1kfUExJ0m=?H@c}w*lcKmnb`593?#P$E(;tvS>KVSR>}K`NUWpK6LJ$6DDTnq^VbFKL;EJIoRk7%jes@#hvFFy;bxe z1f_e4f0qz)8u35$&Nc1fSbv4J6C?-ASs16iY=&`oV^x(*KhBy?mzD{|NQMIFxT#dz z3~E8a&I3oKs1MrqYlE%dBp<&+qK)XvH(qPJr3X1AVK_mG7>JoOJ-r5d)kDyOK&D6{ zIQV5>_NeT6X@it*FZgD>^7VgU(|_SH2>B%bL?RDg10)_rQ@T394qk5rE|p-%P*-a9 zopjE93QC5Md%wvf`n$_NxS@C4;tyhm%dMPkE19ea_1$+^?N4@-?6d(+HZ)m<{_zC zS|>2Mj(AP)`Z1%HXUQQ8ciJHPsQl*Fb_gCZ;z*qd@H#mlS}<-cooC4@^Wl-C|4uZ& z{Y4Rc#9aK!lZnuGDCZJ16}p8r`q<%Rj16SsNKT8)SHMW@6$J$Y`&V|Cz1*MkKYyOw zC~z@53^V_2^JrBFA6Z#NC*+yNp&G-jAPYRiPX(~wNYnCHo~s>ui3Pl>*%~NuXs0Qe zE-y=*uT86|YYuMOGW2z7ey{bPZTqjx)ru}+{LN&otf&*`;>|Qf;Q4dglbyyFW8si? zrF0hQEa&tE*L(4wo1XUx>Z9!-`<7jU*Gx>sNVv#z9@=`XA7g`?f?3(xFYER^2385{ zA}U%%4akH=DUrD?Ufp*}TP!3hW)zds^RSK8dfvf!ify-&A`ZQ8iqZ~)6A3C5!cP7g zoPUxAKO6K!2xO|xG$5E}MRPL?is|wxtKF(f&to0%b4JijR!vRbLlw0)CCgpm!1qSB zadotLWAN$039ug)F(x>lDX!98Rn}bFvNYY0_4E=IH9jGO;W}nk7feSdYhci(kS(Z7 ze=i6>_1gB>8tC21)ErYqUN%q>ay2%Vgnn%Y-o&u?M~*1m%V!CUjg9e~09aT~zu&xl zjmHQ80ELwSy0x*fI2ErbrtdCqxUJ)FKDXCwvg$ED2*D?cOrP>@)vB8xb@=%&vl)6_ zm$B%!iA7&ue4VIpJDkJr;Ag^NWM$3<2Qys=jTf-^Dk<2kWvO*U8MMuK^sI$u`~|cS41z*VuayzXgOno=Too%SQ97g$0C9KV5UY?wFFTGuUSP;2MmE&eI3 zi9&7fT+YF!2mCMxHf15_>`d2Ax}P2R%0ukZWb|KEzgi63_hw7W# zv1i*0MW6OsukGLc@VnNOVSTiGyiBjiPC=|)u0vCm?rt)&K+cAKd~6XttW}!W zpXF^(W~3B1JGV9FdqWlQE@MAb@;NM-@fPvf_zJnlbWp4NvpIv>utG}jrFx*vXusmDi9X7={> z4&lJS;yQIEK@L0HuhNj2i43}+a%Dk^Si3FYy3@-k7vb%9Ll*#j42nlOZxmx z%hCrgJ$;Xj@q{(7vqIwc%}rt{oM8jcO<9VHlx1QzZ_l%zALk!~%5_sfRCilw6+6fKUykcid@fhdW*f{S#@6ijug*9QGEbsB zzmqo~m@Ft#cwgyUo?laJ?5AWU996zqRy%M%5>-5?R0@7h&hkwINu;!1Qa*V=9ee2z z5)dFwN`03DL*RD2}4JZ zPfOZBVFa}Q`sUD%8Mu96;5&5_*?4%ocAR}xV?WGztM9x%r9FsqE0~n@(ay&Qx^L@( z{juILu2iR9Noji7k^sR{wR6GACDAd(vuJ`MJI|-!>()K=N-Jjf%+16G+|(HOGU1D% zWA1|6wcWd4olj>sEqwRQQ-%U!gpH#s8c*XfrX7C_8<2@rE!5M|W?0y+19L z5Ao4uZLFQxcz-*DJoff{cKG!8>_WIOXl}k*C8#EMLyN8fr;Nx{*!wQ5$L5CIi&1EO zZTNeNF#Yz^Cax%Wg4sbYW)Hya*;}tv{<{$;uH;4d&vi?Rk_}KPB`*d`@xJcK~t7pqe0gb!HZ!Y;TtQV(C&@FFZ-{cTx|rhwDjlL0j34wqm&*52;8YfKkHC z+u5%NW^D-h6c&YzSA$X`a8?YaQRs#5u1av{jAmU1fzt)4CXE03Er3Ck+si7V%yS>M zed7&2#ULkLCEiu{2U@it=+MyO!)M$=@Z<1xQvet|b=bMvq-%eI4naphes=-q8Gdvf z9TyskX881%;MK}{%<#|@WaN6g?)o4_UplJPDA%hH%uP|d406Km;r)G$>Cqwn8yzur zMdniIp+If$=E`clKSNEBf%EyRYNKOnj~`)QP_^_?QG;bvL9!5!9HJcuuXnT$>Ob-qnKY1q92S(nR0U;eE`0V&mTe%AbY1+o9b5QWNVRkCyPA47oRLxC6K78w78N60KeMOu z$-H)!@HETvW!GDnknwXOs~1_`1a`)~aj>E7_T#36gcREGlPjST@ECZYtr^q> z)^x6G=RW?DJ#y&aX?`QmRs^|yL>LIv3uwM4859134h5$dI0EnXN-Fm4+5{zl7!V=S zKQ^`gRmSk&Xj${g@9hW6&ad}1k$+z9tqVhEU+3y|k7~`@x#}lw1q)a=5`9AGR0y5r z3!F_1zZ<%IQN*uRce=kQucY;LQvz$lTHPdmtPcT@jp1kCa_+UT5z^r>Z3 z9J?Y0OkfrP9YJb(dS>S#yCIb?CgEFc{p2Y;%eUF2Z!8>48*vzgzz@&xjtHKk>Z#af z*OA*7*}JJtVk3T8GDf7Zro?pz+thVPZj#z9qFzuLqxipjK|oa4fMZ_0sHnv=+5TmW zAQT;OhJQhLY5rz^vh8Ctzm6X3rl{>H+XJ-6ra5h0X`f_1JYkQtG-mI&-omMrqOL5E zJ9HeQrAl(q`V%o2nuH`6&6zN3OP2gXVp$PMg7dAzBiV zNB}{Pk<11!Zj>ChB^+$Df8nb; zG%Ee#NJdnV${-gJDDkR!Y-#iDIOZm5y<_N>9gzEbtZ0Bj<=wylnv1W(H#P}Up2?Y1 zP&OUWRT2E9p*N4J+^`({$n;`K7fefkRe)T-khwtWBxErrNLOSoZ;HjO>8q^x)wVE{ z&Mk;O`C!+H`TG^U|l{n8{f1^7EZR-A2Em4{%n0|1vIw+=eB8ztQtP#^)Gi zSUz;Xz2bCxO5N1tc_CMo|Fr=r&12wFdnkW{B!HWL=kW5trmCf%wOQk`?cy+G>#vE( zI4L@a<`tySe0m17rF}?5#ejv8^6TgLuH+TN$;6~uYL=vL{{js6g9#<=%<4c>+|} z8E^Y5wv)qV23l>k&0!j5xiwv<2)SJS7Gu^GLNSO<~-td;F2YumY_H=dsK&2O-bQ8?)UBlHjP5SD|B~*dHE}XP4VPj z&*d{c={9XjNyJ%V`~A62<6PVMB81IjXEkJ!&ozUDdd;cz(=pNQa70D>YKhnaYXg1W z$mGjto@JL9-e3^|8NGmkcUzCK2bJ4zEfDs^DeWs+mgF81WewcdSC7BGk?10o(qiM1v6LR*!qQEr-^@;)DuX&J{wK}=+@i2MR*%D zIR5Z^DwhhDZkE?P6b@}kF?9FK^!X{96#lNVym@O?dL#vK;Ij`MJ6O~JwG}HZ*itO~ zwOb%^LW#7^lpp??YvgR}c|@XjbC9*aI52Y-Tx=*6acWJ-6fhS!r2Iv4`0nt#yen1T zPc|&hHs6Z*(Tu!%yH6hbjFS+246baEu5>%g^(xJ}`h8;0?6@>Kd@d3S43mUhuRFK| zP3fZBJp5-j1I3W(#R8qSfwSMKvrb)F@D=j(aKxyPywLj-mrF_0;!g8-)nG%)EU^Ai zbyD>BR-0Sz&eUeD@3N4EaD%UKjbYwYBDE)WLozmdQDwJGm$ zR~2#=u)0w_|6@N0#f{>;L3u1|(^0aqxwNd`Ck=dG8QT#}dj!W8{uL~IlM`TL+dA2% z&+l>F`{H|&Wfq4ngCgmg;Zo*NIc_&HI>bs>PmiT?ly5up#EZ!0&U?lQ+M$uJ5s_+ zvGFWCiyrmLpc9J!N84A2MY(lv3(|;`fPkcgBB7*o7<5QCN_Tgcgrp!KLrd2XLl2#j zLk~lD4Fl2*-+12l{9Zkte?Km+x!{`T*}3*w_qx~GdlRJII$fq6d}aEC%}|mh%(_h= zy0^rfanRBlEtnch}q3qx~ltYBtW7~p%B`_k=rSdlQLqgaoQ_0sk zbl_MG?Y(vqzFG5mznW;T|1(2GQ|DL((|$3218fi?BGr_i^TLT@7Ah{-shNT3b*>DW3y}M^3>(_BZeM3^I$o- zn#od~-X%-~2iDo1E1%tpV9D1t^!r$kVBure? zoSvBBZR?{+3+rAhyLz>GzZI7N9-YjCnuf^7>?>cJPPlzqOYJ5A)dzqZ-3}R2bYNV$ zGo{tmi&uMfrfIy>=>q3)Zd@SvmuY7+~jF4sE{>%wDikb~Gk}A7` zIF#H?*_b>8oo1THq<$kya$rwg^ZqW$Eibf1Dm}3o;J4 z*}c{({ZZo2jr8FtnFV}z}emKzWbvn@RDWL`AJ*y7v%=4Y|El5f6;l-LlP7w%8lE-)** z!XL0We5Q-jP-SW-~7r5xUBEU5!0?qqd9DkLq7d#Fqt#b|Eqg6*Q6}ilF?4(u@1W3=(J z*Q;Fylos2@eAOe^v*tf3$X;!pv8&GS_Sqj$QAq3uwut*qEa1y){mAW7OVTZoRvDVM z)eOtG<kDx+ZJzt3s!oA*HpONvyRGBSehN ze2m)BRzd_MR&;ioE_a!DVbA4JRiJ(=){klfC#=n0)^m-25zJG! zCbGYHw|UBZuEF_T|H=qO(fcsn{S3;e>J?eL#;2i$I#1_|pJ;aM#pj%%=c_aZ+vk967s)i>-_*hBxn!h8Q=myz;2+(NhS#(+F1Xx$fiLV%hfTEz#1 zgmE;Ep=)E8&Zo5t8ktn5YYBdd(%EKVeub6Ft<-Ky|7@=#&=>|1naXvcX>^I4Zp6r$rrW%8wxTBJ`n9BFKRV0Kg6rOO z9**=qifr%Gm6&E*x}n)`S|N86F6~<6qxp}Wi9^|kkGl(kc+_Z-DeFFky_D~@K04Oj z3_0Lh7F&r-Xguv+j42Yw} zaNYnjnyMIb_C-4)MJ)>9XLC^k12~(e74DYo_QlM4DYh<*g%!HZj!5>0X84%SN)Sr! zT~V6>E@RQ|YMI(#A2E^`*7$IKXp|maawVxgMILGMf3RJUIKWZz`L)-amW$C&Qhq|8 z0bJG?znVJ5-a4{m=t%;N25CPg?k68oE7#eMi(pwf_b>~m0Zb2;PYH#?q%846(FyOU z#!(eE&ie-F`HeJ#cjhMedj{V5ZO3AP!uFja2F|S{`P-*AA|lpm3=T*7G&`C+og;NY zUSAr^RyL9Z?@jMhTG=tJw~--(F<923Zf*1=seKFKcv!`%qKn+G7ri@WJJiPl@!@0{ zPKlqi^NZeSR#sWVBnUe0t?@!JRjR-j%eaFf0}kJTQ2G~H?awzd902bRISAUBO*WiViSItk(b zA!ENDucpMJXdE~nE1>>`4vTCzcCS65pC*|s1_M+~$*GOs2dWcU?`C0@Xa_`-#O%x*Wa{?p& ztbYC^L0m)2fjQ%c0hi&4@Q;O_!BSi@j?Y{i4V^+W!ftbF1a<@t zTNHiMpvv=#Ut+O=AMc>?xWQbbTe=pXYgbqcmR-AO7GKv@O1&w2&TnEL{AgTOPk80k z8c#Jt(Aml9g)$fQHai6s-Qx-6QXA{AaIk65M>WdVW!O%*YbQS0YpF}051<0_vCp5h zV>!k{+a^?UtPI0&Z0Xr}hNd&jG_DMJc-yyZf=_Pq6?L5^EqWXRhk14`p2Zz?C!2Nh z7=P=?}12WE(S+Ie+J6m3!>WaD0~51tHKA>wN2uNCby>(7BTTnnY) zFYMe5@7BQ$i=`__t$8eTv{LG(G+}-N4?%N|bJZ+WgRz)2e(gyNcP4$x(O$7Og|O=A z?hb8|Rft$AUqQV;X+v#b4HL*{=`u&jvkE%mr>q&0F^>v?HO$F8lg9UcNpT8Tmufxd zB&H|l)uFh3wUfr=KGP{xb7dc1NiM|Y6rdYI-7)S64W+TjY%@gx(&)0 z;ayE;oz;NWfUhBl>VrF%1XDv}PJa=t1-Jp7!DvPvcin`)Afpi24{4h#n+fA_ZbJ&* zX=(+TqO z?LY1HrAd33zYKW%^@BHF7t*F)lUM6utS|NMrf9Oa!l$>*(G2 zAx_yTUOTV|nA6MvdJNMq0x#4Yj*1i@Qw|G}JF@ibZyF~Jwl(%_JB)t1tp$;-Spd5I zrWg^^CxQp&y(;i0UwUZj4DL^?GCi?%8#4ijR}{q+0t1jH zpv$MMbY{dWEF>(~^v(C&XNgvM--TJyNDa9rbG|Ga9LUJLHO*5TD9(|to+!tW3yXmo zv%vBYX@F{Xj=@=2EV=~oti4SkOEdZO>$h*eGN7vKrf9KO!Y(Nd7ix}qBjg%0%9@Yj zJY8`448p9Ze)y&dyQL$K!rMFO;#;_2rC7NB@%S*kfE}pU#MGYhzZ8_#Y_tJ`>UABr zw9ND`OEYf59Ajyhvqc|VnxZu=E>E$NsM%hvE$o?uW3#G=%tv{>p%gge<2TgA9oz{& zI40u3Y7H35H08O%>LSY{d+31Jy*3;w~z=ih?@h;>Hc-(en*`hT_d0da z#5q0+lg+&~#ymp6ivc1|HG40IQ7RSG)u*fGNjKQ*aR_avBa;(c-W7XxR)I`*14AG= zfJ%q>ND8jW+Ut`I20`82%PViRK$lOKQJ3&m#m24sg6FTGexgnP^bDUE^GHy}lp z&ZCmvX&>Shl>cRMaPy%?C$3@1#e!H;;fBvrp@@qV5O+5Clb*1eZi=(*Hz6O*5+N7& zk}Gf1zzTs5H)z>_ecb)4=7#SCzWREvXhfd8O&_i?NCRZf^ZG8j=-*mD`E2d7AISop z)4!6uv>!apqdANeJDsAdI2dx+XL>u6G!50)BZLq3N^RTPJ>Z32n|9)CxahPj3<$ey z$4scigW?0!C^+A%*S5+3$EaJrdcRu!0ZBrQH0x0NY?H67uNPz4KbK{5ySdzPYJP^f z%cuUH(FC{BV!F~8#(BOC4nL`Cr?z!Ln%Bm%`}?)C%kg`GnD_6ylx`)7-o!$hY}Jx-S(9(W;JSSat>p2f*{Z79za--6$sU>PK!n&~x-=+!|4WRyiIgIMHD zY5wbTaVEtyOV%pX>ishKR92IzsKO65zca0gWma9QB|{6@7~8p>52dGCTG4OPZ=-g3 zI{K`Sr>k$|y*K>i(&-^h2Sw6#v8k0K8Zi(331TyR_ZdB|)3BR8PsQQtrK?CfQax;+)6FvOMo>a+9W_hx`|u}1JJNkT796gWf~m2rr#M>)A}mT+bG zbUpPGJh>`Q$@coG1}C@ClQ^=}oZUi#GiB~qTZJ@cvK4ucZ9W})oePtw+Ggov^wuNO zy3m+W7;x(LPIT6$R20cNaXMU=)S%zb&C)+COVxwu+DVSmPDNw+RIST*GYL9?`%Yju zG(QGgRn#YunD_u0Vu?rQT1Y|J)1HZWZXNTXNu;smM+vr3d)oRTR}b#Gm7d6+&+0qr zeyJp%(`ngQLX!4AWYm#1M)=w~!6}pg{k|2nln=4%`Gd}5eIyipK&kaOJ(MOPT=d#{ z2!0vp{sGc*0WeJ*A~bGnyvR#ggGtg5y6FlNL3S=DZl6?#mlYk$($WHoRskXryf>4F;SbreQ1#^H{F=X&)|vK8}25j*kD_ z5t>}`sh5(ELN@Ec+>GOQ6wL2!mwR@K!nL7r_+7Vob~0U$>ZKrtdjzB9bkFkS4gG`f zY3O@@u5d51CPaFO&+HW3p}HZhPVLEN#dVW9txogpZ&15$MGmmewMrMQ8>{**ih$J1 z8-q~&$F=ib85TIQrH^~ktmAMam5bjDTxKM5Jqz==6}T$bW~_O68aZYXrwwM)t{jg< zi6}F;JyW?jMHrzmmuojz*R$%>OW@$9*`bZt|L{j~+!>Kf@v^)K%)zp!2|<4}uhEm? zo9AI5{vM17f&0wO`t{g2wv(Gli+{)}QB+7=IcloAWY0E%zI)8b!lJ#=@cL&&B!khQ zmR)c4%Sz1YT+6~&pB%ju-nRt7i|&JiwSB(Z7mb%d@HUMj-2qhe_IplC-lxGx-2TD% zXu(N0(Vq!Q|NTYoWXbg75H}6X99Q)+-c5~H)io^T2Y7Rhf9A{@_;Z$Bd=yU7l82PL{q-PSk6TQlG!Q^`hs zWD3ZtUvKKG68EiM=G7ufySSssdpuxvHA1sQ*p;2X6;&re+0V#$9AAc?0@|q+x%GX^4v>GEy@wdllSxxt%1(mMv+bb1jlet`1Z_i5ES^4d_Jfgkbh3x0Q8e@W&O+j^(LPq}f+A97 z;EmY(puTRW4QW1Z{IX`hCqR$mUVD9{6_;1Iv+KOzeH7rGnM;6}U*R&4NBQ{|!j2Gt z*vW#`Ri(w485Zir+tTrA1YB58@D$fyO@_r=G~9gP(LL6 z>Tj!~Dm1=mnYc{R-fyJOyf`SBnz=8ED?K<~;Pw|qIP8x$3Do1z1FJ`JO#099X=z~9 zwTSC&*I3JwU}2{Tx|D#hFxPHQdwjk#(-Zp=k0-E^YQfe7~d%G%3m)d-L&I zU!QVyW+i%}^#lo)0v?-y8V^%R3C78uMsb~`+OY3Pe}Q3|u_Fy*wjcU^JFC`EB=0z&dij^gCqI%UbvH;@T+z8?^Dt z`6b`a%6?#>)ZMuev8e224}WRUlj;dbbz3KA3VFDkfW$34FQ(?bPlZ>C!Yn!t_NpA1 zJ&n;*G5%-Kkb}Z~A0=Z=+vAk?g!J@&Y{>HPOU1Gep1F0C&mX~%8{d!*SfSbrd#`^E zT|1z>F{+fLe|e+A(Wtov_*{B`JxCj_Y4i*4{2%rixz%!*t%_e%5BS#&7!2V3ZRbUMe!6`x~rXzHMFClhArR#m4a z@&Y8s)T8OrJLRqL@eV2$t^Z#iVmR2HUmYg7Mf-(@L_z69)K8BN7&|O_b!9PLD+C}P zF@6xR{3fFB_M(Xa;s$52g4)Gi-(DGk0}@&Fb^8F=l+NlC1ZmV^fxncALGz#qC;f*Ppi;{P|X4&DT z{1G)om+{L+i{ti~4G1TXaVgI;X(|4%{e-J1A%bV!wXy;hIbBT=avaBMy=o#sXSaXL~!C zcysh#UuzFGa7dL?cPq zJkEbGp=b}l)Im}bp~0Paw(eM6^jf0e5|k~&(aE?(cPt6+tg+@xr$j_|GLNBLuX zj2Tb{GjU$r;_?ua8}|d$D0B%QYmoHQkL2NIQ`Ic^?c78L$3Hr?^qFC58qsYF9R{rlS3GzR)-U{^6%n)@UJ(;h~Ulbkf(H!<{eiQgJiAN^4Vy9o;A(MSmkh+t)Uw&>^_r;a~!olVAmP$$Ub zkLHTehNEsVKK#--vr_&NO>UGP{g3kg5~(hddJc- z<01N5UK>`u^ljSn!*x9OJU7uRDN|ojoyqHJae7XZL;z2bG#qm`$qEi_$-H4>)9Kx9 z@-pdM6nAvWh6`U_HgYO8r;6yMZw>2Di%xdi#zaRaS{_rnZ=-3St~V+fOhLJG?pT(Xl#V>uIgl}@L&=kKpxI?+rZ zPTuqBgk7%4DoqBNWH)X$TasP=rH=vJ1X7?y07la^fOd4==h9lK)H8wQ;53o# z;2gT}efk)_7KFXB<7yW_Ld?|nH9USNZ!}k?cYmeFWNDd^>1D0NTYMiqigEBXxWVjv zO+3i@2Mf?YO{GE~F+KE+Rc{}hDoDo0Q>30yqE$JC;IA|}+;JmyTpM_r@J!WS9dT%K zesEp_@7pJ4ws~$ls*}yYz_1#4Jrpv_?-V{3y}}&bzwH8Nq^Fkv7Ex1rM}&P}Rb3Vg1=&LS|8x`LS*%1#JW)4aKbE{R)=Qn4u4!VJLck* znBd?iRXh%X-TC7BnCf)s0XdItqq9eI5^L&V8s2M<`vNVQS`OE@r+`RKXn1jONJwAK zNVX6dK5rjy4jmJ}dm-Ix*d;u3O~#^8^d$am)X~Btd!PNvwS$|U3@P~K9&VihpL&tf z{8)4~CGU6P(iy3FArGOMWuaKAe-rmY_E;t(Ad>M^xY4Yhp5O5&^MbVkfUEr}k{8F@ zPpLB8bq@e0dzIc@G_KWeK&I&f?1OjU!zV8&uLMXu`Y_fSV;mAeDUqNI-!!v^z#)6y z+zU{R8rbwIb}P)cF7@1HW+-!{=xM6qpjX5W4t)D*v~Inz~bAfZ6cvqYZq$xSF5frH}SFG zHNz=(CzoU5B?YBq#3(~u;#V#46?3<5yh$y~I9rBH9PU1=Pqu^?NuDYfD1D2LDXWZ5 zCq@1kkU*Nj+Vi%Yo4yJ4hh$T`CFxYGNW=rcHNV4lVyE&0M4IoBZSlLVi5)^mW#$T= z+TR|NU1XCFv?A$C0O^V2)9|x+o$kfAqu=7XUL$W}NFIJ4^yLLHsjeP4aYJKOhO44= z*5lBmlssmzrDUOe#I~VQo99+9-6idv^X}F8x0Q4YzL8ZHfqt`cBj6T~!S409+5Ofa zPTvDTBGc}eY-GEpam>XAv60y=E@}Ll-v)VYCeL3|F4a^aZ~YSZRUhg$pr${i84T3B zkH^12sU%vQY{S$}y3iSG8!H{ZsZiH@)G+G2FfOLi5)iann)Ql7B~Q+A^9P|v*6kfw zjSsl-$XhXEQM(kNp$maENf#@?F0mMSuU#iC^(hRC3-aN_Nn1*)0G94)BR!CSoZdV)NPu;rKekvf|A8Hc=t+1l5Qjt>!wI~YLZ$U4JnPiY^Ew`%ITG02Z z?#gS?A8#P);gxo4vP6@ja)}h-){0A@0|!=LB1>3KI*3s~O(G*5z@1!~Q=B$sMe zA=%&ai6QFkCgH+<$rvgSx%+(2f~hIDe8JK7O$n=3v+l{xOp=n?$zy*pP8@esD<&>P zXRj1CkAcqvwl7eOiMV~vRGi=SBrP^7U?)~s$MiBRvXABV(M!uf>wIg8;8aMEy$;_< zY>=d4p2q_7b$PL##NpZ?G52M7JhROmcH)&pbep$t(3EB0_eAR{e|udq-k>`Sb!Z5* zv>R6W{P`pz=G(`^xI)q@T9V%sOu#tFuw2cY7k)U#WTj~@eV$vv7WFoe{Tp!eGKa9I z6K(RyWLz2>t0Z@qgInVj?KN(vZ<2j?WGN|$i#pCK@)%{d>z0Dq->{EvJ1U?zFJtbA zE7dnKg3ThGdHwP3r$vBbgr+!BnJJ64Zrv{;CV8EFbIC6Ua7bjGw#)d%OZq9Ei>4^o zJ9!yPN1#;SJSUNb`rJVzXg!b_zK=#AMS^nu*n53It2bF#wn#T7;vW*N+vx8bG6r$H zNFK8JxCofhC!9v2wqEwdD?}8pQE8emrA^BgtrZ(AnV;_0RZJUeh4}l)!rpNQO9K^3;7rTV!yu)+NY9=}c zgSZ0P)}vW@1Fgt+p`R(=-a$Du!Tbldq)o%FI|e;!t9Cw#c$6=iGrrfxR@u}3=GVA@oS@z{w9(AjG17d)z)TGXdb=4*fKimAhl5*pVU?O zOVoder#w2UPa^J7GDkI~v^`sOS3UJ_BlsWH(#rT)%pMWv@wA@sw+8(Oiw2C7A`$WQ zvM&DbW&icM zNQ9eP^Ah@RIK0jnt$ogu*@#K;^V+kU*xdEcQ=?fnlw0Q15B{YCNC{SMO=#m`F3%IM zl;$auJG!og&rV>hZ8I!Qy*7xv`@5<9PYIkQ{?EW4qj|KfC^Tg)?d4)7oRt3UIRYtZ z6b*Ff71)2<^Ef2Rn_3}F?2>yW>L2Ulzp&jByDm?sz;$h0*=*b%(qy$h%>V*wnO6@~ z0tI2#Ln4YM!ilz-^N&~`|E~1^S}{50{#JojfbhHk?%QuDpbFD$5id+gRr6`XtwUk8 z@AB%?-Z(~3@W%!g?B~6;epj8?uquxT)neuIxcYnsBYWCEXDHVHXOYuG?}JRHuT?;> z)C)2$5gk+!6gRttdRfzfbMbYyGkNtg13S1XUt0k)wa;r{v4Nt5gaj%z*+Tb*{x*kB ztz8l%Pp)R-3c4c5TX?CEA;Ol0yf@UAT477jKKAMiE<`@tQpOEFXENi0{3gl&6$%uz zQIm!QHzoN!Y4DfrDeED3Ym{9s7%u`=t4Qrr6yGSkMRmThh*A$W!L{)1A3WFqRFBr1 zagf{8Fy}rJcGbQA=;bE=xZfP;aWd(VcD0?g^?Hk(hku!+f2bWK zUbuszVFE-q&zQ?uDfJ*@uFHeS9y>Hg6kxzofw?z5?lc+WCV1|`uw#CH`_1x3kwr!e z$CapbmE+A>X@TR-rz`o5%+;2v@fR-J?kDvQbZ-q&d5e)`)i->cKgZf%tQ~cWzHYL@ zCIxr*H8{}n`5<|*{9T)Ay>aYvbb{7ip~*|nb=Ksw8*Z@BQWL)M;02!JN;Tfv zygJ(&n8r7*Y~Uuq$4mC6(ZiZbcp;``0GV`{^hv+g^muzT(^hYUl`p@uv-7*koEM;m zJ9aepQ-3Y;R+5kwKIFa)lC>K_9qHVI=4AWn5RVAb8DM#}<#?=>yxVlhG0;_^hwIP5 ziDgF{ePhqYF1^bE{iZ{DO z`hK}Cp$fb+rQWdqwH=rf=TT|x+O?ucJU(+|LjS?W>A1YPcu**SJV{tbz3^Ri5vz91 zKy=Jx#hlUTQiY^&s28+YJ@?Z9_e#gstGjWQ4{TAr`9Wr< zDn$O&Kq2EP$nOHyP!N-tmHoEgi^h-TBMxb-Wx}&wK2UQ!zUZy;TRabWU`t+eX$StF znu}H#t4^dYFMuAo-07KPO__Or08GYV=|m_sqUxoI%8W8oi-~?IsmClN&t68H)UP-} zW?HAgb}^MG%yR|g)_}E%CPlvyMB5kSwV2bb+Wn^TxqfBou1t{c1yU9Z)uE9uRvLL; zB-@+FBs|DZS15UYRjpw|i&!mG8J&(K&R0KO@CcoqJ|i8Wg+;OL#W8D(vZiHt3k@+{ z9l^aRHNjgARtN@6LPA0!7Xg{{-4WT47%C1m7PYDkM}^FQ>RNpoV`kUk$Xeu06Hgv@ zD-a0BU@TV+QfLa#tZ zz>OzmEjvzO!PASz#^V!lC>`sfV z(c)UgiSGqZz|9^y*5Dh>CT(^OJsHQ1zAcq9^DK#PF`c9v-scCM(Jkwb465uu%-A?5 zBr{HcRqMW$oEA|)AwGJ8SPF5elOD6T8?)`NM;(_N6U`2YW3K@yjjB<$E5c7dbzvCL=4;#NS+5=hnd(F@uJ-J0?Bt0gXeV?&No|^FuXJ&=;FJuPi z8FP~dlcp!<2b{S(hi6as`bLayqe}B&?*)ciT$AqA6r194!8gL=^9Ke13zxbY%#xe? zqy3ep*BD?uxP`}Uw&D)xFuT@52MKtL`_Ff?k@nsd+Jb4swVdjC1K}xBt$|)IjzN4} z<#`cM$S1m;``!eB=z14v}_|IHZLRUua%`+714}tg*x(ADAlSGK$vJ z3=%KE+_f|TTWr^N$lrkvYG8f``RG@ITx!fmHNQd9;>%3CCw-h2{WDYS?TTmCE@}J{ zlk_QBi=n0Q6nPQbz&WoSxh&7Pbcm1*#AP9k&8CU3C$f5_!{UeRwdv5gIFM7zMj*R@ zll9 z8^Kg-UY#jh7}sSS-#ZQGGcUKEuNidyz-Eq`(7&e0<*L)+sUaJ^0}B!%``z{XYu*E@ zNPjN5yGH#h51j@vA;zWrDBOeZ$5yyiWNR(#rNN<0l27$2a~cIrtGxFS&gT;Y1N>V- zg(p=M1)ddNd_Mt{NK$?Mh|7UxhCU}^3}U=mhwW-G@rfjNMg@_JyctBqWkqL1idfX@ z@3R12%+FH@NQFeYBN1Wx;|%ZPs10480l9Q^_I^943&zO1pj+l3$tIJ^4&RzKuDOw; zb;?`=$c8o5Mo*@%PY!r1n*Th=g4b%G1zt2cb{NIILCNi%vt=uw(VWiTKXd}C)Kc+i zwlW(Drw)9okfbcUu$Xk&SFj&16d*3#{AQ(l^s*k#h7U~7fD!UEibtX^6>F$a#csz)3qv1t5NcUfexGB39<38o8B`)f};-?%2qPA z&TKsnSEEiF%;XbikyLGteOn+AHMQHLuCESvjaFyt&G~&UsvZe@N))Mv z4KB+SzwPeiWi4fgxcu(VGvMY-Xl_~YS|{n&SIQzIR>2=X0xFhX4G0HIY2(jPyLB@5 zc9QvJVodHlv=B$@O10)`D#948+N@BpAM$FMOCAtC*np57ksq!PQ8~|@u~?FRHSJ?m ztcGYA#tr0lZS?^l}aH7p5sPw2G?!E=+8Wrc> z$hIMu$f7ctJ?Esto43*xh9Bk0CP0pp&T6^8TPxcK!wh$>2Mh)Dry;7=3|Hhm6s+HG=E`g?T8vKT-UmD+&U~Q|qRY$OP32`0&Rl z;(gU`p75xym?(JD?BO-5(~ln&+;%ZD6pMfX9z=KHoS2JY(ECpqE2%`*i76@>W=M#K z^lMYG?>R?SKj&(bI@0Raltn=O;dH;ad#zpAn`Y$Kax31=BPBfD2E-0(_N7AwOVYjx z*yW7L(RY!=Lju~7yd;glA^YzPg_IrYg;w{u?n+gfZ5I1B>2~9jza}6F;NN`iPS&Ef zr}q!f5=asT2SwhRQA6j&aCioIjDWer*ACi$V$q*GkQ_3^^=ZV>@L#?Skk#{FoX)+$ zaq`2WjkQJl=>={KrOERla*=m+{?fZUsO*4Yf3mwsW%m6$>gRlgUSQhH>x{$oevUU0 zNk{fO(-rcr)-&`T2kY^l)QY@nK)=0=mGjX*x}y6v#%(Xyv}X7g&`E@xqu6~ki4KXi z3?DB7YZ60i29Ngj#+q|^S#B3z*ZpQ!0xaZMxw zb-hG3)nP3H@TauMxFxz0KjR8s3~DF;(N7 z9axjfP-=9gQ85XN?zq!+lj-G+j~9dFkglT#3@06dr2hYBq{X@k!|*4QQR|C1&0US_IVI z>;F|W2ukjdTeZnBHdD7%ccwU?{hU{N)GpaXUX-d8(;B6P2Yb5pPW@V35$1^{Fy+;T z)Ca!~=4hFJbWa|>nett|Nr~rd$NDOPR)uDR2|p*n9i6+5v|zR0Ku7t zUvKi>l(H6+cWLa=7;_1CxuWE7yVQx`t>^mfuA@smgzh zihC;MXjg(_=f${esz00)I_9RWG1%OlGfV&ojRK;k1KH}|-4>A8Y_ESrvNZ=$f5Czxvbcf4kd z6(C!rV?OkVfAwTt-ex@oV~Qz?BArhEwJi|}8arOVvp%&4K4(dRA0xs8D6uI@!+is$!)F>Di0Q_F25d_+hE-7i483OLkgStq|2G0-q0fsmMqgr`GDyRvpb$mpJ}Syn2nPj`!rM&T34gxhl}A zXRuDzuSA<|<6CyT%$L;_*S#5LBwmYKUEwGAvx>S0=(=ROxX2k3;|RfkRy`{a@f13& zdcdaqQmLB3j#6|@xNxB^8Hu1P`V(qoABt{UC*NzBeaxAWv=}8{oZa`rBx3vzo99{F+1kX90&5I zPd-ri?*2bWEMqa0K~>p-V2tp>6cqmWwM0F>bpV&TwlX+`DMIEEb9m$@WFSRR`nIi1 z)`s}|Gp)ucbRPUi0@kJ{f*x%rt5d@TOFVf7$ApENHM)+e?2G)qS0?E~GaHQLd^;|M z2KmvY#MGorwR~1T<910`9*1Z`(NS2m_WP(he0G)0Pj##6R)^xDP7-Ots(0*tjJ(#GAE{~bluv;=J ziGjCCrW`q!4EK*O+PObjw3siffO=A7bY_xq*tCZ3XH@2=8jYsr_ih`=BqU6Z-)H$f zATtUUi-*I})0)=NRz@#{!S&ZbT%bjg!Ywe1!rV!v9_TB4eq8(JUfir%o|CbE8R@;dG3Io|HW!=sc!l5RpSsk|-YAh5-y zTc!J!V{a-WNLMAlM#%BDiO6&}1&Qh^P!o#L(+6_R_lf>VP%dH-a62)K-oRYic+6@P z?I>zp2oXoG1QTO#s_keTZ48H;d5|{Sc@T~6q9mW%D&hLx=N`Ni#hdul~ysH{o;lw!Wg`nZ%~_0KZ<76 zuhC^n@z29JrKhJ)-9F)$jNXakcOnHhx^@^;I;dDD@yuneRJwR%)#3$P>c{}_Zv>dq zMCLuLf`76n!b28^pr*^d=IdK2SU*S78|1d29%?RMN^*z9@IN`4ScU&Cd!GDDbKPA5 zs{&U#`S3UxS{BC17F+26?JeZg?~O3)&Y>- zp|VH{(Kd|91~*R`?UZ{zPZSko(kVvn(8%{{rsWd7mO5A;Lhy5Y)$DM>LGLD|dvd{G z7s`}DXtonGHon_jSyuksZzle~#(p0=XGX+>LN}reTyXl;W*>#YWr4&*Mi#=JW)m_M zR?FP!0q_;hK;HP4=Y?veUE!I~S98?ZGvoRi`r)}-ziMCt>ta*+Fhu$2~`wU z{~y-+`>%i_hQ)?2ba(*t89eS%W?uInK=p(ED|F6d5M=El0zx3Zw9{Uo8!eLPk>56zt9x>FKKH-eO0yY_l$iq&WC zXq;HXyiZhFPYs~TWX~V@ z$tuA@x55t%d6rrr-zIKuJ<~MhK0DKi%A}+UutKWPlIqgGBLuFvpzR@9b4tcgZ06>(l5NllcKVlY!y3(Us)< zT-(y(#$xm)U1ZV&WsXxrwI@x%oL05!C$l)ry^DW%PJdyTEiEL#;7J>%{dy;5(xF>z zY&Yv-csEwKLC7Y^wvhb&*nS6K);-Akv_ny(1-ED5HL5o7xgKp3=4r;^m@atkwug%8 zYaTJt5e;|e?x=Om*(cL>3lEzqDSk34nkPC%eX$ow24;Su?g7`<`v=`<`SSvdu6Uvdg~B#2CKUxbM&LJoj_= zAAEmt)G@AcE$4Nf=liw2HFGS;2Rs@6Z|wi)0R*c6JEN(`0u1#QwqDk9GkV3y_k z8yL0tV*QswW69vVugcMD3gkkzO2J15*{Um=cSQ0xJt`qi{0<`PFc)CszB+@{R_ zy}sW9e8Q+}Xj-oe(AItG7dEWYcL~V8f18J)%EgJfSdTp;fWmiAIzc8>klpUfOD+>h3y~AV=YaooWfX z9!HMdnwwfa@hVpZ_~$}fxJUcQC^l6I&)RQ^|JQmyoGNvf5+< zW&qu>TWV7WO@I0O0G^4#HzjC1NsY1WRDae+n&9JXBYu{8ZLCa1Iri=%70E8hSvg!m zv9qhrZO|3nHw4~Wrp(v8wO`J=-y%IhwcF@RuxaS~CzAyzv9)>hdcHFV!)LxRBrnA_ z=7}&@tH6!N0R`e$_SLsAQM=j5>RTKou&p{16rc84OOJjpOV!$gV9>+P0mSD!F7JfL zVAJl@h_pVGNu^(%`|7A-eWkMiZfbn!`0*+`6(mo+La$&>>}BwACfCU5h<&C_$HG7Y z${+$K4vH^2-RzKYJ#TUypW)G@{?A(g{L2N}ng$Z9D|%u-eFH^~sx-=rgf5bG4W)K9 z@qN*TH^%b3Fg_M@s0~jNd?Fl_H&_b>#E^IQ{(>|w)uOpOb7~EeFFjp;hG2^ zKw=u;FgCnaTWoc13&O!&p9P(NI+wew2#%i&$ZD>_nQU%UDi5tKCOxSb_-9e{_qTC# z&C~;12Icg#D^Vi2qot!d(I2_v4(fwJNjB9lEXds(t8&Gr?bs6kyE6a#*z?(N;;BeH z3dXUMGpP=r)))Vt3P@@wfjv3Hy=aOV;jCic_NT8|huTIm{`7@6qcuraL~Ch>PK8?qJSkDX{$SWPkdXNdd_Rb~LS2-0@<#kqfsioZ)sz%@dK zB26!){Nsn_War`J|9@QQ*O2^JLk|FhVA{+fLIo1lj`Yqfp11!C4*I`AcQe|M6ix|` zfJ!|P_SWr`B8|)8JuXcu6mwvQJf(@MFip1{{}XHyB&U47mb12cl59XCv8b~44G1$K z(jIZfNcl*@Mg0$hDH!N336$fqsG_)FXIjXk_NP7dEuy{~N)7K`T~t5ope~wZ%S8<= z7IG9rUr*8uHmSNYYM%d9riu>!dXZujM+2O=(!GN}8TVyFn${{D+(-YJI|NjVu_wWtEGr?E^?r za5(P_fKgK*S)Ha|@b@NYxGwZ?(@76L0(8LRyF8c7cb}IM@0fltJ(qeHpw3bzJuA}aF^c6JEZW-Kb$x4 zG}k$uX_u4C8$=xrjW`3gKCc9{D5&jPpVtl z=}QvbOm=x!X1KV0PH-V>V7?}&H#_mbVxgK-tan|_dAsf>fYfv^P4`CwRZi>_9@`xO zRQ0_!5&plvRei<3Fcx$;C4X!6N%SaCh8T38C;4c&2u+dyF+xnx@oQ}m4rWLqx}J*O zTTGI2{JoSGxPY2wfI8Io<`^#Yq^<+>`QAO-k$1C;?Vdz_apBWdK^_uZgdB`gYHH)f zZri-pV3{*axLzIDulgrD9{3zTwx7yR8VH~%Unw(dkyU~hn2xeXr+hYJ;E%a6UeP@} zeR7cn^)w7=RO+2i^VMHu7d#-Y3v(g>_)J1V>gwz`_80RVhco@->7D(@2YOK3NH5Z$ z!3Hmt`L~p*fXXN0fr*Jm1PkwYs?XD}J#lWdOQ$8y&6M-(Sbv*?9-VTZ2~V&W(4jhd zGXTc>;>C-_uvG@niE+23>|JVq>wbYD6t%t$-_OwD{9GpZ{rVoF!a` z$4p%YCj1ESrZ@l%)R8^0JlB`}bH876$oa&W02HjdQmoE|QpW*DHJEqxN&pRy^AVj&)&Dz7DVMY-uv(CcoFia=Mq@N_=nOy`u330ch$9rwJ3pBgZ(zEtmS7~qptClUs4S*pL6jzZ&!^k!nBLF$9( zfFqAozr#_nTqA8E$R)3=rAjkIBKI`Zc^WO{oi`BLt#e;87ao{&Q*f!Xj7i>{owD48%+~#{VAM6*8Kx5T}MyC9G}j{ zaq{Ly*gIn;>!dy0A5ASnC5$3WikU>_(TDrz4G+(ky^%X2^@6QUi@Pm#?~Tj$?4C7+ zDBUro^9~BQ40Sf1F%0pD=&Weu(yORtVXGkt)sX7 zbP)~?yW*neQml^P%}Jpg3x7Z&%Jn>c4D1%EvZ_S;T@`kFF872E{djr)VdjyMXDMW5fP#KUgtGj!X_jP#4X*TJl3$37dmt!B&M5ypTjO%wfB>(UUwFYWG~~et@j&{EI|S| z)Tw^MkSHZ4c19dox$Bl;*5-IUl&#B}^Lef%UsdhNE#|dfgLOd6 z3eaKa{tihAUEDyQSYofL%ii}@CW+8PDX)O$1YrG?@_A!dW5y?&Imqjn#CvD&t{ann%WLp}iI-iOYommW0aMrm?A+HBp0@@p3pIqfx_uQBH9P#0 zjmWXcxt_1(sm&b+tw^`#PNnCn-Qbm&DS+tYR{R_-(jBEh0f0Gz0=3ss2oO0?^87MY z!kSwWA!F*6(R5&%wvd5^;qh;`D*p`tSxYUVNBDxv)j-f=!i@v#W52W+n64B4xx*rq zA5~Sfo|IrnkDLv!wbTm&(Rkt ztJqraWU2T5Y*$>922G4WfZg~<#@aUb{eXE)g98qshq<=m_6Fbvd}PQFhrgvEFPJ1r zx}7;E`0Cz(4sitm>xBvf;=gkk5z~)s2zx%4PR%R)FN5a;(gp)HKzctoY+O@XM4iio zG$j2n20!{mH*GOdjUxJ|(Bv~p5|oM$HGi5-FO#_lvpRL9a_as%Cr5%(@p<{dgg`cRaIAOQ>-s=iR`Kt9 z-XF?o(QcMoUux)ue-iFKy3KQ1`y0OvDilN|<6TG{R?5P@cse=&5@YCd^EevViWLb= zIuq(3p$-k~j=R&)eW9U`EZXzg;Ny4e-uCJ#mYq=(9S#N+50j(@06%L*FPFv>bf3^b zBpCxhe%Z;`bw{1&HL?jf%XP%K&A;#6(LdLlW4ai zpsVIXG-QP4p72$eC@TI(2ikNhvOaGr*I*gx>ljq&mz^^32+;Xd6x%Z}zf9JY@rrEmY^q-FEco?YNw)itypj0gT<}rjv_*woq3$pLvVbFgZ*0o@wbA*F1eU2!rX+^gZRV+$M%eU zQ%COh_U+9x{TqmeqaNB|*1d6A8dejLES}+_(i?@>Pa-_Da~}H`dGuDZU_!?hT8@t= zZ0ZjNDt#V3X`!hK?=Z7@ufYQT+Moc1C!%TBm0^=P7UN?Nkfv)$ou{&z``cS|AGB+*Y-<<#OP1WMmUR{YErB zx5Dq&+V`^vRYyaqDYU%&kp|<4ufD#6q5u z&1}+Z=L=Or zM1Wi%%S3#i?W&=0w8&~G+j==Js(3MEt?M=Y+8Pw1NS6RcOWl%x8W{t)5UPix^&W(T zfd-*Z6%(P4Jc=m!!r}#La5m)l#&3JTf$p3()39`j8$d8N&Fr%c!&4%m86 zU9Lf3^2@$yK0uVX0vl$*0%N-;6^zl^Q-RuBDne(_lpn*x1*PRIY?E;%_~8ULAF&Sp z-2itIO6JqzDMqPv6j=TNC*c?=`G`catfHU~hc^t(8J%Zc+g&MPMX@lD!ke&yes~Jw zyA@GPn)(pb8j3XrHmW7=$)`4HLqA-YcoCOBRw>kBfb3L(v3i zet}X~y=E>;didw-G&hP0*Qo9<_~X1fLH7~6@!vQb$rd{x3a(?RijSlURRuh1gm;46l{-ELb+Ez4GdkbaHg6f8QSqn5dQS2 zg_KA^N4(xA2JW@%c<$%Y)pc5b8($yj3G;h?X}&hh@!)BHN?1HmNimqk)u&otHWjCp z^|{|W_>jme`WaQ|GlSoAv;&DewE=@L>7q%LU;K3<0)Yb%!}FJ4@B!lK(aRExCq0kT((<$zDf8Kl?kZr zE|acExbbnw5gqCOyv?WoZKDFfd)-gIfBNkFZ_10tyJufs{WDY!2y_CB!$RJKrZ*QGvg z#mKa0ixr$FD}wJrm8y#jvbU^#=F1!FVopetAEX1^LeM=21>h8h5?YZd;DxP0dd-`G ztlYY_LCc|Hr>fB)JlS4vl-B1L<)FykWOXPl|$Om=GFpm%W{(WY>AIr^NE}g zrEsZkf&MK@I=Y0?()(#*huZdJjHlJ$v*&WM-Ya)*YjGy&lp@HA_MB@cgvKf(nDpoT zIolEvsQ^9KM=GF2ftiafCRk)@C3k=J-ELA}Rb#pDu;>Bq#|yzRe((L5z_UP-k=Q~w z@QCCJsOiJY56S_S@|Pq_o7JY@4bW^)(Aao<045=9lg%EvZ-8|`RJ$uexzKKEaaZoG&74hqU?$we6p{wG&&UOq8d~affFWW(+k-N%DaI6l&6FpM~pT5 z=V9Dj=9;4p7Z68V0m!SH`xjgGD<{)juO*Kg1=%nBU#asqz4iC2I(zYll?Y$+fXxlW z7~-{5-qi6fVwU?Ixp7<__LwWJdp>_y0nkYLP5gukDghx2JuHYMj)NOFKK$#CpZ`rg zc0r_K5I1gB38i_x$0R~hQ#r9Y9e~t&+N#qAz|~FC?jPp+K1+9dHGnr|0HMQqApMA8 z9(bbvJg1B2*)Q6@M<1{_O|UJqj>R95!l~f)L=^YaRqmL1Nol|NFXC!LLenvRFKLM{ z-#?BIR?%&RvIt`-QYJ+zaxaNA3{w`{(=e{17N2Wsx0B5ixud)!oH4 zleclx9-$~xhJWjQgGcDM*0I+mBVqK9!yZUFh9iWzu;b3s5m>-5`Mo&?6apB;dt<~O zr@oqadU)Xm`$DfNKVUoFfa!s7m?l@f)lPQ6tR^^@m4ErtrJtXwQ)K)NAGd#HpOpId zIuR{JS_TD4SlT)KUb9GLS&hes;wY@QdXo&p_Ec3m+nzg z)&hL&b>I{lh_rP1tE=OHzOL{Ms3PF^3qUty%?1eX0N$-csY{{*M-&P;+4oit$@JRI_kPuh2J=D%x-1!f05+D^Ot@k!f1-1dDkjp-tIr?)$J-R zqjv7>xV7b z)4S4_BOci7Trp^#rCT9teDi&*GozwbgRapN8#-T)k#%MzI<5V7r@Y|j;r7Nv+2VP2 z_N~!A1Ho5c=N}eY55RPqp;*&oJj4cr(;u)me12mZAnsD<02QhP{r$2t8e-3f_byh%B<}xo z)`)%5tM{x1yFUL4l9T&VXmf6L6mF05IPuqTk9p~=5e?@&vy`9EwQ7&Qn}6pbu0idW zv21_g@-+}p!U!RSOXDT=)YIx!)PAU{_&pM`oz|zfDg==Cfo;Z$a^ET6@j7sgl(o!7 zrz5=c!OM-3OnPo$$G`e!IKWZnTfb4Ieznsy|Ea}#6$Jr`8*DzKYRVkIF|MU8o+?uD z{VAIHe&jxT$Kaf`1?#oCy&Lq?X*LO5jkw?L;{Xr!S@;ycK{f7ixW?j4ED++<55ytiCevHfF|9d&K^_utjVo z_;(xoIh4%t4oKW@?`~UFI3CoQV*4<7?DfcAwS0eQhwxSoN5=k7ORlk2bSM4yZ>-U+ z+iV)w90eyiyDcCqxl>Q*B?67{17_iQR~TFzUDP&>I`zXq$$)vh!4M|9G*C4V9PqGB z1YxSuFF1!6$GWSjxfC2-O_-QLC)c%fN%J}H*7f~(k+skiB^&pcoI26@8_&O8+RUmf z1ks{i>ZT`WKXrsLh*ab=Fwo?#SRQRc*mYZIqV?ba2(MXQ*O#gq=u z$#AvHVT6^Iz}gjxg6kkQXwZ1zo&1i}7lDT;FJyzKU0#FQYxs@dN9u%HG(DI$AU8Xx zFa-2^s@4-X(rUoB`(q)}apIef$aoDXeRb8KBHQ(yt7fjd5;u^cLt_Z^=e_`hADtqk z_D%Wp-<9<3i2M7PP6^M?KGcB~ZB^#KmTAIo$aYg8O#?FWDg{lxR5}2*-whDHc8@S^ z4&Cn#bp_2C&Hpmg>jsSF_2zvdgr{n~V#6}gqzN51`Hd2LY6f+$BJ92^(w3wr7k3dQ zMKg`9PwC&9?ck~E4h~n@B@UC9%?r^v6|ZurY)VHBV-RHPgx>tFXF!+noO@<*Gg-Qpdb&htK9y^^KkgtHrjaVeZQUFD8SqRT z7%yjEZ_y7m8e9hqb%N5;o{52G2{C}H0Y5T)72%E9!r1^^Sy(K$&JcVRo2|;@$uEHh zvOwn2>DVr<2jqC+*)^r9E<)AUX2_84M%}X=*;9AudWopYITM27Q)7;SewAEo_BcJ#|Yo4RRw{)^}ejHDpg?%|Use{8=5!z1eCj;#TTq zbf_91u=mfP0nEQALCB_C4Q0anj>_03ihy>v-9+Z44IH>z7l~`kF~f1=a1(4=!10qb zM~<+o5RE+5XB8VIG7&F{8^_Ne?0ny!%8Q@J~>OnV6O-&4u zy--XGv?g^sA)LLFC;`y$6>|-I#^u@)QWNb<4+!{itnWnMHHYo1wv$!(37K0_GNT6H zn|I-Bf|la|Aay3#oLsmRnE}uMyB(dGY&^oHSRiRd(Ee9ws@C#vdkLlBc*c77_)S^- zGYpHgCQp)s5KR$BHDJ2#q1PW)qK)r^azGSmD$I1<1M^!Du3IuoW89lc6F~d)OgjMK==SPv4k%4_cAn0Ii0-Cu* zQ#swzJW!uUaxWX0LxoVn_jBpEEY(8nn9SXfSD)IFsujBerelM$S8+{~5YuT-aa7>R zoJKY{kM{Db`k+@nhuhVfEuMS_GmwG4K!x7R@FUP|8|0uW~|sqmOHElVe(J90=+C3z4`R!Xj5cp{3CS ziIQ=sNf3g-0k?-K41*7vTFSri?dxHSDB93V*m)5uUHKveWVO@vvRVZUkP?3VnFh4} z^_`KO2L0io`PZAp65%_&C;BT|QK!bs;Ml9zBqXZyzLV{Cd^k4J3A1q+ad5AIrtHcO zwk%+*mxBT{D-3lS?DMZfmhovzJsG>wvP2(}|H<+gJVLl-fzv1tS79R16@!&Ad)y1S zwaY?6B%v6oA*%M ztRz|Ok+fd1_Mqt;uaJ)lRFfmyx`LC_Tz69aBKJahGxIp3c;7n>Hv*KU)0SgI1 z>~eKa;QwU-lXAm908WR`5& zz3%Zi?;iJ)Fp9HP7aqtn1JQ!%Bcdm%B_|GG6zF0EK;tA!WXWS%2A#c(k(4cdkS*SlUU~72RoqW`qrpTvcwK^UFQ=SG=9X%nA zWsVcH;vPJjVqD;Zp73+ofDPbQ3~!$E_iqb1y&pUqj*#x7BQxmt5rMtSA0gRKAm4}n z0q2*Qb&l)^`Ww~U$8R~Z@__bOgt$Tk-LLWCb`Uuo2 zz>Vwp$G%e#>*C;8`iB<2zIKD#K_w4PFnjzoCGfeGpFbT?zL*LHN%|{x(E#gur>yB= zV}s@U&`_}8Z1OHUuHu;4xFMw39s^E(pt!G+Be$6X>_%K`B6fiih>0q3liI=-Ke9q@ zq3XxGvBb}LQFpOmOmzyMwrnNn4T8;#&3WEtTza@JDBEXM3YANy7;w*IoGMwp zqbldvyO}FVIN0Rg^Im^i@JLL$#Vz%B>hN=3c@wlwTNNZPb4@NCia5suq_&NND6ekT zGgW^2^htR+T457ac18GFPO#ufD=f9h^}toLK!NgLh-}8!1N>Au?jC1SwL@G$2*rf+ zMBG>8>EK*V3+)zsf} z&gnm1lnwh5ARZl?X%ggATOGXIIwk?i_mpP&z4+m;YULr} z!jdH1bAB*=lt#L%tD9Ke>>zKttQeXs8+aT8pUyPUIzaoT{KlC{@$ zNo9jf2dhJZ`y+J#YHYdqLoWWHB(iDbq`t+-YbIcFPq>2A>QbIM^b8DRJ~W307w;_a z^||bmG+idOF)X2&G}Lbs<13M#spMBPd>Yk&vcw|vf6N~&vIkhz2W7nh9qhdCmPBUf zNn8=kQqn5`AMd}t1v3oAx~@V7dnWtw_HB-tgHm1`ZfvOgPya&-; zmTV#nQSW4n>}iMC1IC&1<8x?j3T&XZMSlteTCvn+1sc7hCQ-S+zm#^>@hnmIz4cBm z%XiSIKK}u^Dx)eArzH-2t+?vVjI+@F;nb0P z+a_lnY&f1rxY~x(Yssr1G~N_}(?$8L7My!@==wM;Rt; zC%QRNvQWFvSPjS?pzY|2b!kwH&bn#f){mFm2Dg*b4K*KPf&7jbazlf5|EGS3&YCge7vQ195W>K7%l}ojMYN3H7~YW3hMip}w!^#7}wUpj|Qw zELh~_LLrJ`EBpSWj3KR2iR3PDr~0%Dz*|?8;g`V zgj(|YaR&sA-E4>mAsqX4_!2jyh0uRNu^7ZRA`igblicYULc@-Iy$vf$iyUTWK`>1T zCse}F_EiuP`tAbusCsh5GC|`ob?D$D*LHk2Y3hqFs?B2^1%clTO?Hdv-q*!rn)Q90 zJ4H&7tHE##t+kPrUfA9qGS&1G6mEIWVaLdYByQAFR?nwfEoBr zU+wI7dg#?Km{g6VGOF(mxzZU%5?=!On;Bk)vrTql)o;yoD6c~+OWcZ9j$TPHPH>nA z*h-OhV%`CRJ4K?B(f@#FCHlG9p5d+z_zThN;S$qo1G?7K+?d0d<~vD-TGNSWiW_YF zVLrfGNjEt)PSzG+P(2Cbb%j8~G+UmnOg`Lb6LFS*6SHVvGV#;7#lAUKEk$N{l#InG zTYko4Ls>1q>H+)1E)Q1bQ+&~YD_y!DsOF20+>YLg{F+TX2nmx8giU=ak!7}YuE*@V zDVS|2>Cq6ZmM;$8%8^*pUNS;Hp>VQus{%iWa%B0QFW_uHJo^q)F1_P^t6XQ-CMl!% z#4t=)8?N7W)Yh35T?IjcpZT)lff=TRl<^SWanATduKh*_Hlf6Xmlp{a3S-L7X+)xO zP+6R%xw|DM*F0etEgQ!6C!_F%)v{F+FMtbjVKbm+sy){=S<@89b;_09^a#dFPTx9I zR;izhkK~5mt#`oUx(goKA~wHB_rzd%m~9Y>`Q5BBS%sk+hmJX&2b+d&PQQAkfq*_U z^w|v{Hz~8QqYiiNM|pnL>!HLK8>3|r#Cb5fgOusoFe)b-uv{y>F64sJb{>h{e*9en zW>L@}0a=6 zH92AEptsnEGt~bGx_kuGQo)o(1}LR`zk>B{r6byA#?Esn;Y3k1Rq1$s=qNKneIvM< zQ&(JV!w2maaXK+ai;xDcq51q%{R}0l8`=)3C**Uzf=vy$DpLieGnNdp4n2fMu9=L? zl=s95x$|?K@<6|9T93>alEhJyn~y{7FrzCBxO>$ABout_Vrk|p&nOWTc-Gnk&q=kY zyYY3K1bL#!%9ExX*J}i0wf9vBaiZk@+4vHf`2ohdIyH58#|`pU{!oZ!-{@UTLc{a3 zM$o%6jBQmm?V+4^o-sYFz)hWf?W>u#F%^@dLP4Z@f;P$BujTcpWXXFh_L<#`U>*_U zEgWxuA^}d^p7a|H+Jopr`NIjHE&+=6$K@kcEarVwtekOWbN^5 zzCHuSB*2Z;toO&UzB1%o2~b}8Ow2jC87)pKaj>hG78$S6l4zxCGVC+tK5Nf{93TH> zGSe$ABD6&N<&+z4{YZM)nN(eDBwl7;2`sR#NkIvbFS$MMs(f(G8T;t~^wSD9NWWQT z9CO$3(^3x3w{HECHHvWP=)%{~TFXzo335H8^^Yf774fhH_$&hh6U_Bxa! zfcv(F3sn6(+cNUfvt$>(6*7m&seuPuk=*>YY@tNwQwPF~7MMFc{GM>7c_h z^YdSi51+1UHG6h54GaUG}#i!T321)=r$GR_%&ZGhnD z*rady?7p|YssV4NZL2aS{I2r>kUmP%9F;4O_CPks*jR0{i{#{4;#lM*+w-bE-atNZGJPuNLE=uQNRk3#jPdOev1n)FCsBMPkf9w)kq}*p|lnE^a^T! z%bO#b^LhOG$F4L25EcK`yT+yIMVP(NxlI{%cKw}q@09bmzG@b^kWkWE^j8&m+x_Q( z8Qe@a8#-DEGh~Q%p*$T)Y*bs~bMmSMz%HSM{vpeC`zrBCXEe*@%eOO-y{T;d&P*G5 zG#s^yd32FB{~o2t^YaJ@7l_~equ!wS&&mXM^P3exCbzBY)wycp`T42-eS{PJc?)lA zC-D4Az1d^v%53I+;#*6cCI0b)k?bgQ34Ji84<+pS8Pr?EIgB^U)1K@n0Kvk~?Cib( zIJxpKWC3?E%|l3Z_bX*pcfq{ z7OHTV1fV}l&obTnXVSd2@xt~4RbSt|QfdNprl}_w{v;p(TSF%8u9wFqcgQ&z`yEJX zyUhPy?CG^PUv`;K2C3-5W1OO}2}Tl=?Cluec91!O#eBbhKeJ?cSx9%FS~BN#$l=ib zPsJyzxBg%-2FAAmY2<2Mu3Le$=rXwvq0V+8ceO-qzghOsp)tJL6u~5>tP8g|a2+}s zU$XxC<&uqhwH0~SKX2LJw{hk&`3**6@P5-R!E}uhV#IA8+Hke%b$8|!%I0Kjgq^?E z_kb7+sEYK(>sPH2C-I7;XIaK6w=|ujcK^+l17eg*F4_vqK+*Lq|1!ryv*hNpoNmg{ z%1%RI4b$ZF+GIHq*|%?MR&Bs-Kt88MLK?t(u?*`H&$0?j;?A*daP{hysCz>5O#KWt zmXXp1#~p&YZ~~&Bq3NDM*^b4NVLz!XN2OizyMLI<<^@SQ$xyR%bJnwZS~<2T{LtQc zn7;g@Djd2a2AQ}2iqQP5USdUB8r<7CCz}wce#Dz1IdxmibV3*Dh-PnMW3zkXw1N8g z(8KWfV5t_Y3#%STlNI>hBDJ0pf|>!a zmgn(sLk`8rBR;+)vs;cOuNFLhlCQrOTbNi84BWmf4qhxWwvKZQZ1>P?b}*nT%<4S8 zlw#>L^vLxlZLhK+qT+b=1>5=#r)gx6EzD{Wy-(|uG0E59<(Nqj4} z&(W+RKReq5Y*u0RtenQ1r>>lA^3`}t7pq775;OZgkLSc-uN+SN$gjpnP=l6ZkZx^1Su2jrpok}4k)@pM<-@2 zQtH_&jf1j!FuC)Z!HbR>m-TiJe}~|*fgVAu9%#wkK$Ck>bWHaSb{FCn)slLuSpvI~ z(-^z@O&S(HHv6wx0JHYL=DYLRH)j%wl=pRm-voDh7iF|Ajlzn`SzC;6?)UdeDyX+Ltq`bcgN*+C*RQCGcI}ZM&$|Z@M?L z&zK4^a;hJkUq@HyNf>w>-?ugW)K!19;F41*XCV7>OL z3ZePmeF+gMjHOj!aT zwy$6Iof<8cE*N}wj#%$2rfx_f8}d-B4uHEtr0K^-%c?qRdx%4&XIDd-Kg85utJ-10 z>Aem5Dh8d=#9Nx{<5+YHULW*TgPK8ERW+R0LCTRuvJ0{996OVK6E9q-Xe>@oHd$^N z$}6z)ly%iuO)-kiiyUR@{p(|P$Jie>YZsqA0!Cj|qtA|EJJZ02=DgT7bAzE&d!^ph ztrsaF2!6J!{-UG4kkm~_S-|bv=T;4#mWgUFdtJ6O&Ipm(anB1Z2{mpL!q2pD-RZkH z0M|9=yZ^&21Nq)#6=or^r@bUyp*02T27eX#qK6_wd2UWQ^C4ZJ+`jWAEmj#K0u%A; zExpZzb5?G%7mq9I!KL<5Vksd-cAu%``Ao=%>jqn44QhHU z5i<1aRLFPl-uv`zBLV8gb>pbcs!gbAWTk6(@zcT1f{N#YpAY?xdW!O0OUCmwG-YBY zn?CJ3iR)jM@9sJcq~uD96zIgk5_BNddS)Ecg!{cWG*&_>wgZxPa{Od`J{^@i)cFZ} zCi{4_Y_eYek*BAe_gBI2KkrBM-I;NJ9%h4IqXityH4b%l)b1N1;171M-ifs4?pBDD zy#WOh{I#hV8ut#`e~sol@*fb^>P!WS-SSp$*z=WaH3tP@&kuK;1x!tP<-0g`?1w^t zX6P)FM*hlH8cqXZri*$Dv>$9*a{1X~T2k(-=SG~UVy;O&^Yv^RU=oB$-A|~5Q!Vs- zq$N+m0ZK7re_AyCX7ngM5o!3JoeMBy)dyL=0Tsg=9|P?H;(bBISrU_4q5ioX_7~Md z9F~fF27M>N&W7qrRefrx>d%@SDqX9afj6NK_%@y6v;8GeCN8GbP*fduaTmd!PZ2dT?mS4I!hpI?-esWk*PWeF_cj?L1+=jl=%B`bsl_pzyB!!*qFz0(mo#a2Bv!wcjf^1*mLQ3#OD+x1(? zY&;L_kBXCk@MdVC#aR2xD}{W!cC7F z$UyJEc-oBXf5*V-WWS{ZkxnzTz&@F-lqp8(<-b}`-WmTuXZ<~@Vga?lYy9XQ&F>YS z)cR*~uktm4cyycP6RY1`me!LA5VaTU?~pZ}AwvyDD62eL-<{V`aZn`aiDuKWk${W< zBFS`_MJ!#zS=@7tO^7YIpE56hb;`>ixJS+P=vzzouS%g)oViHnxov;y9Z1VTztw7^ zYl-Yh(Y#VJ3c=qi`G*UUa}5rfyYynayP`s131doU^r%3T^Wi*(YP~8~x?yM-+}|e*Ryn=7d{6vtQiNX#HL+nd7;yY;#L7 zyQ)Ve#g1Klg{F;8iu=aHi_O3Hw1$c|votI1 zUV!deNxGf$EUDTfLpGn-!^6uLZJAF7KZNlbKmK^Rqg}|)6X^dpe1nYF_)EG6i+@hC zd)Zr_xM8;Y=cz8lep*PmbYAIT;~`N+_0QVl{6me_2h>bs!XkwxoNSHz^^Nv?Oj`%@ z+@78QHYX)*wmNwD?0=6r{R*r1|Bt=542yF6!p08>A|jw7B8^H&D=Cd2ozjgcT>}i= zh>Bp)HKbC~-KmJu2ty66bSnc4L;m-m=ltXx{vY2j@AaM!UU<|e_TJB0_gd>-_wt|i zELc?HgY@1197=V)kkG?eD^Hg-U!P9}USBv`CHL7|^nr4cs9krVZc>vTZ0gpj2IM-H z4Cu~O=DEGy@`W}Y_l&fDvrtb;DDNoY@&KvfUv!WO;X#&I3k*srF+pC{1#Wyr$X&I@ zwL!gR9P0M`_FYVM;y>sxVDsEvzAE#{r)S$Yx8P5nl{n8@1InNQXsPEE0Cc^Xwn&-w z7-j|+>%j<)qx!DAL93K6ryae&u;baMcBWv24%6j!_{oTCr$U;$5>1W-6n7<_N&jno zfBiP>EZ}5YiN8AqGXqOB0a)xF>ev65jroJe8^8mUf)vhNmiq52g4h1RDDKdeaQ?q( z8jM#-zX!yCD8g=?vg;s$#t)uoLZkJxsZ!!}gdp+J=YRjSDOgxIb(ju^Oo`K55v(qP z8ChrPLrz_WDJB0Y7(eO8sqZ2i2(mLgbPrA&g7p^`1Uyk)cGzk2vp^LV(*}SQeB;!E z>P|veHK+7U_>@BexDgmNB|_ON$F;(LAEKs&zd&l3Wd;*``ZE6b^s-QHHO6jsl-9z_ z4$VZu6h94`=ze;Ri6G~VW8+Fx>Njh=DiESVcCdXfxYA|6UFVX=rY9Go8Z#Z&-g{{b zjQ*Lq8_?P+D?m-oaOci^-NYzRNbLFdBM) zj~;i`o*n7V*ZIcMe4GXS=W`CD#C-ytR)YQ-D`iFYLda92yF2c>MdN`MwnEfxrexol zOTpuf#!o1DBf{po;6~&OC&JbMDn{|1a;k0dYK&eL9XmEtzL6D5WIs-rZ@~;v=M%K) zwI*e?l`?8JUm((^JmjzUjai*O-NmL?Jb{rgZ`Nx=j`_!0ZCiWfNhj4;V&dTc=z{ekvq(}^;<5|>5qY@>3gh|7ZoykGP>L&fAB zrawnyDUd;hk5~(3_YtK|_K1?1*|vXOF&uNn-sU+i%!)v;nt7)t<4I5>1=>iLSorTqWP;8kag6CX$mzk?t`jp*#0k z7kncAX*ha3wPR%#hu<@}Hh|h^UHQ3y%(%E~9xko75oLBk2*?D_+eE}Syp!Idi2)3; zt2LEi!F(qr#;NvQ6dRwKMU*5bXtu*Os_QbGt7>x%2J_0jxf~9A7mQ4Nn1&-GRA5aL_r~8LMM$R z)eVr$B=We(gVFB)kIgv3ba72`r?s4BjEI1;+guplJ?{VfJFuktD!@7(iE!(^`scd_ zFZBB|Qx}1~{y%k7;$#G()MB=OQI@ven@{Yk@~fW`%Y2WvUBZ_0&00&Vb|I3 zD^+O+E*@^%b29~l*;Q}t=cAwfAoWs4)SHQ{^Js13$VIX4h(jMwg>}5z>WxVIF^6S4 z3=c4p`r5Ty1Dv@mvHZ4lNrDq>Th>GJdSfevI;GMR)`*Lf{6in&b#fx;>d{&RvVJJ}0c3;V=m|oq_iDt=gZI=qwWHUCB zkd!nXO0F-N4o%{M4pO0KnoatOd__W`Lw3Wr>UYH$i;Erm>a5g*D-V$g(WsBh5P1jL z7h~RVC7RiP*`QyW*Xn_dpfDgP@qF=`T0potC)Tr}lAsa&{h^iZmd?xI;P3~JzqG~u zoX$Y`V{LTg(K4{Hb-J`CrpzZa>CKM{wkh<8KHg}IzoRbg$EQ44V65WM#n5untRKH( z7!(&&Ii6Wi0s-z&kum)o&HP7m>Z3J2K{9PXSPgc-yFAzdMr3tW5XmL+PYZdV5f&ot zC8y1M597uyDL+m%_f~h0!8@5F=^@E=Yr4$#UP4FpLq^fkgiBfO%AUmi1rO9+*GAYW z`5=5EBP&SA@(yjhunUaW+d0(Pcj_K9m~ z=k>zMbprNS>j&57mnsU?y}j$Q)#lxxD!2q!!e|?kZ>-ntmhd#biyx?6Ed%vLavrwfEz8Lt*U=iO#1P+Pz)jszD@z0IC%c8qZ52< zNZ|`5B#PUjrxov}bQ_s^R=Z5fn`qY|qlB0x=F^sE>I-H^p(P0%mOpxjduDpZYcn1O zJW;DPCk&kv-P>S&$NIeCpk2ZI=M!NQkC_c=LM4aQF|sM-+N?@^ z^D3t5lToFvqhY}bf7pHTT$%JZX={qMeC#boP+xJCPIJ1)x-VFD)n zT3bG}00qhh-ENadbgV;pjPv`NOZ~_n~JA8^*;b2x5=pnBSDefnAQQhT%2vHyEl%c@5=}OxS>|y zjNePFdCVR8d;4ZMz>He2&G=HMAFX$Qa(+zvtin8pzio|vBT>Pkw>a8=@-l><9TUo{Fo|3;o4u{rQ?5X|LACp!1;0LUrRY zlX4VkuGUL1ji@aGET-t#!3WdXHjEABQV{n7?NRw^)oPcisBGto6$MpH%?%Sg|AZ+` z_YVP~V(n|g`OcuN5YA?|<_5pbP! zC4NWuvQ^(E-n^C9bCtD4A0Q3|Tie8iu=R7S7d0!*Ti9$;e4FC6bk-9p*CWol*u19?O2VvwRRzW zKtRAdzy8XjB1q%j<|8?l(UQk0S6HGZDIBj^3rgdjU3x)nCmHcXw{CezWT<4ArKMxG zE0VwEG1c)h=!?%|rUK@HnU{D}Cn6iCLVxNR7FD{G6%luOl!WQGBqTcmJ;3C4v zu>}hyUhq;yHR+izsQuZte8`lF#dq+gNy0)GxdJM%uer4`_=iig>2O&i)97jYi3R4w z+1$gLyi~IG;F3XypiRLkA)9G1@V0Cwd}PJ9P!7eT?=5k!(iLYE3+Dw$z{nta> z2amt6j@d1z;-;8Yp_z=z$;fCMzmAskV<)Do(}g*Lze-*?tq88rw2m8-Z}fQW?Eq=l z{-IIT$ycKj0NN@<#!%21H$8yPRCW8_szq9O1%acA~$`~NI{bi3{%xt123+x9E zdP^R4LHg1kNHXiB`u8kl+&J;Pbo`jTP*O?o!nB8v;b3OiZjY2%e~an(mp>Kv#CZZ& zzsud>yNPheOgP_MoKS-C+D8>AAm*3k$OXg<$|F` z&RL`sV)3B7y>4auB%%ng=K&vc{Ik+!AI4n?Mt$&*)3}%-;J1j3%SL(cL1~Kl%OofN z$%3J2CMJo4;Lnv5-_!fREp#`t`5rGMZ%baGk1k=nqf1+4@bjw_x@ktG?JDn|KfXJ8 zH1GChOL|$2r8X=N&pAda3h;XxUJr# z*O1R9;!7(u>Dh!no|pZ@E~&q4W0LKTvW`K)IMix z(AZE`_dUdUNbD%KW#bb8XULvNR_$eF5Ifpl(h0vish7(NKWaR%wYp7qQa*u-ZK`z& zW;4M{pzKv(70SE%EOUKr6fwK2vu;EqnO$*s7&JCspEZzc7XoVGhIR@)E`Z3&oDxcr zoUCqORz6PwEaSfVRIFKtQgflLQ?=j3U->5i4HZ4+795Wr5-;*-X%SbHYdI(xr{!M| z$ut`av_n|wWl4iEE4eXwI`xb#<|||6`p;kO$kNnRzO3?lJ6>;*QiuHJu;|)jh{3Hx zXizSQ#(f#9<5CbK@$7uZ0K0zcc;z_DhY$Fnodt!U5Nrzg{u>|{<^)Qe1=hY9W6p;9 z*#^b$atj2+IKvjf+~OwR(ANG%Zc{`K@5a{yl&oQH*P30QKLV)sv)k#FN3=(`cc4n= z+uw+}!JOPCeG~dC*3{u)-)@?Hj4JGMUH^ioCo&0>185&+G?)0b4Y(a5##KC)c7i}v2o-spPj2*#mVMY>J> zFoCZ6_FRYnN{8{OrT}0Wx(wU(O~ERD4*&FO-Y z>p}$St+2`SiL-ZxV36{kKko%H_%+lq>Qvc%p?&v3gz&6rZ)GSmCUej#8bGKuWfVyS z`9-GtpYbrL@xK{pvsO8qE-%3kXE-U@PuP@4L#vnrz>_jqR^Un&GrEBk!%NYt|v zv?1a);-^W=zkPzMXecTDDgxhFsn|2}fIjIEKB3uoc2LxNUMaUyS0S>p52lbk|5&9} zowJTDQgp!AmrSjiE5mGL{xO5`L>(h^JX48`sKyR7sDJW;fU^Tj@R)VJ6l9Vn7LMD< z5x#~Rzj@$=D)THJ2xG!)jI!-ME|T(gC2l^8xyD?N+A-QN~Yh|pyBW(l>JM~yuRt^+&QFK@h70Z8{M7UJ@CYD*Vy*z0| zx~n6{gNle#OXK6qtKsmhn<5+atIid3&oK3B-Kl%pH|!jx)T_~%u4)B}-O^TezO_Iw80~ym5j*LtExPw8!m_ZU#A-z(cJcMh36K5Dcl#6La7{?H;gP9i zhrCv}+BW=6vdd&OdhW2Kr&nCxTJDUkD|L1>vgMB9@Wan}DTWzE^jKg@LGgug2 zEE^c+muduGF7P&n;NarMvm6OHe$?DrY?US7|2#@l-|u|LM@^Aqwcg-UP-6Q(L-Ef~ z0{5E2MTV{nt`(c3B;W_d!Ofy@A=~~TV(a}GX0=XOpkn0NC_c!z_4B9JblFC$BSxHA zxu#20rZo~4dqV3m%X*bD8M#{e$hf49TgHvbcGajiNA0ojhHw(CsU=vho?Ig7tG)f) z?7{Z*pmgMFl5qR7GBETQx`C{?xIby$UT>a(;7UG!L^RUuIWnA{Mvk_gw-v8|Hu=AhSIcFN{{}@<6x;07BapdZ1 zb5Lm9gxz+c4H+vWCAJr}C}y-^mnrgTNk>w^%Vn8GWNrC|iAmeMcxfTBk>4mf%h*$@ zY-l_k(hv=Xv)E`IdhfJlt=^bB$UY3!L1xZ|r(9)=GL9|0?NO83>5Bp+(Y)Nm2c_}_e%${2|c_Aud^&VTlM7oQZAaw$tuvhAw^WFFLckfwa zaRDkOR=Fgo^Jc@dX8W_@Y88rBrSCuJu{vaYVD(bw%U4-0Uv~RgzvS?BD)k|L@m01e zoj#LfivB)Qq4CIVf3K-;z8fQ{7BhoHtFtN7OfzF>s9KGw9O_Yg1GNo%>yPzDrVNK~ z5`!WP7f1(QS|5Ip3<8BvP~wa~ypre^aIi-#|LpuMRqt(^{)*`D`9{${FH=%7fdMH% zrNycX5_eleh?OE+@{1B{9;U*n%ew1X(CU?Kr&HtllE+SUbibggzvk|VjI7ghe~#2D z^JzY-f%F0uh~@NPl3J}N1M)yp=If$D( z;;LjDiYxG`xU{*8DjKUO(+m?4dX)SH#7h;pxb|AW;#lHe_OgHk-OfN~9SJEi5PYjFPHxzHYx!{JYHb-!m z1=L6j@WXTi_*T2j@%lI8wpEc=RZDxIekv5E9l=<9s68`E5a||*FJ5k$nKJ%@nG9{N z)-%TXA?Z(_>3@FVk$upSDC4X=DIPrm4i&ipv=JgCJC_`rys97~CNlJn4HG$0V`Esw zt?w-nhx0Vd`Z-TYO*?wp-y(j}Rs9)`BG^({pC${FG6x;*>WAn|5^UCDGb3@SXbn2N zu?sNvdZ$r*b|YhU;b)}N%)%Wsw8uC2Whm+>;XBcvTL*aUg0!VXxC1mcID>ssZgS7? z3k)yQGGQLQ`_flp6;bgdq_8FapYC9W2x~B=gSsca_CJD3AZ%>K0Wp2Nzx*G%R{snB zswF{rZ_T}X?3Ags{^E?Fl-q%$k#p*0sX zD4E+0K(7Bi%I}}T@G*rStZ0_gF6$Hok}YFD6RQ=ZUnIS7>&EHa;bZD3fV(R{-uC4=rYST`p4BeD zUgg>rqVWq3oLo$YJI7R-w-h@1_4Yo`y^45?yR*KGw9p8AIc;UV8K&M(!6u@%AHwN$ zJpt=X)jt3K?@2VV-+0$m*4i676fezUNm-z+?8E_^*V30Yix*-KRG<3|Y}O@^)i`Q(3o5>N)`P>^Qv zcQ9T6ftFw4(71(&|JD)$tK-uyj{?|OKHqvEGFp!PCIE~5eurb|{*d^`S;{Fffk8yZ zWd_m&7tjvrio0|Ax_2NIAd$vh(-QsOH{BakRUo)FPkl-8s=H|wwK&0k#sYm9^>?UC8JH6L zKpg5`jz-=sky@86 z&+fO4hY?v7ZSH?-0dQt{vr~dzYiu-9A$Lw&es6h1{^t(|ZS>3X=@rB^kCp0qGepk7 zTw>6!2*WRy4V961 zPz_^FiE+IGf?7?t01#rTvfsTc>r7K&@3Yr7NbM(^1RKb3FLodoS%b#kHOuivwajCn z$B@TqIJNp-lOy0ZA6oYCLae|?XHME1)o$5So_DU(4pA(rEPdad=fV6#1*`W9?=m_R zAFd8=^S5>Mh}dae9H4nvk9Q#|^z)lYfazE@Su{7_tGI1b-?hZHneB*)F8ur^TtX|A zb#Ms_wK2Nhb|Kdy@$AydCj5yMW6}1vQAkKPI&<+$H8O8%2nVsfw+@s>?Br~Oo`cF$ zou+f#0ycrzj6tbnEwJDLhqdkq=<|R3!hNIFvw`SQFid8!P68CTw_aiajCJz>q zkR;LC+TR<#6C4@}=BxdMR;i`z?BIy)bse4$dQNX}^W%B8|uPb12KpE6Q>DT{pQME$RoR z6(YOM=8~Pa9w^mruR(iU?I4psYk~GqS|+Osf7utu8QvS$- z3RT^%EF~Sk;jux#c?~KiV4O@KDZ$%#|EEJdYMckXv1|o8)H%66=nab-vlm)2N=|xq zZANui3XK&C9j1Nb+M7pjbOB=Kx&U>uUbX}-xA$fVOZ525lH(T6lMZ6W9jozt0fIGn z>8mPAT)!_X{YzpL1;6dXF1d=4^G@{~0fR-|Wtk(qIUSp{z}}8?*4Qx_{)8g8S81RH zi+2pKm$_Bqbt;^(YX0nPog}6JI(=C{qmMGz2+>~6ZUMo~G4IDh$UcwhhCP#tx~&hl z(M}^gy)-`br}$5P{B)7N>Ay%(sqx*_F-ek=@aEnkd&APbUQ%J$UzGZ<80VrUy;R3oe~5!g~-o~b@s4|^?lyM4^XFr51J`231TuznY^oBgoqa^`4nQ!zi(? zXc;_FR?z)q)zwp>o#`zkqFY$b#h{=EEqEQtlu zR^MCXbL3csmAf}bD<#PG6rkkFb2Lq7M<&ycN&{yKMg`^kw`i$vtfwWOzI?F z$pg8X3P$d`a@@wS%I(FF6i!iOI!+Lde*NdG?S&oMagQ+l3bw%BUFFnY6I>l6;%`en z*i$+H(`*1W`UPr&@8w0y51VDvH8y$*AhQxzaaduJW-wG!4s>NSF*NOl#NBf8^Eoa{ z-_IX-iqHeS&aAb6MG=@|5n#aZJKS^|o66xUacsNM`*67Bxz|#dDq$Q0yUqM43Z6Fk z7m2q53_{!U#x03+6^v9-E0gUtt?yB@=>gdcfsG+!wUMQ_R}=4=a%XG=zi;GCsl{XZB}Fj$-C#Jaz)wZ`MR#@P>hS1J&M2RHq{lCA7!1*`qlO zZMOSD(wi4AqH1_q&2_!LlTcjWZSdIRuu^3*X?2U?^(Qz9)I={2SGi>M7Z|m5G8ZO2 z+01D3MfIB1X_cCN5oOl6)d*T1FBAGFAVAtj+|ae~%F@fdw?zN_ z;{U?3I6w0OOxuI6;9iJAtR3*V?xDh zKRSoAtDUvd9};#JPzPOegkPMO^>rG=${_@M&PoBSf0R3F)reJq` zyL0I(ba#DPn18tf@j?7V<8t{&b6t^fxCHccDm3BHdHU~bwNioh_srU5hYj7#3?EmW z1n^T*V4=valwdy8M7AP}Nv!xSBsSUwEg$^yWn`{CUu;4_y>yOd_KM?Z@nEq4lB^AI z`^>tYzgEk4G6T@`*_g+&A3bRD(scdOEjA11Y>2RHT#t%_-cc)bWnXk1qV7wzx6>wv zQ0g76q>!~oMCZ;_zD~%Hs4nUI`FuHDJ&4k9E64!)`bwUL+zmY9n5vsHio93=zhdRi z>p6_qOyn^9l0itoo#QlOftw%R@>@f&dgP0}GC-skJ2%dAFdLRUwL*aYy^U6GPT98a z-!LRT(|v8YDSC-lt$R1Et&87?vvSNi@C)^dn0u?D*N=|A=*t(c(N!L0)q{fM1L-#h z273IB5}slXg)$yM6&i!CTCKtE>9TikVHU^s%2!T7>h(qQ=awT~It_FD%LMK2=ryED zhSpZcimk`NfeE9fxrODAl|6u3AF*EJ+t1fl+WyGUk-mI0bX2OdHfGQBGcniW?>g0W z_e4S;uL(^orPTh=&OIF1Xw=3_c;^^I)E2KI>WDkY!#zQPO)278HnTiw{3J))tuVsw z*p%8{b$8pjMSi&G4i5nkKfZ_Z;7ofc@@gxw@teqZQs?!P!g|^`JG5TV7}uIau8h?7 zL`?!3Wv6bDY81uy-`ZpinJXr8L$m4@+7qM-0cbKWiWbkh{<`hFAiq-Qiz# zQo349G9XrX2veCY(Rm1{$8!WBXUmKzcB+8X)cx~hEVlyB3R^eq06|`filbt9+0r}^ zrEp`%7?|M!@0cw$k(>z*@@kLg4!&3ANZV2K44Q7-gV*(ymiiFB5t2DK)-~#@ z@{`EVsO%G!*W}V$b5u;OVH!*r-dNaXT;}}DgBbLlomYakd?1KKbFQqR>6fZTBGW}uAL&hE`dtAq1GKhN!Rx(MNHMm#oI1M1 z%s|)0+UVL+p-A>o1t>T48TF4ecZnGGR)sHUVE;y|iGXq6g|8C8hw-AibPgN+R?z5u z^af+C9w@XbCCBti5tWf8Fs=s2sD*$q2h?HtkVRJHt1haI%IsE%ykK%ISf9t*mW}?{ z86QDJc>{~)t=N^#Fs=NE+3;iRIYkvPeRRlL>9V>=QIahZQP`MSz7PHWl+CDtWt{MJ zu-v)Nv-kuGuJ)Vp+-)1b8^Zr}*ir*XclyfAWH!FR^efhHf1%K0^**cD?5?LHDem(2 z40xIXMJuSH9~FA<{lZM2;8U5P=S$dlFmsi7x-IJgo>9-_ZbXclQ{hn(8J^tqZr*Nu z1SuN$4}UTI&Lgv6{5;+~eVNb1e#Rj|WZYe}yFZ67;11+w|f3 zGtMvG6bui(?Ko3n4>w2i-!M6s#UY^z%I(mGZSy_PxzK_d^^u~W1fnC;L?D1Rp}Eq0 zCq*|mUexj`uY+01uf-(8-u`;X63tSDZG%bTfJ&Fy`vdb4?B!4q*jeGDl6Y5fFR^8d zINzAxx+@MLfKZ>fL2rrSk58Qma1-5^m42NNmzUWi<4qUM8bg+JQLiy|)APG7Tu8|) z91&1ni6_SNP3k2KO1tKo(y70hyC7`MKI+Exl6+xbV8lzD?Ecr_oWQ^*ox*ovL)ClD zfbHa?Tk9JM1Ou-lwj#|peWygx=phF4cT3Cm>o@ZAq%H!Uq#_OXN1P>|)J)FRmhI=|8>2`_gT)hw z>$7`WbloD0EE&eHC>RUtVpWem6*lq)W$Wy`4g0z0$qF)Y5{!VO^NYG8W-`DWgGI#-WPsGI_ z?`uyb?5wjf+qFzVLQsRsy56z()FGP9)rNco2e<3g0^t7#dz(> z2)Rkc*ksh?&CsnSd!P98my$BY0TrR3rX-$|Lz4OzYBY!dNpXem)24p{^H#QiWRzR+ z)%$U*DT;}vMr%X8*+ejYtCi#yzF+toaRa2w^@po({Rzhn6jSx0+e;jFHPB{=^Jufh z^T8o+VwPex!!rpfTVD?uL5tx6zbM(jDS@iPWpj=bZD8b=ZUOW*Hn3=pY;Q#;{$fLm zn-io%1{XW+3Aav3sDf`<217kuFzMC!^A-M1iCF-iA#@O#%KPhee+Nmwv$4MP!0Lz6 zTva+rvigPi9AZG9m4yhg-l?SQ|GRD~UQ`N`{1rTLv7F$G@9ezNYW~HW09r%WF4AGd zf%+IiBX6T?k@1X6H6}0I8|a1#XL3F!ud2IVpQ|N35&S&HAzzJ>;CXOfjDt(Ul)V zJ>+<5nYnVH^RGq91oJ6)V2?zCa~$0s9Wgca5dZx7h`&Gt=cQT(bb6fX#p_6Q;D2zj zuk`|%q4f`+=M@W%vIxMw?*#id`gZT&Lvp(4t72G)@i1mi z+dgkVP}G9z=!GR6WSQ7Zq#sZM5@fDseFO$w@0(IS>?teN}_X3w?H5JOc*L%6UiEx6dChMMJ$Dm z)|*FuW3G*L$Y@-z>_FdbB@AzOGnzcIAuMFJBP)ZV9rJvmq(w)9vvB$B3mEr82glh& zRfrv|ZD&=Ok4UCH!kn^Doc&ek=TOUfK3@GNHkB?bw|4tB(dlg)YemEvv!vRsqlI-* zdEtUMo5fiv+yUjj^@pBTMlY)K!(4%tU)OG;+kNGybha1 z#ENt(U#R?q?dvWaxxW(L?u3@uP9$C+oZokx5QZiVCHpClRMvj5CH9?W#|V?>88#+Q z!Iqhe{+GZEgMo=f{myrvW6YRCHnw-SLC(XG9=H7&;ZfIp4ovwbWVT%)WsSJz@MD(9 zr2X304`YiXF3Tco!xQVn4fVM}iHB)@$nxX`?%sD>=Je5=>Yo$&+`dVmmlr0@_0QNL z&AsQ(Uo%fP`XyKUw=w-~V1I~VROSXDBc>WQ1DjMVIq{&|=JuCC$b{|0D(!ZI&sg`6 zTP;nk5$drO!uLmm7wA{n=W_cXQC%^e-}keCW8?5exYJ6CU!Rkp*)L;z@(xa6{?mar z%B6$fvXJJTVOYedaL;m^wh5oTnbKh6R(7|^n|nkw4th{4Vz2^WLr?r7&UpT=Xw~3* zUmxh+sM~({D-)aVU%REZmOQ9RQLEEyc&nZ(p5vj0w)$imUt7pPGdP1ttq7g^=g>&p z$(|_2*A#7la29{pqrD|(>h8&FAKyxx=(2;iLw*JCrn>fAzY$;~QZm)t4q!C=I<==; z+UXkk`E_UQLG#3s$+oS!GV*uBdfCKgCbD>bc8~)lzc;!bhM{r76|NA+QVit4R*~~P zS(Wnbr+K)YV)2T+t1y~EFusd?yIX&wRsBqtd`e`N&rRI(SHeWRP%!J=ZSU5{8LD0V zZxdjJtijvv=_wio8gj}hqIPpq1o-%OfUeU--*Mwkep6Bs$lmx7SVjHriR!b2W{Y6_{7W+*N^g z?KPWQ@4Y-x1KR2C?p6CdegSMdF2#U$CJ$_U7nN=Hz_JnE=!q@+#fI~6P-GiLo! zcEcTHw_=Bf?;`hZ9;+wh#hI;^29+-F&8^m^-%GL5k|*H5w8O z>Al=Hq~qXF9<&`}%!l>6Y~}+Qw}mf~)0hO&6g;WxVfG($FJ5bPK_toA|TDULs;63M9;uNwLA8_&!>$~4y-8F_6R`gvJoKPb<6 z<#|LM$`$m6DjXy4#kx2xxyTd<$kYe-`GVIo`A1tV? zDZei*(*|lhZFYvW9hbrrcf>*JlK5gaHh8`tG6C-wEHR_o^Cru5 z<*#sZuqW_Fx0ABEkF|q*Wgcl1aa&U51Y6@#bw|_?k^`b@4CAwoTYPyd@veuORvuaj zrZZFmG|9!2*vbt@ZPHaL3rc*E=7>_iMg#NwF~yTKx)MFWKG1pz#f(n`!Q9Ijj>xqG z8kNC_ti7#hQDV`l_M`0}-HmY|Vv<6_G;$(Yg3Q9H^3~ z(rL17PIxhi`^!c^y2n;#CwL;l5^P)jCTbDm2=L$J90O+%^YT!KRjHbDoGu!{FLL<9 z&xaUsqSpkc#K2!*s3b9w62osnuojsgoTb!Z)hc^Yx7UZ{vgku?G@>SBFts2`$>;4) z82sq1QqK-fxZ8(y9)9!kSd3?qDx?;1O=Q#C)s85MkADE9aIA)EGN`YPtac~AyZ7N5 ziRrJ{=^tZlkLfv%;lC$@`CQm8U*oebtA|_A*0CDaI>&&JMt*NFe+C&UT7*t{bI2m6 zknHE=Kju8ntM=AFxBB3-y?J!EzFjK28qVL zbj0lj2J*@7GuQWYD^1e8@2r9G2i|MG3zy=N&F+-fF3cQc1M1r!Zc`RRe{uRH2toE< zTr|ZWvD`zXxXtXspuE}=gOHoI5^`TCq9+;?Kp{ZxbDaGm`J!n?RXz}&t=s9Jb`1#Z zX`r|{Lb;wpw5rb5ga7Bn#pzT*c!kZNP!9~SKLKtTzh0NMCT6ydD-kbYx|yamye>Y8 zX?1;;HQgifvz&b`(9N8MLmyF2IAEV^aW{~SoH87;eRj4eaZvlfH*mgki0G!O8^AoCu` ze79Lx`NpO~;V|1|lYYy_tm*dHS6d2M?Iim0xe@4mP-}+`M1OI%pfQTb^saRPSe8qed}Q$nfFABJENKEobOtRb6hi$WJ6^t|D5=dhdO`kr+N#I+c>Kl1pHgxGl#HInkQx+G@ z1_|63_rtPIUGi4@fQ>s-%|xS69ztR6((_3!@NrF*gr^$lbh$5flK0TWj$J?q2-!lY z?bTS5EF;urnCKkPp9jx#E>GO_{?jp+j;?@u{PL5CkAoCU$Fm!@NHcvJPx8Kvfe^05 z-)~Uck2C*oxs6{tgQG@wK(dKb!W*yQCXMYB?`)HEYICa;wg6*QX7l~!N^2Xj8kLhC z?Dsc8SBq;P#Kv>y)wVR;#>q!_Xb@mgIhee;agg2ytb|&&PQw%D#zVpCvU@)9mhIii zs9LJmf{a6Mi)`8zHmsMveVfQk7W9#q4n=Dn8dMm(Q;gT@N{|og;EY|;WcBJOIthb* z`9+6A%r^1$U%)klwX?j{y~Drth?F&Lh7?vQ24-$RSBt_^I>;V3M&ld%a%9Ly z$u2)u{jc~n82m?td1zOljWRFjM-=3oWK`{%kMAjkHcW#SEvoj4>}?~O^guyzHsOe{ z5?R#J(t`La_H4B%^+Cqwnnxu{k1&tWV_LJiP6`T1E>+KQ$Jduh7WOdh>w%k2DHM)0 zjc7NE#ee`X_-tRzcyIIB@0dIS(9w*U&DBCQjU-h%$71>H4d;MP4n`EH77|=Nx;|d8 z_+6t1KxdAN0YG{Z1M#P(2xbD@FJLT2?788T@i~jCQIbZBvBT$`s^`GpJ2Bsy78~#h~qUf(;NR`m+s%C=GH!uMlVzNZ$6Z zEr809Z!DfefLu0V!LvES0d@1cmQjgs1lR#r&Ro{YBmRzWV%IzY_BjK0?C?uyhNT@x zBzNl9XDA2ZOW=_mum~1<><`G-wm+?tS2kWB!7xJTIm6U_d*~;36Qh^gr$*|1_81;G zW82Fq)0@(hdBZiO&RjB}6rQ@n9jYhSmqwKrU6|=erWRgP!pN;_3;;?CjkXws4PO>|U?czO!3u z2JD-0Xfj!)Z)hZgmAUE1cV~K;RN}>+faw|Z&$zBX?*Dq7%Vmz!^$rf<+@j39v)6hw zS%!Q@NW24H4lq*u_*XdfWR>ryMDbEq$}UE3u4;Y}lnv^N$mB6r8A7ju{1}(M` z+0rjBZ^7;jWUt;E%6>3jFjwud?3%4v4>JyTq2v$gZqZ6tz0NHbk(Cv19H1!p)yQec zb;(k!#%bYcoBHg4+hlBE!=7^45H-M-9Kr!1W(sYGk}_sJhi6J0J6wagUuK3KTh}qB zRAlVpZH3k17!quoH*}2_RQMGbR8x!Vw6sp{mYZDbf|<}PZucn+Wt&@$((|0tLHcOa z+Xtg9`#iCEh5J#--M&d9ysK+pZc4ZBnVWr0eJW>7#$jkZA6}dJSSHI-yaH~~749ge z7;*2+?n@$pF0vSvf;IOH!h(F=+UsT6>i5Jr z?DQ)zX0071rX2G~>U>9Y{hGpBiDE~tUUdYBHnN2GXW&i>mCFpR`!Yco(0SLzALo50IXtlD{WoW!1b4ZE(1tNEFT zOW)8L>t|3Pt{hu&W5@gLfd1!-z)$l`7oBghjF6Hb7sf0*=DOszt(+fVD`j^jWC8|q zsz9^+Dz2!pTJB_)4(RDdRH}fA4?VC0@kXd>7GWnIdFSqOB;i8RvS^|VU2)U)s!)bO zHCJ$H>FhA~mQG##{B0xWmPC*N2@Vki@;6aECEK5vI{h+7Np1M#4n{OfS0=`erR@Ll zs;!CvX1RQ_`PQT>H>?FoW4NhfO1nC}7z%7=N9@#!9zJ~vBT~A4{X-_<$bjrO49o!2i~OTBq>dr z5iXFG67>WU;Gd>^3cLVe*?r)&BhPlj==12?ZBB-7zp+XaA@&D*OB}n?poTad)A=fv zs!V7W?hV|W3GuRM!PA-{oZk4`Jb$+I2nQfEvfBdu9Ih9Of-*44-+vb9_fG+AmmHKF zl*rh>5}yq6{{HjC8&f$ZZv}8)yPm}JzmGvGh@f^v|8rSPFhUmy{*3F~mp_$U{&#LK z8ccir`(chln1BlyWj8vi*wYR=pfbE(KmKd~`GxBi2z~<{430C$Cr&5kQ9tlD;QjaQ z!9`kAL6PvnM@RC%k=2QR3SN%p|GnIaB{?_aNb=!pk96B@WLszdOvLkw8V~_ov=HN7 z&f+-jgpINOvWzi@Ta~Y_Z6y0pLVSO`H5kn(?a$NWMNDtjaS;x)-*F)^Pza?kJMB1k zGyJ-Ow^uCbi&td_`?H`0j=G*37eBa%HL;;OQDGuS}^-G*{oUS zb<7-fVFa+b49krsaC0x;&0)v3UfbPTh>M z_IPaEzQ@{fTu+TWRZAF0$i0t5Y2{_xx{5ekxH@+I4v7*30n_c9~gfDQ#x?<&&MnTYrZ3$8+NIE1dQv? z&hIvOR>XV7V0S&}v=-f-n7J-zH(6ug>Y1u7e*2`&5Ba5ZIgqIZYH!x~to!Ndw00-T zHPfuQR6{DD8HmtlS0A)3I4!0<&DR+d{gd^ceX5ToC>z|e*v;a`qL3UuGD=9)C2py? z;sc?gj9pjkOhluqID3L^jqD}feH7`J18umPYD*G9$Z$jK@?vN=$F78xpQYPUn$3XY zN6W&6sR4&Pk0Cyx6EJ(UPNvp7U5?wrE5(P{vx@k$*UpBk^z!nk=7CPd20&C{@FSadsds?R8mx_>?7_rB%7=fQqX*{{aYicvQ>LH=zdfLc*|f~MP989IHIgZWrl_q=%z3t;!=P_pD45<_lX z5yNji9qUwLy?a*s*^E6hyhkBp)A(~#eH1UuJw$xty=}#uMOLhk^{6RKQ@?vGPhcme zX1!mGZ(-54J>Hr-T?W;bj?bVLH~7Dsknaf31i16Mixf$?O-ZCr9BID?k!ftEJoW;I zzH2Y(+$WK!N-LcZAhyx#&QxJ{Z)thGH<6T&*FHYnXqVE ziXXU6Ama8&2tapdo*ZK7%hiaaeUhV4EtGHkd5W_xD!tNsW#WoEPw&XM@O&{)@8lSh z#p&;*Jm)j|?6THZi81~jZ(vfUJt!^3&11=esohC2w-r9lr~b7vhQ^WT0l{EWv~5HC zd`sl*qKw*pk2YML97QKYA|}Q{qtGH(x6Z!2H(#4yzOU_qzjJ@ikMUh4@?~I*s}Qk5 zoWFj1XG*@hp>di!b}@OrSVNipfVBh^64kc+9W?rV>h9^dPPowXb@k#wP{`~>q~)>;Jm(8_ zV35NfJU*wc`x**M=3{b_F9T^9KZI9!JUJz1H9jgfDLmsxs$>*5N?e8`!OiK8??;0V z#Q{;Q{8l|8v*ApuZ#bkiIIhUe5-TnBH|oC6vl z1Pzx)FLCei&^|?+(5`;lAGQtPKCFj#_DBHAHi{BlXK}{v&I`ASc`ti;#3I}TJHzTC z`o&fDH1#LneWr-0F)vMM5G68B z8*MlN6i#S`WSyo-N-5*qs=@WL-N8J@9dE>$NG_B<&+aBusIB)3@h*?>mk07-EA}~^ zH(KvtlYj5>;It`xs**?oE|7K8sMSRYqOoP+g-^YnEJ3KRVE`}uRO<)DWiWGVxC%#7A|i~ zA(G^w@Z|vlHcxv7`79Zt?AlIm9^o+~uQ)FXNbVwt2!Upe?4Luf18Q7_jb&4xc+5j1 z-SzcKjP0Ys07S(@wY@d&ZH>5=Ee zPy2aS{Y6DqFp$$cABl6sv+Hs;q>mjK);k6`LdKz^KUsQ!I3;i-k8F2n@a! z(jUhcq;*L2fPu)fBwAu5yqB*!GbX{$y4f8f*wSmSSy8LUlW)MQzL>^`FE`nISEcr? zR7V|0`+D-a*@P-L(O;QN8f0pho)fLEu9mDrO}wHOSG%*W4OM%4f7;_W>l_rbH@~&( z-c*Va(XE4uKl%P)d$65hAVQ4)$<7v-6852s#9{&J{;K068^dP| z+TMWw2s|T$8KiiqGL=fB9Ot`Ku1E56&`@);fK2H~S;fOokx_y|SguQ-`mkm}n_7zE zvpQVJ(!3z;(1{$~WrY`=f)si4gk+Q>`%Hmnq{Kpu?9sg?E~EBg+PxEA-OQt07%y`o zZI^u*^v1r4Lad*5cDXiScO zp5#wYu4|mrCn?+ANIY@)`Zc5V?5+S!6zKJd4;i$^{(!y#duO>Q_wI;~m#4g|*KaR? z6bH%3$~hKSlL@L6iSGh~u)Z71pDsftXSho`di&Cz5zTK+)SCW?*faHw@>ol|Jd@)q zi*9t@ZhqvRt3~w|dC_w%+#DEfvD~fO+x8sV+`3C>so{TYP(sfGh1BIoleA!-HM}9b zTEBUwF;6=`XD%MHlWp= z9fxF^vwU*>->e{6qf9E*ikXg-yvu1q_lMk*+!m#l9 zb2|HTKPksUXl>l9a8Cg38NGH@lP`}fU+`|?Y5%&RrHjn^MwGITUlg@nmj z=Vr&f4!K_<=f@m!qXuoH-%96>x+;+i?TGCuu5sT?0(*J;Mg7DX9ez<(- zm%yaV4;W*{*j&v`tNNImEd}>-VyY^ADg<9B6m&RQXu!UKqY`hGMRwRG)9q^vwg(~l zm3K66^(A_aV$j^^>QM`g`x2%BxeJ7($~+K5-l1}{LI+OW<7X3nfQ0?#_<9l!w^?pf zQB*wBEVqqI^A*g|D9-g>2+Za;8^U&mwlo&jatm*IJdA&83K(M6RdYTCb*|qiU@dK! zv+`;NI{amck|C638;c(1sx>P)wd)aPj8PuXo;lY;t|I8I-0CmsSIM{K+J@?44h!d= zp9)mBx8^x_nG;iUv-wi(5HZ4W0|7j{^oR9a!URDbeD5^%4d!%(i^5KkW!Nq!INGLr zw*Sd}CmvDdDuuu4%>SOUn%@Gj?0wb?3h>w`SbRCj2uj;@1;T>fQ7c!N2SGAn}Iagw}E5iNm}V}h6Nei-`+ye2*t`glFXf58v3if@|@*3 z(CcrGLr7e$8ho|+68Wr%Hm@2?l_~V=hPeJ)bHxv)`fUb=+~3n<^AlW@XLXUgix#QJ zF(T%xgm(f`QYQKBuMFU^9!@f=@jCU^2(GZ6`5PU=NROC{yf0q-YtKdPba$cm8q@^c z1^;fv)$aT)R#~mS!mO_NhNbj%VNn1G(Mx&VeFqlfJ9qAQu~E{C-T>G+o3|u_h1iP& z`Qn`CS{gVX-fNAlyWN-TSZUfw_)&iN<915#Ful`KG-#ZumK#DF^nQv0(18sciTG;Q zSuQ|-{&f`VR6DO#Vd2-CqtSS9XuVJO87KC6D8qi<6{-Vwj=Ol{uV*thX9W+NnXHDB zyuX;!byhE6b9_iBI)g%j0JP>C&z>kFFR0B4}xNqbAX! zYkv|d`}hIwfR7fT*rNo>bnE`T`q76JO8u)hJ~ur80uv-kz7qF>E>bCj=_~8l!p8Cn zYn_$^;qh>4=aE17(}0FA`Be0?WYDG@qLW6tWcUhXX2y~ZIT{dI+14FCMF&Znj-Cv=>d*<4f;4$>qC4hztGqjYu)MUM^F)MEBvfACIR8aY~WR8+gY!_z{CW#y3FU0DE;tZ z=<9&#h!m19=?{(T;a_rcBC_UCo-@9;sjf+Q@!j8K zlH@rVoEUoDtCeep-p;F4B!t)YP(ewamK@W+H1QhvKP)XUKy>{ zk4k$VcFXn$OAJ581vd$}tsr5}-aDi^Ufl}?Y@Kn_18_d?mJ4_cS5FP^-@L?EKjuJt zV(A~!$m6_+8eZ|D`u#Q|%zzFbu4_BTUY?_g&BX#>*rWh{7-@|HEL%WfaOH>eZhu@@k*}k zpvNpevC!Hu-)g>Rt>f(vwIb=Xud!ngMD1pVc?e(rxO}NsoEed&W*G>vloD>{NwX83 zDH9i%;B>Vew98h{%`ms?l&96&UFjG|`!FAvAu)E}OXB_*(`L501npZfr=4(6N?<)U z<~cyp#0?z-gk(tb2#)+zfk>#;dAn>M|E~2}VwqU5}&T3wd?Ovu$k#PnB>QAYS0m;mdOw(6+L&{cyPq>~GH3}r8=G~9T5wabj z46B7{RX^2)yZx6^T&KyhAQlCBt0LVn|h z0lbxW91<6n-N>*1_Q&=rl@QmB8;=i=`=&!>Cb?zR1##kQz5Ht(TU5#?ZVkg6m54i)C>%2-}o) zAhe{tiS(ejR=eFEwl=fNG|U&9c}H-TmSa%Ja#;_)T-Z70p?jOi;4G8G0{X?KbbZsO z-j#2Iw&?(I8)AG8=r6-q+}ay-7#|&Ful5{e-u3n;83MTCoI5iU&&m0prduFxQ z1Kp9~dz*u8Ie&(@U%9Gk z4$6LpD$>e;+G*~~XekZJ9vV0ivuTbrqKJi13XM+@kC){|IxMsTq2QQViZ(HJ{I-yQ`-1}*tpBfL^7aXcTCcXL?tPKmDN-m$#*4L<#1Io8ym5tIV|K zi$11K?Q0rrCejMO_~bG^1TiFZ$CGS$n>={|+)x_E4UKtoTA;5`9~BoBnNYqc-1^{< z?#e*4kh9fzf9FPj$-If$H{z2~F;_A~#Rd3SSh$}&0zNh+kEF%YW3rd2bS9KuLLC=5 zLj|CV4xbE!yi#9S9+`*d-lUx->dd%2sB3& zJ<88~Hd-ZgBGVThKq}6O7hr(#Y#m%pEUDY7!tE>?$C4G)3Qk=GTXR@%uD;^I(~7(7 zs!*PeSOK9sC0w3CP>1@vI6i#1CbDw?Ey2s9{rSebqF&N|ofzkHT4EemNY2^4@yQH{ z^xAmcBJL}sf2;Q}8hgMff^4E5w->+*LHe^LxD-b zVBbBbAASXzPLUit8xb|GShu!}iplnG8Fv~6piHbX{vn~sSMR&=!U5;Xb*9*B%m@f^ z8b%474~m$nZkH5at)MCMtFEVpFdRV~;3~{>4oCA|r^xoqDUv?GI z8;;=UD�j{K2C``!|j5z&sbPIS2j`RPVAKs`4(3e;nawj|bt<-N;J>_Qrw(ItTE z87l6o7UF3!1iH%d*`L_ZcAdQo%58AutxRRllWFVU(pgpIf_}q@G(l0g*yIiL)h+NLc@)iu2s9I=Vhqz^n z?Dq@~|20XnP;7yHnyp{_T3?(4IDKawVJrCxoc@=bhBaAzO@)1p?s(+Qfzj4aCbotzULfX(0>g-MzlJ9gxg_ zUR`lrTsqpE_aP_d0foZk+`5V)y_G{}DPB;{qeZY!a}{f6=5Cd+pGl`GIm>$yO1|kH zeewvUi8Y?lk{SUDS8J6yPLNt^jPRgV6c@E#!uhJJgkiLU7lsDaOOA zr)=IHv~2f*U6Hit)3M=0uj~=29Z-^tLP{H6v#wWRD^L)#&l_$bsZGIb+_UQ5;Ub08 zHr2_wEz}~OqW2>UpI!w9=8?rxd)FrKp9#B8-IfXW?C;1tFlH#7uaRUr1{;oC#gk`b zezwPDG|`%)%FROZwCfuS{<5ICcGFkz*YESG_c6O){#wOwCLEo2sUe^AE6AW>1*e*i zz(BTbn<+DPLMQIb*Z{<{6}>5L-8#MA`u44zt96&U*G;KIz6XpROY*MX+h%KxTnMuw zPfi$DS0`s5W-FBbzp=y{gPpDf7Hhdb=*+SIBuX|IFpm*eTTL|=wncDKB~8|A=7n3E zR+`kG#Dta83AOebn6@RSK1h>myemIkZ2E;1_hMKH=X7v4@cr9RF`EU`xOCN|j{c`E zJLAy+IFwhN3fx7|?4#(rPOm#b-v=_vBDlm4vk6fp+&6Hy< ztnEx>)*|2&A?a(Y&Ae%vA!2E=Vc*C0j8Txp$r`K#i^nm;g{V`Nrk#ROFS~wmv&~LN z`-GyWjbVv?(u}I{d>x|t$obRr{pn$&P*I}_>(^+58OW==(MowymwI(c+Ew^#;*)Ja z@iUdoak2#vMOSa{mbpyi+BO>@YFQnW&J`?uOP^ZAaI|u7ZLM;eIeWJ5N5okA`|5j;pUk!vuJhAnB#$XncX%aBS*erZq{_j52fQL&) zRvFDn!0T)0MOa}LmHjz0Aj956|VM5DIP$0#jRV#lk3qh8|FnkgLf}Hx@Z!tCy z2}ZYG$pKXZZyqTRTugi7O^vaao0qlgA*CHI!@@r@q0^|qu=K?z4AW49%r+XC@hEDn zX=}`&7SujlJR~!Ge18LXxNR8&B6~D+^!vZwD_1gZGv1ur^>)6t=yFx+Becou3V+?9 zj^yEr{!pz8bp7(md(I2IXdNM#;DH69l?tM2{L&5QWfpR!B<01Bkf12ejDf_>U@n6S zrBAz-S7zO~p_iM+?jKh*6aYEX%)0^Ut6(Sg#a=8L%~E2Jlt{JuusIm!y*b$8*qVu{ zIg9E2Mr2btbKSju@7XhZ&_bJr0#i9;zx7z6HfTDP5aiZvZH0@L=b%uQyEgCx9mq&g z-PWLS;Mx4%^&TV7ypwqc5ABT^cbWb9Lk4M|iK{qAIfcxHKb`<6tfKvDwHwYJGrL;1 zcYlUweO(~V*sUEnI1TKW^9m_P^%u@gPOrj&l5q(Rx`-$tM++A?MLcLb47GE?T9#p! zLw7~XASScXK|vqFT*;#bEr%;CeyAH5?xQJi$DCOT&f9IgA}x4?U$1?9+DNRLuI;A~ z2%;INLGBNZ-hB0YX_v=p`p zAHvR{t`yTsmkE;<)o+yMPXX1ze~WFUtWTn)jVskJ^QzmFzU_$vT5M{d?EP88G9b6z2f|_DX0wf{SYS8f5wGJrEk-=WHMZVsRW~o?s zi4nIe&((xYmk)s0D_P^t8WK|yB#HB1kRNy7q{$kUvSi64P4_L_oAkY(aFCr9`XQ!D zRl7m5G&q)UtOGZ32|&63{UQRhMBdB*jilhF{gqVf>8vXl1z4_FT*TcDj%Q-H#YdYX z+t7^RM1#JZ$0bdo@7D*5sS+6>>}J!$PJBk4dhVT&LVl%ntnGI;5Lepn9q@rZ;bEu4 zQn>1lM@2MRJi}mp?+L@O!f33Z@$iztG{ReBaL4fnfijbas9G>1lF@=ahWF%I#!t^O z5@?mU)T_d4C7X%c3($j&1;nC=GoU?WrBi43SGd{p)v%SP2fyAyFln2%3ccQpZijA+x98z&3g(@8jAP>n^ z%$RSdSH1;w?rMa#IjghoZ0)+W0Y+|HHFQsPdB;`?)uzNW0NG*~tsb&8c)2Lyy7oS^4I>nd-s*eTwLKG4r#N1 zOY&GBn&taSJZ!VH>Z70bW0VHE;n3?78>S;@`O~`4)~ob;lpEF)!<4o4qb%Tmj&7hA zAT~zyODfT+F1@P)sn2P!_Ksa9b9CbW!mM6}P#$<{4K?b-kXtK)rBBp#rn~L}gQwcq zUu(rRwr=j_7Q^=#(N5lJHWTn=sm9_BIn5`$>tDXI zwn0-Ht?MO`t}B^N7QICSi>}<6^Q{%utm4qlzDT!SK5R|xtz(3}2EktqBXqc60pvWz zofE$FyhWb7Dx8`;&+K=sylAUi)8;iV($Mf0n>sc9EmwF($TnS?XEN+3A7-POH)O1V zSkKFgxlGYDrj=W<6c#%jWVttE)uX%c;%B}(%ZoY(`UY(E=5oYclG86=nRM=7upQgLKilg>{@3;NwH ztu}ea*^LjMkL8Gm&J(u#$Iqud#>Y4sgVN=hNnMfPCQX%0zqk8~2S?vyIsBrVJz;km zT(g;zu%b|>#=l>Q=|%-jg^UU=BQ4>`0zGvB&-n585>oJwQB6`Sba#_u!d}5Ml4vq~ zI^!~u%S&|;4v7*odvAU?Jo7qSdwlf6diW0u6jcCo9UnO!+@dWUR79^V3A)q&7AkG( zV_zfU^Z9e59pYcMxq27I|C|iQ2>$d%k7tm zp9+s$jyZInP=uv&W?ejYJSTr{<&nfM!>3d6)Nco-?<$WA*5|ii#b#>i9|UiR?2Zi` zsQ~dqX6I?A><1A|EB!d{Idg`t&xp`!=&(bE92B4ugm>-?8+Ei7&Q#+|qxh|@=3>cZ zTwN;L(aSUc+?j~&{5DhlmoJY(Qj@RV9y3?ntzhWwE8e^YSBhV}Xc=49oAuqqMSw&ud7=E_G`(*TYxZ&M3&1MpH!rg=|{g#7@wusfm& z*kgg*@~K-)929OiLEJP9zP97wHnmCJIyk7hAewWcb(FjVgY8?#b*XYy5sUeHbMD$nXyt+mBdZMwpPc5b%@A$PqpXI50p16 zfGBZuFL2HrgY!E{DPLV6+`R8Hdc~8e5)n6E@q}E&V?7IKGCF4F1$DM!yb*(wUuOle z`IM5t(36Rm+)OEAWe;Z!FG=T()aZy+K*tI$;nzpzEwU-{j;l?o2V5U<2+}c$)3gt< z%JjPybM#IJE&EMPs^8z%*&eT?A2gI7QtJCbcDfm@hQpMJY}}SuDe`cPVmKRA?EKd- zYqbF$%|I_Tg_Z=>f&#*iANkhv2h?-?J;3uJA^h>|iv6|gI-kF+DcBWdxA?miuG2P;4= zO0ngA0QqEB-XH4R7n=H@IlXqNqjsYhG(eWAyUr;d?BQ5v4EXgVB2jUL4TK=zIhkHs?yO|bVmsKELo*4 z4yNf+qZTVv^%w{uZneZ)&O=~4hAaK#h?ZR0F<4{a)>GGRu~{8GzT6L+oWLa+cIIK`||K8nKe$$Takolq6^D$!H1dZkE zHO#Fnp&tmVqVLGry``u;8F$DKFfDjz>+_GHK^7Z^Qv{xfDId-xwe|ifo#SGl2K0R=knxn|emaXpRPS+0m4g@uNid3wPGa+Sr;Crq< z2&RvCE*pf8yY$$ve+G{Tp1sf9bb3zQ(zQG@Z~lkdjFKc)Bn;5;f<12o%2qZ+)f}Cl z=lj@m{21BAE(Dx1w`zivAT2pgi&hdCuf0IL%G4kM*y|N>ePRR(|2LpOIGpz?J;NlZ zGps+*K{_5QY{N3}w6A;f{YrHx(J$~$znQt2*x>G6r6lpfMU)~DlG6}0eB?ebTFyJB z9<>w$R>OAys}(m$DB&o;`t=L7=Ynxb;f(QJFK6fLZ$+KkQ59V^2i}GQx%#L?u~Y~C znDs8tEjjG>4^wU6top`#?~177`o5~NcJAGUbDj^|}plLz6)Us42pAVtu>#=I&KnXd;awdl+GxcxYiVIXfI z#t1$CV7Db-_^Eg2t`KOltW#Oe*yvVHQMy`nm8R5=iI!Q*PzE|IJo*pv`2ClCwX~fI zsog8c)pm;%+K0MAw!vq1t-|%S18R5AJY?q4q;U#Z8Xsi z%etU-$f;XZhHrzvi{3Z=z$*y--Z}4R4I-FL+NAb>a`p6{nXNf25M#aFy~3NYzJsQL zMjd3F)IkI=Mp}wG3v6+-hGljXITUT|A*?HcPfxcs0|T6?p@FAS`1Z*+;K1~XP0?hi z^+`{TwmJa#h`g*5)y&t1%rm&l7 zq|z3gP;HGUD=O*=f9Hy&1a1)L!3mq&q?U%Q)M3Z*{aniF;jm>r&V|7j$kgT6c>D8L z9bJg2Pm)bzzxx-TZ}v~MehdKQ>3>XYHMQ6I8v?d@Y%yE>bAs*G`i4k7OE)R1!dIbD?I{ToA?XB#TuOy5?L|J<;Uy6O= zD+sHV8$Qxi|7Y5R#bD#tVxXtu!@W3PiMMe5{Yw1)OWKA;&g(*fm0B_RdE$vN-yGo+ z%74z!1F7M$iI$?au{;mYWu_5Z&5))9@-<;5-6IgcoR-yo1%^kM?mv8N-p}-8MHauyZAW8h9%8 zzrwq-F;5VJN^EL-bA+ZOvvPfXAy`xTconvoz}c zcFa;_KD}Gx=zte_f0-NSlRYh)@)2Z==&+nSizi~WUs^%)>1P?HnPbX7#JR}z7E=)q z@zKTY9GfcYB#zgz4$vvyU%*wb16?C)_V|`@aCdUju#vJD`CKuksg@g26?tB-P1JH3 zzXyO`lkDlz1yHU`a63;sF^*J@idxatq zXG1mKEE07adfX0(S&Vqy_TqS2lgiVd`L^(p3ROF9SnZ2MkP}g&EbWa;V{3@CrkMJE zH<;>|}a`>6t zH&2^wqs)%hPQOdnQ(1T~uU5rra4l&yf^qL3FWgGlxMhJd=ExULFcOT{8;u~ZyOh2D zjlB5k-Du#=*4tZibv!z>&8vVs-LYC2dh*Eo{oh390Z7{r8^ZG_!2kPS?Q6gkr9V9F zdgAC8{_{1yOCYKSglUZ6!!-W)tC^d~E4}am?fcwcBfgr0BoM)w~i}7e!n5{AwHJw1r&k=f)v3J!~7_+6c7pv+vzUrB}T2+L@IL53j({& zs2<4LpYHqIZC(P+O}%PRC+|L_{ma2E7vf)vu@WrGxFa;mJ`kkrUJcQw4Mj5J?MVL5 zy@Ppw(M}&BNZ~(Ug!t-PKE#@h0dH)Uz)W`Cb<*;Q3XwIiUu%FRF+IQAi)|n77Xra6(l14@| z3zr7V6^F}hI7bVXSuBOELh%e7pi~JL2C!VhFbt-QXHHXuI+>&H11kC)N~zkQyAd}YjgU^Qk9@rP zV7kydvZY<5z9ogt`z`4@&<=a@8Xe0@{%3S2#PKp4u>t#<)};H;{vTl5hdqc;F%>Q^Iw zkqSHaWUHLvt?t3c1&x2da=ut9ygx_4YxYF34p#w=qM7)Cr5x)wF* zmv}a*fOe{*cE$5_Jqv%=3=WbwQGtfc#&RGjDQheT;?p?yvk{4haODH-y1S+w30&ot z{h^IS;&4{wvt9d6=vo4;oY ze#5zV>h$T>z>c$8ar!{w#Gz!9W%jcnR$Yb2n${2*aaXW1Lq;}1TGxKV*xwM|lWr|& zRL8`-HTI%<+l#;4x{pN$)&=N5^}}f4(QDt{u_kCLV_qyOk6PIQ;#B$k*#b!F>5D7t zuf;sJv#ckJshUgnWP+?fPIwcqEvGj@lG3Ibaw z?^W$q=$Z^KiL5npKwA;@dn`a`%Ni9Ud(uK9H}P8c%BKUOXCuOSb-%}r&lYo78KSWv z0nKb13qv00#(vNi?D3v(NWp>f@V1ois5|9wl3U=)oR;$2rJW|1GQcQ+H%3Py$w z8K4G>m9)ne#FbO#Cj}Xv(3pu5Eup+0swBSq7^K)U&%U}90M>y(x=0e}_ z(tbyk3hDHpG}K`&Ms+1JH>55LDvTY>8M$*Y^bA#-QNj-va;+#Yj_*oge{$6YI7lO@mlEbv^_ zZubgXWGkmBY}9schDHlj?Oks*T=E2uwFnnwkmw54Dplztze&RSwE8$KC?=LGbMpXoHzWHyqg1?N5eVhrq>a}0Bd#~F@k5+HBd`xX>|NOyh zl5pLS>IMG2bP|;q=((V!IKSH>JQ%4KgKeQCCy&szt$Auwb)Z9684D~KE{l1+65ra1 zE9oZAAYDgKYSwldX=FIc*VlxGmM&4ZMwZUvS*wCMPgc2R>Ek6CuHp%-q)v;swK;77 zOMwSA;!r>CN^ww&?IBky_HeD=>tWlUeTZy`&+vCz+=)Q?-KU@%oERS7pi6skf+$+v zMv0V=CfesLNo|(ac@b;E|M5m)<~TL?zI#Xb{QB|Sy0GCt|`VhT;DJw14Czw%81$Y{AwQ!%l^fnyW5~B9NV#Ou`)$u=jvhPY9C_&FL z*vII_-o$al>F3_xm{QrDc3SRwimwm7Kwm3%rXf~CE%hBo7Yt9z6x}dH&TtDA-oJaZ zi*bd7fVhV(sorrtRZ8`^X{EFZ6}Y+hddqlg6?cE>vH`(H!SRMzBsq6JBCw zw{88ka_tz$rR_lHh%SG~UzZkKUWig&*UT|2{7Z7dAyCv=sLKV|Ib6nV{8b$bng4Vk zqla`Qe|I&Mi)1}2*jB-D&ix$##E+cE8p;Vd_qoHiZ5an7rG02;VxJ}Ncm!(h_a>TW zQ($|2;(<^>q`@nCr&Mns-63ZhG4POM$9w0E=G21j!BvSvhq!QF_4|$m0%&b#fCYlh zWb}fC|MQ)UM@HWjx>??MmM+z8@;GQk33Ye-qSPh@}}! z(gkjgQ+@+a<<(q1DIoY|h~A0{qYf$PZ@6q66zU#1~K)s}(Dx-d#fTyMWN%v9O6Y|9Ur z%!DbyPyULGIJOCb4$nJ0AYgvDs=(vUM-dKT?hqE_YZNdeARgbt;{!>tiAZT(Wm4dxN5F-NGy-(}AJ zZJs8tYAh3+iL$Tx`t6%yp7vdxfTs^+6GBA=_cRd{#>jY{9z11H{hiQoMQErYR(`zR zy|P6tG`ROz-tG`@lD9WV1byUqi)c1Azh_@M6EqIx8(*DwHijOcFVg32^*R&pbY>4g z>*^=e3b~lgtj~3uk*W@ApYuaSusfan||*pN{>=Ggqpz}l`?lMPeKe3fR>*`_lL%y0 zOhKR6Z<~jYn++F|gSg7Hyz`YwuPhZJb$rl=L)Dbq*WO9^OddXV!_>N@`CTN>8r)TH zxclhgxwN+_%v!~UGDRm+PG!A4oibQNcv|ixNj6KZ3n9S;xtCaI+tcMw}q9k|(^(i%EwQ1&IK3|lI@m;IAHc4Rb8_~x-E z)pnHy=%{gKOUG^+Dn<*O%WM=@8zwVun}}U|NjeD7;GWdOh9P>`Vyrk@oAfe?!Gh3lm1+W{QwDeInz(d;1T_hm8mCs}+wkl9 z{hn>^$_EFY?yTOvuhh!jxLqX0j=p!H4#awQiq|Sm>SFy5HpF#zTwaS+Mml`uTb3_% zvg4lo3xY5Fqvm?rxx7`DEk&|D~C;+(!L?j40_g-D*OJ1ob&KCVx|Ma}K~121ttK3C~@5r7uKm5-0Ddw)O3v~(ZR z)(fNq;zU**bp0C^Ds30^uq^UeBL6oTBAnDmS<=7HjZ+r^dLlBNFe3u=7!xF$%VV6? z&Q@VYrX~*&j&l=UL$wao+RBb0W-zkFHX2nkU*x~Vc-p4M}4Z8P3_>hS7?Hdem$ zJE+pyXfaeSfxswSI%!$Ho{>ObE0r&oi6P$Qd6*iVW}_N=$(B^?(2N z`>&ELfE?Y}`Thd+r%4*a3(Om_<3!89|NGIeU=G4NLZ;Z#!~QTv%%M2IJ^laRWu?t8 z)!N$N(+rwR2*sS26tM29A)?4V_Uv=V3aVy*aQh`c;#xt7gtQ?!aG#SXvJI_14g`KW zr&aE(e!n2zfJ(BKX!q?$AWnl{|w<63Dv(t>VD7HzhCB1 z1u$!~iKpz3?XG{1g>O6;7@OI;Epd@QtS{2n!30ac5c-GH8PL2IfH9BX9m7ujY0R_n zFP?%l&+#|R6~^_h?F3`CLl@=E!5C!=tu&@ zP`@|0_J1$;THm=lcjqP#Jb_<*%ba75IYwYlp|n2;qFue2{nz%^Ketf8wL`!>M#ZHG~*Qn~X4zoBb5&|mxt z5B&7#-IA&GmfVQ%{M`9sEbL*13(&xO&rn!pcyc>X|Jz-mRX#P3G^@Wa^M8#Nadj5d zHKBcG=4&|hC%IOw7u+9?v|A&qw*-M2)*{wifDnYnT)22~cFS~Ok^x_nNK`=ueUcH^bzpc)|8QXOjpuiAl#+EaIL;?Cs^#wHcOs%RdFo0>1aIBP@-n# zrI&_6YOF=0SrqwtZOQ_i#?*hlgMRVw`#FGnrjwpJ6+Ye^(il41^+PplInh*b?m2Z9 zuxMOsCkD-o)m|ldJrwD<@Y9Nbxe08KZJH`jAzGWv*d_VH{^vjIji4Hf4)AGj*@3iP z*o{JQsK-wKcr!e1oT6^N+R~F*Y(3(YYd9?Vg!VDX1Df$bN#)Cwy1uEdJ!>jqpr7cz z)ZtrQUOkx}&*!J8o?y0oouWEY#LU*jr2AbE1P*VwtYmlsUqU2+1*<)le8$^>di3N|hnc<2hvW zNDZCGuem0Lo&WIFUAa9zjO2N0SE9^ zyty?d>Y?L8AxLX`P9IHZ3UbsHKsEq z=HcODNyjcEePz5xuiRy1-qRj1kg@`6$}<|}ccl+rlvZOMMjTfY z#36P64_5|JXD(SbNtu1q&L0<<9mIh_4E7P$~B#~YAfm%SsrNfJgm`KTOVuYxB3`qn0KF&>rwvaz@-w~ zE}ITijvLR9aN0QAlhoyncQZTAJy6evCF=1YuZWa3XEsH|)$QVktI&zUPIi8)Rj(>V zU3**dYPTQh;iG*U z{JDBLN*z{kR}Q0CGqqq+*ibMavg_AnzO-Y49)W$x{nt2K1PYU-JyZMQ)j~ zTqY`y4(e1MKYsja>fY8Tg^kBDBdj$4w#)95fy)GO+)d|cg{pi{9&x{w4|`Go+NT|^ zv^YUfEG7Z|h+-t9l{j!*Iaz?y!^ zdcP@HeZ3Cl71tAqG==~r&y8x(NMk5yzjB$_p-(P%z=`PGH|hM48aQY&W;)KWm91y+ zukn}QBbJ3H-<8+h!s$ogDMN?dQ;phLPtN1Dn$N;tsyS=uQ6OFCQ&Cf?bShVLC27yI zO6+m4jq5HILn{9c1rE zm#wpoNw5AMx*ZECy$C{=n7-TxtxdO{J$t5LmYD2pSRPkYD8f(;urB}#X z9)%fP=P&=-e3FZ*PN~HXTuw{qGAZg#4W4|@8IVey)zOkJKj+hx8seckN^F^knjuT> zg3?cPVeM}@&wFn}Y`RMXcBIl$p~U_iXS0di@EYhyjf@@cKm;O{BfQ}ot1VtgjLzIs ziNOs%755z+g_7(V8{3@1tg^4|H!FkM0P76SK8ra&)6n=+k0rd9Vv_^59)^jaNbMxN zfo!y-ueL_S751;Es7R;zAezM3JmSI=8QYA^K$tFbVAGa3jlGPcpu}Py^$vXnXxH*a z0bjeXzP25KgqUAaSjF(-qdSd|%ciFAbRo9pgF~QCZ!%&__e3qfTx>~`b>{APYS_td zaIFVa6?#f+RkhYeui17gDdcEm1kb*RDbo!-hXi>+6-Bvy3&DN9}b!#0=D z2JUlbyek;Nye$bzVI%52U&=dpe`c<&?cFLY)(D1Zl3uhQnoCd(QHi^b&CR*)wQlO~ z9A&V=j##XsHH4+s0CjufWfsRjl}!_h++1RfkpZSq3H&kc^Wkwxg;gpp@bbFB6Toe)i;jSB+9B~ zhjj)*)JNK96M6VGv1{`khdR}pzTcN?PY!RQq0E|59F$8*R93dLcv(8=!*{s0=}W<3 zosOBx?R@&ReJ7{j2UDEhjKMGi$5*MTQ8~=Z>z)2n?|MX!VXPL)WV;CR^U&p#W9BPs zW9~cq_^}WXKL5_Mp3)*N$+N42ns*)gp77feN!lz?_el5llMN2=4#Tz1HG$Rr%c3oj zB^VVD?Tz}jzY|?|QhU3}xEH&J-IW4f-q{^H&Jnx60we>NQZz$HLMRQuCO0T&35`)>S50@8lHE ztpC8`O1W(2X0D08#y5ZaQSP*oF7MuSmJ;c?yLtg#n)^ccGfP#CcfyCQWp*3YHqK11 ziPOIU9Q$iURv?0#^Deni7oTK`B#%L)2?3?Rs7r`_77BP8tC(rvrvjJhK7rAG4beKZ za8b6|uK@84>ET)@c)&r!WpBAolkR4!G({P$mLsrBNeE;+_V<CvD@&+W(y zl&_^X_S)UoM#a;_vV%Y5C*v|V11Du#E$78iddsv(r{UlMXEhIGQON#^lndo@f82-~ zL!$6yZ-cyWU;<0hThcBqsyQNU;g@2+<+z9E0hUR7>^1D#p@4^?mG> zsmJ?^dz(6~xNiAtHkTL0Q97&@P)NaKU+#tRaet+#x~I%X6B2suV_njzvw@;Lj%cw7 z&T8ghSzA*d_o&#LsB^l!W*R%&m0bfl(nFF&#?SkP~#zCa6;u4N{82?x61awpkkbA zx6eWZO@lPBSI3yCet1L2v((v}YMb~)_siupjGGJx$H2URarvkV&^KoVIGuZfwEN13 zu?Zj>A}LU*Kwgu!9B;G|r6qlu-*hxE^{A{J(m~fv5G><_d@HpZRv~O-%<78w_mjC? z=QljG#|$@6$CE|PD(zUDU($(~4Cp&6X09mxG< zh>VUD9kQp~9nqkD`?eld+#o4gs z9c8|IhKefM9EXgHd5mO!{`D(nHXk~nXlC2lbUWur-e25QF4PjfkHxvGV%AJ)(K_mS zMkrQM#=Ma#%bh8JIDf&&b6-MU zXM}X{2=E~NDCZZ@x$sR~$abGsLep->YcO%VM_qm0Zg4b}?%E`7;qKk!BRoOrom~C4 zF)%SqHMY>c9qiJY#%b&x8e09#ktswZ@Cjw9{iJ%Aqc|UIaB=GhRL%jl{PYjxF+nKV zk2&5?_=JUZvm=5P+hV!xPdLnQ1YR>LcTJ!}syHX!mA|_pdgCQRRlZ~0S{KVj}^^HKgpy!@QQa$}{)$sMwF7M=QqTW@$pH-pr5T7YAeG(}eEaDeSsv zqHl|pbZz@oVEEx-t|nT*MJ4g2>$tz=3k=`TepF@GEevUzVg%`tm}JQ2xziF?-LS@f zy2*(WBDb>}iu~8f+Djdg-s%#g+A%JN1_*;IeU$l6d*LTeslz5pvMFt|e{>a}@zxylV!%u$wHWrnW`5nT(JnMk`}qkbx#M~;$X>z z+jd-U=TV-Oo%sB6mmWf7A_|4iiGLDxUBLX{d5&V(x{b;TlEOI|Jbeh6l`t zCkAl&Imtw7e{Ui#=%A(Syb^-{49321kSj&6zm`%?v_g#$ov1p-BeNqY`{YM zNmY!hYFE}4jk&6(#nPXo%cBUxJykCI)L^Ntf#0ctY5Fr)?Ze{AiZo18P7|;{eZqx5fpZ0ZIFc+Y4)*P|E^gw|2 zUt@o5mMHtiyPj3LCPR%+TD-kQiAcg$O@j(6N@+umit&bD6HW0m$ET8op z^H|&DF7nd+n1_>7{)?u91%h3gX>avCA%n_N=-855-aK-zx-ly1T#rPI3OY!|4;byz zvbxsd3VBW7#$GFE>pWMWDnA;CN$G`~7@C6lcP%@Z199P=B(b$U(pS_`_XWvE7X z-1c3H1>Iv>n>!(OCJho@-_URb@UF`CT3|!)pNl24@Paj2xXH znEJ2v0#}9Aovq${H%sr5NEvb6pp@O3w?Wn~jQh9U|ECD`pI2<4Lj;>FvO^8Ew6v~$ zg;RSZ7+1Now`nRjMVQpgRq0KDCFH$j)3E6i^odSoG<>`nT5?NcfUII-?`I}aCsc$o z>JqP(Tt;T5bz7-DcE@Oah{+l6QHhdil+NZ%`m=2GpVJQO5l@?L^WeDI;^u29Qjkg^DB^kvkz4)r*~H*_mJlKC-wGlYq|AMV#+G& zy4#t8Z3k2*%rv_@=t`^l>|(O$;@1$zYw#`AJBZh?S{J^%NOzQQi&4mxR#kp7b|YA8 zmnvE0oc>c!_xB_VIeX#s=Sf39>5|Tgc^>vlv$%(kaBt`YY%~K2W8S^l4^_RNs_U^Z z4&_t~S{qe3mo$_D6(nxT<-r8Rqk?S-So8U2Hm7kQk~iDQKc+yZ^rUyRXpl0RrDc z#3l&K^w@*hR>9RgD6jyY7)cOy-$jazj5`7$S_#)Aa!r@vYGk3r7f<|J&sgBjc_FLK zWmg0ZP{C=Cr0lk5(LlALa#n&40(|G{9=NLL>woAHUm1-fwtW5L5k>KnKra}pCU9;% z$mNfi>?p~W9_qaYJXgA?n0N!L@lh|^nIIwrhAYd3e4eCLo4unk$Qy~Xz+Rak8MoJtAS z&Q58%U$2gP=Kr3>Z)EA{R~95$F{lC~%cQt@A7oUH28?-bZ%xD(xDW1+-8*5;qX!dh zln(6Ln0Kr47n}a&h7bA{r=29~VAb{VRrNTBNnq*yeg|xWBJ(g|6n?m9+oSjC%_SlZ zm!<#y+FJF$z6zz_5H<3`AE}a@2UM+U)Mx4k-b}M zHT*tA&1_K8zj`}BZJX&fFXuJQFj>SzG3>M^k?la5`t(5T33y#c9fld7gHd5t+o+%7 zF~jS}R@t7)*_^q^ttA(c^17qLNa@jtMLH{o>3bs;Isx7v;TP2gL@uh-$<31vK30Fi zcm2kecUs$($H>6zVwbq}wGKvVe{@EQt~Dz6!t^xpS{?UP6W)N{MG=>7mR9Z*Cc9m# z74L*xlalPQG=Syvntatx6tj1Vq-K)1PQA&@a;ZHoW~%X3+oDd+T$pWIoP20x3+Fn* zR*xHq)m91H4|Sg$++G{O6vlwuqQ#fQ$a^g=^Za}541EhOy=n!yfROjNak5mR7;I(H z(;$M|l1J{^Mn}~ zV%QfIwBuPWwf}uayUyW~?^LdZ*IbVa^%iYGrf%4U@}R(1+%_$?cW77#^>Qz;Bfos) z$&w%3oh=?Hu+D>qJ2zzfD6h+dRbFfL5(gdL!$xxc7wpUnw5zl;?(CftI%TPKlJ9Cv zowct7G0t};>jVK8{2TJIE;`RViClki{iob|LpJ_%h=`1B@AkxrGEj&dIRERzF9A2xOk( z+nvRX6N>0zmch>*E5G|~YpWH$D zubyrwD?Q|V|GDX7<9W_iM5KakuXyH@gVC^OcCb33N3?tt5 zSzHHa>cY*Rmr+I!4-pI&@IaUz&rG%A2(@V)1w`mDe}b2C=@H%+#)UMld|c26GeK^@ zxIMA{E_R^H^Jsy#7x-AmlF?z?n@E}T>0wN@{e;|=ffkI~mB-qkpTKY3-`1tzPe1O7NR?>UAskjYa&@ zj9l7oS-DMb???JiUv)wA_g&xBC;}9k<_WxV&^#h2WPQA8%N)Xds+$1(Ke8E*iLi4` zGLESf>!Z_N3%Wk}1|+dn3{UkR7*88I)#sX3pk;`}pcZ}-`VGDZUSFrhiCBc(x$cP( zgGF$b>Onc5;Hp#LFH%Vg#~&2(YunuXOqpIq;=s|DjTl_DJcTB#5KKwYI@X4OE^L<) zvCU}i*k22MdsV1Ye@lf%fYD}&z6j;DZ@?w2?($6KDAD-+@$(#u`CLc?KiEH`$VihH zO_Pn(Z#O^s$SjFRimsA@Nthk!&b{>Z1@u<2gvNl7G&(0?w5K4HvWT$cId32;zH2zK zsmwf-A%Tf5SN$8$>pxpyw7@yBtHM(^yPwKv9H1Tu&XGWYe%(lfa7f`ZUkJM&3Fqbb z1qE)QQt3aM_kRaGlWB6s6T*YDj`O{|?kf}W+7e_W<0ehoT6Y`-dQz=8HSXn z7zL-j$8yoMY+9suIy+ACOk2gywqJ_3qY}+gQz-{fL+G@M29;3To~QbK(2{5#-oDzq-_xwyJnct63*Fk@85*i=B|}Xy{Z3l{ zb|{b_Mm&9&3uQL2PlAl6bOiQ3JzK~XcCtyhB^y@MeU6-xyc{+;$wEG0?J}dC52PK2 zOR@)(;2-pm?=6mi;6H*+d-jhhzQQTt%f<0N%MM&_aLQ(J$8hvA9iI`uD_pF>w8(Dw zOpWt!epsm!TAyig>!~xln{+E|LPW?oVCB0fyDUnT#r(NrDs}#Gp=UO!*Zv^89R+Z5 zug=&hGUJQ1N?a{%$SdX}0_JPl_zbJRk@m|JRqQLlmRo23W=-+Z`?Kbs#LJzsHj!;`9$hytTIJQ)SC*ka$41zd#Q%4rh8{!cuI z@u#Xs*?iqGRGTAn2Vk$uB%KDW>Gi65XDQu1txAp;&0dYXvKzu{2-jx16;cwOBvO9s z_FzHHlA}FV*uJ}9=0x2b^6UD@er!1gF0043r=}P(>5-rG<%lIkqBZ#|Oli2-xkdpL zqpQ9(($t-q?P7lFo$@PwoAEZwq09KS2R%Jun$bsN?%X*Nw)+UaRoC?!0=2hPYyx)c z2z7PhENjbm#nRWTmQ!d7K7Ol<(LNeflcNMT@oxyOvqjIF9+H zO2?Sbn(g*R;qe7;9kF|JF@*vLYs0Ft$NdUFrSXXnak1lkKNS$6a}i0dXBYfu=Z^+$ zaiJW@x&!P<9P~`Ra^D69zIgEpo1-`oC{_g_J*RbiHN_?dWr_5(3U!yLfpgM)&|MJ)(V%BnIIZ$t+nG^oud0>zh0;YTN)DQLUDfmvmdHf&4puFM3PICb#Q^; zL^59jcN}+1!Jru?C>vBXThmnI+j?G~25#Wh#%}fuwOWn|BNx;=;C#*@srpT)p-52m5|r zLk~b!Ve9#Oa9Tw@-M%3cD4{}h=nSP|ejnbke%KO|^l1!s8@Tu8;02TEv{MLFR8|6 zgbwfUcMN^G(=zCu+3}6+3TO@4LXQ)cWDg0+cp2*^8bGN#>xm}z`W3&ff4d$O1%s!t zJBl6fqy^j>8!tPF7Ou<=jvXDupYQRtm(l@}@7AL&dPH1CbQctDv3;tr7GT9~MdA@W zBKtNOOXy&}Bg7GW1Ng|e6?Yn~`?HzFfa+Ow`%)*JS(h;G!CQP=&32m?cKbD5%--|1 zyqmvy$@bhgfis*?h3(#GibSopS>nk}Kdl|NYY|0W- z=WwkX8&qnZuQi1yVHbTFmFa@DHEW@OAr?DPDNHHr?>U(lF>&}g?}>Jv%n3Kl*3!T| zruD(*zz)#fI?H=}1cGep>!7xEBsXrxcti_v%DPB8jGnS_d$wkCshdMoF8*h&>di%< zNf#+CZEPBRkgKpIi77KRTdnED3DuE(fbiA5%q2DewwxrnqVMnWlLfl z_me#kRV1Pt-t@m~m4X@{QL7b0T`zkCC@bE1t@brAE!*BZg@aD?AT#)XrSivD7K8IdrH#F^E>p*Yz#o>Jn?-KzwIQl#SoanQ3mTNDI2&CA0BiWvHq>FPX{Ce02j}XT8}jFw~Xc79&$E zjlFQ`I?(2IfAMtH*G8hi*BKe(&zOWOB=kS3#1_1*Q=&~GplG3&?xbM-Mi)b5w5!~B z7B|hA{l}9%(kkXUwg$bIuAvb74Fk)|wK{2C&JjMgf`_b&Rq=%N-WNB*udBBpr#m7)&XS=(4g9KE}38`-S=gqVg!gW5;QY&mFFWzSRRzZa0=>Fn;T&RzkX zp!f8WB|%w=sJ3IWt`kWa8&NU#IMQ<{cVO#RNuzZcy`NwE)?jt}Z-64|7Kyb=+=akP z+*V#I3ijwHn+)ipkJvp@S*GZh|3do+b4jv=DW4(?M%Qc*6{yUMM5R@M=V8h1!!zI3)%t)SvgT z{p8?*P>5jHB>Km^EPrx+VtiMOWQE-mjZnfuTbi|MLcGZG;K-M?g9+!g`a~PMpKGgn z7x0EC$c|#Xt%J8Rga2pTcGU09=vDp01hXaF{Xv%@JDiBpz*m3Guy?!9H-Elo6Ai9| zLQq1LUdrvXYkr{b(E(4*EIr=|l!{@iA_aGD6MJ4alLh)(aeHrbZQ%<&9xM7UAc>%S zJu7@1mDiE7QlyE0F#1G&aO0_|w3?a;Y{R}WJbLv$DOxm4FZ5|MMpZiGy z3ai4yc`xThLvD7Jx&h32@8|&b@7K=j-Wb7TQ(8S%susn&z84pw@pz@j#unT8bq9tu_$bTS}MnCgH0E7?|Ai% zx5Ew($(M1y`EyE({D6@$7G@7d?YWkqqslJxmvn;ybvj|CJY9qapHbYlx#L(ym0nr( zvr!Ou^!WCBC;@XaBHpn}v0!YM7?dn6_TUK;3PUlItqy1NyzewC{eJLuIUqOFGdbc7 zHW6N*=EnsBYjOE{C=Zgi-JWSkVeo?U%++aZnYTg69%1glUjo`|IKEq}k(42gE=`8? zKJ0vmNFB7qTie*}{XlMpud?W^k)gfE%#4$qdLKURzl(}XXak{R$O@MhB7&z<)Nk)p zF$B*93+?+sT3D4CLqENkD2rU4C8J9An>a9k<}~sZWwO&f#nyWe5#b)#?7#AiY>no3 z!-bXO@%=_^jNk|eUX&zyx$P1oj`d?&}s6Rw8lVf@D7(<{JSMpYmyd6%k!&v*G~prO=3=0-2UeUP z*M`eVq%|~5VvkxFPMSMDfCJxfB*C6 zO-#4T^Jf?EjHlli^`N;v^F%HMH~~wWSDROFx3oqqi%&~}r88#0Oe)&li>h zlo3|+GP7>JJ6{#8b_-3)G56_(=#nrOk2~|bOqKANtvW`nfB^qu3h;G5*mvLiMb2eb zo!Z~%l8_2ExJMNKmiA;8AodJFY z^QGIi!AXmvi#uy?DDr_>@5Wp-|9Z8+I&OG}lKf*R1*kJ?Ph>t-Lrd~mOsYM1Oe}3q z#K4iWrvPgFqCSGLChP7?_v3B?HijfIozOV8F6h*YuNN2@`OX6n7WU}J*&10}my=@$ zB|#;`eg^ds)1rWP!j4*s&u9XK(z4$fe=MeX|2{)r%yW9N=;pd9DP84eZBFD>Ne)m> zyd}7+L8}Yc=Rw*XySKj=laP4gPVFb^Y`0rccYUf-w{h6BzZY~+t*WVwEzQIhl3h9*S z5%I6}>A!D}%F@`Y5*{-8i=%k3pMLmmZO^;9MEyBObpB)Ht5xkHa~Tvwe01|Jl_>t> zFF$H!(`Z&sl5$Mq$<9*S#B6fcNR^9LC7c)by3LbKGlAKgH*RSv>f?>j->BM+k9B7@ z;|6kxWNd-I<0w#mbGF-Vfi2M`#-AmZtgp#t?}7bmr7i7YVrc}!5?608uiZIjN{Z;7 z8P1{Rl?hx>$um2hk~HkL@s>@sVMJvJzzoDgL@2-5f6VuvI4-K6-FPRZ9txL4=c#x3 zQqlB(1axIHokwXg&bR^R;_nLOnHib0U&<4J=dSe%WaFQ1a)Mg*Zx!5LR%^po56!*l z%}vqa>M`3|IJJE>t%5ic_P*KdJN~JjC22t<$3dBJ+*ZT&NK>p^*iN*;GDt+a!r{Oe z|5K}L+`+HzhJ&t+-(qeD+o zdg-BRl`Vn9Gvz<%`7LtCSD)G>L2S%$w+9Gzd$(mjCh%)dUWZtWZWSi?4X!6LcIKuz z`%#cu0i{t3v^w zcPLSxbZVTl)rpE=PWRU92#LA{#s(gj{sr-}s(spoFmA1z30&#)S|@EGRF0U(xDX$N ztoEnCC|bFR7pqFPB@Xr&PS_c=c;IQ zaq1mW+tc=j+lHz>0;$a+d3te4u$o8NiK#aJ+rX&V`C*mfKpILo?gM@uH{JP;1oWy!<(unw^rHA0;F{g zjEmL$Jm5w^+_{>f95(2RuDxd(Z2Puqo@ux^Fmz8QIOM8~yY3Y+Cl=}I(HOgD8!0v3 z?E;XX1Okv1dFuUmHOio!~bJ6qO0#n#vnW?YsxewPUPBi)PBqh*8lzW7(0u>=SCJ9~JPZZb>tQ6=$# zH5>Z8ptM8yj&R^R=B;W2^(-h~1*D6KM$3phFwI9>_~)mPrT||PPt(tV1(QCr3c3;QJiXkNLPL!0a?rYTFU*#jyjXSn4KYrj%pZH~ zS1m0$>qbsaMZ22Y52ylHx3pNt@B^rn&1-)01d`ZdMdAeT~TwEs(PGI*j zI$3wC+`WGE-qDn{O|wWLue4tmR^Ly(3|et$Cg}Op8AM8bC-(PBqzHSeSWtADdmrk@ zv0PPVvf7%{P}|8U`N7n?&e_DM!ZqR4Nhxkn!k5HASIPhR;O>xkz0;yGk))%$hZ{u` zh5}|Cg*Do((S)5GlrK=bgSB4Kek1 zEg1O)14b=(;D-ddMOmv4t3CZ2+eTw`sANB;6)%`%QMRvylQycT`6RkNaShWMXLNEi zNXvWm=YyJaX6cux9*RDC;)CBqy z`8N<9ALh3@%FoIE0g@AA^qa?N*h?5~FSwd8I$Xd=&Izpsyc(Wec{N>go9yZHli#D4 zEap4D#`ifd`Q~5}<2UjZpF>hH(O=lA2#uyb;tw9IKG;$?gqspTW11-BQ(YDe~Qx;-L|{j^bK& z-F+zS_tl>9ArBD8S*&$UEIpN!eR69FU4Wssef?#gy#ff8I1X3abnZL|+TZss5p*=F zs`cct_a0_nGtaVR_y-Uk#Y&RB3uUBrcx(qKvQ8uix8;rP6i7HKv!ziU3pud#0r5eY}DuN7fn3^hN(xa-pCnKwj7T)Kpb$G1>sWsWvWyzaktzk`6yq;9T)ge^Y0?aM?uLVkGWrgy_~wv zXou$U;FW5lpzI1cIkLg{#A8V@!YuQ{yB*~5_8<8y+&g`#*!x+tfp^-}wbSGX=JI{~-jt5!p)@?)g&KW{2(%H;>#?w^CtaVWEnhTLB z=zhl`HWQQ5hq!qr+gk5^dokhb3NF?24!gaC1^A9jeC^)69aJ!|T1tB1*7_T9fQplg zrmX-{X~+7-o4+xH=%@Q*t9zcb^=PY3t;>&S zc}=f9PYvqqoSFChHY4}k?Hz+~lo{rLmEph>={ui%0Mah(w`I1~ZzLM2FlPre{$ZMs zny%g{X`q>1(-Le{t^#)Cw(co`;o8~qUEE3)R_-t)BV5=H+@MQkb={a5!Xjo23u3NX zfJnEqo#)i>v2{PnF#y7_Q)3hyddhDa!qGj!x<-ARR8Xa!emL%7xj)s__fo!{vekT< zE5-hj$59YI*3!=O>^mj%Zal9XKB_&pL9?kpclH}M_*_3|>`a%K$!FnD?>RbEo-~&; zG2em`KwJaB4ksn@O;U~5`d6NpOVU!~>r=S#wwe8%5BI1aDObo)w~u-6X@2=2-u-B= zP9?i*Ph)AYkPontq}I1`onsn03d` zpD8<_$C6=?RA=i=IRBHMoy%;q{XOeLarY6wb{PCAu3To={*|en;d2XSbVl{2SW;oK zc+jSjFMgkTZa-4SEun7yjhEmM@8@&wA#N52KBLcf@mW@4J>#)(KcD+MPoE0XFF1yn@nr*QH*~94{{oIJ1nd{G`vmniq&L+fM z+BM|DJ&Iwbugixc+}5gbH}8}O1W`-k3*WO5>yIIu7ha15uUwU6;;I3%P~Yb9Wd~H$ zn_2iu{|VONN^6ERp^yU`w_s2tW+g#GkmSH9F2pNedVnga-taSFy3THDkN$Bqih-P% z*3s3R{+!iF9=LTMhv5)8mLokPg|Wb4cHZ8|J9H}p3g2AXm9HsT2qQMSx}__!K5{Av zy!P;WXK{FUAw``fG`@fGy=C+DfdCq#e7oMBjoEU45GE}oJMIKz<+B%AHuL9dr5nqQ zmO2`~fOu&LuCkx|PhJ@BI5+aPQW^7Hui`H@f@XpZ^;H=Tf9k98H1Bh+i&Au+de493 zNGgN$!_!W)>_*-)G5trU^L?=!;xoAoKw}X=evItyD+*TivR?Z7pJ$PmT%J4JqnN7* zXWfyU*nP?5-j7xXzI^PvFX1O?X{ciAy0>!05jKrpT>3ZDOmwvsS3&DAbZL`GTgPz; zMp+5!$H@+<(w)hv4m*`-f3W2FRWE93VQNibb%P}0i?Tm~t!VZyS_t&8QTHa#i)`Uf z<$-3av|Juju4XYKg^sV6387Ux)u*uMT5?Ht6b&Ek%Jb#G^`yjzW&2BHfMxP#{R$ok z8QZfzxu$)>ahwg=`(E*qRp%W$!%&Pv`bK2?Kh|?#V45bEI$E_~!xE#i+^w+6o-$C^FSzJd ztX6WI&R9o02M;ar387I#L9S?_o+hD6kdR-WX>=KE+kEGjJ^!WD&caTTii^mZ^($;0 zC#E<$?zS5w!M{W*%Rz<*n@o}&)cKnrI}vFkqI2LQn3P1cGQLm#b{%T77DUlgAIW1- zd3+W!%||=W|9)hBl8XoNc$B7kHG7l|*RMY;D*pQ8C~^`5{>tq8oyktn$$K&Xdx)d3 zwUX@FnExNrBu7>2qmQR%Kuln7I^!mIBS(SlA0Hdw%W1x$KLr>5x}ACffQ$yYJ@}ig z_xjyK6R;-2qM&uqhhqEx9@>8&A6O?H_keKgJRRN3qdNEh zUe#;hxnj z{B+?DqoUCNzQq6j^#8q1FpmGf*9l~2{@C9rR7Z8wdZ)y_)V1mpdaN% z{@Y|HO_a+f9rRiqX4~R-VW%`Qi*CvE9pPE6;xnr7O_5~uG)(m+SXa#^I?fe4!V8>sGJ{+e%gm+D*jC)50 z?SHyg!!y_G2rI#Fv?XQEb_|!8Zn+beGON=1`kYYJlz~;NCVWYN=>9=-8X5;fNRDHC zyE@DcKe)EbYwESny{yhcVGvw?Z`7RtpQojcPjB;x< zI}s~vPxM?Sy8ZUfHJD=eOS{-_+_=$`*;nvT^$hKe$xeX>wIB|GYG1#uaGj&c zMWmb77+(9L%xUqW<)6%`+1nw!=Yat00N|qxiP@sF!nAAkZ-u>i6Wz&C0=4>u*J> z1^HWL?Djo1Oz)CSh{;rJhx+1Hd@1wi0yiI!Bjyto=34(}ctp#^pDuj)@})Aq&}8;q z#YB8XQyr(}_@UfVe*xQ|sb`!=^}Z-MH8q})N_iQZ^&-hJ#ly9kipWJzmdAS$-ozF6 z)q3dnCrkub;((SOupNGj7I9SC^>UsAnjN1eW;B(?rF=i#Lp8ZCzY{|Tcv~M03IjR0 z(4d0@%(dNnKbR@#pah=Cp_&L$0y#=tXmfuvmJ3v$AqSh^!!E>1R=g;4Ubg!BH*qoW zHr$it;^~`*whA?X+J?aFn&kRTTuR(~gx(=r^#{3xRBEXBtBgRn+nt6xHu|=&cda>W za0VK5*B7?6To-XeEYSVXJiVsyE~&WBE1%B`v@5Q^6S-5z!>(6&QxY@sv_anLd&`5c zwrFDPVnud5B}YB9|4?vW$Dn3XEcZc~`}Bw?B>!IUVciQ+7v8FM_rN>v*Q+qI$@Hng z^Iftu37khAnE$scx7-2xDG)wAW6hEeL;B*rOIfRA+4EPfhet#d?^U^D+!2(`nhJ?k z{Siv=0D{$mWh8nJRN|AWdYIz+9S7UiZ7iMx;SflIx7T>U#t$oGRrVb7GQOzxU_f%a zce&6-fO2WT^UK!}VD1a`m$vpR>W>vO4QS~6x((RqZ69+|-$x>!-@Flg!#~!*-9B z`i_0*3>>JQ`(Zkl@;qVuG8fsI?}t-*9i&^P{s-b1kBkC-ttY6m!L|;Z38k1YHInywV&a!H%vQB;)$KpESY3?pUFGL zoNtcYb&~kT+nvG1E9{BbmhYfr_+MSS)0IS(ltj_7PdbXAjUZjS#7|@xZdv1WE2MY{ zbflI%KXoLDGR|z$ZJr3dy$f0hW*5F%VsR_tM0Y32SzJjNO_tW3!8fUe8$_n*f zmdFQE>@e?8ps)z~Nc^((R_jBVija|)rSE?cw&x>~qxuugxYvXCa*@Fst#`EB0v_D? zA3nB{WQf{oRlHZ^9d$5)Zr)>9-HYctuEjuKPu64?ro)X+DAV}c>-8E%6C60jN z$M@c}L?GxmJIb5&Dr$IJAu<9if2!KFG!SLjekOHgf`*{&OD%xJr<-TYwJXDN)I#*% zY>M=?+`PImEz7ade{W^w0!}6Ie+j4j?X@56Fu;xioMcb-__6=}hWNEMH^^H)xf}mm zDgeY=h;AmqB**@HCI9^?OBduyDsz>fR{W0x12+mFhqrM^dhE|l?)M)m<%0Yyw#|+4 z?`zp#2bPNE4 z6tuaUfA?biZ4D)!SDcvkMI3S-`(t(e&lRZ zw|wBzJ5u|HsObOQhE=(o+^Ip~*YosBxU=QH^R}YbKpz+oMqqg|`SaGW|720}Ybo}x zm`<{9d~Vc#zrv^xl7>5XK&ZmR1t7lI8-_Pd7g%n0Q^evkTXzx;N8-#_5{eZ8LN`99C*`Mj@OMiuBBxO+qBhT60=bZz>FMY-Q&o?E_;&le@o0Jhh(^&X#(%qb1R9$Gs}ER?ur%j-1s8erwwzuJj5nr78E_ zN+2>o-*-9BE%e3|sc{ITgOs`VXgPK)XgD%Ew(s=iaiPG@`UUhU`sp#C=|6w|{ITEP zLHz=vFe2Z~(P=sFH$43x4@!#2f}T1a#Spr^0mDh&5X~|5{R|jhaStUcUu1~;&uZ%7 zkMFnkQE6>qU$>~K6xY!R?zx~e*IS^3>fzbuWb~$iFp&k3siDFeE$T+_RL|U{FFIho zfIaUocg42cyI5jR5GZN+ESSL9Lj>rwl~Jq;Vhq`t0kBF`T9Q^ z#D8uu|24(uY+wA`0)R>QU^UX~O+@>P;}okV)izh4rgZ6}RRIGh2TU1E^tfiXT5%Zi zu9);TLqLFQSGw(C@?L(KG7&B>zM8*Y1{Q!Gm%#N<^DSei#}&~S<#Ky(_I>|05(5zQ z@vM@#mXe%bR9ZW3IW*01I)Oa=N+RxY=fWFGbv9#Q?^GKA$wBm z3jmwoud{p^_|%^?iaLM?D6Hwg2-XE~dN{1XZ_Hf3>=C#$kXfrRKEe#0Cgd*UI9%6J zWp}8$jRX~3Ye*xj;p8b94h?TxlM*hdKAmjlt8RALTwX6suAWfO3_c=rPqbo9v0le& z6HYX)tbuL@txOcp{W#;JtG;}bz;0!sl7Tlqq-`y*{fZ*-NJT@Ehb4!4K45GvbqFkz|rmaZL}J|lT>Nv z&*-I-nAXh53Vg6;D-@*2(6PlFt+#Brzms{)%a`^jLqo%h*0#D@GB5(W(;BKN!uxyV$?z;BWvw5z({z8`U)@#Hw6_t*u5uO*un^A=g-1vI+x*nJYLB zTtUVB8me(GGw`t4sgql%!4#^@#5dd1*WW(JN*V+{Vss+;-Uu%m_7Zy2w7!d%*^8fg z?gM9)ujLM;9jEG1FT0;;nxOuG#abLUWN+I5@+WL&XlEfYj@`UG5 zrCo-^+_RwNj=XFlt&$%G&=IqkYKGE$1d~{@z?A-q6DAlm{tr$V@+=z!&HU#S{O`%A zr^L&h3)oqWi!*1n>&P~{U2Ak?^O^t#c9Crf_`9dATUBs>Z+CL2ML z58=W!-1i)hITzg>g_9qQYAQRMG}Stkna}qmUj}NUte_wV z>)^9{jz$J{v*DJ0!EM_6{1e+)o#-L?(W4{Gw1qUE`e3-g67w9zLes7Bp?l1~JT}xT zTH_dR5%5b7#F3tlG8{{gH836es9ef=))pnuGt+kRy+vnvlgkf%#{{6l*t_!{kmtpY zQv^h5{ojTL43btbE{R6)TUbPO&vs=~9DV%CBRFP465~|WpYrrIN^fGFSsFf)j8!v} zd)BB?*}5gFiTj}O2@)ld>E_yAHR3q=s>3F=yta-+b#6Ghu0|NuU#FWw5#F=w; z=s}*k#gJha|H8>h7y8XvoA}o&98bF|4MuoHi~+)x{P0bQ=gQ){eSVSl9wz8lH3dIk zq4?c0F`5i4pZU}>AHK3W_x7fyTX!?>ekOWnHTtEZa+={j3(Ul&p|`t--PD{IHx+}5 zs(nRMWzPyI9+iOzNU1|%G3eYBX&6!Pp@a^aDpAt0$0p%)LIm%MXQqvx^^HgGUWAG( zb?`N;azcrD9sGW?MU|T5N&{tJjZ|-|Gq^;UDfBA)?W3z@H+Mmh8!I0osHBXbF^g5z zu)oFJnYP#VsQtuNvLnoxqpY@zE(=^!lm1H2Iw~avFWVBq%SqB-h{2UaCFU>#O109H zky9kSi<7;U#=To-|G%2vUrGe3Gihb`s(g9HWIH~OFY_Q*OzF!2hoaP%? z-zS-rUUn5-|FkcCBxrdpKMV;+)(TnfJd$~T{HN@Z8`wbvi^_q4ZNY^zmU03RF^tgOncXru}Np-$BCLw8p#3}dPh>R^ zg+wEjrM#eZP@B^ZV~ZDH|K|mW@`%<$;7m$awEeg4jz+;|n| zcD-%?_MLW95w|GxGQ>xSNvY5+Uzs>@;x_7e+I4ML`syh)lvhYdBC2L%$dm5tsM5}m zNSH^@$(PsGpVz3Zoxx(kSBUx`W9FMeJ}HZPi)-)ZI|+MCULY5EAV!xAOU^sp`8RjA B?gjt= literal 115211 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 From d6e2fb562b9fcdb1b49e4d9be3465a7de22f6472 Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Fri, 12 Apr 2024 15:10:17 +0100 Subject: [PATCH 31/36] Update `AddonTestCase` import in upgrade guide --- content/collections/docs/4-to-5.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/collections/docs/4-to-5.md b/content/collections/docs/4-to-5.md index 8f6728fd8..235b2266c 100644 --- a/content/collections/docs/4-to-5.md +++ b/content/collections/docs/4-to-5.md @@ -296,7 +296,7 @@ You should be able to extend the new `AddonTestCase` and specify your service pr ```php use Orchestra\Testbench\TestCase as OrchestraTestCase; // [tl! --] -use Statamic\Extend\AddonTestCase; // [tl! ++] +use Statamic\Testing\AddonTestCase; // [tl! ++] abstract class TestCase extends OrchestraTestCase // [tl! --] abstract class TestCase extends AddonTestCase // [tl! ++] From 0f96ca201fd69a7a150acff6acb4c4559de33fb8 Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Mon, 15 Apr 2024 16:12:07 +0100 Subject: [PATCH 32/36] Add "Testing in Addons" page to Extending docs (#1323) --- content/collections/extending-docs/addons.md | 66 +------- .../extending-docs/testing-in-addons.md | 153 ++++++++++++++++++ content/trees/navigation/extending_docs.yaml | 7 +- 3 files changed, 164 insertions(+), 62 deletions(-) create mode 100644 content/collections/extending-docs/testing-in-addons.md diff --git a/content/collections/extending-docs/addons.md b/content/collections/extending-docs/addons.md index 244ee6bd5..e8b0d21c1 100644 --- a/content/collections/extending-docs/addons.md +++ b/content/collections/extending-docs/addons.md @@ -1,13 +1,13 @@ --- +id: 5bd75435-806e-458b-872e-7528f24df7e6 +blueprint: page title: Addons template: page updated_by: 42bb2659-2277-44da-a5ea-2f1eed146402 updated_at: 1569264134 -intro: An addon is a composer package you intend to reuse, distribute, or sell. For simple or private packages, consider implementing directly into your Laravel application. +intro: 'An addon is a composer package you intend to reuse, distribute, or sell. For simple or private packages, consider implementing directly into your Laravel application.' stage: 1 -id: 5bd75435-806e-458b-872e-7528f24df7e6 --- - ## Creating an Addon You can generate an addon with a console command: @@ -544,63 +544,9 @@ That's it! Statamic should now automatically run your update script as your user ## Testing -When you create an addon with the `make:addon` command, Statamic will automatically scaffold the necessary files for a PHPUnit test suite. - -``` files theme:serendipity-light -tests/ - ExampleTest.php - TestCase.php -phpunit.xml -``` - -The `TestCase` class extends Statamic's built-in `AddonTestCase` which is responsible for booting your addon's service provider, amongst other things. Under the hood, your addon's tests use [Orchestra Testbench](https://github.com/orchestral/testbench) which provides a layer allowing you to write tests against a *real* Laravel application. - -### Writing Tests - -All of your tests should extend your addon's `TestCase` class, like so: - -```php -assertTrue(true); - } -} -``` - -For more information on writing tests, please review the [Laravel Testing Documentation](https://laravel.com/docs/10.x/testing). - -### Running Tests - -Once you've written some tests, you can run them using `phpunit`: - -```bash -./vendor/bin/phpunit -``` - -You may run a specific test by passing the `--filter` argument: - -```bash -# Runs all tests in the CheckoutTest -./vendor/bin/phpunit --filter=CheckoutTest - -# Runs the specific user_cant_checkout_without_payment test -./vendor/bin/phpunit --filter=user_cant_checkout_without_payment - -# Runs all tests with checkout in their name. -./vendor/bin/phpunit --filter=checkout -``` +Statamic automatically scaffolds a PHPUnit test suite when you generate an addon with `php please make:addon`. +To learn more about writing addon tests, please review our [Testing in Addons](/extending/testing-in-addons) guide. ## Publishing to the Marketplace @@ -643,4 +589,4 @@ An example use case is a custom fieldtype maintained by a third party vendor. Ev :::tip An example use case is a frontend theme with sample content. This is the kind of thing you would install into your app once and modify to fit your own style. You would essentially own and maintain the installed files yourself. -::: +::: \ No newline at end of file diff --git a/content/collections/extending-docs/testing-in-addons.md b/content/collections/extending-docs/testing-in-addons.md new file mode 100644 index 000000000..eb1caf49a --- /dev/null +++ b/content/collections/extending-docs/testing-in-addons.md @@ -0,0 +1,153 @@ +--- +id: 15db07e8-6e83-4b6e-89bb-d050b5d2c823 +blueprint: page +title: 'Testing in Addons' +template: page +nav_title: Testing +intro: "There's only one thing better than manual testing... automated testing. Addons are scaffolded with PHPUnit test suites out-of-the-box. Learn how to write & run tests." +--- +When you create an addon with the `php please make:addon` command, Statamic will automatically scaffold the necessary files for a PHPUnit test suite: + +``` files theme:serendipity-light +tests/ + ExampleTest.php + TestCase.php +phpunit.xml +``` + +## The `TestCase` + +The `TestCase` class extends Statamic's built-in `AddonTestCase` which is responsible for booting your addon's service provider, amongst other things. + +Under the hood, Statamic's `AddonTestCase` extends [Orchestra Testbench](https://github.com/orchestral/testbench)'s `TestCase` class. Testbench allows you to test against a *real* Laravel application. + +If you need to change any config settings for your test suite, like enabling Statamic Pro or configuring the REST API, add a `resolveApplicationConfiguration` method to your `TestCase`: + +```php +protected function resolveApplicationConfiguration($app) +{ + parent::resolveApplicationConfiguration($app); + + $app['config']->set('statamic.editions.pro', true); + + $app['config']->set('statamic.api.resources', [ + 'collections' => true, + 'navs' => true, + 'taxonomies' => true, + 'assets' => true, + 'globals' => true, + 'forms' => true, + 'users' => true, + ]); +} +``` + + +## Writing Tests + +All of your tests should extend your addon's `TestCase` class, like so: + +```php +assertTrue(true); + } +} +``` + +For more information on writing tests, please review the [Laravel Testing Documentation](https://laravel.com/docs/10.x/testing). + +### The Stache + +During tests, any Stache items (like entries, terms, global sets) will be saved inside your `tests/__fixtures__` directory. + +However, most of the time, you'll probably want to blow away old content between test runs. To do this, you may add the `PreventsSavingStacheItemsToDisk` trait to your tests: + +```php +use Statamic\Testing\Concerns\PreventsSavingStacheItemsToDisk; // [tl! focus] + +class ExampleTest extends TestCase +{ + use PreventsSavingStacheItemsToDisk; // [tl! focus] + + // ... +} +``` + +## Running Tests + +Once you've written some tests, you can run them using `phpunit`: + +```bash +./vendor/bin/phpunit +``` + +You may run a specific test by passing the `--filter` argument: + +```bash +# Runs all tests in the CheckoutTest +./vendor/bin/phpunit --filter=CheckoutTest + +# Runs the specific user_cant_checkout_without_payment test +./vendor/bin/phpunit --filter=user_cant_checkout_without_payment + +# Runs all tests with checkout in their name. +./vendor/bin/phpunit --filter=checkout +``` + +### GitHub Actions + +When you're using GitHub to store your addon's source code, you can take advantage of GitHub Actions so your addon's tests are run whenever you push to your repository or whenever a pull request is submitted. + +Running tests on GitHub Actions (or any CI platform for that matter) saves you running the tests locally after every change and also means you can run your addon's tests against multiple PHP & Laravel versions. + +For ease of use, here's an example GitHub Actions workflow: + +```yaml +name: Test Suite + +on: + push: + pull_request: + +jobs: + php_tests: + strategy: + matrix: + php: [8.2, 8.3] + laravel: [10.*, 11.*] + os: [ubuntu-latest] + + name: ${{ matrix.php }} - ${{ matrix.laravel }} + + runs-on: ${{ matrix.os }} + + steps: + - name: Checkout code + uses: actions/checkout@v1 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick + + - name: Install dependencies + run: | + composer require "laravel/framework:${{ matrix.laravel }}" --no-interaction --no-update + composer install --no-interaction + + - name: Run PHPUnit + run: vendor/bin/phpunit +``` \ No newline at end of file diff --git a/content/trees/navigation/extending_docs.yaml b/content/trees/navigation/extending_docs.yaml index 2ab9a43b8..fa518d8c8 100644 --- a/content/trees/navigation/extending_docs.yaml +++ b/content/trees/navigation/extending_docs.yaml @@ -39,7 +39,7 @@ tree: entry: 785ffa10-8b63-44b1-9da3-3837250cacbe - id: 0cdd7170-92ad-11ed-b05e-0800200c9a66 - url: /preferences#adding-fields + url: '/preferences#adding-fields' title: Preferences - id: 9e649d17-d0b2-48a9-abf4-534c38c0c7ce @@ -98,7 +98,7 @@ tree: entry: e2577828-504b-490b-a8b6-10991ae8a0b6 - id: 37a82f80-92ad-11ed-b05e-0800200c9a66 - url: /preferences#using-javascript + url: '/preferences#using-javascript' title: Preferences - id: a6b12519-6352-452b-9daf-b7dd76880fb2 @@ -146,3 +146,6 @@ tree: id: a7f60530-f033-11ed-afc5-0800200c9a66 entry: 5f26a634-19ae-4413-8b9e-1ed9c2c76bb0 title: Vite + - + id: c08f0634-c324-4320-a698-e5098eaaf6a1 + entry: 15db07e8-6e83-4b6e-89bb-d050b5d2c823 From cd068ede4610baf86f26ff6a41d25f1938c4aec7 Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Mon, 15 Apr 2024 16:31:25 +0100 Subject: [PATCH 33/36] Add note to upgrade guide about the new `please` file This will be mostly useful for those upgrading to Laravel 11 using Shift. --- content/collections/docs/4-to-5.md | 48 ++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/content/collections/docs/4-to-5.md b/content/collections/docs/4-to-5.md index 235b2266c..30a34cb7f 100644 --- a/content/collections/docs/4-to-5.md +++ b/content/collections/docs/4-to-5.md @@ -113,12 +113,12 @@ class Example { array_get($arr, $key); // [tl! --,**] Arr::get($arr, $key); // [tl! ++,**] - + str_start($str, $prefix); // [tl! --,**] Str::start($str, $prefix); // [tl! ++,**] - + ends_with($str, $needle); // [tl! --,**] - Str::endsWith($str, $needle); // [tl! ++,**] + Str::endsWith($str, $needle); // [tl! ++,**] } } ``` @@ -132,7 +132,7 @@ composer require laravel/helpers ### Statamic will now use your app's default pagination view **Affects apps using the `auto_links` pagination variable in templates.** -Previously, Statamic used the `pagination::default` view to rendering pagination links. In Statamic 5, it will use your app's default pagination view, typically `pagination::tailwind`. +Previously, Statamic used the `pagination::default` view to rendering pagination links. In Statamic 5, it will use your app's default pagination view, typically `pagination::tailwind`. To avoid making code changes, you may wish to change the default view back to `pagination::default`: @@ -147,6 +147,36 @@ public function boot(): void } ``` +### Updated `please` file for Laravel 11 +**Affects apps upgrading to Laravel 11 and the new application skeleton (including all upgrades via Laravel Shift).** + +Previously, our `please` command line utility assumed an `app/Console/Kernel.php` file existed in your application. However, with the introduction of Laravel 11, this file is no longer included with the new application structure. + +When upgrading apps to Laravel 11 with the new application skeleton, you'll need to update the `please` file in your app's root directory: + +```php +#!/usr/bin/env php +handleCommand(new ArgvInput); + +exit($status); +``` + ## Low impact changes ### Regex Antlers Parser has been removed @@ -171,7 +201,7 @@ We have updated our custom validation rules to use the more modern Laravel synta validate: - 'unique_entry_value:{collection},{id},{site}' #[tl!--] - 'new \Statamic\Rules\UniqueEntryValue({collection},{id},{site})' #[tl!++] - + - 'unique_term_value:{taxonomy},{id},{site}' #[tl!--] - 'new \Statamic\Rules\UniqueTermValue({taxonomy},{id},{site})' #[tl!++] @@ -215,7 +245,7 @@ In Statamic 5, this is fixed, but if you were relying on this incorrect behavior ### The `svg` tag sanitizes by default **Affects apps that use the `svg` tag.** -The `{{ svg }}` will now sanitize the output by default. This meant things like JavaScript or other valid but potentially insecure elements will be filtered out. +The `{{ svg }}` will now sanitize the output by default. This meant things like JavaScript or other valid but potentially insecure elements will be filtered out. For most people this won't be a problem but if you rely on this advanced SVG features, you may want to disable it. @@ -229,7 +259,7 @@ For most people this won't be a problem but if you rely on this advanced SVG fea ### Bard JS value is now an object **Affects apps or addons that are manually targeting Bard's value in JS** -Previously, to prevent issues with how Laravel would trim whitespace on submitted strings, Bard's value would be a JSON stringified version of an object. In Statamic 5, it will just be the object. +Previously, to prevent issues with how Laravel would trim whitespace on submitted strings, Bard's value would be a JSON stringified version of an object. In Statamic 5, it will just be the object. ```js let bardValue = JSON.parse(getBardValue()); // [tl! --] @@ -302,7 +332,7 @@ abstract class TestCase extends OrchestraTestCase // [tl! --] abstract class TestCase extends AddonTestCase // [tl! ++] { protected string $addonServiceProvider = YourServiceProvider::class; // [tl! ++] - + protected function getPackageProviders($app) // [tl! --:start] { return [ @@ -311,7 +341,7 @@ abstract class TestCase extends AddonTestCase // [tl! ++] YourServiceProvider::class, ]; } - + // etc... [tl! --:end] } ``` From 851437530f79273f1a022d9598f645b97484f8e6 Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Mon, 15 Apr 2024 16:36:44 +0100 Subject: [PATCH 34/36] Add note to the upgrade guide about the Laravel Shift discount --- content/collections/docs/4-to-5.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/content/collections/docs/4-to-5.md b/content/collections/docs/4-to-5.md index 30a34cb7f..29db1c1cd 100644 --- a/content/collections/docs/4-to-5.md +++ b/content/collections/docs/4-to-5.md @@ -34,6 +34,10 @@ composer update statamic/cms --with-dependencies We highly recommend upgrading all the way to Laravel 11 and PHP 8.3. +:::tip +If you want to (semi-)automate the Laravel upgrade process, we recommend using [Laravel Shift](https://laravelshift.com/discounts/statamic-1983) (use that link for a special 19.83% discount 🤘). +::: + ### Site configuration changes **Affects everyone.** From f99671fa9ed73d3d08756a364be1022d0145259f Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Mon, 15 Apr 2024 21:21:01 +0100 Subject: [PATCH 35/36] Document new methods on "Entry Repository" page --- .../repositories/entry-repository.md | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/content/collections/repositories/entry-repository.md b/content/collections/repositories/entry-repository.md index 4b551c33b..013e2b75e 100644 --- a/content/collections/repositories/entry-repository.md +++ b/content/collections/repositories/entry-repository.md @@ -23,6 +23,11 @@ use Statamic\Facades\Entry; | `find($id)` | Get Entry by `id` | | `findByUri($uri, $site)` | Get Entry by `uri`, optionally in a site | | `findOrFail($id)` | Get Entry by `id`. Throws an `EntryNotFoundException` when entry can not be found. | +| `findOrNew($id)` | Finds Entry by `id` or returns fresh `Entry` instance. | +| `findOr($id, $callback)` | Finds Entry by `id` or call a callback. | +| `firstOrNew($attributes, $values)` | Finds entry with the provided `$attributes`. If one can't be found, a new `Entry` instance will be returned with `$values`. | +| `firstOrCreate($attributes, $values)` | Finds entry with the provided `$attributes`. If one can't be found, a new `Entry` instance will be returned and saved with `$values`. | +| `updateOrCreate($attributes, $values)` | Finds entry with the provided `$attributes` and updates it using provided `$values`. If one can't be found, a new `Entry` instance will be returned and saved. | | `query()` | Query Builder | | `whereCollection($handle)` | Get all Entries in a `Collection` | | `whereInCollection([$handles])` | Get all Entries in an array of `Collections` | @@ -182,6 +187,31 @@ Entry::query() ``` ::: +### Find entry or call a callback + +```php +Entry::query() + ->where('collection', 'news') + ->findOr('my-entry', function () { + return Entry::make()->collection('news')->set('title', 'Breaking news'); + ); +``` + +This can also be simplified to `Entry::findOr('my-entry', ...)`. + +### Find entry or create an entry + +```php +Entry::query() + ->where('collection', 'news') + ->firstOrCreate( + ['slug' => 'breaking-news'], + ['title' => 'Breaking News'] + ); +``` + +This can also be simplified to `Entry::firstOrCreate($attributes, $values)` + ## Creating Start by making an instance of an entry with the `make` method. From a7e6cbf90caa7ccccc959b9958a776fb3b7b196b Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Mon, 15 Apr 2024 21:23:23 +0100 Subject: [PATCH 36/36] Document new methods on "Term Repository" page --- .../repositories/term-repository.md | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/content/collections/repositories/term-repository.md b/content/collections/repositories/term-repository.md index 11dfdb579..739c84f41 100644 --- a/content/collections/repositories/term-repository.md +++ b/content/collections/repositories/term-repository.md @@ -23,6 +23,11 @@ use Statamic\Facades\Term; | `all()` | Get all Terms | | `find($id)` | Get Term by `id` | | `findByUri($uri)` | Get Term by `uri` | +| `findOrNew($id)` | Finds Term by `id` or returns fresh `Term` instance. | +| `findOr($id, $callback)` | Finds Term by `id` or call a callback. | +| `firstOrNew($attributes, $values)` | Finds term with the provided `$attributes`. If one can't be found, a new `Term` instance will be returned with `$values`. | +| `firstOrCreate($attributes, $values)` | Finds term with the provided `$attributes`. If one can't be found, a new `Term` instance will be returned and saved with `$values`. | +| `updateOrCreate($attributes, $values)` | Finds term with the provided `$attributes` and updates it using provided `$values`. If one can't be found, a new `Term` instance will be returned and saved. | | `query()` | Query Builder | | `make()` | Makes a new `Term` instance | @@ -76,6 +81,31 @@ Term::query() ->get(); ``` +### Find term or call a callback + +```php +Term::query() + ->where('taxonomy', 'tags') + ->findOr('my-term', function () { + return Term::make()->taxonomy('tags')->set('title', 'Blog'); + ); +``` + +This can also be simplified to `Term::findOr('my-term', ...)`. + +### Find entry or create an entry + +```php +Term::query() + ->where('taxonomy', 'tags') + ->firstOrCreate( + ['slug' => 'blog'], + ['title' => 'Blog'] + ); +``` + +This can also be simplified to `Term::firstOrCreate($attributes, $values)` + ## Creating