From aeb801b5c4f478281b38166cb74e13cadaa2c7ab Mon Sep 17 00:00:00 2001 From: nuhkoca Date: Wed, 1 Apr 2020 17:24:44 +0200 Subject: [PATCH] Initial commit --- .editorconfig | 20 + .github/CODEOWNERS | 16 + .github/ci-gradle.properties | 6 + .github/workflows/ci.yml | 139 ++++ .gitignore | 9 + .lint/lint.xml | 12 + README.md | 196 +++++ app/.gitignore | 1 + app/build.gradle.kts | 160 ++++ app/proguard-rules.pro | 89 ++ .../nuhkoca/libbra/ui/MainActivityRobot.kt | 33 + .../nuhkoca/libbra/ui/MainActivityTest.kt | 57 ++ .../libbra/util/DataBindingIdlingResource.kt | 111 +++ app/src/main/AndroidManifest.xml | 33 + app/src/main/ic_launcher-playstore.png | Bin 0 -> 23232 bytes .../nuhkoca/libbra/LibbraApplication.kt | 51 ++ .../binding/adapters/ImageBindingAdapter.kt | 79 ++ .../binding/adapters/TextBindingAdapter.kt | 41 + .../libbra/binding/di/BindingComponent.kt | 35 + .../libbra/binding/di/BindingModule.kt | 60 ++ .../io/github/nuhkoca/libbra/data/Result.kt | 78 ++ .../datasource/CurrencyRemoteDataSource.kt | 60 ++ .../libbra/data/datasource/DataSource.kt | 37 + .../github/nuhkoca/libbra/data/enums/Rate.kt | 193 +++++ .../libbra/data/failure/ErrorResponse.kt | 28 + .../nuhkoca/libbra/data/failure/Failure.kt | 68 ++ .../data/mapper/CurrencyDomainMapper.kt | 54 ++ .../data/model/domain/CurrencyResponse.kt | 27 + .../nuhkoca/libbra/data/model/domain/Rate.kt | 29 + .../data/model/raw/CurrencyResponseRaw.kt | 35 + .../model/view/CurrencyResponseViewItem.kt | 27 + .../libbra/data/model/view/RateViewItem.kt | 36 + .../libbra/data/serializers/RateSerializer.kt | 72 ++ .../libbra/data/service/CurrencyService.kt | 41 + .../data/verifier/RevolutHostnameVerifier.kt | 48 ++ .../github/nuhkoca/libbra/di/AppComponent.kt | 58 ++ .../io/github/nuhkoca/libbra/di/AppModule.kt | 146 ++++ .../di/factory/LibbraFragmentFactory.kt | 64 ++ .../libbra/di/factory/ViewModelFactory.kt | 72 ++ .../domain/mapper/CurrencyViewItemMapper.kt | 81 ++ .../domain/repository/CurrencyRepository.kt | 48 ++ .../libbra/domain/repository/Repository.kt | 38 + .../libbra/domain/usecase/CurrencyUseCase.kt | 56 ++ .../nuhkoca/libbra/domain/usecase/UseCase.kt | 50 ++ .../github/nuhkoca/libbra/ui/MainActivity.kt | 50 ++ .../nuhkoca/libbra/ui/NavHostFragment.kt | 41 + .../libbra/ui/currency/CurrencyAdapter.kt | 92 +++ .../libbra/ui/currency/CurrencyFragment.kt | 82 ++ .../libbra/ui/currency/CurrencyViewModel.kt | 99 +++ .../nuhkoca/libbra/ui/di/MainComponent.kt | 31 + .../github/nuhkoca/libbra/ui/di/MainModule.kt | 64 ++ .../libbra/util/coroutines/AsyncManager.kt | 40 + .../util/coroutines/DefaultAsyncManager.kt | 63 ++ .../coroutines/DefaultDispatcherProvider.kt | 55 ++ .../util/coroutines/DispatcherProvider.kt | 47 ++ .../delegates/ActivityViewBindingDelegate.kt | 65 ++ .../delegates/FragmentViewBindingDelegate.kt | 73 ++ .../delegates/LifecycleAwareTouchListener.kt | 63 ++ .../delegates/ViewHolderBindingDelegate.kt | 45 ++ .../libbra/util/event/SingleLiveEvent.kt | 66 ++ .../nuhkoca/libbra/util/ext/Activity.kt | 34 + .../nuhkoca/libbra/util/ext/Delegates.kt | 53 ++ .../nuhkoca/libbra/util/ext/Fragment.kt | 32 + .../nuhkoca/libbra/util/ext/Interceptors.kt | 93 +++ .../nuhkoca/libbra/util/ext/RecyclerView.kt | 31 + .../nuhkoca/libbra/util/ext/Snackbar.kt | 70 ++ .../github/nuhkoca/libbra/util/ext/Timber.kt | 59 ++ .../io/github/nuhkoca/libbra/util/ext/View.kt | 26 + .../nuhkoca/libbra/util/mapper/Mapper.kt | 32 + .../util/recyclerview/BaseViewHolder.kt | 45 ++ .../recyclerview/DefaultItemTouchListener.kt | 38 + .../libbra/util/widget/CurrencyEditText.kt | 101 +++ .../res/anim/item_animation_fall_down.xml | 22 + .../res/anim/layout_animation_fall_down.xml | 5 + .../res/color/currency_edit_text_selector.xml | 5 + .../drawable-v24/ic_launcher_foreground.xml | 59 ++ app/src/main/res/drawable/ic_aud.xml | 65 ++ app/src/main/res/drawable/ic_bgn.xml | 9 + app/src/main/res/drawable/ic_brl.xml | 144 ++++ app/src/main/res/drawable/ic_cad.xml | 13 + app/src/main/res/drawable/ic_chf.xml | 12 + app/src/main/res/drawable/ic_cny.xml | 24 + app/src/main/res/drawable/ic_czk.xml | 12 + app/src/main/res/drawable/ic_dkk.xml | 12 + app/src/main/res/drawable/ic_eur.xml | 41 + app/src/main/res/drawable/ic_gbp.xml | 44 + app/src/main/res/drawable/ic_hkd.xml | 57 ++ app/src/main/res/drawable/ic_hrk.xml | 287 +++++++ app/src/main/res/drawable/ic_huf.xml | 12 + app/src/main/res/drawable/ic_idr.xml | 10 + app/src/main/res/drawable/ic_ils.xml | 21 + app/src/main/res/drawable/ic_inr.xml | 31 + app/src/main/res/drawable/ic_isk.xml | 16 + app/src/main/res/drawable/ic_jpy.xml | 11 + app/src/main/res/drawable/ic_krw.xml | 25 + .../res/drawable/ic_launcher_foreground.xml | 59 ++ app/src/main/res/drawable/ic_mxn.xml | 759 ++++++++++++++++++ app/src/main/res/drawable/ic_myr.xml | 53 ++ app/src/main/res/drawable/ic_nok.xml | 15 + app/src/main/res/drawable/ic_nzd.xml | 71 ++ app/src/main/res/drawable/ic_php.xml | 34 + app/src/main/res/drawable/ic_pln.xml | 18 + app/src/main/res/drawable/ic_ron.xml | 9 + app/src/main/res/drawable/ic_rub.xml | 12 + app/src/main/res/drawable/ic_sek.xml | 12 + app/src/main/res/drawable/ic_sgd.xml | 26 + app/src/main/res/drawable/ic_thb.xml | 15 + app/src/main/res/drawable/ic_unknown.xml | 51 ++ app/src/main/res/drawable/ic_usd.xml | 183 +++++ app/src/main/res/drawable/ic_zar.xml | 30 + app/src/main/res/font/montserrat.xml | 6 + app/src/main/res/font/montserrat_bold.xml | 6 + app/src/main/res/layout/activity_main.xml | 28 + app/src/main/res/layout/fragment_currency.xml | 40 + .../main/res/layout/layout_currency_item.xml | 96 +++ .../main/res/layout/layout_custom_toolbar.xml | 13 + app/src/main/res/layout/layout_error_view.xml | 35 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2226 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 4175 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1508 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2633 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 3172 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 6035 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 4861 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 9395 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 6841 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 13402 bytes .../main/res/navigation/nav_graph_main.xml | 13 + app/src/main/res/raw/empty.json | 1 + app/src/main/res/values-night/colors.xml | 5 + app/src/main/res/values-night/styles.xml | 6 + app/src/main/res/values/colors.xml | 10 + app/src/main/res/values/dimens.xml | 16 + app/src/main/res/values/font_certs.xml | 17 + .../res/values/ic_launcher_background.xml | 4 + app/src/main/res/values/preloaded_fonts.xml | 7 + app/src/main/res/values/strings.xml | 6 + app/src/main/res/values/styles.xml | 45 ++ .../io/github/nuhkoca/libbra/UnitTestSuite.kt | 47 ++ .../CurrencyRemoteDataSourceTest.kt | 134 ++++ .../nuhkoca/libbra/data/enums/RateTest.kt | 41 + .../data/mapper/CurrencyDomainMapperTest.kt | 84 ++ .../data/serializers/RateSerializerTest.kt | 86 ++ .../data/service/CurrencyServiceTest.kt | 163 ++++ .../verifier/RevolutHostnameVerifierTest.kt | 63 ++ .../mapper/CurrencyViewItemMapperTest.kt | 107 +++ .../repository/CurrencyRepositoryTest.kt | 112 +++ .../domain/usecase/CurrencyUseCaseTest.kt | 109 +++ .../nuhkoca/libbra/shared/MockConstants.kt | 21 + .../libbra/shared/assertion/FlowAssert.kt | 155 ++++ .../libbra/shared/base/BaseTestClass.kt | 47 ++ .../shared/dispatcher/ErrorDispatcher.kt | 37 + .../shared/dispatcher/SuccessDispatcher.kt | 52 ++ .../shared/dispatcher/TimeoutDispatcher.kt | 43 + .../nuhkoca/libbra/shared/ext/FileExt.kt | 31 + .../nuhkoca/libbra/shared/ext/TestRuleExt.kt | 31 + .../libbra/shared/reader/AssetReader.kt | 48 ++ .../libbra/shared/rule/CoroutinesTestRule.kt | 67 ++ .../ui/currency/CurrencyViewModelTest.kt | 170 ++++ .../coroutines/DefaultAsyncManagerTest.kt | 113 +++ .../DefaultDispatcherProviderTest.kt | 69 ++ .../response/currency_success_response.json | 36 + art/dark_mode.jpg | Bin 0 -> 301616 bytes art/design_pattern.png | Bin 0 -> 48526 bytes art/light_mode.jpg | Bin 0 -> 297584 bytes art/preview.png | Bin 0 -> 568227 bytes build.gradle.kts | 53 ++ buildSrc/.gitignore | 2 + buildSrc/build.gradle.kts | 54 ++ buildSrc/settings.gradle.kts | 22 + buildSrc/src/main/kotlin/BuildTypes.kt | 95 +++ buildSrc/src/main/kotlin/Config.kt | 28 + buildSrc/src/main/kotlin/Modules.kt | 18 + buildSrc/src/main/kotlin/Plugins.kt | 26 + buildSrc/src/main/kotlin/SigningConfigs.kt | 71 ++ buildSrc/src/main/kotlin/SourceSets.kt | 104 +++ buildSrc/src/main/kotlin/Versions.kt | 66 ++ .../kotlin/common/CommonDependencyHandler.kt | 102 +++ .../main/kotlin/dependencies/Dependencies.kt | 126 +++ .../src/main/kotlin/extensions/LintOptions.kt | 31 + .../main/kotlin/extensions/ProjectHandler.kt | 157 ++++ .../kotlin/extensions/RepositoryHandler.kt | 29 + .../src/main/kotlin/extensions/TestOptions.kt | 28 + .../src/main/kotlin/plugins/BuildPlugins.kt | 27 + .../src/main/kotlin/plugins/detekt.gradle.kts | 54 ++ .../main/kotlin/plugins/git-hooks.gradle.kts | 55 ++ .../src/main/kotlin/plugins/ktlint.gradle.kts | 48 ++ .../main/kotlin/plugins/spotless.gradle.kts | 111 +++ .../plugins/update-dependencies.gradle.kts | 42 + buildSrc/src/main/kotlin/tasks/BuildTasks.kt | 23 + .../main/kotlin/tasks/common-tasks.gradle.kts | 72 ++ .../src/main/kotlin/utils/DependencyUtils.kt | 34 + .../src/main/kotlin/utils/PropertyUtils.kt | 50 ++ buildSrc/src/main/kotlin/utils/StringUtils.kt | 57 ++ buildSrc/src/main/kotlin/utils/SystemUtils.kt | 48 ++ default-detekt-config.yml | 613 ++++++++++++++ gradle.properties | 42 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54329 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 172 ++++ gradlew.bat | 84 ++ keystore.properties | 4 + keystore/release.jks | Bin 0 -> 2187 bytes rules/.gitignore | 1 + rules/build.gradle.kts | 41 + .../io/github/nuhkoca/rules/IssueRegistry.kt | 29 + .../github/nuhkoca/rules/TimberLogDetector.kt | 84 ++ ...ndroid.tools.lint.client.api.IssueRegistry | 1 + .../kotlin/io/github/nuhkoca/rules/Stubs.kt | 52 ++ .../nuhkoca/rules/TimberLogDetectorTest.kt | 91 +++ .../io/github/nuhkoca/rules/UnitTestSuite.kt | 28 + scripts/git-hooks/pre-commit.sh | 23 + settings.gradle.kts | 31 + spotless/copyright.java | 15 + spotless/copyright.kt | 15 + versions.gradle.kts | 24 + 218 files changed, 11687 insertions(+) create mode 100644 .editorconfig create mode 100644 .github/CODEOWNERS create mode 100644 .github/ci-gradle.properties create mode 100644 .github/workflows/ci.yml create mode 100644 .gitignore create mode 100644 .lint/lint.xml create mode 100644 README.md create mode 100644 app/.gitignore create mode 100644 app/build.gradle.kts create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/kotlin/io/github/nuhkoca/libbra/ui/MainActivityRobot.kt create mode 100644 app/src/androidTest/kotlin/io/github/nuhkoca/libbra/ui/MainActivityTest.kt create mode 100644 app/src/androidTest/kotlin/io/github/nuhkoca/libbra/util/DataBindingIdlingResource.kt create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/ic_launcher-playstore.png create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/LibbraApplication.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/binding/adapters/ImageBindingAdapter.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/binding/adapters/TextBindingAdapter.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/binding/di/BindingComponent.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/binding/di/BindingModule.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/data/Result.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/data/datasource/CurrencyRemoteDataSource.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/data/datasource/DataSource.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/data/enums/Rate.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/data/failure/ErrorResponse.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/data/failure/Failure.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/data/mapper/CurrencyDomainMapper.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/domain/CurrencyResponse.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/domain/Rate.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/raw/CurrencyResponseRaw.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/view/CurrencyResponseViewItem.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/view/RateViewItem.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/data/serializers/RateSerializer.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/data/service/CurrencyService.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/data/verifier/RevolutHostnameVerifier.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/di/AppComponent.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/di/AppModule.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/di/factory/LibbraFragmentFactory.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/di/factory/ViewModelFactory.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/domain/mapper/CurrencyViewItemMapper.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/domain/repository/CurrencyRepository.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/domain/repository/Repository.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/domain/usecase/CurrencyUseCase.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/domain/usecase/UseCase.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/ui/MainActivity.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/ui/NavHostFragment.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/ui/currency/CurrencyAdapter.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/ui/currency/CurrencyFragment.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/ui/currency/CurrencyViewModel.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/ui/di/MainComponent.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/ui/di/MainModule.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/coroutines/AsyncManager.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/coroutines/DefaultAsyncManager.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/coroutines/DefaultDispatcherProvider.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/coroutines/DispatcherProvider.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/delegates/ActivityViewBindingDelegate.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/delegates/FragmentViewBindingDelegate.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/delegates/LifecycleAwareTouchListener.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/delegates/ViewHolderBindingDelegate.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/event/SingleLiveEvent.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Activity.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Delegates.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Fragment.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Interceptors.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/RecyclerView.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Snackbar.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Timber.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/View.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/mapper/Mapper.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/recyclerview/BaseViewHolder.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/recyclerview/DefaultItemTouchListener.kt create mode 100644 app/src/main/kotlin/io/github/nuhkoca/libbra/util/widget/CurrencyEditText.kt create mode 100644 app/src/main/res/anim/item_animation_fall_down.xml create mode 100644 app/src/main/res/anim/layout_animation_fall_down.xml create mode 100644 app/src/main/res/color/currency_edit_text_selector.xml create mode 100644 app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable/ic_aud.xml create mode 100644 app/src/main/res/drawable/ic_bgn.xml create mode 100644 app/src/main/res/drawable/ic_brl.xml create mode 100644 app/src/main/res/drawable/ic_cad.xml create mode 100644 app/src/main/res/drawable/ic_chf.xml create mode 100644 app/src/main/res/drawable/ic_cny.xml create mode 100644 app/src/main/res/drawable/ic_czk.xml create mode 100644 app/src/main/res/drawable/ic_dkk.xml create mode 100644 app/src/main/res/drawable/ic_eur.xml create mode 100644 app/src/main/res/drawable/ic_gbp.xml create mode 100644 app/src/main/res/drawable/ic_hkd.xml create mode 100644 app/src/main/res/drawable/ic_hrk.xml create mode 100644 app/src/main/res/drawable/ic_huf.xml create mode 100644 app/src/main/res/drawable/ic_idr.xml create mode 100644 app/src/main/res/drawable/ic_ils.xml create mode 100644 app/src/main/res/drawable/ic_inr.xml create mode 100644 app/src/main/res/drawable/ic_isk.xml create mode 100644 app/src/main/res/drawable/ic_jpy.xml create mode 100644 app/src/main/res/drawable/ic_krw.xml create mode 100644 app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable/ic_mxn.xml create mode 100644 app/src/main/res/drawable/ic_myr.xml create mode 100644 app/src/main/res/drawable/ic_nok.xml create mode 100644 app/src/main/res/drawable/ic_nzd.xml create mode 100644 app/src/main/res/drawable/ic_php.xml create mode 100644 app/src/main/res/drawable/ic_pln.xml create mode 100644 app/src/main/res/drawable/ic_ron.xml create mode 100644 app/src/main/res/drawable/ic_rub.xml create mode 100644 app/src/main/res/drawable/ic_sek.xml create mode 100644 app/src/main/res/drawable/ic_sgd.xml create mode 100644 app/src/main/res/drawable/ic_thb.xml create mode 100644 app/src/main/res/drawable/ic_unknown.xml create mode 100644 app/src/main/res/drawable/ic_usd.xml create mode 100644 app/src/main/res/drawable/ic_zar.xml create mode 100644 app/src/main/res/font/montserrat.xml create mode 100644 app/src/main/res/font/montserrat_bold.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/fragment_currency.xml create mode 100644 app/src/main/res/layout/layout_currency_item.xml create mode 100644 app/src/main/res/layout/layout_custom_toolbar.xml create mode 100644 app/src/main/res/layout/layout_error_view.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 app/src/main/res/navigation/nav_graph_main.xml create mode 100644 app/src/main/res/raw/empty.json create mode 100644 app/src/main/res/values-night/colors.xml create mode 100644 app/src/main/res/values-night/styles.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/dimens.xml create mode 100644 app/src/main/res/values/font_certs.xml create mode 100644 app/src/main/res/values/ic_launcher_background.xml create mode 100644 app/src/main/res/values/preloaded_fonts.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/styles.xml create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/UnitTestSuite.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/data/datasource/CurrencyRemoteDataSourceTest.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/data/enums/RateTest.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/data/mapper/CurrencyDomainMapperTest.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/data/serializers/RateSerializerTest.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/data/service/CurrencyServiceTest.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/data/verifier/RevolutHostnameVerifierTest.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/domain/mapper/CurrencyViewItemMapperTest.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/domain/repository/CurrencyRepositoryTest.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/domain/usecase/CurrencyUseCaseTest.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/shared/MockConstants.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/shared/assertion/FlowAssert.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/shared/base/BaseTestClass.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/shared/dispatcher/ErrorDispatcher.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/shared/dispatcher/SuccessDispatcher.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/shared/dispatcher/TimeoutDispatcher.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/shared/ext/FileExt.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/shared/ext/TestRuleExt.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/shared/reader/AssetReader.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/shared/rule/CoroutinesTestRule.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/ui/currency/CurrencyViewModelTest.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/util/coroutines/DefaultAsyncManagerTest.kt create mode 100644 app/src/test/kotlin/io/github/nuhkoca/libbra/util/coroutines/DefaultDispatcherProviderTest.kt create mode 100644 app/src/test/resources/response/currency_success_response.json create mode 100644 art/dark_mode.jpg create mode 100644 art/design_pattern.png create mode 100644 art/light_mode.jpg create mode 100644 art/preview.png create mode 100644 build.gradle.kts create mode 100644 buildSrc/.gitignore create mode 100644 buildSrc/build.gradle.kts create mode 100644 buildSrc/settings.gradle.kts create mode 100644 buildSrc/src/main/kotlin/BuildTypes.kt create mode 100644 buildSrc/src/main/kotlin/Config.kt create mode 100644 buildSrc/src/main/kotlin/Modules.kt create mode 100644 buildSrc/src/main/kotlin/Plugins.kt create mode 100644 buildSrc/src/main/kotlin/SigningConfigs.kt create mode 100644 buildSrc/src/main/kotlin/SourceSets.kt create mode 100644 buildSrc/src/main/kotlin/Versions.kt create mode 100644 buildSrc/src/main/kotlin/common/CommonDependencyHandler.kt create mode 100644 buildSrc/src/main/kotlin/dependencies/Dependencies.kt create mode 100644 buildSrc/src/main/kotlin/extensions/LintOptions.kt create mode 100644 buildSrc/src/main/kotlin/extensions/ProjectHandler.kt create mode 100644 buildSrc/src/main/kotlin/extensions/RepositoryHandler.kt create mode 100644 buildSrc/src/main/kotlin/extensions/TestOptions.kt create mode 100644 buildSrc/src/main/kotlin/plugins/BuildPlugins.kt create mode 100644 buildSrc/src/main/kotlin/plugins/detekt.gradle.kts create mode 100644 buildSrc/src/main/kotlin/plugins/git-hooks.gradle.kts create mode 100644 buildSrc/src/main/kotlin/plugins/ktlint.gradle.kts create mode 100644 buildSrc/src/main/kotlin/plugins/spotless.gradle.kts create mode 100644 buildSrc/src/main/kotlin/plugins/update-dependencies.gradle.kts create mode 100644 buildSrc/src/main/kotlin/tasks/BuildTasks.kt create mode 100644 buildSrc/src/main/kotlin/tasks/common-tasks.gradle.kts create mode 100644 buildSrc/src/main/kotlin/utils/DependencyUtils.kt create mode 100644 buildSrc/src/main/kotlin/utils/PropertyUtils.kt create mode 100644 buildSrc/src/main/kotlin/utils/StringUtils.kt create mode 100644 buildSrc/src/main/kotlin/utils/SystemUtils.kt create mode 100644 default-detekt-config.yml create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 keystore.properties create mode 100644 keystore/release.jks create mode 100644 rules/.gitignore create mode 100644 rules/build.gradle.kts create mode 100644 rules/src/main/kotlin/io/github/nuhkoca/rules/IssueRegistry.kt create mode 100644 rules/src/main/kotlin/io/github/nuhkoca/rules/TimberLogDetector.kt create mode 100644 rules/src/main/resources/META-INF/services/com.android.tools.lint.client.api.IssueRegistry create mode 100644 rules/src/test/kotlin/io/github/nuhkoca/rules/Stubs.kt create mode 100644 rules/src/test/kotlin/io/github/nuhkoca/rules/TimberLogDetectorTest.kt create mode 100644 rules/src/test/kotlin/io/github/nuhkoca/rules/UnitTestSuite.kt create mode 100644 scripts/git-hooks/pre-commit.sh create mode 100644 settings.gradle.kts create mode 100644 spotless/copyright.java create mode 100644 spotless/copyright.kt create mode 100644 versions.gradle.kts diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..ada4297 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,20 @@ +# http://editorconfig.org +root = true + +# noinspection EditorConfigKeyCorrectness +[*.{kt, kts}] +indent_size = 4 +indent_style = space +continuation_indent_size = 4 +insert_final_newline = true +trim_trailing_whitespace = true +end_of_line = lf +charset = utf-8 +# Disabling rules that were added in the latest versions of ktlint +disabled_rules = import-ordering, experimental:indent + +[gradlew.bat] +end_of_line = crlf + +[*.md] +trim_trailing_whitespace = false diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..d6674ae --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,16 @@ +# Lines starting with '#' are comments. +# Each line is a file pattern followed by one or more owners. + +# More details are here: https://help.github.com/articles/about-codeowners/ + +# The '*' pattern is global owners. +# Not adding in this PR, but I'd like to try adding a global owner set with the entire team. +# One interpretation of their docs is that global owners are added only if not removed +# by a more local rule. + +# Order is important. The last matching pattern has the most precedence. +# The folders are ordered as follows: + +# In each subsection folders are ordered first by depth, then alphabetically. +# This should make it easy to add new rules without breaking existing ones. +* @nuhkoca \ No newline at end of file diff --git a/.github/ci-gradle.properties b/.github/ci-gradle.properties new file mode 100644 index 0000000..f7399d8 --- /dev/null +++ b/.github/ci-gradle.properties @@ -0,0 +1,6 @@ +org.gradle.daemon=false +org.gradle.parallel=true +org.gradle.jvmargs=-Xmx5120m +org.gradle.workers.max=2 +kotlin.incremental=false +kotlin.compiler.execution.strategy=in-process \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..2f761a3 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,139 @@ +name: Libbra + +on: + push: + branches: + - master + + pull_request: + branches: + - master + + types: [opened, synchronize] + +env: + CI: true + +jobs: + setup: + name: Setup + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + # Ensure .gradle/caches is empty before writing to it. + # This helps us stay within Github's cache size limits. + - name: Clean Cache + run: rm -rf ~/.gradle/caches + + - name: Install JDK 1.8 + uses: actions/setup-java@v1 + with: + java-version: 1.8 + + - name: Copy CI gradle.properties + run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties + + - name: Check Dependency Updates + run: ./gradlew dependencyUpdates -Drevision=release + + # Restore the cache. + # Intentionally don't set 'restore-keys' so the cache never contains redundant dependencies. + - uses: actions/cache@v1 + with: + path: ~/.gradle/caches + key: gradle-${{ runner.os }}-${{ hashFiles('**/build.gradle.kts') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }} }} + + check-style: + needs: setup + name: Check Style + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + # Restore the cache. + # Intentionally don't set 'restore-keys' so the cache never contains redundant dependencies. + - uses: actions/cache@v1 + with: + path: ~/.gradle/caches + key: gradle-${{ runner.os }}-${{ hashFiles('**/build.gradle.kts') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }} }} + + - name: Run Lint + run: ./gradlew lintDebug + + - name: Run Ktlint + run: ./gradlew ktlintCheck + + - name: Run Detekt + run: ./gradlew detekt + + - name: Run Spotless + run: ./gradlew spotlessCheck + + - name: Upload Reports + uses: actions/upload-artifact@v1 + if: failure() + with: + name: reports + path: app/build/reports + + build: + needs: check-style + name: Build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + # Restore the cache. + # Intentionally don't set 'restore-keys' so the cache never contains redundant dependencies. + - uses: actions/cache@v1 + with: + path: ~/.gradle/caches + key: gradle-${{ runner.os }}-${{ hashFiles('**/build.gradle.kts') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }} }} + + - name: Create Build Report + uses: eskatos/gradle-command-action@v1 + with: + arguments: assembleDebug --scan + failOnError: true + id: gradle + + - name: Upload Sample Artifacts + uses: actions/upload-artifact@v1 + if: always() + with: + name: apk + path: app/build/outputs/apk/ + + - name: Publish Build Report As Comment If Failure + uses: mshick/add-pr-comment@v1 + if: failure() + with: + message: Build failed ${{ steps.gradle.outputs.build-scan-url }} + repo-token: ${{ secrets.GITHUB_TOKEN }} + allow-repeats: false + + test: + needs: build + name: Unit Test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + # Restore the cache. + # Intentionally don't set 'restore-keys' so the cache never contains redundant dependencies. + - uses: actions/cache@v1 + with: + path: ~/.gradle/caches + key: gradle-${{ runner.os }}-${{ hashFiles('**/build.gradle.kts') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }} }} + + - name: Unit Tests + run: ./gradlew testDebugUnitTest :rules:test # lint tests requires this task + + - name: Instrumentation Test + uses: reactivecircus/android-emulator-runner@v2 + with: + api-level: 29 + arch: x86_64 + script: ./gradlew connectedDebugAndroidTest diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0f1d137 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +*.iml +.gradle +/local.properties +/.idea +.DS_Store +/build +/captures +.externalNativeBuild +.cxx diff --git a/.lint/lint.xml b/.lint/lint.xml new file mode 100644 index 0000000..df0cab5 --- /dev/null +++ b/.lint/lint.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..158c70c --- /dev/null +++ b/README.md @@ -0,0 +1,196 @@ +## Libbra +![GitHub Actions status](https://github.com/nuhkoca/revolut-task-libbra/workflows/Libbra/badge.svg) +[![CodeStyle](https://img.shields.io/badge/code%20style-%E2%9D%A4-FF4081.svg)](https://ktlint.github.io/) +[![Kotlin Version](https://img.shields.io/badge/kotlin-1.3.61-blue.svg)](http://kotlinlang.org/) +[![Gradle](https://lv.binarybabel.org/catalog-api/gradle/latest.svg)](https://lv.binarybabel.org/catalog/gradle/latest) +[![API](https://img.shields.io/badge/API-21%2B-blue.svg?style=flat)](https://android-arsenal.com/api?level=21) +[![License](https://img.shields.io/badge/License-Apache%202.0-lightgrey.svg)](http://www.apache.org/licenses/LICENSE-2.0) + +

Libbra Preview

+ +Libbra is a sample app that allows to track currency exchanges. This app presents modern approach to [Android](https://www.android.com/) application development using [Kotlin](https://kotlinlang.org/) and latest tech-stack. + +This project is a hiring task by [Revolut](https://www.revolut.com/). The goal of the project is to demonstrate best practices, provide a set of guidelines, and present modern Android +application architecture that is modular, scalable, maintainable and testable. This application may look simple, but it +has all of these small details that will set the rock-solid foundation of the larger app suitable for bigger teams and +long application lifecycle management. + +## Table of Contents + +- [Development](https://github.com/nuhkoca/revolut-task-libbra#development) +- [Design](https://github.com/nuhkoca/revolut-task-libbra#design) +- [Architecture](https://github.com/nuhkoca/revolut-task-libbra#architecture) +- [Tech-stack](https://github.com/nuhkoca/revolut-task-libbra#tech-stack) +- [Author](https://github.com/nuhkoca/revolut-task-libbra#authors) +- [License](https://github.com/nuhkoca/revolut-task-libbra#license) + +## Development + +### Environment setup + +First off, you require the latest Android Studio 3.6.0 (or newer) to be able to build the app. + +Moreover, to sign your app for release, please refer to `keystore.properties` to find required fields. + +```properties +#Signing Config +signing.store.password= +signing.key.password= +signing.key.alias= +signing.store.file= +``` + +### Code style + +To maintain the style and quality of the code, are used the bellow static analysis tools. All of them use properly configuration and you find them in the project root directory `.{toolName}`. + +| Tools | Config file | Check command | Fix command | +|---------------------------------------------------------|----------------------------------------------------------------------------------:|---------------------------|---------------------------| +| [detekt](https://github.com/arturbosch/detekt) | [/.detekt](https://github.com/nuhkoca/revolut-task-libbra/tree/master/default-detekt-config.yml) | `./gradlew detekt` | - | +| [ktlint](https://github.com/JLLeitschuh/ktlint-gradle) | - | `./gradlew ktlintCheck` | `./gradlew ktlintFormat` | +| [spotless](https://github.com/diffplug/spotless) | [/.spotless](https://github.com/nuhkoca/revolut-task-libbra/tree/master/spotless) | `./gradlew spotlessCheck` | `./gradlew spotlessApply` | +| [lint](https://developer.android.com/studio/write/lint) | [/.lint](https://github.com/nuhkoca/revolut-task-libbra/tree/master/.lint) | `./gradlew lint` | - | + +All these tools are integrated in [pre-commit git hook](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks), in order +ensure that all static analysis and tests passes before you can commit your changes. To skip them for specific commit add this option at your git command: + +```shell +git commit --no-verify +``` + +The pre-commit git hooks have exactly the same checks as [Github Actions](https://github.com/actions) and are defined in this [script](https://github.com/nuhkoca/revolut-task-libbra/blob/master/scripts/git-hooks/pre-commit.sh). This step ensures that all commits comply with the established rules. However the continuous integration will ultimately be validated that the changes are correct. + +## Design + +App [support different screen sizes](https://developer.android.com/training/multiscreen/screensizes) and the content has been adapted to fit for mobile devices and tablets. To do that, it has been created a flexible layout using one or more of the following concepts: + +- [Use constraintLayout](https://developer.android.com/training/multiscreen/screensizes#ConstraintLayout) +- [Avoid hard-coded layout sizes](https://developer.android.com/training/multiscreen/screensizes#TaskUseWrapMatchPar) +- [Create alternative layouts](https://developer.android.com/training/multiscreen/screensizes#alternative-layouts) +- [Use the smallest width qualifier](https://developer.android.com/training/multiscreen/screensizes#TaskUseSWQuali) +- [Use the available width qualifier](https://developer.android.com/training/multiscreen/screensizes#available-width) +- [Add orientation qualifiers](https://developer.android.com/training/multiscreen/screensizes#TaskUseOriQuali) + +In terms of design has been followed recommendations [android material design](https://developer.android.com/guide/topics/ui/look-and-feel) comprehensive guide for visual, motion, and interaction design across platforms and devices. Granting the project in this way a great user experience (UX) and user interface (UI). For more info about UX best practices visit [link](https://developer.android.com/topic/google-play-instant/best-practices/apps). + +Moreover, has been implemented support for [dark theme](https://developer.android.com/guide/topics/ui/look-and-feel/darktheme) with the following benefits: +- Can reduce power usage by a significant amount (depending on the device’s screen technology). +- Improves visibility for users with low vision and those who are sensitive to bright light. +- Makes it easier for anyone to use a device in a low-light environment. + +| Page | Light Mode | Dark Mode | +|-------|---------------------------------------------------|------------------------------------------| +| Currency | | | + +## Architecture + +The architecture of the application is based, apply and strictly complies with each of the following 5 points: + +- A single-activity architecture, using the [Navigation component](https://developer.android.com/guide/navigation/navigation-getting-started) to manage fragment operations. +- [Android architecture components](https://developer.android.com/topic/libraries/architecture/), part of Android Jetpack for give to project a robust design, testable and maintainable. +- Pattern [Model-View-ViewModel](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93viewmodel) (MVVM) facilitating a [separation](https://en.wikipedia.org/wiki/Separation_of_concerns) of development of the graphical user interface. +- [S.O.L.I.D](https://en.wikipedia.org/wiki/SOLID) design principles intended to make software designs more understandable, flexible and maintainable. +- [Modular app architecture](https://proandroiddev.com/build-a-modular-android-app-architecture-25342d99de82) allows to be developed features in isolation, independently from other features. + +### Modules + +Modules are collection of source files and build settings that allow you to divide a project into discrete units of functionality. In this case apart from dividing by functionality/responsibility, existing the following dependence between them: + +The above graph shows the app modularisation: + +- `:app` depends on `:rules`. +- `:rules` depends on nothing. + +#### App module + +The `:app` module is an [com.android.application](https://developer.android.com/studio/build/), which is needed to create the app bundle. It is also responsible for initiating the [dependency graph](https://github.com/google/dagger) and another project global libraries, differentiating especially between different app environments. + +#### Rules modules + +The `:rules` module is an [com.android.library](https://developer.android.com/studio/projects/android-library), basically contains lint checks for the entire project. + +### Architecture components + +Ideally, ViewModels shouldn’t know anything about Android. This improves testability, leak safety and modularity. ViewModels have different scopes than activities or fragments. While a ViewModel is alive and running, an activity can be in any of its lifecycle states. Activities and fragments can be destroyed and created again while the ViewModel is unaware. + +Passing a reference of the View (activity or fragment) to the ViewModel is a serious risk. Lets assume the ViewModel requests data from the network and the data comes back some time later. At that moment, the View reference might be destroyed or might be an old activity that is no longer visible, generating a memory leak and, possibly, a crash. + + + +The communication between the different layers follow the above diagram using the reactive paradigm, observing changes on components without need of callbacks avoiding leaks and edge cases related with them. + +## Tech-stack + +This project takes advantage of many popular libraries, plugins and tools of the Android ecosystem. Most of the libraries are in the stable version, unless there is a good reason to use non-stable dependency. + +### Dependencies + +- [Jetpack](https://developer.android.com/jetpack): + - [Android KTX](https://developer.android.com/kotlin/ktx.html) - provide concise, idiomatic Kotlin to Jetpack and Android platform APIs. + - [AndroidX](https://developer.android.com/jetpack/androidx) - major improvement to the original Android [Support Library](https://developer.android.com/topic/libraries/support-library/index), which is no longer maintained. + - [Data Binding](https://developer.android.com/topic/libraries/data-binding/) - allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmatically. + - [ViewBinding](https://developer.android.com/topic/libraries/view-binding) - allows you to more easily write code that interacts with views. + - [Lifecycle](https://developer.android.com/topic/libraries/architecture/lifecycle) - perform actions in response to a change in the lifecycle status of another component, such as activities and fragments. + - [LiveData](https://developer.android.com/topic/libraries/architecture/livedata) - lifecycle-aware, meaning it respects the lifecycle of other app components, such as activities, fragments, or services. + - [Navigation](https://developer.android.com/guide/navigation/) - helps you implement navigation, from simple button clicks to more complex patterns, such as app bars and the navigation drawer. + - [ViewModel](https://developer.android.com/topic/libraries/architecture/viewmodel) - designed to store and manage UI-related data in a lifecycle conscious way. The ViewModel class allows data to survive configuration changes such as screen rotations. +- [Coroutines](https://kotlinlang.org/docs/reference/coroutines-overview.html) - managing background threads with simplified code and reducing needs for callbacks. +- [Dagger2](https://dagger.dev/) - dependency injector for replacement all FactoryFactory classes. +- [Retrofit](https://square.github.io/retrofit/) - type-safe HTTP client. +- [Coil](https://github.com/coil-kt/coil) - image loading library for Android backed by Kotlin Coroutines. +- [Kotlinx Serialization](https://github.com/Kotlin/kotlinx.serialization) - consists of a compiler plugin, that generates visitor code for serializable classes, runtime library with core serialization API and JSON format, and support libraries with ProtoBuf, CBOR and properties formats. +- [Timber](https://github.com/JakeWharton/timber) - a logger with a small, extensible API which provides utility on top of Android's normal Log class. +- [and more...](https://github.com/nuhkoca/revolut-task-libbra/blob/master/buildSrc/src/main/kotlin/dependencies/Dependencies.kt) + +### Test dependencies + +- [Orchestrator](https://developer.android.com/training/testing/junit-runner#using-android-test-orchestrator) - allows you to run each of your app's tests within its own invocation of Instrumentation. +- [Espresso](https://developer.android.com/training/testing/espresso) - to write concise, beautiful, and reliable Android UI tests +- [JUnit](https://github.com/junit-team/junit4) - a simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks. +- [JUnit5](https://github.com/mannodermaus/android-junit5) - a Gradle plugin that allows for the execution of JUnit 5 tests in Android environments using Android Gradle Plugin 3.5.0 or later. +- [Mockk](https://github.com/mockk/mockk) - provides DSL to mock behavior. Built from zero to fit Kotlin language. +- [AndroidX](https://github.com/android/android-test) - the androidx test library provides an extensive framework for testing Android apps. +- [and more...](https://github.com/nuhkoca/revolut-task-libbra/blob/master/buildSrc/src/main/kotlin/dependencies/Dependencies.kt) + +### Plugins + +- [Ktlint](https://github.com/JLLeitschuh/ktlint-gradle) - a pluging that creates convenient tasks in your Gradle project that run ktlint checks or do code auto format. +- [Detekt](https://github.com/arturbosch/detekt) - a static code analysis tool for the Kotlin programming language. +- [Spotless](https://github.com/diffplug/spotless) - a code formatter can do more than just find formatting errors. +- [Versions](https://github.com/ben-manes/gradle-versions-plugin) - make easy to determine which dependencies have updates. +- [JUnit5](https://github.com/mannodermaus/android-junit5) - a Gradle plugin that allows for the execution of JUnit5 tests in Android environments using Android Gradle Plugin 3.5.0 or later. +- [and more...](https://github.com/nuhkoca/revolut-task-libbra/blob/master/buildSrc/src/main/kotlin/plugins/BuildPlugins.kt) + +## Authors + + + + + +**Nuh Koca** + +[![Linkedin](https://img.shields.io/badge/-linkedin-grey?logo=linkedin)](https://www.linkedin.com/in/nuhkoca/) +[![Twitter](https://img.shields.io/badge/-twitter-grey?logo=twitter)](https://twitter.com/_nuhkoca) +[![Medium](https://img.shields.io/badge/-medium-grey?logo=medium)](https://medium.com/@nuhkocaa) +[![Web](https://img.shields.io/badge/-web-grey?logo=appveyor)](http://nuhkoca.com/) + +## License + +* The preview images were created using 'Previewed' at previewed.app +* The currency and application icons were created at iconscout.com + +```license +Copyright 2020 Nuh Koca + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +``` diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..33cc29e --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,160 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import common.addJUnit5TestDependencies +import common.addOkHttpBom +import common.addTestDependencies +import dependencies.Dependencies +import extensions.applyDefault +import extensions.configureAndroidTests +import extensions.createDebug +import extensions.createKotlinAndroidTest +import extensions.createKotlinMain +import extensions.createKotlinTest +import extensions.createRelease +import extensions.createReleaseConfig +import extensions.getSemanticAppVersionName +import extensions.setDefaults +import utils.javaVersion + +plugins { + id(Plugins.androidApplication) + kotlin(Plugins.kotlinAndroid) + kotlin(Plugins.kotlinAndroidExtension) + kotlin(Plugins.kotlinKapt) + id(Plugins.kotlinSerialization) + id(Plugins.junit5) +} + +val baseUrl: String by project + +android { + compileSdkVersion(extra["compileSdkVersion"] as Int) + + defaultConfig { + applicationId = "io.github.nuhkoca.libbra" + minSdkVersion(extra["minSdkVersion"] as Int) + targetSdkVersion(extra["targetSdkVersion"] as Int) + versionCode = 1 + versionName = getSemanticAppVersionName() + + vectorDrawables.useSupportLibrary = true + testApplicationId = "io.github.nuhkoca.libbra.test" + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + testInstrumentationRunnerArgument(Config.JUNIT5_KEY, Config.JUNIT5_VALUE) + testInstrumentationRunnerArgument(Config.ORCHESTRATOR_KEY, Config.ORCHESTRATOR_VALUE) + + configureAndroidTests() + + signingConfig = signingConfigs.getByName("debug") + + // All supported languages should be added here. It tells all libraries that we only want to + // compile these languages into our project -> Reduces .APK size + resConfigs("en") + } + + // 4) JUnit 5 will bundle in files with identical paths; exclude them + packagingOptions { + exclude("META-INF/LICENSE*") + } + + signingConfigs { + createReleaseConfig(this) + } + + buildTypes { + createRelease(this) + createDebug(this) + + forEach { type -> + if (type.name == "release") { + type.signingConfig = signingConfigs.getByName(type.name) + } + + type.buildConfigField("String", "BASE_URL", baseUrl) + } + } + + sourceSets { + createKotlinMain(this) + createKotlinTest(this) + createKotlinAndroidTest(this) + } + + compileOptions { + sourceCompatibility = javaVersion + targetCompatibility = javaVersion + } + + kotlinOptions { + jvmTarget = javaVersion.toString() + } + + androidExtensions { + isExperimental = true + } + + dataBinding { + isEnabled = true + } + + viewBinding { + isEnabled = true + } + + lintOptions.setDefaults() + + testOptions.applyDefault() +} + +dependencies { + implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar")))) + lintChecks(project(Modules.lintRules)) + + implementation(Dependencies.Core.kotlin) + implementation(Dependencies.Core.coroutines) + + implementation(Dependencies.UI.material) + implementation(Dependencies.UI.core_ktx) + implementation(Dependencies.UI.appcompat) + implementation(Dependencies.UI.fragment_ktx) + implementation(Dependencies.UI.activity_ktx) + implementation(Dependencies.UI.recylerview) + implementation(Dependencies.UI.constraint_layout) + + implementation(Dependencies.Navigation.nav_fragment_ktx) + implementation(Dependencies.Navigation.nav_ui_ktx) + + implementation(Dependencies.Lifecycle.lifecycle_extensions) + implementation(Dependencies.Lifecycle.viewmodel_ktx) + implementation(Dependencies.Lifecycle.livedata_ktx) + implementation(Dependencies.Lifecycle.runtime_ktx) + implementation(Dependencies.Lifecycle.common_java) + + implementation(Dependencies.Dagger.dagger) + kapt(Dependencies.Dagger.compiler) + + implementation(Dependencies.Network.retrofit) + implementation(Dependencies.Network.retrofit_serialization_adapter) + + addOkHttpBom() + + implementation(Dependencies.Other.lottie) + implementation(Dependencies.Other.timber) + implementation(Dependencies.Other.coil) + + addTestDependencies() + addJUnit5TestDependencies() +} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..64b847c --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,89 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle.kts. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile + +# Retrofit does reflection on generic parameters. InnerClasses is required to use Signature and +# EnclosingMethod is required to use InnerClasses. +-keepattributes *Annotation*, Signature, InnerClasses, EnclosingMethod, Exception + +# Retrofit does reflection on method and parameter annotations. +-keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations + +# Retain service method parameters when optimizing. +-keepclassmembers,allowshrinking,allowobfuscation interface * { + @retrofit2.http.* ; +} + +# Ignore annotation used for build tooling. +-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement + +# Ignore JSR 305 annotations for embedding nullability information. +-dontwarn javax.annotation.** + +# Guarded by a NoClassDefFoundError try/catch and only used when on the classpath. +-dontwarn kotlin.Unit + +# Top-level functions that can only be used by Kotlin. +-dontwarn retrofit2.KotlinExtensions + +# With R8 full mode, it sees no subtypes of Retrofit interfaces since they are created with a Proxy +# and replaces all potential values with null. Explicitly keeping the interfaces prevents this. +-if interface * { @retrofit2.http.* ; } +-keep,allowobfuscation interface <1> + +# A resource is loaded with a relative path so the package of this class must be preserved. +-keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase +-dontwarn org.conscrypt.ConscryptHostnameVerifier + +# Animal Sniffer compileOnly dependency to ensure APIs are compatible with older versions of Java. +-dontwarn org.codehaus.mojo.animal_sniffer.* + +# OkHttp platform used only on JVM and when Conscrypt dependency is available. +-dontwarn okhttp3.internal.platform.ConscryptPlatform + +# Dagger 2 +-dontwarn com.google.errorprone.annotations.** + +# Okio +-keep class sun.misc.Unsafe { *; } +-dontwarn java.nio.file.* +-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement +-dontwarn okio.** + +-dontnote kotlinx.serialization.SerializationKt +-keep,includedescriptorclasses class io.github.nuhkoca.libbra.**$$serializer { *; } +-keepclassmembers class io.github.nuhkoca.libbra.** { + *** Companion; +} +-keepclasseswithmembers class io.github.nuhkoca.libbra.** { + kotlinx.serialization.KSerializer serializer(...); +} + +-dontwarn java.awt.** +-dontwarn javax.validation.** +-dontwarn org.springframework.** + +# Navigation Architecture Components +-keep class * extends androidx.fragment.app.Fragment{} + +# Lottie +-dontwarn com.airbnb.lottie.** +-keep class com.airbnb.lottie.** {*;} diff --git a/app/src/androidTest/kotlin/io/github/nuhkoca/libbra/ui/MainActivityRobot.kt b/app/src/androidTest/kotlin/io/github/nuhkoca/libbra/ui/MainActivityRobot.kt new file mode 100644 index 0000000..6147216 --- /dev/null +++ b/app/src/androidTest/kotlin/io/github/nuhkoca/libbra/ui/MainActivityRobot.kt @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.ui + +import androidx.test.espresso.Espresso.onView +import androidx.test.espresso.assertion.ViewAssertions.matches +import androidx.test.espresso.matcher.ViewMatchers.isDisplayed +import androidx.test.espresso.matcher.ViewMatchers.withId +import io.github.nuhkoca.libbra.R + +/** + * Robot pattern to verify [MainActivity]'s assertions in [MainActivityTest] + */ +fun launchMain(func: MainActivityRobot.() -> Unit) = MainActivityRobot().apply { func() } + +class MainActivityRobot { + fun verifyToolbar() { + onView(withId(R.id.toolbar)).check(matches(isDisplayed())) + } +} diff --git a/app/src/androidTest/kotlin/io/github/nuhkoca/libbra/ui/MainActivityTest.kt b/app/src/androidTest/kotlin/io/github/nuhkoca/libbra/ui/MainActivityTest.kt new file mode 100644 index 0000000..70d6d93 --- /dev/null +++ b/app/src/androidTest/kotlin/io/github/nuhkoca/libbra/ui/MainActivityTest.kt @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.ui + +import androidx.test.espresso.IdlingRegistry +import androidx.test.espresso.IdlingResource +import androidx.test.ext.junit.rules.ActivityScenarioRule +import androidx.test.ext.junit.runners.AndroidJUnit4 +import io.github.nuhkoca.libbra.util.DataBindingIdlingResource +import org.junit.After +import org.junit.Before +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith + +/** + * A test class for [MainActivity] + */ +@RunWith(AndroidJUnit4::class) +class MainActivityTest { + + @get:Rule + var activityScenarioRule = ActivityScenarioRule(MainActivity::class.java) + + private lateinit var dataBindingIdlingResource: IdlingResource + + @Before + fun registerIdlingResources() { + dataBindingIdlingResource = DataBindingIdlingResource(activityScenarioRule) + IdlingRegistry.getInstance().register(dataBindingIdlingResource) + } + + @After + fun unregisterIdlingResources() { + IdlingRegistry.getInstance().unregister(dataBindingIdlingResource) + } + + @Test + fun activityLaunchesAndToolbarIsDisplayed() { + launchMain { + verifyToolbar() + } + } +} diff --git a/app/src/androidTest/kotlin/io/github/nuhkoca/libbra/util/DataBindingIdlingResource.kt b/app/src/androidTest/kotlin/io/github/nuhkoca/libbra/util/DataBindingIdlingResource.kt new file mode 100644 index 0000000..9b21d8c --- /dev/null +++ b/app/src/androidTest/kotlin/io/github/nuhkoca/libbra/util/DataBindingIdlingResource.kt @@ -0,0 +1,111 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.util + +import android.view.View +import androidx.databinding.DataBindingUtil +import androidx.databinding.ViewDataBinding +import androidx.fragment.app.FragmentActivity +import androidx.test.core.app.ActivityScenario +import androidx.test.espresso.IdlingResource +import androidx.test.ext.junit.rules.ActivityScenarioRule +import java.util.* + +/** + * An espresso idling resource implementation that reports idle status for all data binding + * layouts. Data Binding uses a mechanism to post messages which Espresso doesn't track yet. + * + * Since this application only uses fragments, the resource only checks the fragments and their + * children instead of the whole view tree. + * + * Tracking bug: https://github.com/android/android-test/issues/317 + */ +class DataBindingIdlingResource( + activityScenarioRule: ActivityScenarioRule +) : IdlingResource { + // list of registered callbacks + private val idlingCallbacks = mutableListOf() + + // give it a unique id to workaround an espresso bug where you cannot register/unregister + // an idling resource w/ the same name. + private val id = UUID.randomUUID().toString() + + // holds whether isIdle is called and the result was false. We track this to avoid calling + // onTransitionToIdle callbacks if Espresso never thought we were idle in the first place. + private var wasNotIdle = false + + lateinit var activity: FragmentActivity + + override fun getName() = "DataBinding $id" + + init { + monitorActivity(activityScenarioRule.scenario) + } + + override fun isIdleNow(): Boolean { + val idle = !getBindings().any { it.hasPendingBindings() } + @Suppress("LiftReturnOrAssignment") + if (idle) { + if (wasNotIdle) { + // notify observers to avoid espresso race detector + idlingCallbacks.forEach { it.onTransitionToIdle() } + } + wasNotIdle = false + } else { + wasNotIdle = true + // check next frame + activity.findViewById(android.R.id.content).postDelayed({ + isIdleNow + }, 16) + } + return idle + } + + override fun registerIdleTransitionCallback(callback: IdlingResource.ResourceCallback) { + idlingCallbacks.add(callback) + } + + /** + * Sets the activity from an [ActivityScenario] to be used from [DataBindingIdlingResource]. + */ + private fun monitorActivity( + activityScenario: ActivityScenario + ) { + activityScenario.onActivity { + this.activity = it + } + } + + /** + * Find all binding classes in all currently available fragments. + */ + private fun getBindings(): List { + val fragments = (activity as? FragmentActivity) + ?.supportFragmentManager + ?.fragments + + val bindings = + fragments?.mapNotNull { + it.view?.getBinding() + } ?: emptyList() + val childrenBindings = fragments?.flatMap { it.childFragmentManager.fragments } + ?.mapNotNull { it.view?.getBinding() } ?: emptyList() + + return bindings + childrenBindings + } +} + +private fun View.getBinding(): ViewDataBinding? = DataBindingUtil.getBinding(this) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..86686f8 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/ic_launcher-playstore.png b/app/src/main/ic_launcher-playstore.png new file mode 100644 index 0000000000000000000000000000000000000000..e3cca4065261d6fdb64309224e1a364ac2f8bb45 GIT binary patch literal 23232 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 literal 0 HcmV?d00001 diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/LibbraApplication.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/LibbraApplication.kt new file mode 100644 index 0000000..8c566fc --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/LibbraApplication.kt @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra + +import android.app.Application +import androidx.databinding.DataBindingUtil +import io.github.nuhkoca.libbra.BuildConfig.DEBUG +import io.github.nuhkoca.libbra.di.AppComponent +import io.github.nuhkoca.libbra.di.DaggerAppComponent +import timber.log.Timber +import timber.log.Timber.DebugTree + +/** + * An application that initializes Dagger and lazily provides [AppComponent]. + * + * Also, sets up Timber in the DEBUG BuildConfig. + */ +class LibbraApplication : Application() { + + // Instance of the AppComponent that will be used by all the Activities in the project + val appComponent: AppComponent by lazy { + initializeComponent() + } + + private fun initializeComponent(): AppComponent { + // Creates an instance of AppComponent using its Factory constructor + // We pass the applicationContext that will be used as Context in the graph + return DaggerAppComponent.factory().create(applicationContext).also { appComponent -> + val bindingComponent = appComponent.dataBindingComponent().create() + DataBindingUtil.setDefaultComponent(bindingComponent) + } + } + + override fun onCreate() { + super.onCreate() + if (DEBUG) Timber.plant(DebugTree()) + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/binding/adapters/ImageBindingAdapter.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/binding/adapters/ImageBindingAdapter.kt new file mode 100644 index 0000000..ae4db18 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/binding/adapters/ImageBindingAdapter.kt @@ -0,0 +1,79 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.binding.adapters + +import android.graphics.drawable.Drawable +import android.widget.ImageView +import androidx.annotation.DrawableRes +import androidx.databinding.BindingAdapter +import coil.ImageLoader +import coil.api.load +import coil.target.Target +import io.github.nuhkoca.libbra.binding.di.BindingScope +import io.github.nuhkoca.libbra.util.ext.e +import io.github.nuhkoca.libbra.util.ext.i +import javax.inject.Inject + +/** + * A [BindingAdapter] for ImageView processes. + * + * @property imageLoader The Coil loader + */ +@BindingScope +class ImageBindingAdapter @Inject constructor(private val imageLoader: ImageLoader) { + + /** + * Binds image to target ImageView + * + * @param resId The res id + */ + @BindingAdapter("android:src") + fun ImageView.bindImage(@DrawableRes resId: Int) { + load(resId, imageLoader) { + size(IMAGE_WIDTH_SIZE_DEFAULT, IMAGE_HEIGHT_SIZE_DEFAULT) + target(CustomTarget(this@bindImage)) + build() + } + } + + private companion object { + private const val IMAGE_WIDTH_SIZE_DEFAULT = 200 + private const val IMAGE_HEIGHT_SIZE_DEFAULT = 200 + } +} + +/** + * A custom [Target] that only logs events. + * + * @param view The ImageView to load the requested drawable + */ +private open class CustomTarget(private val view: ImageView) : Target { + override fun onStart(placeholder: Drawable?) { + super.onStart(placeholder) + i { "Image loading has started." } + } + + override fun onSuccess(result: Drawable) { + super.onSuccess(result) + view.background = result + i { "Image loading is successful." } + } + + override fun onError(error: Drawable?) { + super.onError(error) + e { "Image loading is failed." } + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/binding/adapters/TextBindingAdapter.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/binding/adapters/TextBindingAdapter.kt new file mode 100644 index 0000000..511368d --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/binding/adapters/TextBindingAdapter.kt @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.binding.adapters + +import androidx.databinding.BindingAdapter +import com.google.android.material.textfield.TextInputEditText +import io.github.nuhkoca.libbra.binding.di.BindingScope +import java.text.DecimalFormat +import java.util.* +import javax.inject.Inject + +/** + * A [BindingAdapter] for views whose can work with text. + */ +@BindingScope +class TextBindingAdapter @Inject constructor() { + + /** + * Binds amount to target TextView + * + * @param amount The amount + */ + @BindingAdapter("android:text") + fun TextInputEditText.bindAmount(amount: Float) { + val formattedAmount = DecimalFormat.getInstance(Locale.getDefault()).format(amount) + setText(formattedAmount) + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/binding/di/BindingComponent.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/binding/di/BindingComponent.kt new file mode 100644 index 0000000..329a88d --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/binding/di/BindingComponent.kt @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.binding.di + +import androidx.databinding.DataBindingComponent +import dagger.Subcomponent +import io.github.nuhkoca.libbra.binding.adapters.ImageBindingAdapter +import io.github.nuhkoca.libbra.binding.adapters.TextBindingAdapter + +@BindingScope +@Subcomponent(modules = [BindingModule::class]) +interface BindingComponent : DataBindingComponent { + + @Subcomponent.Factory + interface Factory { + fun create(): BindingComponent + } + + override fun getImageBindingAdapter(): ImageBindingAdapter + + override fun getTextBindingAdapter(): TextBindingAdapter +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/binding/di/BindingModule.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/binding/di/BindingModule.kt new file mode 100644 index 0000000..3d66ba3 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/binding/di/BindingModule.kt @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.binding.di + +import android.content.Context +import coil.ImageLoader +import coil.ImageLoaderBuilder +import dagger.Module +import dagger.Provides +import io.github.nuhkoca.libbra.binding.adapters.ImageBindingAdapter +import io.github.nuhkoca.libbra.binding.adapters.TextBindingAdapter +import javax.inject.Qualifier +import javax.inject.Scope + +@Module +internal object BindingModule { + + private const val DEFAULT_MEMORY_MULTIPLIER = 0.5 + + @Provides + @BindingScope + internal fun provideImageLoader(context: Context) = ImageLoaderBuilder(context).apply { + availableMemoryPercentage(DEFAULT_MEMORY_MULTIPLIER) + crossfade(true) + }.build() + + @Provides + @InternalApi + @BindingScope + internal fun provideImageBindingAdapter( + imageLoader: ImageLoader + ) = ImageBindingAdapter(imageLoader) + + @Provides + @InternalApi + @BindingScope + internal fun provideTextBindingAdapter() = TextBindingAdapter() +} + +@Scope +@MustBeDocumented +internal annotation class BindingScope + +@Qualifier +@Retention(AnnotationRetention.BINARY) +@MustBeDocumented +private annotation class InternalApi diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/data/Result.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/Result.kt new file mode 100644 index 0000000..555731e --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/Result.kt @@ -0,0 +1,78 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data + +import io.github.nuhkoca.libbra.data.failure.Failure + +/** + * A generic class that holds a value with its data status. + * @param + */ +sealed class Result { + + /** + * Represents success data operation. + * + * @param data the data + * + * @return the data with [Result] wrapper. + */ + data class Success(val data: T) : Result() + + /** + * Represents error operation. + * + * @param failure the [Failure] + * + * @return [Nothing] with [Result] wrapper. + */ + data class Error(val failure: Failure) : Result() { + override fun toString() = "Failure $failure" + } +} + +/** + * `true` if [Result] is of type [Result.Success] & holds non-null [Result.Success.data]. + */ +internal val Result<*>.succeeded + get() = this is Result.Success && data != null + +/** + * Returns the result of [onSuccess] for encapsulated value if this instance represents success + * or the result of [onFailure] function for encapsulated exception if it is failure. + */ +fun Result.fold(onSuccess: (T) -> R, onFailure: (Failure) -> R): R { + return if (succeeded) { + onSuccess((this as Result.Success).data) + } else { + onFailure((this as Result.Error).failure) + } +} + +/** + * Returns the suspend result of [onSuccess] for encapsulated value if this instance represents + * success or the suspend result of [onFailure] function for encapsulated failure if it is failure. + */ +suspend fun Result.foldSuspend( + onSuccess: suspend (T) -> R, + onFailure: suspend (Failure) -> R +): R { + return if (succeeded) { + onSuccess((this as Result.Success).data) + } else { + onFailure((this as Result.Error).failure) + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/data/datasource/CurrencyRemoteDataSource.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/datasource/CurrencyRemoteDataSource.kt new file mode 100644 index 0000000..254170e --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/datasource/CurrencyRemoteDataSource.kt @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.datasource + +import io.github.nuhkoca.libbra.data.Result +import io.github.nuhkoca.libbra.data.enums.Rate +import io.github.nuhkoca.libbra.data.model.domain.CurrencyResponse +import io.github.nuhkoca.libbra.data.model.raw.CurrencyResponseRaw +import io.github.nuhkoca.libbra.data.service.CurrencyService +import io.github.nuhkoca.libbra.util.coroutines.AsyncManager +import io.github.nuhkoca.libbra.util.coroutines.DefaultAsyncManager +import io.github.nuhkoca.libbra.util.coroutines.DispatcherProvider +import io.github.nuhkoca.libbra.util.mapper.Mapper +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.flow.Flow +import javax.inject.Inject +import javax.inject.Singleton + +/** + * A [DataSource] implementation to fetch list of currencies remotely. + * + * @param currencyService The service to hit the endpoint + * @param mapper The domain mapper to map raw data to domain + * @param dispatcherProvider The [DispatcherProvider] to run calls under a specific context + */ +@Singleton +class CurrencyRemoteDataSource @Inject constructor( + private val currencyService: CurrencyService, + private val mapper: @JvmSuppressWildcards Mapper, + private val dispatcherProvider: DispatcherProvider +) : DataSource, AsyncManager by DefaultAsyncManager(dispatcherProvider) { + + /** + * Fetches list of currencies and returns in [Flow] builder + * + * @param base The base currency to fetch list + * + * @return [CurrencyResponse] within [Flow] builder + */ + @ExperimentalCoroutinesApi + override fun getCurrencyList(base: Rate): Flow> { + return handleAsyncWithTryCatch { + val response = currencyService.getCurrencyList(base) + mapper.map(response) + } + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/data/datasource/DataSource.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/datasource/DataSource.kt new file mode 100644 index 0000000..a0e3cf8 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/datasource/DataSource.kt @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.datasource + +import io.github.nuhkoca.libbra.data.Result +import io.github.nuhkoca.libbra.data.enums.Rate +import io.github.nuhkoca.libbra.data.model.domain.CurrencyResponse +import kotlinx.coroutines.flow.Flow + +/** + * A common interface for children data sources to fetch list of currencies. + */ +@FunctionalInterface +interface DataSource { + + /** + * Fetches list of currencies and returns in [Flow] builder + * + * @param base The base currency to fetch list + * + * @return [CurrencyResponse] within [Flow] builder + */ + fun getCurrencyList(base: Rate): Flow> +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/data/enums/Rate.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/enums/Rate.kt new file mode 100644 index 0000000..979abe0 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/enums/Rate.kt @@ -0,0 +1,193 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.enums + +import androidx.annotation.DrawableRes +import io.github.nuhkoca.libbra.R + +/** + * An enum that represents all remote currencies. + * + * @property resId The drawable id + */ +enum class Rate(val longName: String, @DrawableRes val resId: Int) { + + /** + * Unknown type for undefined currency, this is to avoid crash for possible future + * implementations + */ + UNKNOWN("Unknown", R.drawable.ic_unknown), + + /** + * Currency type for Australian Dollar + */ + AUD("Australian Dollar", R.drawable.ic_aud), + + /** + * Currency type for Bulgarian Lev + */ + BGN("Bulgarian Lev", R.drawable.ic_bgn), + + /** + * Currency type for Brazilian Real + */ + BRL("Brazilian Real", R.drawable.ic_brl), + + /** + * Currency type for Canadian Dollar + */ + CAD("Canadian Dollar", R.drawable.ic_cad), + + /** + * Currency type for Swiss Franc + */ + CHF("Swiss Franc", R.drawable.ic_chf), + + /** + * Currency type for Chinese Yuan + */ + CNY("Chinese Yuan", R.drawable.ic_cny), + + /** + * Currency type for Czech Koruna + */ + CZK("Czech Koruna", R.drawable.ic_czk), + + /** + * Currency type for Danish Krone + */ + DKK("Danish Krone", R.drawable.ic_dkk), + + /** + * Currency type for Euro + */ + EUR("Euro", R.drawable.ic_eur), + + /** + * Currency type for Pound + */ + GBP("Pound", R.drawable.ic_gbp), + + /** + * Currency type for Hong Kong Dollar + */ + HKD("Hong Kong Dollar", R.drawable.ic_hkd), + + /** + * Currency type for Croatian Kuna + */ + HRK("Croatian Kuna", R.drawable.ic_hrk), + + /** + * Currency type for Hungarian Forint + */ + HUF("Hungarian Forint", R.drawable.ic_huf), + + /** + * Currency type for Indonesian Rupiah + */ + IDR("Indonesian Rupiah", R.drawable.ic_idr), + + /** + * Currency type for Israeli New Shekel + */ + ILS("Israeli New Shekel", R.drawable.ic_ils), + + /** + * Currency type for Indian Rupee + */ + INR("Indian Rupee", R.drawable.ic_inr), + + /** + * Currency type for Icelandic Króna + */ + ISK("Icelandic Króna", R.drawable.ic_isk), + + /** + * Currency type for Japanese Yen + */ + JPY("Japanese Yen", R.drawable.ic_jpy), + + /** + * Currency type for South Korean Won + */ + KRW("South Korean Won", R.drawable.ic_krw), + + /** + * Currency type for Mexican Peso + */ + MXN("Mexican Peso", R.drawable.ic_mxn), + + /** + * Currency type for Malaysian Ringgit + */ + MYR("Malaysian Ringgit", R.drawable.ic_myr), + + /** + * Currency type for Norwegian Krone + */ + NOK("Norwegian Krone", R.drawable.ic_nok), + + /** + * Currency type for New Zealand Dollar + */ + NZD("New Zealand Dollar", R.drawable.ic_nzd), + + /** + * Currency type for Philippine Peso + */ + PHP("Philippine Peso", R.drawable.ic_php), + + /** + * Currency type for Poland Złoty + */ + PLN("Poland Złoty", R.drawable.ic_pln), + + /** + * Currency type for Romanian Leu + */ + RON("Romanian Leu", R.drawable.ic_ron), + + /** + * Currency type for Russian Ruble + */ + RUB("Russian Ruble", R.drawable.ic_rub), + + /** + * Currency type for Swedish Krona + */ + SEK("Swedish Krona", R.drawable.ic_sek), + + /** + * Currency type for Singapore Dollar + */ + SGD("Singapore Dollar", R.drawable.ic_sgd), + + /** + * Currency type for Thai Baht + */ + THB("Thai Baht", R.drawable.ic_thb), + + /** + * Currency type for United States Dollar + */ + USD("United States Dollar", R.drawable.ic_usd), + + /** + * Currency type for South African Rand + */ + ZAR("South African Rand", R.drawable.ic_zar) +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/data/failure/ErrorResponse.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/failure/ErrorResponse.kt new file mode 100644 index 0000000..24febd8 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/failure/ErrorResponse.kt @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.failure + +import kotlinx.serialization.Serializable + +/** + * A data class which represents error response. + * + * @property message The error message + */ +@Serializable +internal data class ErrorResponse( + val message: String +) diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/data/failure/Failure.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/failure/Failure.kt new file mode 100644 index 0000000..47de8f3 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/failure/Failure.kt @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.failure + +import io.github.nuhkoca.libbra.data.failure.Failure.CancellationFailure +import io.github.nuhkoca.libbra.data.failure.Failure.SerializationFailure +import io.github.nuhkoca.libbra.data.failure.Failure.ServerFailure +import io.github.nuhkoca.libbra.data.failure.Failure.UnhandledFailure +import okhttp3.OkHttpClient +import java.io.IOException + +/** + * Failure class to hold any kind of errors from server. [ServerFailure] represents error response + * e.g. parameters are incorrect, no result. [SerializationFailure] represents exceptional cases + * e.g. parse exception, serialization exception. [CancellationFailure] represents cancellation + * exception from Coroutines. [UnhandledFailure] represents unknown errors. + * + * @param message the error message + * + * @throws IOException as [OkHttpClient] is only able to consume [IOException] + * @see [Corresponding exception issue](https://github.com/square/retrofit/issues/3110) + * + * @author Nuh Koca + * @since 2020-03-05 + */ +sealed class Failure(override val message: String) : IOException(message) { + + /** + * Represents the error response itself. + * + * @param message the error message + */ + data class ServerFailure(override val message: String) : Failure(message) + + /** + * Represents other type of errors. + * + * @param message the error message + */ + data class SerializationFailure(override val message: String) : Failure(message = message) + + /** + * Represents cancellation errors from coroutines. + * + * @param message the error message + */ + data class CancellationFailure(override val message: String) : Failure(message = message) + + /** + * Represents unhandled errors by error handling mechanism. + * + * @param message the error message + */ + data class UnhandledFailure(override val message: String) : Failure(message = message) +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/data/mapper/CurrencyDomainMapper.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/mapper/CurrencyDomainMapper.kt new file mode 100644 index 0000000..ea89c7a --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/mapper/CurrencyDomainMapper.kt @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.mapper + +import io.github.nuhkoca.libbra.data.model.domain.CurrencyResponse +import io.github.nuhkoca.libbra.data.model.domain.Rate +import io.github.nuhkoca.libbra.data.model.raw.CurrencyResponseRaw +import io.github.nuhkoca.libbra.util.coroutines.DispatcherProvider +import io.github.nuhkoca.libbra.util.mapper.Mapper +import kotlinx.coroutines.withContext +import javax.inject.Inject +import javax.inject.Singleton + +/** + * A [Mapper] implementation to map [CurrencyResponseRaw] to [CurrencyResponse] type. + * + * @param dispatcherProvider The [DispatcherProvider] to run calls under a specific context + */ +@Singleton +class CurrencyDomainMapper @Inject constructor( + private val dispatcherProvider: DispatcherProvider +) : Mapper { + + /** + * A suspend function that maps [CurrencyResponseRaw] to [CurrencyResponse] type. + * + * @param item The [CurrencyResponseRaw] + * + * @return [CurrencyResponse] + */ + override suspend fun map(item: CurrencyResponseRaw) = withContext(dispatcherProvider.default) { + val rates = mutableListOf() + + item.rates.forEach { currency -> + val rate = Rate(currency.key, currency.value) + rates.add(rate) + } + + CurrencyResponse(item.baseCurrency, rates) + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/domain/CurrencyResponse.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/domain/CurrencyResponse.kt new file mode 100644 index 0000000..4a6369d --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/domain/CurrencyResponse.kt @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.model.domain + +/** + * A data class that includes list of currencies for domain layer + * + * @property baseCurrency The base currency to calculate amounts + * @property rates The list of currencies + */ +data class CurrencyResponse( + val baseCurrency: String, + val rates: List +) diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/domain/Rate.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/domain/Rate.kt new file mode 100644 index 0000000..d62e9d7 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/domain/Rate.kt @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.model.domain + +import io.github.nuhkoca.libbra.data.enums.Rate + +/** + * A data class that includes each currency for domain layer + * + * @property rate The currency + * @property amount The currency amount + */ +data class Rate( + val rate: Rate, + val amount: Float +) diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/raw/CurrencyResponseRaw.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/raw/CurrencyResponseRaw.kt new file mode 100644 index 0000000..097eb99 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/raw/CurrencyResponseRaw.kt @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@file:UseSerializers(RateSerializer::class) + +package io.github.nuhkoca.libbra.data.model.raw + +import io.github.nuhkoca.libbra.data.enums.Rate +import io.github.nuhkoca.libbra.data.serializers.RateSerializer +import kotlinx.serialization.Serializable +import kotlinx.serialization.UseSerializers + +/** + * A data class that includes list of currencies + * + * @property baseCurrency The base currency to calculate amounts + * @property rates The list of currencies + */ +@Serializable +data class CurrencyResponseRaw( + val baseCurrency: String, + val rates: Map +) diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/view/CurrencyResponseViewItem.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/view/CurrencyResponseViewItem.kt new file mode 100644 index 0000000..bf88b6a --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/view/CurrencyResponseViewItem.kt @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.model.view + +/** + * A data class that includes list of currencies for view layer + * + * @property baseCurrency The base currency to calculate amounts + * @property rates The list of currencies + */ +data class CurrencyResponseViewItem( + val baseCurrency: String, + val rates: List +) diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/view/RateViewItem.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/view/RateViewItem.kt new file mode 100644 index 0000000..0807cc5 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/model/view/RateViewItem.kt @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.model.view + +import androidx.annotation.DrawableRes + +/** + * A data class that includes each currency for view layer + * + * @property id The id for each item + * @property abbreviation The shortened currency name + * @property longName The long style of [abbreviation] + * @property amount The currency amount + * @property icon The currency icon that represents its country's flag + */ +data class RateViewItem( + val id: Int, + val abbreviation: String, + val longName: String, + val amount: Float, + @DrawableRes + val icon: Int +) diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/data/serializers/RateSerializer.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/serializers/RateSerializer.kt new file mode 100644 index 0000000..59aaa13 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/serializers/RateSerializer.kt @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.serializers + +import io.github.nuhkoca.libbra.data.enums.Rate +import io.github.nuhkoca.libbra.util.ext.w +import kotlinx.serialization.Decoder +import kotlinx.serialization.Encoder +import kotlinx.serialization.KSerializer +import kotlinx.serialization.PrimitiveDescriptor +import kotlinx.serialization.PrimitiveKind +import kotlinx.serialization.SerialDescriptor +import kotlinx.serialization.SerializationException +import kotlinx.serialization.Serializer +import kotlinx.serialization.builtins.serializer +import kotlinx.serialization.decode +import kotlinx.serialization.encode + +/** + * A custom [KSerializer] implementation to serialize and deserialize [Rate] elements. + */ +@Serializer(forClass = Rate::class) +object RateSerializer : KSerializer { + + private const val SERIAL_NAME = "rates" + + private val serializer = String.serializer() + + override val descriptor: SerialDescriptor = PrimitiveDescriptor( + SERIAL_NAME, + PrimitiveKind.STRING + ) + + /** + * Decodes a [Rate] from the given string or returns [Rate.UNKNOWN] if there is + * no matching. + * + * @return [Rate] or [Rate.UNKNOWN] if there is no matching + * + * @throws IllegalStateException if there is no match found + * @throws SerializationException if serializer is unable to serialize + */ + @Throws(IllegalStateException::class, SerializationException::class) + @Suppress("TooGenericExceptionCaught") + override fun deserialize(decoder: Decoder): Rate { + var type: String? = null + return try { + type = decoder.decode(serializer) + Rate.valueOf(type) + } catch (e: RuntimeException) { + w { "Falling back to UNKNOWN type as there is no match found for $type." } + Rate.UNKNOWN + } + } + + override fun serialize(encoder: Encoder, value: Rate) { + encoder.encode(serializer, value.name) + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/data/service/CurrencyService.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/service/CurrencyService.kt new file mode 100644 index 0000000..4781d09 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/service/CurrencyService.kt @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.service + +import io.github.nuhkoca.libbra.data.enums.Rate +import io.github.nuhkoca.libbra.data.model.raw.CurrencyResponseRaw +import retrofit2.http.GET +import retrofit2.http.Query + +/** + * The service interface to fetch list of currencies + */ +interface CurrencyService { + + /** + * Fetches list of currencies + * + * @param base The base currency to calculate amounts + * + * @return [CurrencyResponseRaw] + */ + @GET("$ENDPOINT_PREFIX/latest") + suspend fun getCurrencyList(@Query("base") base: Rate): CurrencyResponseRaw + + private companion object { + private const val ENDPOINT_PREFIX = "api/android" + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/data/verifier/RevolutHostnameVerifier.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/verifier/RevolutHostnameVerifier.kt new file mode 100644 index 0000000..044bf72 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/data/verifier/RevolutHostnameVerifier.kt @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.verifier + +import io.github.nuhkoca.libbra.BuildConfig.BASE_URL +import io.github.nuhkoca.libbra.util.ext.d +import javax.net.ssl.HostnameVerifier +import javax.net.ssl.SSLSession + +/** + * A [HostnameVerifier] implementation for internal network operation. Other network traffics will + * be ignored. + */ +object RevolutHostnameVerifier : HostnameVerifier { + + private const val HOSTNAME_DELIMITER = "/" + + /** + * Verifies if network traffic is only over [BASE_URL]. + * + * @param hostname the host name + * @param session SSLSession used on the connection to host + * + * @return true if the host name is acceptable + */ + override fun verify(hostname: String?, session: SSLSession?): Boolean { + val expectedHostname = BASE_URL + .substringBeforeLast(HOSTNAME_DELIMITER) + .substringAfterLast(HOSTNAME_DELIMITER) + + d { "Hostname is $expectedHostname}" } + + return hostname.toString().contains(expectedHostname) + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/di/AppComponent.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/di/AppComponent.kt new file mode 100644 index 0000000..b46f141 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/di/AppComponent.kt @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.di + +import android.content.Context +import dagger.BindsInstance +import dagger.Component +import dagger.Module +import io.github.nuhkoca.libbra.binding.di.BindingComponent +import io.github.nuhkoca.libbra.di.factory.FragmentBindingsModule +import io.github.nuhkoca.libbra.di.factory.ViewModelBuilderModule +import io.github.nuhkoca.libbra.ui.di.MainComponent +import javax.inject.Singleton + +/** + * The main component to build Dagger graph. + */ +@Singleton +@Component( + modules = [ + AppModule::class, + SubcomponentsModule::class, + FragmentBindingsModule::class, + ViewModelBuilderModule::class + ] +) +interface AppComponent { + + @Component.Factory + interface Factory { + fun create(@BindsInstance applicationContext: Context): AppComponent + } + + fun dataBindingComponent(): BindingComponent.Factory + + fun mainComponent(): MainComponent.Factory +} + +@Module( + subcomponents = [ + BindingComponent::class, + MainComponent::class + ] +) +object SubcomponentsModule diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/di/AppModule.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/di/AppModule.kt new file mode 100644 index 0000000..7551cac --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/di/AppModule.kt @@ -0,0 +1,146 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.di + +import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory +import dagger.Binds +import dagger.Module +import dagger.Provides +import io.github.nuhkoca.libbra.BuildConfig +import io.github.nuhkoca.libbra.data.datasource.CurrencyRemoteDataSource +import io.github.nuhkoca.libbra.data.datasource.DataSource +import io.github.nuhkoca.libbra.data.mapper.CurrencyDomainMapper +import io.github.nuhkoca.libbra.data.model.domain.CurrencyResponse +import io.github.nuhkoca.libbra.data.model.raw.CurrencyResponseRaw +import io.github.nuhkoca.libbra.data.model.view.CurrencyResponseViewItem +import io.github.nuhkoca.libbra.data.service.CurrencyService +import io.github.nuhkoca.libbra.data.verifier.RevolutHostnameVerifier +import io.github.nuhkoca.libbra.domain.mapper.CurrencyViewItemMapper +import io.github.nuhkoca.libbra.domain.repository.CurrencyRepository +import io.github.nuhkoca.libbra.domain.repository.Repository +import io.github.nuhkoca.libbra.domain.usecase.CurrencyParams +import io.github.nuhkoca.libbra.domain.usecase.CurrencyUseCase +import io.github.nuhkoca.libbra.domain.usecase.UseCase +import io.github.nuhkoca.libbra.util.coroutines.DefaultDispatcherProvider +import io.github.nuhkoca.libbra.util.coroutines.DispatcherProvider +import io.github.nuhkoca.libbra.util.ext.errorInterceptor +import io.github.nuhkoca.libbra.util.mapper.Mapper +import kotlinx.serialization.UnstableDefault +import kotlinx.serialization.json.Json +import okhttp3.MediaType.Companion.toMediaType +import okhttp3.OkHttpClient +import okhttp3.logging.HttpLoggingInterceptor +import retrofit2.Retrofit +import retrofit2.create +import java.util.concurrent.TimeUnit +import javax.inject.Qualifier +import javax.inject.Singleton + +@Module +abstract class AppModule { + + @Binds + @Singleton + internal abstract fun bindDispatcherProvider( + defaultDispatcherProvider: DefaultDispatcherProvider + ): DispatcherProvider + + @Binds + @Remote + @Singleton + internal abstract fun bindCurrencyDataSource( + currencyRemoteDataSource: CurrencyRemoteDataSource + ): DataSource + + @Binds + @Singleton + internal abstract fun bindCurrencyDomainMapper( + currencyDomainMapper: CurrencyDomainMapper + ): Mapper + + @Binds + @Singleton + internal abstract fun bindCurrencyViewItemMapper( + currencyViewItemMapper: CurrencyViewItemMapper + ): Mapper + + @Binds + @Singleton + internal abstract fun bindCurrencyRepository( + currencyRepository: CurrencyRepository + ): Repository + + @Binds + @Singleton + internal abstract fun bindCurrencyUseCase( + currencyUseCase: CurrencyUseCase + ): UseCase.FlowUseCase + + @Module + internal companion object { + + private const val MEDIA_TYPE_DEFAULT = "application/json" + private const val TIMEOUT_IN_MS = 10000L + + @Provides + @Singleton + internal fun provideCurrencyService(retrofit: Retrofit): CurrencyService = retrofit.create() + + @Provides + @Singleton + @UnstableDefault + internal fun provideRetrofit(@InternalApi httpClient: OkHttpClient): Retrofit { + return Retrofit.Builder().apply { + baseUrl(BuildConfig.BASE_URL) + addConverterFactory(Json.asConverterFactory(MEDIA_TYPE_DEFAULT.toMediaType())) + client(httpClient) + }.build() + } + + @Provides + @Singleton + @InternalApi + @UnstableDefault + internal fun provideOkHttpClient( + @InternalApi loggingInterceptor: HttpLoggingInterceptor + ): OkHttpClient { + return OkHttpClient.Builder().apply { + hostnameVerifier(RevolutHostnameVerifier) + connectTimeout(TIMEOUT_IN_MS, TimeUnit.MILLISECONDS) + readTimeout(TIMEOUT_IN_MS, TimeUnit.MILLISECONDS) + writeTimeout(TIMEOUT_IN_MS, TimeUnit.MILLISECONDS) + addInterceptor(loggingInterceptor) + addInterceptor(errorInterceptor()) + }.build() + } + + @Provides + @Singleton + @InternalApi + internal fun provideHttpLoggingInterceptor(): HttpLoggingInterceptor { + return HttpLoggingInterceptor().apply { level = HttpLoggingInterceptor.Level.BODY } + } + } +} + +@Qualifier +@Retention(AnnotationRetention.BINARY) +@MustBeDocumented +private annotation class InternalApi + +@Qualifier +@MustBeDocumented +annotation class Remote diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/di/factory/LibbraFragmentFactory.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/di/factory/LibbraFragmentFactory.kt new file mode 100644 index 0000000..1d311d8 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/di/factory/LibbraFragmentFactory.kt @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.di.factory + +import androidx.fragment.app.Fragment +import androidx.fragment.app.FragmentFactory +import dagger.Binds +import dagger.MapKey +import dagger.Module +import javax.inject.Inject +import javax.inject.Provider +import kotlin.annotation.AnnotationRetention.RUNTIME +import kotlin.annotation.AnnotationTarget.FUNCTION +import kotlin.annotation.AnnotationTarget.PROPERTY_GETTER +import kotlin.annotation.AnnotationTarget.PROPERTY_SETTER +import kotlin.reflect.KClass + +/** + * FragmentFactory which uses Dagger to create the instances. + */ +@Suppress("TooGenericExceptionCaught", "TooGenericExceptionThrown") +class LibbraFragmentFactory @Inject constructor( + private val creators: Map, @JvmSuppressWildcards Provider> +) : FragmentFactory() { + + override fun instantiate(classLoader: ClassLoader, className: String): Fragment { + val fragmentClass = loadFragmentClass(classLoader, className) + + val creator = creators[fragmentClass] ?: return super.instantiate(classLoader, className) + + return try { + creator.get() + } catch (e: RuntimeException) { + throw RuntimeException(e) + } + } +} + +@Module +internal abstract class FragmentBindingsModule { + + @Binds + internal abstract fun bindFragmentFactory( + fragmentFactory: LibbraFragmentFactory + ): FragmentFactory +} + +@MapKey +@Retention(RUNTIME) +@Target(FUNCTION, PROPERTY_GETTER, PROPERTY_SETTER) +internal annotation class FragmentKey(val value: KClass) diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/di/factory/ViewModelFactory.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/di/factory/ViewModelFactory.kt new file mode 100644 index 0000000..43d9c14 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/di/factory/ViewModelFactory.kt @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.di.factory + +import androidx.lifecycle.ViewModel +import androidx.lifecycle.ViewModelProvider +import dagger.Binds +import dagger.MapKey +import dagger.Module +import javax.inject.Inject +import javax.inject.Provider +import kotlin.annotation.AnnotationRetention.RUNTIME +import kotlin.annotation.AnnotationTarget.FUNCTION +import kotlin.annotation.AnnotationTarget.PROPERTY_GETTER +import kotlin.annotation.AnnotationTarget.PROPERTY_SETTER +import kotlin.reflect.KClass + +/** + * ViewModelFactory which uses Dagger to create the instances. + */ +@Suppress("TooGenericExceptionCaught", "TooGenericExceptionThrown") +class LibbraViewModelFactory @Inject constructor( + private val creators: @JvmSuppressWildcards Map, Provider> +) : ViewModelProvider.Factory { + override fun create(modelClass: Class): T { + var creator: Provider? = creators[modelClass] + if (creator == null) { + for ((key, value) in creators) { + if (modelClass.isAssignableFrom(key)) { + creator = value + break + } + } + } + if (creator == null) { + throw IllegalArgumentException("Unknown model class: $modelClass") + } + try { + @Suppress("UNCHECKED_CAST") + return creator.get() as T + } catch (e: Exception) { + throw RuntimeException(e) + } + } +} + +@Module +internal abstract class ViewModelBuilderModule { + + @Binds + internal abstract fun bindViewModelFactory( + factory: LibbraViewModelFactory + ): ViewModelProvider.Factory +} + +@MapKey +@Retention(RUNTIME) +@Target(FUNCTION, PROPERTY_GETTER, PROPERTY_SETTER) +internal annotation class ViewModelKey(val value: KClass) diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/domain/mapper/CurrencyViewItemMapper.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/domain/mapper/CurrencyViewItemMapper.kt new file mode 100644 index 0000000..1c3d03b --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/domain/mapper/CurrencyViewItemMapper.kt @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.domain.mapper + +import io.github.nuhkoca.libbra.data.enums.Rate +import io.github.nuhkoca.libbra.data.model.domain.CurrencyResponse +import io.github.nuhkoca.libbra.data.model.view.CurrencyResponseViewItem +import io.github.nuhkoca.libbra.data.model.view.RateViewItem +import io.github.nuhkoca.libbra.util.coroutines.DispatcherProvider +import io.github.nuhkoca.libbra.util.mapper.Mapper +import kotlinx.coroutines.withContext +import javax.inject.Inject +import javax.inject.Singleton + +/** + * A [Mapper] implementation to map [CurrencyResponse] to [CurrencyResponseViewItem] type. + * + * @param dispatcherProvider The [DispatcherProvider] to run calls under a specific context + */ +@Singleton +class CurrencyViewItemMapper @Inject constructor( + private val dispatcherProvider: DispatcherProvider +) : Mapper { + + /** + * A suspend function that maps [CurrencyResponse] to [CurrencyResponseViewItem] type. + * + * @param item The [CurrencyResponse] + * + * @return [CurrencyResponseViewItem] + */ + override suspend fun map(item: CurrencyResponse) = withContext(dispatcherProvider.default) { + val rates = mutableListOf() + + rates with item.baseCurrency + + item.rates.forEachIndexed { index, currency -> + val rateViewItem = RateViewItem( + index + 1, + currency.rate.name, + currency.rate.longName, + currency.amount, + currency.rate.resId + ) + rates.add(index + 1, rateViewItem) + } + + CurrencyResponseViewItem(item.baseCurrency, rates) + } +} + +/** + * An infix fun that adds responder to currency list to show it at top. + * + * @param baseCurrency represents responder + */ +private infix fun MutableList.with(baseCurrency: String) { + // Add base currency to currency list to show it at top. + val rate = Rate.valueOf(baseCurrency) + val responder = RateViewItem( + 0, // First id should always be 0 + rate.name, + rate.longName, + 1f, // Because base currency amount is always 1 + rate.resId + ) + add(0, responder) +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/domain/repository/CurrencyRepository.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/domain/repository/CurrencyRepository.kt new file mode 100644 index 0000000..09d4c3f --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/domain/repository/CurrencyRepository.kt @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.domain.repository + +import io.github.nuhkoca.libbra.data.Result +import io.github.nuhkoca.libbra.data.datasource.DataSource +import io.github.nuhkoca.libbra.data.enums.Rate +import io.github.nuhkoca.libbra.data.model.domain.CurrencyResponse +import io.github.nuhkoca.libbra.di.Remote +import kotlinx.coroutines.flow.Flow +import javax.inject.Inject +import javax.inject.Singleton + +/** + * A [Repository] implementation to interact with [DataSource] in order to fetch list of + * currencies. + * + * @param remoteDataSource The data source + */ +@Singleton +class CurrencyRepository @Inject constructor( + @Remote private val remoteDataSource: DataSource +) : Repository { + + /** + * Fetches list of currencies and returns in [Flow] builder + * + * @param base The base currency to fetch list + * + * @return [CurrencyResponse] within [Flow] builder + */ + override fun getCurrencyList(base: Rate): Flow> { + return remoteDataSource.getCurrencyList(base) + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/domain/repository/Repository.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/domain/repository/Repository.kt new file mode 100644 index 0000000..cc5f1c6 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/domain/repository/Repository.kt @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.domain.repository + +import io.github.nuhkoca.libbra.data.Result +import io.github.nuhkoca.libbra.data.datasource.DataSource +import io.github.nuhkoca.libbra.data.enums.Rate +import io.github.nuhkoca.libbra.data.model.domain.CurrencyResponse +import kotlinx.coroutines.flow.Flow + +/** + * A helper interface for repository layer to interact with [DataSource] + */ +@FunctionalInterface +interface Repository { + + /** + * Fetches list of currencies and returns in [Flow] builder + * + * @param base The base currency to fetch list + * + * @return [CurrencyResponse] within [Flow] builder + */ + fun getCurrencyList(base: Rate): Flow> +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/domain/usecase/CurrencyUseCase.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/domain/usecase/CurrencyUseCase.kt new file mode 100644 index 0000000..f6a4acc --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/domain/usecase/CurrencyUseCase.kt @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.domain.usecase + +import io.github.nuhkoca.libbra.data.Result +import io.github.nuhkoca.libbra.data.enums.Rate +import io.github.nuhkoca.libbra.data.model.domain.CurrencyResponse +import io.github.nuhkoca.libbra.domain.repository.Repository +import kotlinx.coroutines.flow.Flow +import javax.inject.Inject +import javax.inject.Singleton + +/** + * A [UseCase.FlowUseCase] implementation to interact with [Repository] in order to fetch list of + * currencies. + * + * @param repository The repository + */ +@Singleton +class CurrencyUseCase @Inject constructor( + private val repository: Repository +) : UseCase.FlowUseCase { + + /** + * Executes the call with the given parameters. + * + * @param params The [CurrencyParams] to fetch list + * + * @return [CurrencyResponse] within [Flow] builder + */ + override fun execute(params: CurrencyParams): Flow> { + return repository.getCurrencyList(params.base) + } +} + +/** + * The data class to fetch list with base currency + * + * @property base The base currency + */ +data class CurrencyParams( + val base: Rate = Rate.EUR +) : Params() diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/domain/usecase/UseCase.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/domain/usecase/UseCase.kt new file mode 100644 index 0000000..838033a --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/domain/usecase/UseCase.kt @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.domain.usecase + +import io.github.nuhkoca.libbra.data.Result +import kotlinx.coroutines.flow.Flow + +/** + * An intermediate interface between repository and UI layers. + */ +interface UseCase { + + /** + * An intermediate interface to execute Coroutines calls. + * + * @param P The [Params] + * @param T The data class + */ + @FunctionalInterface + interface FlowUseCase : UseCase where P : Params { + + /** + * Executes the call with the given parameters. + * + * @param params The [Params] + * + * @return result within [Flow] builder + */ + fun execute(params: P): Flow> + } +} + +/** + * An abstract class to create parameters in order to hit the service. Any kind of param class + * should be derived from this. + */ +abstract class Params diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/MainActivity.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/MainActivity.kt new file mode 100644 index 0000000..8867e31 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/MainActivity.kt @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.ui + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity +import androidx.navigation.fragment.NavHostFragment +import androidx.navigation.ui.AppBarConfiguration +import androidx.navigation.ui.setupActionBarWithNavController +import io.github.nuhkoca.libbra.R +import io.github.nuhkoca.libbra.databinding.ActivityMainBinding +import io.github.nuhkoca.libbra.util.ext.viewBinding + +class MainActivity : AppCompatActivity() { + + private val binding by viewBinding(ActivityMainBinding::inflate) + + private lateinit var appBarConfiguration: AppBarConfiguration + private val navController by lazy { + val navHostFragment = + // Extension is not working, bug link: https://issuetracker.google.com/issues/142847973 + supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment + navHostFragment.navController + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(binding.root) + setSupportActionBar(binding.toolbar.toolbar) + appBarConfiguration = AppBarConfiguration.Builder(R.id.currencyFragment).build() + setupActionBarWithNavController(navController, appBarConfiguration) + } + + override fun onSupportNavigateUp(): Boolean { + return navController.navigateUp() || super.onSupportNavigateUp() + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/NavHostFragment.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/NavHostFragment.kt new file mode 100644 index 0000000..d457d75 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/NavHostFragment.kt @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.ui + +import android.content.Context +import android.os.Bundle +import androidx.fragment.app.FragmentFactory +import androidx.navigation.fragment.NavHostFragment +import io.github.nuhkoca.libbra.ui.di.MainScope +import io.github.nuhkoca.libbra.util.ext.libbraApplication +import javax.inject.Inject + +@MainScope +class NavHostFragment : NavHostFragment() { + + @Inject + lateinit var fragmentFactory: FragmentFactory + + override fun onAttach(context: Context) { + libbraApplication.appComponent.mainComponent().create().inject(this) + super.onAttach(context) + } + + override fun onCreate(savedInstanceState: Bundle?) { + childFragmentManager.fragmentFactory = fragmentFactory + super.onCreate(savedInstanceState) + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/currency/CurrencyAdapter.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/currency/CurrencyAdapter.kt new file mode 100644 index 0000000..5f2ecfc --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/currency/CurrencyAdapter.kt @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.ui.currency + +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.recyclerview.widget.DiffUtil +import androidx.recyclerview.widget.ListAdapter +import io.github.nuhkoca.libbra.data.model.view.RateViewItem +import io.github.nuhkoca.libbra.databinding.LayoutCurrencyItemBinding +import io.github.nuhkoca.libbra.ui.di.MainScope +import io.github.nuhkoca.libbra.util.event.SingleLiveEvent +import io.github.nuhkoca.libbra.util.recyclerview.BaseViewHolder +import javax.inject.Inject + +@MainScope +class CurrencyAdapter @Inject constructor( + private val itemClickLiveData: SingleLiveEvent +) : ListAdapter(DIFF_CALLBACK) { + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CurrencyViewHolder { + val inflater = LayoutInflater.from(parent.context) + val binding = LayoutCurrencyItemBinding.inflate(inflater, parent, false) + return CurrencyViewHolder(binding.root) + } + + override fun onBindViewHolder(holder: CurrencyViewHolder, position: Int) { + val rate = currentList[position] + holder.bindTo(rate) + } + + override fun onBindViewHolder( + holder: CurrencyViewHolder, + position: Int, + payloads: MutableList + ) { + if (payloads.isEmpty()) { + super.onBindViewHolder(holder, position, payloads) + } else { + val rate = currentList[position] + holder.bindTo(rate) + } + } + + inner class CurrencyViewHolder(itemView: View) : + BaseViewHolder(itemView) { + + override fun bindTo(item: RateViewItem) { + binding.rate = item + + binding.root.setOnClickListener { + val list = currentList.toMutableList() + list.removeAt(layoutPosition).also { rate -> + list.add(0, rate) + submitList(list) { itemClickLiveData.value = item.abbreviation } + } + } + + super.bindTo(item) + } + } + + private companion object { + private val DIFF_CALLBACK = object : DiffUtil.ItemCallback() { + override fun areItemsTheSame(oldItem: RateViewItem, newItem: RateViewItem): Boolean { + return oldItem.id == newItem.id + } + + override fun areContentsTheSame(oldItem: RateViewItem, newItem: RateViewItem): Boolean { + return oldItem == newItem + } + + override fun getChangePayload(oldItem: RateViewItem, newItem: RateViewItem): Any? { + return if (oldItem.id != newItem.id) newItem.id else oldItem.id + } + } + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/currency/CurrencyFragment.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/currency/CurrencyFragment.kt new file mode 100644 index 0000000..f7655a1 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/currency/CurrencyFragment.kt @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.ui.currency + +import android.os.Bundle +import android.view.View +import androidx.core.view.isVisible +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModelProvider +import androidx.lifecycle.lifecycleScope +import androidx.lifecycle.observe +import androidx.navigation.navGraphViewModels +import io.github.nuhkoca.libbra.R +import io.github.nuhkoca.libbra.data.enums.Rate +import io.github.nuhkoca.libbra.databinding.FragmentCurrencyBinding +import io.github.nuhkoca.libbra.ui.di.MainScope +import io.github.nuhkoca.libbra.util.event.SingleLiveEvent +import io.github.nuhkoca.libbra.util.ext.addLifecycleAwareTouchListener +import io.github.nuhkoca.libbra.util.ext.snackBar +import io.github.nuhkoca.libbra.util.ext.viewBinding +import javax.inject.Inject + +@MainScope +class CurrencyFragment @Inject constructor( + private val viewModelFactory: ViewModelProvider.Factory, + private val currencyAdapter: CurrencyAdapter, + private val itemClickLiveData: SingleLiveEvent +) : Fragment(R.layout.fragment_currency) { + + private val binding by viewBinding(FragmentCurrencyBinding::bind) + private val mergedBinding by viewBinding { binding.errorContainer } + private val viewModel: CurrencyViewModel by navGraphViewModels(R.id.nav_graph_main) { viewModelFactory } + + private var animate: Boolean = true + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + viewLifecycleOwner.lifecycleScope.launchWhenCreated { + itemClickLiveData.observe(viewLifecycleOwner, onChanged = { currency -> + viewModel.setBaseCurrency(Rate.valueOf(currency)) + binding.rvCurrency.scrollToPosition(0) + }) + binding.rvCurrency.setHasFixedSize(true) + binding.rvCurrency.adapter = currencyAdapter + binding.rvCurrency.addLifecycleAwareTouchListener(this@CurrencyFragment) + } + } + + override fun onActivityCreated(savedInstanceState: Bundle?) { + super.onActivityCreated(savedInstanceState) + observeViewModel() + } + + private fun observeViewModel() = with(viewModel) { + currencyLiveData.observe(viewLifecycleOwner, onChanged = { state -> + binding.pbCurrency.isVisible = state.isLoading + mergedBinding.root.isVisible = state.hasError + if (state.hasError) { + state.errorMessage?.let(binding.container::snackBar) + return@observe + } + state.data?.let { + currencyAdapter.submitList(it.rates) + if (animate) binding.rvCurrency.scheduleLayoutAnimation() + animate = false + } + }) + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/currency/CurrencyViewModel.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/currency/CurrencyViewModel.kt new file mode 100644 index 0000000..d2b7261 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/currency/CurrencyViewModel.kt @@ -0,0 +1,99 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.ui.currency + +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.Transformations +import androidx.lifecycle.ViewModel +import androidx.lifecycle.asLiveData +import androidx.lifecycle.viewModelScope +import io.github.nuhkoca.libbra.data.Result +import io.github.nuhkoca.libbra.data.enums.Rate +import io.github.nuhkoca.libbra.data.model.domain.CurrencyResponse +import io.github.nuhkoca.libbra.data.model.view.CurrencyResponseViewItem +import io.github.nuhkoca.libbra.data.succeeded +import io.github.nuhkoca.libbra.domain.usecase.CurrencyParams +import io.github.nuhkoca.libbra.domain.usecase.UseCase +import io.github.nuhkoca.libbra.ui.di.MainScope +import io.github.nuhkoca.libbra.util.coroutines.DispatcherProvider +import io.github.nuhkoca.libbra.util.mapper.Mapper +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.flow.flatMapLatest +import kotlinx.coroutines.flow.flow +import javax.inject.Inject + +@MainScope +class CurrencyViewModel @Inject constructor( + private val currencyUseCase: @JvmSuppressWildcards UseCase.FlowUseCase, + private val mapper: @JvmSuppressWildcards Mapper, + private val dispatcherProvider: DispatcherProvider +) : ViewModel() { + + private val baseCurrencyLiveData = MutableLiveData() + + private val _currencyLiveData = MutableLiveData() + + val currencyLiveData: LiveData = + Transformations.switchMap(baseCurrencyLiveData, ::getCurrencyList) + + init { + setBaseCurrency(Rate.EUR) + } + + fun setBaseCurrency(base: Rate) = apply { baseCurrencyLiveData.value = base } + + @OptIn(ExperimentalCoroutinesApi::class) + private fun getCurrencyList(base: Rate = Rate.EUR): LiveData { + return currencyUseCase.execute(CurrencyParams(base)) + .flatMapLatest { result -> + flow { + if (result.succeeded) { + result as Result.Success + val viewItem = mapper.map(result.data) + emit(currentViewState.copy(data = viewItem, isLoading = false)) + } else { + result as Result.Error + emit( + currentViewState.copy( + isLoading = false, + hasError = true, + errorMessage = result.failure.message + ) + ) + } + } + }.asLiveData(dispatcherProvider.io + viewModelScope.coroutineContext) + } + + private inline val currentViewState: CurrencyViewState + get() = _currencyLiveData.value ?: CurrencyViewState() + + /** + * A data class which represents UI State. + * + * @property data The data to be injected into + * @property isLoading The loading state + * @property hasError The flag indicates error state + * @property errorMessage The error message + */ + data class CurrencyViewState( + val data: CurrencyResponseViewItem? = null, + val isLoading: Boolean = true, + val hasError: Boolean = false, + val errorMessage: String? = null + ) +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/di/MainComponent.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/di/MainComponent.kt new file mode 100644 index 0000000..19d104d --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/di/MainComponent.kt @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.ui.di + +import dagger.Subcomponent +import io.github.nuhkoca.libbra.ui.NavHostFragment + +@MainScope +@Subcomponent(modules = [MainModule::class]) +interface MainComponent { + + @Subcomponent.Factory + interface Factory { + fun create(): MainComponent + } + + fun inject(navHostFragment: NavHostFragment) +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/di/MainModule.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/di/MainModule.kt new file mode 100644 index 0000000..c503bae --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/ui/di/MainModule.kt @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.ui.di + +import androidx.fragment.app.Fragment +import androidx.lifecycle.ViewModel +import dagger.Binds +import dagger.Module +import dagger.Provides +import dagger.multibindings.IntoMap +import io.github.nuhkoca.libbra.di.factory.FragmentKey +import io.github.nuhkoca.libbra.di.factory.ViewModelKey +import io.github.nuhkoca.libbra.ui.currency.CurrencyAdapter +import io.github.nuhkoca.libbra.ui.currency.CurrencyFragment +import io.github.nuhkoca.libbra.ui.currency.CurrencyViewModel +import io.github.nuhkoca.libbra.util.event.SingleLiveEvent +import javax.inject.Scope + +@Module +internal abstract class MainModule { + + @Binds + @IntoMap + @MainScope + @FragmentKey(CurrencyFragment::class) + internal abstract fun bindCurrencyFragment(currencyFragment: CurrencyFragment): Fragment + + @Binds + @IntoMap + @MainScope + @ViewModelKey(CurrencyViewModel::class) + internal abstract fun bindCurrencyViewModel(viewModel: CurrencyViewModel): ViewModel + + @Module + internal companion object { + + @Provides + @MainScope + internal fun provideCurrencyAdapter( + itemClickListener: SingleLiveEvent + ) = CurrencyAdapter(itemClickListener) + + @Provides + @MainScope + internal fun provideItemClickListener() = SingleLiveEvent() + } +} + +@Scope +@MustBeDocumented +internal annotation class MainScope diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/coroutines/AsyncManager.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/coroutines/AsyncManager.kt new file mode 100644 index 0000000..74565d8 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/coroutines/AsyncManager.kt @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.util.coroutines + +import io.github.nuhkoca.libbra.data.Result +import kotlinx.coroutines.flow.Flow + +/** + * A main interface to manage asynchronous calls and catch error accordingly. [DefaultAsyncManager] + * implements this interface and this interface shouldn't be implemented directly by any repository. + * Instead, [DefaultAsyncManager] reference should be specified according to the class delegation. + */ +@FunctionalInterface +interface AsyncManager { + + /** + * Handles any asynchronous call and waits for its result. This wrapper also catches errors and + * delivers to upper layer. + * + * @param body The suspend body to be called + * + * @return [T] within [Flow] builder. + */ + fun handleAsyncWithTryCatch( + body: suspend () -> T + ): Flow> +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/coroutines/DefaultAsyncManager.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/coroutines/DefaultAsyncManager.kt new file mode 100644 index 0000000..e47e63e --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/coroutines/DefaultAsyncManager.kt @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.util.coroutines + +import io.github.nuhkoca.libbra.data.Result +import io.github.nuhkoca.libbra.data.failure.Failure +import io.github.nuhkoca.libbra.data.failure.Failure.UnhandledFailure +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.delay +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.flow.channelFlow +import kotlinx.coroutines.flow.flowOn + +/** + * The default implementation of [AsyncManager]. This class is a generic handler and will cover any + * asynchronous calls accordingly. This class should be provided by the class delegation in Kotlin. + * + * @param dispatcher The [DispatcherProvider] to run calls under a specific context + */ +internal class DefaultAsyncManager(private val dispatcher: DispatcherProvider) : AsyncManager { + + /** + * Handles any asynchronous cal and waits for its result. This wrapper also catches errors and + * delivers to upper layer. + * + * @param body a suspend body + * + * @return [T] with [Result] wrapper. + */ + @ExperimentalCoroutinesApi + override fun handleAsyncWithTryCatch(body: suspend () -> T): Flow> { + return channelFlow> { + while (!isClosedForSend) { + delay(DELAY_IN_MS) + send(Result.Success(body())) + } + invokeOnClose { close() } + }.catch { e -> + when (e) { + is Failure -> emit(Result.Error(e)) + else -> emit(Result.Error(UnhandledFailure(e.message.toString()))) + } + }.flowOn(dispatcher.io) + } + + private companion object { + private const val DELAY_IN_MS = 1000L + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/coroutines/DefaultDispatcherProvider.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/coroutines/DefaultDispatcherProvider.kt new file mode 100644 index 0000000..f346aa9 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/coroutines/DefaultDispatcherProvider.kt @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.util.coroutines + +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.ExperimentalCoroutinesApi +import javax.inject.Inject +import javax.inject.Singleton + +/** + * Coroutines dispatcher implementation for [Dispatchers]. Processes will be started inside the + * specified thread by this class. + */ +@Singleton +internal class DefaultDispatcherProvider @Inject constructor() : DispatcherProvider { + + /** + * Binds [Dispatchers.Main] by default. + */ + override val main: CoroutineDispatcher + get() = Dispatchers.Main + + /** + * Binds [Dispatchers.Default] by default. + */ + override val default: CoroutineDispatcher + get() = Dispatchers.Default + + /** + * Binds [Dispatchers.IO] by default. + */ + override val io: CoroutineDispatcher + get() = Dispatchers.IO + + /** + * Binds [Dispatchers.Unconfined] by default. + */ + @ExperimentalCoroutinesApi + override val unconfined: CoroutineDispatcher + get() = Dispatchers.Unconfined +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/coroutines/DispatcherProvider.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/coroutines/DispatcherProvider.kt new file mode 100644 index 0000000..212e38c --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/coroutines/DispatcherProvider.kt @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.util.coroutines + +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers + +/** + * A main interface that manages Coroutines contex. This class also provides a crucial benefit for + * testing. + */ +interface DispatcherProvider { + + /** + * Dispatcher definition for [Dispatchers.Main] + */ + val main: CoroutineDispatcher + + /** + * Dispatcher definition for [Dispatchers.Default]. This thread should be used for heavy background + * processes. + */ + val default: CoroutineDispatcher + + /** + * Dispatcher definition for [Dispatchers.IO]. This thread should be used for IO processes. + */ + val io: CoroutineDispatcher + + /** + * Dispatcher definition for [Dispatchers.Unconfined] + */ + val unconfined: CoroutineDispatcher +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/delegates/ActivityViewBindingDelegate.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/delegates/ActivityViewBindingDelegate.kt new file mode 100644 index 0000000..0ea4501 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/delegates/ActivityViewBindingDelegate.kt @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.util.delegates + +import android.view.LayoutInflater +import androidx.appcompat.app.AppCompatActivity +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.LifecycleEventObserver +import androidx.lifecycle.LifecycleOwner +import androidx.viewbinding.ViewBinding +import kotlin.properties.ReadOnlyProperty +import kotlin.reflect.KProperty + +/** + * A [ReadOnlyProperty] to create a [ViewBinding] for requested [AppCompatActivity] + * + * @param activity The activity that has [ViewBinding] enabled + * @param viewBindingFactory The factory to initialize binding + */ +class ActivityViewBindingDelegate( + private val activity: AppCompatActivity, + private val viewBindingFactory: (LayoutInflater) -> T +) : ReadOnlyProperty, LifecycleEventObserver { + private var binding: T? = null + + init { + activity.lifecycle.addObserver(this) + } + + override fun getValue(thisRef: AppCompatActivity, property: KProperty<*>): T { + val binding = binding + if (binding != null) { + return binding + } + + val lifecycle = activity.lifecycle + if (!lifecycle.currentState.isAtLeast(Lifecycle.State.INITIALIZED)) { + throw IllegalStateException("Should not attempt to get bindings when Activity views are destroyed.") + } + + return viewBindingFactory(thisRef.layoutInflater).also { + this@ActivityViewBindingDelegate.binding = it + } + } + + override fun onStateChanged(source: LifecycleOwner, event: Lifecycle.Event) { + if (event == Lifecycle.Event.ON_DESTROY) { + binding = null + activity.lifecycle.removeObserver(this) + } + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/delegates/FragmentViewBindingDelegate.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/delegates/FragmentViewBindingDelegate.kt new file mode 100644 index 0000000..ef115cf --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/delegates/FragmentViewBindingDelegate.kt @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.util.delegates + +import android.view.View +import androidx.fragment.app.Fragment +import androidx.lifecycle.DefaultLifecycleObserver +import androidx.lifecycle.Lifecycle +import androidx.lifecycle.LifecycleOwner +import androidx.lifecycle.observe +import androidx.viewbinding.ViewBinding +import kotlin.properties.ReadOnlyProperty +import kotlin.reflect.KProperty + +/** + * A [ReadOnlyProperty] to create a [ViewBinding] for requested [Fragment] + * + * @param fragment The fragment that has [ViewBinding] enabled + * @param viewBindingFactory The factory to initialize binding + */ +class FragmentViewBindingDelegate( + private val fragment: Fragment, + private val viewBindingFactory: (View) -> T +) : ReadOnlyProperty { + private var binding: T? = null + + init { + fragment.lifecycle.addObserver(object : DefaultLifecycleObserver { + override fun onCreate(owner: LifecycleOwner) { + fragment.viewLifecycleOwnerLiveData.observe( + fragment, + onChanged = { viewLifecycleOwner -> + viewLifecycleOwner.lifecycle.addObserver(object : DefaultLifecycleObserver { + override fun onDestroy(owner: LifecycleOwner) { + binding = null + fragment.lifecycle.removeObserver(this) + } + }) + } + ) + } + }) + } + + override fun getValue(thisRef: Fragment, property: KProperty<*>): T { + val binding = binding + if (binding != null) { + return binding + } + + val lifecycle = fragment.viewLifecycleOwner.lifecycle + if (!lifecycle.currentState.isAtLeast(Lifecycle.State.INITIALIZED)) { + throw IllegalStateException("Should not attempt to get bindings when Fragment views are destroyed.") + } + + return viewBindingFactory(thisRef.requireView()).also { + this@FragmentViewBindingDelegate.binding = it + } + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/delegates/LifecycleAwareTouchListener.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/delegates/LifecycleAwareTouchListener.kt new file mode 100644 index 0000000..7e6aaa0 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/delegates/LifecycleAwareTouchListener.kt @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.util.delegates + +import android.view.MotionEvent +import androidx.fragment.app.Fragment +import androidx.lifecycle.DefaultLifecycleObserver +import androidx.lifecycle.LifecycleOwner +import androidx.lifecycle.observe +import androidx.recyclerview.widget.RecyclerView +import io.github.nuhkoca.libbra.util.ext.hideKeyboard +import io.github.nuhkoca.libbra.util.recyclerview.DefaultItemTouchListener + +/** + * A lifecycle aware touch listener for [RecyclerView]. Touch listener is bound to target fragment's + * lifecycle so that it will be handled properly. + * + * @param fragment The Fragment to bound this listener to its lifecycle + * @param recyclerView The RecyclerView to add touch listener + */ +class LifecycleAwareTouchListener( + private val fragment: Fragment, + private val recyclerView: RecyclerView +) { + + private val defaultItemTouchListener = object : DefaultItemTouchListener() { + override fun onInterceptTouchEvent(rv: RecyclerView, e: MotionEvent): Boolean { + fragment.hideKeyboard() + return super.onInterceptTouchEvent(rv, e) + } + } + + init { + fragment.lifecycle.addObserver(object : DefaultLifecycleObserver { + override fun onCreate(owner: LifecycleOwner) { + recyclerView.addOnItemTouchListener(defaultItemTouchListener) + fragment.viewLifecycleOwnerLiveData.observe( + fragment, + onChanged = { viewLifecycleOwner -> + viewLifecycleOwner.lifecycle.addObserver(object : DefaultLifecycleObserver { + override fun onDestroy(owner: LifecycleOwner) { + recyclerView.removeOnItemTouchListener(defaultItemTouchListener) + } + }) + } + ) + } + }) + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/delegates/ViewHolderBindingDelegate.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/delegates/ViewHolderBindingDelegate.kt new file mode 100644 index 0000000..9d25e81 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/delegates/ViewHolderBindingDelegate.kt @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.util.delegates + +import androidx.databinding.DataBindingUtil +import androidx.databinding.ViewDataBinding +import androidx.recyclerview.widget.RecyclerView +import kotlin.properties.ReadOnlyProperty +import kotlin.reflect.KProperty + +/** + * A [ReadOnlyProperty] to create a [ViewDataBinding] for requested [RecyclerView.ViewHolder] + * + * @param viewHolder The ViewHolder that has [ViewDataBinding] enabled + */ +class ViewHolderBindingDelegate( + private val viewHolder: RecyclerView.ViewHolder +) : ReadOnlyProperty { + private var binding: T? = null + + override fun getValue(thisRef: RecyclerView.ViewHolder, property: KProperty<*>): T { + val binding = binding + if (binding != null) { + return binding + } + + val dataBinding = DataBindingUtil.getBinding(viewHolder.itemView) + ?: throw IllegalStateException("The view is not a root View for a layout or view hasn't been bound.") + + return dataBinding.also { this.binding = it } + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/event/SingleLiveEvent.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/event/SingleLiveEvent.kt new file mode 100644 index 0000000..8bf9f06 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/event/SingleLiveEvent.kt @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.util.event + +import androidx.annotation.MainThread +import androidx.lifecycle.LifecycleOwner +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.Observer +import io.github.nuhkoca.libbra.util.ext.w +import java.util.concurrent.atomic.AtomicBoolean + +/** + * A lifecycle-aware observable that sends only new updates after subscription, used for events like + * navigation and Snackbar messages. + * + * + * This avoids a common problem with events: on configuration change (like rotation) an update + * can be emitted if the observer is active. This LiveData only calls the observable if there's an + * explicit call to setValue() or call(). + * + * + * Note that only one observer is going to be notified of changes. + */ +class SingleLiveEvent : MutableLiveData() { + private val pending = AtomicBoolean(false) + + @MainThread + override fun observe(owner: LifecycleOwner, observer: Observer) { + if (hasActiveObservers()) { + w { "Multiple observers registered but only one will be notified of changes." } + } + // Observe the internal MutableLiveData + super.observe(owner, Observer { t -> + if (pending.compareAndSet(true, false)) { + observer.onChanged(t) + } + }) + } + + @MainThread + override fun setValue(t: T?) { + pending.set(true) + super.setValue(t) + } + + /** + * Used for cases where T is Void, to make calls cleaner. + */ + @MainThread + fun call() { + value = null + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Activity.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Activity.kt new file mode 100644 index 0000000..88dfba9 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Activity.kt @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@file:JvmName("ActivityKt") + +package io.github.nuhkoca.libbra.util.ext + +import android.app.Activity +import android.content.Context.INPUT_METHOD_SERVICE +import android.view.inputmethod.InputMethodManager + +/** + * Hides keyboard from the UI. + */ +fun Activity.hideKeyboard() { + val currentFocus = currentFocus + currentFocus?.windowToken?.let { windowToken -> + + val inputManager = getSystemService(INPUT_METHOD_SERVICE) as InputMethodManager + inputManager.hideSoftInputFromWindow(windowToken, 0) + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Delegates.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Delegates.kt new file mode 100644 index 0000000..26c2e7b --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Delegates.kt @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@file:JvmName("DelegatesKt") + +package io.github.nuhkoca.libbra.util.ext + +import android.view.LayoutInflater +import android.view.View +import androidx.appcompat.app.AppCompatActivity +import androidx.databinding.ViewDataBinding +import androidx.fragment.app.Fragment +import androidx.recyclerview.widget.RecyclerView +import androidx.viewbinding.ViewBinding +import io.github.nuhkoca.libbra.util.delegates.ActivityViewBindingDelegate +import io.github.nuhkoca.libbra.util.delegates.FragmentViewBindingDelegate +import io.github.nuhkoca.libbra.util.delegates.ViewHolderBindingDelegate + +/** + * A delegation function that initializes [ViewBinding] for desired [Fragment] + * + * @param viewBindingFactory The factory to initialize binding + */ +fun Fragment.viewBinding( + viewBindingFactory: (View) -> T +) = FragmentViewBindingDelegate(this, viewBindingFactory) + +/** + * A delegation function that initializes [ViewBinding] for desired [AppCompatActivity] + * + * @param bindingInflater The inflater to inflate view + */ +fun AppCompatActivity.viewBinding( + bindingInflater: (LayoutInflater) -> T +) = ActivityViewBindingDelegate(this, bindingInflater) + +/** + * A delegation function that initializes [ViewDataBinding] for desired [RecyclerView.ViewHolder] + */ +fun RecyclerView.ViewHolder.viewHolderBinding() = + ViewHolderBindingDelegate(this) diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Fragment.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Fragment.kt new file mode 100644 index 0000000..f2679e2 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Fragment.kt @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@file:JvmName("FragmentKt") + +package io.github.nuhkoca.libbra.util.ext + +import androidx.fragment.app.Fragment +import io.github.nuhkoca.libbra.LibbraApplication + +/** + * An inline value that takes [Fragment]'s application as [LibbraApplication] + */ +inline val Fragment.libbraApplication: LibbraApplication + get() = (requireActivity().application as LibbraApplication) + +/** + * Hides keyboard from the UI. + */ +fun Fragment.hideKeyboard() = requireActivity().hideKeyboard() diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Interceptors.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Interceptors.kt new file mode 100644 index 0000000..6dbf95d --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Interceptors.kt @@ -0,0 +1,93 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@file:Suppress("unused") +@file:JvmName("InterceptorsKt") + +package io.github.nuhkoca.libbra.util.ext + +import io.github.nuhkoca.libbra.data.failure.ErrorResponse +import io.github.nuhkoca.libbra.data.failure.Failure +import io.github.nuhkoca.libbra.data.failure.Failure.CancellationFailure +import io.github.nuhkoca.libbra.data.failure.Failure.SerializationFailure +import io.github.nuhkoca.libbra.data.failure.Failure.ServerFailure +import io.github.nuhkoca.libbra.data.failure.Failure.UnhandledFailure +import kotlinx.serialization.SerializationException +import kotlinx.serialization.UnstableDefault +import kotlinx.serialization.json.Json +import kotlinx.serialization.json.JsonDecodingException +import okhttp3.Interceptor +import okhttp3.OkHttpClient +import okhttp3.Response +import java.io.IOException +import java.util.concurrent.CancellationException + +@UnstableDefault +fun OkHttpClient.Builder.errorInterceptor() = ErrorInterceptor() + +/** + * An [Interceptor] implementation for error handling. + */ +@UnstableDefault +class ErrorInterceptor : Interceptor { + + override fun intercept(chain: Interceptor.Chain): Response { + try { + // This also might throw IOException + return chain.proceed(chain.request()).apply(::checkError) + } catch (f: Failure) { + throw f + } catch (e: IOException) { + throw UnhandledFailure(e.message.toString()) + } + } + + /** + * Detects any kind of error and handle these for all requests within the module. + * + * @param response the network response + * + * @throws IOException + * @throws SerializationException + */ + @Suppress("TooGenericExceptionCaught", "ThrowsCount") + @UnstableDefault + @Throws(IOException::class, SerializationException::class) + private fun checkError(response: Response) { + if (response.isSuccessful) return + + val errorBody = response.body ?: return + /* Since string() loads entire response body into memory we should call body and string() + * functions separately. + */ + val errorString = errorBody.string() + + try { + val errorResponse = Json.parse(ErrorResponse.serializer(), errorString) + throw ServerFailure(errorResponse.message) + } catch (e: Exception) { + when (e) { + is SerializationException, is JsonDecodingException -> { + throw SerializationFailure(e.message.toString()) + } + is ServerFailure -> throw ServerFailure(e.message) + is CancellationException -> throw CancellationFailure(e.message.toString()) + else -> throw UnhandledFailure(e.message.toString()) + } + } finally { + response.close() + } + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/RecyclerView.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/RecyclerView.kt new file mode 100644 index 0000000..e9af686 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/RecyclerView.kt @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@file:JvmName("RecyclerViewKt") + +package io.github.nuhkoca.libbra.util.ext + +import androidx.fragment.app.Fragment +import androidx.recyclerview.widget.RecyclerView +import io.github.nuhkoca.libbra.util.delegates.LifecycleAwareTouchListener + +/** + * Adds lifecycle aware touch listener to target [Fragment]. + * + * @param fragment The target fragment + */ +fun RecyclerView.addLifecycleAwareTouchListener(fragment: Fragment) { + LifecycleAwareTouchListener(fragment, this) +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Snackbar.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Snackbar.kt new file mode 100644 index 0000000..443f2f4 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Snackbar.kt @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@file:JvmName("SnackbarKt") + +package io.github.nuhkoca.libbra.util.ext + +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.core.view.updateMargins +import com.google.android.material.snackbar.Snackbar + +/** + * An extension file for [Snackbar] + */ +private const val SNACKBAR_MAX_LINES_DEFAULT = 3 + +/** + * Fixes [Snackbar]'s view at a fixed size especially while in fullscreen mode. + */ +private fun View.setFixedSize() { + // Have Snackbar at fixed size when display is fullscreen + setOnApplyWindowInsetsListener { v, insets -> + v.setPadding(v.paddingLeft, v.paddingTop, v.paddingRight, v.paddingTop) + + val params = v.layoutParams as ViewGroup.MarginLayoutParams + params.updateMargins( + params.leftMargin, + params.topMargin, + params.rightMargin, + params.bottomMargin + insets.systemWindowInsetBottom + ) + v.layoutParams = params + + insets + } +} + +/** + * Show snackbar with a String message + * + * @param view target + * @param message a String message + */ +fun showSnackbar(view: View, message: String) { + val trimmedMessage = message.trimStart().trimEnd() + val snackbar = Snackbar.make(view, trimmedMessage, Snackbar.LENGTH_LONG) + val snackbarView = snackbar.view + + val textView = + snackbarView.findViewById(com.google.android.material.R.id.snackbar_text) as TextView + textView.maxLines = SNACKBAR_MAX_LINES_DEFAULT + + // Have Snackbar at fixed size when display is fullscreen + snackbarView.setFixedSize() + snackbar.show() +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Timber.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Timber.kt new file mode 100644 index 0000000..dc9cbd4 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/Timber.kt @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@file:JvmName("TimberKt") + +package io.github.nuhkoca.libbra.util.ext + +import android.annotation.SuppressLint +import timber.log.Timber + +/** + * Extension function that wraps [Timber]'s debug logging. + * + * @param message The message block + */ +@SuppressLint("TimberLogDetector") +inline fun d(crossinline message: () -> String) = log { Timber.d(message()) } + +/** + * Extension function that wraps [Timber]'s info logging. + * + * @param message The message block + */ +@SuppressLint("TimberLogDetector") +inline fun i(crossinline message: () -> String) = log { Timber.i(message()) } + +/** + * Extension function that wraps [Timber]'s warning logging. + * + * @param message The message block + */ +@SuppressLint("TimberLogDetector") +inline fun w(crossinline message: () -> String) = log { Timber.w(message()) } + +/** + * Extension function that wraps [Timber]'s error logging. + * + * @param message The message block + */ +@SuppressLint("TimberLogDetector") +inline fun e(crossinline message: () -> String) = log { Timber.e(message()) } + +/** @suppress */ +@PublishedApi +internal inline fun log(block: () -> Unit) { + if (Timber.treeCount() > 0) block() +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/View.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/View.kt new file mode 100644 index 0000000..da7c9f1 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/ext/View.kt @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.util.ext + +import android.view.View +import com.google.android.material.snackbar.Snackbar + +/** + * Show a [Snackbar] on the target view. + * + * @param message a String message + */ +fun View.snackBar(message: String) = showSnackbar(this, message) diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/mapper/Mapper.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/mapper/Mapper.kt new file mode 100644 index 0000000..81a84dd --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/mapper/Mapper.kt @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.util.mapper + +/** + * An interface to map given input to desired output. + */ +@FunctionalInterface +interface Mapper { + + /** + * A suspend function that maps given input to desired output. + * + * @param item The input + * + * @return [R] + */ + suspend fun map(item: T): R +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/recyclerview/BaseViewHolder.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/recyclerview/BaseViewHolder.kt new file mode 100644 index 0000000..c4c32b7 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/recyclerview/BaseViewHolder.kt @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.util.recyclerview + +import android.view.View +import androidx.annotation.CallSuper +import androidx.databinding.ViewDataBinding +import androidx.recyclerview.widget.RecyclerView +import io.github.nuhkoca.libbra.util.ext.viewHolderBinding + +/** + * An open base class for [RecyclerView.ViewHolder] to initialize binding and execute accordingly. + * + * @param itemView The root view + */ +open class BaseViewHolder(itemView: View) : + RecyclerView.ViewHolder(itemView) { + + internal val binding: DB by viewHolderBinding() + + /** + * Binds given item to this binding + * + * @param item represents the data + */ + @CallSuper + open fun bindTo(item: T) { + if (binding.hasPendingBindings()) { + binding.executePendingBindings() + } + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/recyclerview/DefaultItemTouchListener.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/recyclerview/DefaultItemTouchListener.kt new file mode 100644 index 0000000..df6d3f7 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/recyclerview/DefaultItemTouchListener.kt @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.util.recyclerview + +import android.view.MotionEvent +import androidx.recyclerview.widget.RecyclerView + +/** + * Default [RecyclerView.OnItemTouchListener] implementation that eliminates unused callback + * boilerplate from UI. + */ +open class DefaultItemTouchListener : RecyclerView.OnItemTouchListener { + + override fun onTouchEvent(rv: RecyclerView, e: MotionEvent) { + // no-op + } + + override fun onInterceptTouchEvent(rv: RecyclerView, e: MotionEvent): Boolean { + return false + } + + override fun onRequestDisallowInterceptTouchEvent(disallowIntercept: Boolean) { + // no-op + } +} diff --git a/app/src/main/kotlin/io/github/nuhkoca/libbra/util/widget/CurrencyEditText.kt b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/widget/CurrencyEditText.kt new file mode 100644 index 0000000..8f9a0f2 --- /dev/null +++ b/app/src/main/kotlin/io/github/nuhkoca/libbra/util/widget/CurrencyEditText.kt @@ -0,0 +1,101 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.util.widget + +import android.content.Context +import android.text.Editable +import android.text.TextWatcher +import android.util.AttributeSet +import com.google.android.material.textfield.TextInputEditText +import java.text.DecimalFormat +import java.text.NumberFormat +import java.text.ParseException +import java.util.* + +/** + * A custom [TextInputEditText] implementation which is designed for currency handling according to + * the current locale. + * + * @param context The context + * @param attributeSet The attribute set for the view + */ +class CurrencyEditText @JvmOverloads constructor( + context: Context, + attributeSet: AttributeSet? = null +) : TextInputEditText(context, attributeSet) { + + private var isEditing = false + + private val textWatcher = object : TextWatcher { + + @Synchronized + override fun afterTextChanged(s: Editable) { + if (isEditing) return + isEditing = true + val formattedAmount = parseText(s.toString()) + setText(formatText(formattedAmount)) + setSelection(length()) + isEditing = false + } + + override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) { + if (isEditing) return + } + + override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) { + if (isEditing) return + } + } + + /** + * Parses given string to desired number as a currency + * + * @param text The text to be parsed + * + * @return [Number] + */ + private fun parseText(text: String): Number? { + return try { + formatter.parse(text) + } catch (e: ParseException) { + 1 + } + } + + /** + * Formats given number to desired text + * + * @param number The number to be formatted + * + * @return [String] + */ + private fun formatText(number: Number?) = formatter.format(number) + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + addTextChangedListener(textWatcher) + } + + override fun onDetachedFromWindow() { + super.onDetachedFromWindow() + removeTextChangedListener(textWatcher) + } + + private companion object { + private inline val formatter: NumberFormat + get() = DecimalFormat.getInstance(Locale.getDefault()) + } +} diff --git a/app/src/main/res/anim/item_animation_fall_down.xml b/app/src/main/res/anim/item_animation_fall_down.xml new file mode 100644 index 0000000..68b0021 --- /dev/null +++ b/app/src/main/res/anim/item_animation_fall_down.xml @@ -0,0 +1,22 @@ + + + + + + + + diff --git a/app/src/main/res/anim/layout_animation_fall_down.xml b/app/src/main/res/anim/layout_animation_fall_down.xml new file mode 100644 index 0000000..2fc1100 --- /dev/null +++ b/app/src/main/res/anim/layout_animation_fall_down.xml @@ -0,0 +1,5 @@ + + diff --git a/app/src/main/res/color/currency_edit_text_selector.xml b/app/src/main/res/color/currency_edit_text_selector.xml new file mode 100644 index 0000000..35cf571 --- /dev/null +++ b/app/src/main/res/color/currency_edit_text_selector.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..0c0e9ff --- /dev/null +++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,59 @@ + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_aud.xml b/app/src/main/res/drawable/ic_aud.xml new file mode 100644 index 0000000..5df7248 --- /dev/null +++ b/app/src/main/res/drawable/ic_aud.xml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_bgn.xml b/app/src/main/res/drawable/ic_bgn.xml new file mode 100644 index 0000000..bf201b3 --- /dev/null +++ b/app/src/main/res/drawable/ic_bgn.xml @@ -0,0 +1,9 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_brl.xml b/app/src/main/res/drawable/ic_brl.xml new file mode 100644 index 0000000..0ddb920 --- /dev/null +++ b/app/src/main/res/drawable/ic_brl.xml @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_cad.xml b/app/src/main/res/drawable/ic_cad.xml new file mode 100644 index 0000000..0abc883 --- /dev/null +++ b/app/src/main/res/drawable/ic_cad.xml @@ -0,0 +1,13 @@ + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_chf.xml b/app/src/main/res/drawable/ic_chf.xml new file mode 100644 index 0000000..c883340 --- /dev/null +++ b/app/src/main/res/drawable/ic_chf.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_cny.xml b/app/src/main/res/drawable/ic_cny.xml new file mode 100644 index 0000000..4039527 --- /dev/null +++ b/app/src/main/res/drawable/ic_cny.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_czk.xml b/app/src/main/res/drawable/ic_czk.xml new file mode 100644 index 0000000..3d6e91d --- /dev/null +++ b/app/src/main/res/drawable/ic_czk.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/app/src/main/res/drawable/ic_dkk.xml b/app/src/main/res/drawable/ic_dkk.xml new file mode 100644 index 0000000..c039d3a --- /dev/null +++ b/app/src/main/res/drawable/ic_dkk.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_eur.xml b/app/src/main/res/drawable/ic_eur.xml new file mode 100644 index 0000000..c89c69e --- /dev/null +++ b/app/src/main/res/drawable/ic_eur.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_gbp.xml b/app/src/main/res/drawable/ic_gbp.xml new file mode 100644 index 0000000..2de019f --- /dev/null +++ b/app/src/main/res/drawable/ic_gbp.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_hkd.xml b/app/src/main/res/drawable/ic_hkd.xml new file mode 100644 index 0000000..e8baf94 --- /dev/null +++ b/app/src/main/res/drawable/ic_hkd.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_hrk.xml b/app/src/main/res/drawable/ic_hrk.xml new file mode 100644 index 0000000..d72520b --- /dev/null +++ b/app/src/main/res/drawable/ic_hrk.xml @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_huf.xml b/app/src/main/res/drawable/ic_huf.xml new file mode 100644 index 0000000..4e0a922 --- /dev/null +++ b/app/src/main/res/drawable/ic_huf.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/app/src/main/res/drawable/ic_idr.xml b/app/src/main/res/drawable/ic_idr.xml new file mode 100644 index 0000000..d391082 --- /dev/null +++ b/app/src/main/res/drawable/ic_idr.xml @@ -0,0 +1,10 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_ils.xml b/app/src/main/res/drawable/ic_ils.xml new file mode 100644 index 0000000..b6c37ee --- /dev/null +++ b/app/src/main/res/drawable/ic_ils.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_inr.xml b/app/src/main/res/drawable/ic_inr.xml new file mode 100644 index 0000000..2df3726 --- /dev/null +++ b/app/src/main/res/drawable/ic_inr.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_isk.xml b/app/src/main/res/drawable/ic_isk.xml new file mode 100644 index 0000000..033f7c0 --- /dev/null +++ b/app/src/main/res/drawable/ic_isk.xml @@ -0,0 +1,16 @@ + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_jpy.xml b/app/src/main/res/drawable/ic_jpy.xml new file mode 100644 index 0000000..42a13cc --- /dev/null +++ b/app/src/main/res/drawable/ic_jpy.xml @@ -0,0 +1,11 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_krw.xml b/app/src/main/res/drawable/ic_krw.xml new file mode 100644 index 0000000..57fac54 --- /dev/null +++ b/app/src/main/res/drawable/ic_krw.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..0c0e9ff --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,59 @@ + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_mxn.xml b/app/src/main/res/drawable/ic_mxn.xml new file mode 100644 index 0000000..4d92bdd --- /dev/null +++ b/app/src/main/res/drawable/ic_mxn.xml @@ -0,0 +1,759 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_myr.xml b/app/src/main/res/drawable/ic_myr.xml new file mode 100644 index 0000000..631a10a --- /dev/null +++ b/app/src/main/res/drawable/ic_myr.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_nok.xml b/app/src/main/res/drawable/ic_nok.xml new file mode 100644 index 0000000..4ad70a0 --- /dev/null +++ b/app/src/main/res/drawable/ic_nok.xml @@ -0,0 +1,15 @@ + + + + + + + + diff --git a/app/src/main/res/drawable/ic_nzd.xml b/app/src/main/res/drawable/ic_nzd.xml new file mode 100644 index 0000000..d78caab --- /dev/null +++ b/app/src/main/res/drawable/ic_nzd.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_php.xml b/app/src/main/res/drawable/ic_php.xml new file mode 100644 index 0000000..76c5300 --- /dev/null +++ b/app/src/main/res/drawable/ic_php.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_pln.xml b/app/src/main/res/drawable/ic_pln.xml new file mode 100644 index 0000000..6bf8c91 --- /dev/null +++ b/app/src/main/res/drawable/ic_pln.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_ron.xml b/app/src/main/res/drawable/ic_ron.xml new file mode 100644 index 0000000..28bd1a9 --- /dev/null +++ b/app/src/main/res/drawable/ic_ron.xml @@ -0,0 +1,9 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_rub.xml b/app/src/main/res/drawable/ic_rub.xml new file mode 100644 index 0000000..01a0c34 --- /dev/null +++ b/app/src/main/res/drawable/ic_rub.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/app/src/main/res/drawable/ic_sek.xml b/app/src/main/res/drawable/ic_sek.xml new file mode 100644 index 0000000..4df7dbd --- /dev/null +++ b/app/src/main/res/drawable/ic_sek.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/app/src/main/res/drawable/ic_sgd.xml b/app/src/main/res/drawable/ic_sgd.xml new file mode 100644 index 0000000..b330139 --- /dev/null +++ b/app/src/main/res/drawable/ic_sgd.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_thb.xml b/app/src/main/res/drawable/ic_thb.xml new file mode 100644 index 0000000..43603f5 --- /dev/null +++ b/app/src/main/res/drawable/ic_thb.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_unknown.xml b/app/src/main/res/drawable/ic_unknown.xml new file mode 100644 index 0000000..fd0c379 --- /dev/null +++ b/app/src/main/res/drawable/ic_unknown.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_usd.xml b/app/src/main/res/drawable/ic_usd.xml new file mode 100644 index 0000000..d0b09d0 --- /dev/null +++ b/app/src/main/res/drawable/ic_usd.xml @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_zar.xml b/app/src/main/res/drawable/ic_zar.xml new file mode 100644 index 0000000..3f308c6 --- /dev/null +++ b/app/src/main/res/drawable/ic_zar.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/font/montserrat.xml b/app/src/main/res/font/montserrat.xml new file mode 100644 index 0000000..1f2f8e5 --- /dev/null +++ b/app/src/main/res/font/montserrat.xml @@ -0,0 +1,6 @@ + + diff --git a/app/src/main/res/font/montserrat_bold.xml b/app/src/main/res/font/montserrat_bold.xml new file mode 100644 index 0000000..3eb178d --- /dev/null +++ b/app/src/main/res/font/montserrat_bold.xml @@ -0,0 +1,6 @@ + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..952225d --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/app/src/main/res/layout/fragment_currency.xml b/app/src/main/res/layout/fragment_currency.xml new file mode 100644 index 0000000..311d547 --- /dev/null +++ b/app/src/main/res/layout/fragment_currency.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + diff --git a/app/src/main/res/layout/layout_currency_item.xml b/app/src/main/res/layout/layout_currency_item.xml new file mode 100644 index 0000000..79ba345 --- /dev/null +++ b/app/src/main/res/layout/layout_currency_item.xml @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/layout_custom_toolbar.xml b/app/src/main/res/layout/layout_custom_toolbar.xml new file mode 100644 index 0000000..a243f87 --- /dev/null +++ b/app/src/main/res/layout/layout_custom_toolbar.xml @@ -0,0 +1,13 @@ + + + + diff --git a/app/src/main/res/layout/layout_error_view.xml b/app/src/main/res/layout/layout_error_view.xml new file mode 100644 index 0000000..f0b7a25 --- /dev/null +++ b/app/src/main/res/layout/layout_error_view.xml @@ -0,0 +1,35 @@ + + + + + + + + diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..5ed0a2d --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..5ed0a2d --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..b9b483e533a4f0338a4689bcf264b8f4dc13f1bf GIT binary patch literal 2226 zcmV;j2u=5iP)f;#hfz`V)a*&Fib zG)B$+`}YaBckiC!F{n$;l`B`KNg`?J`eZ@15P0|Q-8=3C=)?paXB8(uuCpTqO~L2Q zn>YRKyY{ua62!Q3`}S>WYirvAU8N8-d0=25 z8^Yuy=+dQ2bo6L7@$4K{_Unlgl#!W9_+^LYqb}N@tz6@PPMko{PUtFypeg|dV`S)3k&JSjT?`Y6%`ecPH({8@GuW`P#0~`R?Zm&f^0ThK6I5zP_Enr@v;@O z#4rL$j}v4k2X)Z~ZO4G10?7njym&EBZi0ZTSFb)G$@qXI`*Isf5b^{$#s}n}jof<> z2x@L_E_5k^Zr!>?JTs}QtBX=oQ%R%srGkP2>g(&HoSaMczItaqX+q3sNwPkcTqlqb}N@t=kjS-~TTiJa~}y?%gX;RtA(k z{QiG_nJBY=M;o+tdxBia4)PGBM1t6~rxR=tN&(usH9_qi9TX54L^_Qx=`}j1fHr6g z8E#1s?3%>HBnnjfQRVFQR694rDIDfDXq%XnG@_fLXo9#s9jU4!A3nN^!&9g?wtz0g z7CHsAL0iZ;a->SgbQ^+T#m9+jy1%S&-=#1Yr=ckX7C)`gLxW zWOD2{F)vHV%4V66t$2dYoH;{&CNrh`$BmjCJJzu*KR*+lX4#4+=mu}5Y3b=SOJ$%I z>$kEI)XK8_S!P;V`mm6Rq6lhiY!rUf_Tc5Rkz>cVEYqMjQbR+dG6_OdFgYcKA~dt; z)Pii;32I}R5gLD5ot!c(0;vdse*67*G8+6SFZ5&C$+6@6&{d+3`ucih5rnu+>YB9_ zsr9G7tly2O+#i;$v^D4>IyUF4ClXN2WvGL?Bb8%jMri{mB{fw_tZ3p0ve{b5Y@Q|d ziKi`*Xl)?H=)hweVvh^41%}~1qFw&trE}f!LyHRY~ryzQ@UgF zALip4c_?dr!V(>d_1srrP%!oM^twJl`}XZ8ok~l`=Vm&z(PoFNB(=Ai4n?hdn0ILQ zI?hv34wpG`^P_@}%;}U%> z;XdQy!Djzn(|z%}xm@%jtGR+CPr7p{%V5>!%B zLVBL+O_nWA*)z@7?d&=j=|f|*KmcFcIL{dwI1teH?mc^4m!QO?)naq)bZ~k7y)cjV z^J!HQu|^!}K0I>($S8?eE6PyE5n1RHOLN)s6|PATqI~eMGXp<(=ILce-Mo#$>D2pZ zNyo4gglptsR@KehfYKknPx+lNlIwYeTaN2{ypJs#YjY`95{7UJ{+q(&WKG-3=t{q(cz z5ma3Kqu3Yg*E=v2hfm3zvM7 zjRt4g;*QaWQ4Ej4L5Fqx3Bv7VwOUKX{7Xu?y(|^z3(l%WqZN+}yR0vU2ea{jf?1^( z4;+jaL9o1WKqM!pICHmkV&Xx)y}dMlzD3wXjt0#}gR1B+h4;U3Q4C$|>r+Nd8Znvq z7OQYX%OXAzK`^`^V&?INTxbQyv`1j;b$s-ibgR$u~I zb)n*BKm-$$lbcKD&Yc_WLsYU5B-^_hPzEvUqT*r^*q`MeKsvQAg|YvJ2x5XUni5SG zT4tOp2(d* zH8nM}j&DL&r~hc6w6qiiy&Mn_pt9L)&6h7<7JCN-D;Zc;0|Nup(9mErnM_*fn3k3{ zWs;PnR;!=qk2e_aZr;2(wX(8uS8Z+WzUu1gvYMKjy+d*A*s({hAOG%Xow1NP_*sUr zLkH*rouJ#ynKNG)&7UuL&6qLcMgDw^@fPE4#ybkf+k?8iI(_=|m!RXQ|Koy5n#!~3 zW&WJTLSIobpu?apQzwl<@^TY+k|%kRCn+NR2dz4VuXgjr#sB~S07*qoM6N<$g7URU A%>V!Z literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..3ba54c65e2c71c2033c158c8d39ad1701dbbebfe GIT binary patch literal 4175 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 Z{U6{nNGWp0D+B-l002ovPDHLkV1lXxE$sjR literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..7bc199fcd047d92ca95956e793999b6ce48f2ae8 GIT binary patch literal 1508 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 KMNUMnLSTaM)eqwU literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..63234725d4f7e0cf7ddec68c56c2f3bf52a0e475 GIT binary patch literal 6035 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 z zX=!2p0fBPd1%}dl$3%VHs!jmaTX+K3ti}KQzJt_pDPKQ7*3j5U0GXqG`}WB#%UC00 zjV(7u002RXr%$kb`1~) zP{p$-TfLe9GDpjbiseJwWTj|hMgeG3NQOy3szn5lIm%Y|exVz^B`nvj0eY9;zoR;w zkeZfG0GXro^b8p&e4CXbju{0YOqYm2<+EnZCVErXwjlV={RlHmwWfIHVQGZ2_Q3szyjjn6ohfv9#LSI0O7vf)m4cR zk&zY+xX|y{0~Id5d3-^E&vd&4sK9r+d{1W=Fnh1Jx^kapNuXfM7H z4rFmrhY)c8J2eRZYZm~a7Rt@d>l6*_RNTsb4bO?#l`>KYl%KzVwOP3Kv8&(;jZIC; z_FmJFyhb~X(2`47lP5;q3}6)&&Q6~`O~DoV8eH?Ek3NzPHT(js(rfBx5CI+xT#9K6 zH+K(ZYqwT`$L%UY8KP6X`uD%fC}r5{lFcEqbbu#o=_GHqG8K3_oMtEI3GB7kHfVZw zhTR3(#KT<{5jOJGCw-)8HP9ULa!=xm7I zrw{@-(LF>4Mlb~@E-qf#VXF067z9vn9ts!YDpzul;^PyPqmxVxh;bIo>?14-0+zoO zI$r?_PHj&Pi#xBbSUeiDLOH^_A~;hS1jMmV9=AXvnyP1}O=s2B)e7i_cvb{Z_ow?H zI3>d5`uhjSV4b%L3%0^se3T##SU!p-2afJPg45Y14n`G+Y-4Z+dyV^4Sf5?s`z(9G zD~3Jo9?X53NzBF3xy#?hU|`UcV3wD^fYsLSVwW^L_ksY@xX0GgazwN!Ut z;d2c5;d%fApKE@0Hmj(pP}VFPt)?+7K(D|4`X4zw?Y0Kc?Huq!hYu^YMn%OYwyLa* zy|}DM39l#|BLz&z?e&PggCcm}Wdo~3qJ3D*4ZUFI2h9I-@^77wvcrNz` zfb3BMpvK0=D|6<|`Cr&HF)`6WbAW<_g9jrsUtix*SFc`eQ31L^MzJ~Ffb9+(IB;(4 z*s)_^Q)g%AAp>+sgLsB_@z;^Or?VY};51(+gV>h1-L7L0mN& z@8E&+j7YednVCtjp=wJ9JpqEVHDdJW(GT+1U-N1(?*#AGViyIfMhH$CJbjY&r8>-t zT`+n3*=L`zrAwCSRBfsYKm*ja5>?*Fd+)vXG5-47oSdAbnwpwc-YrxH z)8JfFGERcS+|<;Bv95DzX=yLOW~%K*sHs0B}P+eWUpVvA?+(sDlc|x_> z{i+Qe^sIeMYauw(|G_m{b;cfdaB%no*B>8y>@k<1prDY*$jAup;ghVOu&}U*z`(%J zhaY~}h1=vw*akLIZ8ci8-B7)2AJbZBuv-10Aftv39XjT|`|f*u`0(MsDJ5$q*9uFf2IT0Y$Q|C{dzBi4rABlqgZ6 jM2Qk5N|Y#3>QnlEVI{u{ks2Nt00000NkvXXu0mjfy02^L literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..016ca0c00a89ed6a688c31267e244f6e0bd7c5af GIT binary patch literal 9395 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 G4*4Iwl+tJb literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..8dd20db0f476f2833bd7e768b2f29e461f137bff GIT binary patch literal 13402 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 + + + + diff --git a/app/src/main/res/raw/empty.json b/app/src/main/res/raw/empty.json new file mode 100644 index 0000000..f79bf38 --- /dev/null +++ b/app/src/main/res/raw/empty.json @@ -0,0 +1 @@ +{"v":"4.7.0","fr":25,"ip":0,"op":50,"w":120,"h":120,"nm":"Comp 1","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"ruoi","ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.967]},"o":{"x":[0.167],"y":[0.033]},"n":["0p833_0p967_0p167_0p033"],"t":35,"s":[100],"e":[0]},{"t":49}]},"r":{"a":0,"k":0},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0,"y":0},"n":"0p833_0p833_0_0","t":0,"s":[57.361,61.016,0],"e":[57.699,41.796,0],"to":[-4.67500305175781,-4.12800598144531,0],"ti":[-13.9099960327148,5.27300262451172,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":10.219,"s":[57.699,41.796,0],"e":[79.084,33.982,0],"to":[12.8159942626953,-4.85800170898438,0],"ti":[-4.54498291015625,3.73400115966797,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":19.445,"s":[79.084,33.982,0],"e":[59.691,9.121,0],"to":[6.61601257324219,-5.43799591064453,0],"ti":[20.0290069580078,1.20700073242188,0]},{"t":35}]},"a":{"a":0,"k":[60.531,10.945,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.994,0],[0,-0.994],[0.995,0],[0,0.994]],"o":[[0.995,0],[0,0.994],[-0.994,0],[0,-0.994]],"v":[[-0.001,-1.801],[1.801,-0.001],[-0.001,1.801],[-1.801,-0.001]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.529,0.529,0.529,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[62.4,13.144],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.422,0],[0,-1.422],[1.421,0],[0,1.422]],"o":[[1.421,0],[0,1.422],[-1.422,0],[0,-1.422]],"v":[[0.001,-2.574],[2.574,0],[0.001,2.574],[-2.574,0]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.529,0.529,0.529,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":0.7},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[64.145,9.606],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.996,0],[0,-1.996],[1.996,0],[0,1.996]],"o":[[1.996,0],[0,1.996],[-1.996,0],[0,-1.996]],"v":[[0,-3.614],[3.614,0],[0,3.614],[-3.614,0]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.529,0.529,0.529,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":0.7},"lc":1,"lj":1,"ml":10,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"fl","c":{"a":0,"k":[1,1,1,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[57.957,10.552],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3","np":3,"cix":2,"ix":3,"mn":"ADBE Vector Group"},{"ty":"tr","p":{"a":0,"k":[60.531,10.941],"ix":2},"a":{"a":0,"k":[60.531,10.941],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"ruoi","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":50,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"Shape Layer 2","ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.967]},"o":{"x":[0.167],"y":[0.033]},"n":["0p833_0p967_0p167_0p033"],"t":35,"s":[100],"e":[0]},{"t":49}]},"r":{"a":0,"k":0},"p":{"a":0,"k":[-0.75,-0.75,0]},"a":{"a":0,"k":[0,0,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-13.91,5.273],[-4.545,3.734],[20.029,1.207]],"o":[[-4.675,-4.128],[12.816,-4.858],[6.616,-5.438],[0,0]],"v":[[-7.383,24.76],[-7.046,5.54],[14.34,-2.273],[-3.178,-24.76]],"c":false}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"st","c":{"a":0,"k":[0.627,0.627,0.627,1]},"o":{"a":0,"k":100},"w":{"a":0,"k":1},"lc":2,"lj":2,"d":[{"n":"d","nm":"dash","v":{"a":0,"k":2.028}},{"n":"g","nm":"gap","v":{"a":0,"k":2.028}},{"n":"o","nm":"offset","v":{"a":0,"k":0}}],"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke"},{"ty":"tr","p":{"a":0,"k":[67.87,37.631],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.953]},"o":{"x":[0.167],"y":[0.033]},"n":["0p833_0p953_0p167_0p033"],"t":0,"s":[0],"e":[100]},{"t":35}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim"}],"ip":0,"op":50,"st":0,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"im_emptyBox Outlines","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[60,60,0]},"a":{"a":0,"k":[60,60,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-0.001,-16.607],[-32.143,-0.002],[-0.001,16.607],[32.144,-0.002]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.8,0.82,0.851,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[60,55.75],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[12.856,-23.249],[0,-16.605],[-12.857,-23.249],[-45,-6.641],[-32.144,0.001],[-45,6.645],[-12.857,23.249],[0,16.609],[12.856,23.249],[45,6.645],[32.143,0.001],[45,-6.641]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.957,0.957,0.957,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[60,55.748],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 8","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-16.072,24.171],[16.072,11.312],[16.072,-24.171],[-16.072,-24.171]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.902,0.914,0.929,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[76.072,83.33],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 9","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-32.143,-24.171],[-32.143,11.311],[-0.001,24.171],[32.144,11.311],[32.144,-24.171]],"c":true}},"nm":"Path 1","mn":"ADBE Vector Shape - Group"},{"ty":"fl","c":{"a":0,"k":[0.8,0.82,0.851,1]},"o":{"a":0,"k":100},"r":1,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill"},{"ty":"tr","p":{"a":0,"k":[60,83.33],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 10","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group"},{"ty":"tr","p":{"a":0,"k":[60,60.186],"ix":2},"a":{"a":0,"k":[60,60.186],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"box","np":4,"cix":2,"ix":1,"mn":"ADBE Vector Group"}],"ip":0,"op":50,"st":0,"bm":0,"sr":1}]} \ No newline at end of file diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml new file mode 100644 index 0000000..56bb043 --- /dev/null +++ b/app/src/main/res/values-night/colors.xml @@ -0,0 +1,5 @@ + + + + #FFFFFF + diff --git a/app/src/main/res/values-night/styles.xml b/app/src/main/res/values-night/styles.xml new file mode 100644 index 0000000..6ecbec8 --- /dev/null +++ b/app/src/main/res/values-night/styles.xml @@ -0,0 +1,6 @@ + + + + + + + + + + + + + + diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/UnitTestSuite.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/UnitTestSuite.kt new file mode 100644 index 0000000..51e4b88 --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/UnitTestSuite.kt @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra + +import io.github.nuhkoca.libbra.data.datasource.CurrencyRemoteDataSourceTest +import io.github.nuhkoca.libbra.data.mapper.CurrencyDomainMapperTest +import io.github.nuhkoca.libbra.data.serializers.RateSerializerTest +import io.github.nuhkoca.libbra.data.service.CurrencyServiceTest +import io.github.nuhkoca.libbra.data.verifier.RevolutHostnameVerifierTest +import io.github.nuhkoca.libbra.domain.mapper.CurrencyViewItemMapperTest +import io.github.nuhkoca.libbra.domain.repository.CurrencyRepositoryTest +import io.github.nuhkoca.libbra.domain.usecase.CurrencyUseCaseTest +import io.github.nuhkoca.libbra.ui.currency.CurrencyViewModelTest +import io.github.nuhkoca.libbra.util.coroutines.DefaultAsyncManagerTest +import org.junit.runner.RunWith +import org.junit.runners.Suite + +/** + * A unit test suite to execute all the test classes under this module. + */ +@RunWith(Suite::class) +@Suite.SuiteClasses( + CurrencyRemoteDataSourceTest::class, + CurrencyDomainMapperTest::class, + RateSerializerTest::class, + CurrencyServiceTest::class, + RevolutHostnameVerifierTest::class, + CurrencyViewItemMapperTest::class, + CurrencyRepositoryTest::class, + CurrencyUseCaseTest::class, + CurrencyViewModelTest::class, + DefaultAsyncManagerTest::class +) +object UnitTestSuite diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/data/datasource/CurrencyRemoteDataSourceTest.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/data/datasource/CurrencyRemoteDataSourceTest.kt new file mode 100644 index 0000000..a4a2375 --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/data/datasource/CurrencyRemoteDataSourceTest.kt @@ -0,0 +1,134 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.datasource + +import BaseTestClass +import androidx.test.filters.MediumTest +import com.google.common.truth.Truth.assertThat +import io.github.nuhkoca.libbra.data.Result +import io.github.nuhkoca.libbra.data.enums.Rate +import io.github.nuhkoca.libbra.data.model.domain.CurrencyResponse +import io.github.nuhkoca.libbra.data.model.raw.CurrencyResponseRaw +import io.github.nuhkoca.libbra.data.service.CurrencyService +import io.github.nuhkoca.libbra.data.shared.rule.CoroutinesTestRule +import io.github.nuhkoca.libbra.shared.assertion.test +import io.github.nuhkoca.libbra.shared.ext.runBlockingTest +import io.github.nuhkoca.libbra.util.mapper.Mapper +import io.mockk.coEvery +import io.mockk.coVerifyOrder +import io.mockk.confirmVerified +import io.mockk.every +import io.mockk.impl.annotations.MockK +import io.mockk.impl.annotations.RelaxedMockK +import io.mockk.slot +import kotlinx.coroutines.ExperimentalCoroutinesApi +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.junit.MockitoJUnitRunner + +/** + * A test rule for [CurrencyRemoteDataSource] + */ +@RunWith(MockitoJUnitRunner::class) +@MediumTest +class CurrencyRemoteDataSourceTest : BaseTestClass() { + + /* + ------------ + | Rules | + ------------ + */ + @ExperimentalCoroutinesApi + @get:Rule + val coroutinesTestRule = CoroutinesTestRule() + + /* + ------------- + | Mocks | + ------------- + */ + @MockK + private lateinit var currencyService: CurrencyService + + @MockK + private lateinit var mapper: Mapper + + @RelaxedMockK + private lateinit var currencyResponseRaw: CurrencyResponseRaw + + @RelaxedMockK + private lateinit var currencyResponse: CurrencyResponse + + /* + ----------------------- + | Private members | + ----------------------- + */ + private lateinit var dataSource: DataSource + private val currencySlot = slot() + + @ExperimentalCoroutinesApi + override fun setUp() { + super.setUp() + + coEvery { currencyService.getCurrencyList(capture(currencySlot)) } returns currencyResponseRaw + coEvery { mapper.map(any()) } returns currencyResponse + + every { currencyResponse.baseCurrency } returns "CNY" + + dataSource = CurrencyRemoteDataSource( + currencyService, + mapper, + coroutinesTestRule.testDispatcherProvider + ) + } + + @Test + @ExperimentalCoroutinesApi + fun `data source should return data`() = coroutinesTestRule.runBlockingTest { + // Given + val base = Rate.CNY + + // When + val flow = dataSource.getCurrencyList(base) + + // Then + flow.test { + expectItem().run { + assertThat(this).isNotNull() + assertThat(this).isInstanceOf(Result.Success::class.java) + this as Result.Success + assertThat(data.baseCurrency).isEqualTo(currencySlot.captured.name) + assertThat(data.rates).isNotNull() + } + cancel() + expectNoMoreEvents() + } + + /* + * Verify order of calls + * e.g. first currencyService should be called and then mapper + */ + coVerifyOrder { + currencyService.getCurrencyList(any()) + mapper.map(any()) + } + + confirmVerified(currencyService) + confirmVerified(mapper) + } +} diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/data/enums/RateTest.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/data/enums/RateTest.kt new file mode 100644 index 0000000..bd2f067 --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/data/enums/RateTest.kt @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.enums + +import androidx.test.filters.SmallTest +import com.google.common.truth.Truth.assertThat +import org.junit.jupiter.params.ParameterizedTest +import org.junit.jupiter.params.provider.EnumSource + +/** + * A parameterized test class for [Rate] + */ +@SmallTest +class RateTest { + + /** + * A parameterized test function that iterates and performs test on all rates. + * + * @param rate represents any [Rate] + */ + @ParameterizedTest + @EnumSource(Rate::class) + fun `any rate length should be at least 3`(rate: Rate) { + assertThat(rate.name).isNotNull() + // We know all rates 3-digit length except UNKNOWN + assertThat(rate.name.length).isAtLeast(3) + } +} diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/data/mapper/CurrencyDomainMapperTest.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/data/mapper/CurrencyDomainMapperTest.kt new file mode 100644 index 0000000..47d167d --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/data/mapper/CurrencyDomainMapperTest.kt @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.mapper + +import androidx.test.filters.SmallTest +import com.google.common.truth.Truth.assertThat +import io.github.nuhkoca.libbra.data.enums.Rate +import io.github.nuhkoca.libbra.data.model.domain.CurrencyResponse +import io.github.nuhkoca.libbra.data.model.raw.CurrencyResponseRaw +import io.github.nuhkoca.libbra.data.shared.rule.CoroutinesTestRule +import io.github.nuhkoca.libbra.shared.ext.runBlockingTest +import io.github.nuhkoca.libbra.util.mapper.Mapper +import kotlinx.coroutines.ExperimentalCoroutinesApi +import org.junit.Before +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.junit.MockitoJUnitRunner +import io.github.nuhkoca.libbra.data.model.domain.Rate as DomainRate + +/** + * A test class for [CurrencyDomainMapper] + */ +@RunWith(MockitoJUnitRunner::class) +@SmallTest +class CurrencyDomainMapperTest { + + /* + ------------ + | Rules | + ------------ + */ + @ExperimentalCoroutinesApi + @get:Rule + val coroutinesTestRule = CoroutinesTestRule() + + /* + ----------------------- + | Private members | + ----------------------- + */ + private lateinit var mapper: Mapper + + @Before + @ExperimentalCoroutinesApi + fun setUp() { + mapper = CurrencyDomainMapper(coroutinesTestRule.testDispatcherProvider) + } + + @Test + @ExperimentalCoroutinesApi + fun `mapper should map raw data to domain type properly`() = + coroutinesTestRule.runBlockingTest { + // Given + val currencyResponseRaw = CurrencyResponseRaw( + baseCurrency = "EUR", + rates = mapOf(Rate.CZK to 1.2f, Rate.AUD to 3.5f) + ) + + // When + val response = mapper.map(currencyResponseRaw) + + // Then + assertThat(response).isNotNull() + assertThat(response.rates).isNotNull() + assertThat(response.rates).hasSize(2) + assertThat(response.rates).containsExactlyElementsIn( + listOf(DomainRate(Rate.CZK, 1.2f), DomainRate(Rate.AUD, 3.5f)) + ).inOrder() + } +} diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/data/serializers/RateSerializerTest.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/data/serializers/RateSerializerTest.kt new file mode 100644 index 0000000..19ebf9d --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/data/serializers/RateSerializerTest.kt @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.serializers + +import androidx.test.filters.SmallTest +import com.google.common.truth.Truth.assertThat +import io.github.nuhkoca.libbra.data.enums.Rate +import kotlinx.serialization.UnstableDefault +import kotlinx.serialization.json.Json +import kotlinx.serialization.json.JsonConfiguration +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.junit.MockitoJUnitRunner + +/** + * A test class for [RateSerializer] + */ +@RunWith(MockitoJUnitRunner::class) +@SmallTest +class RateSerializerTest { + + /* + ----------------------- + | Private members | + ----------------------- + */ + private val serializer = RateSerializer + + @Test + @UnstableDefault + fun `serializer should serialize the given enum object properly`() { + // Given + val rate = Rate.BRL + + // When + val rateAsString = Json(JsonConfiguration(unquotedPrint = true)) + .stringify(serializer, rate) + + // Then + assertThat(rateAsString).isNotEmpty() + assertThat(rateAsString).isEqualTo("BRL") + } + + @Test + @UnstableDefault + fun `serializer should parse the given string to corresponding enum type`() { + // Given + val rateAsString = "CZK" + + // When + val rate = Json(JsonConfiguration(isLenient = true)).parse(serializer, rateAsString) + + // Then + assertThat(rate).isNotNull() + assertThat(rate).isInstanceOf(Rate::class.java) + assertThat(rate).isEqualTo(Rate.CZK) + } + + @Test + @UnstableDefault + fun `serializer should map undefined item to UNKNOWN type`() { + // Given + val rateAsString = "UND" + + // When + val rate = Json(JsonConfiguration(isLenient = true)).parse(serializer, rateAsString) + + // Then + assertThat(rate).isNotNull() + assertThat(rate).isInstanceOf(Rate::class.java) + assertThat(rate).isEqualTo(Rate.UNKNOWN) + } +} diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/data/service/CurrencyServiceTest.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/data/service/CurrencyServiceTest.kt new file mode 100644 index 0000000..7be5a68 --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/data/service/CurrencyServiceTest.kt @@ -0,0 +1,163 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.service + +import androidx.test.filters.LargeTest +import com.google.common.truth.Truth.assertThat +import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory +import io.github.nuhkoca.libbra.data.enums.Rate +import io.github.nuhkoca.libbra.data.model.raw.CurrencyResponseRaw +import io.github.nuhkoca.libbra.data.verifier.RevolutHostnameVerifier +import io.github.nuhkoca.libbra.shared.MEDIA_TYPE_DEFAULT +import io.github.nuhkoca.libbra.shared.dispatcher.ErrorDispatcher +import io.github.nuhkoca.libbra.shared.dispatcher.SuccessDispatcher +import io.github.nuhkoca.libbra.shared.dispatcher.TimeoutDispatcher +import io.github.nuhkoca.libbra.util.ext.ErrorInterceptor +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.runBlocking +import kotlinx.serialization.UnstableDefault +import kotlinx.serialization.json.Json +import okhttp3.MediaType.Companion.toMediaType +import okhttp3.OkHttpClient +import okhttp3.logging.HttpLoggingInterceptor +import okhttp3.mockwebserver.MockWebServer +import org.junit.After +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.junit.MockitoJUnitRunner +import retrofit2.Retrofit +import retrofit2.create +import java.util.concurrent.TimeUnit + +/** + * A test class for [CurrencyService] + */ +@RunWith(MockitoJUnitRunner::class) +@LargeTest +class CurrencyServiceTest { + + /* + ----------------------- + | Private members | + ----------------------- + */ + private val mockWebServer = MockWebServer() + private lateinit var currencyService: CurrencyService + + @Before + @UnstableDefault + fun setUp() { + mockWebServer.start() + + val client = OkHttpClient.Builder().apply { + hostnameVerifier(RevolutHostnameVerifier) + connectTimeout(TIMEOUT_IN_MS, TimeUnit.MILLISECONDS) + readTimeout(TIMEOUT_IN_MS, TimeUnit.MILLISECONDS) + writeTimeout(TIMEOUT_IN_MS, TimeUnit.MILLISECONDS) + addInterceptor(HttpLoggingInterceptor()) + addInterceptor(ErrorInterceptor()) + }.build() + + val retrofit = Retrofit.Builder().apply { + client(client) + baseUrl(mockWebServer.url("/").toString()) + addConverterFactory(Json.asConverterFactory(MEDIA_TYPE_DEFAULT.toMediaType())) + }.build() + + currencyService = retrofit.create() + + mockWebServer.dispatcher = SuccessDispatcher(CURRENCY_SUCCESS_RESPONSE_FILE_NAME) + } + + /* + * We are unable to manipulate Retrofit's dispatcher so that we have to use runBlocking + */ + @Test + @ExperimentalCoroutinesApi + fun `list of currencies should be fetched`() = runBlocking { + // Given + val base = Rate.EUR + + // When + val response = currencyService.getCurrencyList(base) + + // Then + assertThat(response).isNotNull() + assertThat(response.baseCurrency).isEqualTo(base.name) + assertThat(response.rates).isNotNull() + assertThat(response.rates).hasSize(31) + } + + /* + * We are unable to manipulate Retrofit's dispatcher so that we have to use runBlocking + */ + @Test + fun `currency service should throw an error`() = runBlocking { + mockWebServer.dispatcher = ErrorDispatcher + + // Given + val base = Rate.AUD + + var response: CurrencyResponseRaw? = null + + // When + try { + response = currencyService.getCurrencyList(base) + } catch (e: Exception) { + assertThat(e.message).contains("Unexpected JSON token at") + } + + // Then + assertThat(response).isNull() + assertThat(response?.rates).isNull() + } + + /* + * We are unable to manipulate Retrofit's dispatcher so that we have to use runBlocking + */ + @Test + fun `request should be timed out`() = runBlocking { + mockWebServer.dispatcher = TimeoutDispatcher + + // Given + val base = Rate.DKK + + var response: CurrencyResponseRaw? = null + + // When + try { + response = currencyService.getCurrencyList(base) + } catch (e: Exception) { + assertThat(e.message).isEqualTo("timeout") + } + + // Then + assertThat(response).isNull() + assertThat(response?.rates).isNull() + } + + @After + fun tearDown() { + mockWebServer.shutdown() + } + + private companion object { + // For test purpose + private const val TIMEOUT_IN_MS = 1000L + private const val CURRENCY_SUCCESS_RESPONSE_FILE_NAME = "currency_success_response.json" + } +} diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/data/verifier/RevolutHostnameVerifierTest.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/data/verifier/RevolutHostnameVerifierTest.kt new file mode 100644 index 0000000..ae31f04 --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/data/verifier/RevolutHostnameVerifierTest.kt @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.verifier + +import androidx.test.filters.SmallTest +import com.google.common.truth.Truth.assertThat +import io.github.nuhkoca.libbra.shared.BASE_URL +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.junit.MockitoJUnitRunner + +/** + * A test class for [RevolutHostnameVerifier] + */ +@RunWith(MockitoJUnitRunner::class) +@SmallTest +class RevolutHostnameVerifierTest { + + /* + ----------------------- + | Private members | + ----------------------- + */ + private val revolutHostNameVerifierTest: RevolutHostnameVerifier + get() = RevolutHostnameVerifier + + @Test + fun `verifier should verify the base url`() { + // Given + val hostname = BASE_URL + + // When + val result = revolutHostNameVerifierTest.verify(hostname, null) + + // Then + assertThat(result).isTrue() + } + + @Test + fun `verifier should not allow any network traffic except base url`() { + // Given + val hostname = null + + // When + val result = revolutHostNameVerifierTest.verify(hostname, null) + + // Then + assertThat(result).isFalse() + } +} diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/domain/mapper/CurrencyViewItemMapperTest.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/domain/mapper/CurrencyViewItemMapperTest.kt new file mode 100644 index 0000000..f74d43c --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/domain/mapper/CurrencyViewItemMapperTest.kt @@ -0,0 +1,107 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.domain.mapper + +import androidx.test.filters.SmallTest +import com.google.common.truth.Truth.assertThat +import io.github.nuhkoca.libbra.data.enums.Rate +import io.github.nuhkoca.libbra.data.model.domain.CurrencyResponse +import io.github.nuhkoca.libbra.data.model.view.CurrencyResponseViewItem +import io.github.nuhkoca.libbra.data.model.view.RateViewItem +import io.github.nuhkoca.libbra.data.shared.rule.CoroutinesTestRule +import io.github.nuhkoca.libbra.shared.ext.runBlockingTest +import io.github.nuhkoca.libbra.util.mapper.Mapper +import kotlinx.coroutines.ExperimentalCoroutinesApi +import org.junit.Before +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.junit.MockitoJUnitRunner +import io.github.nuhkoca.libbra.data.model.domain.Rate as DomainRate + +/** + * A test class for [CurrencyViewItemMapper] + */ +@RunWith(MockitoJUnitRunner::class) +@SmallTest +class CurrencyViewItemMapperTest { + + /* + ------------ + | Rules | + ------------ + */ + @ExperimentalCoroutinesApi + @get:Rule + val coroutinesTestRule = CoroutinesTestRule() + + /* + ----------------------- + | Private members | + ----------------------- + */ + private lateinit var mapper: Mapper + + @Before + @ExperimentalCoroutinesApi + fun setUp() { + mapper = CurrencyViewItemMapper(coroutinesTestRule.testDispatcherProvider) + } + + @Test + @ExperimentalCoroutinesApi + fun `mapper should map domain data to view item type properly`() = + coroutinesTestRule.runBlockingTest { + // Given + val currencyResponse = CurrencyResponse( + baseCurrency = "EUR", + rates = listOf(DomainRate(Rate.BGN, 3.9f), DomainRate(Rate.CHF, 2.1f)) + ) + + // When + val response = mapper.map(currencyResponse) + + // Then + assertThat(response).isNotNull() + assertThat(response.rates).isNotNull() + assertThat(response.rates).hasSize(3) + assertThat(response.rates).containsExactlyElementsIn( + listOf( + RateViewItem( + id = 0, + abbreviation = "EUR", + longName = "Euro", + amount = 1.0f, + icon = 2131230839 + ), + RateViewItem( + id = 1, + abbreviation = "BGN", + longName = "Bulgarian Lev", + amount = 3.9f, + icon = 2131230829 + ), + RateViewItem( + id = 2, + abbreviation = "CHF", + longName = "Swiss Franc", + amount = 2.1f, + icon = 2131230833 + ) + ) + ).inOrder() + } +} diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/domain/repository/CurrencyRepositoryTest.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/domain/repository/CurrencyRepositoryTest.kt new file mode 100644 index 0000000..3aefa83 --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/domain/repository/CurrencyRepositoryTest.kt @@ -0,0 +1,112 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.domain.repository + +import BaseTestClass +import androidx.test.filters.MediumTest +import com.google.common.truth.Truth +import io.github.nuhkoca.libbra.data.Result +import io.github.nuhkoca.libbra.data.datasource.DataSource +import io.github.nuhkoca.libbra.data.enums.Rate +import io.github.nuhkoca.libbra.data.model.domain.CurrencyResponse +import io.github.nuhkoca.libbra.data.shared.rule.CoroutinesTestRule +import io.github.nuhkoca.libbra.shared.assertion.test +import io.github.nuhkoca.libbra.shared.ext.runBlockingTest +import io.mockk.confirmVerified +import io.mockk.every +import io.mockk.impl.annotations.MockK +import io.mockk.impl.annotations.RelaxedMockK +import io.mockk.slot +import io.mockk.verify +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.flow.flowOf +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.junit.MockitoJUnitRunner + +/** + * A test class for [CurrencyRepository] + */ +@RunWith(MockitoJUnitRunner::class) +@MediumTest +class CurrencyRepositoryTest : BaseTestClass() { + + /* + ------------ + | Rules | + ------------ + */ + @ExperimentalCoroutinesApi + @get:Rule + val coroutinesTestRule = CoroutinesTestRule() + + /* + ------------- + | Mocks | + ------------- + */ + @MockK + private lateinit var dataSource: DataSource + + @RelaxedMockK + private lateinit var currencyResponse: CurrencyResponse + + /* + ----------------------- + | Private members | + ----------------------- + */ + private lateinit var repository: Repository + private val currencySlot = slot() + + override fun setUp() { + super.setUp() + + every { dataSource.getCurrencyList(capture(currencySlot)) } answers { + flowOf(Result.Success(currencyResponse)) + } + + every { currencyResponse.baseCurrency } returns "THB" + + repository = CurrencyRepository(dataSource) + } + + @Test + @ExperimentalCoroutinesApi + fun `repository should return data`() = coroutinesTestRule.runBlockingTest { + // Given + val base = Rate.THB + + // When + val flow = repository.getCurrencyList(base) + + // Then + flow.test { + expectItem().run { + Truth.assertThat(this).isNotNull() + Truth.assertThat(this).isInstanceOf(Result.Success::class.java) + this as Result.Success + Truth.assertThat(data.baseCurrency).isEqualTo(currencySlot.captured.name) + Truth.assertThat(data.rates).isNotNull() + } + expectComplete() + } + + verify(exactly = 1) { dataSource.getCurrencyList(any()) } + confirmVerified(dataSource) + } +} diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/domain/usecase/CurrencyUseCaseTest.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/domain/usecase/CurrencyUseCaseTest.kt new file mode 100644 index 0000000..d77e65f --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/domain/usecase/CurrencyUseCaseTest.kt @@ -0,0 +1,109 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.domain.usecase + +import BaseTestClass +import androidx.test.filters.MediumTest +import com.google.common.truth.Truth +import io.github.nuhkoca.libbra.data.Result +import io.github.nuhkoca.libbra.data.enums.Rate +import io.github.nuhkoca.libbra.data.model.domain.CurrencyResponse +import io.github.nuhkoca.libbra.data.shared.rule.CoroutinesTestRule +import io.github.nuhkoca.libbra.domain.repository.Repository +import io.github.nuhkoca.libbra.shared.assertion.test +import io.github.nuhkoca.libbra.shared.ext.runBlockingTest +import io.mockk.confirmVerified +import io.mockk.every +import io.mockk.impl.annotations.MockK +import io.mockk.impl.annotations.RelaxedMockK +import io.mockk.slot +import io.mockk.verify +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.flow.flowOf +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.junit.MockitoJUnitRunner + +@RunWith(MockitoJUnitRunner::class) +@MediumTest +class CurrencyUseCaseTest : BaseTestClass() { + + /* + ------------ + | Rules | + ------------ + */ + @ExperimentalCoroutinesApi + @get:Rule + val coroutinesTestRule = CoroutinesTestRule() + + /* + ------------- + | Mocks | + ------------- + */ + @MockK + private lateinit var repository: Repository + + @RelaxedMockK + private lateinit var currencyResponse: CurrencyResponse + + /* + ----------------------- + | Private members | + ----------------------- + */ + private lateinit var useCase: UseCase.FlowUseCase + private val currencySlot = slot() + + override fun setUp() { + super.setUp() + + every { repository.getCurrencyList(capture(currencySlot)) } answers { + flowOf(Result.Success(currencyResponse)) + } + + every { currencyResponse.baseCurrency } returns "HRK" + + useCase = CurrencyUseCase(repository) + } + + @Test + @ExperimentalCoroutinesApi + fun `use case should return data properly`() = coroutinesTestRule.runBlockingTest { + // Given + val base = Rate.HRK + + // Then + val flow = useCase.execute(CurrencyParams(base)) + + // Then + flow.test { + expectItem().run { + Truth.assertThat(this).isNotNull() + Truth.assertThat(this).isInstanceOf(Result.Success::class.java) + this as Result.Success + Truth.assertThat(data.baseCurrency).isEqualTo(base.name) + Truth.assertThat(data.rates).isNotNull() + } + expectComplete() + } + + verify(exactly = 1) { repository.getCurrencyList(any()) } + confirmVerified(repository) + } +} diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/MockConstants.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/MockConstants.kt new file mode 100644 index 0000000..a1bc89c --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/MockConstants.kt @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.shared + +const val BASE_URL = "https://hiring.revolut.codes/" +const val ENDPOINT_PREFIX = "latest" +const val RESPONSE_DIR_PREFIX = "response" +const val MEDIA_TYPE_DEFAULT = "application/json" diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/assertion/FlowAssert.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/assertion/FlowAssert.kt new file mode 100644 index 0000000..46eabc9 --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/assertion/FlowAssert.kt @@ -0,0 +1,155 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.shared.assertion + +import kotlinx.coroutines.CancellationException +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.Job +import kotlinx.coroutines.channels.Channel +import kotlinx.coroutines.channels.Channel.Factory.UNLIMITED +import kotlinx.coroutines.channels.receiveOrNull +import kotlinx.coroutines.coroutineScope +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.collect +import kotlinx.coroutines.launch +import kotlinx.coroutines.withTimeout + +/** + * A custom assertion for [Flow]. + */ +// Credit: https://github.com/cashapp/sqldelight/blob/master/extensions/coroutines-extensions/src/commonTest/kotlin/com/squareup/sqldelight/runtime/coroutines/FlowAssert.kt +@ExperimentalCoroutinesApi +suspend fun Flow.test(timeoutMs: Long = 1000L, validate: suspend FlowAssert.() -> Unit) { + coroutineScope { + val events = Channel>(UNLIMITED) + val collectJob = launch { + val terminalEvent = try { + collect { item -> + events.send( + Event.Item( + item + ) + ) + } + Event.Complete + } catch (_: CancellationException) { + null + } catch (t: Throwable) { + Event.Error(t) + } + if (terminalEvent != null) { + events.send(terminalEvent) + } + events.close() + } + val flowAssert = FlowAssert( + events, + collectJob, + timeoutMs + ) + val ensureConsumed = try { + flowAssert.validate() + true + } catch (e: CancellationException) { + if (e !== ignoreRemainingEventsException) { + throw e + } + false + } + if (ensureConsumed) { + flowAssert.expectNoMoreEvents() + } + } +} + +private val ignoreRemainingEventsException = CancellationException("Ignore remaining events") + +internal sealed class Event { + object Complete : Event() + data class Error(val throwable: Throwable) : Event() + data class Item(val item: T) : Event() +} + +class FlowAssert internal constructor( + private val events: Channel>, + private val collectJob: Job, + private val timeoutMs: Long +) { + private suspend fun withTimeout(body: suspend () -> T): T { + return if (timeoutMs == 0L) { + body() + } else { + withTimeout(timeoutMs) { + body() + } + } + } + + fun cancel() { + collectJob.cancel() + } + + fun cancelAndIgnoreRemainingEvents(): Nothing { + cancel() + throw ignoreRemainingEventsException + } + + fun expectNoEvents() { + val event = events.poll() + if (event != null) { + throw AssertionError("Expected no events but found $event") + } + } + + @ExperimentalCoroutinesApi + suspend fun expectNoMoreEvents() { + val event = withTimeout { + events.receiveOrNull() + } + if (event != null) { + throw AssertionError("Expected no more events but found $event") + } + } + + suspend fun expectItem(): T { + val event = withTimeout { + events.receive() + } + if (event !is Event.Item) { + throw AssertionError("Expected item but was $event") + } + return event.item + } + + suspend fun expectComplete() { + val event = withTimeout { + events.receive() + } + if (event != Event.Complete) { + throw AssertionError("Expected complete but was $event") + } + } + + suspend fun expectError(): Throwable { + val event = withTimeout { + events.receive() + } + if (event !is Event.Error) { + throw AssertionError("Expected error but was $event") + } + return event.throwable + } +} diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/base/BaseTestClass.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/base/BaseTestClass.kt new file mode 100644 index 0000000..8a85984 --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/base/BaseTestClass.kt @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import androidx.annotation.CallSuper +import io.mockk.MockKAnnotations +import io.mockk.clearAllMocks +import io.mockk.unmockkAll +import org.junit.After +import org.junit.Before + +/** + * A base class for all test classes. If child class wants to override any of stated + * methods they must call super first. + */ +open class BaseTestClass { + + /** + * An open method that initializes mock-ups before starting a test. + */ + @CallSuper + @Before + open fun setUp() { + MockKAnnotations.init(this) + } + + /** + * An open method that unmocks & clears all mock-ups in order to avoid any leak. + */ + @CallSuper + @After + open fun tearDown() { + unmockkAll() + clearAllMocks() + } +} diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/dispatcher/ErrorDispatcher.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/dispatcher/ErrorDispatcher.kt new file mode 100644 index 0000000..1a41679 --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/dispatcher/ErrorDispatcher.kt @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.shared.dispatcher + +import okhttp3.mockwebserver.Dispatcher +import okhttp3.mockwebserver.MockResponse +import okhttp3.mockwebserver.MockWebServer +import okhttp3.mockwebserver.RecordedRequest +import javax.net.ssl.HttpsURLConnection.HTTP_NOT_FOUND + +/** + * A custom [MockWebServer] [Dispatcher] implementation for error case. This will only return + * [HTTP_NOT_FOUND] and will cause a crash. Therefore calls should be wrapper with + * try-catch or so on. + */ +object ErrorDispatcher : Dispatcher() { + + /** + * @return [MockResponse] with [HTTP_NOT_FOUND] code. + */ + override fun dispatch(request: RecordedRequest): MockResponse { + return MockResponse().setResponseCode(HTTP_NOT_FOUND) + } +} diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/dispatcher/SuccessDispatcher.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/dispatcher/SuccessDispatcher.kt new file mode 100644 index 0000000..8c380e9 --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/dispatcher/SuccessDispatcher.kt @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.shared.dispatcher + +import io.github.nuhkoca.libbra.shared.ENDPOINT_PREFIX +import io.github.nuhkoca.libbra.shared.RESPONSE_DIR_PREFIX +import io.github.nuhkoca.libbra.shared.ext.asset +import okhttp3.mockwebserver.Dispatcher +import okhttp3.mockwebserver.MockResponse +import okhttp3.mockwebserver.MockWebServer +import okhttp3.mockwebserver.RecordedRequest +import javax.net.ssl.HttpsURLConnection.HTTP_NOT_FOUND +import javax.net.ssl.HttpsURLConnection.HTTP_OK + +/** + * A custom [MockWebServer] [Dispatcher] implementation for success case. This will return + * [HTTP_OK] if path contains the endpoint and file name is valid. + */ +class SuccessDispatcher(private val fileName: String) : Dispatcher() { + + /** + * @return [MockResponse] with [HTTP_OK] if path contains the endpoint and file name is valid + * otherwise [HTTP_NOT_FOUND] + */ + override fun dispatch(request: RecordedRequest): MockResponse { + val path = request.path + + return if (path.toString().contains(ENDPOINT_PREFIX)) { + val response = asset("$RESPONSE_DIR_PREFIX/$fileName") + + if (response.isNullOrEmpty()) MockResponse().setResponseCode(HTTP_NOT_FOUND) + + // response is not null in any case + MockResponse().setResponseCode(HTTP_OK).setBody(response!!) + } else { + MockResponse().setResponseCode(HTTP_NOT_FOUND) + } + } +} diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/dispatcher/TimeoutDispatcher.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/dispatcher/TimeoutDispatcher.kt new file mode 100644 index 0000000..3069ac4 --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/dispatcher/TimeoutDispatcher.kt @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.shared.dispatcher + +import okhttp3.OkHttpClient +import okhttp3.mockwebserver.Dispatcher +import okhttp3.mockwebserver.MockResponse +import okhttp3.mockwebserver.MockWebServer +import okhttp3.mockwebserver.RecordedRequest +import okhttp3.mockwebserver.SocketPolicy.NO_RESPONSE +import java.util.concurrent.TimeUnit + +/** + * A custom [MockWebServer] [Dispatcher] implementation for timeout case. This will delay response + * remaining faithful to [OkHttpClient] settings for the test environment. + */ +object TimeoutDispatcher : Dispatcher() { + + private const val BYTES_PER_PERIOD = 1024L + private const val PERIOD = 2L + + /** + * @return [MockResponse] with throttled body and [NO_RESPONSE] policy. + */ + override fun dispatch(request: RecordedRequest): MockResponse { + return MockResponse() + .setSocketPolicy(NO_RESPONSE) + .throttleBody(BYTES_PER_PERIOD, PERIOD, TimeUnit.SECONDS) + } +} diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/ext/FileExt.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/ext/FileExt.kt new file mode 100644 index 0000000..364cbb3 --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/ext/FileExt.kt @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.shared.ext + +import io.github.nuhkoca.libbra.shared.reader.AssetReader +import java.io.IOException + +/** + * Reads given file from resources directory. + * + * @param fileName The file name + * + * @return content as [String] + * + * @throws IOException if file is not found + */ +@Throws(IOException::class) +fun asset(fileName: String) = AssetReader.getJsonDataFromAsset(fileName) diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/ext/TestRuleExt.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/ext/TestRuleExt.kt new file mode 100644 index 0000000..c18bdb9 --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/ext/TestRuleExt.kt @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.shared.ext + +import io.github.nuhkoca.libbra.data.shared.rule.CoroutinesTestRule +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.test.TestCoroutineScope +import kotlinx.coroutines.test.runBlockingTest + +/** + * Runs test with the current test dispatcher of [CoroutinesTestRule]. + * + * @param block The code block should be run + */ +@ExperimentalCoroutinesApi +fun CoroutinesTestRule.runBlockingTest(block: suspend TestCoroutineScope.() -> Unit) { + testDispatcher.runBlockingTest(block) +} diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/reader/AssetReader.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/reader/AssetReader.kt new file mode 100644 index 0000000..af411f8 --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/reader/AssetReader.kt @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.shared.reader + +import java.io.IOException + +/** + * A helper class to read specific file from resources directory. + */ +object AssetReader { + + /** + * Reads and returns content as [String] + * + * @param fileName the file name + * + * @return [String] + * + * @throws IOException + */ + @Throws(IOException::class) + @JvmStatic + fun getJsonDataFromAsset(fileName: String): String? { + val jsonString: String? + try { + jsonString = javaClass.classLoader?.getResourceAsStream(fileName) + ?.bufferedReader() + ?.use { it.readText() } + } catch (e: IOException) { + e.printStackTrace() + return null + } + return jsonString + } +} diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/rule/CoroutinesTestRule.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/rule/CoroutinesTestRule.kt new file mode 100644 index 0000000..e88ed7c --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/shared/rule/CoroutinesTestRule.kt @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.data.shared.rule + +import io.github.nuhkoca.libbra.util.coroutines.DispatcherProvider +import kotlinx.coroutines.CoroutineDispatcher +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.test.TestCoroutineDispatcher +import kotlinx.coroutines.test.resetMain +import kotlinx.coroutines.test.setMain +import org.junit.rules.TestWatcher +import org.junit.runner.Description + +/** + * A test rule for [Coroutines]. All suspendend methods should be run under this test rule to + * execute functions with a test thread. Otherwise test will fail. + * + * @param testDispatcher The [TestCoroutineDispatcher] + */ +@ExperimentalCoroutinesApi +class CoroutinesTestRule constructor( + val testDispatcher: TestCoroutineDispatcher = TestCoroutineDispatcher() +) : TestWatcher() { + + // Test dispatchers to use in tests, this manipulates main thread + internal val testDispatcherProvider = object : DispatcherProvider { + override val main: CoroutineDispatcher + get() = testDispatcher + override val default: CoroutineDispatcher + get() = testDispatcher + override val io: CoroutineDispatcher + get() = testDispatcher + override val unconfined: CoroutineDispatcher + get() = testDispatcher + } + + /** + * Invoked when a test is about to start + */ + override fun starting(description: Description?) { + super.starting(description) + Dispatchers.setMain(testDispatcher) + } + + /** + * Invoked when a test method finishes (whether passing or failing) + */ + override fun finished(description: Description?) { + super.finished(description) + Dispatchers.resetMain() + testDispatcher.cleanupTestCoroutines() + } +} diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/ui/currency/CurrencyViewModelTest.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/ui/currency/CurrencyViewModelTest.kt new file mode 100644 index 0000000..a16f7e6 --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/ui/currency/CurrencyViewModelTest.kt @@ -0,0 +1,170 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.ui.currency + +import BaseTestClass +import androidx.arch.core.executor.testing.InstantTaskExecutorRule +import androidx.lifecycle.Observer +import androidx.test.filters.LargeTest +import com.google.common.truth.Truth.assertThat +import io.github.nuhkoca.libbra.data.Result +import io.github.nuhkoca.libbra.data.enums.Rate +import io.github.nuhkoca.libbra.data.failure.Failure +import io.github.nuhkoca.libbra.data.model.domain.CurrencyResponse +import io.github.nuhkoca.libbra.data.model.view.CurrencyResponseViewItem +import io.github.nuhkoca.libbra.data.model.view.RateViewItem +import io.github.nuhkoca.libbra.data.shared.rule.CoroutinesTestRule +import io.github.nuhkoca.libbra.domain.usecase.CurrencyParams +import io.github.nuhkoca.libbra.domain.usecase.UseCase +import io.github.nuhkoca.libbra.util.mapper.Mapper +import io.mockk.coEvery +import io.mockk.coVerify +import io.mockk.confirmVerified +import io.mockk.every +import io.mockk.impl.annotations.MockK +import io.mockk.impl.annotations.RelaxedMockK +import io.mockk.verify +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.flow.flowOf +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.junit.MockitoJUnitRunner + +@RunWith(MockitoJUnitRunner::class) +@LargeTest +class CurrencyViewModelTest : BaseTestClass() { + + /* + ------------ + | Rules | + ------------ + */ + @ExperimentalCoroutinesApi + @get:Rule + val coroutinesTestRule = CoroutinesTestRule() + + @get:Rule + val instantTaskExecutorRule = InstantTaskExecutorRule() + + /* + ------------- + | Mocks | + ------------- + */ + @MockK + private lateinit var useCase: UseCase.FlowUseCase + + @MockK + private lateinit var mapper: Mapper + + @RelaxedMockK + private lateinit var currencyResponse: CurrencyResponse + + @RelaxedMockK + private lateinit var observer: Observer + + /* + ------------------------- + | Private variables | + ------------------------- + */ + private lateinit var currencyViewModel: CurrencyViewModel + + @ExperimentalCoroutinesApi + override fun setUp() { + super.setUp() + + currencyViewModel = + CurrencyViewModel( + useCase, + mapper, + coroutinesTestRule.testDispatcherProvider + ) + } + + @Test + @ExperimentalCoroutinesApi + fun `currency view state should be filled after data has been fetched`() { + every { useCase.execute(any()) } answers { + flowOf(Result.Success(currencyResponse)) + } + + coEvery { mapper.map(any()) } returns CurrencyResponseViewItem( + baseCurrency = "EUR", + rates = listOf( + RateViewItem( + id = 0, + abbreviation = "EUR", + longName = "Euro", + amount = 1f, + icon = 2131230839 + ), + RateViewItem( + id = 1, + abbreviation = "GBP", + longName = "Pound", + amount = 0.8f, + icon = 2131230840 + ) + ) + ) + + currencyViewModel.currencyLiveData.observeForever(observer) + + currencyViewModel.setBaseCurrency(Rate.EUR) + + val value = currencyViewModel.currencyLiveData.value + + assertThat(value?.isLoading).isFalse() + assertThat(value?.hasError).isFalse() + assertThat(value?.errorMessage).isNull() + assertThat(value?.data).isNotNull() + assertThat(value?.data?.baseCurrency).isAtLeast("EUR") + assertThat(value?.data?.rates).hasSize(2) + + verify { useCase.execute(any()) } + coVerify { mapper.map(any()) } + + confirmVerified(useCase) + confirmVerified(mapper) + } + + @Test + @ExperimentalCoroutinesApi + fun `currency view state should be filled after the exception occurred`() { + every { useCase.execute(any()) } answers { + flowOf(Result.Error(Failure.ServerFailure("Couldn't connect the server."))) + } + + currencyViewModel.currencyLiveData.observeForever(observer) + + currencyViewModel.setBaseCurrency(Rate.EUR) + + val value = currencyViewModel.currencyLiveData.value + + assertThat(value?.isLoading).isFalse() + assertThat(value?.hasError).isTrue() + assertThat(value?.errorMessage).isNotNull() + assertThat(value?.errorMessage).isEqualTo("Couldn't connect the server.") + assertThat(value?.data).isNull() + assertThat(value?.data?.rates).isNull() + + verify { useCase.execute(any()) } + + confirmVerified(useCase) + } +} diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/util/coroutines/DefaultAsyncManagerTest.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/util/coroutines/DefaultAsyncManagerTest.kt new file mode 100644 index 0000000..10ad5c8 --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/util/coroutines/DefaultAsyncManagerTest.kt @@ -0,0 +1,113 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.util.coroutines + +import androidx.test.filters.SmallTest +import com.google.common.truth.Truth.assertThat +import io.github.nuhkoca.libbra.data.Result +import io.github.nuhkoca.libbra.data.enums.Rate +import io.github.nuhkoca.libbra.data.failure.Failure +import io.github.nuhkoca.libbra.data.model.domain.CurrencyResponse +import io.github.nuhkoca.libbra.data.shared.rule.CoroutinesTestRule +import io.github.nuhkoca.libbra.shared.assertion.test +import io.github.nuhkoca.libbra.shared.ext.runBlockingTest +import kotlinx.coroutines.ExperimentalCoroutinesApi +import org.junit.Before +import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.junit.MockitoJUnitRunner +import io.github.nuhkoca.libbra.data.model.domain.Rate as DomainRate + +/** + * A test class for [DefaultAsyncManager] + */ +@RunWith(MockitoJUnitRunner::class) +@SmallTest +class DefaultAsyncManagerTest { + + /* + ------------ + | Rules | + ------------ + */ + @ExperimentalCoroutinesApi + @get:Rule + val coroutinesTestRule = CoroutinesTestRule() + + /* + ----------------------- + | Private members | + ----------------------- + */ + private lateinit var asyncManager: AsyncManager + + @Before + @ExperimentalCoroutinesApi + fun setUp() { + asyncManager = DefaultAsyncManager(coroutinesTestRule.testDispatcherProvider) + } + + @Test + @ExperimentalCoroutinesApi + fun `async manager should return data successfully`() = coroutinesTestRule.runBlockingTest { + // Given + val mockedResponse = CurrencyResponse( + baseCurrency = "EUR", + rates = listOf(DomainRate(Rate.GBP, 1.1f), DomainRate(Rate.RUB, 4.1f)) + ) + + // When + val flow = asyncManager.handleAsyncWithTryCatch { mockedResponse } + + // Then + flow.test { + expectItem().run { + assertThat(this).isInstanceOf(Result.Success::class.java) + this as Result.Success + assertThat(data).isNotNull() + assertThat(data.baseCurrency).isEqualTo("EUR") + assertThat(data.rates).hasSize(2) + assertThat(data.rates).containsExactly( + DomainRate(Rate.GBP, 1.1f), DomainRate(Rate.RUB, 4.1f) + ).inOrder() + } + cancel() + expectNoMoreEvents() + } + } + + @Test + @ExperimentalCoroutinesApi + fun `async manager should handle exception properly`() = coroutinesTestRule.runBlockingTest { + // Given + val exception = Failure.ServerFailure("Couldn't connect the server.") + + // When + val flow = asyncManager.handleAsyncWithTryCatch { throw exception } + + // Then + flow.test { + expectItem().run { + assertThat(this).isInstanceOf(Result.Error::class.java) + this as Result.Error + assertThat(failure).isInstanceOf(Failure.ServerFailure::class.java) + assertThat(failure.message).isEqualTo("Couldn't connect the server.") + } + cancelAndIgnoreRemainingEvents() + } + } +} diff --git a/app/src/test/kotlin/io/github/nuhkoca/libbra/util/coroutines/DefaultDispatcherProviderTest.kt b/app/src/test/kotlin/io/github/nuhkoca/libbra/util/coroutines/DefaultDispatcherProviderTest.kt new file mode 100644 index 0000000..6282c5c --- /dev/null +++ b/app/src/test/kotlin/io/github/nuhkoca/libbra/util/coroutines/DefaultDispatcherProviderTest.kt @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.libbra.util.coroutines + +import androidx.test.filters.SmallTest +import com.google.common.truth.Truth.assertThat +import kotlinx.coroutines.CoroutineDispatcher +import org.junit.jupiter.api.extension.ExtensionContext +import org.junit.jupiter.params.ParameterizedTest +import org.junit.jupiter.params.provider.Arguments +import org.junit.jupiter.params.provider.ArgumentsProvider +import org.junit.jupiter.params.provider.ArgumentsSource +import java.util.stream.Stream + +/** + * A parameterized test for [DefaultDispatcherProvider] + */ +@SmallTest +class DefaultDispatcherProviderTest { + + /** + * A parameterized test function that iterates and performs test on all [CoroutineDispatcher]. + * + * @param dispatcher represents any [CoroutineDispatcher] + */ + @ParameterizedTest + @ArgumentsSource(CustomArgumentsProvider::class) + fun `any dispatcher should not be null`(dispatcher: CoroutineDispatcher) { + assertThat(dispatcher).isNotNull() + } +} + +/** + * A custom [ArgumentsProvider] to have any [CoroutineDispatcher] parameterized in tests. + */ +private class CustomArgumentsProvider : ArgumentsProvider { + + private val dispatcherProvider: DispatcherProvider = DefaultDispatcherProvider() + + /** + * Provides a stream of arguments to be passed to a [ParameterizedTest] method. + * + * @param extensionContext the current extension context + * + * @return a stream of arguments + */ + @Throws(Exception::class) + override fun provideArguments(extensionContext: ExtensionContext?): Stream? { + return Stream.of( + dispatcherProvider.main, + dispatcherProvider.io, + dispatcherProvider.default, + dispatcherProvider.unconfined + ).map { dispatcher -> Arguments.of(dispatcher) } + } +} diff --git a/app/src/test/resources/response/currency_success_response.json b/app/src/test/resources/response/currency_success_response.json new file mode 100644 index 0000000..aa13f9f --- /dev/null +++ b/app/src/test/resources/response/currency_success_response.json @@ -0,0 +1,36 @@ +{ + "baseCurrency": "EUR", + "rates": { + "AUD": 1.603, + "BGN": 1.972, + "BRL": 4.252, + "CAD": 1.519, + "CHF": 1.146, + "CNY": 7.673, + "CZK": 25.825, + "DKK": 7.553, + "GBP": 0.888, + "HKD": 8.891, + "HRK": 7.534, + "HUF": 320.098, + "IDR": 16202.383, + "ILS": 4.099, + "INR": 81.673, + "ISK": 136.116, + "JPY": 127.194, + "KRW": 1288.335, + "MXN": 22.147, + "MYR": 4.616, + "NOK": 9.852, + "NZD": 1.651, + "PHP": 60.253, + "PLN": 4.41, + "RON": 4.793, + "RUB": 75.68, + "SEK": 10.55, + "SGD": 1.543, + "THB": 35.601, + "USD": 1.136, + "ZAR": 16.14 + } +} \ No newline at end of file diff --git a/art/dark_mode.jpg b/art/dark_mode.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8da093d92a1f84c6825cefdec5659797414a6684 GIT binary patch literal 301616 zcmeFZ1yEewmoM6cB!mzkxI==|xH|-=(cm;1+?ozFZV@ziaEAnkrt!uh!M$;yt$$8pY0|2V303ZMW zcm}{g0{|XBpucuPXfFYe{z(e}n4_Wniyo664fmh)7!T*{L+t)V4+uiT2cZ9R*#`$a z|71h>aP0iB0kqWQ*j4no0g5_OdU7BD4;K%Y2p69Sm%uA-ZV@ga5ncfR0R1cazZNR{ z`uJaQd+f7+t>iCX|8D7j-{U_n0S)aRw9zpCLGQuhLH>WxyI%&pRFVhD10F*05TA#y z`(KZkK{7I?Z#C8BK`L_pbm9@|U+x|~ICX@&!Za16U+IGlUj3!}7csMNarzhh@9ZD^ zo=^Ve9RL_(|98&+XDUofD;J9gqu&pkE9{~22eOtAn9$~*vFBgd{GV~eUl^vXDf3|S z?Ey2}{2OfkZ?K1}lk0;`&tLWyPO!i5`~wzqgt+}x*I)7%;}=#?9j%AG{=-HIZ~_`g;D5zqJ80D#chU+v}}I`b3&pf(5qAf5e(j{X|}fEx$^)C@V9!OZ@N%wKK% zk@Z8%KP~_Ou)zQT!7u>u-0)wB{-f+a?!|v_t*;)+P(EDe`-hJW00OWAyaIp#P=E!1 z;{ovixB%P$f%`dt%tQ0|-;=+b{O@^qD1HAEfcFfO{;?1`8ZF=v9vV6x+Iy2>_4KA3u4DhVcv& z51-&UArUbNDfw$%{iKO0GFomS4Lxv7LUMj#?KGXRl!3d4C$eUSo`FX|P{b{A|9f_u#n$g5o7}30+NmFS{S&=^ zAqN0Fki&fZ1P%T9U+gUL0BDaNp*=!>^aKavIo9K67=VX^2YPrI_|FJl6LJ#~)9Ox; zkdo0!Y3rHACnP3~Phs+CILD0rrWX*D)^T&MsH*1Wd>fIPM*v68WudNI4I{PAV-J7TA#P&)Vw@)z*v6PJ(nSgvePJyT9xQ-!r4w$c4RX3DLtu^v_B^Ajo|LPa<)oaYHj6e$JD%lBwhfD#OnfJ|6T}99 z`&Tzaq0!z#0^`i|iKN2o0=h`FIJKg>q>O~)Gsw=5YoM09pESI84VFgeqP z-&!VbsY2gJo0omB=L0^za}+3W%0p58ao#xfI@VsgtPEkn&YK(iLRq{@k&Rpvq`Xi| zK6;U2&@w%{IHMaJ)0Th0=oz}LSo1sXS&9+a3r><(M>N8!x-$|aa@svl>pwlji})Gd+JY};E$@|+fb1Z4|W8GUpP=amV+~@5`g;) zuxNyUimzhB3L(q694?tZF}|Tg4(Bm9sf%-ytRRb2umIEDy;{&{l0#z1%vnRDZvX02 zXj9;PvstdIJv20(dH8T%pgp%L$na0m=2KE8!yUx;diEFFG4X9>gT?lhVF+(uuWQv3jY6id{ANE5`rF1??>78yP#>$wHA?g^qG^$@QGBt9VUoSbw-sPis(|zi?-=VL4TD!}JemI5P13oc)-21%4 zxOpf)^yiV@T@PRtAS_v!meoulxr}Lg{mMJE{(7Y94v=sUs00Z8#8Lk@wn9JuE0={n zV?8(?-c_+@SiHZx$;@j#@rX=rz5!OG0bL;Mk4TZz)n8NPAtB>NnJ1B=Tt0iN6*hCR zU8oVZ*^=KN@5&6fR$Ij-J)%D$?0bc;YH2UgTJ#$07CXNny*dn_sJRx)ZMN0tHSQzkLXZY86mJA`SZ|E9jSz~< ze6^OWyN)T%$V)c;wCt!L-kZR|WWNzL*h4LM|1ZI-oG?rzTwi=Ro<^ z)LqKXiGWtOhWJi+(u;-K>S^EUH#@SB^?;+9Wb~@mKP>-Jn~U4l;A;8Ov|XqPnqh!q zI@d-Ya=r!jG||TBByv>WSncmrmif*fP|J5!zS|a->5e}YTzXrqTbsF6$}Y}nXMhfY z=<7hvUlgS5lE>&_1_RYq*BOYEc}||n@Zf`0b+k^VusjHbeXvu;R=eZIx@?r|P<>>p0>l#Hiao zOt*Wr<*lkCAq$d%#^3`NxwV*mC4oKksJs zB!47WuivGBKGDzR)T(@V0il+h_l|R8Tw~xscCjn__^CPOkX1Z~=%Kk?7{U~kwmHFOusd#iqZl%dY#nh;SjfX0-5>sFDh zTQm{mAfQX*{|MUdG}K{fPKKn8YPnxrW8tR!iQX6q_XtQqvL|~*XYrgCWL)v0=B^Y5 z#AqZ=Xh<_XHcXsvqc=ai|K;@~`WiQK{^&zo6Gyc8lzQZi%4EYu;4MHX`FIdoR}%%j zHa9{hgjug!Hz;y(j`8Oxz%xGAyMO0`w>6f}r6*PZ;PlxJ{EZCajE<|HuAbC-S-C&P z_O>B$jxZ1L9bAdj+TMTB=zf9$DRvB(PmfaTWZJMaeyrG(E}I??B5(;&8#X2*SY72m z_V-RZ!uP^vnZ)qNYoyRK9QMFAXK&XK8J}#7XN_PCO#7n1IorGC2!A{%Nx<=%wz$M% zoyyGiLbqq0u*=~zv`nnLe~iz4sCaIGqH|XCtA&#I&=5mwv}!8x_7X)9+d_z~0W8 zee#i1jWetS4Hp7Vhp7w&3d8ikKC<%hNC)pU!r9M3-T|jq+h&8*l=~co;v52loC@CK zZ+;Cn*EL)A8^l9=E-(}@r}Q-vzdCJdL6{D-bvY_93uAiwu&Hxc zk^>$*bsJc53WSZC@XSCWWa@H_z6GWiV|68gqAbLh3&c)MZr>YzK`J0KG(#=JQ@@_d zxbDmm1{J9*2`2V&Xhr(rbSWM?8ka6uuk#wkz|0t4z`*FmKbWARX??(DiNuWWuhrp4 z;U8>wIt6Ukz##Td8CSPTHOjN&zE#A2ThVxoc-(l1c;CUWm{GMjPY?X4o;Q3p#S<=Z z3zi~Z4~z9kJ?;B+?*Z+X@cfMFBq}fVEQuEFUBO{XWn2$z0y;Y)z6<@I9e>1S)Bbx+QhekO!^AVq2v8Fg0VA%^IA4$G)RRD&*cd zr+^>=77E#~TSlIC9KKrJ_l{&Z3mTL>-*`ls*w)X0z7{|yo6n)4yofXSutHUPB zHD)rUdvep=8+m(pW^jQMaZii!{mj{EC!TI)2<#<7lG5u1UKD)_Yn^6VOaIOER@S+u zeMr>UfM>A&@S@)l-552%FL%y=`#ibo*$nUGOQ)Ez$gIklP$0-|+-3VkhkSXsHCzDR zkFQ)-Zj{u!xofKV>jyPMox1%h6PFi*uVeXsBZ;1rGliBE)DW-eBQ=fNHlqcQdZHfmOqI6`=)tJvUEOH(Ri*=}V^6%(#c+~)m z?=1-{O776$e{N10+^b@gB>ZzM(jm`NxRop<(rrOY*?H6_-thCJhMXYRnU`u&jU#jM ztq8)X656vqyPHS7-a&*@yWB3niK@bUI(#tIHk>htQ#yY_1J?`L8^zZq?nP%Zo~GMs0vC&U3s)@DfLU4> zgJX<}aux6&Bl_g>FMIK1qp0w#zJ$qXVJ4Nwj!m|whzP1S%rpgUt@bHdGCazlVXr$EAw7xwt`aIPl1SVjXvA#)JiOj+#|#iXKKut-RgneOk3Z`+fcy2^3tyl>@G3NVmwUPzkNGAc6KK^O;_R#&9e2wIW}2(+|uu4 zWy!(&+pg$^Rzms{Fll>(PUAU>>SEX~Tb%b?PfH?uKE$Jl%%$7f-q=O@8@QJEXrA|& zIxcjwAv4*U1%)#E45E&RhljwNkB*#CR&;L#jD+Ld_nEf}HW{VMK8E#r-vhQ)Y_8by zqYb|YKM#2+^1G*2Fo=06zjHsw26MAvU4V1PM+@H)Bz?{-o6zpwBIzO2N%NgmYt z`2vYU^a(DnsZmNC+yP0G&mt+ezq@YQ@O@n)-dGfuuO*@S^SQ%b%lZ($?zHnZ!=txr# zHJ{(8;&6$fF9*8^z+9X5tK>urx|94xKqCFz?b7^exJnAkamxyk)fNNtDN<_IZOJ$R`Zs$?@afRLV*!- zXuzksx8*=Xh~&$^Pl7Q9PMndL#yk(*VqgzM<(O`LGV z`-l-MwN*l2$WD0f_w+8R``b!DJl2v0qPRE0HAmujxYpD_x`q^Yrkezyrz9T(ak|X zx`cQ-@TyHUHUz}GUR8Y~+v7`GHw{e|BdtCo*ogYRDobWX zHp#e-Z9A8kT+LG)pCPHMQ`O)3r9XusjmLYv5@COqutdO?R6oP2(SN>jq~sWL>@NwW zOIvDBW!iEu40rKjO&6G)#RwZqJGbvuOj%1}26r1!P0_IvZNp6(hq+J@svn77<5Imk zmw#dyAFy7g)%6zPyPb}};V_1K*&pD&A|%`((rlDn|G~n1_AK!$k;r>GK{w5^$3OGw zNDcOVtiiut(}G`azFoJYARnv}SQkc_XNPiGqzR#1{9k2L>NCCmW&oVQaDi2fVC#8) zAGHk+WwNc5(^JZi?PHwbCuW(_;L{PtZ;g_O$p-#cFMW}((NtMQTs zGD{ge<656wyylAohnsT1U^+D*p>Up9P8xkCDzHW*=qN^~n%xFBBm1LDxwc*enrjQ0 zEAKXz=30K$Dko5Q8@K;JXDM^WK>nyd>NtAEZB1*|4d{LkunBKju(Q{P45*SA!Bs@0 zKn}rq@xB#lmC|S)7_U|J@A5<@BlE95yYOl|09S#*O;bi+=UjJm41^96%uGvu8d+I< z|3%Jx*bBJ^&wI#NgS-t*sG=*&-28xOxH4u z?*R%pTmWEzVaW`K7KByj`OSK9H!%B4=hUt<=O*J?0_ce`Fz#7l*Fjd324fG~inO4V z4BlfM?ddkV^y#lAiByvLSK%i<#z$7;C3&>f6*l{6-aQk=CK*KzebNjjgInjYXN9o> zEW%GLfG;NJXEMe+TY7^o@Owv!O? z*!omleK+=@#Yz=437^72&0)?pA3lAP=TXH5b*BsMVc~a}+*Q>SZr_{T%uZIyp|A2% zOuMBV(zHwBw?Aeh43ksr+YKG#i5yFdA;cgD_A)sBx(6`WN;J$0XquffFub10UnycE zoY)W}-cjcXk~gX6MHgCmB<^8c)lnU%v)71;$yDCT4ZLzU(1fYF2*;+x_^{HhU2;dQ zoQ5Zuh#GAOM_7>QVKINNv>=`7tx8W5-tVdLFnz4dKWg}my+)nU>m3ux@@gbwi?5!8 zVB+c!B~_1=4aOm`Xudwkydj_aWJy2&?LxkwEqeTnXXEHew#`eS+DhT7&TS4)7lnlJ zA-#R%_PhFO1LY|JO~z8VKvqK{*m6Ap-|F-!X0t&dVuX&Gs3KD{`k zu4_BoV{|TVOxsiW1)edrLbZ(bf}7L}`dR9ldEav=WR&!YLr=PK$@sttYDS5v$guK7 zBn6kg!xMM!+`zU%W%Y>t@qo3VSsP(dlal(DW38-@8FR3^tebQ z4W{V@^iaEvP>LJX0KB+i8py_a!fnYLqd@X6_!{YYd%16J5 z^ts}HlpLY=Dlc*?&l-6|`k$u>u{h6VqQ)pBR+OXR>6`Oi;`5PP8RHE#ja{OyH}vUG z7B^ZuEk|qWY6Cw+$mYNwW7%*W0qK3so+_5df(h0&&Ae!6hK%sUywa=<*mxh~jH!{R znYd|uk6KX!jMaKOx*No#@$dYA3w?)1cRjIc0|OOaFpKnjt(LTe#=g?*V!vx9 zbT6HpT}sDAilsLT%(J{-C+%V0zcwu(9p$ymm#a0&<`cU6^pr|ca5Dtaz&I-_1+z`u zSC%r)m*G8Y@h}y~`b!E?q}htYi)6S#Nq4nP3iGH$dnaQa`PXE+kf>)fWe$wNuT^@Z zUFeUFHluj5JM491n^AXlu=)PwtmmGNG~ZKpyKi*U#@*+h+;)yA(<$dADLG&+=xKGZ zJC$=|Ny#d8>91|t82(62bWPi8TZ3%FPrNxQR0f zVXOaL0juaeAgE7wSxol}eZhCu9o2zMeAea-ZiS>c-p4O_FTi?07lIqxsMxGt^{=Mc zi>A+io)PSxAEu|rZV&a?e&DN}0{*76;+b#Bqpwj)v^-~@@R`hPQhjq}g^+(a%x}(G zKx_VM$(u)7zjvUg#eF_ss!Hs3VSOC~fxN0dGA-g$rx?Q0UL{7xP3*a@Wwt9xn~agb zKFz%(@tT0D?5Mm9PdZVpf2Fi5Dc#eZooCL_zj%>nnfmQXvggqqf58L&DQcCN;=A*X>WzXg$zN?!cjf7AIPUNo+pV&BQ18YP=Ps9k_2NH->91;L(|0}h!&?T$ zHFEtcd-O1&nLZp5EDXAkK@hLPt960m9;-MuaUHsPIz~%vL@c_AY?$lNj(A0b*`cV~ z^+dy%J_K$YtviEE)14EL&>6GeV9ILi|85rGg~33?+?wP0+P5QG)i=Tk!6JK6 zM`TZ(CjnURG|oxl*ZcO#-tB-99#P|rd7hasZU=x1LmA3 ziU*0BM~6eTX{vPfM!x37%A-XDc77<;3R6->(_FQ!>$MS5>_XIXR0{ZDs&k{fe+yHLMAhZZ}0Tc6QOU zwd60lJ6f(V%ERu|GIhtSOiBWBNs&(Hn&R!Qnani?9KMACRkcQ45;&0jU;<9-XVS~K zs*X&KhDKxOY*@mq6j*dV7Dc)vF*rmF#z+(GqdF709s3eFf*4wyg9&%WmZn?3%-~>Vgpl~P7qc?8xNQadenMUzLUpV$?WKBj1Bq(*3v5BB& z&)@wTR&2Nw)g}u zIy2u?$GO5I0q#O>OTAL3U>w>A02!9nzGFy^fGX>IdmketjfF%1W54Y0b^$Q=N^Sx? zxS2Mw%KDYuT#3oG-kwp6t|l7^to0a&tlpT2dkY}?wt>T~enMQ;?L_>euQNueaENk% zl=4R7QCxJ$G<({+ZK0N(_(d`BK%hYoNKgPc^`!{`8cY9r=kvlH23JHON5sUp$E237 z$#W>QhZ}YdeQRJ??z1)!wc$@{{XDS>sfil%yBE*e<>+<)DACpvY#a^hI=NTiO*@^m z=@r-*L3}p8HBSh*m(`#~1hB~+Bct-(m-KLw2&3~;R_NMZ225@ML(_x16pO77zpbMe z&-5t^g0-U=#IAP5Q5-q(;vOY}>!?S(rf+l1D_(0%9&zqC`H(LW$9^fO5TIjVWWW@( zeH%vFQ*E==m#!R8vhy5CyyB+aLlHA2S;`MD;_nyH1Ht)KRuDLl=ii%15s+)uSwwvgn8PDoDgT+(E995H|xP~yOsaZVEW&x$JE`mH;0d}#zF~DH~}>e zH&G}2Ab$lOC1!7BSpVi8FkkGyom@;`#2d@3vfL@)oH;^73j({nO01Y*;Xjaa4v4r( zO`A$!CZ{sBbOcU}WOnh3l=oEV^eD3j$9TXC9M~T7ym(DZ&q#^@E;5Se2;yd};8T8s zL9LuAw*Fpjap_vCY74K-!o-+Naeo=oiRKU1Dus5CtG{G}+x z|DJkc&4pK5v9Nmr(_%N4V{O(ueH16Y3AM^VpmHMmiE<+yspZ)^*w8E`?Kq2YTNt^E zo15Ly02K!w}b(|iEW%JW3?{DVZZ}vaYPhfYB&E*w5zbq;gs_NgQ{JpLq;x^_-d@!RiPJ*pm;@TA# zFKrizuqlOdP?rf>S9GfOXXhw}f}h01usbqwmk;F7^q@94GMbvkDKTb^i9I;!GW#cx zJL%8XC+s!Na%o&Zr(^7T zQhnkAp1L||C8^t_dlyQ1ZK0IKOmXz3Ga^bPPdRww$6t?0h$_L7>ruRL--I>P;JQhh zU3rZed_X&(xbL1jNGbDfH^rB5f;^Jare9y+Z z!%N-?@WOHF&!#vVzQE#QQe*5$4CX8sbBx9^`zj2$Zz9Cq)4&Be%+)>-X6>|nEGD{A zPf^cxMxg7oY?|-@68!76n)ldVU5FzT;3PgxbD;^KWaN-6qcT&c`7#Yaa+LLfN_HaH9utm&4=G-r| z>LXPxN>NoN_5q&Wej@C0Tw1BX46UeOgaY$-r^@ear@ z4>K!Iyq*qHeeXCwn4YFswcW!WK^ENVK$`QQ8O|3a=n$7sR~`?kW955X{ml)5am|3)$hhY z0?pPt72UQW;)cc{yGYc`U48A|f@)3O@~Uoyrj;5m{r=^*GnLlhcuIG1I+x8G{FRI6Mvp82bO$s0NbaFQa9@W|IU z%KYQ1Mz<5~LhH#+`kLh%0?x}-pxz6Ml~%?dwjyUGq`w`A7jNi_%bx6=I!^fLMT?V* zw42mN>sGz3tF7Xjk0npcs-iQU#Iq5OnZ2 zkJs{V`lO+Ob|bJWK5paBPw3X=zxE>B&tODPxqFx5%pF;=T@Dx1Ls5FCIy#2OBoqng zj3jzCx#=1ZvyW|ZWQkg?%q1iWqHkpBKt0_aNd-zW)s8Q;B;dUQ>-#yN5twH0=Hr9% zR$jkCXl9VT=yF&6uF^s}V8AQNO|1tVHNS1ZAyWLQ@a4aC-2b0+#vn7jly|#vr(tks zjBD{B=_2h?&f(G((!ZzuC+Kp0Bx{sv>B3#vR0EN9c!RqR#?9_2LjzKG-EtlZ9*0dG zZ~0K1{%Bh2V>Rvneh&1NzB%3++QvD&Zlw9U#NV;{yOsR?`}n(O_`6U1do=iaWYJlfL#3GqR%5nFsk`djm>O^h z*}w(#IA`dZ&GkrTl4LVk15L+FWt=y$2E3YMZX;`Hv75$e+`gkOwQvV}sLtsiYkyU` z75!R*Pj!t)+a)UUkXQ}0Cxo4(6|Tj^=(f$3!o>;Q5_78%5bv&D`I>G8{a99qkFQlP zzNf^rRnHON|AJe^*gytjG~=7-Set(UB}~#AE9*W17*AeHOnj&{uTc^VDE>JJ&R_SSHEx+=YFACrCIXqTR`4BL^%(#K0Zx^QQLk+u|6>(GX{gc zOU=Ja2D3!PvNw79LN3EMfu^(|j;8lY@HEnpJZqiqZf3v#PxiRv01gHy{0QUY>tAs5 z-y8eZx%xNMAy3x^^LVsG)q8Dr)Qc^008g_Cwi>*b`sX!C{Y8yX0L07 zFsMCvm|uuRnQ|-q^>PX-X=>%~s`9rH5xH)|w4r!LR=gA#7Z{ktmB$E) zx)$I)0KaBwyU)KU=i3&OR>@gXu7SE1)cjQ|c#heqo`Vrt&nX3(fX%$HSD>mlE2Hl@ zAB7Ze%8=*e>e2%FDVrP}IBw2yX_8`}PWnx+#SC-r(pl)Lvx(8oPr~aJM-~xkM4s2_ zp8)umi~rT0>VL$ZfNB`yd|oK!9x&B?#d~1Jo~f&FG1oe@eE8~P`strgiBFO>D;-03 zEs`TyE|`$xO39W*oR1h@=r@}MUC4&Gd%&d6%Jn^<{>9XFfuUj!>m7+()~R>*o$9AT zW&n14Y(1+uo44_Rn=o?!s!4t$a;#u{VyEQl(9-sxv@@MOQ^`aqQd0_3T)0b?C1qk4E{f?Z4QnlZBf--lJLj_VAcbsl`2j#31WR*$FRY9pi3}iQ!|fh~Ozk zNhi~|cl$V7SyWWvsmVD^xWO553a6u=u;gx>UyO7Y)?l;Om`Wv_A{(^e%=6nbKVtKPXrlgE=w3ty9dbM zBp$WgDMe3d^+vDVQe4R+qGKjqLT&;!3iKP*@>gqqeDtWYQL~#mQTNrhU?qAcBU8Mf z{G_Gpv{$}Wj{f^~QHq<|xty<8geVIc5uSCy)Uo!5hD?=@Oj}E%{18<=Fi!4SX7btQ z<57N*rX)_UH}az)X{k2bPbX6SXxWi!BKy{kOSGfC-D_d(!@$1MK=LX^q*@~ghD?gi zC|Ur`dn_pYk@XtAyPG>xrJP1q@gf?I`)taCu!lu?^sR)l46HoP4_o#NU`9+}Vj6t3_J zPCKav)a=``YZSYK7Rn!raguJ=)QFD0VhahypHX?QzK zlyEefsB}$?T^aZpsaKip^4s+G2RCYAe;KfJSS_x!%S}`%A(?q>;=^p}VruL&AA838 z#6YF-I5~a78v#DBpv&&@d1vmSQm)wdTb-5GT(}R;Yb9R*Q($`Dmcsh2QD+jePGndQ zE&d_|ZLpDZC6T>U)z$^65XmNhq?5xKVexCiFfEIxT~17ry?wXU2*Vqr1NAM!bjcCd*?12U6c= zN(r?nLn1K*#Exg|hl%HM)w*;NklhCn%&2cc(Acv9-xHVUw}SKQ_v?#=_;P5we9IKF zit;on3|(07nW8gp_nDca<;Uv@O!rbuWrD(#Q=53l$wfj$D{9yaROj)(l)m|vGTFy$ zjLPXHBPmUAq`=0ejNUtTals|+==vT}a`p@JmaEest5;)50JzG+-rwiw2ruD?0rpSY z#bYj%>dzNNkVcveHdpQHhIl9P`ipkJ@Ly;dK4k@C6fVOv+r@RgempD^vCq3?%;0#s z(yJQuGBbWmV{}n~=ctP0{eG;nQk|5vgpE8x_(S@7UbRw5`V51MMgZ)nXgo45^n1&~ zPVKm%>m1eGKIPBFat=M$m3BpOt8$1zcEQWkek<+NE?xe)t9cNCwc4sXDx=nm*;0$c zxJSgOuQX5NH{xUGd(A7d9EWC#fgN$0Vb@f>-_eWi5I#|X_WI3?q@FdHB-+ZsNYAg` zWoPxK0Z5{aKTBTolZ4>;L&q?oJzmu$mwt!3ojS6u<)gYk>!tM+P67+?b6qd1q?zSd zVKXaRUD;5RjhqZRBZN-^4W%Zs7ncz?DYdftZY0}1xOwff`5edggdB5sL(R=CJt#;N zxmDlmfNh}D?Nq$UwqR_Y2{g}*@bSW6C3>N|F{EFqS;DJB5%_pecfv5v3)>7aZDAs# z*4p1);(nOJke!PMy%N8c8x!F$5RqaSd7Dog$Wk%Qwm)iEmU&Znpd=Brk#M;&H+GHh z&hed~8qoqpTi zxIr(5qU#xgb(Ll_e-A}QU4HCckm>3Y*fr!JhpyB$d18b}9TY00v)z3&vTzyQHgl0uc;A z&6ek?<242@^dQ0mGGn*Ft;zC%U&bvTR@sh=2c1IXIOmjBhK|CyZ_#SQ&)qQBJ;@K0K%&s?>H^j67SQZ_tQljG1yiU@XD>)>x-xsha0% zC?TiE{g9S3`zoEe!*sCbG8IUL+OM9$-r0-$)h^QlqTw#kZz0Qnq8xA;iabnq(qa4sOyOx+G$q@F^#<7 zN!J#m5_<)T3D5ODBxmU*k5P2^$OU_2vtU=Q4xc?wdZtrGVl5;Y$$?wVw|&7P(^bd`F`OJ zJtM^vS3E)y2zwNy)QRS#-7S!`bI$t!bme!bC^AUX!>uIn%b+cgy$o!JXhe%a;8$)GU@ zn~OGEg=<^_Z=xz&kumc(i4z9-;1RB(-SMl05Qs?h>!XMjOfn3f*uZUNAZd6!r#z5^N3OZrVku3W7EQ-~%2kPtw z&#Q$^&${#CpUzR_T96P}17k$y>+C6>+`9B>OV=)G{E(`eWKPr%jzdZBy8usN?L_($Lj_xJ+cmQ;F2-}GK@G&qZXKhL`f$-}># z39>Hi|Ip14u2x!;-{*Q8vMTYsM&n2T>-if?}@9^qf zMoeTt9eCwTh#kf}`o$u`7%v$85C^de{D=csj@H9EnZnSW!XWCOih9H8I~u>4)|fhP z3a)beA*c-B%`rZQr-QRidh@4LAGM(q6R}Iy1&Z>mZM8nHMp?2)aT7TRplP8bdo%PF zHsvVF>`d{oWz(w+?d_mzox+hFi4fTS+{^I-wfvPbeI#@ulmgp(0^T0uTQ!}jSIKM^ z8XXI!p5!idi6K_9w!x#Dq4Y9>#42u73e9-K7cZJM5EkS!Iw+U)!bp4C;^J&tV9~p1 z28-#NSa2Wf;r0y)^tnnUDH=uq^9fLP1c*C(rvvn$Y$rXHk36wNeXOxUPeZNg! z!#~t#!MDuWt#cbfZkCT_9Tw9mp)-bpmgJ%F`IfVWrU zYR8NFCM)No;zR`>m94jBmm3=b-$zD&XA3qK$r6h;=xuzZQE0e*Ubj(m&Ii8OwV)34 z{wTqB`^ayD*M#??#uh}vu5@&o_knfZJEz1o>5tNhA@w@X+sR{b$yNt1%F~MGab&kO zmp<`uzh$0D}V?U@&E5A9pAaJKMO>bd+Jc+^}w?>D^qOfYR zIA(}9hNO}qp`z`QB)IC~tw$P#1tzbiP3Tgc(h;jxW$8aL0ADg3r0Hoi#IVC@c-PjUZpp>%&9WVJDwjSe7Re%}Z zZdA)C9ly%}PSb4?c%7;o+e?u~=*%NnZ_-^qco>5RrXVsolmGroLd%@1_;l`FZa&5O z^#{3~bq6m)%s+W4eAt&5)OK;3PunibSVaT=7#H-L3hj4?{IVfJ9>ab(vOc_3fItJ@W1rW?x}K#e|3@tTn|4q&-+23AOkF0Iv7pK{#EUs-xmbsiEo?@mipZcNFX$|Y zfUzKr)iE-d(Xw{u9|P2TI=TJ;7B ze^q@{L$u=8%SsEHyD3S4Uw|GRmqiL^)VIe99W_5JRNZ%xy=Yu~zui7lEL8r-^io1F z8NXun+)vPDuyJwIRXf++%FTM&4XcPFQ%^>2Zg)aWY3H0}|5oDaUEgx#tP00n6$6D( z>a&tR&bYo}Um+{n6#W`! zgK3u9>tS+HF(g5?Z*%r^W@y>{6EtZ9qfF>yi>$_UH?K&>{JC5+)91M5ZAc`UMP8WBEQf zELRI`+BM&bK2pckC{5B^;-<2cC|k2~(T6PwFjZPA)Mxa~kRP1NHwa3~bX(Erj1TN) zqt4E{T2(oBpA@AJTq!puaJ$P7BGP$yS|qJ~uSp*9{&vZl@x5q2umD~-r>>u-Zn5{M z#?@{4v?r(j(o?tXdoi!mOy%Wkw>21qwE9K)ngQ3?N5y%DU8ivUSdqoS*};K?iMEyD z)i3kJ)3_o}JM!c7`g)z>t*dSfpcXcL4e?k;>5_YikKCA(eQ9ms54Hspk$0hNTD*z1 z^E2%#or3ydlwZ&EO4DD3!JKjQqJ0$(8V*gxwEq}yM=Qg01R8Gz7M2>IK2INc9t#an zkXaIZ1(`>?g=^`7}y1D*(>h2=p zcnr*3YH+^RElMtv2m0%OvG>+NZLMGbXnIbm(b8hYp|}+&P$XytDPAPFmEZ(R@F1r` zi%W0_(BcFSt}Pl8tT;j221v2sP_#Ga{odbv-`~u8|GD@6e)qjI=b22h=Gn<)@Aa%_ zt2r&4r-W$dy@tvRxAA^g!O4i>1##)ZAECD&W z!eSSB-*QhZ5F7`JtdgSDs;o<0THnJFH3%s=7qn(9T)!XjGU>Rd&v#vwy^%XYBesy+MmcMyaHU+smh{c#-k#D!KJj~wwd0Zx9g;NFs0%cV(<&l1 zwSLYVeeNek(YFJu9*PJ{7oF}W1l{l2jrt{t(m5KD47N%hM>k-RAJ=-U7Tf*w)^0Tz zCTnADPx|g;sAGza{Nqx6OgO?+2TZ5jH_xW7zZ@jdefOD`vb?65YPYhPEoJvGr9y*G zu3dnn7Ww#gt&m}A$1_bs%)BqRcw+ZAt|T_eb){9cdKQL!PoLxsE!J&>>8};jL(?qg z7f4{qp&Aff?xAB`x4p!t7ngKb>XX#_H|;NsK?;^{n-u9Giz2kp3A~0;yLa(7NaB&| z3p=M<9kI1Kyh-1B<=e{Mrm?q!bJ%qTHh2S5JmY3#DQU6&snx7&KApktuynk^V+LFY$|&hc9K~XbE<50 zcyFr|pc+bUH0~J7Hahgtd5}cbfA!r-woGiToAyX9^~w90gk9KZtM6D?W=GfmB+0v# z8L|EFc2BvzUJRL8E!X6Ii2Gz#tSjSg`_O2v?*^xgb8=klhi4tFy`OUXu^DCF*GQop z=L#Rug{MylR+%7T{d z?UKCvm&AZ|u+yb+@aKzhTVDcI_qL!OTf0Ot?2_o`YDup9H9s15@qPM@q~5nL*1=L1 z=T@4thQ9$PE#$22GvsB$Z$J<MZ14`|GF}uXNwV)5)-_567=(Q zI;ib8;ENu}Ixj?iea>wDaQb*;-DBbBh+0tP0p_@!lh_e|5O&0$eX{Q+bmmS*Nsq*a zi+=-F+6-f^UYWF^%)Ytd(XHpU9vZuwr5xWiJzcu=YpCgaFj7$q&zcexI#30X%`^z~ zhvILx=b4Yx{RTMiEy?Fa-5~VU%7r#po5zuC*tY!aDrd`+X17hYUL&-G&G5z(;#D*{ z!mTM$hotY86>j>Xz^%Hl^Dm#}a(@F-cT3M#_F_UZ&JE{T!AERCb3q$DPgPGFkDdk9 z99;k8ez;*0zwS1rRI#Q9Jh+=4V4WMc6TCg#rW$-##vEE0H7C z)z-8=qSth&{NerSniX#b&VFzOTxzJLSBrhbqfIjKe%Xk*^@wPIL*y{H<#a)QycA#M z(ZDfKV;oT4$=}7Kegb>S?GSl^u!gbC9@Q^Yxuuh2VIX>ahpNKsM!BEfy3eQPntryq zYlT|T{c|t`7UHg`cbb-zp1A*6?y&vysmVyY$hTkYo-C`2o<9PH6|8>*4NY*TEe>Cr zK`LLKE(T4Wey_`yI=r*qIEndmq4v`4aTx8SOlf9Vfgm?D+4HrZ=kos3#VhY)y(x9`3y|0hN73-|WBt4FeP*9${<*QqYnsD1vxsyT2mTR`w4rq zME7e&62q-9PU*&(i9UT8L_NZx4{L^K=z2kHUyQ6TXNw6hFN_H`Txd0%ao3O}rV65V znFIC8cq&UV_b}avt3krl`tvB%yt>VasaRsTM#uPfxCSMS$avS@#2s9n!o#<1v`T`A zs+khn_)l{g+F-%tDVN?`&zFmUdpWm@@}Zw`ZY%HC%5Vn1egi6n=B;BgJXVs|Sv9 zU_&YI)LY-K1UnDE`kqm_t{ivHwNC zq9w_?Blr+I3Ed(z3YB~xFTN$v8a^S1Lawv+4R8A_uNHqLZ+;OAL`OqTt94OX8u@8z zNtLnn$MfS!2xW<~{Gs}~F>!SZTa7X$aicUi63xYL7 z+hU>J2dVRW>t^J0u;y66H1cuZ+Q4qfB!@1tF0p)|dkE7ZA)qKe>Vq#$M8rN_u~-B@ zNblSB;4u-se{G9aXRFF|6EpGNfXYx%BjrNfbUjVGPBO+8SCQ=Arz!>adi#vWE>S2F z@EW#A6)X*D>1!-mIkkz&r7qD=W2qcqx3I6s#DG^@$!S}n_y>cS>ZPK&X?J{7r6Ipx z8;xnotH_AM=Pb2(uBq!r`AY2kPt{~pK?ZP04V`Y{Ub&llZDA>Rp9emgq{GczZ~=1p6HmX#c-k2_&A>Q3Yr#8<~tZFdHLwcuz1+! zh$ER07_1R5*t2n?a;(`*n!T@X*s4nArio-K+$vRduzY^Ltkyp*;NmR51dVfI6w+X5 zf0y+!Qzxq^$;aRYQsr96SjXFg_&i_t$+funsL6!{H>QNow4~))214w@=KEDoaW~Gi zoLZh$({&AB*IusX-Den~Qv9p>LB0-5Ep`0+Ok4z_e-dG~ta7N<(X*ZEFU~N@i1y>! zE13XECxx@79I@}E=|U|gY%2LHL}Hi!mMf#sf{>Si^H+N~GK2CD?&OYIa})+|U=D7l zg$j$0KPXcY@UWV@&)e~ntQ|Mx|tDF+B zS=PE1j`k!3L$myeI#+%6r_TyE)}LZUvm4ih{o*rY5-QB0y&|v6DsRXm@~pDdv-KWZ z5u`mCl_GQFHT(s8O~2>VCOU&AJT}ItU7KUQKYo$OE;gDv4!)*kJXf8*6>T;6bQAwj z&A3*?ppixqjagzDg*&`=CgjvdOeRg$&>0J3>2}q*0~-a6`i(QQ*LTg!y_!;@NNvN8*~4_E`T9Ax#LG6jI#{O z$%-gChQ2q~WNU`uKTy@i&G+R>2IpCu?&WaP-BQ(T$HZzq*v;5FTz7w?7JA|zt}%K) z0j0BUE%Sj54af2!`}(5D-I}3Z7oW427`%JSFXy&Z z`3|X^-U01M?0THNF+__7Sk|3>XxAR6Vhlt@6h;Ik`)-|bwt*7~X*KFoA4W(i!tX_` zJ94VdIShu`s($_k7%tYHX7@4`a#Ew zIFfl9`UTKU*337H}8w z_TS`t3BV~C4_>m%4V`{nxI}U=H-sSrw?~-n&fd=2z@S6+h&u|`u}}X^K4$`icrS8> z-DPvUa3&{Y>)wsEP##t|CdPc&x~6kTz$=}=ezE_#{PEx9r#)4M{@00s;=f7ogS(aTJ!0Pp_^I_mR_UK5`DaP~*(Lw% zl7AEz*{u9yOa8GX|CslG5Z6D5>)*)t9}xWaEz1AG`x3_f|4R_B96IQV{2DA9Z54;K9whaVaj~fh$3E8~vsMM!)bUgv^|KxDuS%d4!`kIvE zg1?7}^o?l8{*smr4&|4TT#34Q??*^<;lr@Abas7uT&$~5Gl-g+8Uz9bsHo_HKsG8W zhad%^e0|FmwfeuOsi|ofQDr|Pa(#^s&%}?!kE{Q64NM+l&pfb5y3yIZ%bL3}_ECby z>8=?Axg~Z2Td14q%@^Htc(F4Ai5R2sMpOc_E??y+jwGUaR!7KJcnd-V{szFwZKclA z*?NLjyCwB^ZEGcJLPp{l0=I1Zn}=TOhpZikuCwv9D%Dd?0UKCZ4fxv;D zK;@5LF8+g+RR6)X+tD&5eiiP#COK2b5vl!PKC`*mwy}rfyFO&AhU=q&vh zM!M~Ps8q61KGCSN#@5mx)L)8IcVv1Hln0+=5jJ1Z!*t>&TXpvpW{o#2qjSj7|Glq} zyCZD7id)2Zo3N%`e0)uO`(OWBxxGK*pnCse#=p+u?gPO8`~|?>e-4Li{==64Q(pcN zhrc!4{|n*}6QT{~I0KOVuK#(!Zt>p2qsvDpnJp!oo11wbsbn>1<8@kOH*q62vYR_* zk05$@)>be3(HH5bV1Kj$alyLni1@z3)S|8^o{BYbD4Nzk5y zp%uwkX)G+ePiTL)DDdfa4$tSfdG1f^j|q^*tFu-|G^*V3@_z5>{`$)YVmrh05EjE& z$yzVtVwe`BCyU)B)O&nc7)uMNi2;-Uocy-gCr$!0VkY{;&(gotnag}AOqGSox9vS& zj7>~umZ(Q_gQ)eJDF;cL(9`^laqHDnvHJRj(S}0LOI`yer#@$?ysR24mLt}8x<0PU zAXPuxzc4pg##4ppJ?%Ywoc2*#$qB{9WP%-|I(i@Fgas5ffWgXk8LJ zh5nXk&F@{9BX&KpLa7fnqg}{{a1eITn~UEBUd6YIc}O_^5{v?yMFbg$kM3<+scF_Y z@v|P%v$WY>pv9P4JW8ReFTL=cbgK5rd{D!pPqz&jfPLOb`{x!;&mNzj@#a#~Yy|TA z1JU}fpEoFUbmO@Hw0|%eqN;0k zO((|8J}EAYFxU`xDI}*%;MD_Y`SYBHHS9Yb>(IT4tW1j`savzI8buc$;8+h$gjj^A z?fjgshI^;ns(~%ouSng9uBZs0>k98ZuLYl2gizE^Ap;>qDYBU> zvc!N~)>zYyAUjO)Z0?}^GAZHc_JVa!Qu74qOPL7EXpKG_ugjSQuCckpUP2o9gXEb( ztG{Vtr6?9WEi>rZCCicn&f9XIrOi`K_#~VN;;y%8o|l@J$K~*ASbI$K7&H&UEq(z2 zJu&|~dL#X3UG;y5{`1gd!C&j+BwAB+1&3|)AZKMvn)${VjcNSdrE^06Io&%!Z)AEO zdG`~!aa?}~XroYET>L_)j);iJ^}j(}&VCn)Je$Wwj^D1j5s`!Xdy;&pgOKIs?(H^v zd;_H;tuV66OMm%uVXrpcF(aC20M)&rsxYOPc;{`C4Ucrl7*8U-l@UVmgAdhT#Xp7K zJbL+};F6rmU7tCIrr>!uM_PmTio#N;#zY#t--yR*=uyxRgiC+4nsu%3h;n<67DaqY z2{anBv9+LvoPOQEih)3_mZ-D6OZVe`1F|s3drlv=Fv$LF@R0*u7G0LB7{7Xp)wSaI z4~iL;cxktt{8_Ad+%M+xiWQ-rXq@zNxsgQ@|6M0x11U9WC%q?fWB|vKs^$*A?l8LE zv^E(RtP2ZeZM?P9uxj+(N|T8it46Vc@Ji!RfAN#W67UC1_}3L8BewQU8WXv*23dDX zB8k8eN3sT87>4D-7%{ELcqa1JA;@kHD-IHrO__zE z$1NxSFfom1yVDj;(Dd2VVJ`ygBb}IrCGm4HM5fK*J8|<)we#XI1d#(w?#4y#WIOCd zwtaK>7-B8cFkBpY1ZLbChT+fB$t=9k2CqljBolHB0U1RW)FfG6ZTuS&IZ~VhFPAO{v2lE#0*Q zflG8pGhFWme57yN-8hT-w#x08`mQ=7q?Zy|Fa~bNzfBv;Ir{d?2i%iB9k)@k{5bo~ zB008dj)jAEv>|pY?(nAN@|$s%fmYB$Wt{UFvPO@!<`~Ev?>FG1IL^}Hmb^c6$?cQt z+;3pwuMywh(~Jgo{93s*<6G#(fI=Oq6Z=W};+s;)`M>$^*P0EXlTmY(l7PoAxoe?_yP%Qho58GYOkdGj7AqhzO;`*t{6k zxT#RLZJV?4fh|L(6|ekwI0Jb-Ob?|L*z2zSeQtJwwo#YvosE#_N{(-f~a)m*0*c8b?0H2sR#2Nhq&dq71~Z!C>iHN(iA=5p!5#Kwh90O;4% zmBU=ZFyiZc&({NY`3g7Yy?pSb(MbmG!aHMDT?3~yD-+@Gna$%1!cKcLv11YMJELdc z+DGGK(i){<cnM{3oIySz@QF|imMnP`N|<2qViDmBvgTX=0n zI||?v_+Ab4B^2?p_Mw&PK=1(2)r<*t-$;iypp? z&n;5jkEo~Z(>7$1-QuMBgv)dgABNGrR& zPVr7;+NBtPxQfNndsZQVqLeYKq0WV2T#+$0N7|3%3SxEi&VOi+D?7^L`}lIg*Y!8E z-ipnK^J3f*C3%G{BYrM-tjUX4x6{+p(-;qUh9CIX9Lc9P>)Te{lTXgWEcdzIxI8GCS#Wh!JMOireUZ>p z+dpBfg21g}nA0)he1)F6TJzQ2VRrB6Ql^^Ec zBKUbb1n;(liW=&S?aAt(1yXL)e;;1*0myV8jusNpnyn7&_U?sH2Wc8mJ+t=lx&d4PT@wT6&A;Po;UwM zp;7c)NB4?e;zh;h63vx9SsYI*w0oVRw*<#ON4Zp9sL@Q0yk_8w+_GUziniKr2JJ{uyJM=S0Te{Lc&CrDN`zgVd3QLZ9mYo>lc4iRLz_0>O)kXW(z^)QlFmSEJwZ{=vv8yrHr}dDp?6$eU!m+lG)Prht>S4 z&iL>rr@HK1=#;AyY(WOsDxYs(J_H5UBL_%7#6Angy1PBtagsEcIjBe!T_)-+TgtZdxBYjyIrtxu;sq5^IIQ;Plvr z6pvyCfzh0%7bCQFIeB;~Vax7gKk3@Lobz9oK8dG8`W~fZby3lzlqq!kfMA^8r242K zD`NCDY@#zWzHg~V3F#p!MXUFmC*RP-f3@#DSz&5W9qZ4VeX;!FeP|>t&`Uj}heptn zp~iqNz4NxE-_bW~J~{O^->M>GpST=f3(3*;xM2%=-_|1LmSvtdv6MQ^j_-bj=j2Q1 zTL;sB-?EtCFf*Ao=owX4lD^a$QzTfe9W7CH*SYw}3>q0#npjet7?knUIMS2v;;i?I zeKmxoHEc#|%^;;mDN!;l^1dC1mvS}KkhF-B)vf{s!@~UPdSuLKniWCHNcBgwq+OJT zxE>{~Am0ShtHvwU2xOOGBlG-yyvsfj;mP*m1<;H@EJLjk8m~)KvH?v`^qnYCkmdDq z^m~aYRPge;0GM@EJQhh@Yp)o@eCaZ?LhB1y&}KL$-qnepS!jAIDWSoqSChILI?c3o zxzTfKy-0%dwuw15hEMF6ZLV7kj+p0A2{&uM<^5dav|_ND+lL7YQG~|cHTennV?gDN4wmx1H_mNpC>C;#pAPujpN*sOQrUP zxE}6zvlOSgm=n(*0GNOi>@fx4nVMXFdIoqnr+b3?0q?EZ!?zi;lr>Fak81Vq`l^srs*DHe1{3q+*~`05QTx6#A`Stj7t-84R7L_ zOn`kfn}gibA({%8pG56$w4#HSe19%Z=pGYtDm>H}#1`zm^F2;a>s^~!egkeSn{9V5 zuJE+f=Qr)QbVGO$pb!p~6YHr-|8o{lH5%|oR2I2X7J%|j zAdtgKbm#Jc$px1IMWE{YHe`HdT0q!6;mbrpz|ETVrOvI+;aIJ*l3A$n2U>CMnM!xW zfK8F(EAV8Dc|AXs%1i~NC0ew0L@p>1jTp)*e5d*8JUEv^`zz;GAaG!NAoe$axN^K& zVrqkuQSb=9K6yHOrj<7(7B6}{Eps=4y8hx!N@LZ=BgN)q$KiHrx%_TJcFc1h9tUb@ z1n8;hiadDx_?%=%)wVryBVd}zD=q(=iwa^Ha z@Zy5$f4SSqaIU9}02T3yBE1<4`!qXUF#7q$PIm5G9s6 zXg}}}Stwjm+H~HK5*7R*q;`txEA;hnW_W*NRnk_O$75aAxr&C84_<@P4fDzMhP1(N zDyC9VYE!~e6ObDPr8mOV`v=vvA9O+pEnBU(6`%9FuC$=8uw;i`c3evT2GG*kjI;OL z@10ftHewfc#eHe?eFjy56*DI9Sq- z?-}oRFOO~}nL=eJuO4irAWs2QeC*ahMh2IG{hG$}eh1b^Jl^+Sj%c5WD%*BTG;}q? zQhozo?RbUJuE~F)s=R7!)`FG&yU@?mXAj@}EU`~jwU2#UfYMCjm2>^O&db* z-eJiYdp};EX~Z1*oRRP@^}xWvJ$XH*ba{SeaOdc{7e)0@@iVw|dHhjlpi|u+#%wQS zL&5FPH3v)imn8a^_~Uwq?&4HjV_lU?WXFSrDrXt*M|~WYWhG7`f>Loi!|NLPa=VtA z)O<=@>Skj+ofhAEfy3H<_Fz)6C9cscEfyg!6kk<9l8&bPk&QG0q1%GSQe7#67)XANC`ikL8ES zB+HVKtkzA!%_FN@iKCUZF;4TtaLQcNL+t->)?ysR<6(?_N=4%F^LH7Eq${vI3p3C-_psZ{5?al8PjqH4~?73&&Z&ve|q}P-^`J-UT zU!f)tq$>*mRI7RbJDSrBn2CU9a2W#Igs|@%pakFF{%8W(9TTWn`=bdff&YUJ4_y3M z>pMqAQPH%FG9Ein7^~i;K*CF zHAA9@-Ko;4dV4QXM?+9gVchzcd1J~mK^y(`qt0UI*3`H0h0!(93t61dXXvXJN9LDcVNw04TXs|0ON(UC(*d{@MiBERf}6D=CD=zFHN& z1WLS!9grz~IEmx$gBljJIB`ZJj|gOk2hRtm?IA>3Q>;({kc)03b5nxxo( zK*y-x0HN2hG9vOUe}Zh*X0#~9v=dFHzZmYk{BSY4a^|Z9Ch|q+=X!jovISaEk#S zE7$C#HJ{}g9$!;rZfdkT*fJ~SXLqomHA#wB*?yz0LINHVno;fzDMePr2Ah^Aej86+ zl|n93x$Mh{yGQK+02L7Xhwth2tp&Z}K+dLOKhnr_CYr|ZMFlO3cnzt(MZqYh(lhxu zJqFC_m=x_ydM?7;?EBt*N`Kfw#wwWqJI|+RGKSbRY=e3hT@KmfWbF6uzO%R`CpDU@ z{;178mKtK;xi%(oJpfyNaCX4lB6nSm&+Cl~%09+^FE{}&>RnZ)6u)>T2MJ{(r=MPw z_?`j&z=e1gH$4|Adfa7cn(?DNJ3}Owr!YfFxqn@zwzSi+^nuY`IUOG~;%emJdwn6b zgg&N~RfA4R!gBuH8u!$-*kXZ~NShUv{3f9km*;hp7EVLfxJU0If_`rNNb~o=@*9Y7 zb6Yi;NX@Z0l4jL04^1QO!CysAG zY55D_sHEhv@qy)7w`t)(wM|~MrB*x#GK0&wzqd)5RG(G(`DMY&l^FEX=ETle2cO;EY zX$?0!`RbL*TCcjSaBe3`D@yN?Q9Jz=aJ#nMx4eQK;>#2y_u%1xZM4 z$!@t~y-}jkbP}|GB0IvgY`3My&zv=x_C9&PKP_-SRWnBW{{xdJPb0V>uaG2@!d%;W zZT$z-aJVeN!*Seu0veLJHc-VlX~rcw*m^=!XBw|v1A-VKx~_L3y6ijQO&g7X>$Z(1 zq954!nzqMU6XsifbRa<$eeJ4~(~5d%yT*>ij;X~St0Rx5NKa*&MYmUalMlUV>xJbD zx!Frb&v<7)dvf($a$3lW*}T|1S$}#dEEtxMM)5gYc2%zPum6Gg< zdU0}AuGyi93Kf&!FW%4l3qY$uLBoNGlW@Bzt`L=0o4!fEpwVmB{=L286-8<7W_I6D z3p6s4>$@O28+}t+RSn~w!q{$!qQ0)a^YZK2a{6*O0$U#)$KH&jl2azrmL4o>#o*kkHf)~j;WDO)`{LCG>cNRF=Ot0 z8;rsqR=JosE#*KD1Dhvd;kBvFl9qlCU_~ARYq$|B*??~|@*lKNE3o83zT4<^CRLp` zv=p3=!0C8WLZKiWPD#cpU&=$+*G$Y0D$9J+Jk}Y^#XL{>_EReo*De#Km2aB-PyoSq z-R=z3`IcMafqY*G^<*coFK~BK$keh`!pHA+!4k8`z}zBn{NkDWKCDP1p|x! z27r7QK10@~zE}QaagU|-8?dc1nrt}T9nbb+!g3j5mLZ_eF#}W0noMW+4`uXy8cNH* zf@+^lB-m6Wtz~GlGq`p-NJDtw?Co0I*1^M6>LUzY0jrAlCryhgJYv3@B9xY^@(yoADv(%~x6+K$If}bkMS@VGVSoc<@YN}+uz`l~#o1c=9 zg-R&mrv30dpIw28++Rw|6$n4yg6D#f>QJ3;<|SPZs*EMyR@>z@TMQu>#8b~+;*uFY->r_ zB$2C@Yg`qbZ1r=<3jUC&}q^+>rNw zq00VuPF;5zF}S;Hrgi?VN#uMDBR+LoUMVOcEDC3{%-iWn)CI;>+x{2la|PY@v@tcM zzuk$irGo`{Gkim@RcArFAD_R_#pM9|4d`tQKFn%6I!hmb5|vgZ9{LFdGG9y>y}hZX z>A;^@#iHz7DGxVocrYaoxjH-dTiaD9 z&gAOkf}r=9<`nR9lFyJOVP5hk;YWyc}4|u6)xD=E-t&? z4t{2bsMlRS<}T;j9Y`_G2q^sWVlb}07QqFLO zanU~~2oC^&Itpzdg>{7tEX%>FvcY4|QRPG+x+saQiFXiu<|wXPVVA0sceWA_k=-wr<(^n7 zFif2K78FFFkNQF=&xSBghzwKpS2xsHN(zd1u==6-5|dXcdVcT6l7ffUxE#TzYT4?U zN{GNu_;X^z+|CMze#-7mR(yK>M*u|**T1Akv454y!RB$S)9R(qNtb)p_whdOtvz&K zCvDe=J%cN@<~D@D1R8i}Am$;D5xq8}+wp_B5K} zhoc@(TZ_J_x-hqJnxpXH-FIpBkfIC&qrM68I%D>irsd3Q!v*HlQFKP@J6`wt6T65= z`%6Io!{oVUL#LWkbo8fOjT(9AV$Ru@UvYSs@6#-9 zw1I8z{j?qWpKfZK)51`m`c+$rj=t%EXF_*zN*2^lsq}YSDc$1`N6Mxk?S51qKQ2&C zUCt4wSc<*u#q z$rY~6>r<$`l1X?9?WpC7t}&N2(0aniQ@Beg55=z(fr^*_sT`xEs7}SNHBl?6}g&2oJ2H9W*MjA)DpS;iVlkYID|A`(gbfH+^n(E_g zP>6aYGA7tcr^}S8!7Y0%yVVCxy^$n4Phj7U6v(KFNs&DAVX<}RBhZ4$Y60L=X$6QO1t zYK45;`u8AzhW!09nKYW6GmmwZDv5Q|XP(OQiikjxV`B3De!&v}fStfUbmV}ccp0)^ zb%5pWfpYabhsei2SI+F`$+hMmLX^K=b^$!oOg&to-5UFd{ihRiXAWNlV_Z&G&g3Rt zdsg0QnIL@CL3r`XbNJl~NLLuAQ7JuMS=u`gAij@Y$HL zX~WfooG#Q<4WqBP^c#s^z}iTjq(B1gef_jlzWx~t*!oAtQ6PR{(<_2e5JCC=Q?UbSkCm#Zj924 zCRG8|ag$-)RA?U7UmWr6q|bm5reor)m>RSn`-WuM5UnkA`|g7= z%lm}HRj?5BP>_-402TW!ko={@}wQ+tk+i265{3r6N7Sz`diDY z;uO#^)>{2)(R5x#ITDc0Qd2ptdoXWpph#aOE`mGY;K@WgEoPw`8}gc?+$V+E`q(Qp z1DT!dt^YK}2&%3lLrc3amf}YH=k1yGg3K}Kh`H46kWxf#%F;dMejv#o1Ff3XJq#nmQ9K<1FnwpM3; zw1k#`KUC%poLtCBkip46SEFe^-LMt9bpTI`b2W3W>L@iU2bt;J9Rp?HgU;i_kr`r2 z;R)W%+g;+-mKn;jkYX6HPZDuNjt>a=a=q)nKtTVir`U28UnuuFi0#pQYuqnp#h5<& zFaPnT*IIisLf&PI|1qJZMN_uUFz(at3`)p0JST!r66w?tiAydsU?4}B7;E=oy`mf* ztH){SHVl8=dSr5Ie3DVuq#z56Y32(V6q^5qO*G9o1!cBq2}%1cXfyHONd-}8+E0kX z(w*U!r`98J!##0`8#(oR_hjNA;Bv14eJOhV`)ZAm-&BoUP2clEkMh#>ULLHUO%*3i zuNbS_Igj;8caH{?B~=Wj@Pbr8FBVBZ9}4SR))!?kXXCyQ(X|wUBhVN_{8y1!?PA&sR!%675Z(@3ur2yVJpkt zyQig?J!|lu$Hu(nG3RUE!Lu@rjw-__ZEp=Vbn5u+snv6pYbVWM60aq?y-C@3G+^Xp zPl-knglepCS0xQw+>_^1(8Dx32Cu+G<-rSdw~H=oDwDbd@pTN(W4AOMlYc~S0lKWg z&R^4hK=keN%2MW6VC2wOaSJ|(j0Rm&`LvwN)XBLHK`zUttakcmh=_!H=!iyp{Ef9O zVny@u!&SuTIw>Q)VJ825l#qeF{R~Y{hL+TkxvA5+WuxfRhJ!t&g!u`F(I06gFd{zr zgWvw%O;*_%=Gh&>6xxwSs;S2GGxw%+nYbIRORp$j@4+u)DmkUr2tmi{ng;&c#+uAl z2S^_`0)bIuuE}Rcmedg+OwwgCqQf9S4OpPqCf5j?lJ-V}{jVQ)QdC>?Lm^O_HPZ zH3xml$08iRX}&1~O1c2kkpFc=?8k2wO8p+6K*)5MG+YkFQBat|O6dBo-8qcXZR4*dC zstr+|YgDVv^J?mZXJdtkqB?KGbH4KsoS(Q1NsoTu;HR<8+ln9d_69>z%}^um+SfSm zAoY6Z*--q>=a)Vci(WV5T1~$B)Y=uktA#4tyQlLuX(-+qY!HpQwiD>C3xKt}D z&D`MzjL8rFT(v2uv|5!~Lji8-I`it8P@h4&l3G711~Z&H3<>U(EPwEA<#<5oz+t-~eZR7N}ZfecEWIN8YxSF_JhAC(^#hM!wZ006(@ z+q>ip5b~msGcP>;4j(3GpuuwI`zYYR(q_ZCEQG2+%3g(WTxPv9ck;!u&BMvgAxY63 zN@QBo>GO^xaGEmuk>k*F+Yi8jNa0noQc9dS0F@k;DpS5%$PmJ_)=NvQf3~ven0;nT z6s&fP%TDSA-z$>8-?iwqOZ7b?<>{Y)O9TQFSFPYQ?6|(wV#ppvZj&G08L-4scXFIN*WLtrg3c-sG*HV`qc(M&ak&r&}oUv zu)k5}`&VjZeI`f1Qs7}|&8W}RREr7Hpgzlo9~DGe0>8KF){MSt^&qA|LB3DuA>Pt~ z|0Xqzjb0ofV35W3hCd_<`RSL8=jX_+55EEaDy?UB!;p)zrrJyUt*V@zqh2Kb%*5O2 z96M*D`0a*Li(C8aiUQ`IO-+%$w?Zd5JZ5TE!nD3F*ArK*9D9Q&lL_~!EF~pVNi5&T zG_r43zQNjFa;XctuT06unRIyXn#7*%$33b%3j8@}W2s*O(#im0*RRb~fb3bdOt}9K z_TD-ujxGKZ<=%LZ1PxAtyJmnva|x~)U~nBA26qcL!EIo0CpgRuG6RFl#TjG>?hrh9 z@Bo1Q}q_-`je-RlifGx~qEXboKPP|DK?q9+ebQ6*0Ho zjdfhrb1cXjJJrd)G0$yzT#XUk3^CKUf8!c`T%!ABnMxkldhWSm<__W(s8N_53z5NV^sCwulJ2bY`w!~ za;gk&er9W#A>`aq9#sQ|sq9P#glW5&wu8RX+r^r`1%d{aD$L8;CncGTKsu@R!QmJI z?6YR;M~XEuKcyz>k9d!VNz?LJSaUciA2BMy7G*^|r8ROa&6EMTA)L;fUgAx?Jx+tn zb$?27>3*4pR=sjTNdz3vu~4`)dFJp&&sjcTtrE%MR8RSdcZZYaWbA=PNK~~;0YjOz zG9@Lm*#ZofmK6o;5L@1thah48f=%9f9?C3Bsuxc^*{`T6zx}vH!+MWky>@)*T{(5T zO0E8Ir1!_7xhYf7Bjd@cdFd+Yg3g7tZAJvXC1y||+tZ@Wh#IIqEVRxQL5eON>X>`( z!Ey^D$dcs<`9x`W!~r zn}wov(rw61t7GCUK=?_*B73P$S0b#4TFO!e*XO=s!}fSrPWqaic|VswChWtaxwTnz_6oGt7{`pEn&xw8d`(T+=Kpd$W|u8h6NO6Z^BDLxGaY(fg%x zPo}agXGj)2@gpqd%kdVDJ4;-JjwoF5q<0=+k-={wYe|eQDxA@0@6$a*J5WW4K@ z74ujiM{xMFjf z9q(QFtdd||5zO|(N))>^=wYvM5BQYr#;k@mcYOHH<@3$!21@6OL9vX#v!MFwOk()J zG65ImLLPP~rQ)G6Lg&jSrk8nu|9x@6bIA6eh$3shQyg-XX{%*S)z&fl^>?HJ*AW%a zumu+*pAte_Jz*M>%;}QmC)onK4hXY$(W&vB>#tzkFqV{=}F+>}rLUi;x z%B`Y2KhPBn##*}Z$3;$to>ov1ee_Qvm2xqg2R<{THRCoDCYx{ExgPK13V@Hd7dsbJ zggWt%^~a+S%`surV!F5lVg62xNj?7v-5JLFbq5UlXkM=firt@vW4d`=E`bRUgun?< zntq1)zXtFHO+?=N8bj3kxoQ-yy6`bWq$5YSlrX?guPs4dcYAq;gD((FKc$D@{+qx9 zPyOGXfX9zEsO}K<+>R3ys-*X;@H4JpRB@@`iKF~|00x91hrq-0p+jOF<1sn%@4R(-u+ZyK6v#%CJM;bIt zD@RA(h>7nX(lgaIE@2F=^@eF!7Lpnuy+ow7@`O2;r0Q*_4C=Y>-M;>z3^mAGimo)u zQlo+nv0iXw9wr%^r9+*B4>E*Jj1bB8xiZpf<{t=(Npae_za+yBrg^go_a_ZtCK|9@=s;y;}6KQH4yJLUg< zph(502tS;~Oqroq#qVSV$%Q%QiRk7AqnKet;)>*>NA_r#~Nzq&%y zL+fL$cIZXCvPMkEfy_AiCj7$^hmXa?sVsh`a}RCztR8Aerdqb^{-sqBmuLHM&@U>R z`iS~)E!7|rud1$45=UdwV^7qtv*HuaZ}E+9sd>(~`!K_xi&~Jhb__{n1G_d3zQwC2| z(9Gxvrrs1oSDW^?DoIyJSg+bvX^+lnc#&ikk2WQEmHsnp zv|r+2Yi~U?7sqNc(h#tT3C`%hW8Xv{A6{y~7B6N^n4(p+tljqm&NEmw$e;oF);~4bhC+n=u_XRSu3e2(# z%4`K>?&F6qoUZjm=JJL&hwq6?cUztbzx!KE#vyrHzl<|42^y{w_^FqgGg2UnWeka)YvBf6Gv3>N{hqh zQF5|$7|RQZfW;*Q2T$mwTaGt%A27}{n_Z|jnYs_JZbdzJfQ!$$*arUBN%+5;29|%q z>haAklJp*vUw&eTgL1HA>*g%gDzs$`$=3M`+#dlI3^E&60!m^jhTEDyZj1NG6g-)6 zK0zs_RnR6y#l;|PEGTF|2znTw5zDf2}vTDN@>~=|UFJ zy$sNOArF(6Kl`_8{X2MfZv0Qb9sl{mf8K%rlkdO-f$w$kh})bNQ|aM*eA-W&%xQd#U&JRtP>ozp;{e|N0Z z$%Lcg%#P*#H&XrB(^zBV3XAN`=|5z8I5^OoOu$epSKLBrb4CT_1-hrrw?1L3`(fP zS#fv>q#ykxnyoinC~0NIWAey-Hb6E~Z*@RAm(TLntbrr5+S%eOn%rmD?NNYT{*2#d z-(K*@hOV{OA`;gmk=Gb%`GPA|YVa?^gLI2>dH$?TmG`AfvHh+oeNT0>I12|z)xMt0 z6dz(Nhi=*WstAuS&2|Dlc`NR*MRok7VI4dcgCzg%JJ?0U_g&kE~ulA=n%=7Y*8 z-J)-+)TN~=D-PsTv%A!d`m#gcyit$KVux2oRqVtvihqUqWgT}K)iWoXvS=^s?T_Yy z5pYyoc+GTB<)Lnndo4c5u6kSaw%T`K&o9`Lr3Z5IVT~>YK3#1-y2*YbDKx9@Z2v`H zeH%ZkrzJ73#Eh<>s8!kD-ahaSt}_><(~$V7f=mOw*e;J$QpbouG^@0m3nY z*kngP7K2j8Ms8=8HL^4a5N-_ zubAq|7XJL{RU2Ns!UjtIkXW-U^StQ!Vqj=4JF%*6dQg?y-8+PYgo;?`nRMyh&LmU= z8vGRc-CI~_{p57v^qUVvEhaT1mE+SrM)9i(uaAYb76j#fxoEaPs>gq1&@5JV_Wp}u ztYn|jy2NcQL`S4z)m@Zlgep}vc6@St3#pns-Z%vQR;##C56Mhu5WuWvF3D|yB)YaF zygjG@p=Bsfg_^3BrW6PSifl*<4n@hIMr`LsM?|aRNBdgNy zjaIJ-!#~vR(K(S7ueO-9*-`s9rkY4NY!4JpJ3bwEf1x`R#KcWmw0ZKmf`2ZAc*uK9 zbHqZFF8Rl1*_@sDaGEQPFf)fh8uofHpAU?WP=1qZhN#puc19`ICI~bQo@!E8lP^^2 zBW&Ca=;96 z*{sAkc|j7a`g(`bf{Yo{i{dHCn}dv}rh%LO9@@cMeLea(7FyUrUfpuX_ZzjXjYZUWK_3QQvMDHTWyQ2kWYo5R{;64Qj(XN=U!^c$n2>z1b~RIb(lZI9TsB zHO?*OG1v7(*y;7^BUJ^EA?0)HDHS=2ot#pxp-?MvroSV=l$4*(Epl*|6E<{B}>6+rUsy&z<<`Sf&Bep>~EeEA(yI z$j+m2S4VHNl?mG2Cc$-+U1wh-vn6c(-oP^l&Wx1S^Dr+4M&bn@9=VDdXZ%X$u#`#d zmW^Tqp%W&RMoPbpl*Lbmz)dVK=#P0y)n(KqTqr=OZX+0Sz}Ro;)ZlGQ%!zSizxZk} z)1WwwwKXn0*#8C1&Zyfj3qpj!t-n_@DK_ zC-b@?)(N_XjJ*fC@p)=?a5nwES(}vR;E5cU)9A(O#a*h@(xquMXsHL{(~1oO=OXqN zFI$-6vNq05Bnbu|Ps|fWI`KoTY z3+su~Yf2Ly&`;ZTyEWo$93G|Rdq3;~O$E?>oy$Y1e4w2hC@n(zXRpC_oZ1^P_C97=k`+;Ki#$aLbBk>>L)SL9%1)&1BD|t_+K&S5&uAUP$@j83*$Q&pRZ}DY-ZtfSQ z>c+fN9;Mrv7QfjO{Q4o93sN^gNkNh#<#?C|8L=~65%PoCQ6pI z^>U{V!ay!&MGF{0on21g{@3J8!@Rbc1H7(YnrUMAE-EM9_%+^D7;a!=7DrVYL;FYlxpTulBEt?Izo@~N1KFysQ-)|e4o~$X{ zu56Q$`Iuy`UZlUt-iEP!_3g#b=N#%%_s1}BE}0Cj5gPw2yK*-ECg|a45?@TO+unMg z!=E_0ceST%<(isr` zT~k{8qJ0>-8MIyPpy>0%tY($89j$lQ!RAPxlYon>Y3a{AZaZ1QlBtKa%15VfKB_@J zx8m~|{13occC$8tNq>n5{cNAgev=qGO8nCw)d)ngZrZZ0F_6VZgPfB_yQe9Y>6Th0c!G93vq(6WYnFJ_>XG1{qgl&_gtw1XR@Bg8)4s)7qUEp z$yC6$XIme>lDcl$!(9F1;A zockhxzfKLqmoVx$gP<1v;oA`5mGG$?=CLmq+EB0?#hR6c)obN%Sx>Vc65GnWy~sEu z_`~Bl<2{qLTnfHM$q|4tb9`G4_7M?%K^~I>&2nDbTtqaP7Kfu-d}77@BJ@u`Qz=vl zF;9%nxOph2vS!*6in?GL9eKi1*$?P4uKa%ejONadDfX)Kh(RP9M)|51N0{|W4?e$Y zNqENgyig6`6>C?ySg$zF^5EpbJ6*9`pz^ad%eZ}idhv>Ry0TE2zms$;wxvr(8xOgT z6BTIer$jzCxtMS+DJDG?37RL|O;B>bF`@Dlr?xDp6>4|Nz|SIVCF%BvBg#m--4EoI zUEHEBvFQ2Dgwt;|(rkM!YFcRhCul91_qu_trERwpCSCq8O?K4gmP$E#5D8#3L0RSU z$*a&}_w{m~2zG!_wDYSL#YVIY#Unl%lb&%uHML#NMfVs)Pu%-_LTz#sR0_4F<9t(e zcuLg@o7Cc%YU!o4=_t1=q^6)fKY8`jlsO{wkgPHGd8i~YY_QQiE@_7OCY7QCfa>&U zrP>`~h?%y8_4==Q$Z!>8Mzd=7ot=3y_5()#9Y;U>n?e8k|C(rBC)RlCsVF9<&ibod zRXoTQC4GrL++<@c&r;-vxu!VFeV2mn0?|BxDcZb341;Ot7`i`$fvDa|$dxIJeuR3Qlj#YDt z;*IC-^tst+lM=02ew9F4V-gUYS-j^>NVM;6S|~qhSdrJ;FX0@?MQW{ypwWL`s-Pnj z8^?M7=N>=c4`jORpVx8;GG1&~r2q3{wQWUfk9TQ{q*0=fly*&iRAPjG%1xk@Isoo6 z7nIzvc=RoIdBwA#?vEe;cNhL|F=PHC5ujLKbI6zZe#%>?zrbRas!_GrX)b)q?g<%c z=*$oagd{4o6e;L^F-Fvlz$`|l6d8%*!m^XDS`<9vJ_Pw z&`!u2b-bXO5Asf%?_5s3ExP@hHnT0xhy!&<2m39`ENjA)(z7t%p4=85d)Fzd#(r*IP z=FWOYExwv1T$}42R#w&*T=YI~_!t*4gB}N|L*t&kUJ5;j#?zJ`G~3|?v+j{g%vS45 zIO3$c?~%13)OU#aqq?AHKl;%M`^#Dlzvwov{AHx>eiIy4-AOG6btI3b-!m%B`16C+ zKGwRF2hnE#Cg@3s)4QWm8>;%{c#$vp;pivOsjQPxNv3z6WJYH$lSbZvvaMqSl|T_tvD-NB8}65B#~NXR$bES!3f*hhX0yJ`cXoBojX} z)IpqTj9S$2Dv-0Yti|k?*AEqay8^mliaESRZra*1@C_fXGxlIcU5BRn;2AMTRF(vj z!+bo4h5y4AB5c&BAqAsvaQuw>_VYXt3p+HqyHi`I6>7)U=c8nO_HE5(E!MW;A4giz zw#?jkN$Q&tkGfHj)c(gHku*gyLQY-GM);fLJ`(7w=7JW*YNxzR-DOt!LucfJI^N4C zL-raKy2I+Nth#}61ws$D9VNRX)XE!TV2}Yhj-^Ao=h^IdVG|O-qg`zm+HvVdh0ZFu z$gWt}!79r|&uPf!E4ERwp@a3gF@wtWg!D!02D(*^0JTXa{g1!!1!9z`KfjFR51Z|o zKknaeZ|({C<3_CRYM>&;)AmRSc{jF6aY^t;6Zv+{U6e`ACcChS^%j?Va!zzQ&Ap76 zbw4mh?p1@Vx@Sf)zodti6*XS*o6-;26py!DvE9M%{q=N!P|MWYd~7Q3bR=j+r@{C2G$8%=*3zP}A=_tkbnJkP|SQA)- z-86ew6t>tZZ;mZOd3LUKhKGK|CXYk;r<2iba>mRkOWw=q7Kf>SD~$&{juA~V)s z;UG!zB%kd_lfLm`)bzjwdf)ElNqx;>k!lvd@e6LMt!D%;1zvbR2s zwcDl^71pt$;dj560qqmH7rflR7p1w$>~lY~qq!9MWX5Q{^CVzE)OZf)j1ciH)icc^{gBMSI69Q!n?)WzC{%?ukKpI{4LlnlB(*}>Y5 zAfA02jv2h6lyypq;|1}6;hu!cmFSI$*ddUqjh?RP;w)LWetGE@@+b%snEFzuWsSKMAcpIPg4Zh$a!K}=FqvS0(CLM5vaxTvuJotZ z6}HZoI88YxzkYlSV$2)ptL~Vba$(wdm>Mq~YxG?GgMxy3L*9@SFtFFu`(4HT_j|%e zQ~Izizl5(?hQqtE&$epyo~_TCVvEDYzmS;YWzbybArgk4#t9{F%-OtN;n)}Tj58X- z^Zd65F}+&>MDjYJZwD3@-k!Vk8$SG@i*v4i>;6VH%?nbt44T|D zq*2yE6t?wbPq2Wv1Z`S0>f1GCr@Px^6LRhn9KJn0Jc*NO4OaS2k)h*-V_f#i?>A!(9NS~oBNEfR&q*KFYc9J zyiQy!t9-SHfwzBUS!v`=n|v-U%zTNN+y|UU1(GRk0$*yoBzs5M$P#V?Rn&z(9x@c@ z88+cN$0l8qlge{L+B*{NiqA)HC8pn|mr-ps*&jN&uZ?O3?X*LUC335rNe4I!Ks7p| zk6_%jmJxoRJQuy*iw3DsJwquxU3QV+e;3}hKL&gUH>#3+A!T)T1RwK!oP z7|%9QMy9$uw__umBUzsL%FghnS$z)`0AyBe^16QRZVL^%-2+BEReWc$|9RV#o5#|v zKP6Qq`e+d&N4w4SLR#>p*{d!cI9=9{!HZk$LcC?zt|r^}!MS=DiV#+0oyv zDcjfwX7-vC?v6{#HXo`Lbr4gHF~qNk2byDf*laOFQi&0XLlmqW*6hxrDh^x<*$t*Q z+iI;sGTCo`eItoz@UY6rVp1RbVqyrb&xV@`Mkor9;iUPDgym*eX&&A))37n1rvS2) zG`}F>2Tg2xzDAz zws6HuC^bGOn~x&bZ8B**npxLCC_c?As2z!PqI>Kq7Tvpjs_(22H*=iHeO{$Nh9H^h>Ldz1hwOYKOtx4 zkYOjQ>weQ{6thA9OhF<$NM-#bcdwe*?&y^oVd+RQ?>=LNF*(#@MbEKHv~}2}Oth~W zTw+81*^W;H^VMHwtga{K8BWk+jkYz%ojySDUYUZ~XUmiG7Wdrez`%m>%i^y(kF42z zdhzY(viZ5;Ap<4V&IUu3+&0MRFzZwi1)T+cL|0=a{QHH$VU|ND;p=lLfJUK0ic4;= z^lBs4^gRTsh$Fwsx;D)DgT&~aXlCi~>{;e~Qs z+wyPbYkm_XZgzYpd1&e7bUkeFn}DXF^=XshOZA7iAB7db%Qh}n~9!i8G9fNYG);OHROLF{4A}j z#laN&x;w)q`HcJ^is90yL3WSLME{baDUQ`59;Z1tPE)$gZ^D5gVw_3mqUCe$v^NqzUo=9nw%{s%P~=vles6eLk|Agq`nu( zjr2znSa_jgKTm7pluoI7E|AAkB8M^e@%C4 zmw|*v(ww+&Jmm*&ODCu=-m_I0v;DG~#j$zkn81u~!Y3d2dW)|H&j@6>Z2Pov*#)gn znr>tr{%zHtvn>%lRoSG9{D#hVOt7VEJYZ4j+Zd`h?TtE47N5-9t;HjGS$jR~JX05? z&WwLL=(QJe+FuQOWrGc+UDw|jYk0NV4sqs3-DApg506Riqq*K1fZojd(TDg4{IGki z7sq<#U;jX*10@%S+aO?T)r#3RE-65wX>;354Hfk%J6JtNt7wt=pcyBMi2P8Mmu^O5 zG75O9Umr~AkOJm5{ik;jUy!a_>ZW?n7iE{99~MEViyuub&l~q{5s;NZvO~ zaI2?ayWQn<&wv-Uul&rLIUxh`h;gAqe$Ib{*D-Cb;E&1Z_tw?b(6;UYYGj)ZdiKk- zBm0+D#WzEKYy$7Rxbg}6r2+z*ZgQ%nIPRnb&bY4bQhRN=eN%ih{R>Y_%&O0?vrCYtW8f>A zTVDZ#yrDh93~%8(!FJc+YPce*5E>;CY`|McI252@%Lon9fiC_qGBrv&O>U>IGJ+Lz zQE28Vc;<`>Yq9h1q;WFqkFYGzWku7<$8HZj^w^^HiLY_hJJg=p>zA5DsCam1>CHr= zoJ=>Bwucs;t3j--Nfmc!Hw~%4TFi80y~b|}gZ~1==sU9qdP4Fi0tVmJ#-He{KQto& zDWdDyBe|>T#00!D64JQu2pe*1?jR%d0e@LNlU>TXQ`0}-DPdMDvMpL8bKmnDJnyu{ z@AIt+HrPvwSiC-?(P2}=%V@`m>DLN7OUH*A7GW6Id|{+B_*DCCqoEtAG5jj zjkTt0oeTv!Arpf=`eaI6Ka-iD!tg4P_VC_fB{-noXga%T^#ta*rx7;XeUQ`7W0G2w z>ty{UNYjc#aYSRGYUr!^Un! z+|i^qGjZ?-{H3BBMlJDxPKn?F`ZUMHBVjY2^5QU6!Z{@aGfkCTB&|E!1r@-qlLe$* zl01iOQVnTf?7I|nM-!+R&O$wX$4xe*SgwEzj1s~xl1&1$xz+>(eZEUarLcYqnpg1Q z76x#C&7(mkH8Eo|?F~f7i$P>I%@e3(Q4df0;-8DMdou-CG1_ygs^!VxQ^=grVd-=_ zpGEOMAIe_aLiS=RU+D!I60+k_!)?rK^LEsp{Q|TU#cN%=1KH z5Vvq+e4VpJ&DyTAvH{?}|cdZvtLY!Ct8cANUOaSAl( zqcJjQ^rT&leHBG{HMe7~q?xst@p)50EODX8V8QE_P+P2KPzlh{({!)nKAjnJ)&}9{ zm%wso`%mw)paoku!fLmO4e5yJ1nrTjc@=33V}()$hd`s(8Q7KU!&@XjSHm0Yl}Q89 zwlPL=j&aV_&&40RW*8!A`e8XvQCz~cZ!n7!T5)-=jG6a4I61;8m2DQCewx-|?S`{5 zEGha>;W9k@f|*UZ4CCy7#*D4PNVPKa#*VZ;3om2kkHZ`IRq#lC%4H zH!C}q`;mKMm4SOX;H#lT?Hkxx0*P^@qA^MLYiAlG;l$O!VtCn5j7npiJCEBcL;%rL2 z`V&o_aTLRBN|D1<6l-CT=$yP$zI;)@k}~+ z;fAT53&46x{bE(kHqYSTU{{^nxdA8lS+le4Qd8C`$EcYS#-j7{L5|eN{*P^FyJziF zi>1E_guMku-MX@!24$u-EKS)8{VoHu(f5Ox?Qa5SHT~VM=-rLXA4?L^WvYuz>g<^} zlKW&?pM{I@9)_&<(B0R{t_Cm-eeu(-`25FfDr9Dt#YBBy3cE-@u3zGeX0wEM1m!s9 zo7H)yUL~oaE?dH$aUYTa6?BY19RZ>1mi_{R8dF2@iAVN_H;{VZCh6(Zs4ZN83|2Rs zyUdW97R78Q>6g)y0!)#esJgldWjI4_A59sKXPy0BMrhWxT5K6?yIpVs?8Jzc%$`lkn04Ibi*bAZ{8#{?}IJYOJjU-c=4SFLX zjn@xO=mN$OT<?ZBm<+n&qp9b>!YWk*Ub{)H~rs}Dtjq^PI`V+^9H(9zs1=18qU`Hrhio@Qh8`v8m$kNHx)oEFSL}Db!w&kCZKHfxwb}ct-E_>9boq zlSD9EQfzuN&kNDj4P2tR;Q0Ve8F6$pxX{h*_4g-sAuP=mUXbsGya`lZ(-8?N^QnsP zfqCpD9cRk6h&O<~Mq`N0_wj6lhP-6bJ?;L~jwHK1ziIhtaw!Q%Cff11HgxS4Fe6*I zqEBe;O4X#*FQ>ijBe~^0Xa)qz%}jVLJW4WsUmFuqd7!%3gK8sL+ZhaZe#ZT?4u2L~ z54Gft%=DYf`rEsP0NtPR#~6c5`pt86!V z)k+$}Fzb=UCCn;+77h2H{G=n=Qxy2{gD5@F`9A)V#HYWDcwq3i&nFFS30{BEEXG)t zkP`U?U*{}9m*9mG1>$gIQ*kdV%4Kny%Z~_OH7I7TOXgQ(jSuy2*7%dpdwrJsMDd>v z*lz-Tiy)L{+ReOkJ7$A}s)6Eh4Vovz_kuXO8f!aKqNLRPW*j`yp3P*DnekRO%!>8k z`7g?*L)9`bIE;KS;x&WkHvyU%@-H(q+dl^{EArLSz+014V5$WjE5}OcEzs1^d2*Dt zjQP^Vp+~v7d|JaG?!&1b0_s>XJ%g(Ic>O2;pJvY{!7!M`|KN50b5=&_T+wm`q%naJ zTq@w2|4k6BuSexy=9&S}WLT<&H~|XOtxc-3lM7cXA%1v<2IYg<;u)C$#G`v{Jjh*P z+h1k=FRXOprQ8jF!8*JJryoOX+mo?27d^P6J~knboX- zaa~+3C9jm0Z~@a)GKzY;o}&eC>OVH2W?YKnb%=9^{;I(se!@BY%yxH_BuuV)Vy#n@ z6TbG*NesrTBe>0mN|%(va(tr_7L7xaf`S8Ew=zf#2Es2Y-z=D#(q2`$)p^h;8Y=EB zT_>;tbQ2q#s_Nw86wT*xzT*}28h|DwpOnX zQ$cAK@G3|#e1t;HX(XO>zhYZPjr=RD(9d@#-Z{P8czG;x^jt|BYt~*gKIFvrO25Me zrFXo*ccZ`8FW2)l$#({A=#?htYkPzX+BC@7m_?E`rj$?nyQ50mYW&>l@RYmpQ=nXQP6tC{ zo1@Eh)%gRVIb*Xw`oON1j+-4;G4b3WN#8N zYc@Vc1zZjJKtLQoYx3d7FI8BcS;t|f;xykAT}4?%x=r8_ z&5~0@8t2Tb48q*1eh~u|XqL7FiD8eE-<%kiMcX*QubG=Q`bW@4-y3w&H`}}~q^a%7 z$MxMvK>OrGUmb3idt3u8i9rg1mYqpCm0YEi!u|GGbvpTjnEil9**k%1=Zbk}z3XTB zxPL zy&A(?-`2FbYU|_X?32bm<2I_QImfZ2HlT)kCa`JTCy2p3Zrr?NG%sNJ zrw%^Y1oKS5ZZd6&(y*_ykOrFG+Z9L$`C<%k>j#2t>|u^3rJ0laPTXHJU?H>GbzXz= zmFJ8S-bCvY?~8Ba$3vZM9iHFYj=?l8PJ(`TvE*&N;u(g~5a+FfJvo;Gu*5=I-*(Pv4iFLWt?Ay?#t#~9(t);Sd6 zilAokIQVF23cW~k`Zb@L-;U3px6eO_$^Kv|Y*Xx}9lY8-NV2_=P8*1tJrWhgVxb*a z#;92+uu{3S8WqPBMc=P3F_dkEx#U^h-FG+Xu@yS)SiokFz*^>f;=VSSUGp#_E2r#2 zTm`Zo1Mzu;l1vuW9y%rFEb};}CXjs@VRc5doXu!?e1n<>#Kvz&bVF1ydy?FcxgFAQ z(bvY8l7|NA3XkkHb;uMeL)alC%2Kg7;VF0nrBL0FRS(bq??x-Ki$q1E&}#0BzjCZna74xGg(;!46P52tFBN1m)uw1}G ze=N+cQ*2f5w?sJretIu)WA)@-7+_r%(p|$}KRZoI6(}|GDa-`>*+-fta%jLNr?O&D z0P6Y@j7u>T8E$`rY7$vsB#c zJT?R8exoy@AT5|4a~pa#9Mcl!!LqI|s_4^1y>Uc+5UZC*Nc2u~G^ z?=K>cro=5w4SJ{xna!{>JH!32X)A!zPhK+^*I6%ZW;ZwOy+8(_zWQMho!6rv@3h%J z6POjX36^(k0+E9C!_Lj#5s;)Dz55@8XaB1Y{dX$tk^h}^Fae>LKV5$PtAUjbJKI~a z@5dl_?qJsIVxwy0vBBZenE3whmBuQCrD+f={fM=DpXI7q|C z1E#T@$hXi-0~L~W;DCepdZw*|#gK?D&UYL~Aw};>0$bAhxozt0vJk|!oQO3zn>5qw zH>+ep7rZel&YS|D?dM^GUF@DP!k@a5DVo}$}1wwWG#(JKL zF0+fIpxo*5COg7IeKIoKX&NeUtLo{CUF}Xu>9QKDc1)_Q0)KzhM~O}?P#l2prY}BB z{Ah6SyFLxxuGklGoZ$92f$3Oxj;zJI>KPgF7u)f0>=?^?kAn>;LNH5z0WI{k4F8z9 zlcf0-ulLg7hjEIq^Tc~9rJP!~E<^2qz`2G zOy-(HEQ4KDG-NfV`6S@ShuKf6w=_=IVemnzE_;l$)fjMzb9?Y;cbRq@GD#t zAS9ap@UXPP`$Mt-|FXn@HeM~e zPqXt!v4#Q?_`pLBGmF;dd$-biBT*6kRcJv1WYRy|_*1UJ@Wf(OMPJnmkD5|;sWvFYM=cP$TcPTW z+5g_CPM*3y9&&seJekR_X9Q~xO-NNpF3+R+QOg9)#cyxz`%9E7^_8=+t7lR|^~lR>{j zx2^sVKDTU7SE@YUC+G64pSgrjHp2$zx&AIxo*`r=}D^E6ob z^x`})GZrO=+$@(?ojVf~4T_L30#A9z1iJ3mi69FAngnIWy;xmWfx&Q zayCBml|u~r-7jLx(>!mc2MR=WSY4{(r~QTliA~=_-Y%u?zvy#NXniSEMtredz2}85 zs0m2qgw3VkG-HeQe++-JHz!J@vDshwgmg?gAFZS$j%<_Hwb4aNm7`q-JMdfKs$(wWA6+XQ3+gAIZVy^Z3~;jPDXaUoO~)xID7@1~Y0 zDo&@D@8PCg&lh^}gcbiFX~=LQ6{oz_TPK6cvfv2Rkk-;(It5jEcMKn`ml0ygdC9WU ztNBw|&a;gIN|pY+jNlCrgAqw0eCIh_bBi=o`+v6*t@^6J#fE~lN*MZEL&&&W|L?is z+9!6o5+=3dhr-rvC%$`97Q#AOAg=!IZN398C%qMBjVN77emW|^3AwCV0KuH;)E4m2tnce3+qKJxV*scO_zFj&&4X7lavs_Gj zq!=4&HN%jmXH40An~4+4De$))^uHwrj0G^jI+Rwn74iED zMt78xW(odHqIDa#11?P+C;gP&Lpin242z-XL6s?h0{+swGh#|;(ZsiZW3$Fq@OQme zB^*@Ni}ARKKCgK6RpyvaCO$4cTQQR)(%^TtdE0-xy=|#vpu%< zJWx9SgzXS;7neiq8l9b6?5NU%l2N{Fs}`01TRfY==hCXIe7#uWSftx=pS_Y`IzsP3 zyGxaK)?fv!*OvCIch|tEfu*0=v)P^9dMe}At(=1+Fc@|KCKqzdqpLMsRWFK-3o0Nm zrhd=Zje?pEh@$>9xwpNCQ9nVgD(-A|vN{o_R!Jzar{PX3+vGM@Z(@K{L-i4WONQ2Y ziKEHilD1>2AfeeT+)|sh$f^;H3zwK&tD#`OUM`B#E`cowC%5X_lc;M?eN_iSm|DMm zykUG+skD^MSftjhEjjXX-xeVLNGcII(1XAZOnIlV#BKuk*)TQb%{ysXdQ~pSiX3+H zAB2Q4s0sFi+AONZxR3I`3^IXWcT@7k7BcneLSuKeuj3imN5bXX*#b zfhUFjh<-cgZcEr3Sl8y2w@!~HjO6)0FjuZIezP_Eiy#Dm(yRU!bIo}l%yXm%rmO1i zP@UEFwx6?j7tG!d{gi8&@;!YuPs<5Guo=_nH7!nf&mqv%=cxU{RXZr_fJ7>&f%8p# z6rocv+L@M;b-5~(<>bA>S1B1Z_WKFMyyM@Pk}>=XDmOcC4;w6{;EHB)*PZc%8F=!2e#_n>cwXWXi5?v*)H(#tT+V6NHV z7TRPcpC0;3PvN4e7TQ_B8zgxu7n)$jbv33rRv;!| zni)|Sb5f?FQrWit!#ht-lqY4d|I(JI5d8M;lWSa|GOgEMZf-1~%ag};Sgm${r880` zxPy}s2)Fq`1+yZln>T|hxRx~Wr_6ZfhL--HA$9`zI|sBO^;EX&JV);0KG&R{975!Y z?s(quu-Iv zi^Zn>wI8V~OVKv7_#zkQH$NH|$C+F|v_UN?^yOtaRJAWOafdh*9w7J{pL?d*iI#Dq zY%MOsHdIO}D>Nq6Z?P^4>tcplnbTY0uB~Rj<}$tx=b09+Xime$*bBNuHIm_3{ZdkH zVN%!^;Di*%;cWe+MeUqzl8!qtQ9HS#&$$`u^Z5KPEP|7dwbugr=4MMG&RgY;8__Fz z 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ΝGWW4oQmU<8f?A#Rl_KLRBmp*6~wUIs)Wk* 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

#Nx#jnWsrLs%tZ;H^#N&`{Nfdp67?MB+n@JM(r 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�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 ^9^f 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

  • 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 literal 0 HcmV?d00001 diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..d3f9069 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import extensions.applyDefaults +import plugins.BuildPlugins +import tasks.BuildTasks + +buildscript { + repositories { + google() + mavenCentral() + + // Make this a caching provider + jcenter() + } +} + +plugins.apply(BuildPlugins.DETEKT) +plugins.apply(BuildPlugins.UPDATE_DEPENDENCIES) +plugins.apply(BuildPlugins.KTLINT) +plugins.apply(BuildPlugins.GIT_HOOKS) + +allprojects { + repositories.applyDefaults() + + plugins.apply(BuildPlugins.DETEKT) + plugins.apply(BuildPlugins.KTLINT) + plugins.apply(BuildPlugins.SPOTLESS) +} + +subprojects { + plugins.apply(BuildTasks.COMMON_TASKS) + + apply { + from("$rootDir/versions.gradle.kts") + } +} + +tasks.registering(Delete::class) { + delete(rootProject.buildDir) +} diff --git a/buildSrc/.gitignore b/buildSrc/.gitignore new file mode 100644 index 0000000..ca730c4 --- /dev/null +++ b/buildSrc/.gitignore @@ -0,0 +1,2 @@ +/build +.gradle diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts new file mode 100644 index 0000000..a30be40 --- /dev/null +++ b/buildSrc/build.gradle.kts @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +plugins { + `kotlin-dsl` + `kotlin-dsl-precompiled-script-plugins` + `java-gradle-plugin` +} + +repositories { + google() + mavenCentral() + maven("https://plugins.gradle.org/m2/") + + // Make this a caching provider + jcenter() +} + +kotlinDslPluginOptions { + experimentalWarning.set(false) +} + +object PluginVersions { + const val gradle_plugin = "3.6.2" + const val kotlin_gradle_plugin = "1.3.71" + const val gradle_version_plugin = "0.28.0" + const val detekt = "1.7.0" + const val ktlint = "9.2.1" + const val spotless = "3.27.2" + const val junit5 = "1.6.0.0" +} + +dependencies { + implementation("com.android.tools.build:gradle:${PluginVersions.gradle_plugin}") + implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:${PluginVersions.kotlin_gradle_plugin}") + implementation("org.jetbrains.kotlin:kotlin-serialization:${PluginVersions.kotlin_gradle_plugin}") + implementation("com.github.ben-manes:gradle-versions-plugin:${PluginVersions.gradle_version_plugin}") + implementation("io.gitlab.arturbosch.detekt:detekt-gradle-plugin:${PluginVersions.detekt}") + implementation("org.jlleitschuh.gradle:ktlint-gradle:${PluginVersions.ktlint}") + implementation("com.diffplug.spotless:spotless-plugin-gradle:${PluginVersions.spotless}") + implementation("de.mannodermaus.gradle.plugins:android-junit5:${PluginVersions.junit5}") +} diff --git a/buildSrc/settings.gradle.kts b/buildSrc/settings.gradle.kts new file mode 100644 index 0000000..26ff711 --- /dev/null +++ b/buildSrc/settings.gradle.kts @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +pluginManagement { + repositories { + maven("https://kotlin.bintray.com/kotlinx") + maven("https://jitpack.io") + maven("https://plugins.gradle.org/m2/") + } +} diff --git a/buildSrc/src/main/kotlin/BuildTypes.kt b/buildSrc/src/main/kotlin/BuildTypes.kt new file mode 100644 index 0000000..59b62d7 --- /dev/null +++ b/buildSrc/src/main/kotlin/BuildTypes.kt @@ -0,0 +1,95 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import com.android.build.gradle.ProguardFiles.getDefaultProguardFile +import com.android.build.gradle.internal.dsl.BuildType +import extensions.gitSha +import org.gradle.api.NamedDomainObjectContainer +import org.gradle.api.Project + +/** + * An object that includes build types + */ +private object InternalBuildType { + const val RELEASE = "release" + const val DEBUG = "debug" +} + +/** + * The common interface to create any build type + */ +@FunctionalInterface +private interface BuildTypeCreator { + + /** + * The val which includes name of the build type from [InternalBuildType] + */ + val name: String + + /** + * Creates the requested build type + * + * @param namedDomainObjectContainer The container to create the corresponding build type + * @param project The project + * + * @return The [BuildType] + */ + fun create( + namedDomainObjectContainer: NamedDomainObjectContainer, + project: Project + ): BuildType +} + +/** + * A [BuildTypeCreator] implementation to create debug [BuildType] + */ +internal object Debug : BuildTypeCreator { + override val name = InternalBuildType.DEBUG + + override fun create( + namedDomainObjectContainer: NamedDomainObjectContainer, + project: Project + ): BuildType { + return namedDomainObjectContainer.maybeCreate(name).apply { + versionNameSuffix = "-dev-${project.gitSha}" + isDebuggable = true + isMinifyEnabled = false + isUseProguard = false + } + } +} + +/** + * A [BuildTypeCreator] implementation to create release [BuildType] + */ +internal object Release : BuildTypeCreator { + override val name = InternalBuildType.RELEASE + + override fun create( + namedDomainObjectContainer: NamedDomainObjectContainer, + project: Project + ): BuildType { + return namedDomainObjectContainer.maybeCreate(name).apply { + isMinifyEnabled = true + isDebuggable = false + isShrinkResources = true + isUseProguard = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt", project), + "proguard-rules.pro" + ) + } + } +} diff --git a/buildSrc/src/main/kotlin/Config.kt b/buildSrc/src/main/kotlin/Config.kt new file mode 100644 index 0000000..60de1c1 --- /dev/null +++ b/buildSrc/src/main/kotlin/Config.kt @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +object Config { + internal const val JSON_OUTPUT_FORMATTER = "json" + internal const val BUILD_STABLE_REGEX = "^[0-9,.v-]+(-r)?$" + internal const val KTLINT_COLOR_NAME = "RED" + internal const val SPOTLESS_INDENT_WITH_SPACES = 4 + + // testInstrumentationRunnerArguments + const val JUNIT5_KEY = "runnerBuilder" + const val JUNIT5_VALUE = "de.mannodermaus.junit5.AndroidJUnit5Builder" + + const val ORCHESTRATOR_KEY = "clearPackageData" + const val ORCHESTRATOR_VALUE = "true" +} diff --git a/buildSrc/src/main/kotlin/Modules.kt b/buildSrc/src/main/kotlin/Modules.kt new file mode 100644 index 0000000..3c9d22a --- /dev/null +++ b/buildSrc/src/main/kotlin/Modules.kt @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +object Modules { + const val lintRules = ":rules" +} diff --git a/buildSrc/src/main/kotlin/Plugins.kt b/buildSrc/src/main/kotlin/Plugins.kt new file mode 100644 index 0000000..04e5839 --- /dev/null +++ b/buildSrc/src/main/kotlin/Plugins.kt @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +object Plugins { + // Core + const val androidApplication = "com.android.application" + const val kotlinAndroid = "android" + const val kotlinAndroidExtension = "android.extensions" + const val kotlinKapt = "kapt" + + // Other + const val kotlinSerialization = "kotlinx-serialization" + const val junit5 = "de.mannodermaus.android-junit5" +} diff --git a/buildSrc/src/main/kotlin/SigningConfigs.kt b/buildSrc/src/main/kotlin/SigningConfigs.kt new file mode 100644 index 0000000..827dd9f --- /dev/null +++ b/buildSrc/src/main/kotlin/SigningConfigs.kt @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import com.android.build.gradle.internal.dsl.SigningConfig +import extensions.getProperty +import org.gradle.api.NamedDomainObjectContainer +import org.gradle.api.Project +import java.io.File + +/** + * An object that includes signing configs + */ +private object InternalConfigType { + const val RELEASE = "release" +} + +/** + * The common interface to create any signing config + */ +@FunctionalInterface +private interface SigningConfigCreator { + + /** + * The val which includes name of the signing config from [InternalConfigType] + */ + val name: String + + /** + * Creates the requested signing config + * + * @param namedDomainObjectContainer The container to create the corresponding signing config + * @param project The project + * + * @return The [SigningConfig] + */ + fun create( + namedDomainObjectContainer: NamedDomainObjectContainer, + project: Project + ): SigningConfig +} + +/** + * A [SigningConfigCreator] implementation to create release [SigningConfig] + */ +internal object ReleaseConfig : SigningConfigCreator { + override val name = InternalConfigType.RELEASE + + override fun create( + namedDomainObjectContainer: NamedDomainObjectContainer, + project: Project + ): SigningConfig { + return namedDomainObjectContainer.create(name).apply { + storeFile = File("${project.rootDir}/${project.getProperty("signing.store.file")}") + storePassword = project.getProperty("signing.store.password") + keyAlias = project.getProperty("signing.key.alias") + keyPassword = project.getProperty("signing.key.password") + } + } +} diff --git a/buildSrc/src/main/kotlin/SourceSets.kt b/buildSrc/src/main/kotlin/SourceSets.kt new file mode 100644 index 0000000..34f2f0f --- /dev/null +++ b/buildSrc/src/main/kotlin/SourceSets.kt @@ -0,0 +1,104 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import com.android.build.gradle.api.AndroidSourceSet +import org.gradle.api.NamedDomainObjectContainer +import org.gradle.api.Project + +/** + * An object that includes source sets + */ +private object InternalSourceSet { + const val MAIN = "main" + const val TEST = "test" + const val ANDROID_TEST = "androidTest" +} + +/** + * The common interface to create any source set + */ +@FunctionalInterface +private interface SourceSetCreator { + + /** + * The val which includes name of the source set from [InternalSourceSet] + */ + val name: String + + /** + * Creates the requested source set + * + * @param namedDomainObjectContainer The container to create the corresponding source set + * @param project The project + * + * @return The [AndroidSourceSet] + */ + fun create( + namedDomainObjectContainer: NamedDomainObjectContainer, + project: Project + ): AndroidSourceSet +} + +/** + * A [SourceSetCreator] implementation to create main Kotlin [AndroidSourceSet] + */ +internal object Main : SourceSetCreator { + override val name = InternalSourceSet.MAIN + + override fun create( + namedDomainObjectContainer: NamedDomainObjectContainer, + project: Project + ): AndroidSourceSet { + return namedDomainObjectContainer.getByName(name).apply { + java.srcDir("src/main/kotlin") + } + } +} + +/** + * A [SourceSetCreator] implementation to create test Kotlin [AndroidSourceSet] + */ +internal object Test : SourceSetCreator { + override val name = InternalSourceSet.TEST + + override fun create( + namedDomainObjectContainer: NamedDomainObjectContainer, + project: Project + ): AndroidSourceSet { + return namedDomainObjectContainer.getByName(name).apply { + java.srcDir("src/test/kotlin") + resources.srcDir("src/test/resources") + assets.srcDir("src/test/assets") + } + } +} + +/** + * A [SourceSetCreator] implementation to create android test Kotlin [AndroidSourceSet] + */ +internal object AndroidTest : SourceSetCreator { + override val name = InternalSourceSet.ANDROID_TEST + + override fun create( + namedDomainObjectContainer: NamedDomainObjectContainer, + project: Project + ): AndroidSourceSet { + return namedDomainObjectContainer.getByName(name).apply { + java.srcDir("src/androidTest/kotlin") + resources.srcDir("src/androidTest/resources") + assets.srcDir("src/androidTest/assets") + } + } +} diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt new file mode 100644 index 0000000..e3b1dab --- /dev/null +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +internal object Versions { + // Core + const val kotlin = "1.3.71" + const val kotlinx_serialization_runtime = "0.20.0" + const val coroutines = "1.3.4" + const val lint = "26.6.2" + + // UI + const val material = "1.1.0" + const val core = "1.2.0" + const val appcompat = "1.1.0" + const val activity_ktx = "1.1.0" + const val fragment_ktx = "1.2.4" + const val recyclerview = "1.2.0-alpha02" + const val constraint_layout = "1.1.3" + + // Navigation + const val android_navigation = "2.2.1" + + // Lifecycle + const val lifecycle = "2.2.0" + + // Dagger + const val dagger = "2.27" + + // Retrofit & OkHttp + const val retrofit = "2.8.1" + const val retrofit_serialization_adapter = "0.5.0" + const val okhttp = "4.4.1" + + // Other stuff + const val lottie = "3.4.0" + const val timber = "4.7.1" + const val coil = "0.9.5" + const val detekt = "1.7.0" + const val ktlint_internal = "0.36.0" + + // Test stuff + const val test_core = "1.2.0" + const val runner = "1.2.0" + const val rules = "1.2.0" + const val junit = "1.1.1" + const val truth_ext = "1.2.0" + const val espresso_core = "3.2.0" + const val mockK = "1.9.3" + const val arch_core = "2.1.0" + const val jupiter = "5.6.1" + const val android_test_runner = "1.2.0" + const val fragment = "1.2.4" + const val orchestrator = "1.2.0" +} diff --git a/buildSrc/src/main/kotlin/common/CommonDependencyHandler.kt b/buildSrc/src/main/kotlin/common/CommonDependencyHandler.kt new file mode 100644 index 0000000..b727d22 --- /dev/null +++ b/buildSrc/src/main/kotlin/common/CommonDependencyHandler.kt @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@file:Suppress("unused") + +package common + +import dependencies.Dependencies +import dependencies.TestDependencies +import org.gradle.api.artifacts.Dependency +import org.gradle.api.artifacts.dsl.DependencyHandler + +/** + * A common test dependency handler among all sub projects. This only should be called in case any + * sub project needs test and androidTest implementations. + */ +fun DependencyHandler.addTestDependencies() { + testImplementation(TestDependencies.test_core) + testImplementation(TestDependencies.runner) + testImplementation(TestDependencies.junit) + testImplementation(TestDependencies.rules) + testImplementation(TestDependencies.truth_ext) + testImplementation(TestDependencies.mockK) + testImplementation(TestDependencies.arch_core) + testImplementation(TestDependencies.coroutines_core) + testImplementation(TestDependencies.mock_web_server) + testImplementation(TestDependencies.serialization_runtime) + + androidTestImplementation(TestDependencies.test_core) + androidTestImplementation(TestDependencies.junit) + androidTestImplementation(TestDependencies.rules) + androidTestImplementation(TestDependencies.runner) + androidTestImplementation(TestDependencies.espresso_core) + androidTestImplementation(TestDependencies.idling_resource) + androidTestUtil(TestDependencies.orchestrator) + + debugImplementation(TestDependencies.fragment) +} + +/** + * A common JUnit5 test dependency handler among all sub projects. This only should be called in + * case any sub project needs test and androidTest implementations. + */ +fun DependencyHandler.addJUnit5TestDependencies() { + // (Required) Writing and executing Unit Tests on the JUnit Platform + testImplementation(TestDependencies.jupiter_api) + testRuntimeOnly(TestDependencies.jupiter_engine) + + // (Optional) If you need "Parameterized Tests" + testImplementation(TestDependencies.jupiter_params) + + // (Optional) If you also have JUnit 4-based tests + testRuntimeOnly(TestDependencies.vintage_engine) + androidTestRuntimeOnly(TestDependencies.android_test_runner) +} + +/** + * A Bill of Material implementation for OkHttp library group. + */ +fun DependencyHandler.addOkHttpBom() { + implementation(platform(Dependencies.Network.okhttp_bom)) + implementation(Dependencies.Network.okhttp) + implementation(Dependencies.Network.okhttp_logging) +} + +/* + * These extensions mimic the extensions that are generated on the fly by Gradle. + * They are used here to provide above dependency syntax that mimics Gradle Kotlin DSL + * syntax in module\build.gradle.kts files. + */ +private fun DependencyHandler.implementation(dependencyNotation: Any): Dependency? = + add("implementation", dependencyNotation) + +private fun DependencyHandler.debugImplementation(dependencyNotation: Any): Dependency? = + add("debugImplementation", dependencyNotation) + +private fun DependencyHandler.testImplementation(dependencyNotation: Any): Dependency? = + add("testImplementation", dependencyNotation) + +private fun DependencyHandler.testRuntimeOnly(dependencyNotation: Any): Dependency? = + add("testRuntimeOnly", dependencyNotation) + +private fun DependencyHandler.androidTestImplementation(dependencyNotation: Any): Dependency? = + add("androidTestImplementation", dependencyNotation) + +private fun DependencyHandler.androidTestRuntimeOnly(dependencyNotation: Any): Dependency? = + add("androidTestRuntimeOnly", dependencyNotation) + +private fun DependencyHandler.androidTestUtil(dependencyNotation: Any): Dependency? = + add("androidTestUtil", dependencyNotation) diff --git a/buildSrc/src/main/kotlin/dependencies/Dependencies.kt b/buildSrc/src/main/kotlin/dependencies/Dependencies.kt new file mode 100644 index 0000000..2bb2418 --- /dev/null +++ b/buildSrc/src/main/kotlin/dependencies/Dependencies.kt @@ -0,0 +1,126 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package dependencies + +object Dependencies { + + object Core { + const val kotlin = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${Versions.kotlin}" + const val coroutines = + "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.coroutines}" + } + + object Lint { + const val lint = "com.android.tools.lint:lint:${Versions.lint}" + const val api = "com.android.tools.lint:lint-api:${Versions.lint}" + const val checks = "com.android.tools.lint:lint-checks:${Versions.lint}" + const val tests = "com.android.tools.lint:lint-tests:${Versions.lint}" + } + + object UI { + const val material = "com.google.android.material:material:${Versions.material}" + const val core_ktx = "androidx.core:core-ktx:${Versions.core}" + const val appcompat = "androidx.appcompat:appcompat:${Versions.appcompat}" + const val recylerview = "androidx.recyclerview:recyclerview:${Versions.recyclerview}" + const val constraint_layout = + "androidx.constraintlayout:constraintlayout:${Versions.constraint_layout}" + const val fragment_ktx = "androidx.fragment:fragment-ktx:${Versions.fragment_ktx}" + const val activity_ktx = "androidx.activity:activity-ktx:${Versions.activity_ktx}" + } + + object Navigation { + const val nav_fragment_ktx = + "androidx.navigation:navigation-fragment-ktx:${Versions.android_navigation}" + const val nav_ui_ktx = + "androidx.navigation:navigation-ui-ktx:${Versions.android_navigation}" + } + + object Lifecycle { + const val lifecycle_extensions = + "androidx.lifecycle:lifecycle-extensions:${Versions.lifecycle}" + const val viewmodel_ktx = + "androidx.lifecycle:lifecycle-viewmodel-ktx:${Versions.lifecycle}" + const val livedata_ktx = "androidx.lifecycle:lifecycle-livedata-ktx:${Versions.lifecycle}" + const val runtime_ktx = "androidx.lifecycle:lifecycle-runtime-ktx:${Versions.lifecycle}" + const val common_java = "androidx.lifecycle:lifecycle-common-java8:${Versions.lifecycle}" + } + + object Dagger { + const val dagger = "com.google.dagger:dagger:${Versions.dagger}" + const val compiler = "com.google.dagger:dagger-compiler:${Versions.dagger}" + } + + object Network { + const val retrofit = "com.squareup.retrofit2:retrofit:${Versions.retrofit}" + const val retrofit_serialization_adapter = + "com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:${Versions.retrofit_serialization_adapter}" + internal const val okhttp_bom = "com.squareup.okhttp3:okhttp-bom:${Versions.okhttp}" + internal const val okhttp = "com.squareup.okhttp3:okhttp" + internal const val okhttp_logging = "com.squareup.okhttp3:logging-interceptor" + } + + object Other { + const val lottie = "com.airbnb.android:lottie:${Versions.lottie}" + const val timber = "com.jakewharton.timber:timber:${Versions.timber}" + const val coil = "io.coil-kt:coil:${Versions.coil}" + } +} + +internal object TestDependencies { + // Core library + const val test_core = "androidx.test:core:${Versions.test_core}" + const val arch_core = "androidx.arch.core:core-testing:${Versions.arch_core}" + const val coroutines_core = + "org.jetbrains.kotlinx:kotlinx-coroutines-test:${Versions.coroutines}" + const val serialization_runtime = + "org.jetbrains.kotlinx:kotlinx-serialization-runtime:${Versions.kotlinx_serialization_runtime}" + + // Fragment + const val fragment = "androidx.fragment:fragment-testing:${Versions.fragment}" + + // Orchestrator + const val orchestrator = "androidx.test:orchestrator:${Versions.orchestrator}" + + // AndroidJUnitRunner and JUnit Rules + const val runner = "androidx.test:runner:${Versions.runner}" + const val rules = "androidx.test:rules:${Versions.rules}" + + // Assertions + const val junit = "androidx.test.ext:junit:${Versions.junit}" + const val truth_ext = "androidx.test.ext:truth:${Versions.truth_ext}" + + // Espresso dependencies + const val espresso_core = "androidx.test.espresso:espresso-core:${Versions.espresso_core}" + const val idling_resource = + "androidx.test.espresso:espresso-idling-resource:${Versions.espresso_core}" + + // Mock + const val mockK = "io.mockk:mockk:${Versions.mockK}" + const val mock_web_server = "com.squareup.okhttp3:mockwebserver:${Versions.okhttp}" + + // JUnit5 + // (Required) Writing and executing Unit Tests on the JUnit Platform + const val jupiter_api = "org.junit.jupiter:junit-jupiter-api:${Versions.jupiter}" + const val jupiter_engine = "org.junit.jupiter:junit-jupiter-engine:${Versions.jupiter}" + + // (Optional) If you need "Parameterized Tests" + const val jupiter_params = "org.junit.jupiter:junit-jupiter-params:${Versions.jupiter}" + + // (Optional) If you also have JUnit 4-based tests + const val vintage_engine = "org.junit.vintage:junit-vintage-engine:${Versions.jupiter}" + const val android_test_runner = + "de.mannodermaus.junit5:android-test-runner:${Versions.android_test_runner}" +} diff --git a/buildSrc/src/main/kotlin/extensions/LintOptions.kt b/buildSrc/src/main/kotlin/extensions/LintOptions.kt new file mode 100644 index 0000000..8d5760c --- /dev/null +++ b/buildSrc/src/main/kotlin/extensions/LintOptions.kt @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package extensions + +import com.android.build.gradle.internal.dsl.LintOptions +import java.io.File + +/** + * Sets default options for lint + */ +fun LintOptions.setDefaults() { + isAbortOnError = false + isWarningsAsErrors = true + isCheckDependencies = true + isIgnoreTestSources = true + lintConfig = File(".lint/lint.xml") + disable("OldTargetApi", "GradleDependency") +} diff --git a/buildSrc/src/main/kotlin/extensions/ProjectHandler.kt b/buildSrc/src/main/kotlin/extensions/ProjectHandler.kt new file mode 100644 index 0000000..d0958cb --- /dev/null +++ b/buildSrc/src/main/kotlin/extensions/ProjectHandler.kt @@ -0,0 +1,157 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@file:Suppress("unused") + +package extensions + +import AndroidTest +import Debug +import Main +import Release +import ReleaseConfig +import Test +import com.android.build.gradle.api.AndroidSourceSet +import com.android.build.gradle.internal.dsl.BuildType +import com.android.build.gradle.internal.dsl.SigningConfig +import org.gradle.api.NamedDomainObjectContainer +import org.gradle.api.Project +import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension +import utils.execute +import utils.getProperty +import utils.shouldTreatCompilerWarningsAsErrors + +/** + * An extension to create release build type. + * + * @param namedDomainObjectContainer The container to create the corresponding build type + * + * @return The release [BuildType] + */ +fun Project.createRelease(namedDomainObjectContainer: NamedDomainObjectContainer) = + Release.create(namedDomainObjectContainer, this) + +/** + * An extension to create debug build type. + * + * @param namedDomainObjectContainer The container to create the corresponding build type + * + * @return The debug [BuildType] + */ +fun Project.createDebug(namedDomainObjectContainer: NamedDomainObjectContainer) = + Debug.create(namedDomainObjectContainer, this) + +/** + * An extension to create main Kotlin source set. + * + * @param namedDomainObjectContainer The container to create the corresponding source set + * + * @return The main Kotlin [AndroidSourceSet] + */ +fun Project.createKotlinMain( + namedDomainObjectContainer: NamedDomainObjectContainer +) = Main.create(namedDomainObjectContainer, this) + +/** + * An extension to create test Kotlin source set. + * + * @param namedDomainObjectContainer The container to create the corresponding source set + * + * @return The test Kotlin [AndroidSourceSet] + */ +fun Project.createKotlinTest( + namedDomainObjectContainer: NamedDomainObjectContainer +) = Test.create(namedDomainObjectContainer, this) + +/** + * An extension to create android test Kotlin source set. + * + * @param namedDomainObjectContainer The container to create the corresponding source set + * + * @return The android test Kotlin [AndroidSourceSet] + */ +fun Project.createKotlinAndroidTest( + namedDomainObjectContainer: NamedDomainObjectContainer +) = AndroidTest.create(namedDomainObjectContainer, this) + +/** + * An extension to create release signing config. + * + * @param namedDomainObjectContainer The container to create the corresponding signing config + * + * @return The release [SigningConfig] + */ +fun Project.createReleaseConfig(namedDomainObjectContainer: NamedDomainObjectContainer) = + ReleaseConfig.create(namedDomainObjectContainer, this) + +/** + * Applies semantic versioning and returns the combined version name accordingly + * + * @return The version name + */ +fun Project.getSemanticAppVersionName() = utils.getSemanticAppVersionName() + +/** + * Basically fetches the recent git commit hash + */ +internal inline val Project.gitSha: String + get() = "git rev-parse --short HEAD".execute(rootDir, "none") + +/** + * Specify whether or not treat compiler warnings as errors + */ +internal fun Project.shouldTreatCompilerWarningsAsErrors() = + shouldTreatCompilerWarningsAsErrors(this) + +/** + * If the instrumented tests live in the Android Library projects, running + * ./gradlew connectedDebugAndroidTest will run the androidTest related tasks for all the ones + * without any android tests at all. This is for performance purpose to reduce build time. + */ +internal inline val Project.hasAndroidTestSource: Boolean + get() { + extensions + .findByType(KotlinAndroidProjectExtension::class.java) + ?.sourceSets + ?.findByName("androidTest") + ?.let { + if (it.kotlin.files.isNotEmpty()) return true + } + return false + } + +/** + * Returns the requested property + * + * @param name The property name + * + * @return The property as [String] + */ +fun Project.getProperty(name: String) = getProperty(name, this) + +/** + * If the instrumented tests live in the Android Library projects, running + * ./gradlew connectedDebugAndroidTest will run the androidTest related tasks for all the ones + * without any android tests at all. This is for performance purpose to reduce build time. + */ +fun Project.configureAndroidTests() { + if (!hasAndroidTestSource) { + project.tasks.configureEach { + if (name.contains("androidTest", ignoreCase = true)) { + enabled = false + } + } + } +} diff --git a/buildSrc/src/main/kotlin/extensions/RepositoryHandler.kt b/buildSrc/src/main/kotlin/extensions/RepositoryHandler.kt new file mode 100644 index 0000000..f756483 --- /dev/null +++ b/buildSrc/src/main/kotlin/extensions/RepositoryHandler.kt @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package extensions + +import org.gradle.api.artifacts.dsl.RepositoryHandler + +/** + * Applies default plugins for repository + */ +fun RepositoryHandler.applyDefaults() { + google() + mavenCentral() + + // Make this a caching provider + jcenter() +} diff --git a/buildSrc/src/main/kotlin/extensions/TestOptions.kt b/buildSrc/src/main/kotlin/extensions/TestOptions.kt new file mode 100644 index 0000000..3e718ba --- /dev/null +++ b/buildSrc/src/main/kotlin/extensions/TestOptions.kt @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package extensions + +import com.android.build.gradle.internal.dsl.TestOptions + +/** + * Sets default options for test + */ +fun TestOptions.applyDefault() { + execution = "ANDROIDX_TEST_ORCHESTRATOR" + unitTests.isReturnDefaultValues = true + unitTests.isIncludeAndroidResources = true + animationsDisabled = true +} diff --git a/buildSrc/src/main/kotlin/plugins/BuildPlugins.kt b/buildSrc/src/main/kotlin/plugins/BuildPlugins.kt new file mode 100644 index 0000000..334b9f4 --- /dev/null +++ b/buildSrc/src/main/kotlin/plugins/BuildPlugins.kt @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package plugins + +/** + * An object that holds all the plugins + */ +object BuildPlugins { + const val DETEKT = "plugins.detekt" + const val UPDATE_DEPENDENCIES = "plugins.update-dependencies" + const val KTLINT = "plugins.ktlint" + const val SPOTLESS = "plugins.spotless" + const val GIT_HOOKS = "plugins.git-hooks" +} diff --git a/buildSrc/src/main/kotlin/plugins/detekt.gradle.kts b/buildSrc/src/main/kotlin/plugins/detekt.gradle.kts new file mode 100644 index 0000000..91aa540 --- /dev/null +++ b/buildSrc/src/main/kotlin/plugins/detekt.gradle.kts @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package plugins + +import Versions +import io.gitlab.arturbosch.detekt.Detekt +import io.gitlab.arturbosch.detekt.DetektPlugin +import io.gitlab.arturbosch.detekt.detekt +import utils.javaVersion + +apply() + +detekt { + toolVersion = Versions.detekt + parallel = false + input = files( + "src/main/kotlin", + "src/main/java" + ) + config = files("${project.rootDir}/default-detekt-config.yml") + + reports { + xml { + enabled = true + destination = file("${project.buildDir}/reports/detekt/detekt-report.xml") + } + html { + enabled = true + destination = file("${project.buildDir}/reports/detekt/detekt-report.html") + } + } +} + +tasks { + withType { + include("**/*.kt", "**/*.kts") + exclude("**/build/**", ".*/resources/.*", ".*test.*,.*/resources/.*,.*/tmp/.*") + + jvmTarget = javaVersion.toString() + } +} diff --git a/buildSrc/src/main/kotlin/plugins/git-hooks.gradle.kts b/buildSrc/src/main/kotlin/plugins/git-hooks.gradle.kts new file mode 100644 index 0000000..974ccd3 --- /dev/null +++ b/buildSrc/src/main/kotlin/plugins/git-hooks.gradle.kts @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package plugins + +import utils.isLinuxOrMacOs + +tasks { + register("copyGitHooks") { + description = "Copies the git hooks from scripts/git-hooks to the .git folder." + group = "git hooks" + from("$rootDir/scripts/git-hooks/") { + include("**/*.sh") + rename("(.*).sh", "$1") + } + into("$rootDir/.git/hooks") + } + + register("installGitHooks") { + description = "Installs the pre-commit git hooks from scripts/git-hooks." + group = "git hooks" + workingDir(rootDir) + commandLine("chmod") + args("-R", "+x", ".git/hooks/") + dependsOn(named("copyGitHooks")) + onlyIf { + isLinuxOrMacOs() + } + doLast { + logger.info("Git hooks installed successfully.") + } + } + + register("deleteGitHooks") { + description = "Delete the pre-commit git hooks." + group = "git hooks" + delete(fileTree(".git/hooks/")) + } + + afterEvaluate { + tasks["clean"].dependsOn(tasks.named("installGitHooks")) + } +} diff --git a/buildSrc/src/main/kotlin/plugins/ktlint.gradle.kts b/buildSrc/src/main/kotlin/plugins/ktlint.gradle.kts new file mode 100644 index 0000000..92f2f9e --- /dev/null +++ b/buildSrc/src/main/kotlin/plugins/ktlint.gradle.kts @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package plugins + +import Config +import Versions +import org.jlleitschuh.gradle.ktlint.KtlintExtension +import org.jlleitschuh.gradle.ktlint.KtlintPlugin +import org.jlleitschuh.gradle.ktlint.reporter.ReporterType + +apply() + +configure { + version.set(Versions.ktlint_internal) + debug.set(true) + verbose.set(true) + android.set(false) + outputToConsole.set(true) + outputColorName.set(Config.KTLINT_COLOR_NAME) + ignoreFailures.set(true) + enableExperimentalRules.set(true) + additionalEditorconfigFile.set(file("${project.rootDir}/.editorconfig")) + reporters { + reporter(ReporterType.PLAIN) + reporter(ReporterType.CHECKSTYLE) + reporter(ReporterType.JSON) + } + kotlinScriptAdditionalPaths { + include(fileTree("scripts/")) + } + filter { + exclude("**/generated/**") + include("**/kotlin/**") + } +} diff --git a/buildSrc/src/main/kotlin/plugins/spotless.gradle.kts b/buildSrc/src/main/kotlin/plugins/spotless.gradle.kts new file mode 100644 index 0000000..e32dd4a --- /dev/null +++ b/buildSrc/src/main/kotlin/plugins/spotless.gradle.kts @@ -0,0 +1,111 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package plugins + +import Config +import com.diffplug.gradle.spotless.SpotlessExtension +import com.diffplug.gradle.spotless.SpotlessPlugin + +apply() + +@Suppress("INACCESSIBLE_TYPE") +configure { + format("misc") { + target( + fileTree( + mapOf( + "dir" to ".", + "include" to listOf("**/*.md", "**/.gitignore", "**/*.yaml", "**/*.yml"), + "exclude" to listOf( + ".gradle/**", + ".gradle-cache/**", + "**/tools/**", + "**/build/**" + ) + ) + ) + ) + trimTrailingWhitespace() + indentWithSpaces() + endWithNewline() + } + + format("xml") { + target("**/res/**/*.xml") + targetExclude("**/build/**") + indentWithSpaces(Config.SPOTLESS_INDENT_WITH_SPACES) + trimTrailingWhitespace() + endWithNewline() + } + + kotlin { + target( + fileTree( + mapOf( + "dir" to ".", + "include" to listOf("**/*.kt"), + "exclude" to listOf("**/build/**", "**/spotless/*.kt") + ) + ) + ) + licenseHeaderFile( + rootProject.file("spotless/copyright.kt"), + "^(package|object|import|interface|internal|@file|//startfile)" + ) + trimTrailingWhitespace() + indentWithSpaces() + endWithNewline() + } + + java { + target( + fileTree( + mapOf( + "dir" to ".", + "include" to listOf("**/*.java"), + "exclude" to listOf("**/build/**", "**/spotless/*.java") + ) + ) + ) + licenseHeaderFile( + rootProject.file("spotless/copyright.java"), + "^(package|object|import|interface|@file|//startfile)" + ) + removeUnusedImports() + trimTrailingWhitespace() + indentWithSpaces() + endWithNewline() + } + + kotlinGradle { + target( + fileTree( + mapOf( + "dir" to ".", + "include" to listOf("**/*.gradle.kts", "*.gradle.kts"), + "exclude" to listOf("**/build/**", "**/spotless/*.java", "**/spotless/*.kt") + ) + ) + ) + licenseHeaderFile( + rootProject.file("spotless/copyright.kt"), + "package|import|tasks|apply|plugins|include|val|object|interface|pluginManagement|@file|//startfile" + ) + trimTrailingWhitespace() + indentWithSpaces() + endWithNewline() + } +} diff --git a/buildSrc/src/main/kotlin/plugins/update-dependencies.gradle.kts b/buildSrc/src/main/kotlin/plugins/update-dependencies.gradle.kts new file mode 100644 index 0000000..de0e16b --- /dev/null +++ b/buildSrc/src/main/kotlin/plugins/update-dependencies.gradle.kts @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package plugins + +import Config +import com.github.benmanes.gradle.versions.VersionsPlugin +import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask +import utils.isNonStable + +apply() + +tasks { + withType { + resolutionStrategy { + componentSelection { + all { + if (isNonStable(candidate.version) && !isNonStable(currentVersion)) { + reject("Release candidate") + } + } + } + } + + checkForGradleUpdate = true + outputFormatter = Config.JSON_OUTPUT_FORMATTER + reportfileName = "dependency-report" + outputDir = "${project.buildDir}/reports/dependencyUpdates" + } +} diff --git a/buildSrc/src/main/kotlin/tasks/BuildTasks.kt b/buildSrc/src/main/kotlin/tasks/BuildTasks.kt new file mode 100644 index 0000000..a4742a8 --- /dev/null +++ b/buildSrc/src/main/kotlin/tasks/BuildTasks.kt @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package tasks + +/** + * An object that holds all the tasks + */ +object BuildTasks { + const val COMMON_TASKS = "tasks.common-tasks" +} diff --git a/buildSrc/src/main/kotlin/tasks/common-tasks.gradle.kts b/buildSrc/src/main/kotlin/tasks/common-tasks.gradle.kts new file mode 100644 index 0000000..dc0f0d6 --- /dev/null +++ b/buildSrc/src/main/kotlin/tasks/common-tasks.gradle.kts @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package tasks + +import extensions.shouldTreatCompilerWarningsAsErrors +import org.gradle.api.tasks.testing.logging.TestExceptionFormat +import org.gradle.api.tasks.testing.logging.TestLogEvent +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import utils.javaVersion +import utils.parallelForks + +tasks { + withType { + options.isIncremental = true + allprojects { + options.compilerArgs.addAll( + arrayOf( + "-Xlint:-unchecked", + "-Xlint:deprecation", + "-Xdiags:verbose" + ) + ) + } + } + + withType { + kotlinOptions { + jvmTarget = javaVersion.toString() + // https://youtrack.jetbrains.com/issue/KT-24946 + kotlinOptions.freeCompilerArgs = listOf( + "-progressive", + "-Xskip-runtime-version-check", + "-Xdisable-default-scripting-plugin", + "-Xuse-experimental=kotlin.Experimental", + "-Xopt-in=kotlin.RequiresOptIn" + ) + kotlinOptions.allWarningsAsErrors = project.shouldTreatCompilerWarningsAsErrors() + } + } + + withType { + testLogging { + // set options for log level LIFECYCLE + events = setOf( + TestLogEvent.FAILED, + TestLogEvent.STARTED, + TestLogEvent.PASSED, + TestLogEvent.SKIPPED, + TestLogEvent.STANDARD_OUT + ) + exceptionFormat = TestExceptionFormat.FULL + showExceptions = true + showCauses = true + showStackTraces = true + } + + maxParallelForks = parallelForks + } +} diff --git a/buildSrc/src/main/kotlin/utils/DependencyUtils.kt b/buildSrc/src/main/kotlin/utils/DependencyUtils.kt new file mode 100644 index 0000000..136df6c --- /dev/null +++ b/buildSrc/src/main/kotlin/utils/DependencyUtils.kt @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package utils + +import Config +import java.util.* + +/** + * A helper function to check whether or not requested dependency is up-to-date + * + * @param version The version + * + * @return true if the dependency is under any of the specified version suffix otherwise false + */ +fun isNonStable(version: String): Boolean { + val stableKeyword = + listOf("RELEASE", "FINAL", "GA").any { version.toUpperCase(Locale.ROOT).contains(it) } + val regex = Config.BUILD_STABLE_REGEX.toRegex() + val isStable = stableKeyword || regex.matches(version) + return isStable.not() +} diff --git a/buildSrc/src/main/kotlin/utils/PropertyUtils.kt b/buildSrc/src/main/kotlin/utils/PropertyUtils.kt new file mode 100644 index 0000000..b087196 --- /dev/null +++ b/buildSrc/src/main/kotlin/utils/PropertyUtils.kt @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package utils + +import org.gradle.api.Project +import java.io.File +import java.util.* + +private const val VERSION_PROPERTIES_FILE_NAME = "keystore.properties" + +/** + * Returns the requested properties file + * + * @param project The main project + * + * @return property [File] + */ +internal fun getFile(project: Project) = project.rootProject.file(VERSION_PROPERTIES_FILE_NAME) + +/** + * Returns the requested property + * + * @param name The property name + * @param project The main project + * + * @return The property as [String] + */ +internal fun getProperty(name: String, project: Project): String { + val properties = Properties().apply { + val versionProperties = getFile(project) + if (versionProperties.exists()) { + load(versionProperties.inputStream()) + } + } + + return properties.getProperty(name) +} diff --git a/buildSrc/src/main/kotlin/utils/StringUtils.kt b/buildSrc/src/main/kotlin/utils/StringUtils.kt new file mode 100644 index 0000000..764cd12 --- /dev/null +++ b/buildSrc/src/main/kotlin/utils/StringUtils.kt @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package utils + +import java.io.File + +/** + * Executes the given command in specified working dir + * + * @param workingDir represents dir where executable command will be executed + * @param fallback replacement String in case source is empty + */ +internal fun String?.execute(workingDir: File, fallback: String): String { + Runtime.getRuntime().exec(this, null, workingDir).let { + it.waitFor() + return try { + it.inputStream.reader().readText().trim().letIfEmpty(fallback) + } catch (e: Exception) { + fallback + } + } +} + +/** + * Lets another string to be used in case source is empty + * + * @param fallback replacement String if source is empty + */ +internal fun String?.letIfEmpty(fallback: String): String { + return if (this == null || isEmpty()) fallback else this +} + +/** + * Applies semantic versioning and returns the combined version name accordingly + * + * @return The version name + */ +internal fun getSemanticAppVersionName(): String { + val majorCode = 1 + val minorCode = 0 + val patchCode = 0 + + return "$majorCode.$minorCode.$patchCode" +} diff --git a/buildSrc/src/main/kotlin/utils/SystemUtils.kt b/buildSrc/src/main/kotlin/utils/SystemUtils.kt new file mode 100644 index 0000000..0f38c47 --- /dev/null +++ b/buildSrc/src/main/kotlin/utils/SystemUtils.kt @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package utils + +import org.gradle.api.JavaVersion +import org.gradle.api.Project +import java.util.* + +/** + * Returns the corresponding [JavaVersion] + */ +inline val javaVersion: JavaVersion get() = JavaVersion.VERSION_1_8 + +/** + * Returns the parallel forks for testing + */ +internal inline val parallelForks: Int + get() = (Runtime.getRuntime().availableProcessors() / 2).takeIf { it > 0 } ?: 1 + +/** + * Usage: ./gradlew build -PwarningsAsErrors=true. + */ +internal fun shouldTreatCompilerWarningsAsErrors(project: Project): Boolean { + return project.findProperty("warningsAsErrors") == "true" +} + +/** + * Util to check if the project run on Linux or Mac operating system + * + * @return true if the operating system is one of them + */ +fun isLinuxOrMacOs(): Boolean { + val osName = System.getProperty("os.name").toLowerCase(Locale.ROOT) + return listOf("linux", "mac os", "macos").contains(osName) +} diff --git a/default-detekt-config.yml b/default-detekt-config.yml new file mode 100644 index 0000000..65f9ed9 --- /dev/null +++ b/default-detekt-config.yml @@ -0,0 +1,613 @@ +build: + maxIssues: 0 + excludeCorrectable: false + weights: + # complexity: 2 + # LongParameterList: 1 + # style: 1 + # comments: 1 + +config: + validation: true + # when writing own rules with new properties, exclude the property path e.g.: 'my_rule_set,.*>.*>[my_property]' + excludes: '' + +processors: + active: true + exclude: + - 'DetektProgressListener' + # - 'FunctionCountProcessor' + # - 'PropertyCountProcessor' + # - 'ClassCountProcessor' + # - 'PackageCountProcessor' + # - 'KtFileCountProcessor' + +console-reports: + active: true + exclude: + - 'ProjectStatisticsReport' + - 'ComplexityReport' + - 'NotificationReport' + # - 'FindingsReport' + - 'FileBasedFindingsReport' + +comments: + active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + AbsentOrWrongFileLicense: + active: false + licenseTemplateFile: 'license.template' + CommentOverPrivateFunction: + active: false + CommentOverPrivateProperty: + active: false + EndOfSentenceFormat: + active: false + endOfSentenceFormat: '([.?!][ \t\n\r\f<])|([.?!:]$)' + UndocumentedPublicClass: + active: false + searchInNestedClass: true + searchInInnerClass: true + searchInInnerObject: true + searchInInnerInterface: true + UndocumentedPublicFunction: + active: false + UndocumentedPublicProperty: + active: false + +complexity: + active: true + ComplexCondition: + active: true + threshold: 4 + ComplexInterface: + active: false + threshold: 10 + includeStaticDeclarations: false + includePrivateDeclarations: false + ComplexMethod: + active: true + threshold: 15 + ignoreSingleWhenExpression: false + ignoreSimpleWhenEntries: false + ignoreNestingFunctions: false + nestingFunctions: run,let,apply,with,also,use,forEach,isNotNull,ifNull + LabeledExpression: + active: false + ignoredLabels: '' + LargeClass: + active: true + threshold: 600 + LongMethod: + active: true + threshold: 60 + LongParameterList: + active: true + threshold: 6 + ignoreDefaultParameters: false + MethodOverloading: + active: false + threshold: 6 + NestedBlockDepth: + active: true + threshold: 4 + StringLiteralDuplication: + active: false + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + threshold: 3 + ignoreAnnotation: true + excludeStringsWithLessThan5Characters: true + ignoreStringsRegex: '$^' + TooManyFunctions: + active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + thresholdInFiles: 11 + thresholdInClasses: 11 + thresholdInInterfaces: 11 + thresholdInObjects: 11 + thresholdInEnums: 11 + ignoreDeprecated: false + ignorePrivate: false + ignoreOverridden: false + +coroutines: + active: true + GlobalCoroutineUsage: + active: false + RedundantSuspendModifier: + active: false + +empty-blocks: + active: true + EmptyCatchBlock: + active: true + allowedExceptionNameRegex: '^(_|(ignore|expected).*)' + EmptyClassBlock: + active: true + EmptyDefaultConstructor: + active: true + EmptyDoWhileBlock: + active: true + EmptyElseBlock: + active: true + EmptyFinallyBlock: + active: true + EmptyForBlock: + active: true + EmptyFunctionBlock: + active: true + ignoreOverridden: false + EmptyIfBlock: + active: true + EmptyInitBlock: + active: true + EmptyKtFile: + active: true + EmptySecondaryConstructor: + active: true + EmptyTryBlock: + active: true + EmptyWhenBlock: + active: true + EmptyWhileBlock: + active: true + +exceptions: + active: true + ExceptionRaisedInUnexpectedLocation: + active: false + methodNames: 'toString,hashCode,equals,finalize' + InstanceOfCheckForException: + active: false + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + NotImplementedDeclaration: + active: false + PrintStackTrace: + active: false + RethrowCaughtException: + active: false + ReturnFromFinally: + active: false + ignoreLabeled: false + SwallowedException: + active: false + ignoredExceptionTypes: 'InterruptedException,NumberFormatException,ParseException,MalformedURLException' + allowedExceptionNameRegex: '^(_|(ignore|expected).*)' + ThrowingExceptionFromFinally: + active: false + ThrowingExceptionInMain: + active: false + ThrowingExceptionsWithoutMessageOrCause: + active: false + exceptions: 'IllegalArgumentException,IllegalStateException,IOException' + ThrowingNewInstanceOfSameException: + active: false + TooGenericExceptionCaught: + active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + exceptionNames: + - ArrayIndexOutOfBoundsException + - Error + - Exception + - IllegalMonitorStateException + - NullPointerException + - IndexOutOfBoundsException + - RuntimeException + - Throwable + allowedExceptionNameRegex: '^(_|(ignore|expected).*)' + TooGenericExceptionThrown: + active: true + exceptionNames: + - Error + - Exception + - Throwable + - RuntimeException + +formatting: + active: true + android: false + autoCorrect: true + AnnotationOnSeparateLine: + active: false + autoCorrect: true + ChainWrapping: + active: true + autoCorrect: true + CommentSpacing: + active: true + autoCorrect: true + EnumEntryNameCase: + active: false + autoCorrect: true + Filename: + active: true + FinalNewline: + active: true + autoCorrect: true + insertFinalNewLine: true + ImportOrdering: + active: false + autoCorrect: true + Indentation: + active: false + autoCorrect: true + indentSize: 4 + continuationIndentSize: 4 + MaximumLineLength: + active: true + maxLineLength: 120 + ModifierOrdering: + active: true + autoCorrect: true + MultiLineIfElse: + active: true + autoCorrect: true + NoBlankLineBeforeRbrace: + active: true + autoCorrect: true + NoConsecutiveBlankLines: + active: true + autoCorrect: true + NoEmptyClassBody: + active: true + autoCorrect: true + NoEmptyFirstLineInMethodBlock: + active: false + autoCorrect: true + NoLineBreakAfterElse: + active: true + autoCorrect: true + NoLineBreakBeforeAssignment: + active: true + autoCorrect: true + NoMultipleSpaces: + active: true + autoCorrect: true + NoSemicolons: + active: true + autoCorrect: true + NoTrailingSpaces: + active: true + autoCorrect: true + NoUnitReturn: + active: true + autoCorrect: true + NoUnusedImports: + active: true + autoCorrect: true + NoWildcardImports: + active: true + PackageName: + active: true + autoCorrect: true + ParameterListWrapping: + active: true + autoCorrect: true + indentSize: 4 + SpacingAroundColon: + active: true + autoCorrect: true + SpacingAroundComma: + active: true + autoCorrect: true + SpacingAroundCurly: + active: true + autoCorrect: true + SpacingAroundDot: + active: true + autoCorrect: true + SpacingAroundKeyword: + active: true + autoCorrect: true + SpacingAroundOperators: + active: true + autoCorrect: true + SpacingAroundParens: + active: true + autoCorrect: true + SpacingAroundRangeOperator: + active: true + autoCorrect: true + StringTemplate: + active: true + autoCorrect: true + +naming: + active: true + ClassNaming: + active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + classPattern: '[A-Z$][a-zA-Z0-9$]*' + ConstructorParameterNaming: + active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + parameterPattern: '[a-z][A-Za-z0-9]*' + privateParameterPattern: '[a-z][A-Za-z0-9]*' + excludeClassPattern: '$^' + ignoreOverridden: true + EnumNaming: + active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + enumEntryPattern: '^[A-Z][_a-zA-Z0-9]*' + ForbiddenClassName: + active: false + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + forbiddenName: '' + FunctionMaxLength: + active: false + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + maximumFunctionNameLength: 30 + FunctionMinLength: + active: false + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + minimumFunctionNameLength: 3 + FunctionNaming: + active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + functionPattern: '^([a-z$][a-zA-Z$0-9]*)|(`.*`)$' + excludeClassPattern: '$^' + ignoreOverridden: true + FunctionParameterNaming: + active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + parameterPattern: '[a-z][A-Za-z0-9]*' + excludeClassPattern: '$^' + ignoreOverridden: true + InvalidPackageDeclaration: + active: false + rootPackage: '' + MatchingDeclarationName: + active: true + mustBeFirst: true + MemberNameEqualsClassName: + active: true + ignoreOverridden: true + ObjectPropertyNaming: + active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + constantPattern: '[A-Za-z][_A-Za-z0-9]*' + propertyPattern: '[A-Za-z][_A-Za-z0-9]*' + privatePropertyPattern: '(_)?[A-Za-z][_A-Za-z0-9]*' + PackageNaming: + active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + packagePattern: '^[a-z]+(\.[a-z][A-Za-z0-9]*)*$' + TopLevelPropertyNaming: + active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + constantPattern: '[A-Z][_A-Z0-9]*' + propertyPattern: '[A-Za-z][_A-Za-z0-9]*' + privatePropertyPattern: '_?[A-Za-z][_A-Za-z0-9]*' + VariableMaxLength: + active: false + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + maximumVariableNameLength: 64 + VariableMinLength: + active: false + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + minimumVariableNameLength: 1 + VariableNaming: + active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + variablePattern: '[a-z][A-Za-z0-9]*' + privateVariablePattern: '(_)?[a-z][A-Za-z0-9]*' + excludeClassPattern: '$^' + ignoreOverridden: true + +performance: + active: true + ArrayPrimitive: + active: true + ForEachOnRange: + active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + SpreadOperator: + active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + UnnecessaryTemporaryInstantiation: + active: true + +potential-bugs: + active: true + Deprecation: + active: false + DuplicateCaseInWhenExpression: + active: true + EqualsAlwaysReturnsTrueOrFalse: + active: true + EqualsWithHashCodeExist: + active: true + ExplicitGarbageCollectionCall: + active: true + HasPlatformType: + active: false + ImplicitDefaultLocale: + active: false + InvalidRange: + active: true + IteratorHasNextCallsNextMethod: + active: true + IteratorNotThrowingNoSuchElementException: + active: true + LateinitUsage: + active: false + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + excludeAnnotatedProperties: '' + ignoreOnClassesPattern: '' + MapGetWithNotNullAssertionOperator: + active: false + MissingWhenCase: + active: true + RedundantElseInWhen: + active: true + UnconditionalJumpStatementInLoop: + active: false + UnreachableCode: + active: true + UnsafeCallOnNullableType: + active: true + UnsafeCast: + active: false + UselessPostfixExpression: + active: false + WrongEqualsTypeParameter: + active: true + +style: + active: true + CollapsibleIfStatements: + active: false + DataClassContainsFunctions: + active: false + conversionFunctionPrefix: 'to' + DataClassShouldBeImmutable: + active: false + EqualsNullCall: + active: true + EqualsOnSignatureLine: + active: false + ExplicitCollectionElementAccessMethod: + active: false + ExplicitItLambdaParameter: + active: false + ExpressionBodySyntax: + active: false + includeLineWrapping: false + ForbiddenComment: + active: true + values: 'TODO:,FIXME:,STOPSHIP:' + allowedPatterns: '' + ForbiddenImport: + active: false + imports: '' + forbiddenPatterns: '' + ForbiddenMethodCall: + active: false + methods: '' + ForbiddenPublicDataClass: + active: false + ignorePackages: '*.internal,*.internal.*' + ForbiddenVoid: + active: false + ignoreOverridden: false + ignoreUsageInGenerics: false + FunctionOnlyReturningConstant: + active: true + ignoreOverridableFunction: true + excludedFunctions: 'describeContents' + excludeAnnotatedFunction: 'dagger.Provides' + LibraryCodeMustSpecifyReturnType: + active: true + LoopWithTooManyJumpStatements: + active: true + maxJumpCount: 1 + MagicNumber: + active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + ignoreNumbers: '-1,0,1,2' + ignoreHashCodeFunction: true + ignorePropertyDeclaration: false + ignoreLocalVariableDeclaration: false + ignoreConstantDeclaration: true + ignoreCompanionObjectPropertyDeclaration: true + ignoreAnnotation: false + ignoreNamedArgument: true + ignoreEnums: false + ignoreRanges: false + MandatoryBracesIfStatements: + active: false + MaxLineLength: + active: true + maxLineLength: 120 + excludePackageStatements: true + excludeImportStatements: true + excludeCommentStatements: false + MayBeConst: + active: true + ModifierOrder: + active: true + NestedClassesVisibility: + active: false + NewLineAtEndOfFile: + active: true + NoTabs: + active: false + OptionalAbstractKeyword: + active: true + OptionalUnit: + active: false + OptionalWhenBraces: + active: false + PreferToOverPairSyntax: + active: false + ProtectedMemberInFinalClass: + active: true + RedundantExplicitType: + active: false + RedundantVisibilityModifierRule: + active: false + ReturnCount: + active: true + max: 2 + excludedFunctions: 'equals' + excludeLabeled: false + excludeReturnFromLambda: true + excludeGuardClauses: false + SafeCast: + active: true + SerialVersionUIDInSerializableClass: + active: false + SpacingBetweenPackageAndImports: + active: false + ThrowsCount: + active: true + max: 2 + TrailingWhitespace: + active: false + UnderscoresInNumericLiterals: + active: false + acceptableDecimalLength: 5 + UnnecessaryAbstractClass: + active: true + excludeAnnotatedClasses: 'dagger.Module' + UnnecessaryAnnotationUseSiteTarget: + active: false + UnnecessaryApply: + active: false + UnnecessaryInheritance: + active: true + UnnecessaryLet: + active: false + UnnecessaryParentheses: + active: false + UntilInsteadOfRangeTo: + active: false + UnusedImports: + active: false + UnusedPrivateClass: + active: true + UnusedPrivateMember: + active: false + allowedNames: '(_|ignored|expected|serialVersionUID)' + UseArrayLiteralsInAnnotations: + active: false + UseCheckOrError: + active: false + UseDataClass: + active: false + excludeAnnotatedClasses: '' + allowVars: false + UseIfInsteadOfWhen: + active: false + UseRequire: + active: false + UselessCallOnNotNull: + active: true + UtilityClassWithPublicConstructor: + active: true + VarCouldBeVal: + active: false + WildcardImport: + active: true + excludes: '**/test/**,**/androidTest/**,**/*.Test.kt,**/*.Spec.kt,**/*.Spek.kt' + excludeImports: 'java.util.*,kotlinx.android.synthetic.*' diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..5d75969 --- /dev/null +++ b/gradle.properties @@ -0,0 +1,42 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx1536m +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app's APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Automatically convert third-party libraries to use AndroidX +android.enableJetifier=true +# Kotlin code style for this project: "official" or "obsolete": +kotlin.code.style=official +# Caching gradle will caches task outputs from any previous build from any location +org.gradle.daemon=true +org.gradle.configureondemand=true +org.gradle.parallel=true +org.gradle.caching=true +android.enableBuildCache=true +# Kapt can reuse gradle workers +kapt.incremental.apt=true +kapt.use.worker.api=true +kapt.include.compile.classpath=false +# Enables new data binding compiler: https://developer.android.com/topic/libraries/data-binding/index.html +android.databinding.enableV2=true +# R8 +android.enableR8=true +android.enableR8.fullMode=true +# Versions +compileSdkVersion=29 +minSdkVersion=21 +targetSdkVersion=29 +# Network +baseUrl="https://hiring.revolut.codes/" diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..f6b961fd5a86aa5fbfe90f707c3138408be7c718 GIT binary patch literal 54329 zcmagFV|ZrKvM!pAZQHhO+qP}9lTNj?q^^Y^VFp)SH8qbSJ)2BQ2giqr}t zFG7D6)c?v~^Z#E_K}1nTQbJ9gQ9<%vVRAxVj)8FwL5_iTdUB>&m3fhE=kRWl;g`&m z!W5kh{WsV%fO*%je&j+Lv4xxK~zsEYQls$Q-p&dwID|A)!7uWtJF-=Tm1{V@#x*+kUI$=%KUuf2ka zjiZ{oiL1MXE2EjciJM!jrjFNwCh`~hL>iemrqwqnX?T*MX;U>>8yRcZb{Oy+VKZos zLiFKYPw=LcaaQt8tj=eoo3-@bG_342HQ%?jpgAE?KCLEHC+DmjxAfJ%Og^$dpC8Xw zAcp-)tfJm}BPNq_+6m4gBgBm3+CvmL>4|$2N$^Bz7W(}fz1?U-u;nE`+9`KCLuqg} zwNstNM!J4Uw|78&Y9~9>MLf56to!@qGkJw5Thx%zkzj%Ek9Nn1QA@8NBXbwyWC>9H z#EPwjMNYPigE>*Ofz)HfTF&%PFj$U6mCe-AFw$U%-L?~-+nSXHHKkdgC5KJRTF}`G zE_HNdrE}S0zf4j{r_f-V2imSqW?}3w-4=f@o@-q+cZgaAbZ((hn))@|eWWhcT2pLpTpL!;_5*vM=sRL8 zqU##{U#lJKuyqW^X$ETU5ETeEVzhU|1m1750#f}38_5N9)B_2|v@1hUu=Kt7-@dhA zq_`OMgW01n`%1dB*}C)qxC8q;?zPeF_r;>}%JYmlER_1CUbKa07+=TV45~symC*g8 zW-8(gag#cAOuM0B1xG8eTp5HGVLE}+gYTmK=`XVVV*U!>H`~j4+ROIQ+NkN$LY>h4 zqpwdeE_@AX@PL};e5vTn`Ro(EjHVf$;^oiA%@IBQq>R7_D>m2D4OwwEepkg}R_k*M zM-o;+P27087eb+%*+6vWFCo9UEGw>t&WI17Pe7QVuoAoGHdJ(TEQNlJOqnjZ8adCb zI`}op16D@v7UOEo%8E-~m?c8FL1utPYlg@m$q@q7%mQ4?OK1h%ODjTjFvqd!C z-PI?8qX8{a@6d&Lb_X+hKxCImb*3GFemm?W_du5_&EqRq!+H?5#xiX#w$eLti-?E$;Dhu`{R(o>LzM4CjO>ICf z&DMfES#FW7npnbcuqREgjPQM#gs6h>`av_oEWwOJZ2i2|D|0~pYd#WazE2Bbsa}X@ zu;(9fi~%!VcjK6)?_wMAW-YXJAR{QHxrD5g(ou9mR6LPSA4BRG1QSZT6A?kelP_g- zH(JQjLc!`H4N=oLw=f3{+WmPA*s8QEeEUf6Vg}@!xwnsnR0bl~^2GSa5vb!Yl&4!> zWb|KQUsC$lT=3A|7vM9+d;mq=@L%uWKwXiO9}a~gP4s_4Yohc!fKEgV7WbVo>2ITbE*i`a|V!^p@~^<={#?Gz57 zyPWeM2@p>D*FW#W5Q`1`#5NW62XduP1XNO(bhg&cX`-LYZa|m-**bu|>}S;3)eP8_ zpNTnTfm8 ze+7wDH3KJ95p)5tlwk`S7mbD`SqHnYD*6`;gpp8VdHDz%RR_~I_Ar>5)vE-Pgu7^Y z|9Px+>pi3!DV%E%4N;ii0U3VBd2ZJNUY1YC^-e+{DYq+l@cGtmu(H#Oh%ibUBOd?C z{y5jW3v=0eV0r@qMLgv1JjZC|cZ9l9Q)k1lLgm))UR@#FrJd>w^`+iy$c9F@ic-|q zVHe@S2UAnc5VY_U4253QJxm&Ip!XKP8WNcnx9^cQ;KH6PlW8%pSihSH2(@{2m_o+m zr((MvBja2ctg0d0&U5XTD;5?d?h%JcRJp{_1BQW1xu&BrA3(a4Fh9hon-ly$pyeHq zG&;6q?m%NJ36K1Sq_=fdP(4f{Hop;_G_(i?sPzvB zDM}>*(uOsY0I1j^{$yn3#U(;B*g4cy$-1DTOkh3P!LQ;lJlP%jY8}Nya=h8$XD~%Y zbV&HJ%eCD9nui-0cw!+n`V~p6VCRqh5fRX z8`GbdZ@73r7~myQLBW%db;+BI?c-a>Y)m-FW~M=1^|<21_Sh9RT3iGbO{o-hpN%d6 z7%++#WekoBOP^d0$$|5npPe>u3PLvX_gjH2x(?{&z{jJ2tAOWTznPxv-pAv<*V7r$ z6&glt>7CAClWz6FEi3bToz-soY^{ScrjwVPV51=>n->c(NJngMj6TyHty`bfkF1hc zkJS%A@cL~QV0-aK4>Id!9dh7>0IV;1J9(myDO+gv76L3NLMUm9XyPauvNu$S<)-|F zZS}(kK_WnB)Cl`U?jsdYfAV4nrgzIF@+%1U8$poW&h^c6>kCx3;||fS1_7JvQT~CV zQ8Js+!p)3oW>Df(-}uqC`Tcd%E7GdJ0p}kYj5j8NKMp(KUs9u7?jQ94C)}0rba($~ zqyBx$(1ae^HEDG`Zc@-rXk1cqc7v0wibOR4qpgRDt#>-*8N3P;uKV0CgJE2SP>#8h z=+;i_CGlv+B^+$5a}SicVaSeaNn29K`C&=}`=#Nj&WJP9Xhz4mVa<+yP6hkrq1vo= z1rX4qg8dc4pmEvq%NAkpMK>mf2g?tg_1k2%v}<3`$6~Wlq@ItJ*PhHPoEh1Yi>v57 z4k0JMO)*=S`tKvR5gb-(VTEo>5Y>DZJZzgR+j6{Y`kd|jCVrg!>2hVjz({kZR z`dLlKhoqT!aI8=S+fVp(5*Dn6RrbpyO~0+?fy;bm$0jmTN|t5i6rxqr4=O}dY+ROd zo9Et|x}!u*xi~>-y>!M^+f&jc;IAsGiM_^}+4|pHRn{LThFFpD{bZ|TA*wcGm}XV^ zr*C6~@^5X-*R%FrHIgo-hJTBcyQ|3QEj+cSqp#>&t`ZzB?cXM6S(lRQw$I2?m5=wd z78ki`R?%;o%VUhXH?Z#(uwAn9$m`npJ=cA+lHGk@T7qq_M6Zoy1Lm9E0UUysN)I_x zW__OAqvku^>`J&CB=ie@yNWsaFmem}#L3T(x?a`oZ+$;3O-icj2(5z72Hnj=9Z0w% z<2#q-R=>hig*(t0^v)eGq2DHC%GymE-_j1WwBVGoU=GORGjtaqr0BNigOCqyt;O(S zKG+DoBsZU~okF<7ahjS}bzwXxbAxFfQAk&O@>LsZMsZ`?N?|CDWM(vOm%B3CBPC3o z%2t@%H$fwur}SSnckUm0-k)mOtht`?nwsDz=2#v=RBPGg39i#%odKq{K^;bTD!6A9 zskz$}t)sU^=a#jLZP@I=bPo?f-L}wpMs{Tc!m7-bi!Ldqj3EA~V;4(dltJmTXqH0r z%HAWKGutEc9vOo3P6Q;JdC^YTnby->VZ6&X8f{obffZ??1(cm&L2h7q)*w**+sE6dG*;(H|_Q!WxU{g)CeoT z(KY&bv!Usc|m+Fqfmk;h&RNF|LWuNZ!+DdX*L=s-=_iH=@i` z?Z+Okq^cFO4}_n|G*!)Wl_i%qiMBaH8(WuXtgI7EO=M>=i_+;MDjf3aY~6S9w0K zUuDO7O5Ta6+k40~xh~)D{=L&?Y0?c$s9cw*Ufe18)zzk%#ZY>Tr^|e%8KPb0ht`b( zuP@8#Ox@nQIqz9}AbW0RzE`Cf>39bOWz5N3qzS}ocxI=o$W|(nD~@EhW13Rj5nAp; zu2obEJa=kGC*#3=MkdkWy_%RKcN=?g$7!AZ8vBYKr$ePY(8aIQ&yRPlQ=mudv#q$q z4%WzAx=B{i)UdLFx4os?rZp6poShD7Vc&mSD@RdBJ=_m^&OlkEE1DFU@csgKcBifJ zz4N7+XEJhYzzO=86 z#%eBQZ$Nsf2+X0XPHUNmg#(sNt^NW1Y0|M(${e<0kW6f2q5M!2YE|hSEQ*X-%qo(V zHaFwyGZ0on=I{=fhe<=zo{=Og-_(to3?cvL4m6PymtNsdDINsBh8m>a%!5o3s(en) z=1I z6O+YNertC|OFNqd6P=$gMyvmfa`w~p9*gKDESFqNBy(~Zw3TFDYh}$iudn)9HxPBi zdokK@o~nu?%imcURr5Y~?6oo_JBe}t|pU5qjai|#JDyG=i^V~7+a{dEnO<(y>ahND#_X_fcEBNiZ)uc&%1HVtx8Ts z*H_Btvx^IhkfOB#{szN*n6;y05A>3eARDXslaE>tnLa>+`V&cgho?ED+&vv5KJszf zG4@G;7i;4_bVvZ>!mli3j7~tPgybF5|J6=Lt`u$D%X0l}#iY9nOXH@(%FFJLtzb%p zzHfABnSs;v-9(&nzbZytLiqqDIWzn>JQDk#JULcE5CyPq_m#4QV!}3421haQ+LcfO*>r;rg6K|r#5Sh|y@h1ao%Cl)t*u`4 zMTP!deC?aL7uTxm5^nUv#q2vS-5QbBKP|drbDXS%erB>fYM84Kpk^au99-BQBZR z7CDynflrIAi&ahza+kUryju5LR_}-Z27g)jqOc(!Lx9y)e z{cYc&_r947s9pteaa4}dc|!$$N9+M38sUr7h(%@Ehq`4HJtTpA>B8CLNO__@%(F5d z`SmX5jbux6i#qc}xOhumzbAELh*Mfr2SW99=WNOZRZgoCU4A2|4i|ZVFQt6qEhH#B zK_9G;&h*LO6tB`5dXRSBF0hq0tk{2q__aCKXYkP#9n^)@cq}`&Lo)1KM{W+>5mSed zKp~=}$p7>~nK@va`vN{mYzWN1(tE=u2BZhga5(VtPKk(*TvE&zmn5vSbjo zZLVobTl%;t@6;4SsZ>5+U-XEGUZGG;+~|V(pE&qqrp_f~{_1h@5ZrNETqe{bt9ioZ z#Qn~gWCH!t#Ha^n&fT2?{`}D@s4?9kXj;E;lWV9Zw8_4yM0Qg-6YSsKgvQ*fF{#Pq z{=(nyV>#*`RloBVCs;Lp*R1PBIQOY=EK4CQa*BD0MsYcg=opP?8;xYQDSAJBeJpw5 zPBc_Ft9?;<0?pBhCmOtWU*pN*;CkjJ_}qVic`}V@$TwFi15!mF1*m2wVX+>5p%(+R zQ~JUW*zWkalde{90@2v+oVlkxOZFihE&ZJ){c?hX3L2@R7jk*xjYtHi=}qb+4B(XJ z$gYcNudR~4Kz_WRq8eS((>ALWCO)&R-MXE+YxDn9V#X{_H@j616<|P(8h(7z?q*r+ zmpqR#7+g$cT@e&(%_|ipI&A%9+47%30TLY(yuf&*knx1wNx|%*H^;YB%ftt%5>QM= z^i;*6_KTSRzQm%qz*>cK&EISvF^ovbS4|R%)zKhTH_2K>jP3mBGn5{95&G9^a#4|K zv+!>fIsR8z{^x4)FIr*cYT@Q4Z{y}};rLHL+atCgHbfX*;+k&37DIgENn&=k(*lKD zG;uL-KAdLn*JQ?@r6Q!0V$xXP=J2i~;_+i3|F;_En;oAMG|I-RX#FwnmU&G}w`7R{ z788CrR-g1DW4h_`&$Z`ctN~{A)Hv_-Bl!%+pfif8wN32rMD zJDs$eVWBYQx1&2sCdB0!vU5~uf)=vy*{}t{2VBpcz<+~h0wb7F3?V^44*&83Z2#F` z32!rd4>uc63rQP$3lTH3zb-47IGR}f)8kZ4JvX#toIpXH`L%NnPDE~$QI1)0)|HS4 zVcITo$$oWWwCN@E-5h>N?Hua!N9CYb6f8vTFd>h3q5Jg-lCI6y%vu{Z_Uf z$MU{{^o~;nD_@m2|E{J)q;|BK7rx%`m``+OqZAqAVj-Dy+pD4-S3xK?($>wn5bi90CFAQ+ACd;&m6DQB8_o zjAq^=eUYc1o{#+p+ zn;K<)Pn*4u742P!;H^E3^Qu%2dM{2slouc$AN_3V^M7H_KY3H)#n7qd5_p~Za7zAj|s9{l)RdbV9e||_67`#Tu*c<8!I=zb@ z(MSvQ9;Wrkq6d)!9afh+G`!f$Ip!F<4ADdc*OY-y7BZMsau%y?EN6*hW4mOF%Q~bw z2==Z3^~?q<1GTeS>xGN-?CHZ7a#M4kDL zQxQr~1ZMzCSKFK5+32C%+C1kE#(2L=15AR!er7GKbp?Xd1qkkGipx5Q~FI-6zt< z*PTpeVI)Ngnnyaz5noIIgNZtb4bQdKG{Bs~&tf)?nM$a;7>r36djllw%hQxeCXeW^ z(i6@TEIuxD<2ulwLTt|&gZP%Ei+l!(%p5Yij6U(H#HMkqM8U$@OKB|5@vUiuY^d6X zW}fP3;Kps6051OEO(|JzmVU6SX(8q>*yf*x5QoxDK={PH^F?!VCzES_Qs>()_y|jg6LJlJWp;L zKM*g5DK7>W_*uv}{0WUB0>MHZ#oJZmO!b3MjEc}VhsLD~;E-qNNd?x7Q6~v zR=0$u>Zc2Xr}>x_5$-s#l!oz6I>W?lw;m9Ae{Tf9eMX;TI-Wf_mZ6sVrMnY#F}cDd z%CV*}fDsXUF7Vbw>PuDaGhu631+3|{xp<@Kl|%WxU+vuLlcrklMC!Aq+7n~I3cmQ! z`e3cA!XUEGdEPSu``&lZEKD1IKO(-VGvcnSc153m(i!8ohi`)N2n>U_BemYJ`uY>8B*Epj!oXRLV}XK}>D*^DHQ7?NY*&LJ9VSo`Ogi9J zGa;clWI8vIQqkngv2>xKd91K>?0`Sw;E&TMg&6dcd20|FcTsnUT7Yn{oI5V4@Ow~m zz#k~8TM!A9L7T!|colrC0P2WKZW7PNj_X4MfESbt<-soq*0LzShZ}fyUx!(xIIDwx zRHt^_GAWe0-Vm~bDZ(}XG%E+`XhKpPlMBo*5q_z$BGxYef8O!ToS8aT8pmjbPq)nV z%x*PF5ZuSHRJqJ!`5<4xC*xb2vC?7u1iljB_*iUGl6+yPyjn?F?GOF2_KW&gOkJ?w z3e^qc-te;zez`H$rsUCE0<@7PKGW?7sT1SPYWId|FJ8H`uEdNu4YJjre`8F*D}6Wh z|FQ`xf7yiphHIAkU&OYCn}w^ilY@o4larl?^M7&8YI;hzBIsX|i3UrLsx{QDKwCX< zy;a>yjfJ6!sz`NcVi+a!Fqk^VE^{6G53L?@Tif|j!3QZ0fk9QeUq8CWI;OmO-Hs+F zuZ4sHLA3{}LR2Qlyo+{d@?;`tpp6YB^BMoJt?&MHFY!JQwoa0nTSD+#Ku^4b{5SZVFwU9<~APYbaLO zu~Z)nS#dxI-5lmS-Bnw!(u15by(80LlC@|ynj{TzW)XcspC*}z0~8VRZq>#Z49G`I zgl|C#H&=}n-ajxfo{=pxPV(L*7g}gHET9b*s=cGV7VFa<;Htgjk>KyW@S!|z`lR1( zGSYkEl&@-bZ*d2WQ~hw3NpP=YNHF^XC{TMG$Gn+{b6pZn+5=<()>C!N^jncl0w6BJ zdHdnmSEGK5BlMeZD!v4t5m7ct7{k~$1Ie3GLFoHjAH*b?++s<|=yTF+^I&jT#zuMx z)MLhU+;LFk8bse|_{j+d*a=&cm2}M?*arjBPnfPgLwv)86D$6L zLJ0wPul7IenMvVAK$z^q5<^!)7aI|<&GGEbOr=E;UmGOIa}yO~EIr5xWU_(ol$&fa zR5E(2vB?S3EvJglTXdU#@qfDbCYs#82Yo^aZN6`{Ex#M)easBTe_J8utXu(fY1j|R z9o(sQbj$bKU{IjyhosYahY{63>}$9_+hWxB3j}VQkJ@2$D@vpeRSldU?&7I;qd2MF zSYmJ>zA(@N_iK}m*AMPIJG#Y&1KR)6`LJ83qg~`Do3v^B0>fU&wUx(qefuTgzFED{sJ65!iw{F2}1fQ3= ziFIP{kezQxmlx-!yo+sC4PEtG#K=5VM9YIN0z9~c4XTX?*4e@m;hFM!zVo>A`#566 z>f&3g94lJ{r)QJ5m7Xe3SLau_lOpL;A($wsjHR`;xTXgIiZ#o&vt~ zGR6KdU$FFbLfZCC3AEu$b`tj!9XgOGLSV=QPIYW zjI!hSP#?8pn0@ezuenOzoka8!8~jXTbiJ6+ZuItsWW03uzASFyn*zV2kIgPFR$Yzm zE<$cZlF>R8?Nr2_i?KiripBc+TGgJvG@vRTY2o?(_Di}D30!k&CT`>+7ry2!!iC*X z<@=U0_C#16=PN7bB39w+zPwDOHX}h20Ap);dx}kjXX0-QkRk=cr};GYsjSvyLZa-t zzHONWddi*)RDUH@RTAsGB_#&O+QJaaL+H<<9LLSE+nB@eGF1fALwjVOl8X_sdOYme z0lk!X=S(@25=TZHR7LlPp}fY~yNeThMIjD}pd9+q=j<_inh0$>mIzWVY+Z9p<{D^#0Xk+b_@eNSiR8;KzSZ#7lUsk~NGMcB8C2c=m2l5paHPq`q{S(kdA7Z1a zyfk2Y;w?^t`?@yC5Pz9&pzo}Hc#}mLgDmhKV|PJ3lKOY(Km@Fi2AV~CuET*YfUi}u zfInZnqDX(<#vaS<^fszuR=l)AbqG{}9{rnyx?PbZz3Pyu!eSJK`uwkJU!ORQXy4x83r!PNgOyD33}}L=>xX_93l6njNTuqL8J{l%*3FVn3MG4&Fv*`lBXZ z?=;kn6HTT^#SrPX-N)4EZiIZI!0ByXTWy;;J-Tht{jq1mjh`DSy7yGjHxIaY%*sTx zuy9#9CqE#qi>1misx=KRWm=qx4rk|}vd+LMY3M`ow8)}m$3Ggv&)Ri*ON+}<^P%T5 z_7JPVPfdM=Pv-oH<tecoE}(0O7|YZc*d8`Uv_M*3Rzv7$yZnJE6N_W=AQ3_BgU_TjA_T?a)U1csCmJ&YqMp-lJe`y6>N zt++Bi;ZMOD%%1c&-Q;bKsYg!SmS^#J@8UFY|G3!rtyaTFb!5@e(@l?1t(87ln8rG? z--$1)YC~vWnXiW3GXm`FNSyzu!m$qT=Eldf$sMl#PEfGmzQs^oUd=GIQfj(X=}dw+ zT*oa0*oS%@cLgvB&PKIQ=Ok?>x#c#dC#sQifgMwtAG^l3D9nIg(Zqi;D%807TtUUCL3_;kjyte#cAg?S%e4S2W>9^A(uy8Ss0Tc++ZTjJw1 z&Em2g!3lo@LlDyri(P^I8BPpn$RE7n*q9Q-c^>rfOMM6Pd5671I=ZBjAvpj8oIi$! zl0exNl(>NIiQpX~FRS9UgK|0l#s@#)p4?^?XAz}Gjb1?4Qe4?j&cL$C8u}n)?A@YC zfmbSM`Hl5pQFwv$CQBF=_$Sq zxsV?BHI5bGZTk?B6B&KLdIN-40S426X3j_|ceLla*M3}3gx3(_7MVY1++4mzhH#7# zD>2gTHy*%i$~}mqc#gK83288SKp@y3wz1L_e8fF$Rb}ex+`(h)j}%~Ld^3DUZkgez zOUNy^%>>HHE|-y$V@B}-M|_{h!vXpk01xaD%{l{oQ|~+^>rR*rv9iQen5t?{BHg|% zR`;S|KtUb!X<22RTBA4AAUM6#M?=w5VY-hEV)b`!y1^mPNEoy2K)a>OyA?Q~Q*&(O zRzQI~y_W=IPi?-OJX*&&8dvY0zWM2%yXdFI!D-n@6FsG)pEYdJbuA`g4yy;qrgR?G z8Mj7gv1oiWq)+_$GqqQ$(ZM@#|0j7})=#$S&hZwdoijFI4aCFLVI3tMH5fLreZ;KD zqA`)0l~D2tuIBYOy+LGw&hJ5OyE+@cnZ0L5+;yo2pIMdt@4$r^5Y!x7nHs{@>|W(MzJjATyWGNwZ^4j+EPU0RpAl-oTM@u{lx*i0^yyWPfHt6QwPvYpk9xFMWfBFt!+Gu6TlAmr zeQ#PX71vzN*_-xh&__N`IXv6`>CgV#eA_%e@7wjgkj8jlKzO~Ic6g$cT`^W{R{606 zCDP~+NVZ6DMO$jhL~#+!g*$T!XW63#(ngDn#Qwy71yj^gazS{e;3jGRM0HedGD@pt z?(ln3pCUA(ekqAvvnKy0G@?-|-dh=eS%4Civ&c}s%wF@0K5Bltaq^2Os1n6Z3%?-Q zAlC4goQ&vK6TpgtzkHVt*1!tBYt-`|5HLV1V7*#45Vb+GACuU+QB&hZ=N_flPy0TY zR^HIrdskB#<$aU;HY(K{a3(OQa$0<9qH(oa)lg@Uf>M5g2W0U5 zk!JSlhrw8quBx9A>RJ6}=;W&wt@2E$7J=9SVHsdC?K(L(KACb#z)@C$xXD8^!7|uv zZh$6fkq)aoD}^79VqdJ!Nz-8$IrU(_-&^cHBI;4 z^$B+1aPe|LG)C55LjP;jab{dTf$0~xbXS9!!QdcmDYLbL^jvxu2y*qnx2%jbL%rB z{aP85qBJe#(&O~Prk%IJARcdEypZ)vah%ZZ%;Zk{eW(U)Bx7VlzgOi8)x z`rh4l`@l_Ada7z&yUK>ZF;i6YLGwI*Sg#Fk#Qr0Jg&VLax(nNN$u-XJ5=MsP3|(lEdIOJ7|(x3iY;ea)5#BW*mDV%^=8qOeYO&gIdJVuLLN3cFaN=xZtFB=b zH{l)PZl_j^u+qx@89}gAQW7ofb+k)QwX=aegihossZq*+@PlCpb$rpp>Cbk9UJO<~ zDjlXQ_Ig#W0zdD3&*ei(FwlN#3b%FSR%&M^ywF@Fr>d~do@-kIS$e%wkIVfJ|Ohh=zc zF&Rnic^|>@R%v?@jO}a9;nY3Qrg_!xC=ZWUcYiA5R+|2nsM*$+c$TOs6pm!}Z}dfM zGeBhMGWw3$6KZXav^>YNA=r6Es>p<6HRYcZY)z{>yasbC81A*G-le8~QoV;rtKnkx z;+os8BvEe?0A6W*a#dOudsv3aWs?d% z0oNngyVMjavLjtjiG`!007#?62ClTqqU$@kIY`=x^$2e>iqIy1>o|@Tw@)P)B8_1$r#6>DB_5 zmaOaoE~^9TolgDgooKFuEFB#klSF%9-~d2~_|kQ0Y{Ek=HH5yq9s zDq#1S551c`kSiWPZbweN^A4kWiP#Qg6er1}HcKv{fxb1*BULboD0fwfaNM_<55>qM zETZ8TJDO4V)=aPp_eQjX%||Ud<>wkIzvDlpNjqW>I}W!-j7M^TNe5JIFh#-}zAV!$ICOju8Kx)N z0vLtzDdy*rQN!7r>Xz7rLw8J-(GzQlYYVH$WK#F`i_i^qVlzTNAh>gBWKV@XC$T-` z3|kj#iCquDhiO7NKum07i|<-NuVsX}Q}mIP$jBJDMfUiaWR3c|F_kWBMw0_Sr|6h4 zk`_r5=0&rCR^*tOy$A8K;@|NqwncjZ>Y-75vlpxq%Cl3EgH`}^^~=u zoll6xxY@a>0f%Ddpi;=cY}fyG!K2N-dEyXXmUP5u){4VnyS^T4?pjN@Ot4zjL(Puw z_U#wMH2Z#8Pts{olG5Dy0tZj;N@;fHheu>YKYQU=4Bk|wcD9MbA`3O4bj$hNRHwzb zSLcG0SLV%zywdbuwl(^E_!@&)TdXge4O{MRWk2RKOt@!8E{$BU-AH(@4{gxs=YAz9LIob|Hzto0}9cWoz6Tp2x0&xi#$ zHh$dwO&UCR1Ob2w00-2eG7d4=cN(Y>0R#$q8?||q@iTi+7-w-xR%uMr&StFIthC<# zvK(aPduwuNB}oJUV8+Zl)%cnfsHI%4`;x6XW^UF^e4s3Z@S<&EV8?56Wya;HNs0E> z`$0dgRdiUz9RO9Au3RmYq>K#G=X%*_dUbSJHP`lSfBaN8t-~@F>)BL1RT*9I851A3 z<-+Gb#_QRX>~av#Ni<#zLswtu-c6{jGHR>wflhKLzC4P@b%8&~u)fosoNjk4r#GvC zlU#UU9&0Hv;d%g72Wq?Ym<&&vtA3AB##L}=ZjiTR4hh7J)e>ei} zt*u+>h%MwN`%3}b4wYpV=QwbY!jwfIj#{me)TDOG`?tI!%l=AwL2G@9I~}?_dA5g6 zCKgK(;6Q0&P&K21Tx~k=o6jwV{dI_G+Ba*Zts|Tl6q1zeC?iYJTb{hel*x>^wb|2RkHkU$!+S4OU4ZOKPZjV>9OVsqNnv5jK8TRAE$A&^yRwK zj-MJ3Pl?)KA~fq#*K~W0l4$0=8GRx^9+?w z!QT8*-)w|S^B0)ZeY5gZPI2G(QtQf?DjuK(s^$rMA!C%P22vynZY4SuOE=wX2f8$R z)A}mzJi4WJnZ`!bHG1=$lwaxm!GOnRbR15F$nRC-M*H<*VfF|pQw(;tbSfp({>9^5 zw_M1-SJ9eGF~m(0dvp*P8uaA0Yw+EkP-SWqu zqal$hK8SmM7#Mrs0@OD+%_J%H*bMyZiWAZdsIBj#lkZ!l2c&IpLu(5^T0Ge5PHzR} zn;TXs$+IQ_&;O~u=Jz+XE0wbOy`=6>m9JVG} zJ~Kp1e5m?K3x@@>!D)piw^eMIHjD4RebtR`|IlckplP1;r21wTi8v((KqNqn%2CB< zifaQc&T}*M&0i|LW^LgdjIaX|o~I$`owHolRqeH_CFrqCUCleN130&vH}dK|^kC>) z-r2P~mApHotL4dRX$25lIcRh_*kJaxi^%ZN5-GAAMOxfB!6flLPY-p&QzL9TE%ho( zRwftE3sy5<*^)qYzKkL|rE>n@hyr;xPqncY6QJ8125!MWr`UCWuC~A#G1AqF1@V$kv>@NBvN&2ygy*{QvxolkRRb%Ui zsmKROR%{*g*WjUUod@@cS^4eF^}yQ1>;WlGwOli z+Y$(8I`0(^d|w>{eaf!_BBM;NpCoeem2>J}82*!em=}}ymoXk>QEfJ>G(3LNA2-46 z5PGvjr)Xh9>aSe>vEzM*>xp{tJyZox1ZRl}QjcvX2TEgNc^(_-hir@Es>NySoa1g^ zFow_twnHdx(j?Q_3q51t3XI7YlJ4_q&(0#)&a+RUy{IcBq?)eaWo*=H2UUVIqtp&lW9JTJiP&u zw8+4vo~_IJXZIJb_U^&=GI1nSD%e;P!c{kZALNCm5c%%oF+I3DrA63_@4)(v4(t~JiddILp7jmoy+>cD~ivwoctFfEL zP*#2Rx?_&bCpX26MBgp^4G>@h`Hxc(lnqyj!*t>9sOBcXN(hTwEDpn^X{x!!gPX?1 z*uM$}cYRwHXuf+gYTB}gDTcw{TXSOUU$S?8BeP&sc!Lc{{pEv}x#ELX>6*ipI1#>8 zKes$bHjiJ1OygZge_ak^Hz#k;=od1wZ=o71ba7oClBMq>Uk6hVq|ePPt)@FM5bW$I z;d2Or@wBjbTyZj|;+iHp%Bo!Vy(X3YM-}lasMItEV_QrP-Kk_J4C>)L&I3Xxj=E?| zsAF(IfVQ4w+dRRnJ>)}o^3_012YYgFWE)5TT=l2657*L8_u1KC>Y-R{7w^S&A^X^U}h20jpS zQsdeaA#WIE*<8KG*oXc~$izYilTc#z{5xhpXmdT-YUnGh9v4c#lrHG6X82F2-t35} zB`jo$HjKe~E*W$=g|j&P>70_cI`GnOQ;Jp*JK#CT zuEGCn{8A@bC)~0%wsEv?O^hSZF*iqjO~_h|>xv>PO+?525Nw2472(yqS>(#R)D7O( zg)Zrj9n9$}=~b00=Wjf?E418qP-@8%MQ%PBiCTX=$B)e5cHFDu$LnOeJ~NC;xmOk# z>z&TbsK>Qzk)!88lNI8fOE2$Uxso^j*1fz>6Ot49y@=po)j4hbTIcVR`ePHpuJSfp zxaD^Dn3X}Na3@<_Pc>a;-|^Pon(>|ytG_+U^8j_JxP=_d>L$Hj?|0lz>_qQ#a|$+( z(x=Lipuc8p4^}1EQhI|TubffZvB~lu$zz9ao%T?%ZLyV5S9}cLeT?c} z>yCN9<04NRi~1oR)CiBakoNhY9BPnv)kw%*iv8vdr&&VgLGIs(-FbJ?d_gfbL2={- zBk4lkdPk~7+jIxd4{M(-W1AC_WcN&Oza@jZoj zaE*9Y;g83#m(OhA!w~LNfUJNUuRz*H-=$s*z+q+;snKPRm9EptejugC-@7-a-}Tz0 z@KHra#Y@OXK+KsaSN9WiGf?&jlZ!V7L||%KHP;SLksMFfjkeIMf<1e~t?!G3{n)H8 zQAlFY#QwfKuj;l@<$YDATAk;%PtD%B(0<|8>rXU< zJ66rkAVW_~Dj!7JGdGGi4NFuE?7ZafdMxIh65Sz7yQoA7fBZCE@WwysB=+`kT^LFX zz8#FlSA5)6FG9(qL3~A24mpzL@@2D#>0J7mMS1T*9UJ zvOq!!a(%IYY69+h45CE?(&v9H4FCr>gK0>mK~F}5RdOuH2{4|}k@5XpsX7+LZo^Qa4sH5`eUj>iffoBVm+ zz4Mtf`h?NW$*q1yr|}E&eNl)J``SZvTf6Qr*&S%tVv_OBpbjnA0&Vz#(;QmGiq-k! zgS0br4I&+^2mgA15*~Cd00cXLYOLA#Ep}_)eED>m+K@JTPr_|lSN}(OzFXQSBc6fM z@f-%2;1@BzhZa*LFV z-LrLmkmB%<<&jEURBEW>soaZ*rSIJNwaV%-RSaCZi4X)qYy^PxZ=oL?6N-5OGOMD2 z;q_JK?zkwQ@b3~ln&sDtT5SpW9a0q+5Gm|fpVY2|zqlNYBR}E5+ahgdj!CvK$Tlk0 z9g$5N;aar=CqMsudQV>yb4l@hN(9Jcc=1(|OHsqH6|g=K-WBd8GxZ`AkT?OO z-z_Ued-??Z*R4~L7jwJ%-`s~FK|qNAJ;EmIVDVpk{Lr7T4l{}vL)|GuUuswe9c5F| zv*5%u01hlv08?00Vpwyk*Q&&fY8k6MjOfpZfKa@F-^6d=Zv|0@&4_544RP5(s|4VPVP-f>%u(J@23BHqo2=zJ#v9g=F!cP((h zpt0|(s++ej?|$;2PE%+kc6JMmJjDW)3BXvBK!h!E`8Y&*7hS{c_Z?4SFP&Y<3evqf z9-ke+bSj$%Pk{CJlJbWwlBg^mEC^@%Ou?o>*|O)rl&`KIbHrjcpqsc$Zqt0^^F-gU2O=BusO+(Op}!jNzLMc zT;0YT%$@ClS%V+6lMTfhuzzxomoat=1H?1$5Ei7&M|gxo`~{UiV5w64Np6xV zVK^nL$)#^tjhCpTQMspXI({TW^U5h&Wi1Jl8g?P1YCV4=%ZYyjSo#5$SX&`r&1PyC zzc;uzCd)VTIih|8eNqFNeBMe#j_FS6rq81b>5?aXg+E#&$m++Gz9<+2)h=K(xtn}F ziV{rmu+Y>A)qvF}ms}4X^Isy!M&1%$E!rTO~5(p+8{U6#hWu>(Ll1}eD64Xa>~73A*538wry?v$vW z>^O#FRdbj(k0Nr&)U`Tl(4PI*%IV~;ZcI2z&rmq=(k^}zGOYZF3b2~Klpzd2eZJl> zB=MOLwI1{$RxQ7Y4e30&yOx?BvAvDkTBvWPpl4V8B7o>4SJn*+h1Ms&fHso%XLN5j z-zEwT%dTefp~)J_C8;Q6i$t!dnlh-!%haR1X_NuYUuP-)`IGWjwzAvp!9@h`kPZhf zwLwFk{m3arCdx8rD~K2`42mIN4}m%OQ|f)4kf%pL?Af5Ul<3M2fv>;nlhEPR8b)u} zIV*2-wyyD%%) zl$G@KrC#cUwoL?YdQyf9WH)@gWB{jd5w4evI& zOFF)p_D8>;3-N1z6mES!OPe>B^<;9xsh)){Cw$Vs-ez5nXS95NOr3s$IU;>VZSzKn zBvub8_J~I%(DozZW@{)Vp37-zevxMRZ8$8iRfwHmYvyjOxIOAF2FUngKj289!(uxY zaClWm!%x&teKmr^ABrvZ(ikx{{I-lEzw5&4t3P0eX%M~>$wG0ZjA4Mb&op+0$#SO_ z--R`>X!aqFu^F|a!{Up-iF(K+alKB{MNMs>e(i@Tpy+7Z-dK%IEjQFO(G+2mOb@BO zP>WHlS#fSQm0et)bG8^ZDScGnh-qRKIFz zfUdnk=m){ej0i(VBd@RLtRq3Ep=>&2zZ2%&vvf?Iex01hx1X!8U+?>ER;yJlR-2q4 z;Y@hzhEC=d+Le%=esE>OQ!Q|E%6yG3V_2*uh&_nguPcZ{q?DNq8h_2ahaP6=pP-+x zK!(ve(yfoYC+n(_+chiJ6N(ZaN+XSZ{|H{TR1J_s8x4jpis-Z-rlRvRK#U%SMJ(`C z?T2 zF(NNfO_&W%2roEC2j#v*(nRgl1X)V-USp-H|CwFNs?n@&vpRcj@W@xCJwR6@T!jt377?XjZ06=`d*MFyTdyvW!`mQm~t3luzYzvh^F zM|V}rO>IlBjZc}9Z zd$&!tthvr>5)m;5;96LWiAV0?t)7suqdh0cZis`^Pyg@?t>Ms~7{nCU;z`Xl+raSr zXpp=W1oHB*98s!Tpw=R5C)O{{Inl>9l7M*kq%#w9a$6N~v?BY2GKOVRkXYCgg*d

    <5G2M1WZP5 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 F{|7XC?P&l2 literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..b359875 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Wed Apr 01 16:04:55 CEST 2020 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..cccdd3d --- /dev/null +++ b/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..e95643d --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/keystore.properties b/keystore.properties new file mode 100644 index 0000000..3f43378 --- /dev/null +++ b/keystore.properties @@ -0,0 +1,4 @@ +signing.store.password=revolut +signing.key.password=revolut +signing.key.alias=Libbra +signing.store.file=keystore/release.jks diff --git a/keystore/release.jks b/keystore/release.jks new file mode 100644 index 0000000000000000000000000000000000000000..b8ba9a9c106c4615e158f3e2993cc70dedb89fe8 GIT binary patch literal 2187 zcmcJP`8N~_8^>p7Ml+VN@9V1}jD4vYMWPs6XppY4WH*u}yBS3!Tb4wUa8W2*WxHr( zU(=Y7>|EI@#?E!`dEayHKk%OCe1G^n=Q-y&&-Z!GbF_N23IG5=Cj$N>n74tL)?wUC ze7Q4J&}$<#oRI+0<8VNMinv32;9E8LCDkFU0BXSn*X^L7_SEt@Y9`p=>tc3DR@J$F zO1~2EjbkRcS?8WH6Zv`iMc{OZAO?CWOEwer8@<-Pvx=&2g3>F)ZNATnAbYb8btP{E z$!|w**o^B>+=(oXs~|MO$~A7-Zk0+HZyFt2#eMI&@`%urG85f6E6DLA=BYT4^;2`W zr*iX=hgr7Sb(#LWv}_Z}H;2;M&Ufk#kd5Y!(e;>a)`|RuNx)ChFFzL-gXHp5+P87} z&J;Uc+oo$4IdRb)ZqKc^&L)Vx=j5zfX(5@NN27gIBuL*QG5N` zdmLz=7*%!?%?`B*L>6BCL~xp2stlCI9kJig7~24U$jo(0T8bUL9#i8rInAmzjjCd; z@fUbY(H9|PE95?!7}j|>fv1;7(!C6^6<`P?$?MhYWP+~y=$tsfZ+`pM4F3DYT4F6Dh2-w9g6kcq)jM{WiKz?jwJSWGy|&|W!Fed67fBso zJN6d4EAd@f$ZoU^_d1Bnl|@);!+k*8?mYdymXpnfs&AXH6;ed^9?m|sHDn^Y#K71} zB2~ajbM1k{O8nzSM;-jwdCbe~&F!y<9FrUvVwA?1if>?Q;JX6q;dGZp%_(~7IEIO} z?lV_8we8zPC+2@qSl#kd^^ZUEG5J+vxZKo8PYI*t2~DAa!$sh&Hn*Cd`cEDSPDlD2 zyh$#UIiHvePZy5jDx)zXyox;w<%ZdH%D%@h4NDN)AL5;j7q@h)UrlllRpWpLgLd!H8wrLe>&RPEyl@up?>f>wE6ELnuE+rVq)D|5ti#rByoLN3{cfBkHvo)s8>-^IXq5S?>^aj|xl$ zCntO~b6-H;WL`Qn)|V!^N%|m*iU3+S{*z-iIXlNFid#%MpGC87N*;_~Gx`=8EWi~7v2DXO4(4dP3%A8pCzkvnK zYDDt&B?r0sD+^%-{!X!>xd>z@4{ulT3x0my9?qly53=w7>cMDM(?EA|W3n>|E6Rsd z!D7|0sw%4LCt=5jR8v0zt^eZxp(7P2`R}n#o<5igWCviWKm>>i1OhTb@ei3^bVGj? zH%iuwe~D_9S6`vvnL$H~_1F9;4{*w6xklgo)Zy%_5)J2a;&`D?BQktHx}GBS)`iej z-L1Grc{q|xvC&d~sfjx%`G_=QEPFkDSdgIfrRA0SP%O|NuBCQwENv=7m*;lWr#}NQ z0&O;_x~mD_$bCPLFI0DG&xf787I&U6vu>^;mkvxBUW`xm+la#WC03-H2@q`l2oU;$jK%} zP!L`SH)3y46$Y-Ytg=jWL}{Aq?6xOX|J%fq+c+^12)G9O6Mkr^%rPf!JFqtY1bT2C zcS&RP2B$@OsN!%pPk?Mq+o&CF<}uK{N|ny?*y(FfGI6!2kBA2e#2GLJp$=AOM@Rae z1+9-+i8agB={z__LXtOsq+0w2 zcIaLM|7u&oy9VnPhe&k>ksxK>ZMC%PB9fXms#TZosotQcRE}!G)yGL6?<4N(A9b_p zQ5g6Eq5dWWEKcJBM + get() = listOf(TimberLogDetector.ISSUE) +} diff --git a/rules/src/main/kotlin/io/github/nuhkoca/rules/TimberLogDetector.kt b/rules/src/main/kotlin/io/github/nuhkoca/rules/TimberLogDetector.kt new file mode 100644 index 0000000..4481e5b --- /dev/null +++ b/rules/src/main/kotlin/io/github/nuhkoca/rules/TimberLogDetector.kt @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.rules + +import com.android.tools.lint.detector.api.Category +import com.android.tools.lint.detector.api.Detector +import com.android.tools.lint.detector.api.Implementation +import com.android.tools.lint.detector.api.Issue +import com.android.tools.lint.detector.api.JavaContext +import com.android.tools.lint.detector.api.Scope +import com.android.tools.lint.detector.api.Severity +import com.android.tools.lint.detector.api.SourceCodeScanner +import com.intellij.psi.PsiMethod +import org.jetbrains.uast.UCallExpression + +/** + * The detector which is able to find incorrect log calls for Timber. + */ +@Suppress("UnstableApiUsage") +class TimberLogDetector : Detector(), SourceCodeScanner { + + override fun getApplicableMethodNames(): List = listOf("v", "d", "i", "w", "e", "wtf") + + override fun visitMethodCall(context: JavaContext, node: UCallExpression, method: PsiMethod) { + super.visitMethodCall(context, node, method) + val evaluator = context.evaluator + if (evaluator.isMemberInClass(method, "timber.log.Timber")) { + reportUsage(context, node) + } + } + + /** + * Reports incorrect usage about directly call of Timber. + * + * @param context The [JavaContext] + * @param node The node represents a call expression + */ + private fun reportUsage(context: JavaContext, node: UCallExpression) { + context.report( + issue = ISSUE, + scope = node, + location = context.getCallLocation( + call = node, + includeReceiver = true, + includeArguments = true + ), + message = "Directly calling timber.log.Timber usage is not recommended." + ) + } + + companion object { + private val IMPLEMENTATION = Implementation( + TimberLogDetector::class.java, + Scope.JAVA_FILE_SCOPE + ) + + val ISSUE: Issue = Issue + .create( + id = "TimberLogDetector", + briefDescription = "The Timber should not be called directly", + explanation = """ + Timber should not be called directly. Use the extension functions instead. + """.trimIndent(), + category = Category.CORRECTNESS, + priority = 9, + severity = Severity.WARNING, + androidSpecific = true, + implementation = IMPLEMENTATION + ) + } +} diff --git a/rules/src/main/resources/META-INF/services/com.android.tools.lint.client.api.IssueRegistry b/rules/src/main/resources/META-INF/services/com.android.tools.lint.client.api.IssueRegistry new file mode 100644 index 0000000..be25a55 --- /dev/null +++ b/rules/src/main/resources/META-INF/services/com.android.tools.lint.client.api.IssueRegistry @@ -0,0 +1 @@ +io.github.nuhkoca.rules.IssueRegistry \ No newline at end of file diff --git a/rules/src/test/kotlin/io/github/nuhkoca/rules/Stubs.kt b/rules/src/test/kotlin/io/github/nuhkoca/rules/Stubs.kt new file mode 100644 index 0000000..9d7aa91 --- /dev/null +++ b/rules/src/test/kotlin/io/github/nuhkoca/rules/Stubs.kt @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.rules + +import com.android.tools.lint.checks.infrastructure.LintDetectorTest.java +import com.android.tools.lint.checks.infrastructure.TestFile +import com.android.tools.lint.checks.infrastructure.TestFiles.kotlin + +/** + * A helper class that contains necessary stubs to test lints. + */ +object Stubs { + + /** + * [TestFile] containing Timber. + * + * This is a hacky workaround for the Timber not being included on the Lint test harness + * classpath. Ideally, we'd specify ANDROID_HOME as an environment variable. + */ + val TIMBER_LOG_IMPL_JAVA: TestFile = java( + """ + package timber.log; + + public final class Timber { + public static void d(@NonNls String message, Object... args) { + // Stub! + } + } + """ + ).indented() + + val CUSTOM_LOG_IMPL_KOTLIN: TestFile = kotlin( + """ + package io.github.nuhkoca.libbra.util.ext + + inline fun d(crossinline message: () -> String) = log { Timber.d(message()) } + """.trimIndent() + ) +} diff --git a/rules/src/test/kotlin/io/github/nuhkoca/rules/TimberLogDetectorTest.kt b/rules/src/test/kotlin/io/github/nuhkoca/rules/TimberLogDetectorTest.kt new file mode 100644 index 0000000..68774d6 --- /dev/null +++ b/rules/src/test/kotlin/io/github/nuhkoca/rules/TimberLogDetectorTest.kt @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.rules + +import com.android.tools.lint.checks.infrastructure.LintDetectorTest +import com.android.tools.lint.detector.api.Detector +import com.android.tools.lint.detector.api.Issue +import io.github.nuhkoca.rules.Stubs.CUSTOM_LOG_IMPL_KOTLIN +import io.github.nuhkoca.rules.Stubs.TIMBER_LOG_IMPL_JAVA +import org.junit.Test + +/** + * A test class for [TimberLogDetector] + */ +@Suppress("UnstableApiUsage") +class TimberLogDetectorTest : LintDetectorTest() { + + @Test + fun `test should detect usage of Timber`() { + val stubFile = kotlin( + """ + package io.github.nuhkoca.libbra + + import timber.log.Timber + + class Dog { + + fun bark() { + Timber.d("woof! woof!") + } + } + """ + ).indented() + + val lintResult = lint() + .files(TIMBER_LOG_IMPL_JAVA, stubFile) + .run() + + lintResult + .expectWarningCount(1) + .expect( + """ + src/io/github/nuhkoca/libbra/Dog.kt:8: Warning: Directly calling timber.log.Timber usage is not recommended. [TimberLogDetector] + Timber.d("woof! woof!") + ~~~~~~~~~~~~~~~~~~~~~~~ + 0 errors, 1 warnings + """.trimIndent() + ) + } + + @Test + fun `test should not detect if log import is different`() { + val fileToEvaluate = kotlin( + """ + package io.github.nuhkoca.libbra + + import io.github.nuhkoca.libbra.util.ext.d + + class Dog { + fun bark() { + d { "woof! woof!" } + } + } + """ + ).indented() + + val lintResult = lint() + .files(CUSTOM_LOG_IMPL_KOTLIN, fileToEvaluate) + .run() + + lintResult + .expectClean() + } + + override fun getDetector(): Detector = TimberLogDetector() + + override fun getIssues(): MutableList = mutableListOf(TimberLogDetector.ISSUE) +} diff --git a/rules/src/test/kotlin/io/github/nuhkoca/rules/UnitTestSuite.kt b/rules/src/test/kotlin/io/github/nuhkoca/rules/UnitTestSuite.kt new file mode 100644 index 0000000..e7d7866 --- /dev/null +++ b/rules/src/test/kotlin/io/github/nuhkoca/rules/UnitTestSuite.kt @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.github.nuhkoca.rules + +import org.junit.runner.RunWith +import org.junit.runners.Suite + +/** + * A unit test suite to execute all the test classes under this module. + */ +@RunWith(Suite::class) +@Suite.SuiteClasses( + TimberLogDetectorTest::class +) +object UnitTestSuite diff --git a/scripts/git-hooks/pre-commit.sh b/scripts/git-hooks/pre-commit.sh new file mode 100644 index 0000000..03196e9 --- /dev/null +++ b/scripts/git-hooks/pre-commit.sh @@ -0,0 +1,23 @@ +#!/bin/sh +echo "Running static analysis..." + +JAVA_HOME=$(/usr/libexec/java_home -v 1.8) +export JAVA_HOME + +OUTPUT="/tmp/analysis-result" +./gradlew lintDebug detekt ktlintCheck spotlessApply --daemon >${OUTPUT} +EXIT_CODE=$? +if [ ${EXIT_CODE} -ne 0 ]; then + cat ${OUTPUT} + rm ${OUTPUT} + echo "*********************************************" + echo " Static Analysis Failed " + echo "Please fix the above issues before committing" + echo "*********************************************" + exit ${EXIT_CODE} +else + rm ${OUTPUT} + echo "*********************************************" + echo " Static analysis no problems found " + echo "*********************************************" +fi diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..fcbdef6 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +plugins { + @Suppress("UnstableApiUsage") + `gradle-enterprise` +} + +gradleEnterprise { + buildScan { + termsOfServiceUrl = "https://gradle.com/terms-of-service" + termsOfServiceAgree = "yes" + } +} + +include(":app", ":rules") + +rootProject.name = "Libbra" +rootProject.buildFileName = "build.gradle.kts" diff --git a/spotless/copyright.java b/spotless/copyright.java new file mode 100644 index 0000000..e984cbd --- /dev/null +++ b/spotless/copyright.java @@ -0,0 +1,15 @@ +/* + * Copyright (C) $YEAR. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ diff --git a/spotless/copyright.kt b/spotless/copyright.kt new file mode 100644 index 0000000..e984cbd --- /dev/null +++ b/spotless/copyright.kt @@ -0,0 +1,15 @@ +/* + * Copyright (C) $YEAR. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ diff --git a/versions.gradle.kts b/versions.gradle.kts new file mode 100644 index 0000000..7728b9e --- /dev/null +++ b/versions.gradle.kts @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2020. Nuh Koca. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +val compileSdkVersion: String by project +val minSdkVersion: String by project +val targetSdkVersion: String by project + +extra.apply { + this["compileSdkVersion"] = compileSdkVersion.toInt() + this["minSdkVersion"] = minSdkVersion.toInt() + this["targetSdkVersion"] = targetSdkVersion.toInt() +}

  • Z?7!Epta&A!MG8uJhx?_>{@atx%$F#h%-UoK|jr#d?w?+qu}=`h%f* zji_ck^$!vB6-y97!#BuZQBO2VS`D4ir(~g@cqQsHM@PX3JuB?y!|uBbG`LQ{(8cP_ zSwQD4&Zq7x-Hej9>(;a&g;d2fkYYSY=Us`k9dESd*S;}f2UAAxTc1|iBDN%{g^ut_ zF1g%olFTMguW$m%osQ)!AEdkaE2adgSS!SAK~9u{lOkJo6Ant?WWjXK4^Y3c$!TOe z1xoS-u&S)^nZvtUb%O0R5jYd}ralBOQ`F$>Y}#WRAwpz$x@UOd0D~VvT}h4d7683v z#y&RmQ{m(Pr224w_r*w?OB}C2AG#Pr+hJeYmsrHG*f-of3VQh+`Er(-84vTEC}W{z zFutJSsumSjQlaB?tce*5DtJ+$)B3xB=fxyTJiw$kUU|_kdr;G<-7(X|+o2Z8*!3u> zUsXmB+tPM?bS+ z7(A0iJU-o89oxus$)(9&U9DOTQkrcf*8@hz0K}fTSU|g=!_2q>ApfUNQ6SIUZu`8# z&HkDKBZ?OfYQ#tL#h%ov8@_2~5tSK?dWfzR^ya`iXSRjuWh)8lxdwghh0zHoJuLs2 zz{pDz?0$tf^xfe7K~T^i^+{(#B%|4E(bfr{#k0Mp)h>anT5>#Kv*>6H zw_8^wJSu&3&qn&QC+UDlGt8q!Q3bG}ucLu!pK)>bT(8-G=Q`gLBdmQwmY-|F1^(5O zdYT1}q26W`n0u0uQX5J5KWE`d@_?;epJiFV8zTffGn&pDtQ_KZVK~uQ12T_LVJ*GZn6MazchMpJdDQ z);Ips`;<$h@Bq^iL69B>AY%*A4%5F9Vmf*2w~YsAl>nb%=w6J-_mR`#SHfTqQ-o01 zR_!MxJGehg9#)hZ-3)h@b8d4mO@tLgU0ZBujWJB*11M}RgAlI2Sw{AtR+@ftH)cGO z8A3Cdph$@C=A+S3X0o}VU;(9yt?c+_wK7>rRzv2IV?Q@l|9rZmB-6lhC$HBIyU?7a zlDBJmEHMTg$)t4beZYz`pn%l$!k$^LzUgJ}R;hD5<~q~uaMtDNQ@+PN4T$m0c!P_y z;_UfYl0xQ%D+Qa%-X>{;KAv@+s(+CU-SS7_ql_;&stw{MMj1OKMU*c4FD0AfotDN0 z;6O@Ui|HPk46Z7f!1WsH#E~)M)t@Dn1MGoWm2h8STu%Mq=1z*9DfQ;uL0rbK-fWMJbS3Pu*-JQlcPKXC?U67IFfgkXd1=x`5A z?OI~jh-$kj8vTcwo%I9r4l?sH*#iEEbfQWhsFwQr_GhyOGd!f|?9o}2mr296yp-{2 z!l-Um9$8u8wx-ZE@MreP(7~sL# zg#QuVWm=EJT4RasT1My9sDp8LZ2=@fTHag3`QhD$`o8>aHeI`?^-OxJlaa6%h_$iI zJIG=>yq2X0@Rb_O$Cm1n_&JDUH1L(fg_G*<7B|d#0+A6yV&(YRNKA6<2@f=Z8(h`g zjm=LH8rjcy9?79qD5PcW)|`eT z{kf^%BmV9IK`PH=WR~OEb0;W?z2zqkv2rI9MlBc&FQB6zSFMx7i|7tsWVI9Xc2bgw zF)#{MbBN)Eb@6rd<0{(!QrL~)$>nz!16~mj+y(jVSJ3a7i!8PbQF-tKS)JC%W73-g zw`&?H7^_u*_t9Tq1#N!w1BMzEhWzREP#__Fma2V8%KDQ;IU*X{;Pi5w*vYiXW36b$ z7D1*?SDC03+nR^>zq*as9?V^Jsu8oV)|nAK^!cqq4bn|o->aIT6QYB;=!*GEhwe;% zo$B>Se_S3IU(EBll+Au?eu_tI2wu0uuHP+DZvJ(*aNjtl=+&jS?0v&0w?7cac!N5r zFXa~fJ#BklCZv&r@SZ76%6MU;#6c?!mk-zEBf2kjtKAazsVw+Oo}cr8qoUuUtK(zg z`D*3V?Qocd0S*kI5(>7X#rGE4NnWT8)0|Z}%}(L#j!k4k9uUSUF>JpS3i+?9KSjIRkn~3UVVZrGmu4qenx*MY`41mC z@dK8|ZJ1pH4u|`Z7?|3!p&f9$qB=}1J>bC`^^45YbMuP?Xo?alsLWOzyqA#xyY(p?vp$}`RK<)srO!*adW|I}CF2*i0gm9bm7E1fu z>;cSXCsg)N&wlXu;~F~23qo)~l2fYtAvykum>@TENiw8iD0#{!@Z&?LQ54efdR(t*ZDZ7YFtZ?{m4aIKwHGYm7=q5VG7)n9X?JO-e(1#OVk8fI7NuKvWgEs_THq*NK zZa-8N{7~ofACuE=&aONUX0#!zUt8&n!%(@#sMqxXLz3JA&FpzoKtz^kEt}`OmBEg5 zH7v^domG;O-|{@0QMHsbwqDp}^aT~jzJ0iJiFW+*Ad~B;a+# zObs0EBbO_VNVK7jXpQq<79~cKi7}$*+ugGV4gV5US|`>Y8*$!xHzDg>H> z0>}`ytxi}#Mvc}6mf=fTbns?BN6I6;X76PyD^C3$oal;z;ep1lUhSGuA(fRfDvn|2SZ-zb9bh0+d^> zSuTw;z#6I3(vY1>UNtsv(@jCIqS(nCEHK7wk?ZI2~^vQNSEDNlXp3UmZfJq>^_3gU;i(Q0D-#Sy$|A?I}oqlEfhws@GXF2otPrXNNz3;ProHxnY|G7u45OW~&`ygukN-;>^ zk7Be&!=5CfR|A(@GrTWX__lD`#QA!?8cRLR{{VfQJ)4?(BI$=IKYR+o#b-*8)_*_NmC8{Y^Rb~jC1 zM-q&kNlNN++X#WgVNG?G9d$3`9zj2+a2XPV(>C~0(kPgPLoE&E;{@nzaId{W1R+1H z%7%3-(19^uU+p{l^w6g=iVm@g+z3onis5h(wXOBWlpb^y4sN>V{6mi6mdD@$?g6$) z+*>xx7CkcRjzuEY;0ZW1mbW1zIcRy13E0(dk*;2|d}}_qaUwgTL%BICQ}_th)%Lnr z(2pWluVlQ`Q4&HW?70b}a2KQi4hlsQluRctQ2jVTxw4G`K19Eq88)uvSE~74lSa(C!T=k;G-ihNo5b%fu=mGrIxN<4(bLga^``wgImS z?dq_*YQLUie!IFaZFQ_;$$ua8pH@J;GWd_~rXj-Z_?w!$-5W=3 zDt4KMO0pkW($Y{Uzul0u9X1C4H(jk#R90h3CPm>}glF6PuBJ$VwEAt=_`iI-ZxpaPLq;PN~BHY$T`Wu{U zZQqJ658E`)B(KDhJ|)aW!ILGL@FEFYt>0(*v+)k!)!h+J6eqRk?btiluiT*BeYHyZ z9=Rq{Ggu72rjX!*r_BWX~dlC)tyI z0wP%4dPaKLo_$7k?`@&JW~0x~(xu+K(U$8AJ7^`T&ks~sHfV{reb-sjeC;C@;9LY8 zw1O~gO&IeP983l#tFfl8H+?6#XKeBl|6Bfi&K;G~*V@!tA9m1Iwhk8vkde`_+@$LX z5J3i{U#BzoJ$Zybh{30d_<_$bukko_d@D%Xojg2P9Uiq+@^xKjO>g^|x%$xqMW)%J z2|`FKteilFca`Bgy`?rZOJA4d+>^>vhd zi~79zZLyzIhm-qB;?qWgH-jwwdjc=Uieb3!)k)iuma|0K9uEA;;=jPLH$enh_O z9?Yk8u#1mwb(M{GU_9!i&UT3~72FgUQQ80T>$Mb(N%!k)dJdlOgSct&S68p_YxsnN z`?J;4bsmqJULRyhP0KR`sE*&q6!K>}vqgV0Fwq}A~_)q?y9t!$2c%^-_V|6*Q z9wIi^sHmLRO#CmE3!c6knWs^Zi|3@gh=emX3W0*H=$PXOgb4>=`=H2)O#a{+al-8+ z_>Od}1H5T^Z{J87qCjZKH#dZp2cmY^Z^)ybD{*=LiR-}zwSQMvE`f8TKhBG!EdUAA za7y6<@tUVcc*|j-806c+9y~l=vPTHH_MWBvE2vl}$L`7N{=%Mh;%$DWu9YsA+n7|Y zWg~2+6CLZS&PbMb4xye%!-F%vVW>b_F2T+A?} z*!p$dxJ`d&TD2KoD1-Q)8Cbr>*}E)=67qm}$Mb;O|623$xZ6x(81;beLo%W#TGH5a z^X|s|+lYYK8*=A~gq!N}bD0HP(1ClZo_K(1O%oQ&jzM(9;nvI>O&)T7Du~e5PvE9_ zp&9kj&+Jx72y7Q+4r>Hvu^={kXb@mjh-U z7B>xbX|@iyXTC1<;h*@3M($PEldkL+)mXrw z4Pt7r^)8PUm-TVr+Dz|r0^%D#79^3)tBDq$Qq{3oC;FYsMJK(jE4nhanO4?1bM+tNa(~vKgbux0Cj3=eI+F;U%I0 zNy5vm_cVHC=0MGgk9i`JB8n!`LB{KS8KFiaakyXMey}2CZz{i6^T;o!727fujW2rb z2+^}X5T;@VulWEq0N?oi$l`W2wf(uoZe3{?>O>4c)&dm3QSov|)y_f#SA<#Ym69hY zn1X%{Y}*kUUg&LIEnsY#crA!Qi;7Tb<$~=>N`{$5KP3U1)7s|*eUd!Hs;n7GgLy{I zO6`A_SVLcY>V8Xbw`Q}H=(4QvkCG|%A5T2S={_FFuCCB+BX~^yv*DzevHN9U&SLhD z1?A?@QSOUVI=RtnB__~CPyd39 z_0qUYy#yU@wxpwz07JJXw;PU>_t%jf`~Q>Y2f? zZ_;YWye(zmabjP5^vHpcTMwjPVpUyV)V)JE1T;%;fTb(_CFqyiev}pF%uy8Y1Z7_t zpficEAY()q*_uC!z1M2Zd`A`v6-aUE?*d=ik@{v1OiY$jE_dY z{Jf#C>4VmX0QmP;tysh3&S>wnXFe+PZ=EN{MIg@@6d6R1MxqQx&!#aARo}L27xSYsd{fX(=7j>a`NYgg= z;pH1+`A>t=sylL0wZ`!H#ou_u$!IM_d(#-#E=xPLc=b+qgf5o7wsIz+f5v$u-6n<4 zO^bVVd8Q@%AsQv4Et~%?V?KAsELZZR;cPP{=prVHN0kUQ!bm_Y-H13)ld1}<6 z?`OS2n$#jXst7=gPxo*AOcN%$R<@J6ctxM_-vrI2ii{M?@5dQ;xCRGzC5*HBs{y~h zl6ARf0BqM&!*#g1Qvp&uYOx)((sbN8RKrn7iGE_EOMPa&Id`R*>+}6Yac-Ve>GA7g z-{4|?^=Q);H7BkXZ#CBLF%TQVgKd1;OpB&D)!`)CcG12pGep-dqGekk!HMl%CrxWc zVSAs;c9kAYtDcoym;ec4ad4Gx|2w)3-pfb#+W=Hj`b?R=ZeioC2%fWdQ7&e9SIj!QE4?^Am;_v)muuXQWhQ`z8O8ubpbYjCgDyn(j5#M#G zRfOK6XMntSMP>OO1OK?=*i=;$-XpWwpkqogDqn8fs79(1X14dyIMzUp9u+lvAZh%~ zj1RpaAU+UWgcbIHRpVw%MP6-!??>VKrIR4lJlxZ{ql#*(K#?4#lc%9VUo)i`?FnG_ zC1)PHcQXW7MMNXS^HBLlJ^99q5Qt$|9w!eztwNy!CyZ<4<_uhn<85nP{K}@2!R1i9 zY&A{M$VpbC$g5|Y|7x}7`8BSxjDH5tY~9V+jq&oDOKq;Goq}whquVBJ3P@b;h=$6P zKBNi97oCwCEF>8X>L{6ax1%N1h_}J1he!$A8Lz};r2%>EisXuKjmN|Z2C6a1KIK1u za(P~$FOmm!Ckt#jT#h5y7jRF#qxsm_97(akf+-Xt{14}W9oMHke z`7PXdD+P<8yo|lNlZU*Is49Wab(sbs^0~Svn%y@e1CoH&x=1{_3iftL`GxmNgI zctzXn-3^wAr?l+*!|yvfW0ldfYOf(uR$coi|JaPp-TA&qO&u<1>uMeMZhINh-!ys7 z0c2WRwP&pN$mC;3hNM*#d}<1k+&?F#m5?cVvd?iw^_O50UU^GZw}swG5GH=T+mUAZg_oaS34_&0OM8v=W)SvFsnzwYqHZDGpIUEU@C z{yI)}3|h|F2c@@(jY);uXLTB-N|?*-pk{?#ObR^5-GT|(BDbw6UPtm}sA`3C#{|E9 zl<=Wuz{TD(=BH;zhL!G7s0(07k5ZImz!x~VWx$ytHK~zaJ9}i%lDnV~uQm)eD=$92rf>dBWdIfUlTe$?GxIoa2?sv%YR!w)~#PTTeeTBHQ zW3APz0e%IVloA!A5!p}WNdYvh%%aPmbipnJWi%8Qgl}FQ%jme66bi|GG@MG6ym>sN zwQlQWZQKCz)L4&Tdtl3%5(f1wTK;^oY6s&0EF>*)KmvBiU; zfbh(Dqu`v#7-VSjLan%P+{t5OY&TZe+@Xoa_K)0-X07jpr5zijB?PaO-24|9@0?_7 zcNkdox~bAUBySu|*=QrmPIVnmB}t1~vy7dphlv{cdq3T$s}-qBfGx0_rt_8M*|R9; zu&bwWJuSI2W5(&*R^i7my6LLFzLRwS!lZl2Wt7$1dSCj!c{f;97p-f(XcpaBubQkr z@s~i(gQNZaF^QWRJB}QRNtW*J-t$`+WewHs884b>qVXj7J0sh&kbXA4P0XCRZHB)G<9RkFtxdZ%ybYgCL#*tFkj z(fvw-I{BTYEMb2Lh(gh^g4@uKw*@r_Eq+(GKw{!~EezbXJwS~5Sj_NB5b<*&>!C!4 zyp+u~^rsG#ig_EBm*_g>i?P(N8ExhRas`}{Geq4k>MfN(tx=e0QC-(FbwTP08>Cc7 zox$6k2d48%FB1Fu#|4s;)Q_Jc7COtk@{!*n?x3Et5i9=+GoBci#&j@Mo%zx{K2MG; z^ofrUr-1AcaV*S7YTK(g`8n5!%B zNXOvxcxp;`WYtNsab}aM!jQ3_-oJrNzL#W!Q|$bE^&*5%1#P{gJzbcYDGZdhj%Q-a zHhcT%3qh*+7sj0JqrQDT&79R7+M0Z+J8eTA=5kC=7$6_)^fZJZ3+Wu5y`S~=1&WL2 zF`YoWIH8(BAl*wl&<|}z6r%pyM@GU`fzp*RL~hor*P?a*7)&QmW;BhMax-&M=dS|3 z_YWwExs43f`)_iY@2i%zgrG0OghdiBeY>w>9}s$fhw{r;&r=5QMv7KyIm1(u+graQ zUL(eFoAHs?`oBHTX6n#9$J%Z=E*ek9U`q=bALDFj3Bc( zx`-b(As!xBW}~6uGb}_UM!KlJgMHOoD%_)lwn4XbbZn6Yx#)!3B{wO~mTcFP zw5F*(f}FZ{2{p?n8X)Jtshi?+*P(Q%dwMq!MykKqrLEMaq$&U`9n?!CuJK=>dFa#U zdF*)<9JhvziWAq&l!er}O~w1Pv04oj$78gkM3ga&TBR!sl|@u$#)DVz^alttx_c>6 znZP^C)ZSc8VcgbTj(VA4M?Q!PbBL?6U*1*(WA%kYL8d~=fES}knZZobFsweEC6T>{ z_Iu}-{i8(T2)f;nIn@Svb2(W0-atRfEC9U;y4K@#68{TL7jn}TtOLSeL0gv31e@qx7Fg?<)jJ2Ffb_S zO&qt0Mncx}YWW7Q`y3K}-iPOfu|oCSq2Tu4qh*W#oFqLRR7rnD&pWA`)%izKeq#Rh zDx#>k6ZR;CO)Sb~FKi9E|Gn>;;jv>~goD_W2~m2L7}%t|+?4IpjzzbP%42AvX{(WdCKiN@hmP&)m}N3*i@{g!ZNq8$Qkb;*U|W>p0<;e-e3_!q9|9=Qix@U zB3U$xxqUo&*C)SMlp3nv*3T=j)r3t8;!SZ(Oli-z1K#%NocdcdT#Jger` zN=Zv_dRg$j>@oX+YLKg_4Lq$ui$f*Be`~e;FF_Q34Ys}l9NLCzy(B8@7!2RMt@Mx% zxw!Lsb_r6})Kx1=nU$+iJ{@gAmE}a+x~n&_PAv8~cuRIUo2~V>Y{Dzgdg~m|SqpP+L^>PFaCA+IjOY)_duP{8KIm2+{}Ep;GpMnLk7y}L(TT!k zjE3o#KNasU&(YvX%IESsGc~+M-qe#VP}d8ows>UBEU2K!mBI`X1$u$gqrf@v+TiAzfiGs3Y zjGT5MfJ|A~8O^iz#Rdth>5>Iylu>z=EOYb9S&xW_m6>~M@jP~0k(UjVcw=~MJ{9lk}?3#I{+h{?+EL4Dt3~8-{T-M z~qQ^sV%?KOLym<};lY=9+{Nqe#C z>x0CE9vnbbs>huY@sOS78+Y`ezjMp>T=yR;yO@!Xk&#*IyUsKT8cVj%(WJ)pk>7Nv zn+E_+6Q=W(@x(LHJKvMbBagf_MbN?yZJy&X2B9O6%cQb8?d2Fjop1s`XvoK`? zknJDvSO~Yq9mfU51@U3V)TSMF)M`}h%ei+a_QFs95?oSwRhV8Eoi(0ChyJ+=dgUWW zvU73++IG1pv z^>>}TzR_v9W*81)*nY2@Lc4va>aRA$d=;K^6`pZ*nAUdkhNkyKO`iFan~a=n{-1)t zqHWBV%fqThj5T_SFO$XH)}g9_1CdLoyNDA9)c}){SS22QgDKl|&~YQ;5$Sky zktRWtC6T7AHowC*_A8n`>}T$UEUCMucn(U1Au9@F7lrCg5oQuyUg=Yf;7L^aiRRP2 zm{J(ak;^l^9y;5*7RX4|aa^)Y#hgs$SoXiUmD%0it=z`jts7(+22pGcLl>O3Dv5A` zC&RZdSXX>xmj=fUeb+1h+ZaO3>3KG9zb~Mm^r|h66|G&~LD`f9flsI{hQErW&%QM% zVOh|p<9!fsk=_UugP(Q3d$sAmzoG+AhN*7+@`zik3W&%l%35!`^T(DdDmUr%r8B*r zwD=3YodUZU<5j8)T=Kw_Q*!^{?%`%Nw)r5Lg;=dkYci+W@!YDMCOy7aPFU1<{0c5j z-Bi!p5Mn50SGEm~FFx86CJi!1;%(;IAmN2UW?i%Wa~jRK5#qC$Feqawp?xKgF>NrZ z1Qp*iOK0RL9U!3Xv|7~13n4pHgO(AkEp(8^0mdK+@R@#Kqswx02$b-LQ7D)y9x6g7 zrVA0F+%EYS+9uL6lN~3l0M>#~QGxYBbpU{iyuSo2nTr557AX|ocb2LGfFIgmu-*t* zZ-Pn=4+Z>Z?LSZC3uaW&s;Y)#dclje2c^7CXAW@K%m5@3*%d4zhQ_>$Clg6=HR_a# zPvrGtDqO9us`9R3r4Yi^@ZWeiKx%v1FndnHp=9BeHAij>mKDx#g9^x0ZZ!&JX^hpVYUaE|AoglsWKZ&a~UTSChM z@8uPEfZwqA(d*b}Ovd5HBaWxNG!8kWhoq4>vv`dNIVKZkheV$KNfeN#6UxO>`l#|T zMmyV_hNaHeoQ>el82vl^v=B@CNzECzI*@7}EqZl&uJMmRV#3XAy#m<_jR2gy1}zPE zscuK4n36538OWN${DA5DiaWu@qtFPGR9mz$Z5lW$y3md0q^w-DAI0`}%D2C4vB4yb z!>$EDxzV}`VQH~uv7oFtCOSwMGH%o-pqoje9q~2o3*>`w zO+j~pdDcj8_T=nMJ|??t=-9=d>evsfZ^KW~L*jNVwc>|IEOAY&JgCqfT$Nipnn4Dc z+JDnUy!j?8O~pGP@C5SOsL z+xvXU&I~;Jt)hG4zS|?Mo`tLh%(8WbV{VSKVZDvqSlD>oZT?&Rp8}Ie9rubTLZXay zU1PI?y+sZ?x|XoWQ!66#_+-ZwshsG2LNFIqCw1wu*F0ZE-bNG^rO-?vYsEar{0vT) zWtdmyA&mxQ`n4&YXL=n=)84++Yn}W1cvK|B!un6J%#`}}t?NLMjH~-joAG)7u31Lo zuoa9a=Ee9G^wl1lc?MZqhPjY~sVH<;G|MJ}rqhe5o~5l*Acgdv(&_T`@5aR60r(Iy z+4(*&SD_MB_dDC3d5k21HRnUU@w!9?@=cw|<}y#6|DUaVjbSKXLfPA&7OeDI4UqYy z)~<|wt5qX0^(Js5l|5}G8y2JUU#EiGF@wy1yuv+vQT53=Dgl* z-%F~|H2Che!w>bJ4@vTe^Jli%wuGszC+5>7Xf$>pAs>!)iB6RS3> z>BsK&SND5`wbLcV%Ri_iGI>mYZZ#=)^~X$dxOp0IQ*pRiTCtQU^_#LT&MFm;1f)n; zk2Q%woa~Hd;Izs69tu@EFQ>4pL%V&{ue-xa)CcOTH0aHCctxXmY0r*tM>QmzLLo0A zA}2ra+x!69=r3=IrI&axp**xxSUv1o;~`$?oPxDWj(4f|q2lFzMFH~2lH%y|pN)Hy zv7B6Id+>0d_@zusTo8F+yKmN#)S#4LouIyrb7DZ-e3O_b?xjuvD|K%-*NK0>an7ZA>P3)G!c4<^(;8I$Xb*Kub}vg|eCK-!B&c*o zDp@9#Y)ANo5l^?l4yHFf>z|Wa+}W1Ym--+Dx83_P2c%bk1YO-0j%Ee{P>T;Q#)p0l zkNzF37+Uq=W0rAjCMB14WNSK_!IKE+7(Btv+Fq~U_4;+g9hoEN7U5FCnq_8_s%ZTH zf!jn%h6eWRa(F_>=bEAJYQ+cV=NkMC{7Y3X_+q63B#+Q4G~K-=pZU>?;scrY@nubQ zo`Za?TGWkS`oC-S@ZFvel|h8bMCsBEo}K{XA&+pj>+fJ44@bc9Z^vt5@>8`Q+-?|( z?v4eiu{Y&*KMdb@!)cmA(Fx+Tgn7q1-ZjdV6P)P-iUOt7#vB&34es!gb?YbW&(1d8 zt)o|oEsZk0l(xfhpG%BL{oI!*ojTmNx-u^9eJ0gEFVWsk5EEibBGsH7f4eU*3}a|p zHR54zfmh>EOAienwKou#|CYu}$H!XB^Pn7(C#=jq(TIwI=5w!I0T_^%$>hDG!3!?# zfV;-yGQCZ@8ui^tquy+JFfdpJf}pd67B;^0~v)fu) zO$by~`+4|d zYlUIaP}O|x@-)Uo-8KVc>%?s$mSdt*k!9u=4S6OESO5KL!=XmGO)8yS(RxJw<&{C> zprOZKf)u3sSRiqk=gbP=s%PIevoX=6p8QE-%BScU#J3zrESCwZ!BFmIG0Z3DAMY}! zdmeWmK1_8^ewUa86?H$B4)UT}4Q+@K^ndU5k5i&!Xa+a2(sb<8cpn<3N3{_)EKcW~ z@ha{T#)+k%wAfNZadlJ=e+I}%0)bD8oeS_&(2 zl5<+T9g-A|T5Hb#!Qdp83^w>x+_J5fGA6<4r!1t}m0Zd;uU-_drIiPIXJ;hkv1qZ_ zqep*tT=#vk?t@*DH|_p~p(jIbiw4ps&Ck9jXb4)ctlQ9lh)6hQ8WL-U>Jw$cjT+ec z8=g)|Zg(j44s={|{UT7sKkhjxz8rGw`xmG3c`Cv;G(PsF=nCn&`o#AGT&Hp%u#Fj20WTN2;T)t|$U>}}<@x!_&xW9;vAbwo@|R5S{pN${If%gy zPZV@u!p;=-h;J|0TeZ4fsc-SM82m~n$!(}61Tj&YP35@If~0N}&s<~p2SUm-RalNh zu6DyoGQ*E+7#a*k>}RUgpvtrtMtWSB&)Fgg4UQinp8Fm?y08f)c)?UPFiWN1^6AWXW+!Dgir`kK<;m6!S1{+~ zO}Y<-{XT&WA;Gfh$D|aEYuVY(poo||^;a6tcxL&_ z#R2(Xl|7cgdyA@CY3=GZjQPorbyusJ$u?PLeN;{&iu-qfW;TFK7}wPgKgY5#3b(exqY^ znY6)Tq{=`sf~C=Q)HS4rZC<80-EF=&si2wdOiyEXQ*`_8w4D*3;p_NGu18*xEBnXt zo(Y^nc11hMK6HZT7XmDZ7Q*kicVJ*TZ;_;Ds}p2K?V10n?c@3Lt4?u^3GQ&miC#ZI z%<7jg3ZOZ@srIX~Pm-R3PR>%X>{_`~Zm(eR^TkRALB`?4D78LusRU1KdmZeKisy{( zCJ~_j8Hc_LMkF{7qh2Z!OhHFmT&c!V8+JL4G&a=VA2O^eOq;F{K9?kUkJ*t(m&S1L ziY2l{uR6}>PYF$TCd~`83}@7I;28MQ)gctp)>r?FiOvUJ&7Hyj18Z*{5u-caudHJ~&UbQf1e8XqOxFi3(4URPrtxtbu z`yi^!vK}y=H?q^;V#h?@Jum_7R(n48`v2QkYsYH4K>6L?f}UV(8Cz;QYu%0`6a=mi za)NgT%NSO2L#g_oEDiyZcE2GGHvnUe)=N)!B~E7j%!8e+lG?pLEz5kFUzpZwY2?*=}f2^50=mnRh?>ItmA3uAJC5>=L;Nb8^TUmIq}7OqvZR>_JQEJmDPWoyZ4V! z8Qdk+{bX#qFD4)mZT&Hz=s+S9fE4z#01wzo+Z1=xO{K$mL|aKctBsBhR3@sf9!~G> z?x{07jZTUxpnLfii&BLS^j0!vaqJt{tAs;*h)Xim3zWHX`;|5&KOvkw23y!`+8_mm z<`TJ5t|8?OlhP?d^j2Ljr>R=$HR-dH(mjCc&XSmv@-_$_xd@ zv+sMzFM}Fibs0Mv%r?;Ygnq&}lo_$k4ZOmil8uPkx$C)!xNFY>yEJ=byqMXaZMRHn zQ^Tqq84iPp5k)y3#aTI#g3sk$!)6_qxb)C}k|(7%wVmY6EbGe8#K?2Y&Tc&>pG1qu ze<*mpdvxYlz*)F?T3fbPnfJvqP3RQgBbn54co$cY)9Q=DQEtAQ2`;bf)MJi{CI4gb zo&LqCfOJL>F5CMZSL=tXuTOH_$HxvlPil?;YeYl87XK2!+9#)$OJloxBi_GU-cOUB z{VgVR*?1(l!T3)ev(jp5@%;9t-AYv7lgyvjG)y4*O&u8pO7mBNOC*QqgG|ov=+l0i z`lg;rsd@BTLWclQ*T|;@6S>GdDsF z1`&Iv(DPjxOcw&rv9-lpL+VOB(nD=U|Zqksoirb6b@6xg?{n#4}la4a}}5^*PV+>9i1~);jL7a@=(LXZYrQZVX-#j}wajO%QOq znFPVt>Gl6L%&Dm4@b&r$Dw_F%N_W>%%5Lrlv+`G>-4%_1DPYBS_5Oj`JoU3V57vk^ zQvt}v@~T_@x`F5XK{43ortop3U zOv06Gg8lIh_jbJaV{dYy%}4 zIVFT@+;+D^oWdImm=iZsb@^OlL+!GlSC~wu-W`69i?cX^g94uLSis5AIc%WVZ%mek zcx?U;G2?5TKk7ohxy)hMr>1G4fA`x+4ns@NM}w5Mma%tNcN-?6JLw zJTv7umg49)TnnH9M;UC|F5Vl0KCeauaUGd*$1D_j@vc&(V`3~as&}WbxlD<5m`Qf) zxhC%;G5Ard$Id5e;Vjzj1RkfB6eU`8e5XxDLB-3xnCGpPS{GWHi?N+L?>Kl^VV2+i zyv2eI>lphi0F4pDZS3U?8OWv~)$7d1V}VAV%pRXwel8x(?qg@y6B!y&PTo9nWl(DF zgGIQ-vp?g@6{RV4lnFcl#>(V?hXnrw8y~wO4ow?u$9x<&NwX@V42DKq3~{IfMlSt$ zfbjB#LlQ(8&mxtZPn+(MFWHE#udj-+-BJA0oiA#QB{Y-qtgCqNxxpnuI1kMe_;ruR zA+AYiD93}a$0Mgih)&2)(sWW2(MGZKTNSI@$@rH*UngNoHS!Rmatb)p*YQs@b8gXV zVjR<(Iooxc(zZ*fcVdurD|T#2&!I}K7u^T=2parOf?Tka4u5b;8Wy<3-lg4vo*z!3 z>umK0QLo2JjMj!j4M2C6%lHGx6Q9Hcqx858v>53q-SR`-RJTy2VhJY`G_MSiWuv)N z9@89v0qY}{{+G#ph9Co*P2xt|@(9&LKX7I~=QFfV-8n79veB%0R}9pQyK$uVo=ALe z!~dRF@KH&%JaXcv8mBA2R}@L){cquQ0Zc41bpeh00R2vHfkw~w`k@@SGfwT23e~2% zT%2y-QlRSzxVkr{N7Lg48_$-t9kRb7g3UDrf8I7(mPGP?!4x^>Pn8(F#2@oe+Cbo$ zP_ar{wRb5iTNo8=L9%`WXJq+m6L8c8XDfhstlP=bu|vECh-VQaoTK%k0jO6a5&eCi#Qta7p8904K-U zJU$a|c(TUE+z4IWJj~|vAzf_q{<$ORxjz<4Y1SD!4z`(my@T>#>=Cz#am|z9@bnfB zh%SDTpUM;)U|V~*ZhbycQU2uFx;pt3T(AIBS*mqi`ujO8kI+nyXCk4v%VB>^i#*oc zSkm|FijMN*1hu4Z{epa^QB{BRV{U9Tg|21X{X~Y!lly{G=okf+r?v~4Ig6DCq|Kzh zk?pu7xZC^c&rsW_uEF|Z=9o}g#$^cy3=J%Zk;WSjA? zYM$DiF60%&QJK(p!n8bwag*l*fj5W1e;YyneevHj@PGXb(B&u{jRn9X|I8VA_?ey;@wOE}o3}YoYQ4>RaYel?A5&~D89IQMrLw}F3%t~Q=L66YNJL>_2kX#-CCdo?<=Exh=13C)iWmFsY-f5^5371 zRjyrNShX5s?d7)1(fn=oV%oA-b0+)rY+9PMj6Dj`A$Bz;T1%gIT%a81Y6%{599;&L z$%(PiZ~K`BooL@m|9AyW%zUSD0d{$5sWDvewETqENUdi@(a+gDn`cf{qMeV`$9dgz z9RVIkenRzO`)t`V4zL(%bJB-cq6CiS^JGUd(298hQ*BnA?#@_X*@} zFPt7!8mlVK8`5VKoToM(sDB^qF8Y2$b(#cEpnN1(QVx5(*ww>MfnjdCmv;mGCU|$PFIEM~NM7jRqe{2~wLz!j+x73m>;dgC)L1L!nn>?KlR9tofVK#5P zAq7xn4dp58)%v^CQb}n}&{I_GD#~DQx};*E!4Zh+%2a8c9_9Ien0xD>HrTK4lPWC~ zTHK*na47E3;_ktvxCBjbYfFLR?phoY2oNAREl!Y7f(C1GhvLwd-kbZ`{k^--to*UF zJM&(DL}p@>$#rtB?>XoD!6UBntYx?#WHL?D7m($gvS~uQBAgn&5v0EdK0V@O1j#Hi z7dS0{R3G0rat5o7eyyY8Z0_&4=$x}eiRm^9rijTa#6z7ffCg_o94n{G< zN!nVc{mzf}qS2tzEf(HvkBEM&1@O%ufRwz@w#K+$iSkZM;c|z1xskF_^pkwHb4e0l zqsp~+m$&cl$KdFeD3mh-9AxC<=g=Zm#c*=8*7$~$yHpB9CMES#6i9NeF?3dN=EZcs zZKw{I8lZf|)o;ND1LjRLvzs9%OG~V5(-X|SmA#whz-Oi`<2eDRjBB+T$`VG^-Y>q+DhnVv!=@QtWrJ}0w~p;<V|F1u4RAonfU{{)n{E zSWY8aGnkiFs`DO_{c{+qng<%ACs>k z?*RI=%Hv0jE$l13bZormS6_+L=~6;)(RU9{GtU_S^o6!&G^cO-B=lL^-M5eaSZz_l zw~F9#*gUimG}WLIGhyamLMX3Y%q4Brr`SU0RkUpnTotE3nHEi_D z45HlDx+`XpH-QRqTQo93C1?JvD+@wR5}s(x0ZEXwg|H=I%h}Eqmi;5f&-$LyEW55A zz9q`7`V=&j8k|$KhtaZdYaj)Xa@NR1u4%r#`Z*(~@!_FyIxmWW_1 zenQd9CKC?^mi%aVUYpiPoBLMBpp@q44%L5K_@Cv~N>J@r#z{(t*>>5??ykSLDhLt1U%%GYpOvu-wLKThnQ<6>e~nnK~bl@08KDvxvQ%8r)9`2&Cz@a z+$6g+FJl|u<=^X!X|FT|3BEXOs^YUA{Ni*9%UpuzRpGL)|613j>zg}l8zr{(#hT-q zJ+4$_WRz0_kp<-iA0roEB_+L`5-pSsy~LozT&55jZQwPdDP`emaJF0wqBwnOP-}IHL;K2 z53GMlpKm((DVR;Hdzj!lcjhr27~NVu)YN42!o9;mN~v+8%U5H?PO1B_P;JhGFRt7& zlM1TZ&3&Y|QuCdIDS?#ca7At%k^cbv@G?OD3+Ac#~mR(=Gw+cqA}Bwf$1X1Ou@2dgHQTH zYWYg_qS^QmW_{qsN5@X*oB%;9AVkc`0>9kq^T70jy3nF9rl5HdLKyn>krV$hd0t(` zG~gQr8PaLH_hFxze;pc1W3(#{#HOi@I&;(DY#Js*Bx%)WvTHLw@wYq@&~~lXByNV9 zz1`Rr?*J30iDYztU{7!dRkuG5;wYNhSP|1O+bl`7+yCarO52eX@7AXtnU(wX(q*5{ z>|=CYFIXp7jCr38fB#><;V~P?(LMOC=G0xuReEtEp)i|6%LYoX7BKH z<*M};(;8K){KUT3U4d-f-%mHnN0aBl`TyWK({q#$ecQJm|Gn++IlF1q{fU-SC{V@y zrV?a2FO6el*T6MI$hK$vkH5vaDVA?S>En?ylKG52(uD1Vf3$@tO8=cpF1HiUV}Lp=R6u~8bnpj-MEqXy z>vyvXz0-ewbN?vhX5^B5SU->$HBn(-tg7hYMWjNbD=5LwRzV(j#3cgg++(jHJ!v&t}lqw^P--&+Zs@a?R%6-E5E9Itm6G0u z8|-Km?mfvifu(DhpM{Ud)3ODDfQ7quVR`n9(FjRHT4Y!{CG(jlc)#!4%l5{%%ZR@PBCz_G1y#7Gze2r)WYn04> zr=BvxL8$^jVmH|j-kaXz_@thpq-Zabk`lgE8=}zRi*S@dc$-9Z#8+N3I%ekOeBkRH zVDywe@z!7f@B+tKAAOf{!Tug+D|aL=SQ1btUvV$XJae8-*4I(c_DzG%8y#0%@p~Qe zPP-&I{0Ll9$g~kzU~g#R2&nP@%VX%yV<>a211w~Y4A-V)5x+_pe9B6;3maKMfZ;x|J;w~sh2${uc4BiFJAEm1pLasSkC1n^W0XA$ zgqCN{ZSjYVb3G0ot&c|zmd*%AZ?k7D*+l9kWqGf(Po-tJ&D!yHDimV43fYMjxtH5b zb0&l2`Zs6>D@fI1%JaCWI`Y(0*~XUA1JrW84XB#2sHO!=dxlChq!?DPBe&aRO?SCa zyLoOQbEL{IMBUg-Vpz09m5Q+_gbkz8xTl03|AehDpi)PQ*^O&%O0bo%xL&u+r9E7$A0aphL{q>$|!tU%|mkV)kF;XBmeZ zXB4Ha8p}En6RwNNai&GM=FfMEdD~FQB$e(YP+nZYvcJj|;L-LQa8^DLE~M~TSx9~D$pIdAIVE&ySm@aMYwUzHaP+B?HTwI$ z{cFH^W*OVm5Ydlz)h@^N3O#;C6`5Y3+Nikxw28R)#&Zt8cf6v$#*=eGL1u_S<%*<^ z3lwQ^@!OwIU?VhhHJp`X-X9Xv#e7qf(CYO*8|<0NI+!WqnhV5nyq}l8x+h4S-3aEY zZ^QT08j4GZMhaL{WqB5?X>4QruEys@{mC$LaQ%HE^5IQNS_>ejzQ>HRigIdfObjj| zf_A}xVeWG}Hf9H-0k5}Z7Ebb-P9x&s!QZ)WIW0?nwi-{2b@NGU_RYYVfBlJ}PPWJ!A<2KNfykT}Onxx2Z}B)#n*92^gmL2?l6X z;_Koj!*Gi*IY`o9t;$k=MU>oFRX8OyGNn-s$#t6jbkN*y=u2X>HzMq?phhA&m?u?-gpEN^a`8F>_m4waQ+cv=N!e?MsX@Liiv!wFa^XAq5P8PD#xh$@ z%rLb1uXQRGRHVeF7Q{2B;_zF@&ua4-t~E!8tvwm5k6lg&2?n95vwI^H6h@9zo;8cd zlu`BtZ31q5*}0!u+0H~CNyl~b%8XXul-qszXsM6YLRjJo9?7HJzaqbztNfW_e`YkN zW5DOAk0#ez(0}wItIljK8!d}r1WZ_`Fvk}(gr+uF@s?f~>}@C`TU*(y%Ih=*13oo= zqsnh7nlN-}ge>M#)pv%gKoSjyJ!OU__KCp)Fh z1+RqBc(gVcdVS=0@UV1fRL^_ZG}>)@&9RTLDZ-_aLc8S2vB!bmf-*ef{B%BItarn; z+U-&1rbfZ%N|r%nQN+AbtjwL%lhMzrsZ;~z*JfW2DmE~JISO(=+0NPWIWnW=JPSHX zT>=w_WNiluX>@0#km7vn3qlG8;eJ?>@uSgMmf7}g4`V8>7j4!mZ;VFrII|mTEkXW* zBzt9yy$H4ko8P_YgZB=Gm^6F5m|jnJM7J$cwphe*JEi7?tr(I3N5l@G$~$~nLG(}r z+OpR9xs60hQGRgVQCU-I80#2vXDnyoF!nc|LT6$I+t@V`ZoyHy(Y<`v<;4OO+%H5YAjP(6x zCCSuT3iheXdlB5ZLulcHB-YEBYFAlrx?>Ki!@`@?%%8*0wY z{zFCaF_{DAhK#U)4+o(>86!B83_$mBFU@Xw?vSW0LuBHl~{YG{q7iVY`kmP%JB2X9X z8PuEUlL@Ny)>1S2-epL0T2-S?oX-g2 z^93Ac+4br74-##QFhsU~ptI?GJ0u=C3Q+3tvT3U;0Hm^ZQ-~dbOUy?#&4-Ksh{GW7 zl8{y=tXcZkVvl6Yj4VvFDn;Ec8L{rFG>)T+uo#*PBV&SrI7h>7%9|5CHH_ftXeqvx zDY3qP#iHL}-^82FzHYe1-gFwUlb1X$Q2o$oT(QMW-l^Ru{RLLNkE54TZU1FQ*x(Wr z$_*%KYx^Go^#9u%#Ok`0OGt`Rg48!KQ~12JQhZ?WtVRVPs~uv2y)eIRPKc72xd|ny zdQ5at-Ryw%n?VaN>&oWh`7}`0t;?sWPOj`dVDj8#-!VU>CDljhm>bu|N-xq`k!KxA zxoJ$hd2N7REJ!g73XN*ol}ODh-qvRD;B(dHg|xVz@d{|I71S&5QyDZaXnaV(@MDK+ z;w*)Zy$u~=C5t|-w9ZfH3I47Sj)WzXGlT8d8qX|WeAWN)_|N%u} z%u5S~zT2M~_rdrGx4Q&X@`q2y+?2^8ZyO6$IoC+lznZfA;1i5AgVj6%j61Lv%1pUr z(PU&KCUCbYVT7J7*t(~4^qB>&iQSm6^~R^K$<%yDy|UX}7H`;p+oTdD%1{)q}zGgfp#4 zHjNp&y|Pz4{a&gPF3vfQSzC}S^s8v2zVn z3)2I@wOk=-|5um0fH;1V06yx_rZb^3439zJJ(t~%Y+sX;7?85B$yN9KzSPpbr$TIDcju#s{xXz~2W zRfItoIH3~h(Ho8taT0)Id zU816=jS~zBXq27wMjf^FxQ-v>y2}Oy&$Q-SH(^^O_xZn;>B!ev>|F)!kO;RraPyT4=W^2<240}7n>Ta33MclAa zdr{_VwH<3zit=*3Vc|{H-4;`)oR&6D9V}nX-zh!iMn21pvgeHS`)I_%K(H`(T0x-d~({htu9eTSt{cvo3 zlfVUUw6jU|2rc3M+bL%?@7EaYDv?oDFe}cn?nBP#ump;r$!{8^1yiSPr-ZWnWpv{k zTX3x&CURJ}=}z`t8O^E2yJ!2iAYA*Ml;oYl`xS@))Y4(f7#WpXy^PFPkEP4pX0Xc` zKO~=UCC(Efh9&zHK>IwW#dV!ujf|j75=Cj(sGPG}!&L}3KJOJU8FbVZRvkcf3~BI zN+Jf05-IB31d}aHGV6?#Oj;b;u6YW_Qqd5S5c8SWcu&8+e~&{EIN#)t5fu+Gl=s_% zs(PeF(X)l*6tjjmg;J#H! zSvp_*KClb|O|c@eQEDFt!VA@6Gg9;q71IlqykUN;B7R_5*%`W6=@9Gr`Wi0=TP1VH z)}T9iJ9lnBl_l#`&4y%qhjl=unWXspR!_Pwo_PsuFGf9c;iVd3e1!Xx+KziG6)0sP zd0?k}w$5cN^}K$O&Wp~Y5mlzwMA!-b2 z>k2bF{K9O`IH#U5-1~q%(^gfoX#PHHR(Y})cSDajeDD2yvEw|s9NBWv&EDMi>kQd! zOT8OipPh{=i+8K~grS15|KM@kf8ndUbG4OY^DGt-OCG1O!OGLVQ*Zbxx`Xu_d>(nt z7%t`4dbjobzrB(i^}s)PnS$T5=KeN^s;$VmcrfJ%eL;ka{7tug51K?A#4$ZRmigm* z;PrcyaSYBG%F%XyI$ihWg!BLKrY<+B9iiVA5+({foMp{-u*GdkS?Bkvm;pl(IIC;U#VB=k|rTF#uG&$7fBpqIp0!mpLZo$z1@zR zeb3wc_c)tj48<7)<3PA)MbVQp-6uW9tw6ET&oN%1!qC# zjtE+U-(^Ze1U<<{`N<+1C~*T^l7Ek=Nd1hzVd6_`Levl%T~eT`bU>p{?zrXd4?Ot* zokBU^t@9mzM%lnMXI(}qGgab3Desaj@2#<@1V0n+jw&e_Z_RiqlzLb)!QNRCi-9EP zp;BV2#u*I&d5&C96u|iI8IjCB5gCzO9&KD21{>5k_BM{V{V#T#7Kukxc?E$uuYDTz z8Y1*~xBBD1-CKjb#2ee*1pE;j0<4MsT-siWZ5juMXf5&Y6eg(s8P4P2RSy`ShuSrb z>rc{T4W{?eBunN7$Shzr<;|~0<+P5t5Awn%HjOVAS~%jHeUIxxmh$hfSo!Wn41x#8 zax@=BCQY$7IJtteH!Z&_|seF@fe3XXLd&5GNfD4=dzpQM= zcn0-@JO1{R=)YZ{boaU-X*k^c*A5xsbBllmR=Uw<6=MP$8?A+BlP}WRniQ3k(G-#~ z+XjB>k^_vXOBwdwk*aw2LvL5M7%thjt@0eZr9E_g6m_6meSUZL!+WeKE*`9zW%_mbEcG4yB4_>dwJ-2U5*&tUQr7ye(m$w#x zvIYMm4|xteWYMya=9>{MLnmej>j55CI{G`cd439qfLaR#0CvlO3lyrP{v&%*W7Hj2gYTmq6y+LH6a8V5PZ=XHoP#=o%D;2= zlixpR2tm<64O)hEtv$ifVr@fSZWSGTey#$Kgq(ct1oZZ}#d@K0`aT&6TQGGCiYrWL z>I0mh)bL@JJ6^RSvg1ZMT_)eUG&FtPhGW~8vEiEqN2XMKN>zeSV+)`zk*#8}nEl>I z)#jy^GIa@i(r==a4d*?tsXjq8HH z`rfCr1Qv&iOY}qeN4kF!6wL^Z6d=#(czUZ<~)19JJo7wp48%-ba6q> z`gc7~KDW3>$2)wL;@ijbi#85>juo2@)rcu+ohc?A*~SXTKG?95nQJm&s#T;>sf39= zqtr@8P0oNo1y~kua5jmeT2Fp?GTmvB-1)`U=c(q#mWMEH&E4b9R+mgk*RnhX9ex-& z=13z2{z`cxN;5{ubIwJg!n=%n|L8|rveS1tZ(Y=n4Jr+Fl-%1~t64N$$qjnZ3`f@X z&%0!j3g;L|j#24~qPufjMdAX2eS0^M`pIxQ!3~LlEd2oWWf&xNNk1oCDH~UFLXL@AG*hmCekx}6Lx2POgI3k@`quZQg zPsIWfuAzywV9!0s*)|Oll{g$XZ;8unnV4f~=Zx545l#6M9dR28i6FhC4T$J09X+dL0aouiBjHx|sMqzFt_A zkDm!?zB4h_7k$(RejlP8+|G7|^SgOF3A7%ZSOV~EDNe6Or>FW@z+bLK`f52BHbR6s zYAtCFyk_Vk={#Ekqc<5bOC5Vp12=4Zv%Y`9p3F#BxFpFVrxNnb%K=6ex@|6{*hJ*4 zECct%FZX2T*qCz5ewnpGpp^4TPl072HbZl@2O&OfVB)&-OWLC~Cb;|YJz+biT z(kz^`>@7%c`Vm!gsHbIx;B)Q?)KBbybWV*Ky>u^sQCIOkb34yseA41E*pDjx8LgF= zbWCf_L88^ers$irCTkBl5_{JCAwkp0lxWuU1rD@=s>udhc|ohYw*c!FpASCpJioH1 zb>E}1WXdOWRz%yY+5T{R5s=ZclMoU{&2ca=5$IO&DZC7bRQSGb;_Iv$k)Uum6=6Dl zo=!mL?QAuJ>yZ|d2&<{z6St1Vxd08{1^IdI-fB0+6;8Vw!Lq~-Y7(6L)dPb#VyZ*0 z$fM-6AmnYR#-&Fi6I`_*S*CWHA#S67*OibO39`1EOFGW9UH&q|y%mbL^HF0h@!3z< zB_HsZ^0SjkW=Yc^`SpAj*E-6Fb=@CcOqlyqPFkjiJhg>us_MQTAA&z?I>u%MpT^|@mbZel7o0BrSUAN~b7&$4R==H91r_idArPdNFXCAz! z$%PJJppAK~ecAJo$1UD7v&5l54kE1ND9gL|=Pb=L>%fE|%F0LV=u^3~&Xd)GP`dSS zY{@ReCzE%tJHcomCB)ar*2~%QdV~zu^2JtR=`m66jL;W8n;%)UP-!@Ep!sI+fYA}T z4DbHGniRgrQYgy4BDOp?VlVEtY$=t}cG1Qwbr(3|j zA}C#XqWz;@03U8zb*2&@^*uAvqZ%=TmDwsO+*)-iGZ7)Xf8(*tzksf*;~6+_Zive^Q4$}&-8f38`ruUb1yw?X>) z1$7Tj1vJc86r-oH17<|;7(@(285Xx9K$-0J1$8R5jkQFOoMCAs*GotyrIHdJUSZtT zzZoWz9e~-4Jp{6-GJuu=hRD@--t~p`Z0i>I|L!>^Ob(E5PuR%!T&j0j{Hy7*2==z~ z&Z(vh@!zo-UZMzO@e(p?by9X0b?cj-v~xyq=IltmKzD$qt(IV&aQv!nnXk)Ov5BM& z*A1WM#iF9P-&Fjj!AJt?#aE(N2pT%DvO%V4MWdau%Ah{Ui`umA_9Iq1=PO`%B?NnX z<8U+-qFc1=ztbeaFT7M7&_sh$dztPK6UWv|1`v$MW;zK!hFn4l?ksoYjv>dJFWvx9 zB;@K504*Ge{`W0999I>^rB0m%cly7HUfx8UK5Dq^w>=Ihj>DV^kLGQ6ZU?i3R{y0O z3-UCr-8vkC##PsUVj`TYP{w%@iT!PpArIujgtG22BwWcRLzmd44!Ta{RAGf@04pyG zvmEU10XeTIMRi@=oZE~xYI9-Gkyhdx9>GtmAOCCW{$O)bM|tk;wtIR~*C=H-8LK4! z^;hqm36^!U+P`n+^P83XTNyp4I!14Z^sM^2Cy5>!84WUj(FPT5Hzq<>uUSopO54$p zOp-c~K858DcPR@CHx$ak!2x$IttUtFYSO=WL${shTC`9a&6!u9X66vwk~&OByVHFF z7EM&fJ&{7A6f6cDpSxS0T*+jCd*nhu1uqRr2D!NIcn=%58*N!|_|%gi*>%BUF9fjCnS z$@ZQP^>WT%X&CK?79X3p9Q;WNk((xCy_G2y@Iw82Ne_+*opPrUnQ(3jiaZY-b38K> zIqx*~6j;fdUkU+EoQE%6q30#L|NMj&aN^w?m3ogS_UTh7um{2uX5{Nfq*OMSbGmgT z=B$?6PvF7LwoBXV9QuJcwcxgdUd)kpn4lzA9rdL8izH~L2OL9-8T`1XnpjpwBb}NO z*htr8H;6#5N?B=L0X{m_jg%hLhW?J!W})AnY%|zl<1?zP1%xjlaL5WMEv zUI_7yk5Rs#%^|dpl8b(m=aSKeLX^z)zOr<{G2%P;q+5e{dadJq_(a|@UOw~3Zo--E z=i1Qn{)2Rc?y{c1B^*wkYN~$ItRr0+qA_^T(e$|SC`W=dlg@+|)eyv9ahc4yljc$D z1o8d0C>31f_d5*V%={MENKy%QcN8$fAVC>+@z+9@j_xxtxrra0iAD^6l;7`s$st_h z^k=UTb;PQ%(jk<}QQvOj+6+Zc8Ae9ioA*=ST;$i-r!0CG;GfBjkAA2!1NkIWyRsBh@3HqUsFBvyiuoaT`qcWYv*BKs0;8hm4)DKGJB z{XlWrc;8%mO@7|8`+Tj_*naRdcI1-X zcEi)#>*WecrF`>nHgtk2w$gEl1mpaAG@XW@f?vJh>c_oUJO>7^8f4OX;h??Y0jy`V z;ra%sRnCc`=S72zQhj^|L(d$InKj%uL=LTq&Yv6fN;JFc zh3z73>js!=o=9nm#t2aYrLq6$SfSq2!0tf7n5Z?L^ zamvBzr2?Rup{cV(MK_&NWvnItT2FUzISU7>tCqEiUnFJ z0<`x7>!q?Xcu=-pRTwKX%~hoV-`p1~H+eOx zZSbQ!QpbUyPR{NZ-@yo0%(JZAeuW?PCuI9TBzW)usPnNhnYN7ug!IMQF;Fbk=29pd zFo-@e%$692%6>{_7?Jk9`(5?CSkAi>H$=b>%l2YuHyV@l-5VW}Leoo_?f`Mc;#r_! zuJSYcd`YzDOsLJK^)D9KUL9)_QuFbC^~c<}LMcy!du5RgmW54Y_qAo8OrT$ZcZilp z*xEaNR&-xJBYhxqgysiJD*)09$I7n4Ta&GnzIh3|RcQ~+uSi&QuOUHp`ju~2q{O{f z>hec8e{|=Za3n4J|9Fe{7_uPawE4KYd{#_lWX1$)MSNCnXY|`Df@tiC1#P-M_oPx4 z>8Vx#Ly-c_qw>5=xn<~-Fx1ljZE!%5lvkmxdi`NodbJqC{ZvrefU?^l1UfcnrlUra z9!owI&pT$UV@+brXDO{b%1HwqVe=z3y%~~z-H#_6zOiBbX9LUQ=6R$UIJ>tj%eQZN zO|ANBtMG!7l}K>+us*?d$i7jSBHL7;BZ~=%eusVa>OI~ADGy>HFusN{EP$b@+ROY` zoi~t;`+P1&Trjl>#@~;LsiNI-f15;H?jQQIjiVDcHh~Cx^T$m`#Ovss!6AFvJn0ls z#{Jk$Q*l3oHP`8zYUsySZ9=wEYBb$ezrO&bCjQ?&vC(|SH85W9S7E2p4bOk@zQ;>y zYVOsgHW}K%^-{ugs>jC%hUz0n;UpP(Zr`Rz;%S6a2GoDg?HJ;7cvqsvmhL?Mik>}q z%{?JITX`jh&{5aDFL>EkBS1pJ+4ICtYn9)%-(5*vLR$n~S}hpdfqD@w6bTSq#Or(c zKzcu10Oz2{;v5{H>cN*vpBGo!JfV{=&xaSWOI-oP7kfzKM9~yMy)~p~^$Uc{jvh`r zh2Zt#i4l69%BTGz$peR^D|;~bJwwE@WZY#H3XLMmqLMQ(E}D$AHIJR+m>8m*W1mam zro97YXP>5n{`DaKf3cp*?~zP94bF<^G+25kwu{bR+|U+OVwdI)GsVeLrQr2%q4QN_ zRjT}Hbq;XSX)4+adTy`N-Q8(aoh(cGoIc^O%mcBDx4TQoV3=pod4ZN*U|n6sLcYHz z`Qnc_UeA4j_}a_Gq$&Lj_&||esWZ?JurHSWY)_i)7eBd=%?E_Jb8V}s2M5MPS=o1B zuaLKQ!yhBjelLiI^!^u{B*H*jM!MH$J0ypVV1F{fr_?OA3Q352oio^ykR3v6~v z(gl3~;0+P0`c!@R8LG0oriuwp8XaXYw|q41v{?Sx{xXyfxg-10PLP#540ZK&nUV@k z6__xQdB2J6pf#&~c5BXMkw7PXI$T}XxRZChJ88I~tx4XtIQ^Ztw6u7~l}zpU@;I!* zMniLKRBi^;la`(q+Hu14C9nfsBxPnoOreh>#NRV^<>I2rr8+x1SsfkI==Njh;$qti zzz7)#Wb04QpR9K1n+Py=fuV2)DQ{?eo0T#JP_Y_9CzsM(+(NuxaZ(@ioi1Q9ca7GH zS0Z(o;mgcW`Y=EEh=8(vy7?dsBWz2G0taYCVdsK1cPMVc46Qpd1KC*$R_fZF(sZ*@ z>$?N2oq6Y&mq4s-(W4*8STEFp7SOa^?oyu85(;I9B!^jbqlu4|Pz^G6DK`N4$EKw4 zNAiW<_yT9@kuCwDuB7}d=dHTs$D1B1Iwfo!7{NSP%58Q`)D5Vk5QOC1D)b~`7Zhy}qZk5mZl5sL8jZz1 zVqMP>*ALNzq zT7bcdUv2ZhALk`RLb$585t@By6^*Z&8$z!j4QVc9Xgb@00!Yptbye+_u~oo0t7p>` zQ`)lQem{nJN2~jb9f+(&6rJ&IcbwMH%ad){unl z(hb@WYBwmbxDg7y)%%zd`VZcAG1qar_{0&aZY(r6FBCTYDj=jdsiuF;a);g4q`be| z)&M$ClCW8~e(-H-JpD+j=xG+v(P-iLv0vo)5|&{W9%19`W( zY-l@uw$RVjkHtZp=z5W@)ND3j4{{~)PBmjx|y^}Sa+gldrEYw;yMWh4x8I2Yuo!3XN1XAHGCn>F3Coa=VD*0+ue@x z%M%uj?}xKvDU*uo(1KF609&@DHit_@?g>D7`i%n|vgLM3JB|2tZE>-HnNzc1fY-l^ z!b=e<#=-O3d6c#%^y9Z)^%=5NBr0m@dMUn1r*5uHJ_KY{XQ zbS*Y6hVG#Cf5t|=a^{z*?@o4^Z<1PyShkJcXo_{Ye)eMV8heu;m4-Aa2Z{^0F76X_ zQ)tH&c_dWUhIakw?vsdj*fwv5RHn5}*9~rFUFv>bC~BOGb*Vct?=Q>Z?ls09?&%f? zqBVci^W8&WXTvDZJKVR%0Ho6+EMWR-wJrf4#Sw9BCblmig`*DS_x(4{b5o0biJWLu z;yuM8;~l;R>j7A{%fKN>-BfkoLyGvx{+=pv^~p*=$Ml$}6#oDRq5wFbF60Dp?!*@ioCf zUo*Ups&Od?l9|*vw1yHN@-Zq;343V(AvAERnTGGxb37z1TbM4NcqJeqrO3<^Zu1& zdGp7bK2r!ciW8|n`yhHVfEku`e~D*l2hwXE(?g#&M%3&@;(x!r7ZEDKJ4Q3WrqM%e z&qT0>CO>foocQlZGDI?fgNa8jfsL5<$=->w+D$R{t4?^oZtuhbVPa6nzMw0#n}0`p z;f2R`8P+UcQHGb_hb8vFpV~OZiFf=#Og4TVtP4M#a4y(s#{A&#E93pC9$#Pbj>(gi zCoMp7jY>7uA&u6?TCtYATFbz4^*XcuGmZk=em06DT|Bc^RPR0!LaO?7DPx&)2dZ`Z z;=B1Qj_hJ$LnD@%iIpmLq(nX9FkBdOWV@4=G)ej3-US>S(ssyDa1`CN;S$En=-lUk z>?H98ewxtHJuMa8$LIxve63wug77s0>un5k$J>0g0$8eiWSsPaVby+)uM}<^Q-ssl z9LczJJO@2<|2+RDr}K$WJo{ykUnjSYKl@f)I0Ry4_v}<^+K8J75T@u__lAKto$wLb zb-DRs+k#gurX5zkT&6UE&&2d(lJl|~e3Ftb)40X-GKfcJOb|@>#bed~jV+?o?bl#P;a_R>YLx8?w{!7s3|8vs$-~?E;0(74}5N4I&>A0A& zoDOaAFTdef)h z$L}CC!~PRZHdB{>vZk6H4%WSMau{Sg{TcqjTT6QKziY5xaT;vEzZz`&3v{r@w8uOw z|6dJO_P;dPv<)tt28*5ivZV{&JYFY|SbW8L&$r_Bcj}w=a8Bl_;!G()3 zV$6-}Fzn^KfHvJ_)H%)x;#U+-t@yhwoR;z*jTJY3vO#_LtJp+xauy9KTHcX7`nO#D zGUBP2T1=@HAXhMf99LiuVJK|>_W?MW_ILYaXX?K~?8j4loDlnVE3AyH!mcWP{kVOb zqpGaz#)5CF-L5ISi542nvo_p!S)-3WZgToQ_YYpgyNADYBf~f%uVmAqzZoRLWxV7R z&bnZLo0huUL-pMQ5e|^aY@@}*Qf#|SIt^AK`W4>&&g}R9`Gq~u4mxUFJb(+YcA{rJ z`21Pj=t(__r0n*_+BfJi%If~r{O)W~LFHpr>ikXk>>Sw;KI2Db1v+;oOSUQJqDT%9aVzepz+4qN;wwy|NTcm84$05`1 z56*vkiiz6QX@w?^T7fxGYBk*mWxDK@yD8Af2Ym{Ltsd3Zn>Z5z3M;jbl`GVX9zrhI zJS-Gd{eu~jJ{~r{DKy{iCibgdVp+F!lls!W>?(&xk>ja!P~tZ{Dy?t-?jQ4asEHbd z0fSrDwk(fNO-J+wZrYj=RXaqsc6PN{xqyj`UacBIiOT_NdMeq?@jw+P=8yq-57S2x zUB%%#CN1H&3!!0cC{_l#ktaFqd+|L+k#=F9)J2BOzh-k^0pejs4-ZQ{#vvP%4sX{> z(^%l&MYX=Zu|_RWdek>~c8YD^sY_e^niBVDkOL|kjbhR<#B5e;ytRJB`3^=t88ju| zQFNl(lzVS$$`v*uV>$M1zvk}{idPi(!h0-~tPX`Bv}wB&rO-DO6u6_qQ~mN)fK~~U z6ST5q#u&8ja>8A{W93)@iFMBYUvw9-E0YP_E(aL zV9FHgMhm;GVIFs7cC4?<@LeJ$bPrPu1SWa;x&f<_EHJ51*WW|mVV)Edy5Z@5Bzm1= z%GGFq>$wrZ!6PMT{&PBH==VW$ir;f}Il7f-wQru~f>f;Aonx4tD&H^S{%LcBC5&%; zhE2QOe>-D;mTa89^^JY{GP?Ui8rrbWK*+<}M2v=wycY(X1>Y)LjHtaKSs-hj=1Kjt zwHW+&Yn;*TWLwml3sVAEQ51Ry7xgo`9xO97qp@I(bqUsdikziA8<3X3^h;`}%!7Vz zP;-|B&L=p2w#cQ=>G0Fsu4Cb@p;n_k+$wD^zlh{PR-A9YFeX%|5pP(W^IGSu&1lXj zZJOo+)GR8fQcxrJ`AxSri=FvvSCmQumdl+fC01b?|KO2dtk;&9r!^}KD;x%O^f@La z`%W}j0+RghjOu>Q<$SF;S7*melo-@4-HRFd`y;w9Vm5SaL-f}-1Rp5#4y7iuaZLb7 zcWJAki9Qvmq=&*a6vRJy-l;2(+uL`fEAG(rcH&X;Z@2Pr-7$#zBi8YW_GTT#%I~zh z`*s?58`V%<%4tbfip<`{Zn;zJX{R2U33;x+hDA^Zt;tKr!H0Dci1)6+*X75bR<-PY87uRHQ9^^4PxF~lmm=MxF@__gf zxo-7b?d*Y-hc@2}w6OJA1oH0`gXMe243>PWwdDcIz6!sOzA^EpV{~-N<{n-4zGIP& zAJA_@NDpYn zIuL0Tx76)d?z$vdd$W0!#zSv}$%lI>SRB;a#*1zh%&)whL5%!h|41MoEtFeqkV-(D zCW--(WRLh(JvrshP4kR9O`i;<(q-q${wyCXC&S7M_1nx#f9YZcs{bOh&gX*Gm6{bB z{cFtz8#Nq#5SY^>bQ{f)b_u1f&}ztL=3lR&$Wobi`DE+P`F~;W zt%KTpzkSj4TLlU&#R?QC4nYb*gS9xpEx2oe;O;H7IH9;hu>c7gBxq^zpv4`E7k4Py zli$8`_nfn5&z}3oy>ri*+4u)m94R;e zni&im6N?TIPS2?y0KvLy`#Vj!YsEO`t0k9rMn=+uv%uht+7XQl7@5BSWcB?H)XS^p z^)WZdv4Hx4%qPAc^%~{T_^?#iETq|bDmo?3m|`Suls@CF4X$GX*WvN}@}G4vN+m^# zymK5~w6YB=|2q4(?imWUr-kwlsuB&{67~W@E7`EpWO)3Wu)68@MfCG&Wg7|yylPK% zD#-;IELPVaoZu}qdN-|PBi?7+CWaIk<%^c~PAe}GV?1$e3&p&mq|L<-oum-xDiu`h z6O+yvG)$9pW)4(_q*b{GiV9Z(aw1tlHrS_D$(w$KP_ebfZvUu6u!_|AISt>-uxN6#4X`>KhjK=JrmPhJl*f?FO+0AellfIwRE zN&@HiHBwdDSrLyz4oB(3^B4E6+=|C@5qsY3a<}Mul$K3zL&Cr-ljmOf*l{zH-j>NE zp>UPL&;x!=_2EKWrliCIk`39L#9|g) zMb>Rg7V46Zzz*ca&dr?haxaL9AYrYK`;^3|0_RyPsm8w4%k2vpmXam=tq}PJ#3!lt zem2VyW642KUAAa{;?(lUtW<<0Df^R@KQx4mnKezG-o#9e*|}Rvf-LEa>N^mc{=`KN zKRgL_F#5-tC3BqyF>YRs#V}7A#IGTZA^qyw#$A;FOpR=v{iDwwmCL(t`7X^(zs^Uj zUG=3trbnME5~|jCTJQXPlfRm-qvZ!z@Jg?qX0c#gEQu;>Enmi_3|%%yR^qQv$#%wQ7c{aX zhFxY}Zj|+{=o;N*-$vfoU$5`Y>*o&D=SnVSdQrxPj{GuQw5`Kt*Q34{WofqEU;-Ee z-F6;2b^laVg?Uj>cEZj`$1viIgWNLE3K&hDj`REZgR{oRctCAV{+&Iz=AcoQ)w0wt z_?U50czUbGePpIxil%EH`zEI@Js_h3;F;KT{Mbg?)i(2N`%x#tsRvJeh5Hdoy0a*n zbYFQ0*z8-*k^`*yBAB{q_hiI|nAoX+IlES4go(02LvOlxyRxGs=%rheQ=%fI-Qe5h zgMMoVuOT8-XnXs>w}jXPWcqfGhP+8J>xxxIwa9kK2@kLxc?r!fLw&CL3s4&rcVD>a zU0o1Krrnw=xy@5)Qv2qVF(cQiRybY2>1B5@^n$)`gq*jG6p|mE&NSZ-j*V3@5(%0w zPW%gCOSG8U%|cEz-7$L@D>)cTMV8|;0Y6T(l->; zjN)%1AI`Q65a_7xD(khRM#RcYKsSc9;O|Z<$Z3me^F7!7()BT1&SgI|f32lAnjMae z@)C{)@^J}q9;rV1$=!s<_ zyk6={_Zw#$Wo0%5K5P}tO%z}${3CV_YW5HjP%m{+!B z=U~l)L0>9s17|a-0VRG}c|v^-G(8*0)0;?F{xPIk|3Rr{ME{h%-Y#t)Cy;i`(Mm01KbU4Q4SDmM!ZVn?M^mk}RXF&C1uW_EWAc)$LQ zt%o5$|1&J^eTSAH4NmEE zx&Ux+I@nRO8{unQy|{OFS2dLtJhoG*gc=&qO+qU#96hQ|YpMB?mS9UhD&o1qO_#qu z2H|+R@ygH7LZ9`RL%t?SBDbYCbbBG+JC_dpwi5Ua`P$slP@m7lez`TM->}vKQYMam z7?ap2G?DpP(?W=Vvfu8ZmgDO({uYtgr=HX3A|5nrqVFAbBjXKp;%!k6KzAdEd81^O zPu(fAQ%%9a@H9p#rG~h)_uW8Cv0jQzjjuwuK1eN}Nf!>n2}QodHd>*}b%qq(t(1pG zcMAGZrItuBlY&v<9mSAHvvzKxM5XX=YJ!k_CY2vA216e1>2OoCuqe?`kSV<{w1lmb z^u1LtbWyQcz57t=7K-dBXARVF8{G?tSU48++A~g%PS>+H%)H&&#aA8WeT6xDm+kN~ zn!9)F8*JukNWW~MoxLKd=EN3d-2d^qd#v*t>(Q$Gh}~=~)wou%mq_QNdWt(cG`u?b zz5T67P{OD{0@p@nJ;w|MNt`u2YE+R8Zk+V_K8Hu?X8qYla-x;1X$I-^U^Ib18Gs@N z_D`(IbeSlbrzVtC&PqwK?BQRiXofDsG8%^gP^cS@_~8z(el)(NK?qZP)%F zPiLh-A?u%>VqTR92h1e6SpdJ(CBmD|#*^x7>e?B0n`F)+`VO$4>t)s~; zVJjco{mjs$=;i*&QcBuiz|Df^@Lzy6gJtl=U%>gT`lB!Zz774qx1;|Lp6|niJ%_k8 z4hd{k_Enj7{{jpg<1O<09Q32!x*il7bmeiz z6|~GWpJs>#EKC-E_{Xai{TE>999Frp+*z4scHV#M_>HP9GyKIj^G`4S<7x9JI+^?n zqk|R=GdWj^J+SQ58a<|fnS!?pD#HrGNy+{ju6wgp4x4HV!lr}i0fuvP`!p#{I)a2sw6X08B1!OS$GLNVrSwFNq%C_Js86>{S_hczSzyKXp^hq}x^}Cg4($m7ri+$dc6_R3)g}R;@ z$yHk|bKden4KrT~a{K{2#kPWJP3HZf??L4JF!Z`t+>~Yub_ASw^OX zMx38GIjqUFIP>U7ET4Zb?t{&|&K-@kJa+Ts9+|y0_W2fQZIg{CD$CVBAL>QF6NWsD zpQsbL?w<5Jg_Fy+E49PqwVq$~8Iv$r`W6jr=c9D-nD$y;J+nql#b|@dvKwtm$3XHL z$Zd@J7Bw?(BJU{psnvi5X*Y{|!X`7fd(2wH?mzFFZcdgZg3hRB>#xebF`W*jbbD~8 zXrM23L{uwflM>G)-R$Po2eVlHS|reVjD=b%%<~f|Wqh8YRA7l+@iFcxaaX%fEj#_5 zIiEet#W-W#mX&jpQL|=D`01k@f0Q0j*MmmX@Dq>-U1j61-$>NgejI9LQsQ_Tvtv!y zSFu{$NJe8IcuMfprNxK6^ z(-`@F3;3#9krf`2fSmV@c1JaSq*s% zpyc1@GVw+xS|Nt`I=|loi)8k_+o33Bq;BV1Z;3r;F7PnKNW*ppEvuQ1J`v0VE4XSV z$ehqbL?*+Oz8s7l6)>Nuwe7VYLA-TcLy6+~fwF$}i*SzpA%XD~d51TZ0yox%TG|N4 zWceqR#OBuJW~gUeU-rc(bffFrvaOJa9|Lfg3}!`+f34(47e{YPrzCtt2KC_FZqYXO z+wDW7UVgl^vhxC1ld@m?S#8orrUhKuI_Nj#>YIT~lP%E~(?XtO$&oP>FW$1ROP{62 zhiS6Y%4)9AutkpW-y z30Bm9gJ8@ncHzn1G;GVHec5i4dvb(P8&dE33&N7O9!0PvMfD@r1>cZZoU~w5tY6u9 zFRu)9=BY|s67nwa&Ql2UDr;G`Xcoe}k~YBZ|6;;-4cUA&-y;ZU>HhSBuD4FYeCO9hX>@ME|nxK23FrD5L zRcZSdP^E?rSp5qycirE-;LS=2^~hwBdCu}Aop)Lj_x4oQ=7q|?7=RXrBp+?z60on8 zi9wcCMLmB3mEht1%(u8KZF5%KwB1Q3YlL`c1@+^bJ66Tc>C~0|<_%Vf^|)nNTgp0o z$Y3DgFrqS)hG0RnAbY`nqOEl4!6II5<&!Jjzkre5K)o6EcbP+nUy#MEi8lt5E$4!M zA`_Ie6HpylXCWsRE3~q0s#F+1F84|i@$a+jexymIfU%=?MzgUEm88xuD$2E(&@LXS zRGJk;sLj^-A9(IJH;?q5Y9}a-gkKXOHBR#WrDZ^k^0_RjM%{1%gvm`H zz8eRLJ@8Manye!;T9=W5YQ?#&D+em+9?XO!Q$aT{ZtJC%A$10Is~$De)nXMemmg1+ zJrepEGkT||z(aERrJup(ZL_XR8Uu!3I^FwWa92V|SkPK2@y%FSQkY+j$GlL$z65dO zAoJ_Q`()NG8HAv9IIa1KUu~=3He{!fqCdNTYClWdXI*&}DD1JNRk7^J7h_2&f@1T0 zmSy?!fLc85`|y0u(n(hItR@Eh)VKEjeUVQEUDjwvotRR3hNDh>Cj5;3!?F&va6k5Q z)s_eP(pu9lX*z#`^laV;p1D<8Y98FAQPIEF(oFd{Klpor!8cj*N?_D%??oA0M)h(n zabf@#@V=%?$e3m_`$z&mplq~GyDnz(t6x6zCYB?J7zb_-Qgtp{h|svsCBp&Z z5)xS!f{oXPYb7CiN&p1Zu9cPG(W$L%Zg;!di*>VVtgJ|5yZodzYnes~G5?sePoCkx zP=P~G00oPQIlIrRM(h*s>Nwhx6-nh$)dKMsp0ijJfs3bVte%oaqS01UQVu%!-3ngR z?A-ENlkT0;J}kqdO`l{}!@9A`6Zh9zi%SK$$`9x%$|KPAL*OgC?Gm=roXzoxY|7SUgEtzcR)u@RIKZ+`fU zT=5&=pYCt{@Q?C$JE55|xrb8)(PzPDMp47#e*xD|Mm85me<6l5CM$g2A{=ME7#O&F z;T?7k7IKQJ5HauPe#g5}O1CHY#G%^ETBZ{GPWZO$t9anOg917LAQuku%qh<+qI9jy z$#~b2G)c@mV8KvUBJeS*u9W13%xIXcO@-k+Z+LZIN1!f2cM;q7pf3(0WJvDq}h&oPGK5muN8dKbCw5YY&0jiKG!Tx8S@)9Cp3RRUd&mF zpL1OF!~2#1_pN-bu{%9HLZ6F$cb{amJYA28(aU?L86gJ}6r`em#vftRoYR3-Q^44U zFzx%fj$wt;f$xdssvQ|EUqV>_Y3fvS#Tfe2fC($KmgfCB6y55vYIu0yrqo zET3}PRhl%7jf09gfb%Oj@pYBpS_}-%r6~L4SiIKh#^BoM{44XEu<`&3U z0FqZe^_w8iGnHfo{`gL_5(m%f%C?EMhM|=jwSdUxPcyRoLr?YI>y-%yre@$+3DSi$ zxY%>PSp9kgyjGfuL0K!$1mbC()$Ct04>$Vr@@+3os5zI0nulMc$N2fzRXP{^1=NR7 zegKfDbmbKI$t!rwt;rMZB|DbV*9gv1#{%c~{D|`RBYNlXKNIMD9+=NcUSat@M`*>U zYoNu+@j_oReN+QMTVaV&CCBlS2)1NzD;0RFsi=^3_|<7SRL#t`vnuiAX6J^M2;?;z z8jWXtAIxCT6glHCbIB}@CQ~SDMfIe6P4h0qM>VvAKYax}I5;FgsWy!nc{Ux1rfVB+ ztdBioFqIsAf$W)rX^xyl9)snA!UZR%97_uA=PbGH@S8U@qp*J-eqt7jG&5sy3TvkWlK+AN_oaiH)xR2hFiU)_ghpI zKSPgC*P{eg2I5?{9Q2LES`jTqZ=0_3ACo=kxZ6x?U-V-`G+G2%m_m!~s;`;`dLenO zk`=jCpP9{{x2}w#1!+FsBKJJf{oh*W zCTih}CL{(Rw4usLpBV_}3QbmRlnn|)+0GR(7G2F=jz1+Or~r5+n^PKt^nF1uT~pyr zSLJo)`?KalO$Hk(}QQ!9NUW z$-V=~g_bdf*}T@&ZYOnTuv$+KaA5-WwQuQcXL{iDV+r^h%RHOpx9hQBu z?@d(bYcfzt^y>B}@|EkyLhj~BP)mfh#V=-T-i@d#*s)6 zT>&L38EsQ@L_G;V>&f&fN=oIQMzjR9t2|nSdm6n4s0?eF6lEA@%m@Dz=`fiR+_i4g zQvs#a_wVZYWwK$dUliH29KFXJdN*rlZmKdr_14!^lz0oo@TO=e3lFK&i58jS2I5C+ zV6OpU2IXk@6h7mwZ_rTR99q&3vQl`jB;!z~Qfl2Yo(i+3$h7zRV==4r7$WpYi~Ut3 zqKxAMfEiU-DR%bwz8Ci##_?(cTiv~6r=HyFA zg{bZua?p~Z2MOzL2=lvpXxE$A8iz$)h+C+-uq%N`hwH4DqgYL>x=5O(sAWogr$A(= zJp8#vOCeMKVf`cJHEo7i6A7nD>8(W1$k~Q7xh-hl2Cop2h0Df1Od?#d{4+coT)|3K8@taCS1MdB zj`)M3AP_rN6p1!1Xq^?J9&72zdrZ$owKDebK|60I)6#~-YMeeDYx;#BbI5K5NosntK4sX-oYHd0?$L;;-Bnra8>Z2l8UN!@ zd!L$`Ek{(Pi$BMXOmL*7Sr1$4bAF8107)u1?^Ky>w4HVL6ukCzQCk%XzAJl&pY@?$ zsCHx9@%;E#ZZ{6re5)7w-=FyJ@%aCJetc5(l={7i{gy~uz1TZ96xrnW7vQ(y2R}=y z*(IPW2(-U-zE!_MoOzac_M~5KR*2E%wNl`?%}?}AB~HCR3=e;Z{QjRVqxB1q=(ZJbrtA8IRV*H zkbf6}-94s3ud;NmGk7FhyEDsLP9$`QDXc|xzFF2lcgOh~Ag2WME*bresTZeg1BJFF z#zwO%QdUchtd+|Z5GYRf&cv}^%iSg+gYGpBBxbnS{Ac@xKqXvZBaDCtLKZ=voXQxQ z{i#NlFS|miTTQC>`8H2Vc)+Zpz%mI`hLq2?Y(gLX2jY<|X-X*V8edyK;>gpEYA^mZNUT$?rv)@Dv&&Myb&3Wys`=pUN*bw?(4c&myrQ8yY0ny=s? z&tAp}IBm(DDZ#eFew1VR&%P$UiL`IrZPpZ$(6f*|RZ31@VB)rfk{wsm8Ed8b#$Kv8 ztu^tjtRk|tP>Nw%^twv(g$iGD?`PD}_<1`vM$R{ImhI3OR;w_8tF+S(t>S%R?XmsL zsh;lua{r3<|Mj@PsWc$-U9LGTE7APfiyvZ~=c*dBPxbhfSb;vG;ZE9+2a482GX2R! zCdc9Q1heiGlrak@<8wxuC+x;!)t58mGI$KV_0Z!QDzShBJwC5}YE(jk)aXQW3ytN5 za2dl|=GPoc)?}yCxGx7hev8hQ)w_QJ0xn)fMKYB;TfYadPWpp5%%VqpW&B6>)m8-h zf6FgOZX-U9&O5hfcK64%%bkPI?63^ODZMCP)p;)#w9=QRR_yd8eZ_BcsBDg2dVgYo z*W&tAlU&L9LX~Ys7oXF_=q^KVvzD4(s>83Ok%``-d5n(6QL@JbBN-oJ24Pg#5{hsX z-G>-eXdX}QVM{k`0_G?Dm{`qsPQxnQjvmlvrE{dGhfh2G96jDKn{kTjaSBy9mjynh z{8|&q3VLa1ySEVC$l7l`Bba*btDT_HEZx-pgg?$6_1T!F5a!RHS#37gt+#QQfl+Qv zQ%>JwfRLum8*q^zv;|~rq^|ROH+@Xzp1=)iiF?c4*?E6Yc);z?zm3PhkP|vG(|TJk zRHS{Pj;yQCVr?fqd-rx|MCGfkx_kd5a#ej}1u1L{s~8`nMMe~dLEjk4j`TsKPz>&%6K1DEF$HGE)psl$hj5Q8y`OiuqA1)e_pf0xL9{t=NH)7zBlwZeage zu5c&lXgc7uq>?^7h*(j`D|rHbNi{uqaD}XcX_v?|EJ`&>+-0qHN(w+&j%AyBcP!=m z-wGO5gmB_LS%@EVQ{CPI%RkN6e#DVHDj+tu#I5vD&aOz?BZa|oYbL(8%AC4G|9-ApjPfKfE0QWO>TBpvl+5hXi5<|J1paB+r35~giG}LO z6MBKb5_437+VX|hLfdr(WHko1ntsXYircPAoO^f=++# zjXvw-io?pO_6C2YO^d^J>yjf}d!1wqlTx-naArBdCMTlPiaIAP{DGgN&y((L_%X%> zR+bL!D766z3Mu!=T|%`7k~nse)g2k3rDg6Q*^WvC6 zGSV3z)mgCw&$I{(dt-oQ3q)>W`fQFtZub~@snU_^>UY03Z*-70^rm|`(@9k~+_c7K zj+g?ocKJeSw=bf6{nc-y(|tGZ^GdsjT@xNLNtjEK?SbYp>TvP**}MtIGrq+o0kMf* zT|}cCN9G%c{HRmUss6}2wTxk2Hz(};oSJiQf|k{y?H-(1t=&HKLQjz^5+qlsUi~vh zVUkK{NDPat1pNpNXmyLE5$zlDhYo=NlkU3Ja60{=Dwx5To#_=O>OY)v~QG8(ckC}nk^(q@r`306Pg`BAT?>7Pj93P(8j zGkAyxaP!?M$ysGTPji%$A^p%YHO-sltjyo2bv0!n#y0#7g$kO|o0(O^j+%B3zr?8G zN^(wz>%{?%y!-))hUV(jyyV)vyO7#~ogvncPg0j-{bjqTAs&Nr)+GcbJLR#gy3e;D z+XO5__~U2T2)f1`?pe8>>aZ-fs%94JGI7<}4_=4XEmpM6#T z0f}n#E+>ZNzR8d+V^5(|8w(vtFiW3GIFaKS!e*5O zrkv>3zKBV=DRBS3^rzV2(fMaf*YScc)+Nz?j?uB<$G_1zD#du=_#DLtEMNW$ zBAeFJ_z|$zYNueG0xx}_<;77DWU%_`cUEb?e<^g|){o%|?GG#qUL10M=7nwI{lz|o z)E+)dq<0I?>4ixm%vqy2V3zS{Cf{9*)t%CORQ0el`J@_t@mqZPHy+A2O#&W)D-R2j zJ)3&yf#GXP%Fs8U?XCr)V}|Th*z#h%nZ?BG!g!9d*Pr4kcx|n1pXlp6U1!9;%9mBZ zw2c@UuLi#~H`4vHm+vW<7!yok5T3?elc$4x27}q{(Spjzr??1TO&ZK@leHw}P%6xr zD)z?P>Fct1*n*r>T=lu(Z6@Wxf7;q`v{J9RdijEqHbB0E_CwNKZVr=6X$@T&PLFcwr+c@zss5S3Ljt_v&=K8i224;0_7;4>WK@u<7u3Z#3?$F2pT+0aX+ z&xF;N>sK>P?$0I1%U~VnbNoRdw&_cw>FLweJ>{{>(hK1Mo=P%FcVIV4(ksI1|T zj+CJVrPdHDNU;N-_3w>zU(kf$F?`Ia=Yf3!kumZkv1}txs-?{xxxqbvPMv*Lsko>h za3G>2Q71!zSq2C8hcLLCL?9!OSx0>gx1EAYNgXSE$>d=U6z~BJ_fdJRK8^A(C7T6C zoqkgo(x0f2IDd`4A&p9R4Ij7s&hw=$bE&M3NEHExFNG2v0Y0Aolv#Qx_$!j9W2~7< zC6&l02_+fMMqs|0>BE|yC&|@}`UOcfB!FZm4p%!CU^31~xl?!U4+FjJ|#u zl~v|#5Vd98!!cN|=Z4H@ije_6({6cwTI>xUyp^LkJuvfwFw%rs3|8o68|-)1eMsIS z6pmkrh;3JjiH(&9Pi*)dYgs+Ox}gvwFZsQFS5X40lj5P9H3l=@ZXh?fYGO!5ik)Ja zypt(MSX6@=Pn@yuY=gy&@I>x6-;{P*E6YL#y4I)^i(`6yd-a^H0cXQvMqcMOX6Vd6wV=gxdmkaek$TdIR$Yw%x@>5D)Fi{sp{{ z10N~mcE-;GSxTFVM{aitW+r~@`?S$Bum9QY5=a<&#*5DY?2rBSI}bvZbtGW78nW)~ zx;Yv9s^{$(;9fkj&;J45`f=4rLGgYjuf>daoJoUhfncnrhBtS%Fiz4Fw(uazTF2N^ zRVE$+N|z<&RghZ4DS9qLiOHZE#Kcgj?k5>FC=_}sBXd!D>s$8uF40M(|R5E%XX+9+YnxfmK3Zmi_(15J1t#-znax%QM z_6S%X4nc-#XjAb^_HU{fRN6QRxuWB`XEi-%S0LEwLYK@;Pi%)p5xd0~c7J>$OCb0A zKQ?-MirkbB2WG0>P(^MlkkyN!YHz#-bVr;vL*H;c+`pEaaLn5*RVDG0aeF6NB{5}u zoZQb@xczAseYjgVquzm7B9_E$MzgD0&uO|eP<8u3Gue#GpJpPbf3jLDJOVJwqP&%5 z$CYB=%AD2q^(Kfbw9mr}vZ{Rz^AA&(D{x?Ns8DP(&8t?q!SNFY_^{Oy>5*4jR3DjP zJNi{?iBT?rfkQ5*ir?z%0GFb!2Ee@+6zWMs|EsqI3XM$dOjP2W6AmA@(fP3PA^Laj zMYho8_Q7>4qq2lVTSxNS(`Wbo0!nS;(gp6ul!6oKaOeXlO@MTjm%}XrN9e)w_AekG zDe@bz=(8@&e{R7+*e9 z6Fuh&JN7P%45_oON*CaMDyODuwEXDY=C`@b3iG%c?U!BWXFR`RdVk!A!2x@Rz5^-E z38C!K*=9BW9G0|{3DQH=K&=s%GAVc(#IzII+S;)A#)RrPCz5gQob3g*3A6}&AU>F+&y_jaonA@2VyYbKAzL%Ygf!jd&eMos*GaQK*z_? z$YbRtBy}qF-dZ)ziCG;X*BJ)01zZv$ge5JAaTTqt63wi}ZgF0aF~kQs@{!gJ7&G$8 zUkf=xn23*!{siC9RF(N%;922e`kA+nF~c| z$fe@%e>Y*@^cO%|-a9*y)7+L!JwMg`7vK>uA#~*pWC`{AF*XUQbLUfHK( z=#&ZP4Xt4+&r66T)~&WuunrmEI7ZEf47_S&beR8lFQ76kwg1*GNXCuMNk_=5p&Zt9 z!;)s;$HFr7^MHycjccWdE|PpJUK_0|Y;`sVqhlEoV;+BF+dTJy{^euy=8E)Nv2@a6 z|E^a4pW%Xv(oNBPZdubkPKsK60)IB(%@_ncwxnkttaTZlx~96r5{&1$w36Vj|p z$|6$S4%KE~&l_W|Z8TNJl~Lhw?H}-XZ?R6$eHLYT{eh_M3rX{MZo$LE$g@)8)jV6o zxyhF(30;hoYW{-5UA+~$ONHIm$zrzF+`cqF|1;#K<2_Cv`UTCy!h%J4;+r{Dp`Xoh zv!?N{!sn7>7b-Xmx!dp%pE zUr*%j*}|Jz)zSmxxK%wTe*EO9C3X#2 zeTmZ@YTUd1QDRKrWDZ{MYNc6d%*z&9^`tdq&wI5=M49P4Tad&aXJl3iN|-5;;R?B` zNP*?KYz0_Uzp6K(H6M8WJmQ~aV`bniUjs7=lx0d<8=Dxom?kQ(H!>A&tgTN$bKY-K z9y{`d;Wso-_rSc_>57PRwA6woq~vQ-OO|T(DZ|PptuKe++5qBwoHRS-9Ah(yotmhY zC6kgW5NzLF(ReaWMT7E+T`22Hhlj9}F_@#76h6`Os6TXirxtEPB=o)lywq?&T~HUO ztIt!bbr4rZXg>fSWVdy#fu8RgiLy@`ek;&67FOY0W!?oAce~~+xwD`8YzYxJ6d1Y% zCnZ0H*k2496_wT{ZL1pQ`L}PCOc<_5R;w;_+s9T}6KGo}CQcBHUU{nRF)GXteKh<| z9=^STQ6pm1&bAZh>vrV6NbnZUnaIt<+l<({noj_?d+C!Z?`c1CPIz}IE=M`?RIZa3 zhAzntafPwkAO3H2BTEcQZ=yu}n9*!D>Hfa+-9Fipv@*V5izeptwlopB1zO(ihZpxa zlFxC=Qz5$kSmVX;HX1@vEi=w(MWA`as%{DSZ7(1`=kcJ;r6hLtDf?A8pT+N0^WmhQskrkbJrF)0K6c3u=mo4C!~jGA1XI zJk@#Pj;Qs>c1S1qpyY^uoKq#VVT>>n?Q#Uu8(QmU7!okDG5CGgyDQNw?dOWiFknshUUmS5p5hZW$T2DX!16>F5j6W{Vg#(^31TbT^v+ z?5Wc6%V*^s3lruuKJb3t6`pQyuWn9F;C^GzbWN!F0ylhj*`aZy7Wn`pSm2 zWW`ma`UF4cxQk~85N;pGNnp6{-FQjdg{a|wcf}-SRz``wptiI_m9@H_287CM9zO6} zJ2Q-N1155REw7T`eyJ??)-kkBLRWrRZ(XW2(yJZPtQ(>K7tkkmHDCMqX!`mJPYf7d zDnQ%0n2BG9@-#M3UGl2yWuzk`CSQ;pFeR2s_QiV`A)6{R zqmf~{TNLrV93z`;mXf@!F?cI82h4`omci_mEl{N^Wh)Gg%^a>S`x9CiFnFO`@cml1 zkoie+Q0~LGJ`HH1m?@1cpVdXw#DNVpt&r+=MvD%YAZ?BOZ2sWTG;jw7z-xMo>+Vu|oji=b?sGxUETU0A&P zNyHT&jYFe!{8}IOe>v>L^PuhQ+4B7yPv)M$K;}1Tgr3T?!_J}-8t6`@z6r17@T1NT z6$ls|+P?kr_^D<9($|5gXLub)ZA54w*K0F)fq7a%+nW5jB5? z;W$@=eFJLmNbTu1vOh48AgAsx9_D^=x>b^I8j7BchUlMZ!xcT%Ki~BNYi5teV$L^* zf!s7-^~N|Yk>}`hvQhY}x12f8Q`=ZNuKU-E4-3@)0{C|U4^rKq6&DKegCRYJi$fy# zTU_i~wM{jXhxIO3e*so0RZ=aXr6t<2pQ$DfleEI?Q`12XO|~gNag>Z`h)6KW@Kx+_ zLQgvp^R$;2dJ0jc!e{a#9NHmA7_Bm;q{37N6Uh15bw4i&#S<=B8vt_<`~$mloqzgb zyQe0|R^fKY$9+ocP*fk?XriSv>{`>x@6@b-gOBUAb&86c?9^AP3i%f` zM9)PYy3{-=#4r1lDHEGzZhbn%>vKMy5cnTBBjrCI@`SUYVcK`n!AZ4xY84wW9Sxa?t*w zh~AQR9~MU=CI()WUIK@36^R@E%Q-reS=JCvCCJi zu<7$-UyuyL%VaYv-Ots63X$=(Ywk;cbPE*o)YzAQbHx8!9BfrVBlEj~xGe{gaKx?J zirZDqbU8Ccg@%y;;I3Dk^SUM6!HBK>1yFKJ6Xd|T%5}4V^5#yKZA$4Rwq9Fz#g87? z|9Wh2d?5tJ^@FeOV`tR)$aV$9LLnQ1_+)Qt+5=<_fT0l_13T7Fnt;C=^`a1(Wf}G_ zF5bTDP`GXKD!yqiIMxdlDMIXtnwZkDuoS*n{ryvKSPP!3FV1h*u5zwx@>RYkKNinxIyL zzks9Q;5*nm!!L4g$^Fb6B!GJeL$^xw8y!0v9-N9zRIVK$#`R~WliW_3dk?SVa8x8D zlsSey#A;?ZnDTq#$G4~bCVdVfYiYYJyd8Ek9D*A0gRl0Ei^5PZTaUnl>&7G_hQsVV z66?~25}baSC1;jMf%;hPz07H!Gi6owli30XI-qf>Hy8g=A^9pC>R^e%FN|31;YcQi z8ngspE6+0wZ*W~)cTpufD>R>p=91@hxri*E!!yg~yWiOQ6dCieSW;jxG%LSmhD2Rw z=Hk5PpNF45<&T>ywhtZvzGa4oBCmqH9lRd8)U9N*39+Q;81hW*8gj%P`v+`d+H!4^ zbul@M7or6Fim@SSCKMwH#I8_v1{i&V4&W=cIgn0n%nTY z%--MKte)3VewZooF)aStV^8h!v;11s)gvnTy|KEt8)S3|op1kx0WurU4t)GC`_pg9 zhk|Q? z9N{UsNukpu+`P%vI!S)J6O1AF(-`Q#NPFkD5iDDiizZ8anHqpwTjjhpB?B66D~dhJ z+1Ae|3R09Oz4_%7MZ#>u-Na)I5&Ig=a{b8Pzw>3tbXi^I=w|Q?seiw;qr<4;K-Ov6 zK}yfQnimEwh-%%LYg}@=0X+(WitX!q-)ljT(_sUOyRibeEjcBpeMuq%l5sW*w^wI4 zEd5<&pthCq{6gTCcYC=fW)^ReDo#u@Db?}WKH^fU?IB>d5 z6s5370qZuEp`)+z*HTi-zyZf~CEgp$6K9(V;VSw<>K=sQ7Nwny@fr*)32~|BFBWud zRrtq5LrW~47Yz}_JmTtm!xmLif=i4>_plGon~-TGUA)0By@@K_wv+uG>z)C37^%>f zuX`2ihx?@&aSpVxZhraVvEKOEgZ9U`;>X&}N0Hn6=ljKDEnnufn!Rmz2KDjS3w0u6 z)21&B7HENTx1D2)WqW6-r$yIbodP45@&+t0{{h$3U+Q)E7=V>8*;X1LuywjT}L zrCqUr6iw<{8*-uc9#0FSMBw(Jd@Psz&7|$VpC=;wl_8~z-Jnd5v#lmfi9Ks8Sv}PGV2*QIG|dXJvbV7g%B4YlA9dy{bza1CuDzu? zSOs25iV3qQSX(;^es|kkdV0VlM7qB)b9JI4rD#W%Z)qbaK8cZ!iccOq&N(5DvEm$c zb)@OFF3{z!8f@wV_uK4Le!5{w;x+pUATQY2>2gOW2v0U9<$hrrY^`z=T{;{-ob0r#aL4X!a16Ci54VfFrAPO|6FCwHF}(E z#L;n6nM@3Dv+*W-r6SI5%Z<-Ubxl%(VkCRMvX1<4T;$Do*Zv3 zFKp7#|LN|$B_YDQKB(pCY)n(J=I%E&Qq5gX?Qhy4ZBT9G92A$7h!|9urs^?#J*KbI z$0+d6@~PWiPPJQROyN;u66z4Z$-EBO&jvTvQ&8t@-PV+y*9Ze`zB>pW7@7ic5y*bd zkgkr+EVRo+M}zHbp)jPcUUp_g!(&8yi*#N2vZw!d+_(ux90fbAzyX1Wr#}St*l80; zzN6gX(@SU@$Pqv@3j(=0Ftk$@xx1Dk!~{{rTitAeVe9xsdB+3V#*p*(7Z z=;}e32@kQmyzU8RB-#K@H)vQ`W}P~~Vz^;D5Rb#!5~?nB9SxK|b<2D(!~^^d*mZRt zbH*}xEkBAC5+cbK@j$E02|AC5^wxwEk%P5l9}ug3VbOr5sCTI_C9=cw1~i{H;wr$) z-|BCPM6_IT5zY+0#D%8?w}B1YGZWQKeL-4YPKK1E*|mGyub!6qi|nCqdGSC;6TG)y z?_k?pGa0qA^ZBxp3O6EBcw*^6xi2^3)P=c0GxQM&LH-ZU@(QFq&aFq(8_w3qA{y^!Gi=P3fTXC;H6 z=Q(%SwxIf0{E%G?m*yaFrz%4Ks4h*Q+qmb=QLV*|~JKN#xJ&d_Nh78JEg<-Y&Lzb13W?}20 z=hp1mXs_|&Aw_904E+#X4WIwjsQvjz4USc*ThtwQr2Troy7IT{C1bABB2(}=7DiY0 z{K};j6p*OI)T!dtT=xefZkCg1PVn#{!MMQ$JFfsQ+ZGFNJTGsI_cl(ZV$Gx?RPbN0 zNSrVyq}d}$Uy4NB{rPi}`o?MdRugg^taWu?&ktSHPu~6YjZK^N?80_#T3YrHZaRn} zM8fzH>?NP1t?B}2qSqE1@)L_Qb}SJw_0o^PwWvp%s3eX)b!{r&bq9*X{+_wy(&YtH zHO1q?S`(S_=$$Z| zr(%kxwBPBZ{g9Bcwze}XPpe9qAIIQfb>5b~r|0AZ0^u~L8nI_c84%v2D`5D4HTuDsw* zLKG?*!4j9G&n2JqKA9F~OPl=9{453EF-Q+>m~_(IPqQ|zC3x;2N<=^aPU@@cOz<8XZoSnKdS!3pY5dH7 z+Lb%UpftW?+1V6P|9bBvPl;?fAP8o>dqTM|zqqzelAr;QT^jkcEcC6pr|b0K>f@=o zu*yNj(NUo2-Ph#+@3A{~^S8p2cU1>>nEi$zJX}d?B&KqADegA7w=f?N-By6t?i}bH z7rnJ~cK?6+vG4vI6yI#L2f3Etnq4h5E&pL%`U{W)wbcZ@J^Kq_NQk&Ee=4v3jsIBG zOkmRBo8K_KgD)j3cc`5~QlY3aIzk533eIWfCT8zVKT2TDx=8vT?7eqTQ{CGxjQZFq zA|M^41?fF>6s7kTLJ1(fB(%_*J}O8L(mP6rkN_dHP?a94^bR6~5}I@Y#gpIr{qg>u zcg{KA%s1!zTiuXdo)6{(8RQ|VZq z!nm|~_&9x9XQG}WUkqw4F7U2<9?!#r+qmSku)t`1K!;a2+U~CoYVepI&Ft|!_{-`y zgC0%Dc1x&@-XF3ub~T#trHg%b`tf!mWz}li$D{1K=RFN4?`=-n{W^c>w_n9MzIOWc zdizTCf4lGP-ms?|K$@d?&+Xe&zo)6bD3P!cVyVBg4@h;;=d>x$s004}`ojLv2Ue1} zNzRP^uv9yW-SQ0b^smc5WSc$UQ_tS3_BEsb-8}lYX%yzU==Fb@Zdpe9;)RysfBE&^?poDk@wRN`@P+1@1`n07&S=@7+hd-oUqbe5 z6yO9%CJ14#nlX13xZ{8MIy}@T><=1GPq3LRs#lE@HNu`r~=te7&ETU3R)=sEFk{M>pgI)nvbKZk%O2B}N+#Y}Vlo*-o{ZJNT>C5@)j z%mDTUS&Zzo7)81&gxLZrF~RMkZZHH?sd}QSs!B%oR2@Y|-ubE4@hB23Gi8?EZTg7(r{hQPp#m;g%8k6`Kv%Y{5eSppqXSXhkzoU*bne8_k_2a*S-@ZP4 zRQ7Yw@zCWvm@-mP#Vrx4B{?~1S;CyoFWB+1hM&?=G|@XJXR{{f!yEZddWJJ*j6}Md zvrLE39XJ)#y`%T! zjg|H~dG>`LmHex>Rq%x|c-=CWQw)B-D#=|__$1|D$GRr)eyjPGb-DwQb-PL^vk;x~ z8``RgJ+>A@JY&}KzaaT9xf@DuHYTij;k~D7VXRlZ3G&ox|IrO;ALrxCHNApWRhl&L zBRX0?${ts(5DPzc7vh!; z?(pn1xzpZysa!W49lAnqp~la52Iy~6Mo;XiH(&TZO2wV5#4cLJnWiW!@V1np+fjU4 zgpyEkZ2l(ynNrS#2S*7{!F?`9k*IRs(V5f;c)*9lK)Wr|r4P}81wz9_sf~yYa!BT1 zI?av`!F;^QXWmEuIez~qzFk`@79*`;OJoOOw8g^WB&^toEeSZ*APe*%)y?-v{EK7p zO#RJEcEDxn2sXRSPieqA;y5q0o0e7@Kt|ZlY(@@``Blm4MHBT zq!b$^L*wC)p#DG^`g`9>8jFr^YUI$ktFPS6)YkvNQ zSM=V_YC8eUP{&!R1ZH2>>j!4xqop~Kp7805vC`X;-8`OfP)5*GRWsWK>Y`X5Bpzg0 zbP`+quwQ#48LUut6$5rMqwNH(?}xfi7@a^Gp4w7kqvq85Tg_;pZ#NW= z2h2fVV&lG{6LP-cw%uhZGY7LG#3)}dL~;xyONP~6vK9ZD@=^|4JU!3-%J3R`XhK7|!vdjKrf8eJy*wG%jq8fvnIMC4qDOMeT+Fz$wpdF!=fMdKRsrlY(luJ6@w;Do6vutuRY@bC4=)XD&FCj@85Q#|PRP!&X#xg)Lx_icWNhxBQRcJa@n2pmc zq?>E>!6l@ot>Q>@gsw`BVW;|eUodpAWdJaIKT_$DZjOEJwYR^pHfWK^<$nH=3&~X0 zK(59LgikYDesG3}_iO1LlWTsi;xbUBcRBE{X_3G2wX^eWX;RLqAee->3s zyGUa7sNUNelV?>xROC%m|M2{9Vrf4c&1$Z?#_4@gIu_ID)xop2E6g8Y3x27y+LG;3 zCN5;x(dY9@aUlJM9pGc_&sDSC1nB_*T~b0V-WnRGCo-+2 zZuSt>HxKd2T$1@;owAKeb3T;OW&q$2`^OYc{}ba3+n^9elM?E@em5hw3 zs)igA=qm6{!J)~+QfNh3)ezia&dJ_sF7@zfKvO=Y&Kj}Vcm}?%&uqNK$8@gA)%~$&x<5US%KM4B2Z+w1DG+$lU{RgmMhc%0& zW?tNmPav%ek%%^q=#%}Q7gbk#p1%W=T&^fZezu!E{W-^erQ1b1J79=(c2c9H$5gsY zP2SoF4b66(pAeuiWvL5zoMI$06`No+Z#LM6N`5Oz5;N84{nU_+1Jc9OXkaTki8M#b zY^+-K{U)rpf{l&KqjxdfX18Ye9mO70y(k+q8a#M`!jIbr^ttreNp}n`oenuEC(Rza z5m=WRVqWa)2~+@WS;3}9&YeX&7-6v<%#)A$FF>G zt`~$$xkQtXh?fJ{Yc(}^_`45I? zTceZ2w^f>4xsn`%0vTo-Qt6|nm?=9kG!xad1GMXd7CnbW@oY?DgT?Vs?vQly(x`hOqJ_k=8 zf~9h0Tp3yV5GIN6?^6MTDUqD_6VFpE#7tv~YU1N=Z4j$?=QHWe)UeI>#>*v_*dE7p zSDEn^!=}=lEMfb3(kQ}OPrer*@qU!)d=Zn+=feGBtuflu;*BOQt~~TBGSm8a z^EiFgS<2U`bzx3F(>pwAQiA;D_!LI`tdHWYsV;#@zssiLPB75THjuaw?)@!Qk2REo zAvvxO+0BV0J-1OerE1j*)0aci&9?&YYRqV&bK&77ssn>`qXnyZ!wR}tl*_3}+RYLs zdL@*V%mqlCu*3quXYVd!y{|2y$dkJ@zV@||dYb?AM4Yt-C`(-iks12Qxz z5h%CTq@ugy(?Km2eY{zQb=I{4n%~A8lBfHybARb{-eJKx5pGT_dE7f{PRi0xn#)se zTbOxdk(&Jy1O?B5khAg*m9tQP%_%VnHbKb12HJ9{-sJ%NVLU!rOEvs0AM^buL*TeY z4bK#J^|w)L!00wnr)1aW%JPiJk5-)D@;-En_rtoH;3UNe!#Q_Y3`Qb3AXOd+vm|NL zsAw5TRwVoqT5B8prgXTb%KV|U#H9)0c_=+3YN>mnh@S0fsZ`Z#x7vlXvlS8`txi~A zoM|TCFo=ma0+FT3lcVlYI&n!AxWhkOF$r>IPCfm0DfWZz=O8C&kzWPmOYmE00yRJR zc}o7(>q1LUdBEl8I>mxQFyU5TSw5`yv;G|CI{4R%(JN9aQ@LIC$#mnUQ9`>#e)Q;0N!=&~!v3L2J-pry~uypTgb zS%s^c&CN>0(UTDQTFM%!l(a@YKy)>PnPN#N-^L-2Uccd{uglcKctdH=w}esoQb}7M z=D%~^f14QckoWJIG>O4EY1A=00te^(uXof+XRTY^a$n-0c6KRpW$%5mA%4;~Q3Kxf zdK=5o%Mah3P%jFQbBBb_=EO~$vfGr!x;I%YTX_tBH&e`3i}{f3$HNM;Wwi@pWU19v zzRlMS_BP40>fd4J^nIBjl+2MKy~Z=0EFn=XM@s&VXIl|UP1I!39bo^1jaFlj-Exa$ z(%@lkN<@Y@<)paV2q8sVx5O@a|6bbWyS_$z?6Alc9_m!_m>`+1S8{*aNr6!>BT`lVlu)y%X`HQvnA`l#-ta`- zWah_CY%abFYgM;WVv^=YMU9X7&Tn*o*+H_rn~h11)~5(~(y6(w24u6o%XzJ4s#j)w=NTF{p{3p`DjN zmFPUcMoTMjnbU95@o+U^!Y=bv5*~SeyChz3HYRmI3)6LNWVA?xGikaqav*&zL4;dbN9?4#M$Wy zUB_1Pc+%`}e44BFEpDhn@TWc?*wM;Z*it|kcQ3oc0O^qmFf{4}Omvy*9(Yv*x5yEa zgN@|_?z8hXEP~_^6NHK~FYWivi1LG8tJ>#|R#}wA_QVQK`hsLws#M%$!_IJidFg+r#D{0iPCwCd zfV6zEViK0!S?!wrw0myO-Heq|A-*K8H1Ss?ttxgnD}75G&{w@OuU`9zsr*p<^re>A zr)ePTNBdeok!$F3%%f;aZWUw8zgk+XxqY4xx^2(rRXe-2wG>};d5y*l&1wivgD<>( zzk+C9DW04iZQH(lg{ixzKgf=OwIIdGz>!%H*=Db7xcZhrT^7z4t5iJgaVtz$3o@!I z6tUAxYtI~P9((t;c0uj)_8LMAgINX7TTbJ%*m%O~^mBxZ2XVq`crr#W=I;zQ_0d6~ zw`n6imhF?tc1K^9C;H%k2uOn6z+f67TtvIS4BKU)ctaP7nUQAQ3yVJKi27 zQYTd_MI135vnbiHn+9bmzB1ntG+E7x%Z_4fcFcS-{p6zHLw0&XFi}JtXT=Z*Vyv;7 ztayj7{7GrqrxczuGFDeEAFnYHwte%##J&TUU-Q;mYXi48l!c{tCV0Pd>5GMHKp5h- zlahTX<#oSxXX6s@yA@UVfs}nyR7n_KZO(G?taAR$8r6p&iEpL4D#MTuYf7Sa*^GP` zQc&aJ_*n19%Zda@(qsyw_E6SnQGM7Lt_nS&dG4HSD8^R7{q=2Zy{SQxZ#lH)gE*Xm zn>|n939rP1#RZ?!y_DnN!5V#QC50);b}@#dT(YOAg(rs)#1n2D#Jh4#%2jImUQjxa}tInW_YlfklN}W`^C#_B6H^e z4fl||y0NTYD>G~Lx+E#tlSmWk^t@Urj{_;o+vBhqj0{j|O`$ciE8@S5yb&LC85f1(AQqc3VW|N1DnY&-y zOzdPTAFq4HpGpXGWq?$Ibhu&wei+_|KG$$4w5AOWs!0rAc|UD ze~q;MQIgHlRtVi{HUXKXk+3%~{ghT_Nl$L!#JGp;se1)YPj+J%V96mY7oM*4oa)J} zs|}Iq@bmHSJ%krUAG6gQ)yC$K5{e2p zC;QH2hy(PMQ!a6u!U1>|$vm^+B!JoHu12}y&R5@V81k{{?F*JdH?^$%5h>G0!s9xd zrgTZz*^g2NTi?!Ig}A85G#so-JkF`2oX2;4-Uf{Mmq^UUldVhZvKjt}Z8^?}_@CfCRv zzbyf_0QU*m8tbrUB?eTE+v?Q&tkwQ`M!xv|U6$gH$mI9^xpc`Rmum*^gS8F@Oces}-XE;_lnKD@u4BC=k1O7{&s9n61bZ6+jM zS-b|H!v!jX3SLR!(krMMBdbAI^yQl3U zF)MK~3}~;aMDY_{qssbgX=|nW^@LnzZw%?0E$Q|tIuytArqXde9(P)jb>7rPrh5FG zbXlEd#r2}yo0lkUULQKM^bf1%y?`Du#V z61=5whD!%CaERv+TM#8O_T-TrYY_C>$1gSc*a}*vT3d?sO*xSbE?Z%`CF2fv87^@szCBx=dX{Z$Enj4ORukvZm}`h4^^0w?Nm1&RNyDJ+Xy{_1u!jl<`4BL z@WU^BDD>#B*K1svQhh35>#g!CG3e(dhwMgGz}{~E*WFuTE7U;XnNGSg$Xh`=v8uyg zVzX~12#hZe&h|_8TBpu-x4aElL8=|lDO>WVGOG2JAOrWxnhfsdN*5h9C6lLW`S)-t9q(p-dmyNX?G;paakwm2 zu(F~=Wo86q%~X=QbiJX5U{Oqc&8vOt&bP56I=Kby`5Rqx;CxuJ#_SLz)svj?r27Y_ z0~zZF%iHW&IV*XHsx;dJefMu_Bp^tS+v6Tvd78dfzk9 zVDC!C+Ky6Cpa`|+1A8W$#O_X_!xva{b|!P>v|6;6=3R!2nDzF_B2&ehMvz*~DNeO= z4Tg6Z_@?MP6bH?D>_&|jukJ>10L~Py%Sae*uuq1by zxGO(F^`8IKX3C`bLFmf!RGH|&DZ$m@dYbOU`Gz1>Kv^-leVU>06stEJZB0xtNvNK5 zoE=n?;h5rd0wFWR;}%ot4CSL{ADvq$8Ahjch*MYQig~|l@G7T>+r2mrQEPww-~`H( z87(B6lT#%9G9c56*uq~|Ny^(-7+S4q^YbE;dR2n6p+#2OQ)e!jg2&}%VG4vNxt&!n zYsf8dPpDh!YIJG!wQFZNi(V}o6)u%cA&Wc7Y;~_SBT1QSOO@pc{_=P1GO^XYf|E|M zFU&1~ZnZhC$spDK0`8+Ch=kYTc-JGB751HX!k}>yO{F5dIO`G02zP&bu0r5j9wQSv z6s|^qW|g(a%c|-SvgHg<<~$gIfwm{~-$+f1OuJ z;x8DJ>|EXcC2RbL?AZ_Yi?qQ17v2NAuz%-0$a?xN_DW=m>IxW1@@T!u$OQ1%m;Z6s z6&Skt;P%cp`Mi@EdWJ=f(i#3GSb0g(b=&)ws#`(;Cq`j;3AYq7?6+fwFV`&&tR=oO z;#@oGF&w5H%$Zw~ZSFC0f($PJ@ef=~zSG1go6h>jmg*HJmr3&`jUV4UY1MK)_84vJ z1vu>$8ktMe5wrHDTzLd@N+_eb*0{YU7a(?M@|IX*$APt&FAkYch5REDHtS1%nk!8Q z^VpZ#Z+&Ox0>=~L}t7ygPdyXHSnwiW10dwqRu8fOc8M<_l0 z(poTWPd%XEZ=tk^c;dczwhcg^!&i^Ti3>v#LS?8hVP*b;k)ocYF#e!gVY;6_?dq(=QR8Ri!1Uvbw>F zTBZP)GbGS>6qJ}>=U;ruQ-OAhT#{Z2vqAYTZ7*5~Iy1?HSGWWTvEtVqxC_*Ta1@|H#LA*Q)#D5wCmb8A96mFkE)_DZ@&* z$!&I5;WUk{QYo|P(+0RZrQKSwRTEe-)+189d_zW7bdP6DR?ItsT2{Wh@8QRyy0+>~ zXlKaY*!(FIp(2^tv4+PL5*KJ+s^}1Fw=E^)2|9SFraI)*c&ItpO`Lu2{&gf*u=ITi zGnh#(wk^W*G0@pC)^Wr2Nk9CO19h7BxuQKq6Eo$5E!hP*@;Wil>HA`DR}5RT&5&`ZI5V~3&>@?KX&Z=>aDl9KB}5`r%2btAxqTQ_ z3i8dW<5gdj73gaC(TX)Lwa$Ru4gJwDcW=j((k1?fE`wmf4+G~d;g-i<@WAMdZaIO+ zP4@&xw|O;%`;}w%%#=I`*{NR*?s^cZ+Jmz{AGW)j?quIjy11gFh<3I`30&-X{MIV! z8KE^4Hr^O*g9e(%~ysl0TN7O9ElP$Hlku7-Z|15 z+tI^Jh@qxkKIf)!JIw_SI{~ynK+I4AEmBhD#dKBwQi4s%!d5rJn|ozXLYh~Q2sbs0 zD~vig%&?2}C8zEr4+zfN?D#{5BZQkOo$Q8EbRC9YwIQbugFe01A=M!%I=7&+Dnda) z6xN8!mL?M*6SJ_muwzknOw%};Fe0gzkSUgqNHgUUPDmMiOXHsB*e0s;v?CX}!F|M@ z5h9U2Z;SXo_rurXcV+~T4H3&4!uT@!t)z}%%0eOdUR{m(Zqltp!>-E?8MCBtn6DAc zWR4roU+~#Zi1~`?`0Sv#s=YYz`WI^>{h#{Zmw!-^GAA0)=Zzq3nz^uo2KP8kH1+u&yR__O(k&JhYBMa=2r#T&LdssKtdC!-F3O{7*r*Mo{p; zuH?yididIP4Ap zbe_|x*=ucAu{$`M{1+&0fY^ed_I0G(rZU1C0$LBYljo;nrX_47)jBithjE&>YPKXg z!C(CW6jS|M>gLdzD8=v`r_90p58UtQQXTwK&EF2Ou=jjs_AbJ?PmDzQ_vOAeNn1j( zsJE!by7Sd+on||{NP2A7(8YC6w^DX6=Y?NeB1_t*Kxy2thSTu4F^^38Qj6GVfH12U zsbUzWCFyrNG3{=Dk?%=pw?0kX&kA5wX5G#`i%9`tNn|#RgHfXQ+UfSEZ?X~-kHD^xN?Ax+CZnAN~*7*Ao+vm*-wK zQM$P{k`|awN%V6ElWf~uKo=^xocF;6gUaAYOv#32|lNzg6D+U5MY=xN4C3NJgn)t&9 zVRLBv7JN~;R$n&JG-Uz$EKMi#humk#|($!^6{8DxuLvX9n7#v;OX6WGv5UdG#G9T zyS?S+jR?~TV*jF%9S=3(QK_2{uFTeKD|Nq<&2kbf?EP2ur0XWFKw5un-$n+`88Bk5FNIo59EFNsB9eNvf^)cxq>>HP~cMM%78~E0rik>=4 z*LSjZ*L~ZpyOg*GQ)GQ4cPjpc<}a5Fb3U9}B^}fOJI_tQSr~m5?uFsGGqYJVQ(mjF z22%ZdY3V%)+u-ub@q1lhn(JNjrIg;_Ar$IubiG~wj%!(TlXITD$r_h0Ay@q=3b=32 zt$_OFPb=>FjhH+}EFEtSc2&~e6-qan_TO$xou?PL)l~)I{{RO9{5Ga$d1iabnl>tONDNtY4x$zlGNQlGO7359e@(&JHFaArL7 z&IxJkOJ7ntY2A4A9;G_AIBayL2xt7uTs8Q|bL}Cs!d1%x6$886npRts9-i)cGTZ%F zf$}rgbfsI5j(kT|A3xPg`z;?(f4r85o&m-OcouExTKQDLm{o@-Z*y4L%hhS=)*kC> zVWR!fsnu;cDRx6Sncv6FYbE8X*joK3M+=$T)^h!VIKWFS-D-vEDbCWCUys-724+p~ zB@RfZ7ng9Cc(~U3Ck|$9b|Tk>Yd3E8h{koXU_|}yE{Lw?{Js5dSZEiVQjEzg+6q1% z@XP3DH+Zh|V%A1oMrE_I?{t7JW=M)LqB`^^qC)$#BHlZ^di74O!(`+*L$4TusB)vqy=MbQX2bp!el=u>A|}+v;-3qj%m>*K$NJgy124q!|54-PB5gw+9X?PaE`A%T1i^2!e>< zNxOUVM>%)S*S*1qsVOR(tWTvs#we>ys;a^@G@Jd{m*|I?K|d8mK$Ajsin^_?wSMn` zlnaPXbGh2lQv1VG^GO21{RL|0TzB1|9LOKveCLg2#U;?U(*`ErQ{MP_ht<<9yVwd! z70q?SvFfRXoRRFPmcvj=y2{J}bE68eE_euz9J=I5cR0CCL2pj;M!<3)*~%esD&y1fy=|Y|2t9z7q{Y(ciX4^FFX(N`kuVT}p98CO0 zAdrJA0zR5GwpF01{)4GU(SpTY8f#2jIAkF4ciy84fm?HK&oMVr=JV{FDU95*sO}sf zY_Rs?-z82<&Ywe;(bMCRA5ku0Zvcx0E?h1(#zNFs${c{+y0una=@QgHSf|qaU0DiD zK`!i9HaGrm&Vwe+0pSvb`gIe30ZWVHVP2b+4k`+?)UhqGwn1-RAa!0Q-7`H&!e6k? z@~+^}eeShpQ{e}y^MKvOWPuC{^1y?^cfFoVC=v&dtkr76J!eJ|?G;FF09E20XU_{V z&e<3ii*x81!M)l3pE<|>zx_s0@;v}h5;$6om0#ZnY#9&X>EP(cTSkoj=DxGO>)$PM z#{*YqIlW>c5THL~JK7R{Tnvu0NiRe!&9f2$kvlOcsi{=)so*+=Y06cHEQg<*;a>)m z`cN^&y8cy6m09RK33!rTmYk;P-a}oJL5T67yEJ2veRbog`07_PPerZlz{wCHpvhhh z-iO+>$WQ1_0i|J=?uUb+UtjoW09#r3z?;d44_rVqcj^%}c5zk`!27E&?rr$DOTq?r4E zDWZOd{ReNMm{RK>GIr8ET^u5z@*nE5{}-adzscyuAh4 zB*W*j4Pp7(9QG+1<*TxIY+jGS!MYXQx+86m)+DAn*(6U>#_r3M2tgY7L?QU)`mHBJ zd(6r^K9igRyR^E4Dgw1&0ZA}U7It!*{6lAgtgPJ}v$&@s8v!%&2xJ%%^J8bIFk}JP z0Je&L>1SWvqeJH?{v!Q#F??B-D^zE^WOp2%K zSWDRn^8(+8`t+$#nley^X6}5#j5odNUEIBmG}HV zx~=cb(u%6}G#XV>S;xp2`R1K`_G-I z?AVh8&Wv!=2VuTfmHEbhlUcI=b0@`r95F(V>>BL#KX&@`&m;bKH~#yk{O5$C2{Wjp z(m;c@S&s#Rv|DikTl$B543k?af955*gF zt0dgD_PChL|N8Nhbp)Kjr%oT4Hu0ocSJ);PM0)a49;lJR;DSj#E(hWpLTmPrT-yE% zVP$&5nmemP%Tito8yaKdMZu+&ne)o~G5IF2Y~UuZe{m74MZW0HA{~7$TF&N+rHD6) z$2#oJLAj-{NfrlLfiNW@M~bYco>kpu_WRDjSA?rYw*#0H^nT~=2p?f4A+o}vt(>LJ zK>>NhRDcvjk1N&t2^6JGg$X!d)pD@FkPLZ^`Jc@DD!cI69<#lOB#mK)OVA_q8q|E& zHKs=(gd+ISUOcD)7kh&jz3+Evad#AWU7*2k|A`hBJlbz7uA$t{rCGMqC~!Nr_Gt6; zXW(R0<(#8a@d4IHY!qrwyNcINtZP#ATV=O{$GQh1u@ z|7E^JFZA}^pSvuLu&OY+6pmtn=O+`y@t&E&&)Z7wyI|0f`s8=&cXLAJ^J74Mw!GQ- zCmLD(mX(;-rdeI6ys}|cIrvw8oli@mHT|uUf?_klC#)82`SIEGMiW!p_*Wr`N}UX| zg|N{t?5SLZyAG9Zor~-BGKPx_L9X)yI94~}l|DM#ilS2@D*ruxdfNM^yq7%y!^12- zTKA#4K|s~j0b?Xoww37fvu6}r-S{fA7|#P5K@)0q%@A}vv0 zoHLd4JUK!l{Jt2|fF-Q4G>JOMr168pn89U|N@8VhZGWHiE0;5Z6EfV($)h^YK*6Go z#5OeLv;|;lio+A5_|*_oiMheC&bI(wNyOR?G@KwglEboT+s|myh!;hMweGxZ1&<#! zTmE3bJ{99zkjY)M1^Z&fbz0neuH97y&5QY(rOdP@%_Y|7Hjhui{**1n8^buUil!&dy!4a?LBv$xey${SsZb z>plLqG`u7q39SP3a+^!(IF*|@Ip+^MM!k?Wrn0l9zk|w8;@1;R+Jf?IBwLcG?QrJZ z?XZQld)TxQ@h>Um-#ADF2kC`ht#T-QF$Qt8oscq+PQPLsL=YRPrvTQ22p0Lh$iI}_ zzuIq)$$!XSDwq_KT*Zn+z;xa}NsWnFBTQKw`vmUn!ewgZ>3_UA{>XX{&|JAE&)UER ziO;H+zpY%><|dnDnRhY}Edjz*!2)r%zVI`i1TjQ3%(3CzJ-_y2j%1^?{lZM5X9V7` z(s}$;;;edb3qU9&FI!?6_;h|d9xJyeTE)2HOkT5A_K_iq;%K523WM}NgWj5%oH*l7 zOb}S3)7|~9r#MAEQwh=jmf>mbTcLMYq(+t(@^Ga;!_zjj!YN^ZnT#jivuLj8=IBgq z?}ms(gk}x7b4?GasFCR&#a^_cA)R9JXoSWhy*U0o=*Q|2 zbj5(V(Y{`_0}le*Y*s?Y>2I;!EwsjO_vau<4x|Awr~iphS^iKm>x*n&QVrKBDRF{L zW|$@E%Kppc+}q$fCwmy#ykJ5i%KcZf27xC*;3Z_cp9vWm+yB~b{r5lrJp%tXkASS= z^K@AIFcvkoeVArG-OKSHA;zsR_1+6)7QlB`$Nr9J!ZYHB5$=!tbBZzM{rfDR-caT{ zQt9|E!&=-V@MoU3flAO90rKzHJgCmUeLGYF3z(@hJ@OkR!hduh-C+fT& zy`qzniiJM8c3u1N|6?5Q4- z5cb!y9}UR+HiTzR8FzRr#E|k|F>d^?RwNd5B4wNJ89Osa^djd>{7NqKqo z^Aj4W>p;HX`X=a;EDT)2$!plyZg|oj((s&<@969{Y|EZI%Y`S&aeV!bT#g$MJ#8_X zP`K&ae_};LO*?HNEcI6ryKNgi|Lx>7S(B7h^M^Pul?6=&U)-IVBK{1%p}2k#t&dfI z$PhM!?bn-g>wv9aipr7GK8$h0okH0e3qa$?{Tcm(@2fuQg`Yl-pF#)KjNBVyHU(+b z<^7x-#n{1%%CDOq@Y&1OzWkA)=*CnF&sDMRBU%@O{}sAVmA7iOioiI-pZlc z-~rT%PuvoqwzJqf1&ry}l z-y0+RQY}{R7KbC=^l$cv_379j1Ax5qZs|WC`uw)_)vJ4I_3P<@i1yWo#ckbH?NkuwCi>0UC8xt2Cn+f68(YuTMW5Cvg zyJ>hQe?baC^m&^o!L?&{M+~%6WgUKEkDxUnFdZju5(4JwTG22O*H__?lQnZs)G^Go zY{nnS8kC!H>_5+1XV>lY^6-`1UwzXyOLoNL8b!w~b}a?HUXQB!W2m%))9zY+rdn$P zYj;kSVt7`v&en6;jW)Ai4IJA$+54rZ`zUj zq}4n98iT~2dK*}!jxHf2^&UBEb~>PWDSQm+Tb<9tK+l+b(fkc8xY&2a9O~aWu7s=6o*Mw>Yi+GUe8HyzGuQdQftlzFzU z>%j83Tmvb8r%3u38jl)~k^KnzzrqgR@NA6k3Xy&yLXFPp6VaZePGfMgq_Ss{ za+Tub1i$JWcSnwz_1~ElCjYi5#NSWhd=MA^7ARPRa%Gp0NJ!|~6CZ-x*gD-GW_xb* z$+A=cUh`?vm~czRclP>ol_q(0vF@4yTSp3(+F;yJFD(~AAg9|+9N8xRcYHKjGz8GYdW! zd9N(H!+Z^O2;^gXhRO!2W?65@16RJhtV%MX?#F3{YrC~7aXLCeyU^1d9}>7(Ls3#& z{W&|Wc0;sR_d2g}?g8AGbZby+T-+Hb|GilS7)Gl=m>HEhZV)LJzf=Y+ z{fzL`&3@NjyEVJfsMr=ug44hXW;oR`Q{-*%Nv)(|Ms9}_<5gzwy`_`#_5UQ9$Dn7^oEQ3J>RWX+L)NVG@Ito0p|&W`*_N)2nl-dTK51anH5@Ra9tGucSe$qDte_ zdyy`)%ZHg$y_-~)iOB4SkpP_k{*n@5TRYV*b~jQx#j|9!c^~xka?PARrEwh!VVN|= zRk{^sts@H)4GlrGlY8+jiJncqMwkO_w&f~yZn)H7k~CIAx5|EIORzB zf5^0X{_6LY_(Miz8T+$9`@+%s!SufybBdI}JAcSNV4t43zCLl)z5be9{ikEa&%%y_ z3n|0bQ_#QDDYICCfOC6WcWix#>>WKNF!%jceh_8<3y1z1FB_(YTjkynqY*0jTxQzu z0FBLWONdy@vD@Zd0liyw<1zSwW+VFfBUk=?cH)@Jg|%^qA$H)`JCJBWom>Yo;PuN3 zqtd591f7=H&CuC4ea;$3HOR$VpQVbP;AokO?haMu`GS1Q>EhxFK1nrp6Xis~{HQxB zU%w=sylf72?lH#Ye4!3)27v%+B3ZgikAp8`w}t_y63jv6={sib^KXViYuUNz%+-=O z4*=HwN4-e#@UZdzbwz5svbKi`fZf*61u=3bo+EpnM8Pil~sMAZ{;w8F!+zfSB*3;0rrBD^QQe?@p0{jSocx0(Lwpsvvx zTdB3mg}5urwvsYrf;GC^&(`0N{i4TE9p)BNpW3Wt;5ix;pB+CE6N3*# zs_FDRLE5TNC_uuu)Y4WY9WWjmm zPg!+FARHfA`K5@ZfE-Oo8&z`qoOQ7{Shj56)RpEzQ!1WGu5RFAAOfQXAPfN)W;wIe za8JsOhe_|5g%FCz4iBC?3F&;R%%;Cr56Ve)5}6|o+@ESmK4qran3-OIKcWk5%wD#C zgfM{uU@bun%v;OeH9p)3-{fcUCR&GKH&1SSHmw}aS|$4K4ek&rTVFI;2A~8@r1>nD zg<^b6eHOtK;uUFvf_0Yy$}C>ScsZxmbN&;^FFEWnVPK29V_`NGl|&C1p_ zY2(!~JMdru$fP=FX)EodDp6W2-F+2KS5o>aB6Dl8+!paaXnV_`Hn)CnxO-QrQ>=J# zhvE*!-3cx&2?Tf7-Qq!mLy#7SBtQ~^%f^DcdvSNCh5h6{XWsX{&zbY-ne*mDW^&D3 zYjUk?)>?o0NxXjzTy@*gFiV(TG^vY&nsTnJ-)!>JgNJkfB1He|b9*ef^Gh9W#NJ8O z74LL20DJHIz8ig7`C4~@t7D?_Budmp z8fR58w<$5{4@RAzaGIx#_Rz z()l6R)~6%)HD;ldd24Q7d|hGciVBY^n;i1Ua2^2CHfG1V@Vwx+46fEcSI=gI1s|Fz z_E&jP+`Xi#fUE!bU)Hes&sY6_`~Am&;2pgSXmPii zV&&byWR15NK~jb47H1~;uWyXig;}xl60UPJOf?3{8U8Tqs&=k|+HxYc4{jZuSkL8g zLU>Ki;y5d!IvIReUcIhqRyJW&LlI;KxPNF8SgX)d@L`ebQx6=v^Sv5@2G*Mk1$pLK;mOzfG6kh&QLm|mBxe&Ui1CjSpT znIU{ML7j9+SF zt1?Jxi}$k97d>ve2%@JPQq9a$BoU?JObLUW?UlrV9StTo65gs&TG;^;G^cHf0mKTO zfMU@;WAm=|sAQ{aUnp+~n%SXuJ=5F0-nET*9fEnP?GsJ=+Ha7D-$gP8;uy|RnbzJ< zNwc{O)S@#e1u`S>hY8nc`;y7P@OOK4pO0GZ` zdpKkC_NH=|2hF5?Ii=eiRwKY?`qTtB8jH+m+khhjQV_NHprl+(^ar#&$q;KH54v#r zbiIWXXUHNTXP{WGKH|FeDY(tr>8bc+tCC@0YB`dFg_|fBPg2SNf8FRtqD+~RDu#3* z^~RwpEKEATiL#5cGW-Y^;V$s`!%@9N-GlhqH5R9fu913t z7`14QUO&XAIrXWwH~FPaHVp@9Dth-4f}7r5tBD2Q!iOe%RLgjsgvIRhrvB|5Plj>hMKI!dbTW^wJ6g}k35#O#PU2oL~9No&8`dBH96K$iN z6DW_cFSE#BYPt0oC#h_GjH6*~oask{-U2 z5Xj{1eF<7H&-q}*6whIe(zlT|G37W!4wKzBPw2Tzc!j{G@S&4+!6$iA+U4))8(&AqM2?RSSIIHs zc%iRiL0fmJ^U1ZJdxhWR2su}-<)7Pht!v`Kr^Nc+pJGnC+vBO=;d;@3MQi9M2S`g@ zFs7XcN(7T?aZ_0f66+`s+K!UFF{^b(X3;dPft8j7a>fhjY-Vdfr0q}GRp?yjeFWZW zJ(iI=jmdqU{>W=otgF2q`10>QPTigvP$SxyN3Fp!b63h9DVFNk5QF4<+VF&Z(A`Vl zeXO`Vr}Tcv(x(4@T=kLXIL`^i_I#H##N4o>ro`EpTN_nx@`EeeTWTN*>n3Q}ATVSz z*UcDLJ{vqO8%k1xAsyu~kdLlmiFnZTJveFM^R&dHsmpS+WWLiafLgC)cuJdTZJo>R z?{>l$j`qKLqPG2v%WUT$IWa0AZoK}%#x1RFo-_*Xls4|6U@a%f zGTuy;Ot055&n7;CesE~pW#4}>|LZf53Q0dh@A9&aH^uYBvHVu1qh!cT)ByRrckIA( z=x5**CA$sA%^BP9is1t&DW+qGrL5(vf?mC=k6l+q=F6DSYo#+oC#dMld?jP^ghTUp zKAHl}!3Qj8gDLrMC1fbrDmK>|1q%Z0 zN-g|8PgV=zk;n|Rk==z?Ze({$y1QHKThbHcPAgaysqV)=$1)^g#FL(IU_~B05>x+# zXMQvVN!O{lY#H3dPaY2&R*bEXuMSsp@6>c8=#h{fLY+MedMYGlyOR9I3S%nyEk&6P z#WRJU!KsPpzHR@kOGt*QM_A*yHmY>&7iuWEuO!7}c2w2t4M>wKcgD4m`g+tQ?Oe;2 zB~vO4-oU4x`5Cx?>z+T2y@C^0Ewv7$={Mmo6vtE82TU}%#ou+V#Q2pZJS8aFp^O_- zdYl4F^xtA+P*idSecbUZ_zt9Gv_YsHmDd!&7b!e1fh4`$y_r1Gh6 zIe9w>HWatbudB^Q8dr4bFEWvO@h8>lw()!;da8{hK|L_nLaZzOnZCL=*off}G^Lqt z{3tFZZ7x`_Z6h4x6z82`9E*q7s5Cg)OedC#XlnKp&Ux?>R2egmlDh!Y!t`%v|BDd~ z-Ri|yV`&#yPjbdE&R~zC(olQ9cA0!>b@FuIJ|&HJn7al%f?XGS*o{mEl=CoKD9R~X zpT{iZG1+X&n7uuF^It}Lkhui7c(A7Rl4<7{wmT?o8R8$8np*LWqCnhQV_XERL7`0U z^<}P}L#_}rHN)<3^|DMWnPsW%&ElPJ|BwZ{haY7aOCsG3)|y*gy*jp-y;W;~{JuC`Zah4}Zf8YYlgZzlKYwq?^LfFQgXG>v zuH~7ja2bd2TR5k1P$db**&#aWef5hLC8}1Q5~*i=tP=kB;r^0vra?+jjm%5Umt1-e z<$i6}S%*T<-NMskJ81|D?%qO(HDiio&>2fuzc4bjcNWpYo4g@$-y=svUZdF9shMvg zh$zU|Wxk!LnW{9E*II#|u)REy$iZObdny*g(J^+h`m^jsY9BGEUCO!@dS+Bqk^U|8 zm?6^?nB5fF>X0kCKOe+5?w;Udf$o&KM!g%VbLHwceh+BxDxv?#lnACr&NHg_SLCgzQaS- zX;O01F8$12fQc}vKK;^KZPV;8GWC=;efvNwn!o;U6RiLB`~EoSMtQN`r2vVWe8#xv zd2J$t1e(B_Qw-iazA@ASdMBjXVMpaZh*(^FxA43|t5J%Y*lrVta_iU9bs+nT?HO#k z29X28-^$|lup#uz?nmj)af-fW6 zxx??Rje-HBls`3>gq8qq`$;69AVza{dp!UOa1h4g zy=@(|qPR?b7Yxn2_C)MXjpkI`@3s`IQeK*lT^g28Gc{^+ zDTUG5jq|MzSJhI4o;+vl9jB!Mmd!toV}68W8qlW7&*ts&C|x?5XG?*lH5Vy0RtCJN z%2kM?htsW^%H$d--_{4@;{h3y8)WtI9_9}nn)&uD;OTH!+g`fea_POv<#I=ZXaU}u z6`PUHFfVBbB}C)NUrH>`A=B6dXPn1y$(?kfAiw)`6iakfOJ0obB&d91VA3}yqRWwd z4W^+Uhn6jIVsl?n$|+5 zmMgVsW|d_Z(?@65@#4**XYlld7dEc6p$lm%j>&y{cQ=|d4OVv6ODftV6~k3tuRfOh za|FSR6>#au@VSRO89I zhNI4t)|lMy>QQF#a1P7pkhR1T5(LYYf=^+Er*6=rYvB_l6zAZ($WaNX{Oq8I+@C>Q zV7*No#o>xe3)VZl@vV5@Z-WwN=3PFunTvx0Z{aaV12({Wl{}S$vcTfgD+?WtOEN^+ zFTu`rz*yt*iPfeqq||8BYLR_X^HfE-yTuBc)kCiC0-Z% zp9h&|%WQGst9dFM!_@T;D})6qR?Cfn+ee!;qM->$bza}!Xs@!;cZ5%!EfL>DRg85- zg!I*C_-wN?a4#Lfgxr|%yDf6m=cCqF_6R}uY9@?0x2}So*FxjHlyP*sPC3ND>%&#DFX-mGbL@9jgR{Pdt3{knEsoS=x4~$)H;2; z`@UPWmbt6%apKvmxoUGjHW(7fM*9Ts z?9TQg9Ab4DB&5$Baw@s7R_Fh5{}l{-sn`W>+!@v25e^VURs*vT^N}y#=BE2FCJRoh z%13j;-9_6~Su>x@Wz_Sk#e(0H7n&S80C#GzPe{Yk3z3-v{o>?YzKsk4lSp^OnLGq? zXxh$R&dyUp1Al0;8xfArS4qqbTU#6f7q|81l!|4tcDo>C;U!%qF}gjjTet3#19$*6 zP((o>*`j8UX!EaW=Mm7Ez_6JSv2Nq`GM+CmvpOBUEjC42#kcDnH#^{>T97i%B7W4WmVl2os>|YtRUC)nR#j*GFaxM*G_O}@Udh9(v zT;|Ch>1nTnx+Iv;QCN ziJPl_nv>e(WlTAS;=n7ZpKFs>JrKBF)H~Ez@|^o(cZf#B95|x~y`#U8=`+vasrJre zvmN8B#B8DnpXqUywM~8=6CLRLv!$EwMg#VwPBi|>&Sya${`K@NzBm5MhJFx&T+G^)JuK9D}RD%mtP zpNjXSPI3^d1nN38R`a#rgHgOq37uCJl&Ry%01 z$pV+x?$dwU=4oqKrOvD5F3gmiFQF4T*8)?n+sHywbP!I_KlNh7CyTw}UN5 z=?sh#O`=iza`5z#Z6N)&L9NwN#+ zTvu9b>DH*C;K)KeLBrpFb@7lZj3?wbD(=FIA^dq+Q*AU8EP4A zGVrZ=AU7rLLx54vAt+w)caa=Y;ORD+y%wNP_Mhc>G{@WCa!48M|0~b;{(E`;2Eyq` zjE`A3Z`SwRO_~XqYOl+zf|tZhmg$!r_r7sgMn?Avy*>C@nYiuqi%3_4)u?=;pScXo zO{JtbT;J=S;udSt7O$XFYrHKK^#aN6uUqK^SH-|8jlP(d<8o4q zX8sFzx%8&2a51px%f~Zf9p|&vXSxMCvkl+@k|m0AF;%+f3&}W?Qw=rO=}q#WUlV4b zcu1<_6-W9ThlnIk9CfetW|nf3qgSSwi^1-ZI(LXMvc8yawRrvuv(h7HL@K1ozDtEO zMo+-`MNHn#*f-um&!=3?b0F;!=}(+>Z%>N z{Ldd)c=4D+*|#mGPcbvrAAUf7U}DLd5NJD~=s{o3(!yWDG3f(TU7q*rzfIdy5*U2_ z8jQr~UIU&Pa-L&T8#dU(57_zudP2|Lx0r-@LxBrD;adO22lS6JiN(DR-}T3T9u=Ki zR5~HB7x#_A8Z~py6?3yL9#}O-U}^MB>25sG*2m;9 zl#B9V;Vu7Hl7khZI(wK^&zAMTDC6e@p|P*@e~r1}=hJ~JF9HGZR#aWn-v0`oW;x4U3{*jfj2)XtWq@P^STcAYi*hPsu-q9nY` z`f+K4EUVZeCrCf=SJ*T(e&({|)tKg||%MZ!xxX{jmVJyPGNMk>jo$_zv)$k$L7vK+X%1zhtu-Z3pI z$lrdw;F|w^n;mKgjEcv*^=04qu}7f865TkHbPp+WveGyt_96z}0IQ%$L+|_>k4*ObVftP-pk4m4}o>!^xHcPA1imZz4qN$Pe{?fcSkaruO7mZOSM!5 zjLS{Q?0V#-11wHd^?&cuK%dyLmblv`_LUB{;v@gqvmeyR1%JI@Uhx&C3r4=rX&`0iO@FH!nPG+^nfU%={LJ21+fzp{rvTi&efQgHTeaCQ2*ZmC{@3iN|S=W^NPJ1^WoV#p7 z6b%G3Z2YgMPXB#C9`cdM-n$Xq?4Zb9-iZo!X5BbJV;?luCbzlw9g(SwecdHQ^+(;6 z7(~P-rIDbnxX*|K>nChCNjW|==RLM$r&7r9;Xy$$@4qBlJaPxN7P?*PW5J@szyHHK z;)*wROX}yb_$zPe)PV84*yO_t%h$dxHm!S*f@~QydOTxPLd+1<*^ zh_7IofmWXc5>SLr_Zcn4>aZxys+g5!T zy0yY4ubcR0zkQ-1BB#M%ucS>}95FxZXiI!o-x0fpdFYE3w@9?m^NyQ~WvJ$m5_ccA z=%_ZZ@|S8f3|nZpn-~S@z!wUf1qFZ%wFa1hHX6R9aICP_;3Bzxo(zDo$RWAn!JgwE znWBUR&I{H{zd{mBsUK-K?F7X*Ob2! zgy{W+G@nqQSH^AqShV#{NekCM^mWCIu%$dii`(7kn6vmsg8~Zcx_)ps3T0|)9~)O~ ztG=$D^0!u3LKKit=r+@FSO!T_O#dxK*^4dXt>~#0$1lvJSTYWT$H5oOEtQ`#mLneJ zRXY0JU6Hxw)+laYkRrEo{lY*{_^}fViI2#&eIyC19H6=!HEwiIPOSz>=eaY>JPI+Y zG8G075d%-|y?AzRsvB%iaVI$QjGvf6hD1C2senH)>ZrI`|8_qx2suBC?mN_=+2cSZ zeXZ)u@j4^44a-W98NX!ZPYUqt^GU57yKUBif09}q<}?g=Y8D#l+ZbfoUGN=KI)g)G zvwxjh>Sg!T2RzK-XHT+!AHl7e`6@g8f!F+B2l{(ncn(RzcWJs>Bzu0!OPaY+3C}sN zh_R}~SWc)m?1i13gSwumqdejcX6!wRVZ|n^N@<+QigAR&B)ymG8gc-i|NGj;|Nhg^ zUwU}|xh2EFmFlbb;Nqs>VpwQO7IH`|6x!jp$7JluFn}S`$gLP%tttV4qL<~K3&{8X zEI#&tQTpE>N!QX0|MNgxsADeFk&5CL{QL{YC80LN6b@;wN?nh?U?qEK7(N zQV>AZMoxl;+_9C4R~#F7Srry8#ed-)D|Q2k_C(12pMGlv6D8EUFu-QPD9Jv7{r&+_ zyX`JY#-ztkdXON4htXAQjZ)ucxnR%K=0rVLk7u%mz*X8T-80#gFz&yrKNqpN#eS~q zF1#B6(rkW|ZUqg~w=BUN*8Utl&1mbo#s9xh+Pk)O#XN%b);_XU4%FQj2R)rhvT$>t z1;7#jXkP;Wg2+-WZ8i+^8o+P<{q_L75&Gr%yybh+gcRJH2iJNm_d3lt<_UXmq=^Nk zVH8K3W-j~7(bC_CXnJ!Mf|`Yh#&11?}y$sXol81)PeJvLr+2vb2 z_(u|NxY(Qc#yrKV zYYjTrOwSxOkWPMC}J|ABp>M5p; z>SK#+d<3K7faU@tQVNQKgcOhs#e8~}XA!RdK82BJFx1jT1AFq-_D22lG0kw;spSUc za_Y=|)motT#J!_KYo;6C%#HCrROH{^SjQ}XPi1ZK-1XnpfyEzvpSJt)oW>pX?S~ji zvD$|S2`&%REzh>T3z5m9I+aV*>)C!KlDk^@_`zZ7YPCwYEL-|Z(boE@hr001tF0EKe^ zR+?=)X1fI}b#}REYUBWjoBqgUb=FTA)m>nivf^iNC~u)R8YHP*R>^cH<}81tBm|)4 zl4Pp6Bp!g33C6F=oMkrZ7q);bMD%yrSNz^dGHj6PZvucKC&WUUz?bwwrWyV8tt?k2 zQS4d0oBP)pIt;0@pdDfRq@uRoWU{8LLNR-?+G@z#PN9!@Tc9au;71QB9N8O*=+5NT zlQT)lAX+YEi}f4TigS;2JpHGyDNiiuQ_&Ogz(v$Wde(%{K~k#MO7sAUhw$fU-#AJN z4=N{%_fsh8E_s({4<2|&(Eks+%m1&J{;2w`FwS<$lNxA0!m%=)<%~Ql69j#oec$Q1 z#C;R=711ZIBKxa!BgHd0-Ntf(!=2tbE}KMRi#oi;;Prh-w`OL;TKrs>tbW1G!)gaH zoT3zo7sIo8%{_`WxPFekD08Oz4o)O9X8QQZBxS?4>Cc3GbH+x)T}FH9b09Q6X19L) zWZ=iRMtM{5#7Qr?+1lfQ*e)nST@)YcoCfV0 zy$TzSh3|BHke0iA$Vp=&p&YoHV7e9HbWva5I40F(1reiO7MAzXykGFxlT14T_xZv8 z-f8m1pkBHpk?wl6ybg7*1B=Ovq-tTO3HFM)=^9}91^3?*@%<|s13J4fC4RnVTkmDs zQ@5{f)Hte~7WRm#3j^mg>`RjN3xm2WdX<-85(bs3r8^SeJ!TDxcQP0u`78%~nj}@+ z->j9F)d2&#;HnvF)4v|<8`wQtLqsOiR-S{2nCKnFj}jUxWgYry$`}g+9s6NNWb=k} zOL~Pm=6$b#7W*bnAws(^qDd$_)moCmoH00NP6#T;tBkRHxA+@DDY~Ck9;!f3j$cP| zpQDSjKse2O2(1X)Gc&x5imUFL=+H;;Ck-IarLmx=b*sx|2|CX5j)T@1MB>LN@iAg? z>xkz?G|kZRF@Tebb@3#10bPqw`WG{)fQQU2wt`B?jY&Xg&)nL4%cmbjSBi&7V^>2< z$7Usr;N1ZWL@77Ny}%f5;MlAo$LQVLu7(qU8e6`NU{j6pxX#HbTgSuIU=@CBW`C@| zq2vh++xq7L6MGuBv|S0s6R?qfGdyeULdy7LUEufn;?J=e9wN@i1iB%o1ZWhL|oJ%oCafY`FkYEx6Y3MFQ zMK21Ou1@@Tk^H{JBb)4r&`(3rnDOpDyOH!@`i=ubx+h7^<3b;3OP4>Tx2HnwzUj}E-CNxf;7V_B z($!B_ls_2e(t!XdHr)S)TPtS`8lXBl_;ZcRJJ}CXp<*vC%QMel+lO{|SY`iVXzx2xg-BD`}yyLtRkRx{2_ug>d4-OsqyGu6xbKedFo`Z%8- zY|wP9Zfx+5JOvzBmtx?cVZ6C96sB(-A-ey& z(>$nfehPuOsJES47b{GUkjc&<7JC;ts_6p$bYb~ZyjdkOvbteCtvMo9B~2@o3%Lbq zepB~+tA0LDDOq2#9!VdVvZ0Wq#11Lv!cTMZBsHM zpj{oZIuMmZKlB=J9$m%$VyGP}V^s@boS-pgqFY<>n| z=iPsmA#nvvDx;oPgZWkn6)lsjB*9D$lj3()Lsv$+g`k)5+?0P#i}HxGJW9STl9eCY z%${a`aC>j;92TCrrbKijv?Tn`gXe;mdzoVi>+{7Sg!VOKMVe;wOpNY9Y;#>h_AUE% z)7@Th*o*a1UM>0``g;@9=}U$|(S^cl)LsPa`Kp5^^>*b9#wmqY?uY!QhXk`McEl~K zDunO5wDB=UJ+}p88t+`iQNfiLKW+Uv(kzfX+(E(wrPx+7>`}vJf#>KvTbvZY?wtLAvE~u~91?|)YkU+c{1IiB z3$twKWkk%K3@p~i%JRZH`decYLj2Uv_jbbP^X|!b@!?#+^qyuw-cbnNLiZ|xjEtCi z8R5jrzCw?x!SM&AA?L(g5$dypj|C=)Exm z(%W}t@Z^3l6?DUGYNdoe;E@pF`Fh1Hd$YAy)bavaXr5FM3^b)Asc>)JUeIzmiJr=P zWBJ&DLeYgz%dB@AlMHDhH@5GhQJXUm-=5pi^_`24wo^t6-knMwDxpeo97uJ|+#D{5 zEb&4~geb%e$TIu^E9xG&Mx80-s()+-mNpdO=8XmK0^eUfy*QU_F!{~)CFH%N-u?IT zI)WE_tUD!l4$=Y!cO@qwl{fnBQoTpfJlXZFzlAuI^F~tYv^HfYY31gND%;b@PC_T8 zcV7pn@5uda9uM2_+FV2}zl#-P>*Y|N^MuQ~ZMlVJ*3;6w<~lKS&|Cj##69+r5UGj^ znO#O7VloswoHg6%wY2Yo;ev^k(a$?K96=;}kOqKLn@glxa}XzqG~BZX~@x##Tfnos<&zz8aD z$*3E&pZFUmdqmv8#wlZqCO6g-yMtfBoPzT{s^i74XN3!+u}-@r{>lSWVqpriM*ZCw zPaC}CxpLOE8XK!;3Y%7T;!JnZALFzouPV$_gDYFjj9Cif^W8=gDGSU8)LO+@**C2C z;^ILYdj*BFkF#0z3H2CdNB}|~v%o?enZd25m*MTfzk+fCtZQZq@%v&%uzRMDror$P zqXu7bs6i>wV;LB88T}{>H0C%-oTwtuUuVvH-;yi+&x5pskb-{SV&A(GydqR)L04V7BnTzK+#wA1Yr z*mV3%{8hOihk-L+U_FBEek@aRZ`0DH`x^(qeD4h{`7ro ze4E3P)`Kpw2H(&aY~&Xl3LKXXI}B(hGz{DNrX=QYqGWtJZ)a%-6Fh*XIN5*Q%@r2R zWQGnC2gMLe=p5HC@&*G;NeCWZrbH(*>Gy(J_J^L^i9>ggqIWJe89lAG)941J(7F?fhnz z`_){eVOnI{M@Cye<3XS1ap--SOr4W^`6gNDY_m^`Zi#e_jAs`AvjA8gY?5 zO|ONop84>JO5_+bHK2J9;;SLs_j(kEheYf2?5=V07Z!kLZ@zSUy(w*>yA3V+;@?=i z{azBNH-Wye`w6q~KQ->1ic8b$%~c)~2xwW@Do7oI4k^fMl7LqW#?t>1{{tLX8t|>n z+l?yAL77fxt~!Q(K*tD2&)%d;!MiihT-ImBoWDV*X_Zklgohc^hW8gmY6W@j6mW$$ z*w`k3-trf};x=`THuAhd5%(#%jy5fLkeGc}a7!6LGm2U3kuz(A0!2uc#skv7*gE{C z>6`L6{LWeBto%b0I+&&#i+0~wkm#4XBut7*R3n#JV|mPH|90`zS}-c95Hl&Zhij?G z_70J2R;u}H<~Z)-rY=ci1g;hz0zQ|2TR*lWqV+=AV3{XOxn2_rLqO`oveYX+PWC0y zsylhY-Fn+%XRr-MqB-n0(W=aIfmq**++?s(k{|q^2Q>bg9@c?eo{5sbm1p*9qX&3m zUPrBf<^+b22LUY&iKv8n?+(=I>Z$6w1N)}2-ds{MJEkbiUTw4+H z?_1^5k;@&27a4_~UM2tRgm9>N9tuZMkj<9aTj@ z;L|9mJ^{zO7S~hW(cgj}^Pf6z1R0Zc)Bap5yfFcwMfNTZb?S+1kTx#?;4V(*D|U7h zJYSQf5(uT~F37mVZf_PB@>#YUu13BIp5kYL&Dbs%@qfn};M$y$Iyi#1H<3JeiYFfI zZJ^vOq$oPzVOEoGS(2`nO0cMw>UuC73Y4M~{iBR{*oHS7)I6ypD$YNTH?4A;Jp=`7 z-1?k1t5~tta^{;en_Xr;7C!u;4gq3B_IXF0vx;#1hnI;P!_HEbU}t^#XA7p`@p z@!k5M;WOn=`o$Isb&iV#*sOl?{J2%~FPQr&hvF#}n+j5mUJ~V=;^LQ~vB7_r>>h>E zq-&SC&{=_$S*LOrb{7<^^&_e^vlJAOHP|6V#U_SS!l1rVNI7c=K}j?suFtn`p4lAS zWAZKK+1^>WFAo{fQ`Lbm5O)!u3Sc>jEtf*A?A>0Wbw`PU}r`^cBmJf^K-R)5f z;A3r_zM=NUt$T`nRI+BgWsL?-`V`l3_h$dYqXwhfx30Jx)+Xx4Y+VxL;!XuaUQ$tN zy{D{;!fb@zyF9ck%#(BSu3vl5EIRK}_2U(YdZQe{5+-urUnjRJHg(gAcD%x)OXc@& z!ombq*C=W}>b;GY2vVv2eo0PL0Xp`%k4Za@Sz>-)?m@;h65L2z!-A6jE35LB;%|jl z%qOl>m!;xePx=M5YNwV9SRMl_dqiT>V*S51b{b=9x;12f&Kzif;*#lC9+u*1;NSD3 zGhUANS+F|CQ}18-!@Z`HAekMyy=@v@A`)>1E06NaKg3>Gd>)+JID3dlisFn(LliM& zCmt{{WHfN=P%Ln%O$E!tV8xYBMCn{1pl(~^A}@zp2w|CyIocGgq-A!fGw_R$y|lY7 z7cSGt0JJ8KQtbKM**-(37Umaq|=SXV=^5mMTsre?2>H|I8O zM)VBXNN8t<3LPgJ*}^vo)ejS6orp06O5bIUUx>@QCj8JGPnQEYRG6FQUsBexD##5W zgJkmGjlWc>A|C|^X8qc?n8684(Kl}CyI+0MPv#TY}jSdGe;rZ<{&Q_&7&ejfMXAnxbn1p&-z}- zA9jDC!W0^Y&Uvx@q6oJ&Be65o-w{jkv&q-d?v#Keaxv)8>C>rv=zh-p`LWg~CoO)F z)Q}a6OO)MYPinlgNX#+A5NX zYe9z9xD?k99D7!{g`IoNzs&q%er1bsNDbvi^!?k>iDq`pk&lgt1(3!|jeHNbi0N&cqObE{sG;GzYJ0CB~mw&lgMFW)N4lx7qn`a3(@;8LeY;D-pAkN!u1hJ> z<}sT$Ef?S8<+}Y#e=*zGxuvrTpqqcXtf?SNqU0eg28R^FULXaNNy|iBHwSX0#@Vk^ zt4BHuU_lB+uF)m*WiS{##h4*KGKC4%0K|bmIs2y^9;^z4_0ML^yl2@Tow;>4F!rL+ zke(*bavyu=+$wUTz{s@i@lIPkj&Eb&x5RJpZV!!;zmUB>o4-)-NYpY?m;QK*0}FWe({ds8eR*AwGV=B0xpF@473896ng zQ|Iv$dP$sS+|XC{dV_9iNth@naAR3g&X34(J^jNLWsgb8xGZz4d6b4XmMcIl&bTj8 z-`>$7e4!logkflr8(8PMDQf`OPg%g!CZV;cIlv(dtF<`srQuC3Ik26r_~E9DY=H^8 za7-#a_p%XkcXJF~WtcT?N1nz5+{FkH?DWC$sA2s@(|iUpcBL~D%=*Ni2s6fvGQ;|u zPP<>HvCw>((*T(PbAx0)P@HNJIo96A(O#L_(VCu5llp0dx3ybJUj%XQNz$4KS=DKe zpwLw9iFAyqYH7Qbp24npvxf^-H%`F^@6KttSEbW%KPi^d{+1jt1Bh(8xJ$&bTxNU0M)YCZKAb{-*&Vg1p z!#A`ZQfR81KgHc}&nJp8h!WH&7fRg;+E5@H zl%L-@YAfU7A^~{RaPeip}pV`5CqUKULr!#znkU#99!Cr64JzMC0&c^^c%Qj3s#+H z2FBjC{1RuDZ^){-z`33*ytHbXACJ}5hEr`i#W@%nlst$aGQx42wtpfi-~Jh<#r=MT z6P&atkxvu5D1v=-U%g}Z-NccD5xT%R827?h!_LX-wtbe9&rTXs>9d^?1ak+J8+T{1 zhr9ROtH2y_t8I@KLA1<|to=Y96Y0OV*5rvbjo?9*Cw_w54#I5e2k%vaa(vv>;u4Jt zuU>zPJK*EWVl7LRX{tBdU`z^x#7s!C&XUYXq$-3?=C3WFZSGZ=;iYXc^?Z`Lg7EGz zEv|XdL`^XnMP<$(B;JZ|)W7O;08Z8S`kb{6HLZ`3F}>6`VEhE_&sM5wG^@Pig~Zv; zHt-&&Hmn=#>qAMh2KW^}Ch`^mfHm=;$Q&`>^Fs@fs!G`<)SdJ-Wxh}d>5Wg9!{dfG zz7{dSnMQvhnjf_v4xp?`OeALImVyeXCf`;{Ahx)u)raw3)9XiKZhu}GodV5^XU)Jn^IH~O(?9lH z0_wZR3do+{Wu6??_J!m1!_E7p*^WXbv_>mLZbr{kWb2bU$Obvc7%yZ5hQg;gdf#5V zfup8ftoAN{Emp&U+yi65Ciu>C)x>5s zWAp1EwB}oDR1L$kOZ|raab{F(SeH%I?D|>prhLwnDTO$>b{|wfvG~KruRs5J;59c5 zbMBud^@}OGz4?-cU2sZ!3Q^WDLg*!sB&Mb%c~`i59GV56v~g$J+t`m zVE<-U=AMHsBr*MQYmUgKSX=nv4QdKlJhZS)7Eio4q;&gzeM$t@^$NUaw%Yc9bDrtzY;s$m zi)g04_NkLil>|@Qg=$VbieC5GYW)mkTDjT;=hHk0EWUO!Bov9m)JIll?9IJU$3)w$ zNH;F#<_EToe-OWEPsq(9=gCoS>{Xwlpsq(Bs;r>q!`^?mJCl}!Na)V~Zk*G(oj0oz z(}-S?s$HPQ8XG+agmlxZ_4jkC7b}nn2e2u0LOpZU8oU2mW>k+itF2yYYdKjijHJxJ zIBbq};;jNxG+8vitua~c$0zCpwSNB1;x6AfV>tv}zu5@ANMfEP9r;+6PO#piwP?F1 z#8CX+K{*Z1?KGLg?pK}=N%C+Uo6e<}jY#g#uP# zMG3IaD1J9jp_9}%?NCVtwd)uBs#xgw&jXO764&#ju7tCcq#+&V_o-JA*(5RIIo zFEb%2T!RxFao;|}KkQgD&p$4eni^cJnICzWDnR)m?-!*3Ck)CQOa4Ju*k+X2^n2zz z^`h=ttWeILr^P-c15is0Wy)Fk^5EB&=wUI$_f`>gau72U^Q`XtqaxzH5ZhbFMZUM; zLjgD;NeazfX&n!0nSq&R@2+%RQ@-Ix_y%>B9SCsL?6ugJw2(;>yq9Snv)-|@slqdr z9+CGdt1_}#wni$>-oP84;?M>gFbF4q^tLn3(^rDS4A)Xa0h?O}II#2@fom2N%MFm) z!fVAZ47vSAf5a{}^rs?HyO&j2t6Y&{kZ51>O5uP-Kw}c}`EWI|a$z!= z!4FXYfZvTv8rl9gwVnSgS^mGOZt)5Kr@gO^YIAA#rA|vrOL1*+hXN%Kbe9s`A-EI^ z9^9ebyI2W9gKKdJ8a%;@6Ch}DX>q5x7JBoY^Ut@>+TU60%DMNfyLSF~SJuos^Ugf; z%&eJbp6B=baB~eXJ1Wci*=zGB*C0tXGyS7C_ZrHaECQ4`y(# z8N=;eHtvW@Z9z%1BOWFI{f0h=da!Vu00O9*!n0v>!%$CoAe(gD*Tj;W zn65h-C{qlem8+<1tDpB9H0+X->zq6PZByUAijNw*y&F9AaCJ$wa+6gjJOC*r&awbV ziqhN>8e`d0?A}aKtSqE;2``caqXT&}>@KX3Im;Ub z>E6iFY>PQDooLxK8er(2sH03sv$_*ajW`W$Ll`i7nGXa+fL=ik1)}4+HT>FU>_uE+ ztF#f#AE{cU%^hYFk!bZ{{(XK2ufF~h%he?_#62*cMbwTQB(u_sfvobxcCeSlgG;*m zSQarzmTc8bs+VgR94*IM=?R}sTD*>4n?>^{vtI;@ahw*htylb(h&?Xa+x`OL#H=H| zGt{MQkT7D)xW}PFoRQ5B(3$}=lbo{^?7s+BLT$~4`YfBB5=sC)beJmJhk+(F+0?Q- z9CcQPUUjLsaC79KIV!Do%5dS$2&M6WgteOK0YZbpaZ>C_~+@NHxg(c-1ys_FIP( zHf!fWhhBKUzLCau8d+3kb6AeLQDUysex$sWK+&oLBNp|kycR?rV`fRdqpJ{Ucu9V6 z@sr^|>*KnnpS!^?g4;cFH!F&4s4^*eWHn{7yOv_vwpQN?M4S(AgP&kBpvAA}v}vqc zj)VhS$~D(d6wB;=#)td+5j*Po*y*5h_+6sl_z34Y&7AO&D>@%rliB7i%I#`yfJ>#P46cJ>( z=~lds z66{9R?)RbW-{#PZ^ecX~D;Qd4Eo6vgGH85Kkn7XmT%n?(vW#Zi^%G}*Jd8GX=jvcm zT2p+{_zqRJBOl67}_W6jYgWHA!(k{|&VUuJSWkAUpPodwK9y8f~! zd#llS6|U_0VN7g+W-jIKNt&U@J(|0lIUb|BTrI&JlgZKgFp;Ct4v99xCI`#J5>77U zqXNt$4p?syNYemMM5_fBdbe4W8azl0A`E!f33Lx4n`(?nccs6?;d@g$~uQ`yqcXA(hENQARM4#a~rwBwcZpkUV0X<&( zt=tOl=q+CRn0X>?=o|N8PvI^+Ju07>X$7jqKnRl2xY=0Wd-0~>%diA0eGPC`c$#p z**$}hY_U6gPGH;d^sq&S_V>8-f<8oAef!%MuLvPi?xaVr1BtI6KK6{9YO0Ync`tkj zS9sfK3Q+7{>n)vOlijTpp2g0szLgBU;WpbT0|Lu*<3+Na>U>Lh$U|yqB5u0vF2^3l zV?fD{-+=9(Iu%8jhi-&E3?4g0bxw@cYo#L*HKTVyH<3q|LN6>Z66Xi-XI ztokr)0BQF}2;?!&Lg?&3&SktgLQ(|h053jm45eFy!_dK`02m> zV}0VwL!CpIH+i>q%uFumQgJNsgXVbb?BhzTs1AIkTz8wiin_D$v=cz$QRB$!8bO#q z$pq_JJYJxs7gTKEiplCq3;Fm5R+Y%5L{SWu@o^S&F(wj8p?Oab#B)$)TCIakMr+0+ z?#;_9)JpqOqW0#hT|m!FWO3Y5|4iZa3?KRUp~E!u=5_7aan;LP(l=T{6vev>f{L+Z zeJ2YI%>pjV_xQ-crJk9b9k12i4;~=i*va>(pa+%S0`*wC1>J4LNxx1E@pkXU&>4Oe zs~xQzre$E)aM(7+M*)o+D9y|asvTKDJyTQowvvok{P@`p;H#W$d~61ys&YRj_*|aG zBW_5~>wn&v`b98GGd!inGE>v4%aDE`!8Rqr7Jq$R@bV?o_EuxxQ??jDGbB%~WjaP6 zD!tycpCq-tp?G0N*hBIDg)4tTQY23k-N(;50mdRZfLZi6On`GAFY?Vw4J13hak5x# zp$OS0Kfzvfx6+~kwv~P%BpM#FY9b^**8v#C3Mpeo?qgZWA06LYFXo-DU`fm}d@y(z z?wmX&r`DXH?`6KtPuw#h$0Rgx==)TF%sUWWLaMOmd^%YYGrV82ZT}Bg zIsbJP4}-pYgKI?}bf`IQ(CZZ#^R`}uQ*>uUDU-fSd*fq?YDUeFMMyLaUqnH98kYwhz-?Xz z85B&R(xpirs}q99gA-6o>C=vx0tm#O6CA?Iblkz3y+uVuNIV#99~YNjPR?acA(C@Z zlMeRpz>?%7nwr`nAkeXn&asXe=q<`9*UUib<+zv=AUHI{k{YK3%28@^F@!-1m6i4ucL26ybV9|au zujfwC0<;_0nmg`3znv<4_4O0R$7l3N(7@+EjKuiJ9m{DIh2D3S1#S;@?_~74ivzg^BAxn_UL2Ld+zxLsb#RdJu@!0!s=X$*o``X^G^ov%QvAttDg2$m&wqA zR-6L8^~)%U#OgGohdP}>~_>xd;REMhn?{|+t*Z- zbw*AJ2h59$%e~rstM1=>@c8-3pX%(VpL47(_i(XH=UOGWEb5G?toN+T<`|t?*FB1m z{XM4Ia3^{sDl8N(&kgigwS3pSY%{0YXhpPOFx$hfm!H=VdKxew?G{8ZY znxALt76Y_Sgx<8HM66R|NP>hXPD+t3BY{gKMA4})vnXP~MJQ!`@zX@hv`^dtW08;V zSefP3{!2 z{9RD+&W*{5*04XfWlOt4qTgCyp_WC}#qR}QERE+5gLRZ1Wl65a@5TBmvI>N0MZ0+u zc|Yg&+Fd?Nl&GBk**qgiOKG9N5kVI3Hj$=kziIuB^VK8XZ*p9mq-TV=352rhygXLg z-h4ZmV&|$%0LO2ykBcvV5uC5ynAYD!mRq`}>Vfu~c{UTf!*wxh^F`~HaS9_W(ez}= zC2DbHcI4uDneuMilVI>^zMe2LCWrY3jLBURcivt%bfFGt(OOOS%vd+AED^&11-0ap z3;K>!Z*vKjamD7mg>`jDevE`vC;Dz7abN%QQ)VRpk6#4e3i@w6tMT#lPfLfMeEa?) z-)zH+`#LSW@t+TguYJ|bo%rb7w`1y4X}efnzJShu8a&^2Qzuv0)6%Z~3AOsL?5uOYIkT?kW@B9Yp)Kauo^#Q=mo3fy-1R?q;%RC3 zg`#p3#{oQ0rBXePxm*c=gWAHzYUH$mFGwAaEZ78$wx~U5re%RT%uKQcw}ym( zQO0-8rbfviDz)*1Wm{N_Sj@N@IpsLrBvT1X1cVd+GVaN|?@pThY4;rui(Q&+cs2!-m6W zhWxabn1cmz^X-fK3ApV0LpWv#{mZ$DRPx{RH9a>eL(9}d^0?KL4&oswVh@$L{It+P zilYgo?+a`a0{Wdp09?~YTCiXCi@w4B-ejMhHr zD;DvGG}OMC-#DrwF9Ew=3Thk)M5H`$oM(dK;TC)FhiR>|Shs15qWLj*{O!F`PIfQ! zZM`S)myx9DdFQI_AKZ1HDA_??d!*8-tqusKdsZxOMQ!vi}GY;U^XMyWovA- z87Wh*lCm3&?>lp*g^@&+SxDr$BPHqL^t>d86~b8~_!nOo)TVzb_sfxFh_rI@7>tZs zxPSIFLv&J*%Y*Cr&per&&nVc8y6dZDbH+uf8vhz!2`m$sa%x31b@ z!#lx9{>DRx2@jcHl+tIhEIKu9YUh62t$9n$GQKGUQI>kt{a&ZxxPwY|6{8X#MzP42dyE;9r1Srjw zYydYD0WfpjI89QLh}xLQ_v2cNazCgWK-G5%#j-U9{h=s3R#nQ;jJnuUzFwLUq@5>8}GBitON{@zMCuyRdX4{a0KII(;n zg3YyU5wcd|R?6;Bbr>TQt44Sz2qC{}K1H)vANRI^5K%-y}<)fdkX>n5ZwySL`|lGD=MM+3{WT z%28ZWHN|j!_rbWUP>fiIyHlX+JsWMVX>(hn=ik)BE0K^M>jZY@k};Bj)%bp4GCM>o zsI6-HZFc&(oPZGQpLW>)bAN9^<{wT<7l!7J_?hX+rAkOOZyIy*9tv7glkkp5);EUo$Kv|Up0gTHs1bi3G{6H)@5m3ye>KNaejB|OGn z?|!?BkD=Un`c>tYb__-LpG!UcbCvhhelw!|52YmkROjCf`Kt1_ME;|W$gb<~WlLDC zhn0Gx`V02LHxIV;wo|rxCN#TSUANI&%M-r{zMdhSH8AW--jcsvMyDT({L-F`Ayfrz{nP$XgIJelsmH~u(XQ^m}Xa9pb<2vvL}D2AEsRU zmfs?)pph~}CEw+bePb_|7>45P&`zy4798uLy4hdJxi$gq?$%cuS*9%4ptNzZI2XFn>VUEA$3C_%@{^w^sn_ zahS{I1a>))fBxgGmkDWs7S?c~X$u!y9#vqP%9`IJdqbfgmo|f7uR$Aci{xhdy9IpG zWsPW7Nb0N;N6x!fq5J*eDWyU4WGQrBnhOJH#h3Q-2D|9z`TEQGwEBHMT_sw<(vB%{ z0BcL#4kj5fo$C)j-F^}9;~DqlCIxPbEf-P1FeDTcde3JTELqrLA(8c&GDYQ@9+)mm zY0|KVDP)i4g8Ql;ze_ObDA;%n{XQ+FD0^$5v7`Ya`ytBu!;$XQPH*gJIe zqhLF>m+mOjHPnm8hXST67UF2lCl}iqjyB08`rSgAYsvXZ(%M^V?>C(1ho%5`<-FE+ z@KMR*zXEu#MTQy{$Nr63h4Cl9&H*{9AF2j&t1lO02EvCptQr8a9hb0h)VJGucEgkIy8N?cN{#PgTLRHb zWly;g3B3_KgO)&3h9>u+C*FmG1;HOe&hW7p6G-8Mnq9N1%X6DDKhM=#>4Ii(dfqF6 zLzhpe!{(N=`pH$s=+HLT#w6N1p|rOo+Z0iiVbM|c*-(@h<&=#&3Xi2d#G-EiNAAvk z9=RJMUSlnY0MS$_0u|D{!^@XubxE71e@e zrmV>1*$j|n>6O9i#H0tYUc2?)UGT`RUe(;Dyf}Z~jJD+0Y@|_T9eF-8bFS`-)Y{oE zLJ~Fm6DAZ&kf*BsXY+eY57DY=US%;g{@)Belsxz?9ONmMg_AQ(4K-Z%-_El0`Wf^# zM@7jAlQx%t64NUVudKp-6D2*4&$3Nq8e@CboRk5Gdj@F`+6kb_*ozkq$+f6bf7U2@ zpg&#GH*irW0s};R%CD6+`o>`;X#~;PDsD3hSKy#J!1J!_qU;sEqyYaPFBQ z#A7$Lz0Ea8fn3W-NbCaOzi! zcGD@iaz`HxCYXm;#O|3cQ2tJEXU_A>U$5%_9a0}Stk)K9WbO0(T=um&+GCi=%K7l6 z`Y3WWYpCH4^6`J;?DwBaOFXqq?&-YoAYEvANrtN3EQ$}q8Y{D(u&GQXu zNAuAw0!*%~2HMm{NF_XSz1BJ7pjBJte`xDpX!yS$XweMB>}4GlWSt63ckS9;vi~HK z7F{s-c@_50VioJBG8RVb`un6?r)2!JE7d4@U9vq?8YjD6fka+bH2Vq;K(Cq>k%FNw zJZ1%6Tbf$tM^06f*~>MTIrCKLu4thA4JUpkvSS^z=fZn*XK`muD=!@rY_8HABueH| z>Z0m((|5$(#3lNnj`SJJs`2TEv5RexAci1rg z-)MuV^^t{UZJ_6PwfW5V&65cTCwW4~`v{74<5ht;+pkF4?tqJcXE)HcI5h?|Rz>HT z#?&AI-N60V<5$sod!O_uo)~!rVL(DIy3vWBTml-RJls|`8QJMJ0f(B%(iD|kH!0h1 ze9t-Knk7{b`P!Pm*L|~B?O#|n^xUy;}*R!DjiKIv5FhSxNlfz(a z1UwHX9N+B@_YNGXFdZ6XxcHXhcRAh!{Y4P=?TD5=)w@yLKag=l`qiG-hxLH%cBAamrh)m<6jWFdQJb4`tDwISm zPz|>P(vt-3^RXlLQ!rgPRVu`$@s zDK8hLU81SRQxJm-1S0kE^jgA+$m0-o74{dkKR%t8CE{I7(US>hvH<1u3bqm1#M<&q zSNKJKV4r3IXZ5$rJPf<7)2qoQsnriao}JS|Rwu;Q8JX#WTz9c=U(!u^JzdK6H8xVX z9&?i@vl)9S^#QCvhhB%A0;m*uqK7Y*ei5jZ3H3C|Puo0Gwsl;aR>eB$QV=dNJzNyj zjv41#3U!+i)?H_O3~xNKg7l%(8s%fLylaXI9JiaUIcJLvS10!JyPN!z@6+sUeS4y3 z^x&wL+X#?CPJFOOs>+h+Hy$7S(MrFV{o}<|>k~n8<0J|y^8L-&lfxh1zO#M3<{t(H zefev3xb-A`bcgQ#cIT!IY(+-Vt^?{3(zweI5+kzFd zM3U>1dc15lGeE9}y1+(Hqa`&H%y);ivQ4AfK6S?n!{er{?Snap>eJ8}()hc_^gk=E)hElVR3vXV zrB72HX@Q{!kT*yYU7?1dRC#RPJi?BAKRzHxmQ_W*3cy!#5AR@zy3jI>(4kZ0QbntfMz|bP3?N)u>0R;thf>cwN0^_B1*$_r{=+`S&! zJ*=;rIWs%GQGKUK)s$l`C9r0Uc4pBk+a2OSx0?>Ph>L}|op5w>7g<>`A0??Ia3QBE z^*Suy&%rdeDQ#34MEKj z{(0n*6t(^*vC_`BEZK%d@!C4eS=7a8LW;6!)tvhybY_3DUcYuF+ zzG>+U>*D8$jO?A_O-`yr;&JB}f~7UA1x$=vLaN$IU}Wro(r}qcPO2IMS*BMV|0O%! z^3`u6@3{eI*VhC-m(+BtSMNupgaLT_Y1@C0(fUTZd-U!d(0S?Xx3goZ@E*~d;n!v` zT=Or255F-ekFlrc3#e}6tdsbOJA*|}s z@%Q9r)r%ekB}308uu&E6tz6=D`WQO5Oh39lKHZWgt^GpD*<19|`1*~w*jk&o@9$bl!~i-%ki2n;O8&t2L4)I z|Cdv5J#K!3M%UUlvN8ZR<_gVF&E|I%uc9PwtFI|dq^MKgGH|(;UAB1T#ZOhb=Bsu! zD&`}bI|t(E(&K~J%C`#nJk(s}DxNnlz$wgpdNvrYp}hoqZQ;CPXyMT#()ZZ9J3fNYHCC zer`O(o|ytB_J)6+k4-IC3?a`-vPI(JQ+yu%B-f>pYBmUiSA6NL=T>O2h4AKDGS89% z1vDUCIkxrCET3*Er8w)hC`-EeLV@bkoiQ}|fK+B8fM(r8cLnM<^vIgfXS%1P8D=Qi z5+KA~R(DIoGjx+BibPL%veRn;NLm2;Zf+tWc9D7`?N+Vgru$;37MCJ{t8>&NB@1u8 z4Oo5{J++@b-+8`mzRdC!{JNU=*^(SPSNf-mJ<35X4q7?_f=A~by_Xl>KlVxO-zRM_ zwJo*K3re+^T>ZQ|la+r-Sn2cEV|JUsuTxn%WoCve7!&{~+o~GHHNB-JG{3Iu4HiTe zX?a&?Jro-=9ebA|py2*411(U=p4fPYUbmu6mvNX`AGY$^>an&}pBCGK7-JmCjs_zU zoGcGi?SbG_hLh#v(Z4LIo_S8FrMw)qk>3Symg~Hl=uq*08LOs+im}+tfHh_6a{3cC zR*6-XPobrrPSc=!P21B%Q*f%4%z*N$>>ZyFQq9QG5~6pU+CcTSau%wbl5;$D09C#_ z)h_}*%Z&UW8xD+pmE4d|3W3#20)hu!Rlmv2lvI!V#y{F(!V+=b;+i_&<^D7s%H1RN z+tkoF7tR=&g1Tw|$j?w6IXM!}gG-$o8T2J>q-TGZjtVqM)yHoX~139MA5I_q(FAN2?AD*nfD#qrm3%Ux=H z+m+L7k1d`xNJEs2AKp9zjZ`JQ+_Lm>lE;=p)||}pQ89Wo3xO|B#!BeJr71;+d?CTk zCI&rYUhAVAX`(|=L3WS79PJ7mqq#@x{F@(<%0^dQ8I$KQw`s_H+f$02Ag{e=MX)@b54EW%V?wgShLu^VQ;|ADEmB5^E`*ovE388-1)& z=L91eNIPeDnJ|T_URFsFg9VdG>b{Khr#EEqq`ghe*&mWGFqRvm>m<7Au>`#&5F}TKiEc6Fd zTkm11wlyUOtrWA3Ej7EUZksN&N-4gull_n=zpEvLe>=C6_H~E%{+=q=D16D+c2-9) z|3C<#S61C2KOd&*>o zhcowlW>o~c_76TT*mb?ZL`$#?g;2zOw4IUXg~e9iT$Gb=vt9{W#CRMm;&>7#7j;%}KPcl)$6 z(p=?b^1UsW>yxmU2Mwa*+ic)}J+!wf=n98X>9M0;^A=32XQ^;3!k-tk- z;A2PR9}SV$_ZktR+I(x6`zrT?Y8NTHHZKKt=xD4`Rwra0PdRZ4s=N@oI}c&yJSUsX!16a?9B)m?>EUFyiVWTx+{&$5<8IK|2dg~M-aJUw+Xu{I}C80D0)G{qLb209dO7gH;rdJSB(t#C{5(eika55Whnc$Wwo`3CrA6agO zW-}GehyoyUa;Cc5gEdzSX5;4FtWv`h6uC zYF%GDVgDG2T!Zb%Te7VVu%%#bv<&D4i#p$gP?%sG64B|i1MeFZ{zPpQK|>)FIir?e zYDiy=_WD#T;F@HwZO+*UuOl_IJA{bY7Ujxas5VJxPJmdii7090@3yaK1E=sFjeq&O z7a%;e+uQqr_%vw)GRMQfsFz?O?Y;8j<(l^yZFwZ4RcSwkYBx!p(kSnEO3$;-KT@?Q z+$06hQPnC{oAUQr5bUxn5gQ$KCb2NjSKm?=O;*lL*>l55s6@XCgplnXZykZu)WW%?@S-2rL67j|3zuI2+?#3hg-i$44}u^r+7Q8&3YttTbGc^Rk49T{hPSWby?inaC5A@H7ZMY#sZt8Kpfel6 zGO&>CG&@Is?h_$)3z7|Nw;WEcH7xnvpe`FYE%`zeOVQh8{<3X}9lDE{h$74(HblPx zk(k^=h$-c{KU)=0O}Bbf^21bn{OkkU>(Dbp&TG$nyUumLnG}Sd{5LD?AqE24pZ_rqhEc`cMYl_QVucRV%|iz z-jkgj+TlFiERA=xSAJKFcaXHLR)8Rc*m3^uc@lF4-``B+)c*FxZu6|upJOI)ASmq~ zIV+{WO0KzKEb_csh{*(9vATnJz$zHtqujVB{CXA}IVJ`P$}SS1**1}V&PU9X$sG3R z3~%U5&F)FcYDyMO2DJN+>0J*~%Uj z5fWLVWGS-mOWx!6{e6G`|8>3Zd#=klXP)z{_j5n@^0{w`Ru%}}qvA(dSXg+?&0ts- zmP0GR`w|xiaE~9E)&$Bg2E!eLDPdkDKTj4#b(4SI6xBdJ0kmL6b(o@>T4-pfDlrHj zs!9p~egU5-0Ys7)$&>icXEhL5=Nwq=97x?3tfi=KtafnIP*c^?&~W;vKHl5Y|G#}< z0+=K}KfI!vsirCj=;|~EPaydR2he;J)uF&|bN^sZKi~-z19wXs;N}SYfkAFyO*gPI z@M;_w=;!I+>472zAM~OQQB~Ihich1=Y%yp>H51_7k3{wa9tckYIpCm)iBC`f1t>9v zXsd!$)pbA`syYy$+y?K344}KOUI=fA+!(=;|E!pH3i7fkY2YTBxZx zKxb218x4pz4gq&WJ0WQxbv&5jZ*PGhtCK@%mYy&N90E^7>VyRQhng{+w1`xS3Enyw z3lH*EgEBFmSZyy~KT`yl#KhAPgisS(9a}R^I2L2Yv|u2qR>o#f3#@vWzYhiMLxY2@ z5ymJ4FeCv<1_w9=0dG(uGJt^yMk%U68NR_54p=)-fQD^wAi`H07pCp+i-!78e6`f^ z>PQ>MU@8L_YK;u?Q46quAM7E-*vcDt_<7(=kse+^7sdpriGw}U!wjTl?&nRh_xH3R z2AY_uX?X;aXbep_7^i8=z#VKHo(Y8^aeiKiKwBR=!A>X0!qxYAQ`mj3o& zFE3LFB!uY!>^Hz)P_!k^%TFzgfecb7SbLysESRAtI0jnV(S{L7FbPI5JqQd_OAOF8 z3LK#3k8;qov-BhZ(}R-96i6TzV(jPyQK#7WnM2?t<3KMgj)uX8*g0U(RFs#KwFSt> z)$nz>&e4esCzv7jI@kCt|=Tj5b^=z{iZ_VG^RnfMRG^?EspktruED-QL32 zo(i2Q!2_cHi!Yj znFZT00-PL})>=U}VLm2MGYeo`u=;@*u(1V0d{ElgktVR zb|9$Pdxw~tQ!N~Av1Vp)b8DJ4IE?9MY3iU3w8e$t@kCFmCdv-0L#BFD1Mzenh*_uu z%E!)>Y!B(ZFInP>wY1V6d;fS(t_s6+?!CQGUjn8gQsJ)!H7f z2{zFLCgE?aX>WrA+5vs(7@JxXiCz#5&rmSk8mx`9hnv8({9vXb!QkLPQUKio1hcmS z+p1}rLao&ts1z+95>*4QuEnr3@dMl2LaeC{I{r)_T%ZriOb3wHrnaOI2-pmGVbB=r z+6SUb9T3c>|H{1o9|1^0L(P$Dwr*sb&`=^u8*$DHeV~8--vSUQI*_6er(hyMlcw>H z0Q3cfCDg;%0gy~kbf6Uu5~7I-2>~6@M#n6eiPJE_1Q|m$jRQ1^baW6Zj10y4p{YJF zgqjA(JOloy<*4 zHNZs8U_eT$1%=XZ<^=mtQ*EeSu$Pvt56n6w2&)+itiUvwjxzTrQ7K-w+Jq1Xm?;iI zV$cF{KE5QdlLwL#phd%Ln1`W>o(vsZ`vbY_3ANV%+L?!HJDAec9T}dsUY3DcU@!#| zVr%8a1ZvnZDNb}t`~jH&Iy2OQ{lSh0yynHEXnXpHm@?s}R9g!Z2t^yv%uuK$2CLy? z>1X3>K`^&8@ek5OP%Rzof%>$75Q;4V?(YxO3PU==u)q`LOVD!kF!r)_q%u6PK{y9( zqPCN_y%~ZDcG3u85bbT$?0t~nKs7rjKPZ(+G}eZhTfuF0)X7W-x<-HvDJ0Ym<7pX! zA`=2>7y{S^WE*A$qFdtwHGOElL5?UNA{lK%H-@QE0>Uf;LNrJub%+-l6Y8m9!bC!$ zo?%39Z|h)Fyf=kn2B+XHppXzc9HU{4v^$uwrKOpvDHRg}A^CWdEW!4nT0|#nERjz0 zB%33`Y}B!)ScnG&>yHAVH7&qUZymBNGytuM@bWZK*R&<**gI-^hoFMA1A`q7*xS$P zK!^dl3rd2STEV?TJ;`J=9crU(4l+aeSW~@VW*{ooTMgvtX^O!^0*rmB0SSyHWAB3@qtF-{lgRYNGkgxXLJN&iX9W9^)lr@ZoUxXvsYwXI&c>VW zudZWdMS}$$aEL`qUtamb%Ntu8pwtbo3$x!tws-AajV%ff*6T z0GnBb(j2vkAUF~iW@QH_`atZw9l=;6lTM}B2Kw8p0|gKV1SB*VZsrFM10x(EfO%?a z>*u2ZtN@De2_(Y2j2X7-G__7(;Iu2v(g$%Q!BSAzMgsAP0)6xJTY{^ud z7Cz7$&rpY8=md%*U~Za{Y>`-Rs2Ru$M?N_JK2{hg)mIG~XdlclBin~q7~2tXUZys5 zBJfcY&ae$~^mKC6p&SSo6Gi|54535JJnVJUEd3m{NC>Y3jt-_G4!26*E_;J6S|9XoW82U#uD${*=#W2pno0!>s`(+smi9-Jd558#F{ z(FO&=vF2nQ27%#6^a%ngX#@}~n2tfFnqUhOG}PSKmJ9}y{k_d$A*NoQPJSemuMXHp z$I}Yw=nc`ZgPUr4czKZ=AP66A0+B>V*-$~yU=L3dH9A8Z;$azNe89aR6eAEypc|`^ zC}Dvl7>VeBweYrgQUk**0{uu@NCep%f+M0azCNaQ=5}B;Fp>-k4))h3gDIK^_Jbwe zGuQ(J4gHT^`~OmHK%M{kQR?t|>u35bEV3--Fk{;=*Etu?FvZ( z2i`neErR>lJKr_3u{R;+eGWC`LfUz-67l$}8f~FwUuyKt^f%gHg@jl^cXm-$(9#6)rR7l9Rd0*bmQx zqVZiDx~!-+<(BBGMFRu>e$ zr2gA{Mw9Kj@VV_90v-ut3k@#^VyUdaX#Wlx1oUmm5Gg&F!GFq(eh4n^?2XwWPau^S zkl_^PL;u!o8)3`+0*XUdISd8}+$q;iavVNQ1r$M4dk|MtS7@CgO>I)FZ$G7a*7l($bH&{KPBuMGF6ZYUBz|VUbwbjrrdSb)urumN{Xo_tKW*bv`-& zUu0V2Dh21PxpeXp|6O%LUfKou+nGuKjC z_w*&TA8*51|Ihe&25f$vPa;IhuKc?MqXnRLy#3+Gvj zbN($eV`Ia9;Jkz7z1**j_wU{boO6A>N$k^DxQ*@d(El&P9&qN$LDiL= z)QkURl145V%pKS>Ph{cPc6fcF;Q1-;|Ev0+gX(|k5>EVYLzpSR=K07!yNTud6+v=l z`*$e-zZ`Io&FCTL3;&j-va{!%rAg`GZ?E5DO8@a20@P25pA4(0qC0~!?E>EllL z%qdg(ArF~hk48S`hEgsoEcmEk1Pn%jeg5_q-)cqoPM3zmS`vL62gN9RNeQox2?n=E z4}6NAlx2%uuZWs%(%JsH_p0Uc-R2y**L)Yy^36@XChWVHBOhaZtJBKM;^9BHDWXc3 zmU-3{bDOdy?}%DzVrYUlRbxK2bY~Xe7BGF11+&}2`L>N>eQ8(Pv1Rr zDiO9SEQn9K`anCBj#kVaNbpIIm`f}tjKYG8Xg--**uKgmu$ZOr7kE(#OkeB%a#v~j zQY~R?Q%ZF3yJ+4lv#@}a5Bqrx%8u@9T`;TL8}h9iouc=X1+Pj#U3c>Lnf~AneDBcSBJ<71_kqJaDCa7+782ZTSkwCLk>L-mCaOHj|3>4(PsBt=f z{ayj1vSSh|)t*_P15?&C;t~w1ai&P8w6BKg*AC2nL_|EYda5bF#eTKvAs5G0=}YBb z&%_MI(og5Vx>rzhu}=e?5M4!UgGrZwqeIT-U!%M!O4JW-)7fR|no*K?V%2^`Z@XuU zNBfA}`r~j(r1ET1iv}i*{N{@WrHYj4L#`+weMA;|&HZHK9|_1j^}z>(p_LbqIy5m? zw-4$FoYr=4k>Miz#T#~Jo&@bbTVG~G0>G|N!qnZ4Ou@pJXjn*P0l zBT`E|9zkRBF@p**gGFgh{+Uw^2{RG$L#Z751k#HuX+bFivr>Db3ztPW_)*hb!Fm?Q zdbnXR`-Bn!HdnqbF>Yp8^uA6KE8<>3V(i(ZM2c$q*%^8rrfT>F0~D3vm9x7WF6wrd zt7ogSC_g`Td;JdzS*Xgt+gjek-EKzs29@Om6n?kLAq zPPS;HOQ(;k0o0#L3rI2k^eCr*B$xD6OSn10YCD%_x=QZ#i^c-NFmO>Rmq4OCF?`pK z#zLDxJV|8NOGN=+LLxZZgp-y;^#V`lgNh%$`LY>T_E7^9X#QH{?S;4R{i`GzFoZ>k zYhzq}8cTIimnrQF_XcLy*x91>pL9#^WtaB|Pgkt3(^t(e$_f}Y%sjF>%|CIzO&im9 zzylctH4hS&|BOwsA`6eHBpj97{z}klbKJc#O$eW+s$Fyai4u)gF$NBg$}cm24uwy= zY=gYpaRNWc(1hORX6WP6($drC&!>Qn(CS9N{49KKPJEX7me{Vf_+q6#V(018r|&XB zLvat+#5si}Jp|K|&6U`N+*?3=dhwBQv&$&bl0V6_37HKQ=8v!k4;T^ojHA4+txKq=X=Q`g~ho9&Tl{;heh3gsI14F+m>7x zTWukJxtG;GA!c&%5qB_ri<3|C;ndVr1O|g~%o}`|cIDApcUvV zW}Jk-d&xTBuy6u9f9x^xweCC4b=S zCWPneZMp<-%I%v1Qww6za|aZi`-Sp9qVP$ObuM)~VMg!m+qd^QdBuYzPkE{&8NHJK z^!YPPk3RQwtReCO-CjmszTu5f`U}jBLKiHuhKl4 z)|MTrEo>^QBska*+2GW0+299$K`vM3=SePn@?9*Se6FstqVoru3((7&Qq*vOT;s&a z3tT!^ST-?6#fcNz@|hS|$DdUFRJv|!w)Rz2p%Po2cxz7=EA&^_H_IamzNRjtQi5xM z4wi=j7EP)(S9tqm(5Tks-OZ+i8ZSJ1kQD3U@giJBfwBOXnfx|hbwVz`_2d*qc{0Jd zjg|WWK#)zL#*Y_xSf!O{zoSK;k%rzv6Ar&S#g26=8Q39Ryf}=iEx!0Q-l*twOcZB2 z+=n~Yf~W^bPfjCAG|a+2St}kU3Tu}A_!gge$}BO}lWhR5Yt)>SBq{spZFH^CGj4hJ z)c7k;MVXDKIly4EYf@J{1Zs3)Z-fgK1(PdgRr^CCt_XM>FOQB2>zfSHyrlmibzt^z zp+DZ$)%A2>>Pt~#_Bc1IoR9Q7W~@N6EdEsoOzK_cPf1zc!%Z9sT2zilr_GXYQd$UO zG8U(J+dL$XvUkcJKFoN65vK@hUi~Z@(<(b($$!0Q@KgcE_k}b0pCt-Ne}}rlsWXo} z35HMpM%I+!ZZtBW2~R$J_y7WVGi+)YNk*$&?zy!=lONs`kX#>hsBU19c>+6c(#lns ztL5`ZX{Cx{RE_bHQB?c;u!kAzp6=Ge0}YY;1-EY9YBr46cFeoRSLm%>c+TvE-mQ@< zr;p`ab?@oY?)ya+ZF@KWFzu*ve$jEwcc-J#;x`7rYA#04)9ViR2FefLES`NwjA?n+ z(ZkxUlyIu$eb~*tHc-;T2+0p|6H8$u3B^Jj+mI4eQ5>z?&wStpddIk~5hHGvMe{DUzEE@e;Hp;HU(lkZd#o5+2CNfwU zun@US-1qkw{+yU6Vs0Aw9%{qzI^LCt%XPi4v@9UokS5sH!CYp zXlsJt)yMCLQWJSQ4`<(e>)ls?Nd~SGp`N#Xozu_~ngs1|^g?=CTGoZ2pYNPQb3Wer zJ4Ih-iQeAc*5u{om2Ihe!&&9Mdk*^n2MbO~TTV*~KzEBbP7u2TC+dQ@qMc=wDk`6Q zHeBBGmsa;eH>gnDx-`jazx#*p-@hMuO^W&LUU$v>G>5kwn{369y{oHg#!Ex)OX>HI zL)gck0Vh`t4ns_PNHdiuHDRmClB4$kG3~!^?rf!{kUBd-6kh*hCBN<0n`eIazAlO` z8zr?}TdUjY9ajd)@6=Q4$EK57JR?j~Sv9t`wKX%`hLHSr$vX${ zffLvdzn}^6;f7GM5v_N)%y8Ieml!y^jpzP`Sxy57eGDRb7W zV$8mchW)+zbLY7or-pbV))u;%E!&7cZ8`PeRyR?Zlm3<=USmi(ZcW-CI4F&6- z78khO&|s~s>5NQtep4e4$RMO8O>ZL3NHyg)^$>XNa8nmI`kva`J4`#rt6>UJl_8p% zn#NjF6Ui#+11H$RzNGHH&Q35IY&^!vu7TO<`Si%7L_%M5#6kt|r384{-WAqShF`U# z`(A@HXK#mLn%m8lC!Jgdx}B>7zYm>!bvECQl)1in&}@>bmOt8f$6J(*q;KIRdP~_3 zl9S-{1by!oRmEZsSP8FG!s8>0`czE{dAQpeEH8Usp8nK3E1u^%o7^jyb&NWV2$oMs%YWMS|`rrD;pa{g|afJZFgQs;Wl zcz$yMXy}?#)>ep+O>Tex`RZ*Q@#Cb-R~6;uw}d*qEpp!G{p!s}-T#`Aazw3On~iPy zSkFd+&l$lNO1W+VJtneavhv=yn1=*i%wS5x^XrE4+Z8VJT=KOa{z`9M{R@Rv9qX~! z*)fI%Ul7bj!YJzzm*sus<$rqa2niaP!UD75(w?m`S^_-79E8V7qUV| zw<~rjHew2}Xv84~-^1j=Z0+E!4A-$i+ydj_nKfFktKxmrn@FY466v*iU(p zF2tXfDE#{Af`I4-=-qewRVjJh8wpy&V+L@Tn|$u$M4#7E?G3jQE+YYtc!n;|%t-Jr z3wc_#7K{4LBVT(X!T(e);>Tg<^B;N=-pw2-J96q}#P+IOO1lY#Lizmdn?=FR?=DM#>?tvA#w*h7n)VfD7L|_T|f$kuP7o0H2{1 z-{><0g+0ggITIv2K)vo^aw#upt3uGm{zDuNkFd`i`zi$lrAql#j#i$@5A?T2z7!B# zW_i4OIkVs;DKpM4KYT84u;dMtD?BdyL<%X>WE_crEkfE-s*2OfyVk#}VQc_5^R325 zY@dd;e_in`Yt=BN)>-u=FI%Y)6YYxaBwixT5i#t#ZGmvfaZp zs0@3oKwYfB^E7NgM!}Y(Af8j_Yq_}4Dfvv%SI_sxV8IfCyf67%I|)jc%U($G_|9yr z2#y-Vh7)JROuCp8BUH15$!!OZwZ9UGvB7oEGxrxx#z*GnymX~r|N_jFKsWBJX zzm;P!m$dL$a7NfXGQ4EAHbl1dQJuojXrsZUbpfvUC{2`y;9w0+iSo64a$~*O)#I$* z>(xq8C2nr+P(a>G5xhm-Z&Qyo^Z+6%bEP3+iJx$??L!%%-E?lht1YIuEfD})1y>s# z#eOw93K$B9hEuxV7g5Dl?k+CXRBQnLTX-mETdxm0A;-q8y|#JH2$!AwL~7}JfyGEg z=z^=X(qq=Md;=Oym zf4>yIv*pwB8sHHX0%AcXiG`=v1!KC@5+x(F1LRxy9%br3pv%Po2#0fR@g)t+)h2G8 z)s|Ru%?}|Qn`XDYN4TYQ^%e;U-93Vb4?CJ@Z<>7l8ojWn!10(vO7zdky1FMa>~cMA zXCM2|TwmAY1eLmR0*J=N)5njpv$2M{x=IU+>I1I23^(tMo^eruu1oImmyLEL#KoP~ z=e}NzbgWLEFuThVrt*5Xk$ye&w?TY@>&s*h(H_v0rF?Em^YKG121P1!T@B_i(0ExY zYx-8hF+ut)K7%kIQ|C0O8OpxaTwVWdohu5QBDJHb=F1cu(2=j_ za&wyx9g?0n*|o{*`Q90Dve4mU-yuE|ZOQkChKEr?ZW05jvh1ccqw}7VlaogvQwufI z(z+8#>N9N;0eKr^?P)qSYQZyB%s(#&W>O+|6-Fa3$OkEOD5U5^)xA0&7TO3(N#eTn zSI|RM0Wy1I`%NTm1LD^5WW3l)x5)A1onl~*)*i=v_xEV_Quk6)UqM@2o9UdRTUMSu zkAl4D+dxu0_iF`_!8o-a6W?Q53DU*CySj9XTO!$$w(c#K%H~!i&hYH;D2SUH(8uwg zyXW1X>aFdT{CUMsFbo%w8Uw`jWhm_N+-5`(sO6kY2>xaxPJ4!{e}X=8VPv~3fkmpT z>iqA)u9HpSM9tdbfD22lLY$WOwUUo=8%s3a;^orN)D#Sg|Iv9YlAXTrEjfG3?S27+ zw2N9OZ>KM=YR^b330)6Fp}1eT zHT>-}l4UtBeYX=f4yzj8qXRxh^XS~dn+;c|Qg_zT;6BXiw@dH4!*%@zLCm#&hhKLb zT;*ntCAa!^wj_+bqDVw6U3Xlu;K$X6Z#~Ljd@XTnxZj>6b_f!7SH;L3FxvGp@88F_ zo+8A5yEgjj$geJ*tNeOvgUbA&6%B1##Z<8(%a{}H@jUZ?WS_MZZ}Vw84%Y2%O8P&n z<`=R^n~V{351O0%Kmb2dCrHmPZ%V3e2TmfyE>wiT^!3A!w#WWTf*%&0-w^E47{1+j zgxkohJ%F;n8e;^TuF7tlHXm3Ead3-Rd;0hW+vFjXmRwZ-nC-5tmr$I`%fofd`&yLk zH>Aw*ZnL|2AGLAT)=Mh@D_-&Ye6vVeNfSe^p0Ay~w!MK+$CV!ed}N`4`-_`JB_(6h zT+=xwsyKOw(e_wgA2Kp3b$QYVRp|6;O;V2|#7mIYt=?JSIcd@+zwg z$KIiJf9(g>)eS9gq{b#_a~bE$c_Zd(TT16UGZ1xdm21u9&Z+gU?!c+!=5w#wzw^6C8~N znES5kJcl}$-=_gWxZ}eIX_qpO!_}~6MRNQ5D_5?J0tV1ot^i!QzyTTh3demM-!RvT ztxmI_HwRe9{b|Rf6NIt+vvTlWjt=dVx$+AurI;g;+rOR!&%UT?KGX``7$l_R15B9} z$0Ozu>rryC>V`CPM($Z*VOf2{-uf_UexxQQ78es;JbIW zy@vgrh9g=UA6iYD;$<%TyaeMs#8xs3MqRPk@~4%R$B7{-xR}N`UI}qPhR&;FgzAP9 zg~LL2)jCf|t;yBzl3(3S77cDKx%%+@$liXCJafo?UhRIC>WG{E2t``8Otyo@uCkiI zfCuu?KiqU-A^mjEi0=r$C^B+gSCVzuAStx8PjC4V=GtKo1Xt2#V8qQ+0jvj-2dg5a zWKmQzeueuCwur+aN0!}idq#l`CxHqV^zrdAQkik%ZDC<}sVSaodk?6*Zw+1_#q$I| zCQ^e&s;PD7YiH!OrfzTLDV3=Ln{h~Mv()~D)5~rU51nMr)B67OOITke<<6ZuM=V>! zN#2)#v?i{0s&@-iw+RgMT@C;Cn(-y>a2M#o7-L%My3L=_(6N_1o}ynjFK@5@3VyGc z?zprG${V}9L+RiudHVF>iL>^f1{(gZCA8`DY?WMIdv0&wD4C(pD1VvAJ0ZE2B&l=j z@8!`uICGQEO5Yj0eFJ6 zINr3nlCwXedrR&vxMX(wVt#)9lPmpq6zc>^m5LTbT3kg}Dqx!7hOc|S@rtr&&6y7_KkDvK|M;PSc4{;W zcwH)Fp0a09zdu*e?W*JX;rMvdtyr#cPLGe``avp7Fc#b)Ex*CVV!Y`1ceB_$zpOOu z7vD_!uUz9}*&K}$TYXDgqz>QuJ z4T0aGy3<*-nQLc@OMfgG+i%345C3j;W|H4;8<*X=l*hf!%1QUizQ25Wo4Qx^Oxdw z`-Q*8j{0VC+IlO)0LqoIsw$SCRKv&9df>SOz#X=vj3~#Jv%foiVS8lSFg}pwt_mzl zsW9=E?e1nVpd$8pS~4DFi1$|6Do>iGCJs%n+G*U#%)Y$+>k=S1+Ul-TTQ#z;{QwB_ zhV|-`;^N|d4b1uo2H?dr{aI?BNbkaT6HbvQ34ehxp4@@6*UjCKq;-Ngzdo_o}o1%GAf~-y8$$72SsSZy0X-h-(Kve0hm)VBM_kbxUvq{f`sC`mk;3v{?c+|HIkf2uvlrL?KEqa{yB>4?-&}y-4~?&?K*B4* zzuI04$XnUj9S$V`t9%FmKTp#<)M8ZTE^7P&PRVY^5v8ms5ZnJKQ0fk7w0hm+N98Ku z7Kv#=ZU89yj#DPQ^znermmj6>O;@CpvV)Jc?|G5N<5 zM@I?dz5py5?iTf%$KGeOt7;4P;=}aRygEghOK(MvJW>O7egADp{!(PIQh(m{_24y| z`1^VubApyBquW08sWP+0>u$Tv&!&gSB?h+p0BKM{r_iNIjOtzmL+S24U;~Q6ww5N^ zFY5hu5nI_`xv)<-r_v}SuG=&z^PR;UGL>kCxp#}Uat~(MO|sFFHfs$W>|7*07CC$D z0=uw^<6^V9Qub<&XWQn9kBa%MZ2IOHw36&(Z*9ozT_6T$o>(YnfVzYA(BhoGrHn=BN_#g!^r&TJC!*3-HPf(1LVGOG+|{-nECRV@uV23w z@SjUeGi%#*+uwFLYhgIz*s%Tk`8g40^_Ld7)EFRuBEI+oKv?KtVZ-in$BVE_Vb>dH z+A5AjQ*V^knCYz~B*&u+g@vX%@6ot8!sA3EL|1O044n6}7fpW_wRc5$w}k`n$qA8^ zCC)sCKx?!Ow;fl-akF$4$mrrVfGls+E0T)j6 zHo({wpX=sp$))WRxKsI(Sr5cdnV$W2&yuJ37xqlb?ZnwcKxS!)#R+ay0;vWba;*b* zunS1#7cNS7TV)@ThPukj%cB#!9H&HA`uqDUBlK?B>>=)+ck>r)iGIqrG*c~HydZnC zMg9Ze?cttqPrT0G!&q*PUWFu@)zD#|EdfNE^SNVW5O%Q+R zz5}; zIXs8k!i|*gET$bNeHzKKeUzK~!DStix8T=>vw>iV zyt1d7dRA-I3e#$6cWY(CGRM$hzV5n#RcwGc3!A6{*uK0~<^Wj(BJ+Z|y=QOmDl1}V zHchvJ`fFLw}6P2RWwBe~@kkakX4WI6JLE(Z(DHMUS9X1~0!KMms94vgkxZEh$t z;|!_`G#Pyoy8CQqJG?hIQicDLQPwqZ&cyPoFOJ z_#p>)V|U5*HZsEI7P`MqGWYj3UhK#w^t4yAmqf$3B~}tmwckz-FIfQTFV!-~aC>RW zHikMoa~181<$S7oAzY1`yl030SusO-GCg62ZAa40s;{~dI7%<97W9h*PXA6TV}R7NGv;N^dxkzB+nEAs57T~8~Q72rBPH9ajN8fTr* z@`rx)V}r6Nj~3v_ol^D`(h9LD_TxEv@;b|Tjys#Z+VbO~E9T}n0mPe{r>74xO^^@O zHp>fbp7`s{7FB4kxpQpbL!S+N`9i;!tBAUvmF6}147{+hQ(}k20NFnAT@dAjC$Dbl z(5BeEK4#vL9>x~N%AX}8#Lp((QCUJfeD&&;^6{gXQ@I)TcfMN$NGy$t|AunSZH{r4 zc(s7o0IX=@r9iW8d<4h37SU^&OKzOYs=gmHh#4%gu2Q*Amphvb8QwdD?0ORgBk*rwHHQ2WM!RoZF@Yt=sI*s;h z&FoPpA+SZ)J@xhsO|remidsm|n!d%UzmY!xB~-!n-0??BW4UL?I_K3U60Gvf-QGXi zn^lAwrT&4Va(t)rGbx9}+ticjqWd?>WN!E5bIErBf1T^#_;P+Vx}|dSR3Yf6;4r&= zuaq8r)k#luMOKUzf8^wa3uD(VLFcfSF6r&fATH=0FF9VQmKGa)s#+;~@<8c0m!hV% z3ZPYzT2na!(4y6?aLYWl4WHjU5=v#`TS&<^a|(c=aJ1#xasl!lA=UX+CUTehF9o!d1m~=wb1hC zk*yXD1*CI((T=OX$`+P#vTC)F@;Z`&Pb5=m)7n@ zM|pOVGru_FaPPCT#3F=m-<7@d^!amgn~_joayS(VqzX1iak3^UyvZ&S?tEZShX)o( zB6YS)z(mL0Mc`+I5LurU5i${#@Tk?{vA;YF4XgV%aUlzg$JmH9-r} zhd2!_VFql2^s0tJiN}BKlog*0Bu5VDDBcLE8|Izy5Ol6&1QCCy|uFHv6L)Gz_$;;s0Al48s|wV<^9o~ zOtaxCG*qqmd8|Vqa(Ahn|D_n%*=%VEa9R3;ZmOI;ThW^-dycC(mU|a<{tYpoKRQ^; z{Oz=BN&0;C1mCP~o@sQH@`(qm?ox1jPV~AJ|GS^5_3WK_)%7(s_bzX?$Q&EAxw+1+ z3|}0gHbqXJ@Z%}4C>{O`b|e3;eE%SmHkc84k&D{UJ-u@=?_2BqZM>*WuuDKw4**yH zrq>zw51+|Li^5B!*v4mJ4IFZ<3I?Fx@m<+^p?!cx$+|UWEUlzqKzg%(dH5A&bs=)U zZsRcZ2tu~hxBr>Jix)3Mj#-yDPf0y~kf8fF;0Z6Q>s@-}oq^d1A-{FpP<>XwUC&N# zIVj-l=}N48-O^XVm9yWqsw%s3UF5u>;_;&&={3#^)y}G|H>IDaHB%)8BhKW9D@#f# zPxiqyoRs?=xL8YW7!a$DXR0=#$vI^N!PEdR5vJk;=f*8W%P{ToL|n6ob;xQ`y?AZKccs#<@a9E;rF zJ9H?z(FVr8d=gE}K6Lx*7bDrlz613Qy6d3qc}KwG;nnM;%!m*dPE&}0V1`TGF>?9u zm91TC!(^q8IT!X{0B+Zln0%eylWVJemQ}qWjUS~=w^QXzW(uD?kZ*-Ri|gif&yGz4 zk;@3E?@hoT8bexN*}RmuEvn_0;rZ_GocD!_;)M?x?V$s%mtIT;?SC@i$6aR~aHb`{ zJRtI!4&HqrL{{~|biSveOSc1g=}Oq8JopyinWD!w+aNOlZ1M8$`H^60P zZj8=Xd*;p+O1mC}ngN^0hJRsdxE9)|HRTWkmHX+Ef)qI9o9XprBBOwW?5hlIY3CDd z$t=KtG3s({pf)l2S}U$-s`$iFzUw?T(eKR@0(Qddm9pEm_Wo8R%rNAKo~AWtI2EOx zY5S`2akRELrvae5NpYoCi$>daSL>W({l`@PP|J>S2jojGxuOABjP_@xmQmyEF{vkk z?mi8FO|#nHmjTYyMMK(DXPUtHlD1fXgF}fbbjHrb#iiuK_=p}2qZ(aG(gi$xMFtxB!0}~i$IjNe99EI0z8PD9)DcendCK2h zKKEWeqxscQxi;neRFVE$7RB*~2?63NF;T2C7P6rkhTI~mDt#dl42a9xwX|h!dSl#+0Dcru^`j|ryD!J7WMz3- zg)s8IW9vmg#P!sa)gFXQeq3CffASU}0MY=1)VSMlr^v4Bp7#Uu1^{T{6I^f!>9=Ed z2yfUQ*EL5#cFq=8U*VI~cE7o0TndUh%=S}f?_)qMH{$wd_?sQ+wGtqsCNy?&6d}uE znSAczt0D-7W?Q)!TtS#SP8AijwoJmy!JhEn$NIh$_!0lTjd2o)wK~wNrHgu9#HPm| zYtJ!7_mPDc%iPJCr#v7p-d@Z<-qt}`=i7hu_KMlIKo9(TTX^1B_UUcKA?orKz}k9~ zdZbMsNWxfUDy1)Ke^npJts%d?c4B9EXh>MFhtT6J^GEZBwIwWrb}o6{uwK=R-Qrz$ z_kKsr5h1|n_nJ|gh@0$4zo@s;bnV*F^n(1D8BO)n5ANrlKY#w+Dd~0j#UBfq} z5zyan8}*?{!+*Ywe7_9J@E3tT{Bu4;B@#$B9(0iqebq9L_I-3)xQmCf@N@rG!g%l3 zYuU>AX)mu^!rt+!J-^?6>6&O4csTA)04II~^p8@iBbVZA%>w;h1JXDYBjR%-rRa+~wpys{C$K;J~mjbjO zP2mZ-X~zh^a_(Rwk3qwYU|hdQKq~C;{`gh?A0Z_)C6qFFe(eZ5Tg1xBO3xQVQ3!8~ zPc2|D@?HEn$6=|W+c^Bt#+b)IKf}ZQr_6a@BmPx8SC^NU=gqkKEXiL^`?C820c(6GClJCO@#{n+Uo>@b z1TgFJ71ArX)h^dn?Z@KcSIew9x^{fmSGu#HiIzP&)yJ2FoL>N&X#(5vJ z$P)YTHLXjheTco;d$9{v?Nj>!m=S+tMgV}uE&~4nQ9Sxt@6EI4&krFBSzk#o7miNU zU5YglY1^&fRA6PM<*L3ovIvB5@STM5`tNZPDkfq}i=syRo9!2z05*voxwP;m9>kI8 z0*A+Hrg|v71X%s5zo(~SlKS>qNhAh9RyYFV_2;)|OR9dX=&4Vo=*?@BAM&SkBX;$F z%-Fn9?^gNvW;=a$*=snXl=e-L5 zFGV<#jCwba-o@N(;lD5!ELZKFzvS|rtF=_FwJ~3bZBG-kQ(0cFrZ|EeHC~>O+0QUa z+XaFXsl~Iw%kPyg-q)A4Xq)2EzTU`);gu2{9oM_klOoWWnJEta?HYDoKBiAFJdQE^ zR>TcG_IJJN*Zr~Gg0&O+T5gxOJhwaC{z4lz-=0^oP*f35lG6L48_2H}UD~7(`8T{H z;ozXD>d6kp@lnQJdad`Vbu<{2?Y~bIYtq*UU z_{%Gyr2=eA4hqft3->H-xgDCI3yAUCtDjR#Z4Sv>wJTOau4h{a#diWT?|aQy!TJIs z<6gBA-&ZS1kN(#FTbC4DE*1ms@khS?P6L+m$8X;Sj5z@a8{Jg8*W9CB3ZFh$+BC&G zm0)&(=c+gdqgpU|OIj<+=vH_STm(+(oY*dj_(Q&1b*fk7YM@wLT?-;ct*MZ`Sg}(A zd?7S=RX-mjDfMZjDCXu>-%?_!EmH2iAsBlxpvXVh1^;Q|vyCN1AMgjT(6H~- zSLp?kJYGBx&G_T(tVG`mh<*{RUTRnzBw%bB;f87F`4%?s6Z(Te9YJ+y-n-+*` zjja-TTL-Dnzg0LkZMlYSB%T4{IE@wM)QPr~t4-ramd@$CLEXk)3HYh5Jjvf@*H=nC zc0K#MB#VLF)>9!1ZTv7`iQMb`9IS7#Ub!Pb#%XaP%&V+bgmt&R*y*KjJYIBv3x6Zv zgtHST`&?j0$p(nm`$^api5KPNy?6X^9a-6o&K3|NCSrAWrTZeyu=*w7UG<67FCI?q zm-ZEzB7~`08mxVOn#>4PYub}$8wN6MariW;!!#Q|X}J-#*A}T~35G`kdV+<#n=oN- zzFD^4kkaeCw|NTH6Zv-~=WZR$8~stXsTPRu+|Ea0e>a(2+jI~$dY@KXTieYR&GHV# z>?nPJepyp|S}?=l(knLV#aHj5SPyaeF9cG5|35UHWmr|+*Y)W}4t?k@=?3ZUZjmnO z?v@TgIwYh;kq}T?x&SBQzLoWV8g6o>pDz*GqhPi7TnCVsL1taVJVhu#}Bz?Prs&yQA<|&$QOu*fut7e zJg{Swoq7sLp$yGOhCI4forEYa8PM`HkBVH)r$Wz8-ir5e`Q!+bV#m)!=UTj!|(5dayjiIX&2OIKUVcnSTj>v6aRaMhCO@N!vJexjqCDD>Vsf;1na|au) zEYHvGI8{qk;TLw3+_#mFuc$*1G523RU-P-lCjdC8#{KuBN4J{McQ%Ssmz11U*1j0! zgE@0AI(rMp!MyU?>>w#yJfR5g_>I2yQl0I1Gk_NSy)ba#b> zEwvQ_q7M?C|M(9f^=eaw^J4)c_ustfhQHQ&kG8R@)aTuYSbuhZ z%U{!h@a5@NzPT|NG~c8lI-?{7?en8)k6imQ@*n+z(77JRp9|IppE@=O*nR-3=@HgO z6q5LqkvCax@Z-%tHd6Yo?M!gW8aA&+r@%-Mm|Lv0!6Ml=XtiU)V_}jLRCu&p&f4qF zN75|RkUTCUi&c9aFTX&4hctms;J98c`#|X}?qB^q%t)ePoiMJI5`Ol? zdI$614srT*y&Bg%ga?^IYph`})mTpd>x`i&L{j08V1>{(itK;NAH zb3O2C!Di-lb>Cv(mC=wVxmg-ze;6`N=AMSJckewgT_^}F!@elJ2lG!H0(jjjW5=FJ zDTZT_P{t#*;M@rk0h{cgcV)uy5K@8G4#zSeFlLrf1Any1`WE2i<-z`k)Q~vuyOsNI6>hK(P3xLk zqL3mU?AP$6w&Y!$VAlMKcVqM;f0ZjxaU#mgbL~}l;I2b=Sn!zsURe9z{NQ{t=70(d z&dm`oivC&(uGh3nPCd^Kr< z5NXx|fHHH6_8E`qg49>KD50ZBs8l~*mMo9Aq(xWMf+?<0z7o?ql8sZ#vbs)d@{sY}sZS_=c;O3jS^Fn#- zD8Y~Jc$9&4kWN4L@a?M9Sm}Q;3payrG5x5z7Zp{AHes7^Bm zfvV?QwXz(f3(FsJc(X%)IU@XMqnYx&wP0+HAo#+VU3X^6RUqivRo}uCk+Bg?$9TIv znq85|wn@2!z>-~s^uyRd_rRQ`ZPM(yQC_UMg%3p+Ca3RKGG!pkjZC9xuosV#-;Ye- zOpHL7K+8 z{5(7@6{)e=`>4KNG5uxFBw6^yxvm-&Li}<=jONRtRu3>@jDX;CLeE%J7}O3^9173g zzQS-gnNDQ|s)i(*P$Yim=iU*4==hqLy@p;PD+?{?dhfK)L8eZ5^X*ES2(aA@6_wF2 z;COU;N6+-hat*5Lg&saj-G~;V`WhN5ie7oX&@+xtHG2yh%jqwsP@!WkB_U=9C>Va# z#$os*m3z?^?O!l@v7lodEu5djj@z-Jho%EB_%~OuVRWVY=bV2zHtq}AA}{}Y>ZeK6 zSDt0otBmh=La`vXG-O;#vdQ!9H6MyZN2ZP7e4gJMJ)y6CntEPFcd(4`YwCD}Ns<38 zqiT)!<`WSH(m3~&vU&FVrGdDZZ4V|ZRYxs79i93-&;{6L*a%82iOx{97oq1UmJMk&89_>L7Y)YK7 zv&E?o%HuhOwzEF~$Kc!m+Nu|&kvqAx<_sd0%@3{ii@}G7^wy6C)S0h1%k~f?-0pyw zrkUI+VBFv$m`ekb7y)V}`ui{_u(Q6V2fD?N=Kb$OD3PZ?LpQ6(I3bA6h~mWJLTFH? zG$yaXgZPk|dQ%j8tO%X`B|dX*yRnw`l47Cs;Mp9vvS|Y!WyFNYzaOU1VDKF+lzT+L z;tcc%D5}7G{mk%od)QSHp8+2IP00j*aq1Qw(#$!FC-7Gps)^oM8lNkV9`4lZMkhrO z(t%1<9Ibltt6s1*wD@gd;CpJ10L zG9|q`l%?MNhJBPO0({{0piWdy%_$aDw&tyN%wRJjZXam@E}&HDhH8&F@`lbXl%toU z_kafZcJ3mtLP)NcIC@NmQ0zt7E#)NHuoxzQr2pFQ*qeko4%k?AzrZ$hECFAn z2iVjNcaVd}=mUBM5L!xr)>T+?=L^;SrIv_Q!_T4eJQh zE&+h@$|D0Rp9G&%dWF=dwzfyI0^8UAU>>0lt(B}+O7MV-F6cWHo8PHwSdFETKlxr* zqrqbiP!iTiv-p}bZ&_DllVk;y?WV`QufX@SDiJ0iWJG^q$kRlEX}tKZT5CxPglk83W@eK86U*Oij=dKWg?K;ChMfu7GQL`!t`7v_=xBTy zlu7U=?H75PvB@t{e4jdHPjZ$L^EPlW%?uGIw7sh<3hNhYaUwW>e>6~W>4^Ub;~`l= z4hnEFb$wC5Hp7NO0`hMh9a%|EQTH8$HZ(^LhS}dV97|^mU3>=fUN!Pbgw-5b854DF z?ejR$d<12Qs?x)0#kXeSt-44OVz*^Fn6K;4Mw0oGGgwGe*i2E2oB>HJm;eLm*Fr7M zb)`1Vr@h-bUBan-@@fvZd0m%S*WKH-ADlOF+6--d;Wb4o zFT4v55n2dWdRxzkx8Ckb&yelyUz4Z2-VQybuBV%gVe1zxXm&R>qrMk0es-)9laQdo zbIS`E;KaeS)O#Jw*0bQDnH6x`NGl4)MIR<=X~xlt-k$?-l~w>VL^LZJl$%7!g)t)Kn@ zl59xRI8F4^aMsIr~dH-yk{U($Q01A&ETm8rAwiy7rM#;rPJKS?g z_k5h3jv&*m{`{aIIYLc`}w=OpQ*+4j|!a`JgQGjPSyj)LV131__TD> z^3201*d0)=?y<44Zr>l~-^zYsK&h**{|g$(@4q?X3q%^lw2qQAgJPmbGBn@izOw1w zaBJlWxIR8Z#(;j{cHE5Qf;$n1;XIrB>HJh<2A%3H5@w?*L1|G3{HzW5WaY?=F{f># zjp-!Nx@%cjSgbuk{!XbAlbp47@f;jg0ulcO0vrR*-@!V)bo_WCSe5bgctBLfX6;)< zCO8AU^w^>S@X1JB99$Wk-;o~}O1ckch41FWaJbG0GKO?S0C@{IW$xN1{k;h)P%rX9 z&#*E}ef4(hmb2HQLujc@0QdV*QBe`??tEvQdCK1fBNQFJg?h#2*wbSjz4I;)ZLsg? zM^_S_lHeaiQj!rt2ue5zYEZJbXWrP_`e4e)qM8K9HufU?}K0w`S#qOKYza4jFKPE-^8E<+M=QyXAcey2_~>;j#_PB z4W+Z%zd#C0ldfZv`uKs@PKk**98$(ul9#5**Ii_mUHXlT-)a6WM*n|^CmGzeM%CA^ zLZ;c)st;?|50B1FC8df?Rq-#%*Nx~(5GGH%B%{3nnOl2OVK8+;22AJolph*uKrjyg zyD3Q~E)V98XbYcWAKBWteq%#RZD;8K^{!Zc0tV_JVc-ZnUOCFr^w>;P;Y{J;!hFVI zkZE(qf1V2*7+qG-$jVeWbow?d6sp+>2y!^&n`ATyd4VipYXpz;#Hoyj=a%m^k&6>K z{WNS`a9Y@K^Hm<72#0ildDQpc>Wsz8<9Lx~Z%b_p$=8YbMaV}-z#}QoR034|>{230 zlsyoyQip}usyvQ?7$))afdp&e66kRsOB-dF>SLmR;QnehP7s926HE8}OfrT_fdBMG-Orz2O*yt@$RwkUz=^=A;!gI0S`zKJDEjlHCM;a9`<~DT`0x8a3GZdb$`C`jE~xnFs0L$ob2&UB(6L7&~1rsxoC0>NX^`|T~aMle)J81r0M z`1dcey1{8&q~lghT|)yl1i0Wrfkl*@0|Wl6iq9tl&1jH<1h_oEOte{xx{CxZTxxG8_nff&sHwAugm%Y}k=)Cw9zP42GZ^_XiAn~RZV7Bh~wAkmCx;kLw z=mhc@@-FFXjVt%$LClhFg(kzasplbnce^|je{Xayu-qULmO!1?hKNGvWj~dc(t}u{ zztVN=dLMvy4$k&pNoq#1;m4BHE$qKTM%xh)>fsC>%}lyk=@}VUvVi}t73hm4HOW6i znV6d52ay9I_lJ!+$YHRi2xEA#p#l+KzPxPEsRq7sV2PC|!8=XwpexlfXz@8=0zmAK zQd@W)75_z^-(E&jb3oIK@{jFXv&BMy`?m+S@@PQhVF8;^{|UD?3a2zvL=W6vt2=>Y zw`gwSDQqmaZFeTCx;(^HFuT0M062*Iayu-7ym`SOE?Ptjc_MO+ z;E0WHsV%{7lkun2mw1wRtMf5K=w63^yc%!>w`h!ML>b1`ifoDJThk$>a4Tg+26U0UJU z6>zU@0NXO=F{z{1Q#T&G6nKTnhf$=>q@yS;kWf4N&%Ya;n*1-1N;e%j-zBg&p-)dv zPt5p4@RX>O+6F<&fBy}_S_na|=1{2}=>0sfcEUp(`4^bSrY3-ws4n;^=m;Fs=wJ^9 z&wNCrndv+$3W@C(Cofft3ZFF{ap7kd5G-0BHB(Uyx?ch`$`!hCn z%7M+Aup!!({(MVEg)p+Q1$nRcC)G}?@cVvZs4WHQ5#9jQXVF#JUy1Vny z9hQECpt-d5qt$`BXQsA=YuBt!?Wm7qtGCy@OD|had4@N6E_9D$gyarq`ovY37A}_wYo26U8%~!k#HQz zvH}KJ5+!_!)C(F}1H7(I-6LM^?zP?kR>%W^LmHOkH04gF=Vz(VSFB?42f*!a0^R^08MU4C&!G z(;@-39Q(gT4Qbz<{CdU1&u=0t-EaH*IVQq38fJbU9*iG2RYb?C$tpAnQKp?PPdvK3 z^x0G1`?3ffE_@fIH*_r%WwO%qo9z5SS!h!@pX42zv+UKp#LUhD0F_!_Fqj`F$GFkt6e*SnDJ6e#3)aDZ-fNY=-ciFckD#`%ZRtP4A+| zoQC_2CmOBd#T`&WV4MvN3}*h4s|g>pPNyz^#SIguggo;}`_&40I9jL~#Jq5qPGjrU zBp>{`rn*pH#+IM@2nT=UvDIWTM%UOIBIJUbi48G>)&bv^&*8c@Jt2r_B*0!+JG;rj zbFm%oF@m1;BV)jmqvukh9mKrhGi?vaPft&GOTNkb)OWSc1NVb7G1K?M`S<51fS5XD z!oxWuJ$;0YjZIbRLce5@5|laOVCWyv$APi_#!`V3&dhhSV4zkyJhxPTX0OYTQ$$Sc z=>nXGV2Zlhwz12N9tv&)@E}c+cX51J;{%Pv4JWn{YstNL6Ys0}%%cs}fWFeelH%g^ zog^B$&52HxrVIAHlq?i5_R$hdzWUm%R3 z_+m1odM(muV@lT{Q*US;N$w;RI5FV8! zR6mX6e@R7(%rpjhdqduE;QjmwRe&Gjf z<=8D30FB4SKng2R2g!}kVP&9vOsw4dCT$tQv1shje)Fdw)y;T~IQ%Ho9~~XHVN@_X zO_P;RO|RBA+k#hRjxBtfJ-nTi93AtaofCfl;BuqreLF}-kVB~fVK9W_Ji#i`Q76e} z5r{k8qTn9KsredM@r1SGFY;!8Z+G|8GKbKH;qA+z>+ zu-`g36a$4-2ZXONH6ny89X)9?dA>`<5rQ;Q+nn!B9hGoe^t#wJz1eYfvYChIg9*b3 zfS`-x?*r%2Hr{E*z;Nl^++H0mX=`d~PM4`sfB?Qa|0}1V{z=b=4>crC*O9+ei%%0y z65X#u5ksGo$yiu~i)lQ1lHLlsEW$(6GFqpulQ0Pek8RLX2F|;^0HJ}Un^mr_E z*Z`j;=xU=BVp`Ke_t-4N3I&PgmwtbVYo)|Kq|D&WcOEAg`*k^V#z| z&er{^slg_qXOm4@!B}CR&K1t|-d+pwijA!nYW#a>xvp+KV2sfAT2u2BoMbe>qOw&9KRf}>>0!V?+6E1 zt0gPiSXqzEpz1SZS!M3C>0nMA5CK~k7V9p&m9MNCO)#JwpUQ!c#O+t~WObAfj5!u0 zY`L3Cph^ma2mno)k`0yWm)# zIdQ6ctHr4l0JuB@4!uYAZ}{)4+_ZoZWRaDb*#acrG`QIchO`41&1-+@*OQR+dB6)E ze#4LbD-#COwO#_e0Z&n$*0wJ|-IB~<9{%{;zdc_|JQ8%~w=lgv*Zv3(%?pP{l(L{k z&Wa`m4^~;~EQlwx&8B~M(SZ{U&t&dJxtt#jIhr$>y6BLM4wdGCaR@85eTUM1dx9@n zXP1qn+by+06d8KjF3>=jkNa2uqrPeJ&_=enG!5`aBT>TwN95{-A7<6m9_ZQ;$rH;O zTU$k@7Z)odBnw3OI^eum04WM<{s~hW!D#X40LCBPtq{ePBZ*H4WRYusJOfiTcLk`4 z&9gUQRK{oLovuLK2&Op_i?L}6Ytj`>ZqWmpkQV3Z9L2y_%-}3dF1%BF6iYL%&TIx5LY9+{88FM z{%DjNd;U2&>NVuVADDrVznE0idit-BIixQqJ;_qyC8@%@$YZoEOvU%V1XqlD8ZAvO zF1CG&DkmNLWS?9LH_u&)i%nox{np}}=4=gpR?BQa7XUfQMSx=@8HrY}8^sbH?sDWF zY_i+UGk@~l&QX>Ch-(tyV@HXXc`OZ1z+r0q+SqtxMc&{~)_nLn^)ayBJ2>0gHs(Y> z=FDd|{_vq{XX;;zu)IyPD5DG(BDN5HsIz$w4V{Lxze6L)Vxyxj_7Hd4nR29;XW6&> zGSB66yi9>X@uCd!9H16W5Ng!yMP>cy9V)&&^mh?=<(2yGDhk%`SgpS&%)LifCMBua z)FmxkK_#Vu3Vn@lDs{kEb#ubQc1fqgw27+PVdncnhp7uW_GIZtrwTO>6iUR`puIXP zkU`dyHA2+81NDsq2p1@7dY^Vc1xE&)Rs<3_{7=mSf8fS{0a_}pCb1VTb`2{XB@&|2OZe8+%2o|v4NK$yuK{hpvA?tVyF7$c20 zavML*q%8Z(c8VWFE2&Bo&I&F6qAK){VSF2GVte#1UtZci24zXiEDE{(;X&eK^$~&4 z{mQKBY^XZmDz`EGJMX>yGagv)USnu`&-jHLE#p)B#YX?b{Yw$^_RGVq0`;vRwuqcG z7B==_Uu$N(iM2bsHZJzO`jcq}CjAuWbH)>u47$e+1GW+FB|IT&7=j1pf-f+Ai*YzW zsRi_(V~t<`U+EDDN)P-45$wvi$;{yR=w*Bk0o4mRone5Wij0669$N`QpYlsueDtq! zJ57(aGBSt_e*b-fB7!NSww_*8G$U7vN2=ASm4X}$xxzQCQe_3do;PNz*wqThP4NS& zEl6*qN-2-gpQ9UBQWndS7Neu-ae>om&#~)@j=EEI%2OHv{u=wPiB7sMIa<6BF5iVi zUQAh-?VI?&AKup{MD*xcWYO5)C-PziSTQh=EbM)zK}}lLO1G{G=-zM z*rLJd(SVYg2+Q;rjS^~%{i0}5FbFI!$YeZ!F#QH|GFZ@iL= zmh|(sGo@{^u^}#B@7ni|qiqs+e=NxH{@AxDOT^ULS+Vtkor^m@BVHw+xAtIx$0a_? zC?mm;q11w5QeQXo6h-??S@$owq{-uC33k|%Q-Qm$Od@JZjgOR#a z`HHp?&fmivrJd27=U3KVp;>0)j0wrqFYP}UWnZGcGu;DHIG*)vzL3$~1ZyaWTs8!y z+$m%1<`irA?vcP~gDTV6WH43pp2U}7F*d6j&v| z#A3MCsaC@C#_F+Zsv>(nb0@>NNKZ$`#3KmFX(;;C*lGf}#`JaJhigU_oza>PU!4*( z_Av)vo~?)095Ig<`UH8?|CN3L$&T5|8*t^LO;=!C^rJs&<%AB~YXnpb(W~VJ0Lg$Q znGzcon=$H{ESyD;fK%ijDo&?iENAQ}K8EasagAikt|#big7xe~nYOc5{$TLyrp!80 z<22DW9Ct^gc8oLtBcE})=Uw3lR~5<@ony@4eO=ror<278%XrB~`pFoSFNbT<3;*W@ zphbJ`QJ#P?1DDzNScK{-epH&~f_Krqt!*R}``u;WE3&T&AI**YHEYyQYc(`07{?7Q z^#rF%${bTV!-0FQTb}v(3n#UM7%4{(d^FYTI(#p$nTx<-{=@$M>qy*`-d8QFpp?{` zHu;^qLwfIDyxchTCkRv)zxV5Savth;Y?L*Bby6lr*00IDBxqy6Ah*iP@i-EBx%fin zF@dKz@8vnOmK3b-0pppn?m$;xmlT_S&3Wl?%G79^a%tAR--+3sPl`ODDQdgJmyY0U zq7-d0-=mn0t;l17rd8l?ew>y-W`c7-Ht7tm;Mdvw4IR@jkt~H^CC=sFlVciGW z)9TkqjWO}afigIpBY0cGYiWJ$3gNg)9n?RwW^O&+usRj$ZR!4;seDhu&*gL--S?_gquyu~S)$s#;~nC|d&#e}2~$#C z<93&cI|I5{dj6(?mXu;NMRn#IG)p3K+Me0lWrE_Wrd!id@^dRLtY z*}|91V*&SVslFJ9;WnqLW{o@{;J=<3r zVMaV@fjEj^SWsA-R1DjQoCR{4c8cMh4upYG294%s6x_E2gFOUbXRoaVO2?Xo;2r~a zsfcmv82rmvyVZiL-quCx7^rg-bBLS=&KgFN+{E1{dK6jp-a+$|LE*nrK6BXdag5_W zBSb~5>YqW>vPsw7b41ROFeqo}jeJ%j)QU+skhm7pRJ{FK{eA7T z$0>lveCAL0g$d=|$j#Xne|SO8S^Z?lOuUo9BmB6=_iV z1s9Sp;o;#{(U(`!7--W6I1A3hM>MU7M}-Az^h&8JTA9FNLccU``-AKXpS^-89440k z|Cj?GUePzhpE!qym`Nr33H;>Fg1$%6NWNyu78U1tH()`Vv^I&fi0t(h;H@%eN%1y{ z3FMsz1AgeDT2QQ!8=w4^$u(;!QQsb2JW23&co^|+lcG%`#Ph|w%}c#;pw%_mYQI*R zfLnXToOnDUaPS^y0l%H(^z*YmDwptT_cMHUw)UU4)Q@lGqGA5KwvFGuz28>OAxqw+ z<)B7+=lF$a>{nbAtPkkmepvLqh@<`<$*dHRq{wuZ=4te@hS#Ssb9g0Cu77VnJF@4F z!$0+!oBKTj7TJckEwS66bjI$b@o_4*>p8BDekJc_OKXu(Wci#v!{gSXeRm04`7L_vby+dY8iw8xO)=MN| zfCQ%aDB!wE2TG8R5bEc}3~L8v%tE8@nRTjJZ-{0@Kdq)a6uH*E9v3HA{>$(czQRN< zm)fG}U)A*=cSP`OG_hXggThI$cxXM0I~kL-b;+*rYaE*ke!JymP7RN@dz^}t@gJc= zfti6ON&11g7CLsvbgx51Ir~0clQllY{|>*mDJs6y)lTW$S8DC5&qXOl_*Z4}j8lpw z6d_3!fjbf7HS8a;r<>6qM{T0l`wCFTCZ%+i8myq>u&yu1ZRaKIyt~36&m#3L5vlJ6 zvxzNuU&(jimuP=HCEOjjWQ!v6$|UpOuek(BM=v9#;6(DvGc0h}+Ktt_2S|=*b#oEz zsk&gDQG28uD}E8OiI`VGW33T0E__58`r}I4BCqU&YE@!{r*Z0As{C1_J&S_?ebIYX zXP)ne#aNs~sJWldWB`ht;K6>JgkaxGtGS;CKbL~?LF(kKDQlI^pkV!blnI3YTJY&6 zPv)Lg4&8K`wmhWXo?m5y%spEHuq|!WF+nNB)C%Z+s;{q8sB_{IrEyQ*(95OuQ^qGV zwgk~ZmQ*RM^Dl4X;MM#Yg$Hr+oRt#&wZQc5mJ+2Gcv0ift{r|d^1At1wN*Wz z=&)GvIC#`_j;ImjMK5b_xlSv_5 zz6u3cZE&9ymPj~N0t&r?CyoG+E1wBZIn25n#xtOQ*91T84V-F%l;ZC+2?Cv`H!TkU z_^E%oPOMmR`eei69GrR$;Hy8zXT;xIk>mz-HpPxZv8D|dPYHxTEQI5Z=6#kFGgK4o zfM?OEHw7CNMRD!wI6ecwqFX7t`?)A{S_zbTgOt^N7rO^w=pNwuTB|5tB;{Sc&zVX3 zVK~m{)66V2IAgFk&VG7;0vr!-1IqXlWhfBGO>J7ZH*6J7Thu!r?IZ`hd`HY@4e0}dTKuq>sLo+~h zLPKR7FvNqvnT8YbUpbM~{%p$v%-s?H7+xXH)tEKDtm&W5eT~hl85;`!5%+2dF(zbk zpHD{K3!Vy$x2}CP%M-`)A}`NghVTntWskgs3sYF$4iF7Kn{RZly{QWG4IooOuuE?T zSge1To%`v?+Ed%OsCugk7l4O0Vu-%4F22*CW zzkEOw--YC5PFnw9_%|we6#*iX?nEC?5>tZehK3In@O>q3H8xw%@na^}1jpe2u%q32 z7AI-<2;TQ-Xi5=HdJKb!%A*@-a8R-1KQL`a76NP)`_tt%1q z*WBzl1#I*}KRZJ=DTp-;4+KERPtYkEuw~SORJ3U}khmja`~X4{rn~@70nK{=D>bXG z7<^fqKLb2D2LPhA|1Q=`D?AT~KXJEVU}C@7%&7&jWUop4egH=f?fnC=nf_RMIP~T- z>kMCazoc0wzxfj-YUwk@DGA!!o}kl|{AusDvt073b&zGWx}KR6b{7nq0WZMoAEDOf z10pC8paMULxUFd)3LT%}><56Wsm|Uec(>5RXnvx2{`3_0z;zmm8sM1xdkN5T+Vh~_ z*}PtWIHK#L_zc<#!?pn5kHTm0bmb2+rq?L@gpn&@z^})vGZ_=r;lC(VS49`LNt3Al zZe`~k@AY`THIuy((l9tR$MUXPwq{0yAKmXJtD;XAgxrAt8UP=`sTLf-z?Ey{WiWa% zF`aOLUD3aEjij2`flIEvu71M7qKAUH7TP6s8T>R=_9nwWb$3S8$c7w?Z)MYyYD7@@ zQOspTgQgqZ_{Q9-E!`)F$M1aGgxq&M$@3^H7|@P3qkaUT_-cgo9m=uK#1~P@r5%VO zIP#ln-hU>VpKjUl%_#akrB9v{v`@iZasw}@>V5ZW3s4WsI9gU>3h?1EA>NF=$oZ$*STmJuWDRvm})39zNw??rHUi36%O~J3z8}=5q&wNT8;S$j8~_ZimS%CH1;G#iPsY2~MqD`sD4|I7D%q)w zXLUD(zpiCgW3CnhF^Zjo@8(jdeW4t&?wcor7N)`nb>o+K$l>UbTo{;PR3M`w0m;h> zxd{JNBucdSFVy9%d?5Wv=p)%Hd`9s5BY`{vN{Pj_kgcvSe2%lJKFu{4+~VASxNH{; zlXW%)xA;NM-ntHpFs+ZiPZHO!pOt^cN2T7*KJUpg8rpiy5&~O~IYS#GZRcZ3waif; zxYhpt=>r)p7&}=@?(MM10q+MaTjTULDL{!)CbLB9(hmD?e%=AR&_Ia;ydq2Bq)_K$ z%eD;rcd&&%#B70f^k&#bG$nk{d_Ul-xg3~WBgBb2o0${VU=veD1Y7RH<262T8`k}t z#1>*D;)0Wacns%@iHWI~C9;P^P0gUMY%|XIOlr9Nx~#9F!{+oE;{3dVfAvl;`-XVY z0negkvdRbXYeshK<3*KP=UzHGT_ zJqnEF8ojYaj(m4_NOSD)lcR0LpwCreRo^_>^i#i8ZUvubWF%cfF=Q3UOkaggxU zeiy53P&`o$hBRfhzIIQ>4(rTf!>=#XNg!GOkzx>gizNGPa}OUBF8^3@{#zQ%D& zyqCsFj2+E74Wtb~XJ#DJ>YrF#)ul&AGYXC z_NxyDJXOsm(qA0ASbGaV))aG7!_p#>bcjc^z*kw(k%HW2Z+`3yM z=7^wOHirH?%4uGJ!PBR%gvzUda5MYNrFjrT5~D{Rk@vwX^=)rb1?1waCNYpjV-vMQ zE=I0}Yt%Ks(popm#=m9Xz?n}&Hr_V8WsPdoZ}Z_~8reBeH`@*%o(eI&)xpCGf(U}0C`gz6GwFkGF}^lCjz?!@K^ z;Oz`D>c@(lZ%tf#@CQs2Jg2rQaXUArkb1uFWf(jsw_V{euL!Igihz7z1%XVx&6>K~ zz4kVPI38986SN}qt-eCTieZcTXXNSQx*;H$=^9M|Bd@lLgh#^d6MZ6H%!<-?JE+%| ztl!&=UfY-a%o4w*&_mlZfkTx3_YRKuzhLf#Q~;#wO7oROwDA;X|3k%cYSrgVATL{r2esEyiB#$i{AxObG09yb4HGuf% zS8}A_ogBdXH0+$6onzM;YJe$@myeGR?BcD3>rVlqzi46$9dmPY=T2|#`L;;6j+N-e zA~M_)R?Apq{G=fWa=orO_qlD~(Ho0Um&g%1b{S(2QMz0L_4KAh8s9jzW|3K0vjev= zzj4sb2LGj(L?_3*sLe=Dk|;xKaop5z*;f2^shQ2j!GL%{bay6-$B_boE4^R0leA)a zS8i!H&ykq}_h|4%{1A1+m=6z!o%=-0F6Y-d{!3(<9D*arV*S+YYWP8O(!}aX`E8V9 z;EYT5Qyvx^nCnAPG!wcF;lQFXX=AX;;|vodw20;>=XkPgA+F%?$8X;|BK!6r{RtRd z%&r$=a2eX(3!lBl6^r&FOjwuN*YH9Om4r6Lxo@Io6c&C7j^>oO@U;jJ;T(|k-Rh7; zA;#4>ZGxm)m}I3X%wPpycdfhU&qYjT2{Tp=TRilb$DM>ovhE*69CLli#rffL_M4vp ztGI$o?SwGZ-dWIQOo5HK6FvmOB`J-4x+3URla_n1Ep_L86 z1@@8znji=3ioFrsXvq&c0aY!hiiV)l%Bx8b3lMPmA&-Y-++rTY!XQV8NVekKt4;sA zNAS#N?_PiRPBQ7`sjHF*|0wFEL=05$bl_DiRE;y0D;>w{<8QiBw<{20l+B3P)%a#g z{OASAe~0}l$O*J_oU6d@Ai-S~ur5hjq<6pqHzj?7Me2nU>jw!4 zo_+*f!kU2wUgHp3b45MB7nI!^Xyr}U-s)^ei>bb7T~v(UhC`3PocZ5(U&_!``1YW?1Dj_|7q^SV zQ#^A#32PL%DuSHk5d9P0doRgp6%LQHC#cLRAh)|nv>Kko;TOjoDc$r!;kk@nO{Z)S0YY!nvK}qjKTqSY%gcRhu(1W z#8mEt>zeonMsXPgJPTG_m;AUv=s-BpD4qq)D#ML({6l!==*jWZ=+nL07y${-D`AYi%`P``=C1NDO^Z$6fY>R6@5AZrV?DL)B(gIjV*ZSuWL*E* zr2#N8a0sCL##Yw+X>-V1^H-|^L7o(OH~wn^ZS*MbWQ|=(85W(4@5v$yo-ow>^2xnh zHhReK8DnwOf|3X+>;<=M2lIYz=hT&R#}SQRMJSr}?wawDDUl`j4DwpIw27j?-f62>xx(De;2K4Q%xvsI`4ziPzOW zLCp8okVT@O4-KJRG=}qp7O-1qU!6H9gm;Qll6`ToxhI&Yo1z302{+%}=f!nB-Q?9E z!&B5twQ$&U(HvohFzzh+%I5daFw}mWpI5u;TlmqGUZ(II4UB9i;!yXr?73wMp}Rw5E=>WUfCA{^ue=;tMTGrRfPgT`>lCV!k(cMq)T=nDuM25bi$I_-Sq$ zTv`KRVF)x`$bkbTXix$_hj;D?F2hQ>?pA8U%#9|k^{n}$Ccev|$ZcN@a^LhD-i{;VX>tqw%5b^M zuCS))bNw?r`>M3I*8O=jAq$R7PAEP&=~}~*Ha%`OGDg8$ETRBH@vz68e=~fTc}z~5 zG2|$6yIln8LpHNtS5$6DY68D}N$G+_CywB8#yEW4lAEMnfLuB{qARiT;<9IaJ?s16?r8MmSqCFZQxOF)w91A~Mw10CfzUnv} zIeS;A*Ms!l?*2E3n72~`37hyG`v1N!CBM9=;^TffMUgG2uJZEi0f`qu=!I_P1B6E< ziWC735YeezVko4ZDA-UwIIv$vfjPBck*<{dz{TYroEBw_LXKY3Nrer113vSaC}~?& zoRkltnVM(?`H>(w9lfK^a8`wxC!I5S9E(iu_m%4&a2%Z8#pIZj_Ec33a@G#E@az9U zGMV9>vlbJ)Trtuw@&6K@Z)CGbf_=OD%VerPPxx$J?zzXk1us$2Lp;uL|MjUQ-2E^k zaDkBb{9y*HUBf9T;J@9;cQ3kaYRnFZ(Cz2`3Uu;sT#Kdvp%z3bwX2vJK?*P3)UYw) zz*zWB>&JzX(#;2hS?Ry!4wtC5_F2TGp+3uM( z)mf&=>yMHe+uPed30dFB<1fn;MbI96cTS3jv5=;X6R;!A=0FCIEM^_dB7|Qn>WCo} zxIN^vju?av=;81sC^Lp00(K|L%O+p*-m$#N_mAd^!;xjQ@E)QEtLEdM8J%pHV7`>X zv0^?0Iqg>ySP7>^NX=pTlFd~>`zF6Spyk}>7wVZLc$-x?5RbxBZ%EmMFV_8W$dB9y zV$*!-LzD~Sy5s`=vph~Az1(WkOiAzy_=v-$NE|CYxI0}EzBX_Rxg0U{@jvoXeJig( z^1N$sfqJGUw%B^>MD)LZx?jkQ=f=j|E{tDU(dBH`Tl6J7{2k8X9{7Llz4<$p-xoiO zl!Ht;BFUIprW2XxnM@Tbvm9fFj(JW|W|85@EK^8kGDawlBU6S9Ax?%&ha>Z|y`%U0 zhtKmo-#_5%a=FgszR!K{z4qE`ueJ7TzgByR19vVS<1CAKw#;t+xa&t=Y^34SE}M2t z(tk=f9+}hlp0&LdGchmplWe@+=$AUEf2kWiCI|?W*&=HE)+> z7Eap6HB|0B`M~gA;ruK95_oe9YK0yZAci5=Y}{-vhRx2HTkt=3`M$+n4v8h2SG*RH;N7&nlcr_B?WW+B zR~iX63->GT&5Ls zMrG@$IZAV57bLJT7fC|SIBau(ec)wmU1!52Ykv% z8)LtAUeooL_PDu7HdAEtLf)(N>iq$cVdMDQk2tP8|Ki4D4$CXQ3hi#U4!O?Gn*Av% zckPPZExu9pD=!^~yqHFREM)-C7Loo4J&`2b>!ry<+e^q}6Q7r0VwaoZTmu*aomUqZ zS+6WK*{`Td*GQjlOG9ALSA@Q}&o3b@*tbD;fZgm$)lEVTW)RFC3IqJ(tgej19Y21r z>cIB)so!snkgDFe?l$kzTG`NT85-XFA@ zyelnEwJ)ENrVq098W5bZ&|VME9;*s=hcSQ02RYFdfY#0zD8FBH=J{O&a5&6tfIs}k zqu%IVF9=Et8|FiRkKUOAjY;ueqLPIHu=9-1fjs;ivyS0`b)1y%qNRzeX{#aL$0kRY&>b zR4<2nz~}7c9|_GsD`l{g?1%6|@i$Dj3haT|P#^ex_@?Ns#$kutbmKlWu9aE-A%5%f zi(=u`;TjBrm0XP`^EVTtH`F^Zl;r_UA&BkN!T?vIQ%rV2&D<0F6{5M+`c(D=5F#ao z7Ep*+W@TAy0lu&wNFCDedhVmDzoAnE&?dGcsd`6i@mVzwJBa|Br|DKoQea(=7vl7F zI$ss}%P(3O{rjm!oKQ-zpPveiEpEG8yN{psYytEpeS+*;f!bl96H!IW5kiSGc}k`U zJ}de!y$$ZK5AD_SzBDY6tpX>js#Wzqj@9@kY88EL8g!_?s|`{--ckDV4p?%d_ihUw z+}JAbheJgYEC7H1&JmEcfnM?nRs1AnRmfzxlUf!Ixth`Xqvn{#o?2iR=u~_RU9+vMm3^5mUQF4m zDUk)mNC!TA#4++vQ_y*zZq4`n|t~Tk=*QRD=`iqOEW0p-)H}u4vfzgY?>a z5Ljldq_O|XjN*xw1Lsf=Dgak{aq3QZ{q-mPnII&c5U>u=)m>y}6_g@u6*Tt!@j?}i z3f(5t(d5}HhL*5(`T_h*wbR7={A)J1xl1^cGCZ^aA}W#J#Qt`E@BB0Px3J;#up99v z;i}%b4fRcHlr}Troem&5rryM5y5mC=c@=C4hoSfkbBl_*$tW&Vw0mOnWk`U!35JDvj0Gc*W!Y3h)%bv@MDGZ~NSL$nuZ2ya0D53vOw5 z-RH%On=2{V?iYo;%6TU9PdZemn!c%J@m>$L9MyvHJ9GI=b^9JO2X~iPVm^=_=HRl7 zrMTbs41rE_f;($X@xCv4G9uRTnLk`rBQ#yk0NHujRA6SHxkbaZ^1_pek$ zpisqZzo;W|@OM&IhCo+54gWKRcL0*8xX5P0#k8%_e+5tgxM?7#z74v|P|+C^`~sL6 zTi{OB>bh5saRk`}fGv+SR|Z*;?ab=>n`hT)D^e_XO=lbZ%Y8w{SrqIG+om$?YMMHC z?Q_bkhh2>epWCl(et&<_>1QED&!t88R0jH#+$%%k&tB9SUC3<$=j^L0bEK?`^yDcW zO+h!?b1#*VP#4*l+p_nBN?d$RsDDJjk{##v3HZuao39yM&-Ms4yO{h^qo0O*Y$2o< z)VfH2O`=cn{Jk0|bYrd0_LNHnoScRV7F{ii6l@PsAIOU3(2Ia{TAhvZ$BlCCoX>f% zF8u1CmRzyA8)zX30N0!^CFdhh)M17M-vo=!gjt=gV(&ehf-3~jf_r6_?TKR1OC>1> zLW2@+=ylT@7YIKjg6-YtAu;jIq=rd=^!U&WX4~jpn-`z;FYA-e{s4?w$Uv||$_a9r zHx*>h2b=3Nbj~6r+g%$zH+y<`ICWvLuYhGEojac`hQVRRf%7mtIy(BIdv2_!_=%yS zqT(Kir6s_T{{x$EzT#WbPp4`sEB%@y=c6dv)(*kk%@f9r^1j-Yklqh1*lO#N=9BdX z9JlPM9GxXd*?zXqm6Y!w=2E+{V zTizj0jDEmQ+D|J)uR9)3yQkZGW_DcDbR$kF?063?eeizvyo$$GW+Op-P5=N?9xd%%-iOW)?~vnjbQE7~6?XCJw>SBO1;_^<{oD+h;kZqkR5$b$oyLy} zSuR%mN%a#bqqsTlQnBd#bMh@VL@A@y%#iAK*T@Tv*RW&QK&Z0Lt#@sL%jhQ)FL{>Y zd-(Jw3j>YjMeHbozY9VAVY3MjgXTQxCds zVo3(aPXvzHR$(!{rM2oa$6I0_XSIJZgloN^$>yrNu+c^wdw|}!-gm0#&t3G;8+mwwvtI$pNwS~n2MdyW<)vnCDg?g! zVtvhyRJ-;kU%y3!wJ=jdg1=J$1`@Ht#9<`Ug9j3+kgM$k!vM*GQOJ6?7iPjallltS z?km7{&uP09rRV~2SOCOer$cJ-Vs}Busx`sECC&i?r)$1-g^lU_kYJ)&v4AfqMnTvS zn(mW>->wV`BzWDGfg+?oLZ~%^wmp55|2#$1LO9Q7UrIv1&K=FZ9^Lt*gcfffnG7=_ zz*RTlFl-R()hk7^0Ek1$<_-Z%lb-&5+&dgl`Z2(<3kOvlrqT^&uYqiH&GEkF1M2`l z1f}v@I@nVC>DS||SpJJOUhj8T;keY}{Vaol78gUixVNZ*J6&YA>>e8W0;ERz)wPi0 z@b`x6jFQklC`P<)18J~1YXJ~IwPJn})=0Mw$!B&CLarGAyE@+36-gS=iZ9;HS2}rOI z$Uy}r`P>Zeolc!io$y|-m;M0?*a+H#k|s~5bAGPs_ySMec1&-Oacs_v>${H7MI}AJ zked;hsmmn=_PfQE+Qqk}-;8een<*?e>t?g|TBP@ljCgf}NJ;~4#Iy8aWCd`=>ud~w z>^PDO#f3YjZSbGHJf+5Js{6izcQTj)Lk?dK5Mhjm0q5aYw;qw!bWk?_DQxqPQ4dsPB4L2;RUl5efJ)4Wa9=PTD#n)*bd>=;adJt zb_6zPG{&~x7&dktSO2-1l(tIj0FG%?Ig~bv?lg&^7~A&&;rT>`&qqW$mSOLBZ=y)J zw@m#Et3co$Zeou3xPH*(Zi6PUd3dvR*PpKWnR1yFZU@jQ8VT+DDUyT`Yz2C#BTH*F zbIygy-6hO>W>H&NSLZ!dj_dCL?6HJkX&<|&+-D5CZ>B>xBSsF&dy=B-eD3F|%|4Kx z__?^0Nm(%L`bhWt7M9tLaX)Ker5gaL54O*}yFL*HdeodM?d#F*J+D`+8qHugwLgC& zo@5Ig>3y392)h6=a?&U`?Q@|$<#r4}f-w`9G|z>qp0^cz5^Fq0xW~1sK=zj8EsRZ%AQX8G7^W8xiEr z`*POWz@O>?8dAvBE0v}Y23Hs3`Rbb`A)U1i>4GIJRcMBr`fm;4MtcK9chXtCxqct+ z0q)+b-Aa}aFR(+Oy1Z(}HESvZ;B%Y_SgKYGFiFnG>_6phSK8N`wo07YyT5v~Jj)37 zeTp$m`HnPe@~e}=CU{s3GE)5{dQ1xT?LEJqS78YQo9m^=M}TT9fZJtuqeAEFW#Ad9 z!F&hB4PDz~ajjKf#Oi37m!MVhndzOM$7+LpeOw>NWE>3xv=gs3GC$;Yge)M|Jh0qC*%#!7|wPSZ_4jA7yTkp!MX z;VJ%Jzg$z6DosKSP8Z5{!-9Qel}ln%eKqv)E_2Jh3IIM~PKuvGv2FD&ar!Q#woSNX zAe+il1A56I?<8mR>~! z0@jUDw~xdVKLVxFh9s~e9wtL+yBsd}=t8IbJ7DQT)rEzHP3i^Ptg$Sy27dmm;n@Iz zEwDrrjc|HINmx@|S*cZMcn+TDS{^OX^nMZs9xvkU841FPX>iE$CW*t^MqZbneEJT3 zL+zrz33Y8|VWC~$^fM+I6%v1wDWXL`jUZy4p@(3R@qUc_#sB1f{v$wS#xw>@s1?X9 zTDXU|c;26VkT!+4czBE0Hnn(E(lP_A_57gPP!`g3(%8L}hNi{aVT6!NCV;~|vpp#;s|58Ly$LA)ud4Lr7`6U}jH}B*`ia@f+wHsu$xRUIcu~GpJ=nfZO>d2sX48 z?{?o}C8*NKEGg*$ICTr2uR5C2>m~5721N(gYRrH;kPpI!idy#=zniQRL25CSV?1b}`0xWfg-?WYBNodh20XkQ=I+@rbz*P6(W zukP&ALtN1jok8+l&EUAqHwo~gvYhy$@>_GOAj7AHIRAwk7qurV1Z2KdIT*Hb?KK`r z?p@k{Z-xJD^5eFMe+;;P%wu^(57PFI_k3HBA>|qlY6l5s2EH)zvWWfd7H>PY)r0Bj zQczs;n`4GQPJJb0j5d2M^#OYD#%ZdCOKreJ`!9oTrC4G2pIq$kE{b-D4NtRn47pTQf?hF0a#6M zs3C{RSP8b2&EF%X1zcuDJ{51DSh?=*uFY@YGp`k7q zOoRnpHKV85$Z=DpO$`mjIh1bM&m#fhcTuQd^CFRi1KL zxB|x&ZcD-UJJ5!bP|_BYUR2ZF;FV^1;9~42uUzPs&7UH zdW``-;kiPVU}#gyCC$7E)xcZT-mv;^luGiYJGK?2%QmX#(}3IWp|zmv4{XJW zc@nL@)9_v&eajVY?&U%knlmdVBNjbNthE6+LB{l!Ux8kOQ0#=D8Jni#0m0MrPZlA%)sZAHw%ujRsiIF;WuZ zTk$q09e^&-cCIG_EI}ujRvfNqW{4n;-O9nol+XXOH+V`Ji5mb53s1I#GCVBJLt@dF zJa;A>N!wgVo6DFX8_K+Wc?%LRSJkYq>~ zS`V-vABI{5BvXMb#-}B|0nMU>g&e{d}%Q<)bT#bn>QgzMssI5mcE?JkX~^jA`}43vs%li>N)m{~8AEZy23)YtrB`zOft@Y37w0HnH@2! zP_2b;(!45Lb?6ET7|2Lwaj&^4e#z!c`s2fPPh&|_a0K>Rqtmxw=I`_}7dzM4^q|rY z;8HoFuSTihp?%~X?|k?gr<@|Pe;RXe)3JL9*YRMUT03dd2}pU}w2ZTcZ|7s?{onQW z>Ovb4wOb^*{2bMj)@K2-q>E1S<@f^9PaxI{CUJJ!T>3N zm!<_Q6*t@0-uy0~c`*g>?Z$i8{u zo~`6RFL<27(n6wo4S*=8M4iTKh1gW1$EkfXu9<5(*YnzIW@##HMMRvVr9GQB0@pd~ zJSxho2VIxfzt0wJWv{B#U}NS7kc=rRQS>yTA|g>6?V)z0f!nt$Yx0X!eo>Iz>sL9< zlWm}F90Lmp*S=N>S-8xtMH{#3FYA*U_vIc>m03M|2q-G|K$%{(DT`djx7Ms6Z9TtT z82vm5a{Mc|4Ghr_0ngmk)~kOyl0nF&wU@{Y(T<+=GGOT311$0@AlG}NnfaQ&dKwXl zfqo7?`?qG#P>WjWYb2>qNc5~&puEGRGxgcWFbOam#(~VmuTPPU_YxGIygSEROv^B3u0EG5(nx z)$(xVbzYMXGoX->M|cWu%+!1S*-T=;kn)K}w?f1)YvtF)F&ZV|CKl4Vh!a(pBP=I; zjamx$qqmfgC71!|!AFOovr`gd^hlHSq~)x-bKo|^owK*Gr%!}}Inqo+5)yHI+@d+L zys;WYCVw7N;7Fi9&%3u<;C`aWf?Pl$42k5|mcU+C5z$(bsjTL#PeF+ z9)Pa@=wJ&TL=DM=C-v)(keLaF6k5c$>0y#E|I$QwQQF^UN>j!Pm)=+WXX48dE(Qf5 zR_?-acQE6yrOf)p?33pWO5uYk9vC(xf6`1r1p20EMLW7qeTL<)kPeQ8bR=?{;?$7n z03oTs>f2H2zfzZeB8VRTnb^m3yYKkk%{jfZZHXsf08ML2bx5yB)tnoom;w4Q%&wyVIXsqkPPAmDxG~GQIfaq=&lPK%R)6Wg>K) zcS1i$)oD+aGLJwDwlmUj&_Cn$_zjE8LT-|bKvK7Vzxek48@o#SQ{l0GVFUetFMirD za?n<7p$cp&BLAzr=aBNr+Y7wGz&jjXD0*`8a`UeM;qhK9+6%a?xsy)pF(7Wi&WNSYr%DEXR~?}G ztI46Sf?n=SHxWoQpNMYxED*mY%8>~(-tIf?CK2*iq?FV^q#uLay-piW2<}vde@*7u zO89cMO8!I}l+5vfj41HZJ!np3WX}TT$L_RPG^ZFw=H9i329hVLC`ahS!E9~n`Rr6- z@PX~#>sf{X#a#UVQY5v+JYO3y-y|^Tixel#p?ti^$!y)UTbku_sxbZ+j4EyWE?Ll} zFQ!UX^hQ-ZKJAQLJLrtrdXgI1=|DcFc0o6S^#uI&`2Up<0R2gboNq&j70Z z1Nrv*G-L*B|4NA+NC|ML{2AfFV<{Eg>h(ihaWgbIZGXyf=jR2=B)Cpy791S^SZFoo z-@b_%S6Dx>Rrpi|0YKe~j_BVIov7Ov&c^^Xy6g@1pvrS|=XU&^ipl==hbJBMC%jq7 zKJ(<|=Tm{wwZlCuc4gMiEJFTTgf8*y@8sL|$Gu5u{?GADLEsX5`C(etb*gm zb7Y(5%g*0H{ws5(Of4XxZo<5t|8dQ{mKf;G3U4O%M8i%caI710NbuAoVy##I<64W$ z@$?-x%#=YNQNSdt3yQv>mYv}^D%kxyALz&hD{PWSufeN}K6=OupsG_wQ`~$f!J7Kj zi;={l=cn`QUk(0T+L=~=C4QUiaVc`tH~gM&4f0?JbrCt*XubJb7MnTKb~K367OC*> z7AqA6CV=ZP5c&mXyLf!++94G1z6Eks?FB2m;T|c-hu16EP>z_OUg7IRUM0wb7-Wwi zjPYqMq)Re1+%xYomhwIvess4BeK0aV0mr$+B*#z&+g5?U{#|1w36rS>Z`2N=EMb=| z;H0-gcBx>JlPC?5!)+Tzke%{aVc&Y)3WQd=MtYmAM-kbZOA+UoWW-2Jy6y`1xD|q{ zlBFoKv<@h!=Kz0*mwunF0n&uvOvpHI*Y!O&SbYcTtw@Do;z-&d>IslB#PC&Ei`?;0 zaLNBNBY6y9QAfJd2NZA*lf_2aK2-WEpH(c}BMVv9a|p-L!rCA%hCVZPaFyhpC6r_3 zu@BBK2;=Mh^capKhDoxJ#W%}LWC#ZSAcEs`V6SZ9&VsP)a{({Xu@7K-#`NNArGsm0 zk}%(NWMdo3)Co?39L+#Q#)^(@Vz18x%~t$c>RJ9~$Mb=;unRruCL>cYLNaN zC<&CKf={GQzJE5El7L@3s_EOAW&M{slVhkI5EJzvXRXZZq;5V5(m{0n0x`f>RDdPi z?B=yYE1z1A-0{m}Du3;|3-RV_6yjnwncf$q>_oiGk?c#KUoqD!UiB>3ER4@tA0!jG z56A1bE>FEgx0ybGNAxV8gY7v=2<%zg2bpWn&q=|2-6d$hrLXMCz;Y;1qscdfC=`=# z9VQ{gVSAa#hk~%`gy(WY$EJBJ=^c;6mo(vK9s4Wu@{i-tjkVmr$ifA~XO!W%iraWq`famz6qlG0aFKlj-Lsn&5uIy&wOvc{x6_VcG_|B}G? zZv<+*`7t2N7{0c;GIpoEr%>f&-pEB!{k(}(wS$ufSKz6J$He_WqWz+vY7A6je91QJ zsRA~PgG|0b`-nZGhfI*Z@`aP5N$iQCIWO_i1GOd7=wOy`FSb@O;yU)fkJd z=}ne)=L^>9M87UAtYcC}H#VokgU$H-0V6~e(g#n8#*a@#EAl$5cwFn8V7mEe$D1h2 zW;W?MXT(>^_(qRAu2yeeoX*TAgg&?C&5|$9SxBB1K=!#*8OQm?hUVvZp0U%SJJnYby|bxI7?!1tCB0&4q&?#2Mt2 zq+~dAP=TYUwV!*4!SA_-NsCdyaQW2Fv<;ZO^loU9GH%G^v(!7dDN*2K%}6Tv)q+q* z#6sT-(^!+zs~3LMi!zN5t<7n%vSZg`;)P}1r90#Isa}?GZ>FTPH8LArrdR3Byq38Z zOq4yH z&=6g%clL-F#%4l=3G>X3)JPM8UV`&?`VEjGpz}Pao(7wA#Qy!7XOO`Qz}u{H6XC59 zke)-?++R-ccIKX!WIBwRqq7#}eOiTm*II;T?r972ROmYR9;2_*{uLn4Vm>@M{{&A% z(i_LsWoj$n{a}I{D@FJ2V$S%?H0S0%9n9B(INe)ncNtSMap>3N(L&nK;PcYExJPQA z@`!S&RM<@8)l?!q#dEqK$v!GrPh`qjI+cd9*T4DOm=&&`=>j6SvocYT81`p@lzT`G zCSIrHK>$pVieoI=1u@U?v;cNwQD+{x4Ir4gDDLnDTrR4@Z8ZU2ebv1`mNo3mkEYv5 zj2G&x>kOrMOTUkpaOt&hYvrdxYdD>OX_3CLFw&jCnOu4qU*f#8mD9d*vcfEl1d+}DvPBf2P785ul z)84JE0IMv8ouo&(GOER>%gCm0Hc4Tnia%}5Jl^R?(R|p5GJNH+E4T;FJfUSt5P=Ch z`eVzzAF37U`^nGMms!5D4$nxy&Vj>SRP!jF>~^X{1(IQX;`>ZGOkg)HWR)B=vt~R?9kXV&&;pvc=5@|i;oIjJ%Qa4= zH2XEF^K?Imi4}!9eEc+br85vxiLHu#7<`o#f3vOz3RT6s`2{3dM?aPj0b?p^yGiZO;9g^9|C{FEkvpkXHKbXL((H^P+mo%P?_fIT6% zT=wjKY+<2tYO~&oH=RB)jt7>LEnNk99xYe6%Ks*t)mceI<76QN;i}<$7`>7>N7u^p zL0uggDFg+>g<=&&S91mquU6tx8<~)7R72Qvh42BY9wW3=fuwc1t!gTLy8@Km)O)OR zoMeJ9m%-+I7FIx=4Px~0xi~rEngIc;&lgNne0kWj^n2*vU#5zjfBXZ0 zhJQum{a%GcU@ThC5Xg@z7oz#~f`zr)eP23^g%D+6vAS2UX83Jb4IGFwhVxH)zw~Vw zmKn|<;?SIQCFh$?O^V%FeSMB-iX&RROtRsdDH4-~K@9pQOHV(5p69!mIKQ-lsGdbI zJ^&W@p|^Se#f-e~y=_P3oOe-o*U%O+%CMy61##K9OK)NXE)9 zP+%_zpzi99A4rj$rL%!(9$vVl{@bSxIDsov@ZQuc$(_K$xWgQjF$IR0WxKdCeybKM z+lOpl2#5Z(4z%a;&WaVn@`r!lndzj%b9twxlnDo6Q7KaM?!c7~^bv7d0kjl3)!CEf zs4L1h>E3zE(O`xvn7UKl@^)69MkcXwRWyY+O(hYvzP(PAZZ*A?uOZuq55c^ifI2Q{ zLk488i_rgu20a=Z%y_tG534)69XOZuOu>v#u;r2VCcddR*bzT54_nmcjLKP-^G1W8 z?i(5+GgyF*il60fM97Wcd#Pdxu>M-SAI3^ zV|fsx1?ajinzQOA5DH3B8t5EKE=^jAaSwmjOSoc~^VgT>NypP@6mZcZWZ8&j@NybOxh}tUV-gXiQy1`0V(g#48f+lmyskZVI;;Mw2>8GgdK@*@LG4dN z)_)rp1bL|fo@$p`nQ$um|3omi&mU(l5Zr^5rxD<3dJJ@y>v%ox7qjF2AJ+=#K*+>9 zuV29OS7`r!(4_}Y&2{ZJ`1fCbJE|)LWNC=X)m8j&2Tnd`UI$OroPAyLzphyxYihD) zR_K2_cdAZy$AMUf`u&sD=RaM1F4qoXS~H;}1+u>(@!#P57`dm06o`tizVM%ppIm+% k&H_aKe+Tmabs!IAQwG^caj)M~F7{7XYxjb?fi^2duZA{Ebg=bImEt@$Y;<$SqR9 zo&QLCqd@R)GUPYs9yc36UrUi!!$<(20(uQrR0RmW6nrW1Qdr`p=raKUiI?IM!omQ+ zowz&yNK_Gb_aC@3f$$$U`AgToO#QDl{xb`=ZvE5jTMzze-i^c!{TIx;{sDNZrlhI_ zxG9R8^10bvFW%-*m6x~B(bHB^)lmG~h1=ABsk?on)Wy{crl&0T%*fc}*}h5Ji805Hb;FRuT;u^!midRpHI?cZ!(u$!CT7;AHb$?g9Gzx@ka{RfWv z3&RZbdwE&=3LuP*44n$NB{Tc=8DVs2_H> zgjxR0n7@4dw%v{A9~J`uM8*IB*>?coq3PcZ{b$;LK8ycBUZ35hp})ze+s(%w00r0r zo&i(=t^jKQ-whH3yaWgUM6ag-@;C1Bzeay4`Crp;lluBk014p(*1O_&ZZQLHlia#P za_hPaz;yHYZr{Fr=P%d(zv;n40>XRuZ{K}%=P!XjZXEjl?OV6*-XbI+dUT)gCdKVL zckkW5ML_s~gp`b&;vpps?Q>nD6e?6`~(Y74+J*xeG4zBpIl@W z6nkyxp`h$pJhrN0U~TUJOGsQ;-}n0% z{Hf!{0>&HL{$}Fe4FmuP2=70*d++w0hksdUM*_HY_x7#ZckbMKc<(V0;e&gCo0A(8 zNeD;@$)1x7j8jlD8zfRuvk1O61jAFX4|FX(;#oz-s&*HeJUcW&$;xkCbw1(b>do|N2n_@_btA4Zc% zev%V5<%p@h)L(?_9GCocK0N5^+$KZ6it_NYsdFEVfgX`E-@pZA{4iIdfL2ju;Flm*Ja-eTezV27w?|6Eay#l22h1709%|^WpR4aqDGf84u%o zqSS`qx^3h1#sRn_PQdV@(7wioxlFjCR5p+dvoeH}9QgS5bT3q?p#!)8ABO5-Sn_6!4Wl?sYir7_(;JiWD<<9WAGljqx+F%X zgI!-o%y6MHdIr@7v}Iyr9R>*!Jfc*iP`<<#D%B3yd&y>>s1t3rklA??RGOw$Z)ObL z(tiyKX*b|!xh6XfC}}T_mu!s~`q^fxy+1KD7=*XjtaOU0{)nM%G;R(@xYkPzF`JcT zk{fFTrZs#0=rQdQT=88->eR8u;hUt{d+M#qq^eZu_1i_!Cv_%xu7lx^s*$KhLjBrPIeYur*?2|B)(e6+;D1s0b#bpWfWm|dA@^!-klQp9< z+E*U__WCfDC-$NLi953dSByZyNl0X)K|xQ^0M^n9<#$DUEZSVLMD+`_iG3#tUbqKQ zu_u;~y#gxt?56v3nm(=(w?t_!YtL%#rRa3?d5d`*xFwkRd4^68%kPwFFH)yM56@m# zY`-F>sMOvc7x(zmS}owqO5@o z!>%64cv`~k@K!IwxpBsXog=FjZnNo9mx7D7tZRUhWMvnoF8-TPCWS_gaUlDet|lvfFwAjTExk{y*=VBaw0~Fdn(q# zz^X|SE*niZ%zb&E>{f;d6Kxa8SA)0NF(ak{Zs%e(qfT2cp03RzQF}foLhQS3WY2Jt z1Ve%bhsQQAJ%2q-6ZrXYtq3Y@QC-InJt*t!JdLiYuR%ZFt*Ycotlhd}wRSO9L1bmg zz??=DwZsOT{!xVXNLUje5+qsifX$^)QL24P6Q@oXjEPzCoeLFN&{K61Rji_;pvNk= z3p*WVx0jG?gSkm|z{Q9v`mCNDblFzaS&vN=HVap? zwJeN@e`wUN@fzghSRw+mouJq%e%01q*=UaF|2FIsnR0onUwgBmXo6JT;C*+N^c;CZ2+;*(dwx1*>C0WL_d zBK`nuKY97z(H;OrU)GR*(pBk61Co!55|&O>dTod2i0{3LplMbk5A6+_A)iEh#`;ok zGxB*FMXWWIIR(tDDCK#sXCe?U5a)NIZcPL^OkD$dBcB}dq%42iQo>(p7`>0T`O41t z)uG}V!1QFQ<{I$%_lj(^Y$0*$oyzl(x@$lpCDXDoe{V1@y5e_gdc^=P>;*#KG_*jLa4JVLV=o>=CC z`LjfA2Je}*zFnX!GiBB&sR`pF=i+#lV2jr91{thq3R2PZ#z3j4cX}H4bX~K4(YcW_ z3um%sO|{$_MTR!l&-GD$EoWs%X3YD#hLmmXnkh~OzFm}%)~&DpP^Z!qVlA19+6J%q zPw{ujn2kjzVswXTRRoN7va4Xh=oqr0mwCkL2*qhswrA85fvVoql_8Hz-^iF58_j!< z$}5B|#jgQ9ZM@axK0)1YW{-bSOl6PMOcQo^>IfYkMxow)2)8#gM&Wo+Hu|nBVs0$I z8IUnP1!9VtkhX#*&MZBJHGIx1~D~rE+GeIoF=vs>uj=4 z3Czdt6VU**6b96sEO$SLJQJgw_-N>)heq-Bw{>w_X6*Vq`Ke56AcY3iPnAKkYHBp} z?Q#3#I@vDXEn&a_qO`b?Apesg_^3pr2|wmaVmmq>5z(PQl5p^l4)zzeI?hG@B$jl!@ zOufC$psf>RY9lACrq~(L+{CFKl_hUajh6m~_0m?J^V-htr5uD5LWSK`l?khiyUi1R zkL{Wkby`1%IC*{PHAJ_^_)_;AoJHzu605JM{)ixivS>p@>(ckq*p&(#A|_5f>B~Xc zexRN*Cu!79{O73nzLKkB1qBGPuxo=>JD2=Vx3qNaC__3kI5UCm*G5LW{>QzjPc78V zS}hIR$~{VAflwjtGeayJGp(eTGVc=po${7oV1~7j1*7|gDPFXK?-YsPKZvo=t50FB zH7A{>2F;@RIdxjMo7?R+K+1HV4r;Dj=Ya7GUqq?b*%D0xI(&K_+H{z}Z3i>&PH+3%@Z54UgMQAG19CEYX`Q z&1wh6CHpunt0v0~2W-;j{t4Y4^$u^^VBVkMm{K-MKSgWs+ivz98#OHO?xga{Nd6RV z4FTSY{%L>OyW_TD@JC~4D{mj!thN5a{cqCPe&CSTb)RBe4XcBP6oQzVhLT{)QV^rcd;M0 z<#(*^ta0XCE{{;Ch}2T&N&M7rgs;U#OqV-SfO}i5sl#bCTxYHU=4H9SXZUDo`cnZi z;}Q%>hmK0k_?`=xN`>kHJm4{VKGx~E3Bt#+iQ+xKLx5i=I_so*1Ksp3YOZj*H7C{#)hX33E_3&wCzjbm5NfFW zV~Q*#k;G|#FlA0YXMAYH7bB(=2@x|ZfN_^HEJjjk)?g-Bb z_zx~Ve3qLy6o9Pu4>#yT*-Rj&lz=08Z@-P%s}xjm?|dt77KuDz@GkUDdFUU!r@mW} zuV2!l){T*ok#}j9piFfTX8HUhF@BmM_*YS;J)^PB)L>_~6erF--4UqxSkiQKPTCA; z`RJ=~`SRz*Cp_Xie-gbpXCzA|lgjxX;q18K?bH3oQDfwz$6Rgkecn3`%ir~(*`OC{ zS8{g7P=a@&$hc<2s&RXF^>1WyZv%J2@F>!0POW97Dxx&PXs0)5 zlD>9BE40Co(0E=NL87#Yjkk>?NRB?4f{(s{&hEVrSaIUc&PF+l!&=%lQBaQ0nN0%< zJK6@>3~HEI6R(3nld;XMW}BFnysn{|F?h;>%l1nz5dAr^%+OVPM(`jHT28UuRJ^*k zsChIYOt2!S$$yQD8_A%1YK&~k=_*5l8}TgoHhs?IfcoNQ_DR-l5y?Ur$?pP36IBYS zW?|OR=${mCLV*K)s=@i3NuzPjjAxloHV|R_<)#Ifp28vb51PSKtqBuHl)t^hd`9`c zc`wL22-gkDb&@;s#Kl)EpvaSwjwCr9ps$rDN-&W?f zVD+(d%WyQZEnzUR>z9yjcRH)8R@ttb4~;fC$zN8gKs3=V2Y_aZ^W*Xyerk$P>V&h( zBM`-0jzwu2-sC!~-&EwDHulDNW{7jDnc1L4J#ON@o_%_(tH+>K_bpqSbZ)5%O+_tX z#a@`tW>a`z@DZ82hCPkM3sBR;QjbiVuHLGsCEyNSYCI&$A3YxU8N*Gz<|DGF0CEP+ z@H+u#m|H@26xTwQKEASm9c+G$m!8R3gDibzJ0)}d{<~^fjHGz^IDpPfB)f^II$b)l zXxetfZqu-a?hS<3mPwh8IHNvWju}LGm8>MjYcA~m&6ktW*MAW9-pW(0w4+3ejFPuP5=f)e`+xR+l^tz}dv4s+PbOqva49BrcE+xqqR@OGYR_!hC??;|$ z(VZH2LJ%b}3M=3`T~e|p-f!=~?w45*<@jb-3@U#&#)bxG(a%qMoSENK8)tl>klESO zlb4aa-lPcq(ln~G!PKQu#HpF-WKE|!?Bj5pOC4B$C{7%>_r}* z=w%D+28mf0)^IJBb;LIKE3pl{ubDJdwcS%pOc52a;LU26@k5PA_)YXI$5Zq~{RUYf zegT1=aLJ60edO8u7mWZwqSl-La`^Q>DR}RrFI!kL3H|EF4NQmR(YsXSsIviA7PFwJ z9_cWT}6v(e7(BOn{L0*b++UVfh6Ls?9#Mgp((;Ye%ngsLn!YK=hw_$bp} zeAuo8<0>?{OQ*DDX3w~GS`)QKgE>9OT#{K;aI9aV$(;87tuV5*>U=bKbxdh{FtX|a z_w+ubW#h3kM6)|0yS-0O4^vDgexHxFw;@4Gbrw@h%mNGgs2N& z)-RP*5S+dhSn>-iMl9b=-tG9vOigOn;PsaG%*lvzQIO2uEfLt3lM1;QVl$>TPUBWp^lSr8dQ=^6BvxK@4QnGUccr=dS0Mu4KHQ# z3L1pa@AXA1Xl%SouiI%Cc7Dm~BXUq%Dj3>T`P%Qx|vI`;+g> zsf+f9z7i%wxsrG5pvy*D$iA0$`l*!EPkTQl~BBITqD)Smv z7bJN?PbF*2L43dZRBJgl2+W_tl5Y*E>QypsZ88)^Cx}#|W1N~=&qXM}u_j%x7xMGs zoh?2x!IM1#ZvHq?3huF$DDO3EFqqd=MKFkQuQ3^H%|d;g6s-6--M)`le=n~1TUFHB z*w-*o8Slek@WDBKHLvsNA$t|{f*uCcIc6|6(yAwAjJudup!U-o>Z;$h zce~C=ee=wbn7e8YObEEKH^G_PH&U%@KW-IjZ zSE@0!e2139+eRiQFWM*IwuhyQro6}=XrzyS}}K(mgg) zu$Ifj08L-UI?W>P0f(Th@h`3E#D_dXbMx>SDG?z~d4x?V3D%Ue_R112dXU$nnk2e? z;YEn>FNzeL$v{$r747>1`oOA>t8NnO`xu4&y|~`R#0Hm^CvJO4zV12G+lAb8x6yQ_ zcs`%r2ZZ;-E9h;RTKs@7SN}}BJ4eH2+J&z?=u6~K#)Ra(Iu!b&9e1kW`g+3$5Yr;r(~<+$`;_X;7A z3iBBfNZoP)NjOahIG0yXgE^nJql2dvO*oyS@JRNeC-KcGh@amh^dQ@&4?JL{1O_u~a%BQGOJ_K^yj& zO&>N+W`%#V`cf8)dA*(5H{j;!G7Cc?rO&2T>oU1^vU!r?)$L3PYmEg@e$_<>6bDdM zvoi~XPj&r{*n7`suoRv2hYbZbnlSGcgdr1_{Rle43k(VK3XkJ zlNqlFBv-mI>!^*Lg9Q9+bIoBnqFZ!FW6Az}aKAGo({f4dRy`Flw-6`p>=u=8TSb*i zqNuTYOedmG-&-*vkxd-;c3}FOJxMYfV=^UQi|Omca4JO)%E%fXGw>hAon^9HHeRo; zc=j#cYDqp}s4vHdZZWCx8qNDWI*rb7n%ZPXKH{{hn=2!*L&Gq5PDUCyVPy{c~6Q&+cimL)zYpa6EB$0Z`J#jSY@ zl2fN%U4i|v%9A*%#=xx8VHc6Dr!bO4HXr8 zUra!_ayH+;$xm;lsxr>Kx#&7r`(j#DdrTx<yjn%}n>NXdC)|ve zEH^)h$4>OH!hFf03t~Lx5>B-z{#h>3z#iffvzGZ2pSUvDX*w0?R#(5t(fhm~)cx}f zF{sQ`HCm}H2~fT;n9o%BCvmoPzcpt{1q5i^39p7!xthMqD)Ociibju>$`cg^*gdk= z2!=w=FtCAIraSu;rIX}F6Dvr6I=#ts&O(E5?A&-f>en)l(Z{wXYII#ZemBDP%6zqH z7Lje?mM1_#9|JM~9WBjc)F)-RjIVZ_|$l# zAyzhvmW03`X96)Tm?3hn6>I8AfofZ@!J4RsH62jYGjmO5y++pLQzY*gcb<2)JkVPd zBB>xC{BiPtf#*|l^!FIZDKe)H^tk17vNLxgo%FGKVn*%c4t3&7!)DWQnFKxb_OzX0 z(f(y3WQH3Wz;0m`#+{Ihniv|Lcoxa;I{vmb0)kN`icOf-tF7bZ;WRI$_4Su(&}&dE zOZTI*ABylww(pA#cy3I`#Trq9@fFbxkkmD4^*MKMi}{Ap$}(p@ZNfCi&b*qiR&WAei?;CWf{Ttjo3Vaer8H ze@<)UM05y7u&{S}*5ChF>}|MF)z!8(ko9@2cojVw$BOrw#WyjInr<=d=ms&}@8)Lp zqQ@>~h=1T!C{xzxLTtS(R@3w=L`Ln@`B9QOcrofYO_Zn3GVGePgzwG6(1ra-cGB73 zy+xA6U&pv34Y>{*4&`w? zkkz;T9`V8~Va}*f5q{OTJ__2423pt|jWS9ab^mM~R?ymgTJi^g=p&8FzYJP#UGhny zIRiXmetE=<+27-n^qicswx2-@TuH6XprvP`yHjx{tB+z0{TjmwO@qo3j+a!8S+Xb= zbzyw=&rKU6q9p9lBo2u$HVdF78a&qk^iSt_DL=y<;bmJ6^B9#ZkOyuxLSoazc5!(u zxwDmBN%74l=V&-Xkq$6LFfCkDkQ!O|@hmuVww*++SThyr-?3z&<(CRS^s=jYtZn0x zT?6f?@vDH<4aIOID5H3NNq=@!ZQ^n_;T4c>CxlN=H|)iOnYraP_{n~F-+uNrpnv$j z)-q+e9uN&KJfiFhmZt?Pf#qy@CfdRg z-U5%)N8`gKtkPzvn0BHM1gfp_oCj%2Z$YfEMHZFZ0}^^BicRVt`8Hq;E>nZ`>cPVH zv%ONTc=Z)UwTUvDhP13V1!v}+5S9bYm=tHl0Q5$XrCmk~KUC_%)FoJVt0~LPq)X$0 zr8PxpWI}9qd}`Y3<=Tt{seVHus(m_+gE=A}ydH<78pdkhXdC|Mj3-3;>vN}b(bXr! z1A)W2{sa<7>Q>A6c$B|9(UFZq4~}}4Ya%Rm5FH>yN5_bl9;`f(-B6|#TW_Lj0>WBO z8OADt(YLUxd5b+#QQbfbevlKUa$6y_ir2Kt{PdpF}5$decy&Un{xPrAr*+G+06 z3c9m1nlFPSCQF02mCc2)dQ=5DYDP`kEOX8e9aAQ1k9F}t?m3?t>A93j>JNl=4O0Da|r*JfnR0yB62vwXf6Ts5HUGA$RDY8~o;oXn=*crX!bZ*N*y@oYhLW@yihR8i1G3a}wlU3N zo!Kor(Z_1Kn3_BWDJ+u&1T(ok;l2-w<%~AkGD!yoi5VugcN%T#F;_WHrZH>`WAv-; zB_$a8)GTktdEUe+MpNSf;>uiySf|5QpNe8){rg1Q8z;l+YuXIm*0U087F#Ws$pK~) zB0p_J$!K2i{_qg~#jZ)yL>yju}4eUK*?}xn~`Qtli28usnrT8 zpltYC1B=U*7}XDZ>-jq6W73rOc`~$os%Df|?%#A#bwU9?pOCtdup& zjDl5_EkP}5(TfzJ8%U(o^xVJ@(Gs!%GHGR&rv1DEL+X;Wo<}-K3f8LC?NXpV{p37? z4%uX2y32E&OTac!osVRE(j($F+L`&ximaLEACOcRUV>W^mna_hZFvj?hJQIW(Dy_O zIrwR7^~Mhe`6UnAG4?Zm6Yh(D+?%WMv+=0WSigP$b9_{ye&cI2E!i(1j4Sy{2dcSv zj2_!wu<>TC;=%>aMy}*1Q&<~~Yh43)%e?w(q}S(0ZUPteudx_kH^!?Wa2+^S>+LmQ z79-P|QT1oL&#p|)^bo(tW|+-;#tmW1dd9Db?#uA9FkPVpo>f{9>yudiXLxZ*#L=c| z$u6;al~>O~`rd@}`3r{_IS+ZnJUNOBpXBC&n`UpkN~}9h8mq2s)Sp!q71R@HkyOE? z20dX8uL`TwkKcV5+`&F-M{;lxB4NQBUzaJp`tITfZrZZZi>>(S&%2uJlxpLp^j{0- zpFR8$11dNBG2LqADBexMPOfM-G|{ibe~Bky{WibZ(fsz0{XJzwWoONn4-39IF$Ai& z_*0;-3hxcr@}q9Tcqs zrMIXmHwC@?z07H@so4V*^5IAu?;2aQW*5wn*!B0U@i@LUcN0WAOL7zb>M~)1IGSLwtDo4BD&~rr$<$VTN9IAU zg8F5}J^%B3$u=__*Es@lC5gw*EiV9<0k?;;zCAZn-?SJkXUCC`HxpP>kDqO9%S7RE zv{6J?yoCuM1ye+uiG;tX;(-1}NM$&KaJVkzAzw8J>xArFfev2-K#cj9N~fuvVZ+W& z!e1IDTlMhz4I7S^vWC9N)8D*o$XmJuy+t0b5UM(OjYqo|dXUC*%u@(06uYmXouUis z19mtYkL?zsA}xW>k@XbvZv;b=_=p&IRtu%j-qdRof=(%Yt&*e-ra)CQOA(^XqIW~P zcKygO6O#(vK_E)_m`QbT>+N}4cY8Zy>7T(V_2_KBjUU6apt(W%0TVdFR+5V07(%$=Y zWL6N-*~O9SdQhI#MqsmsWOl8|i>$0|)BtkqB*kmP)5n?`{Zb+BHFMEqzRidemfVy% zL1E*M+dZ9+MRFtB-da^aT6H_`K1KKBhEk`-cR$uuinj4kx(UC~=(;Ft-7*CQ1xc@) z-G7i435hfb3E9YBU+F&q1htp{vM>9;lbN7Zj^@geJ2_k)B92TFd6c}FGOOvcwcciz z_bBiEo`IsxfPPV~Py&70x5&&T={!;NrSMv9=CNx&LCfg@W>-#q#QAA$^UjI&D^uEe zB2alP5A?C(N1uGR@`N5El>%c0#df$IDuE=*q|ST^#VVgdG&I)NS@p(8%2jg3&bsn~ zkrYc^p}r)_Euj>(o_8@2(h2by4vzBkPG+3rqx~eWS0;%GCGoF4|u* zxn6k&uk?+71!%FqANjSnCjKU2Gt&BA;}%Z1E!&B%-kBw*w`rOf$$;>qkF5f-b!$V8 zxWN-VI!HIhjSM>@Xjg24@pLD#U`KgOmsXiz{Xoo3r!?dPJ-(#|8-Xu&v#Kk1lkSVr z0)fQkbj2_HH@ZjbuI87~39Fu0wtE4L6^%OLv*pgskd<;ey-c&H@sP&tvkNVat_sVH zyxy83UZSUGO7AkcIjDwgO#KOTB%BXBV-03?`-w?^Qd;#IEPdtYuJcTBF#M4@&A2I@ ztB@eo2KjMV{jH_c@ok|ES?Ifqk+PgN%}W!SdK!wPPf=0t+5($QQhq$>8a|hq{k=xe z4=;TO$kez7aoxF7>gUW%LqTk31cVL1Cj!9dQyT`kO#<+q6lL&*FGX z-O9GmNcEv3L#+F1W9doFiyl0-vD09`>jex7f6E6IAlCW+#VMyU$f zBOcy8ohp?TU;_7~4;9=o>ZLFE{>eR@D2n;=MfR2#R=_HY*ug1ui+O?X_5lat3&NQ# zQFvO7>LF_&eVU-tc4twpyVVkq`I7)q%xGp2pJ&w8O$fKl_-z@!P`C6ZohUu-xY5a6 z38@#(_AW)S5Zu@P9AR)uj`RFnBFZfp`11kR#&oeD>64sRpOvvfxY)-dL{LHzn5gP? zB}$UFHCx$rvc}Kc<7^vMUpo^DkIj!NMU6*3i4A6o?eY75pwucLQOqBDbb`{DAGR_! zIbBhGn>HL2UKl9jjCF2qp+$F$N0*?#CY^JHPjAM8xzgrKeXjCgu~|}4^R(UIAqTOG zq<{!y6T1_p?LEakg9=bWJSgI{W9Jd`TM;JaSs2_V&OMES)8JcGxbiVD;A8X`F)=}3 z!~SGeUNU2k`#!Ta@1TiXXVh8I@ zwne;I`OHn9+>Pa#C>`P343ww*f-uVCCD}Hwt}e_NExDy!SKZa61+NHrkgmlnFtTq; zlb^6=3f6S6Z-%t-BAuL4LppzmpeNxQyp8)48Pq*1FliR0UcZS=eyFz5G+h}m#$Qmx zm%g;L-UQNx=e9mv454o?S6MP-K0oMasX}7%m|J4r%JUr7#GhoF!RVY0Us#pR)j+r8 z(=scWi;c_P5mj?^V-ZytnTMWASfmEC^ENST0hFQ4-h3t$0s_`;160JfgLt%LV)*Gy zxZeJDkr?MN_|R5~E!Lt0mqBjEhn?wPqI)KC;>#3(8rDX*s?X8Zv^bH{U1yWe(F#{L zO@f@I#Qm!lWwQ6@tNYi07M}&$;qjYc#UenZ)LHqA1gwFRo_OdFp`<1T&3)ErnEC$c&v+pd^0hLiZL}|V= z)3kf_J_hsUnjflAKgGB+Z{Av~=a)h@l`nMzSUR7y8}C4g>D5jP68a9$6I@tO=b-p$rQv`wgG4_nme*D0t6a$(p?fR#F^0iQ2`x-Ci;|qz0UDA=09+VMT-?(Ow_NgiZ z?1$|wsUMt1aD>%k#3K=}ir*gJO$r?nfTj5E|8&NqvBrkM8_Zu>8okd;)EbJEhrVZ#6zLxA+@NC@=2GJxT)m+{L63= zAJ-}?J5aMqf3~;ZFRsq`k2-rKaM_I5E;$X|NI?fu5%zGg*TTQW%JhNlizm{27yCzb zL}7YnKC*0gb_XjBC+w4l)1;fVW26EOylML=pFs^XoE+1n^mw2FOiU}OY}Ne~vn%xv z-fUZsm{k`bkbO;vtgPq-L?%D1f}=HHux*)N>&n2H*krD8nke^IQ0SjUJ?WotXCI3- zRTRy)o~%*wD)rwH4wjeazsE+r5R8GT$*5*h`Az#B=hLHmnQ^9~{D z_I7W-V(JOE?F3>Xy!+CzZMJeBxXRTN{ge}2yvx!R$&)q8Uk+)>yy`vkb%`p9$2VVi ztCs7kD#^#8R;2DjVr@MtZx&2Q`a4WNc+1+mw(P8K1=@J9dv55LSzC>`DqlG4_u*g; zu-sP1O|=+{Dh<>RLn=}ph}iMq`lS-n9GglhA`}i=@Ix_q#atY$k%phCSfRa%J_E*i z!Ak4Q+0R4A{NdTtUeFU=i&A~$7{U+!Wzgbza?ix1=VX-Jn}PvzS9Pi=JI2Dmzy`Jo zB^v$-^?I{vW23z2{`Hu)-WO%Obsx$~CMET#RF2b)Sq_txeXGLhbR%vi|2GA|{U9Wd z6wdQqzzy{S!%rJr=M@ zhLIVHkp;=MLmE!a19!(@3!DKwlEV4m&Jy{O=hhKHMokNy5*-G-oGm%e%S|~}>`V@~ z?%fJPC?GbpY2KUeY>x~tBMG^F^feoYxN5NjJ2AxO%?>Ro4-u~Len>&)(CQ{n-Wf?V zJ1+%CLw7>N7dfCOX%6`Xj^N;(6l&8Yml+ugv0$&gzZB~inIk==QN+SqTv4I!BBbD zpAte*QiPLP*3pJn%n;q z$e!OAJ3O_w=5`I>dh$<5N;QL*JZ{yVo;kfEbQYa_j+Wd({eB+&>VF{rq^aC@>upX$ z)Bc@RQPVBzz51H{P@-FzZT4VU=dW2`f0s!A1Ies5&6h2{n_K(yN$R8<%DR1OxPw~w zKI}Nl?6UmI=NfSMl;THip02yoB_Ntf*XIa8G-)Z`B-k!f&&Ze&ceZl_; z?mB0k&%M~$4Fvq#=-(y(F6n=}$G>01f7c%Wtk?ftPyf4d`FAt^@4m-B`cD7uF#Z3b zYx=LM{V+SgEiuxP{}Y0kf9K)9y#z=>qjzG@W0Qgu#ee4c)~Vx%5UszH+q|%C(srnG zecVv=WD2$HZ=hCMh0(+r9fLpP&2S`vdhJgc{odA}kLe|xT0fuXy52jG4fbK=s#?UA zo>A3JzHAAZ9pSf-WZ&5+rm&xyrKXU)AYF3Nlk9mR%L7?foruS0?7Rive_gNpNhm0A ztdhZZ?6mDaU7ix?Gh7H#cGJVlFQhW7h(xHIHtc5}n#^D>v@{WjIhHr=lj`1tyxt(sWjz&L^-N8W*(5Ie6B@AR%6keHbD=<8v zw-CDe9V2sMugt<=_hAoS$JoCWZv; zpXfXH^D%kk?e%iZDa<-bBwqspLvraL+gX1cpoAY{O9&|Sr#E^{3e+;aJ(hYO(9V2I zm+&7?hP~8i6pX}Avlaw;x6HMAEoiJ8pm&iy80> zcn?0@cpo3@95%eP0dnlu z$MHl}(ZQF{l^Pc1lcg!T!tM(;Ju!wrvTqlwoSy5`j$p34eemg7wL!H?=8weikM)1{ z;a2sa>uI{k5av}AL4O7ML>h@lG>_S<1QOY;t!F8{kGW(Owb^AOkKE>I>qTU-ELTlC z{in?1vcK+p7`6KSdcNl^Vxkq;Vq8ioOOX4mNyt$nX{gD{G4Gp7t$CD5_+5{Nm9XOM z6vmZ9+IACPgjg)`Fi%TXo3WEpydg&P&`i~=T6)OE-p~1oy%V$FX4dTHS4C-QgAcC& zl!5(!Zo?&PJ1&GnT%!%D&3Ux++!tzzv>xhVgct6I)A*`Cry|BKt>{6+HEKf0UUexl zrzt+xvj$>J$x1h2U(LC1*2NP@CZ6A8XSqVT)_Bbqnf|&4STIo<1_|j6Lo1iqD>thw z5}(9W`N3JMdx`=dXMHblg;%MpvcP*VT<&dl&d;{BSlAMwszN1tRW6lHedwM_g$B=dJR#L+dHpVBheA}n9^%j zq$(+<`K~TAcT|z}o2wri%s2>QY&~+ZVxQaPDzk(uU4r+%FU{OpP&J@8m!Ix6*mG|?A)tsz?6TWvuUa9 zWpO*x*WYo2@6)|&BLu%r`WoMO0_y$D#KVt&047zr6KX~=g)tt@^S7z}OlJOlj-06uUQo6@Cw$okYz_mXE<&oyuLC8?3J6~c0{ z;hr1&T|=$aMXbeIy>M0!($01#u-wY`Tx`7|`sDxdUW>=nWXdixiAZ!$d5baBU0k$f zNO)>}O%GVir!gv#qh&DMG~)dwR-`8Skdy7ntVTb=x0-vYr?WafUYF7dc2%gnUb>7q zco%)KWY~rEj@#5W-iU>`YqIDgdtoO@cU?IAnu^}VxfmCZGEW;UmE-JY4|#bq->IOa zZ=(?FuaSbz23xf$+{SOurn1JfFhS$*KPh{}7EZNk)|Aj$Xt?`lS7~!g!S{`(eLYNY zYIE-`lc_KgmX)a}ExF^89|^$XKzDrf`i6ccH}`usWrWz+6U`KuuZPHnevCc0vm$Gp zKKz#p5P|ojSomnn80~4cqEtsgp^}(?p2Seba(e`aS(Uz>Z>!tvBo$J$DS7XT0hvfe zBk2Vd5{riIOgUyq4-2F(x&B}5y=7FJUArzy-+C#fv}mywhaklX`nI?i2`+^o1%f5G zw#6-!;9eYp6I_cEBq{FhUL1;a=l#BKjq!f_oOR9~>&M!AjNLy#^6<>ed1pTNy!E<% z;aMpAdy0rSUB=Vo9wp7V6)DW~^Nni6I1Az61LDFmWP8V5qAeoIoT)^tN>)|rQa>?7 zu_|ft>x-U*v?U7Le$}G$Va<}69@)Oaot+6hUPzOEFIr^hl?3wWDZfa`{KvZH46w)+idTzeVx3=Mg_BRai zR3I3084B>~(6>;FzMBe}m5KFaqNqvY+p^7A1EuIWqR!ENUamhr9m8(9B1t{MhK-6% zoTm;g1WM9}hPRfylL>VT#Z?UWrxGACV0vR}P_!~bh57sD9=fB+x0gvjx93*k3li9d z%;#e|)(S_hu`mj1QpxGt&+E-U%V>Xg*L_Ze0qG{Q@rxjULR!RV!@E-@C`%UPY@f5{ zn|9}6VZhgV=3eW}3WfJb2BZRUhZ=88-m5-DGPwZnC*VyU;AE)E{s*j1;;TB?;aY?C zj&;4I_4b~r4U51R{_6_>Kx3N7u_vm?S|7?Cf`f?Qm}W>+lV1H`=gl+^dO7 zTm`OAB3cZw;u&r+a$7*HzKv(&@GK5w(g8nj=vgb=5fkq-FXY$h(-95w;?#tFO%pPQ zyBXw%%&zu~(;K#XPEOPD6ZQC~cw{R-uK_X+7*T8yP)nvxOp^}h?md*!e)&#m+nktl zU2P>iY+Ru_A}|mxd*TkP3ko*{<64i&kC6ZO=wPat1TmGzM!4M6Jd>J?uAN2Y+0H3Y5ckDH zpTzSN7HE0_j1Tljngc&f?aLeqN6H>kGsRxfpQR=fJQ*n4b6+<<1X4xzxOrAWh3e0# zH1>HZ850*mt?b{Jo79L*o5DpN51Y>%PVEVo-186;wG#*0l*r5w)L37~rsvH1&qgB~%;$o=eNbBK|mR9-{pUU^~#xLyp=Ci{2Ipk+r^Xb_kuk&1* z$bcLsg$lKMBnGR=g+&^jN}5rT_AggWGeT!3w@DR1f!0|L9}|&Ng;4ufMf?qqZF;OG zfNm%7*<-Ux&CeY3vMnF#Ev5TpY}8NJ24$a@xjp^C;2p{4ch2d!xV&0@sE((-2C;@Vm0~LCr9;0u9x>j)FSn9>RI+ktrg+L}n2mR?R8L zv!WC}Z0;L-><+0*$HpewjJRFy;&7qu8CVmuAc}BUy$*C4o?cq+` zrsd=1bs|n$7Aua4!jlg?cP#qK7hPV|&n?74a#e@P67yb2p>sgHX6ofdq5S*4PYd-Q zt4s1O@5!6QBC7Kmd6&V>#)q!&4$33ynh545%Njn)%7 zNTx?CmPg83RUVJI{EA6#nsnbMIN=b1Oqq zY!s;9W{xbB_F0p`=KT<#xDQkORs!LqqnVRssbYSVK~B@+>v5>s_f>J|bcB8V`58p}|- zjj%DN7C(K&RwHy(FMixxDV~1m*t^eeU-_Vf-(Xb5??Y3%ftC%z^R145iFO)h?UCKL zm{su>YL;bo_<-}*nW<$x@>Rq8738gmjz|S;;%44+1w!T<_D#L>WmtFK&tT00Cf#9jQm5;gpWj zn{@4My;$9Fe2<;pCljJ!&SHXu{ICSj2sn$^WA{3^X6U6QUzVOtAOCf=DWBjK1jL*bg=c(q~;OcC45#7iR9-AR0)6A-=5 z)op4G0M%`kPw2z<^O?@{$zo7nT<96&<9mDnw2v-G08nIfJKvlpr$-ePT*^674HH?; zUQRt%(V2g(&_Z8SW^3ju!C0kL5a*=C=5ZpPV>10DtH%p0^j79ge|2s65&AO6P^g9{ zTmj;fLAO%3{{&{?5!1Bz5bxqNdlgUN^&Gr*LOPV8jKk%R3)SXPMfsccF~hjOr5>-r4+V*U6l3t@a_Ijt-(` zBIWwzC#d2M#v!TN9k_WrS)6V^PMchVQgT?fsGG-$mhJ>(W4X5*(BNb~cVw7nTrh1h z%;D`!LSU6({5tgm~CS3~`5rph)CW?F{${KHoI<7ma1Z1+_o1>m$*YTIG{E2?bWd`h4{n zcXjP+B!UobSx$Q$osmIk4{qey8Y=HfMVv9KDCW~Kzd&;WrdJNkeRePHB!mm zgRi<}!a3ks--gxOY$O*sur-2K@IK3+^fL2T#^B*FPs5T*&N}X4xgl`m@`{4L`b)CnE|2fl-OP zk}s|9yTPPifkio;TfN>KyWScR(b?dpC}5v&gCuO(MIFDyn3_Xe%({!P2$!KIBfZ2I zKU5h|n&vHFL}#A1zJ|H5Py12&U454G1?S|y;}#{?KWWDumTIH*;o&8Q zpLjP7LC+;FynJWVVGmDF6hviK#+i3!Bw^jf)a97}_6I{k{v^8o%)5?f&2ud*{1d0oA^Kp5^nyqhHPT{x7`B{o?r>8B^b$ z<6w9>&gaCH=-$uxg;(bP8B8%lrD5@|W*vFcR3)4_}eiL}3*vXB7=xz;{2{KCV{K;zw&x?W7PNXqBKR31n7= ztmY>4PK0eHL)}!0bgR7Q4CNiGkc#GNTEbys)&*2YKq5~%U41I9C^s9?6t?ep`OWqAB{B5u6t)>hJp@FlgTSA zrR;(zqxJUm(q99kK%6a@dd*=EPvzc{fz_(no*tyX?b?q)1SVN)64YCe4TwEc{JCV* zBcqP6eWm~Q>m2mxq`gC1uHJoUAlFPD4GE?Uc)ZF(^a zH)K|a}1c z`_F=!!5k|%-1^+Bgw*4_fK)IOK;JWxL1Wai;tdJs`4L8!`99$h=?ABDj$IBIHH1t%r|Q|XdM)J1FH1^` z{|isB>+nvI+jTns%;D@lte#C>Jke0Mmiq0MVqWa`L6@H=8i@L)P)}dg<^-NvdY5SY zmLjwahUqgvoS$xCiIV6!lt@m@(I_Rdu)p47C%7ssK7(^|({F@KQ9n(?&OmaWkbzPN zbnkG)8)h*{0yK>RXG<^Ij<8&kxX6XQ&(RFdppOq>KQkdg!jaEr+?~CPs0yLDy%uWoY%;X}AzjTt$W9{Bo+Y$erlEW;5cim zJ~7ovcdms2LOk>f?Y_$Te};_hQY*L!BeIIBS^h4E9fz&y z%8Cv{HkFe49KxB4fZnK}FF97PB(lf>n)7-{(Zm)wwR>jWU1=zI54r6Tb~rG)ocjRL z$qTgc9!TNq*KiKbKof#IHrpQLF+W{(JL~Y-E;%{sR1KI*IIdyTuxS~#oxRLmFMH1% zNgv)iSR6M79k=0S1r2HH^Rd`yG1ix3HcWAN>&tPPJ;Hi}C!ShwOZw`p$-_m98km@0 z*5RKP0vQ7vA!*q|+)Sp0B1`bBI2Ed5dE+|<7meir-+yxjzBLy<>t-J}`jML*7X9pr z-D*P-l>H#ul`O9Ct&L8PHd7bDXR`r{8D<2Nk|ZU$hu722)=0nc?acV?9EbID>4ck) z(;de@i&`%5Kl^Ul$@z{PJM`DL62p8Sas`qqbjgiu=Azm7cV+41?{O7Ae|s#wN_3!1 z$q+Gj+7tnG$Pa~~^5I*}nW4c2hsrsN8tGc?Nigk;!Jg2t3lbs)i!f#<&_=w@8V-Ms z`2xr)M)H*$iyki^_LzacViJgn@VYVTo}|K1;clq{sI-fi-)YLw2mX;U9yB9LzSGc`Im_=Mj%EJO+y;R?678e@Nz78 z)D&Vx=dhMFO1{=xUdOLD+~Td2PR&GP^VWvouE&=mq+8v62M@N%Mm?t0f(k@|S5)2t zBq_NO1o~8+$Mw7dGf@tim>9&;#2w7QC)FDa!F(?4Y;#<6Q zG97)hXU%Gogl-nTuRI1)CBS|zjD0w>Z<-^LoVU-%$8iWY+_B@gV}dzyjhlv@D-fh% zwab_gfpqF1ea$=i=Kv}kbmt>MSJD$N@V#D6x!Eb38U@XIH7EI%y^}e;dAmbGUA<#h z>Z(!XlLMjZ-au!KY6wh=@mZYtyQ1Md%IY#wHrwSpPm?PZWM$ejj18B*V^_@jM{E6D zB?xb5_~z2)w(gBCL44#wsyXT4>W?~q&bmyhM4RihL2dSeQep{@c_ z^6X+oac$u7lT_0{PNmd=J_(Z$LvzRgw&NEbBuaN?Y&;@L?6BU_agvgnzSdZqjjpzw z7OBl;uY~rx>2})!<1E1`Z2T`gt1@x7_6_f?n1ktIHdl%A*`#<0%o+{^_?j^7!GMI{ zE%zUz_7}pjm3cV3!MXDn-Wl-v)lKEf&7}cuL%qYpnbL;D+HBu)Q%OH)8iepP+`2B~ zkvF#yVVer%Uy{#pg_avN%>ZJHtr@$;sw02lC6N8X<5&HK*X}lQ1O1sr8!r*+=@;(H zI^HwAQc84}YWSSjt;c#nATrYi3S?W;u(ACcB0ADa&CZ-?7jO81_Z zo|FA3Ewn647QoMGZciD9p3m&P*vI;0PMwOD(5(O;JC|D2)#wy}CwIpK?de9{w-qN> zv5(7v{jSFPc^=Lp{JUfA7cOjAk_3heNtR!DoF5n<iFwc^v?TfSH`>*vO|Xp4sA9E8rhZPL%x%iZ6g&^*@27FsNG+9L(QH;bA+E(m%VD@ z4@50#xE#eSwut)n<6GkN0WlKv*eGK(K@LS}k-cGavl!tvkDqSVd0Jf)Wcd2kCYOG5 z%-+v=^OdW0#J=$1jjcDwEdlUP$>Bz0jU#XKtWtMs`H3HDHoB>itB{rEN&io^ft`vg z?iJAYHm6MYpQR0Jkln5EWadoO@)URVB_$+#V$|g!+*D@+npXGp@eViwRK1kxUJ*7g zntN6$q5P$4dva?(`({&lQ*ESSqGu|Z*TO5nN4bT;&}%AWLlq&>GyVO>sGIWracOpw z$$ZnR`D5RhL-99}u3ZOLi;WU@E-W3LYgTYONyGw(?sf|hy5s<7tLM8!fEXcNW7#tq zRs*qb1md4@XlK?WT5p149Xd9oWH8#Ax~&WAQ?*c(-`k!iS%B}HUo2g{gYxT|=xGzD zU7Bpxd^%kL_8d{&t5ujO0wwcQm$kRH_T>fPIE2K=r+pC!6r-(w6xOrpxs8qp1-`B# z`FUQ0OJ3O&!V=4_0b1faOxKb()PTQ=3}Se2tVNeq2Ljc?TTXPiq5|ZbhZjBN@t<)F zw;hfU^j3TB zlh|>|DAhpG*L4vQb3KzAmBti`LZy?&Z${tSC?Y?>HCk-cT=@nhi8@3(Y_jFn`SWg( znTQgcYmFZb?zr7VEt$344V)^yr_Ehy`T9ryxNBDQ?IetGTQBB@Y67B`^dOe#6b zZwqjIq+D#yA?^Rk+$L%lGCWg$+aRs+lJAtEqyUTLAFM05MlwI}MDXxDe@2*-lP($) z8{@VmqoN``v~R{>MpNR-Wi0NovQ_7DFdeJuusIw+Y}mF%4N`G_0=9Imhr%=_aA`pf zeMAerDq_4Cx!T*Z4H%Cvk`URhzB@vjeA2zGwZ7U!yXG|>fBfjizHY&7pka>NN%L;h zWEJGea?#rHF5D0LVy-i|;d4Kj(sY(|x?=?(o>L!zf~Vz76~|RZhA`$?G#=2MNwV9^ z)bTXLY#SGt2IM33;=X#jFUpGZdGYY;oYF7B7)${mjfA;z!MRcC6K1lcS%))026x^} zcjb%%#LT-1J>f(_MXQ8?IQVy4Yj|2J`-mU#n8v18Nq_68ElL2vpXlaZd)6g=KUbJD znV*M8Enf`Ow8rx=-0pNq8oK!2Zjf(o>IB~JEoc66l_w_Ac+44I;M6B6)b$uSDKlfH zp9RUTKHR>lx5@`OlD?gn9|0=paq-o+&+Vz3hk#9ZA+B(+J))>S<%tQRN2 zBils5H-rl$xnx51{Gxo2#$V!*E2*wVsgjeIR>_W^PJh68x+`Ns z3zglznINxwnC|1olSF2oZgs^%Emjh2C@B!6(nnBY!hb535bnh{rYRLCQ-r|MF(dg; znY~bT!Oi)d(dA^ZGMNRHDJ(0cy`H^>K(xKCFN10nN5sl6yrNPApGt2B_u7ZS60F;i z-vxZ7-F#w?j3mCAHQX3~`=PjWj@~cTvMcfFrKf(@x9WXy?<#4WoxJin zf`W^%?vQ_cF7Q~k2y^Dy0$9IhoSZdZxipk~{RGQ3M3cH+A6w+?3n=x}R^yv7EE1?G zyDCocTbZ$)fS&AXT`*OvP*GzAsP;f<&R6Dzk55ZBR>5D3HoQ>_2QJW&qiE26@4J8> znpNu)_OZkfsil@*(8)$B`W9w;2(mhn3t76V)QlF<2U~B@oT)XN0GG(5@Gr%B&`yp| zg(VL}5SfO_vZ<;p4PB7A*WS-1Xb^iEq2=vjmUQ0>^JmAi=|*8Mmfw6d7f~rF-aCIB zS6pMlJx$t>;5S*J6JBhgmt)7^X&%`un0eawc(7Z{hNzIa*p#J68^O8+mpQUiFZfc- zFEYARrR8#}c&A^s>v)waCG#>C#~(wL0*sWYL&Bvr>nh2Roh55`a#0RRAFBO_&?@1i z$EI#%VKL21Ij~oS=vP#T+%ssPo&t3pY%=Hx3O>`7&g-ql#qO?36nd8~$7s1L=Zjna z>CY2^R(c7qhPLdDFgXy@sp7^&5qC*n4HHFARq@EznHES^oH~3Zle#`kulXw=EpH*R z?It!Y%&hgekg84(m6OC{exxtZuH`>qw6R(M$68bfov(dXVJtR3$wp~eROk&$olmSS zRn~jwgLkTDz4(k^)blT}rmMM9D<`r%00G7js?o)Mk8-1KIsnzElzNAlg7E3(t446t za(r*r;j5!Fh1hm7uIRi{T-ay~6=d^MV(hHPC3eaEN*FCVpZ9RpGj*SRxoMWe_2Zp^ zp_^zYT>t5d;gcsx3*xrh6=u5@wD1dU!Gv{s7q;({s9pD~IQ2vKa*dLCM)vH-hnHC) zaIet4UwDK8UGJ?qsFdx^kSKBIFig3`qL~c;{yvI*$Rq1TYSVQAuB8`whGYdoDt~O<4Oe=#ME5T|)HV*w0bkh6WgQis zyK_TPcmHDi`Nt1!ICo1BHGjsPvi=KC)#Cp8M&&O&lk_6vZ{o^6=lf4v^57_+5kcSi z0FH}M)Q#hMi-DQ=OMkBSs9e?7n0cxhzpHJ+Vd_U7X6xkGUW~mf4uFp9t0 zdUNC4KEbjX{likQ`(FcHKTB_lth>6k5p%ucja?vY7U|&HTrQfgBA7p0`1`C>-)G@w zl`>D&h?`Z=--qm&{mCfdNeer_J;-`Fahd*&*2^{6c(_})#hS8ZzxAll@@g6DQ`_V9 z=0RGktWvrkuo>u%lMvzGM+|8=R`5CfYay8$XXR%SAI1MJAis4j>_vClwd0rb&qQLM z;fWIWU|!He!lM$JzmNFb^*@#&mA4Px^TqQ%n0w``N^NnSk1M!oxsNGMKZ+Flx%}$j z4xQ&+Y961*Yv-#gwCe`{HYC&jzt%w$qB_?-bAxxe-1zn;O?cq)-Rv(sAHr09iFF#! zlP<}n2U4exgw3uf1`hgqBrvuAHl*_WzZN3)FA1OFJb-Ia=j79jhMOx|;c8!u=-GC7 zP{-4d9bzZ+IdAfE{1@L;hkqL}x#eFA@%Wd7_u&WlKi#$kcO_k~&&8b~INBcf{c#Gy z;8)N8?TcOf`{dq{;gU5I@o?6L%)xq-!{v~ z-!{u{1NXOq``a7BIat5Fq2I3a|6Q(gT7VdjWBB^2rC=Q{2lSUy{x=6&-M9SzJ0$Su zDJ~FnMWK8!fC~wf-7IHVD#2%54q|50+Xep-yRjGhSM28Ypw&&ggigzU9_o0mv7s?c z#?(dF#p~j-{0py8_7(S@Z{)gdtk`L2Ot(#KNWT9dvkF019sxme22%089#6Wi~TuUhs)PaN3E~= zl%hm1a=OnCCDcfIBdpo#Ktx2i zDov1^l$0t6WGp3h0+Jw6%P)au^8fWV?jrCXZ{sc=ONns-PQ=GgC3~+`tFEIyK}1`Z zymfk?!J?8(kRg_gAYuVVYiXx&gY|oK!7_4+qE|br3>=$YME(z#`+HQL+1{MxpUl;neM?Wq=p%WQ)H!(JB&&#a=Yx)b1H~Eju z%i+TtjqGU4u|(_|2Tslak>2LX7{lfd%p3-ZKYjH5*J%|0m!_Z>y zOK5K|+-f(e7TcS_k@I1vc6y%JwBZoBedd4RHR93i!)R`N#uuKfiCtZneiQw6YjK8a zly+{>d%q^VP4wffYj-8Z5MrTdE5jJ|ENMvxZ z2m55HO5+&rU#+V$y~fyeqM{@pb5|KMRP@pP#Ws*xhlOUT5rH((?ydOY39|{DxI`cj zYr!23t^s0j<^Y)d43=`4@GZPV<3wj^|Aoq7V=rXd6I^qkAtqwnV11IJ;eTj)?xL@y z;`SkWVHN$PvwW558P;K2h9T5n|1~q_NwJ6@qEF>}l}CkMyn>K$5sa4RM~@+=V<#{y z)>cEQU$O%HQl*_sH&h!<^4wkie#Pp3$^k{n$|O1>C7}xg1zX}~lCu8SeD-j2Ye-q2 z#YkrkHj1&Aw@1ycBWR8x;ok;hi=$rTheq@mS-OJbM`?|c&IAX&i%a$*sBJ6W2-8en~HDFVPu+dq!o{H`+X!iAZpZ2k> z&c(Z6{(OP{reZU~@OYZ&Y7B|jDs&mR$9kK{n3H?bFG_>#kp)lbWsuFTwvKznsq)f! zooaMWvU#S3Bhwnrl-bidBqX!@UWvDQM=_>Wtwjg13}W2r16I2{xcG zt^4Fq4!@|^!CvJ(YRp!-2qw_9Sth@aIv-0nDTfP;iQSqs}53e~-011x)v1T9_zrJu40(rC4m1+Lz2oT6l0MrZI>D zryWOx-*ADwjYd~{$8Xp$!mh!F(}oBZUiIAJFnb$X(l=-t1p&G|PCuqD_6qrK(MuRd zRtpI=?K1Pw{eM2$K@QDl)7V9l;ssYd=3H+=WS!6M-4{ZKgWo;th=XTk!d#;6s858e zy?UpHY^vp{u4a_mjf7vJ?nbG(3slR$zYZ^CLO9y%$;-4r!n&S4rpi2s9)mw;E1u_6A?{sfF49uhzo5ANfDs^?eVD`o@U{UC=H zO_7ANqth0=BiyTh8YZ{a{#K17W?A||me=*=bsPIcIi#VxWQIjEx$46xeaT|mR=NjMq)$u91c$PsCfloSZ0DJ6v?k@3b+4vm7eXM&cHbZp2>Iyxk>^Z~BR z6ag=sZICKP8rGU(BM8fC$%mLWMEn)mP7Mc z1!ypvfS{`uJIQs>2)c{p0fO}Yrns$Hd#5#;RPxM-4<5UP?S&6DLt3%3z|glZV`466 zDB1cjLb3xu4Myug{jMrgbhX)*35J#P{T?IvxRzmV{Mg=nhs{Pm(hglC&h##(Q7*^N z%?E1Fx+pYK9)9saDk&@cBAyUlX@id*+>3uxu)K)1u&Gu~x?(x4(8_9-DFnDHl+ztX z)B#9HSJ3T~y(1B75sAa!pHw^BbuC9F8?{b4d6Wn{gVXV2TR8Ot-1K2=4kbB{g9~Jy zfDjJx46>PQ2N!NP;u2wlvOjUO)W=_M^}T76n^;YJE5-16NS$r*-iJD$ zHh#u943BBfI>RilSt53FRtZ_l1kzxX7e5SQg`ui%UfHsBK0#TF(kNVO9hGnv87Yk? z3KV7z9LPUKVpDs+qSYl#AxPg_y>l;e*xb7wL%`hP*W)UY$2BIyRYn=klqw?v1V;>4 z7N}6{j!+7yucC%Fwnt!ip~3DU0LQCs z&feN0sa-bClrSzBMR)`B(T=|6HaiER@tJ@PL~(Eik)p6ow46~B~gjdo^P z2;-QBnXweYS~x&lmc`N*!&2gf&QRg&6x|Ks>$k!!#hMZ@o;W)cMS(L!;WO)E=}R~& z*7bETt*F9P9@SxrBUbdMimUE`QeZ`alFjl2@zW+CRc$y;7cVkZVf0iZQN;34Ble1YNx3 z(x{vwV1a^w%0_pg4$-5jL|%m;b4^fS2U}zLMkrj`3Ce#UE;svS>rw`++CPGMzbjnT zi&0tQ0^F_N(>yAe4k3AFJzOPX)VVldG->Jtlcfs(DI+Ua79VNCL3~maV~{0K!Ck?w ztvt-UL-SRZeGUZ;frkZ_BqNh{$K}?Q&0^?65;_HV(;c*GGRH+yOxkIvch)aJB#%z! zV$Pjoa|d74#ZsUB@+Fe|Ab~^+7Z=EBU-- zDu-x#*4lgO&rQCJuWEL7r;D!&T?PM%$4$@kmx6gvw6)wMfcdn1eQz?aq(W1lxMV4$ zq(?zIgKE+BT?wmpB4YxJynyPLHU;sp_sdLl(%SbSN+wEAyIDWRz9udS*diFA>&e_0 zchy3tfeIdE#bnq#?%p2mkOkc31785#LFDLzsK&H2Z|7 zT{an!Xh}Ln-KILvpWd#u2RhESIf{~+PG$wS@|bgbigXG%hA%wayG4A>d{#0wPxWD9 zT)Dv|x?$?o>26vJB{!2l^vMfJp0Dp1^~#i@iV|vi<$4t5>RI6-qv%=Md+$2f%o)9i zwiGcn_zbfxuQ+W=>iwnf5aGPNias_75g$S+ww+p<7^g*_2B6`8DJ59S`&%v!#AruM za}Lo10K=uF?HC6|uKA1z;%f&{m{SP+U=-?FInO2)5^l-FGwc7C4=D6)dXCjOW2$Uy zLb!%Sp3o&rp~05w@_k1ePw6!B#^i0LZsLOt28wU09en%5hwM|5U5ZT8_>GXgH%{{8 zJNTj>uU^zcE($G+Qs{P*JBXYHhs__LTscyhKwlg_qgT+#P&8F2L&jrM7D?hxjADwJ z&%)o1uK&${J`meB?sMiB{~ED8AfPK#6Y+hpw;F}gL<57z2x57)dyo~DbiqlBFD2WF z=uTrtBmsZmpQ*p|H?kj5JgUqQhs>jDnyUjn*tx} z&ds8aRr!+@ZKS#DjhJ;NDJJ#CLB0fWAF69u=ZW&sBc9%D-AhoeKw+NlTub+7qFs_7 zE=(qQP!z~k*b%fqX$7fEI{IUZp>*AhXY!K~0UP;^2LSV$?z*||sXetBc9Nz0&}i); zNmr=MyE3*ar-1K$TT=a!r8ml^#R>Yn zCV$i&S;%)FYkIWxZCgNJovewurv5;k{p|Wpk88B z(}6Z*h=H5^ke?)qp`xz5t5oZ(Nv(L*n*g!oO{oU~90_^CZIv09GzW70dd{Nm7M66~ zXBCGIwT1Om(eNlTDc(KG?>Sd_U8ip@5K3Igb-n6Mrfbu;JrQbR3+PiU@s#YGYYaZg z$A~+F(ke|1>@e)5X@aVqy;k)`vJb1JpJjY*1ok6^+j`X%fPy_`Ub_gWGPL*42yL~; zVwSPbbq1);EjYCx=IZj2U%gi8Q~CO#>kM3$2P-lDpCJgZlfKI3q{Zkzgmkt|vP9W3 zJFVwiqTS?3K(X%%$jSnE0@04}nb5(rNAt}WtJ^`d@wg-KYFOEI?{!>>S8yGls`W)j z9pMLAMyHm&F|pWDkKrlJAce|~^;KN|*<~>FD(CIp@1o=K$jl^;{mQtkb z0w_^lKzP!hjepNsChg-%T$ncg3x$Slrvj9n?)`OEm_*PZ&}sHYTfW5Wa8vG;f6qL+ zu;?Y@EH-;qbc@tee)5dNBG*-H*sBm#FQCvrPM@sX-@He6d6+OZhI*{rc;Vpm((AAr zFb_8fWbCc&?=s5Sp}*B&`=VLUq~ksGXt}(>kf9p_qJ!U;jsF_EuVpJ@!>%r7Qs|9`57|bWCh_UT36}`Yz>Cn(*xv1rEo>mOIQF(O zX$!!d=3W7#1sZU1YQqsL@khDLnXFxnm@m9YN}q9w4Omt{NWA%Bhr^Pd&wSi%07T@L z**}qqP||4Y=#{Sm&afLW#**mdYWHOf%T`_-p#|aD3{*u2N28-o2h)Cu+D}r7yz)^2 zqXJN8EnP_pX^=S7nV1_6Bk#h%&`rht-QU`D4J*`G^q(hML=h@Sj?C8j@$$$ssd{qs zUzhMsU!R2>i8alfD!LgB*y9&0pe9FZ64R zRo!MaNlJG;P*9b9s0zFA5zlP>9gJl2A}RZrBdvjMkItt7Knr}x)@e@J6cHEd61{OY zKql9zMn+)x60wmlN!$T^1hJ&}*6jKa$o0JMiLjbWyYw^0Pg-d;r3WGL57+33}())Gl14O^sl z&1Z}?;+5yMyu+HiwbjF!+0?XCY-ll)!<}*(N3`9XL*w}_p8Jm2q?oOthhSB~JQHxM zYsCb5&|4ui)z{n-wo@W=um&Xc{Bc$%U$R%W2vMF6ol>j4AV1?Wa~H@;4Non&U_gMJ zX;ozzs|)K6rwVNF@Q5`hSa8SM+jK*&3|AdoXVMpA&jAEe+5hwgUMNlc)whvG$$DGe z>x$T7EkU-%J5u6oUj}lu+iNE+?G09^?9AyOeb$vWb+ddmijJJ)R4@S7@B((m9fp75 zwYm~s5|aGFBYhyZ+1fTm%e#BY)8JL5j~uWfsRibrY%v7_g6tR>X1R5l6BEN?R9SM9 z?h5=oel_CmHRf)dik{Hg(;@H!FLUmQ__q7#ftW zs3H zhYH0!GJew}SC(-4lw6oOE9oFhw_M$y=bY*?y1BeRb2aJS+qXzbWZZ`MJ{hNN3M?fl z9r9gFR{MqbaD;19Qx4@TowO3pg>QRUs?lp(eCcs1_7oB`(KcAL0xQgDQ$z=cbswkrN!(`U#3PTx|+@rjAl3^U{Y_7>B z)EW+r7YoaiAZ9bDn#)1X?m7P8@AbQP#)>R?yio1^i5T;S*y!z_Z0aP1TG?tc+2wK+ zV+@Ji&99awYTsdKIzK_4P_0>tsw`VrUX7U_Wu3qcSNA}D{inlAqRob@UaR)Jam`P( z4_ZJ6o^xC#m+fYl*}YI6R{4CruT ze^%VnMBa73?0>Tf`nQiKP+J!m>`GeV{Dn8c=op8kJDI7}d^>@)P?WIcA$fFW*${qe zVdor3fVdizpA!%p3dOes3jCEf;YR(H&9VDu_QbdQADNR@kCmx0zr`@2ds_*K^}9$j z#kTj8tXl9;OA&LRYPjWEnJ$Z4&TE5ZRHFgy3^)F?YLs&$aG641rDr9!VBMToL$D#z z+nRqNl(h8V6w6rSOExUE90SsOwFG0k^lTO+gMaOWR1f8pPXtejt zVdpAHXaVn!R+8GipKFG4HYtCs!b=pHmgJ-FvvY*&H-9ojb<1VeWItMF=renuVYcq^ zd0-s!Ht{XH()-zlR`ft$ft@C4gtLJ+aJu(6$tehvZBsxm&{mPm9~bT}4`@7PHdGsS zRT^<#FrTJJV(-3*PnLHEf4ytBWgjR8KpGlv+Uufp4Fhqk!tTt`gdv@?r{1m-yC`lB zLA!2;!US6nTQ73|P-}Sw_qC+6-qA)Rk;2bN?P>xM>6uC@Z+63Qqn(LlpOfAjJ8jCH z9ndF-xH_rK3YB8SVN;w~rqD$1O{buD{6{?9XMd@BJiOcUVLnTo(kXtLQ^>{4%_4+q z62H%YWW2u}E&NJ>>CV!Hvfl?hkW%e+2Z~DX zJsj5<8j)m>chBA9IflJPhmiTvIqGWnZ4qjHca6^Fi*&HJ3_V5{lO?xH#)q03>}rw= zeY2DQfYh>0c=B%z_05~lnC;}Dq&ci++otU4#qXW@- zmXL$gD>WyY)KWCT>e zRI{neluTF?Tm?}w5aapC;C)WFop)P2E)KQ_Chx8l{qt_fe-N2VNiF`xVg47Jxmb@h z&Sk|>eU>7Tm!rNBe`3A#r|1RR4s0*#=|dV^)_xR4u2YVP4zAD&PM}t>5Um!Db97wz>C z+iKSt&i}9|1~7%prFYW5XgQ{p_p+qu;tj{eqPTI&Z@23oRYs0`mVbqyme(UU+EO6Z z9G=S@2xkhAXAsu90e9zNpwYwqRRYC$6pP1m)8SSj!&$Awo z7dm2_NNP;+VD@?@%P2PQsB$zL~{j^m( zn698dQ(j0oBsU`*N}P+!sYYz<6-wOP9-+U9==p`$K_-WHhx{0B+qc4b884b(k0v%% z1{E$9rf$SxRfL9w;t~CDz(q?;am5)yW3$nc$cgXmR$SmnV~+IvQ;C2!_rKC z?dcwCJ=1XCu+C+SeB9%eeRwq3wpsf`uVeMzHL0Z#B#S||WCfXD@Eq;(&QL})8-^P>-9kBvs@9@~L z#3`n%iHkaYU$v*VEjF4esE#mE_I>F(<{g3~<)mW($y?F@)`@Trjg2{~uX(>D%lyZv zP}R&?j~mOFYwE8{}4!v4+-(*xk?J+r;(VUo)nYg>;vTqDW$#uD3$IB)|aN zFHwm=#-2pc{;+O*5+1h%Cf3w^q2%7+0aW2icI{x#gY%8+5P7fb%U%9*JswkZP8_$Z zDvhvFEsnms`VBv+!=m{E1nbi+7U-8;0j@iEkDY7y1B{)vMVgUyRY#!0QTMAmagWp! zU7D@L$Doi3-$WIeR~IjOWs1|UBu{PQy6cr5d1$%KVmJYZx0=$8H;Tvk!6V~A=E0St zRiHzUEL$+uu8SfIMuCoG8HYGgO};G%O(J~aOwSMp$@uQ1u?Wb=yZv=*y8e>hNRx|; z%>_xn%|I_t@xpfQiAtSS5jv$#MTXRr$uNtor=<1Jrbf9nnW)hZN>A6bRpB(NaklUe zZT8>#hsnN?8EK|L zbrB3Ko>80>1DoF^E5*A@?xA*4y5-vg&!18a^2)6ppVnF}*3ZnS%2(X12QiI5HyN9X z|9}PDez_V>Pf^RN14w<7`K;)N6BUsbXIAR-yTa(TqxN;O;rSb9f~@m>=jS)!hhE;) z|8Fw5^ThcW^!DILIn!wVp<%^JuV?eRJ6lnD&~zm3>G1Krrv2He9#H48uRZ!@$&k~X z;qts>&-#Ljk{kmKvkINfDFI=8Tpq^D@yPNiY1`4hVpS!9K=Z(nZQ zJbFRyB~5UrykSP6o5;oyw?(sbSfIwd^D2}y~5?}$T`LkXvxZ^g26 z8YT*h+*7wtC0*U!hi%@p=4|MQf&VNn+DY1FMebZacBy#owd6G$|4iXz$Go^(tq84$ zzCfD-VAyB>gT1#7ilghhMS0=^B)CJc!AWo@Pw>HQ&_M@huo+wv+}$-e3IyrQ33{KBrr`|{$_mQ#~nUqYo70-9FR}9T6(fV z7yL;*Pg{@>uBye-JXpB$H?Sqtdo`hCz0J5Zqm@md;5dsRBJq~kVZCrZKKz~YB-%pg zgE!$;FXRES-{LzrQQl?ngMWb>aG2a-SXyRxv0g0vlP6xPG^T&H%#SRk9G1v)$+2gj zw`-@N`?bs>sPx@8eWnTSR8h_;e>8Mf?o!M%S*GAI$Bo%zz5ss_waoCh+|rK9C#0Fn-Q8&Q%*;wC@&K4@MuZ~@2O{1CRG3t5qcT;RC6GS zO@b|fiuhVwU6M&0kL3ddB1*a=jFWe?#J4MxTi`l0KT5nwsRrYggYT?Ht@n7>ro5d!*_6q^P@!`PnV;WZ;&UYfn0QD6rTUJ!(x* zoPU$euK>d|IGkM{>7y#klZhuQu3GC*F@4et%2-%0y*na~j)_3Tt0Clx+HET%g=HjS zzud$o=iM=Aaqqa_aMX(`mBN*8Fy#2v)KyuZj=;++Wisn1XG<1KstJbGO+Bu&z?hg5 zD!$CjaLA>(fCW6p8EQ54&_fTH<%#d>Gi!>>j9g!uy{&0#^<%Orem3Wlx`Nw;>SAJH z&{5QMkpBI7WL_7S5Oz!RxUiwZxInGx5$5+_>1Z1hvl#p z;gz`aXSX~cdGVBz=EQ`MPX~btSK7~g-sa+aD^|rzKbNMnVOCF)Wb!XP+DIF4TFC7G zPj9#XALqTvG*a=qp5%{NZ<|!P;TbqNccu|+&&KfiOYCU+yh?J;EfdyvcK*{5@$!_m zS8Lchy7~UiC)t-6h~#aT`VCxT*VZIU-G}4}ydOpXGNmiXSC~86Kq*CHSUP$%a=?BI zVnJZ|9YWBFM1=T(8rbe7LSh1#(o!BDwdaYMqCn<~z#}hRFE8KZFwvc#Pk&j~msA;j zy9^6+ObM~sX4&KhcA9i#&J@McwvE@P`#VuFe^ENKE;=YJ^)Hc3Aztq?bc)HX+>e(F zV<*lXnvT-m6=&m;Ri3XByRQQ36~nyZrt#c2(PfIQ>OUDQWcB9OqqNwFm^v1c@Vs>S zbj{j;C?hxTvH6zy_6s|6>2n*WpwC!(kBX@LQCb;I!_^ft`T`z2blwF$8DY$gDEvfo6+6?)T^w5dOW(fDC z@p<=l#fuPvsiMPmHfAp4R>gshloWZk7n^40u!A1o+~fFzsKg0Y`PBJf{_rmJYoY)H zp~(mdE{X6gL)=GX_=4cG$eizFPvbM(SfQ66wbYz>cKMm?WrBc;cwh8V(}e3Hx(U41 zIJ?G~+&xnyEuK;JvWaP3uZGt7x?f1km?B%KHjdKQ%#Dbk!6`Xa$*n`rv}fn9t)xF)%MO|{)1t)% zOzf)04g2eMEv7eR2qH(p@;uoxOVQm5eQfjLQJe14njop|F(Nhc z@RIBcnLO5;h5V6 zTpHzLO4=jb|MULYOnMA>`plz=dfGcHx<*v~NYDqxp{xGhNZNTi2U|%6y`AT)K|gV< zez2hY{4oI)6WT+#ZcFBDkkuoMaV{lB6G}uTI;#1bpHF>_YwTbRGTS5jRR&2I;Sb76;_ zkF>VQy9oW$+P%({;NjEmet|}6yf9?{JFA{dnKVL+>I>d8>Qz@ET7~2Y){tQM-+dA) z*S4vCyEuG*u=E$dzsAPlUUw7V8wFg-EKO_9w@u?(Dv5!Df-cfp@wwvV3&mKB26AJF zgqU}wPWKo)X9u^CN}H3iLQG)^MM}d&H@l4I`tXK(h{x~2rq2xPiFXS#qKefvHa%M? zm&&$Win1EGTb+(u4SU-ohgiR#nw*Ie zwzTToO%SVw;skCDkbsh-^FG9Q5rI+?d?S6yXNwCN=~D3~7^hjxNF^=IZ=X84j;7bc z(!=nDg?E!RXQ=6tU$dD)(RTPb4)Y$!S|#G zZpUJUlj%4d>LBqp+c{kF20yQPV!0xC{epC9ujpiJFu+{h^*+$4APIbOQceOS#Ot&b zJX2>C@!i0_ud6?*A3Go52&l6g<3%SLIY%=x5^4Y(HzhLrWo14<(@(iiD=O3O3c&iZ z@wi?gXpRxh(fA(r6>v0rpCV^3Yf$q6S18A-rxTLslmDBSk+&73T#3zmzGg}>F5La} z1)S01s30u$buVG zp7j&I$g3f;dZh)?yxe5;#HRXG^KyumwOrAdO;U3Lv6*p@FDtHCt%d&ER24?pVu|G& zkTz8jY;{W;cBsKzQ>djYP56P-C@K^EgR(r@b6pMWy)h}z;3TAwZRIW!$^FVKh%M#A z5pFJZWoI}bY}3R5-5u9~p8SR07ANM9)mkqZDT?@+Lwjz-d38n|L|Yd;a!=tS@tQFT z)tDAK$P}+Q*ISU12*L3w7fp)Dh_I5~56rhkJ% zAeFuLCr=jX6Ce#@X=ob~p+0*ro+H=KVn6;<6!gD#-d|@CyT35fUcqB`Zp~qTuw*>M z#iKv}$9=M?%os)B%H8CkZ_3`|RYYm|=xjWHj)K6oTM}#8cnwEa3%!hB5^A6j%vC;_tO~HtM z;8}LhX=cC4-W!7!48Z#}i|<5NgR1jRT&muPQP;orr|D7Rsf(4Q3g=3MUc?uxb2 zM@6f(X)q~QNCckD7rVYVn64s-8ymzfm#sR~eBd?GG^Cu`tdN4S0xDsIoTe!K-VL?^ z^$QC8sX9H2%K_};CS7{Uoc_|C4Ulbm$rhqcO%v;Jvg6QMUz?H9f_8s1valdlowY@2 zL2zn~N?hhUTCgZK(Kupy?+R*g{j5S+MKF#ci<_poUaRA+Mjb3e9mFU0pc}~%Tal$C zC!A%g>F{>bx6qz~>au!MH+i!`&H%}ZQgRbW=I{?LeE?JdNSJ_}5w@PbzEfHk&M+#g znc4B-;I{J}1-8Y!*gf1XZ~D!?6@RmLl$KgQn;#s`s%~aBi{G85z;~&qV|lmO!1<~E z{8T)4angKjEu{p$J(n2bdUpDfQgD`h{&;=5+5(@iu}bF~{Q-X&mo0&H4=14K{8|gQ zS;+0J`mhNEs!WPZ9|;J$Cbnl2EenVCb**gH&v!1 zy{-BVX_CrFnyi|LPve#Fy*ox;W-sO)B4!7Or4?NhH%Fb9(hg}uy$NUIv%>0l%i0*z z&0Qbsp(MYW1T;nzJv>9JmUm-V!3${#Qo7&3yS%bBjY}z)AA+t8#B!eg_ zhoxqvx^u6mWzI3idoltg`Vo#^;*ghY>h(zh@w`2EO&Ok5L*46T2Wf3;b{6)(*WY!2 zNPoRi!0wkiClm?&**FlDVEL3q4*XB9j(=ifhdkKzHi+|s`Z|XH z8tIC={ie!(YMKl02Qg4i#u3gs3mJ=mxtg=j4-|wIWV#Ez&vcaOk3)#t_9zk0=@L$` zP&Rd960isig!cYmX?jA_N2P^}9%3;r^xbB@&K#_|thTa5AJGndi^UKE-;ERSH{~Gn zYvE;pj5Pa%ehQ<6h#+M#Nr9JERPkXB+r@JwrERR#{W@P+1%6f?1p)d?nK^&=ifMm= z4m~gK;<`^B(O&ds*rnz_HcC&XXZP-;&UWU9PA{#JZOoroOh;%@yctQ01QFYJbnXi& zRlp8~-Xgz-+l>u|*iv;~1E0uC#j3ED zK;sBQr4l$DrO@gmPx}g(M2Ymz9UId<6fUdNgd68o&0qpXG74@eSwnukI`gX`3lhrf z;w*-^U-=DOoc2?|D;rTVbZ&(kN(N)`iED$_`T)5 zygkSJ-e}Gal$n**Er}g_aA!l2b9F{&GHR|szRet*TKF*x4<~U^oHpVnu{$%JfjhJy z?CjAJL!;=gxCNi0h4$~}y$O@!>tC9 zXuf4ahTOQ}-YN_|8gpm-*Pw>9S8NE=S=1B>p%Hmh>>jiXNi!bjnxG#iqi@UdwwL8& zv~e5nL*${xV_N19s{DvBea>yeaivbJeCH236cC?*??~OXACkX+fjJX^+u0x)x2e=bivY12@o zciQ>yBUHKH0^-~44{4)HNcXp;H*rRX_O*9oA^$e@8Sw1Um|k5i=w7eqskv!D0FS}J zlUDCRDT6qMWDyX!PY@Pv|0;Zk)eP60RWli=nDRt5ZP=#S#NOs3-ZkHV4@oOP&-S<0 z_2mb4c48MG!ISxcawG|HN$aA*uyPKeU`9ow z$EVC0;SrmCp_j&uqRp)?o^k#ON%Eirc0&B}d6ZFw7CF9XIom;^5~B`s8yDmZ7ZH{P z5;_$#3A;EICnfl{pei-$TILqs4Nq--VV!>EsZ=8YNRZl6jg8FslA?xq8CT|3{kCj? zVJM78X;=T<62sqztzWj5zx+rPQV>}RQm@w|GHz$_d?+=EsGP6RKqS1B>XYq}Y<554 zS2kjwVv65q$au!gmV{fC%>9DnZ5x4hrSNiVwF}ffUtb~lZN!`&GUaob?W393+zA|0 zlC{gPLi^LumI`e-*gXRx@VR*gcuW@iReoQDqTLoX@mM9NYV@niS8f)Hl^NX>Yc#Lk zJ#Z6~leZbMU52nI_uS4Fqf*(`8!a}UGqTPOin^|fm#y=6FNko57|(J~EJW?04h}iS z>-tWxwX|T$-%Y>g;%I(xpAr>Kc8qg+_n#Pgs+UxMmj0#ZaNN}K>mvT-9x&@ahkiYI~BOo=g%OINIvk+HGp?Ib)`>Ybit*Eu~ley@V(r zw2O!_D@hXJf+ynBfu#*e#w~RJG?H^ps`+y7x3GejJ_vugp85 z*xp7kXDrA7xIjrjX|ihJ?8nvhS?STcliKJS{ko6l<4k+e^GR#)NcJiw({Q2p?pNOM zX4>^kf$KaG%Xcy(bL`S@UH#brdFC7STBwS<@;c7j5lLL)CKt zXy)e1aZ9G~^q|pT@A40;_FG(uQ%cHH+|P0@p3cXCA2wVg*0iZM;#;J&klb(V-9oX6 zWtszaH9pvKF{9P!$uf3?Ijl1SX2uVrk=_xz?`8TbcF`~KdZHn-4UxvZe7P{0s)GeC zsN!~8ynt00MILzj&V$uDg>3ZdEP4zDc3)EtTwB!WKNOO&esT%o9nY-!=D23FAe=6H zLLejKE444u#V~mf5-bvzr)6x>27V#tO62eV&q45ijEw)+&&0vo{`S1Ib#f}r-_atL zLZU=Ao_zeEl&}M`L9B4$PS*NWS_`g|A#4@@i94?)7#H6G(8GgVk{Q`$s^#<9S6n{O zn=zYN*5c%|?1j9?KX3f?_I{B$AbBtW@M-^f36+2%O}%iGAuostXHwXPaPEc!hhS^w zFBckKM4EDUH0y!{vFKr`moP`QY+_UgAqf59EY$L8_l1czE7Ck)OHBZKXtgV~7@Emi zm7FE4FxA96M-ed6Y)d|QT9y}AvTNC;MBn6HSu-`R9*0KN=!T*oQ`2m9#X8E$-%C|=obzdLlW;;PQqj-3Pnh0XhShkW#VW-_(Z`0w zBI-t0IM%37&;O83tzPfaR&LHDS->l^uL?wRm6;uF8>hD+OP8m*7%YCtdKl>{Ul=Zc zklTSy)e+=olTrM#ojsRU)(EmqNNz(!+mwNb{>Bor#Qqi9ugLsYT{+q44R2 zEK=uQ{k0$%d(3Dqdq(Pal|BcUyGc+N+ASS3Ma-EnH3#RP_iQ*q%{6WU@U>EFH;o^QVXWGi1$GF`db zIk~4cz-1BR5Pou&x!(R@3YvBbXiG_UH8+xL5$9TK(z#L$d#4$v!h-cm(zN^XK*?ru zT&KoDm#Ip0)H!~bw?Z4^ga|9k#w5UR3!(pMZ7aMg*K1=v)-1&aA*OQ6*7kPF3ZY+fGU*j}8lqI$`;LT%7;!#!q#cUJufMe84L$y={HUX`*!BoKBxR zLL2P}JnN0DhYkgl1W26IAxMs7E&FEw@x{7Ion7WnLyGlI%B2;75q&Hidj6_K5w;-@ zV3d~Zd9mQrlPH;o>Rg8(Semal(HCZZ^6<|_q>~Q&tZ!1-rsD2dM*i}KsC`40=$~T| zJ-UXq>C%j6{v_$;qqsq1K=%K01>$?Gr+>Hq+jhVH`wBtd{{Bn#{l9Nl{NGmi?*l=W z{P!98f8Qetf3W102B&51?y}pGN0_W|-+QiHlXzpi9^MU7QU%QP6}HQLV>B|L4%$G` z-W8YU$n5(`c;x6&LuQ_Q3)m0n(EbsB_dkCMxh_Yigty@no6I8eIWJvH6&VwkB}aJZ z6T`i|N=3}tMWWZu^eL)jU}}SPzQgKCS|j+Xjr?o_=;)yLKR}15u<7&VdZ8o(JA+E< zq~}(C-ll~*jd<_>8WZsfE2e?i&q-!>o@jgBZujY^ zSoP_Eq@;CO+q`t?xsc@nvWeQ5dIs)y*L?#1bIop-1Z~2wWJU~+6 z3j|Fkc?iTOlbY#G(BP|<$?M(22SEqB=j`r29f%5NS*o+RmVr=9@qqYaj1Igyb?;=w zJAnH82hS>)a=+qbk|g2PfKy=KIJq7YfgC2q(cQ{M%7*i9GzKRE*&zMHgeHPTM0=3U z=#^f3-yoo>dMcZ7)3h|xUvIqbBR!RCq$?z8aKEc9yv1Xc2u}#6CiS!dN%h=4?++F$ zb(`1X#X*kHfQF%c6~Dj1H^I^*n;OPbi9c8oubNco-)$9Fyti-a!wvijgUl5^6KY|;^-C_OI2sheIwIvdZtxsDvp>#D= zCWMEg7#>hQUu9Ds(lOjM{H`y~JpfV5ZX)`v`+qs zfh?FoAt#srKcvrpLHaKnv>Y`R8PR=|bMd}ZA$&_Z{@|Lq1w03fjB30pw8<-oHJw{}g<$n$oU^|~ja%Br5s7KB z>&o!hQjrfMy}cOlZ3ZHUcWN!hsu?=18f>PT2tGBxeA`GTSAaQ0F8|oZUal{PST77P zvU&eiw39$am|qwFR3i`JJbE?E$KQtTzlvjMX!bufY$p^8%a`Ws|NQmy-%I}c4E!H_ z252HuUewyJE+ni14%I-NdzR1m38bG4A&Lip0i?6EuOOI)+^Fo4&UH)|VHf!uzx^Yi zy1{{xX=}!OJTXvj5Xd5T)>8`DA_K^{pOi7iq*zy>N4for`gF6oSYq znIcKLe#6?``2ofh$i50Bh9jAiKdEmf$Y4tzT~FOxMjNM}yt!qve=@?jy_s*krspnh zuWoRrGrQGp;+&qlMcoE^*6)6#E!`~6T6jXD%K%(flOPc+%Iz8wgcc>{4vyyij3O#%sq>nG^1Ym>SbPSW_)N7$OtWm)Xe|6N?KF| zT(Kq~p4}sD)c!d5(*^mgIAUmJ6lf`sT5uQWo_^AyS5KEgDR)J z%a1g@ooYtBEm7P2_b9jieRm%d`fk%x)isL5xM`Hp=qBJ)glksO&g!eS;`Yd_mWuGa zEL~M8VGZ!$V3wn>*6PMI%w&#&*s0C86q6e@@Vsoh717rL-&|i`fCz%lGcFvphDdV* z*f%@+CDuuQkyc(Uln;{|=$cMlP1PUtcS?@vGJ>L#D{{D!5NC`Vg_dS$3D%5f*!c@3 ztLQAlz79upH>7rDNjNI3JSG<>3%5u{)Ys6<*Bf^T z=%ikQUvMnU_M!PDWAqSq*a0Y7{5E32l(lDRpG4;TA=LRbm!`vHVHTGwQu*Z6X zSzQ9vq~QtK^2O%RUU7vn+$_1tqbFZ#dgw!XwZ0nT1aI64 zSzqdo@GxfdDu#v)ZkGF27f*oTx$!S7wGm|+$qTl4$o0V^SnEVETleKYXfF+{^_=4o z0)^LOOJz;ug-1TORwd>fg@-bv0-mzvjAqPFnw+QpB^fPp@p#jcjC=f}fgPD;;?~jW zp@A1{gd=gv>pD)&IZbwuOgpJl#D#fJ`UHXcIZ98bb+j>bei+}&&enrlcO&AEm89<{ zQ}aXHJS8x~R=BmSG|JM%^Q0Lkd!UrR)>gW1Uvy{_LY9>4K^iKTG~XQC(n^P~tS2Gj zAnC?om!O|d=ta%X39eb2J#VA5D#@ByTdt@YWgCo7_{Gmp*A66|bc6mby1A<|~i(gZ@GP)qUIU=R_J8m3@If|{D= znwmzKDlPq+Ae>bQZ&(u!4lReVVhSugJR4I>N_R^B&j~5qfA$PiE0Q(|$!n0Nj)?TI zoO-{Vd+%WX3L1OG36JhF3+d&_OcBe3u3E&r=9HfwvpbN9^wl9Du*+%GOpJz``E7XK;yvR*M7XNr{aVxi8mL7()PH13(#MmwPwJ&pLf2t_`eTC~ z$zKk!6(4e+jU%7T?lLut(bT2xIn<2GRhF{_?W3eXX6|<3Le!y%X>pHZ`!6wWO{lbYX{NSG z#8SZ^Q&yP=k#c((fv@*!728!c^UKW;i&|V5!!+Cajzio^_KPXCGfC;|SJ+MLc5pWF zLz$s1j#RbVKUi+HV=jqLQ!EV%X!k$-Pz_@-t?efw#7z{nIZ8GiwlrAzuubP#WRa z?Jg6cN~bnd5=39qCYzd(idf8!Qg7xadgcdCEO5SZG)?O!7t(T;y9KOP^8)M}Oa%^) z3B={<*@(JOF=Pd=8DFW8DVi{D85C}3zYS!QDd)n;s~>K$G(yT6UQ%f0RkpAtrL)kv z8r6|*&3wHkkIW`UcsSMb#S^zhh-Ir)YCBJjD>le`KA+gT*KbIeX&9+Gz|#*=oY-AN zxunbbrM*7YCnVZ(zSCpXoZnwSed$V7G8fYbbB; z*xY!LeNO_vBE@x|niGm@^}W<2ZDoAKHd~1_4ZGxk90l3w;oMA1>5Tfdp|aAq2~Yn| zi^_qY zPtQ%pYF8)fMUUY?T7Vr6-y4=X>bzX#@Ly!Dv%>}JHcHBhEHtmKiDPKWGsV&^;=}mN z#tE1_RnJaqUUES)eq_s&KjOF>su_(>PJwUIL&y;qXE~e`5JBf}pXZ)}j`iQw1bMY} ztE)*8rnP0g9J_HVQSaS^wLB}tl_2K&;LbN{3T~|REVe6iDzEcy@>tyT zZqh~a#&p_!iZT0drFfx*ts&$G&S<3KxwQei`>s}WI^`DH;9z4_4yv79a0aR&_*rGB z`!1VI4;jyr=UFYcJau6^dszmKIMP(Vo343^KGrYeb!F2H79rXW>%S@rwqS@;pqLmN z@}ivK(->1z`y1;G@aVq~(c>x4i$pjmM^411BLVjFh^oyoL92uS(BbHk$>}^U*TfYL zCf(-bhCry=ntGqV7}-^hbB^^%oNSX|&g|~-H#)&tVN^o5zD9OeMwK4&?!4#Nm zd3zBo%2`}~P76A_rX>kn{=)A?5%*Or_MFLANI48ibB^L9Js&FQoFUVuJ;V|x`hd*SgJq>r=zniQAgeSf-~ z`!L?+t0zM65<^7&u*Y@FLOeI35Q0th?hreJMzm44Ih-kTy@9Inm+N}%Uq_gS=6{>= z7`bTgBIco!+H43_y%5gwsi0PzWy)!Yiir7p5U|AF=(@3?@=D0L8GEjQQ*m{F24{{J zXsL`Rb)V|o^3a@rC_mV2-;I>k-$PB?tR7&Glev%|S||{8Nj5qxvuGVtzKsBYM7miE zXm8urNCeMkFJtH&%;mI3lbC7>gS?E-TC~w;$-K^CB!1MErfjz!GB?M?0_3Ti{bPz< z6%7Q3E)VKpTVr2o=4<37%EYd?PuC7fwQDp_8C!tpNl2#4+eZyvcfAjEt$F}sLIbNe zDQCe(FAgDhO*s!gJ~||_1%G>Xul+Ebd)09o9>2|KUl|p=N8`{ z{BrKK$4$1o{O+h5{BCMLK0Fe;$$$+;wLrp>n=Kj^Ya^0M50f(wk%W}l26CKpk!agi zU0!dx%eZDibhu?(^sdu9FHHgN{^X5<&0$(rjSouIbj#)3*-T@fU=$Fry{j`Xtdxp8%di8Bx_S7#ol4>96K z4^HmQKEF9`hnsUxZ5;k!af>_YU+cc-Y&k2N_db;Twy{}}!{9-AOX5&loYq$d-`^zo zb^72qxJrfeOX2y0HUD_?ZZ)M-1f!wCiE*#3eY3FnY8BP-4TQ=1v-17moeSo>64?88 zY4@g=;LRT_qi=UK_hhI)SUDJnThMua>lJ370n@+!U}=T?!TRnT6)+hSn%Ha*KJ})N z<@cPR+Yt$Rr55AjK?gS`c-_^Iz)(*r&@%m_&LFQ zLVZ5v$Ess>2SW$evwcf!Nktx+6@uJhnblm4x)Oyc3@q5$AK=DqQ#kW{Uf^?d(Fq+B z+)jro*RoMuU&2nl$kcq5E`OfrWhf1QeygBabA)@z7JDF_&+=+zX*G16@%y@}VIg3( zoPHq?OuoVFUD9~8jQ&>sVo}72d%d9}VG;sHrjQARgUz<- z%zH7CU}Rh)rm;bXqr;RKTaoC+)Y)F1xJJCYH=C4EuS}0uRF^?RcH=oJF(`hdLVI#G zqeDP?w#b7bAuFNn6po zGs=72d6FgBHidbewV`wO=YY9cRT6$j%f>a*SXafs#b|6Q`(5Rvwc5|sBc=1C%>urs zEcy!No&$*rGmdfOdwP>M);*&$L`8_q+5|UX+r4yWoZU;h1dM9)!jokleJyHsjXG~S z3$wb|=+{gA;q!IZ(C8#|GCf>pXFXYna;LQ@e{9g=B?Sc_wicT>H#6hIQiFJ-;2xx) zO0o_d-C#Kl=nSnZfMm}x2FuOPwa&0nu9#;t$z9p%-6y2ZjM8Vn4Qnypb+u1WGNX)* zreHPGqNU_lv)Cs@yzS{MVa=0=P;E>K!2>KODTjmZzy%w~NCt9HNeW6EPGj`xc20_R zf!#Yx@bVO&N&VA;>rxZ&X%1^k4THK#=YClL(wEedt1Pou=uk^cX9})eM^vFH4F{24 zlZH=ilGFn!&^{z>g0P?X^!oJkee|<4O{C}AtU@K5GEGDWVSCZaL_}jUMEXGLa2Qa~|aNMt*4^vK${WwN-nMea%mjmjAATD9jT7 zRN*$gbAeq6UdrA(vA0(9hX_i7sGdXI$5pNZfWE(51K< zC*gDwKQv$aPW{r`*N1Jm%W^WE;XNg+mF}5vo~@GS^Li~k#g+{8NUWkKzeg+JJ%7nB zQG69VPDZeAe|4o+DzcuRE#q28Y&b0&(_DTIa*nc@%-Tht&Sz(qErL~WM9#LNr-S0N zM)VF6Xi;ppnWb;w1^qu{VI|YO+l=UgRWTa)OmOeG92OQR9+Q59h4p-GwG)S;;&6O` z-)4#kEacc61SEVb6|82Sta;5s0AxTzN^;NqV}md<^$@cDN7y$@r!>>q+>Yq6vJL3gPeq9H5Jwm7T?$+&P?J#t2Rx6@^QXd%hz=t49SCas89%cd zAo#`n9Bt(}$I95&z8kR~U%DTV&T^M0Bv~W`=?ES4io`&`WLCciEJ?ZFQ*g#r1rP}K zI13;91s&quQOx=kTvIUp_=6Rj-Bee;9Sx81I&EIMK1wXmQf;TJ9h6*5_K48Dy%tyV zuV>p{q+#fA^zwh1*xSM5Z)<7z=D02IV}RG2^PG1$qdO+&Oi+jQH`cccHcriAQtkeR zvVX9iW6ZM;NmmP(u*CxpqwY)&KYH0I3&@tF{7}G1Tl_p+xzDG>LORH+cnq&|H9#r@9YK`g4pFFZ5gMQ76UInKwJF#ecA{oPX_(3}M+A zM(%E-Ic01wGekg|@3w5-6qv1Li21?FC7MKLL#TC6Js?c)md0MCuW(CaXTK;Cw+bHc z8Jpp}$xo#utd|;8={ule;=S*MzqUfohVAI~kW#R2=4p{s$0zOZO94^jGFfLaRXj4WR8%0PY1tQDJYRvg1>fn;pGCG0w?4>2LODqGW zETFnH@fGQvz^hm_p(a|<{fms%yTQ2$_gUmQM(~s#{UqCZsoR42D1777<{FeegPwBG zbY_l>p@6cCda<;|#5xS!k75`X<0T#V00NR;D!u6aL|F7zO*@c(SN`LB_Z6|X@VN1e z;21-rCnJvLrWHJPHUv>8OTXbMA8KM2etYo*m@5yh*9egy{f}BZ6HYB&S8|em|SwP*M(BVMl8x%)VDzul{MhGJjQWVd4iUEVt zOkh5S+B~@=Vr+XF{9x?n#XYOLa%|9 zzHl|BcBd`9W}<#FwyWicz;WSn$=2|@`RUCOev&RMgII&ebV}%eagaqTm>*dw6lSr0 zA3k4AsNDyuVJuUGmCF^+XGy;Cm?n=G5ZSja^lg%nX-sc7GE4h=YX4xW)5Gzk)mCR3 zj~%lAqo07e;N)8QVkWrecSK>(gvB_q>l@ATuzDefGCpkzLkj_o42U*jygICdCpm4- zN;Jo6-c2(3HGiB4Tqx0ZBS^#*`QeSKy|12-5>zFc65c&=2;DMA z(ia*pAPYv8t2~Anrt%3Xj7Nqwl~#gwE_II5tvg=7yAb75%9BpC&+-vlZLBkpG=<6_ ziv)VYMY}y4ev9-9KX5F+PM9&)ejh5$kPP4o+btkGaD=7{B|CO768mUyFKF48P>7s( z798e>6#68eUGIIUF0`hciwEUKnrj9#?>FgH^$|I6)YOqQR7cwEUV4-{=gS`d8pp(( zVphGf*~^zus!RuEPut{_g(LOo9=?jD5Hq{;8a9+R6j{YSlg7PHi8L)}+Q*KeVoZiH zrk{_8e_iTJj_^IC6Sj{ikYBBlPW~iG_cNTqyD0Y+)Oce=#ObW%S>Sp1{EWd;uj?%d zq&+6JQLt5?mL$dU@yjPJ5c)S%$x6!0xZ*;k;n7+eg8XW~asY=IC1Z%-ir2>nB^|#X zu$7DFk3KZ>-9KaZ3tU)vIF}oGuf*ntJp0W}}rrtKhL4rRQdZZQr0(FA;oqJGDQng{| zRBJ$qfD$QKe%OAL}&OJzp^1Ft4Lj*?o$9 z!`d@#qTiJu9u+HhvZa>M^$se?1qPxhJebOxKuFyKDi=VWJ4p0HwRR?JxGSskmilN6 z33IrG#uIU#fcF&dva!ddi-UKuFR%LPZ(!O{jS8P$jJ{bIOv*=s`7xY)`-3^ScJURiByn>Gs>MZ7i1F>(d4s=|`U-7=bt8 zu&MGU`Ldr?IW{pC6pe@Uz}}6)dV`+OlLW!Z?7fC5^+^m4693prh(X=&vxjI@Je#39%tb#02W^DRIE<4EoWi7${J0! zgLQN{1sHKD2>W>|d#9V?ySJuoBom^@hNkADbcv#q0dO)`R@4_UD(j;I^n}xjBY-X$E4ZsLH=?km19lfiu#Y z%4TEwPjq>Tyz@2*7X`GRioeb*YH?9FAmWPND=A4Y7zl-B@V6vxNBj6_#|(Blq5oiw zq2YHs8sa3;?&rVZ*FuKwDmU&%I~u3|M33n}=IXG#a7)lXV$eW3GHD_;N#g<~ZW0Vi zf?GbN#kei?j&Ma<3iUpXZ(JDLHaIxqFSTzMpA}xa@Iy^5aTsNXqxwhpn>@QOjdZ|W zr70&tr@!Z~32o4T{r~}txXZiNh5{{<&6sezjO^D6W$Mc?w=SYVwaFm5u!;T(c-j_l zqi2b`=ZXAvffod>MlToVeQg{K?ouAB$Jtv#>)pF=rzZh9m22eZPxzv2TTAY)y-a{m z#YlhVC3Tekz&RH}#nD;WMQ>q$Ku%emK~1d| zvR!;aD7s`PlLn_CTdFZNR2pb|HJKKLGl$x!^Br$iXRzV75vOIMZiqyIiJ?cG%LK1; zejJ%G=+Fg%5u>RlB$kQ6DsM*8J#|1Pa)+%Sv{nd5$dSIXv&Rniw4&WBfRdvV`2S8CZ^+olSS4ef{iWm2aCmJ=`~w<*%eR{ zZ^BA;II?a{SA2Csv$UbYy>b&4ckEiN^`g!x07CXX!Q^F|w6G5>B~3q^d{nL3x>r1|#%JH$)hzfbCTkWrYSY&HN?BfPtEsP7Hdm>0m_w%JC5QtkSO+Xd=Nfd%xV+~y z2#Y^SW;G8o6n^#eJK>snQ_JS#W#aYMd*94z#ratjP6>6`?yltSFH>9(z!gnZWqV)WGvlm64{f@4kmLC8rE9Jt~`!V3$Kyracab zshWl-X>=rTYhaI6QZ+YzbX<-;=!GW%7j91b@}pPh@BHU5l=lVagQs-20vYP6$=4Z~ zirvuj7H0!JVDb-5HcF?o)+%awwe+x$w4niO^&*&{1iDBoyf#rFW1nAl^Iw z=Y2oz=b1fw@7c5SB{NqhGnu*8wX)WE{?>7LSERcbUr-OuH~6%*Oo2dHhOOi0BD!hf zjvqVMxr02?@|pOX)L|T^0YLtMKVP(PeOB0?B;f7iVb+&rNdE)ImIKPvdqQR`KXy$Q z9(_R7$b?;!GJTbLC@fM-Izs8QV8)R@Ae#atrubE|x#bg)n$2&z`-WW<7ETFpd?4MBdoqtvV{8aU0o_4jO!<)8*=i0ky) zwsVWU(~`_sjzEqVQlR0JGjkZ|)?$wBedBx_a7kTN=i5*o0dNocC;u)+%4a=RhgeK& zY&-OEn}UqUlHkUKsliXV-=_^^8$80Ns;`?`N6eKQW8&T%=nv&6%=j_%+!XxSYPyru zF6pjinIv8$QZrxc;-O>E3gWhX)7GnMJ^Pc34@E|2*4VLWvpIORW+Lb1YZMcJ@=lR7 zYivF5y%yys)aY2{u3?S$V*+aW$u0Xld}HZa+%_h%=pSlXdW`=iO=tG$arw;^$booR z9_I&{5RdNbljLVqFD#zpp$pi#nMv-SbT7x8ZX8~`pSzx(srvbo<2?SpaIak7K@Z@~ zNwS|@Nbe_-mUjfD0h9beHQ9uk@gUDneCc+DTegE1@ZI^f$q6_~wl`W5mycO$|B~SR z7S`Em^VO~Wn-acwY=0nj7>7D}{28ihRd!uW$|z536f!1}8(cC_SzzqJGoZ6b2$6KC z@5deD-iMnc=OL<*^Zn|C{A=>*C{2AyYL=$n%UIBQh>oJ@Mxf#9y|^}voMi@a>+jy{mnyr1Do?hmk^Ph??c?{;BfovyO-Hm+C$6pE5#2RzYa0sH`ZfaC7tuL%c3(wl zJETxbZcj0%cL%lN7>1EFK{$PV)wHaF@Oa)xlhL%;1Z8bMRjittqV-ci--A&nxZw2B z6os`%2B|*Y7xR}}#oW55JU$dRRpXP&sOc~{Y}gK@!&^(GEu~sEhzdS?KK4gW1L-LB z*kymcgd+y!a-F8=v8R6M5u{PsA0+7T1|hFHT;exUtJRm`udrC-kFXG$h~6N~P>e@4 zQ|TfKi^ULXhC%wAJGT0<^RQ~qtd=8fUL(Dxzvoqz_2&V?FM?S=v^8$lHb0~_@#ppY zIA8j#Ze;Jd*AP`~AZ57i1VuTIp*6rTKQ3^GZ+6SJYIT87o4*L^=Q zF4U+@G;C?C;j^LmeNPj{mv*)#iji*H<(j(!@$Lh{v5pdp*1B6fgY@EeP6kR{4^@A` zYj_!d$DuE+@^*)7+H!hb7F5gh_X5Lpb3FoEb{~xkXY)GfvnfqjsaR%Xu$<4Hd~lOh zTUF&a5YNVkD*AOz>sY#zf2uFq0Vu!))l26NQ1jOXnfn&Cqk`W@xpStFU()@0WxbMv^&x2z?|*y?`Im?suiwS$Ck)#UDDDZ5x3c%(+vEl@spT6R@6AFB zp&ObD=~tZU3lAJ-$6xbtzNs^OVi@aMn=;};>A{kx7PvENR5U3apZ0YCX8d~OkV@*b zO%PA9`34z7b3=b}(5(FZG0#v{x+vH=aqob{u|8|&q!gQ~`{?A|)q>Y2q^Ln+${)OI zZ(`Af<eKB35%yI(y`%S+XEIze=M9#~8i}gR~Zvy>Rf*{szB?^D_-yco34)pvB zPvi_z3NjU|-C?~@QXWfAsYXlIk!EJbt#@x+r5}f6=;x<87KgpbTQUDz+@(|z_!w-Q zAny(Ollay5`82V;(-%0}@uKf!gmjFAMD;URTxd? zV&$Dg_;q|a2)4sHWwc;q`dgHwWm~@Iv zNsLDzibEkyehX_KL^=7I;#RDt;rvnX{PU~7mAj_MnaLoKhhy>X<-t_!vYg{rx7&bi z^Y>Kx*B63%Zt_NE*|q{9y_MZ&Ua~Ns!%u6v)Cx#6!vOwBW_z_VMIbdXbB}Mp@u-TD zuIR?l6w}VA3vbkdGrAYBaqz>$PTz7%!qU17;{4VzMQgmQyp7rZ*f?9&17Y}+4Nj_g zh$T4sI>$61%0#NB*r8M%>e^n#7Vz7fW~TWu1zlE8mti|XqFEwit%bfu?+0+X&`D0v z{hKtdW?$HUH#Ls>zCvb2Iw@;#Oo6lmCdfVA%k(zD_Ok*#Xm8 za`!E?ntA642PYayx5K@_MY|VV!w7?_~T>Z79&6=sjKKtXX;A^r_T~D1#^K7|g9mq^W zz>?mT6^QT7UFe^kY<`qiF!(m61do(|2`M2>%s8z#5QRm6@ zC0Y=syOuawx$iFUJu@+U)~Lw`r&@E)ChJSKHlb2_ zn=l^X;p9q+Zs6on4=a&Zy~zw1#8+(EZLM1QNu@=H#Au_mkq>#00JHk3@x3zV8jC9h zWWm(_b3b)H7Z<0vu6OBn&&TK;X5}cslE6OLC%*EZm9??us#^k?1pgV<3-~a1_vO97 zEtE7UjI-Q1*m<&Br;y_pfORJ;T>E)PfSCB-2i(7Py8lf`yYQQOghycelB4HwDW2S(rt#o-K&s zm-;efFS+I42CW@d>P`MYfUf((`?Pv@uD zZL?mX{Y3+vk_0Ut)2Fu;qxy(105N-}XZPWb$2|ric2bo*4Qe6%Z~t)Gq~l(jS0Wgl z&KFk>*tB=`?ansW%f^vW6l?=73kx}VJhnK6tdjXzpo4??%7X91c?clc`P2E_nW2_c zm`UP%R!8$*;X=KKr|Q|p1}0M<*&wxJ;XIf1TGKbWGbae%fnp zi>mvG`Dzs_^f6SYF70p8`xMj4OC@XcO15S5dWW!|{WNcTe4|NI=ImDra)Wcvz8_Pu z)4SoX+^frywk-wS(I3J(o)XwFfq0U>ZBN8b)$?Fvph}ZBMb^+qaRjx{79IXUlu{sU z_Z*Wivx^Y+gIROexCbj6vDFbBGwY>?G|yRwBa3E@*RtI!9Sn?0o5n#2v5t@wxE!b# z6{GdhA`_1#-kXW)QV<3fL^QpUm-jjFv=w4nU6E1wSL6 z>}2*~Cu6OOrnu zFYm3Ii$Q}=eUhUVy?!t8%2k7=U2U-&&X6eyXajennnipJWrIv&M!FJrQ_V(OjEz>g z4VMly&|02|I6&i_$4J%Y$ocs7i5$@VYMq0RAv7czZAKPl<{a!@U&t_325(s3IyUiO zz01%|axaUuI9dE5zd$S|pjcgnP`kaEqmXY|AKN4UqPB<4%6B-HxeKo#l$mEd0QRe| zrSWEufu`((7pr#sCeX>_-!eCkkax?1z2vwglz6do*=My{_l^a6J!NMK!K)!q6zxG` zpK#hDXEHleTZ068aDX>p0AkVf%iI|kASYGXuMn8rXp}y!*gN+Es(P+2tKHa6Cx8Tk z(`w9rEcV09ZvK}ee0`39vj2~A^Z(=s*Z4)`uc01#S2|pbUZGz^N=v0nT`8u?ug=L# z_!Q2aVdyg$(00!o{-*7y>9fO5@$CM7PbE9Uh(10VPzA-QpoE^OZRCQ}3xY*4; zp4+@4qDVdZA68}meVz9I`IWo>9eVy?M6}}TpIv5+*{WxsC2AB z*SD*$*CjfC%1ig$E$7Q)l!FP_H;i87BjQ`%Y*e;#<_&;FO=N?E59tRLM|4?Z6S&07B?; z-Ca;)NVI@(8cpd=m3gUPidggJE?aApH_|8QY|4`^#uAvy+{EP&-QaCGHh5&rOXv-~ z{q9tR7HOUz=KH zwMA@aF;5%7PmD)<&NcJq4o&c|mQLXxaNGR(M!+;1BwbBPhOc!^G+s+!?)(>~xrqI= z((PZOf#3?~Gw1lb1WfY^A!fay$e8C>X8RF2v-W4;b3|>wSmY&uXTOl+Z|dtm9=xzUFCn_sk4->oz&!apPIsP!}miv zH+9@=(B7g-S}&G$%wDc(jirW0E#HXbSA0pmJHE8h{2%Ie%*%w`ni&Dqz=*_(97nZI z&F|XX6=Kt)5_WA9UST?6WT3z{GIdGG-RVMyQwBs<&caw`_i8bUMy3M}|I-6} z=dpsfAT@O-_gSZvpN&MB$2@H!W{(u`TI~5-i&?}&1pqxzGF{J|wYZBh6-4RJ#(9<@ zEA6s`|HwZtx-~p(gNGgqer7se^YbJZu5n&pMLoUHR)}-w*5a@dND;~H^DnStK+4}! z&H65&Zz|7B%0##Qf5D=W#O}>gfT3I=9UR$pjziP)vfTd3oiWw)p+&xxyGK; z?d1O6j32v|1vo#TH~rz-Nt^aB~u5bEl0J&vYt!GfE@0F$X1|NV>7^C)ZI9Z=N{~65$N+FscDm(FyrI(}O=3<&xpF_QUiN^_YYf&D zHs!YoLPjoBrJnfE0XbL=P(Mo z>6T$CxN9IAcFyEJ%!t2L41+V))=KgX;%QVZACXSPm?LXh@@1`e)qQ#-eM}>gO}Xh^ z(`b!ljde$W&+P@Q+?P!|uW$|NWc!W{8t)G)M#)nz zEmNFA@6G6tw0XPOzfV}D=~|8)nn$p{Y#S&HG_JFkcwBXGz_DwlY5ox?NIblU(iNb~ z`~cACOqAeMexbU^4CbBR9JqI_(ONt_R8E9?_gG(6DZVL~(R@HtF#+y0udJ}=_#EjR zZ&Rot%qnHlRc82rgfAP*XSMY}cLSg>6piv9PU!q(BK?<{N;WCaV5cg>=+*b}x%M}| zzaROT*>NAgjP9hLc?9L0%j9$(%aZW?!7lCpj@yMuEpc))YN70$af-ztI;o7m`tVrt z^7L_jFHYD)%T*dLH^2?%OFf~itcbMBw&SQF{n`I)2BQzjjnaLnf2W+~=cWQIDyS_1 z`-gyY^FUag&r532=O=1w>j5ePj{lTKJ@F~gbV>iMIWjbd%<#09d((e!{M0#MLY4Z5 zwF}DtXVBaJE|u7u+PyP3(yUlNn$=Vct!7+bP3z}I%9Z31YB_LWZjqH==CAEF6xkiA zUW=zPZ_9)hKhz&b@jyWy9j0yv>qFvcJ0_e4o;ZLa5LO|JxF7GGE0O8|O{N`zu^RJ! zxP%+u$7E+DFWfkK`>nM&NY98GE&2`sq@#tEL^;k&;!@GRPQzp!MmTkhwvu?rpQB8! zWi8rtHJ1TF+KFZj&kYyK895}}J5LMX^gUwDZu7FKTE3n7`sK_+$`{m*NZRy7t4(L= z!@7-<`RCzF7)AHd%a^A_bl>lk%LA7}@)oH4c{<;(*_{b8m_9ia6xFj6+N#xf%c7{S zRZD6GChua3^NYRMY7w~lGUOK!crbqOezFH!5jfCtHa#*dBB8WL+Hl(X+4&J?&Y#rx zXf$+~o&q)7N-o3Ip zaVPZ>qbm@Yn6YA;150@nO|3}jV$(;kfA#u}7gUhafRp;qdg&sUy?|#HN@i>*?k}dx zo$aaDwaptsD~{8+e)-}!l>SjxWyL4AE8^(Qe&ZSde{_~LrV_oYwy;ewq`!VLcb}T0 zP?v#(w)u3gvVyjhgZIiCqpg!*&C540Ido3hO$lm9B>#c)s5Y3f?7M4rt zz2cqnuNb5}8R*5Kuc0Ut+#$5FI2pR%Vt}j@tzv2~|Ci{~)XYSBi@)ix2eN0H<51!l zeZ;k5I_G#tWL&K{-c~c2r(yhlqEBaVNVz?079DVva%tkn`P9|gU+=CjgbZWRmnEGx z%ZA^d%3Xu+nxd*+=GH^DuVL%8Vo>q1{#ajNvmRfG4=0Zuz1|^fcOyTYT$xeN1FNi8 z12QzafC zrgCbc6*YtT?N6TsNBi)%)7RH?0;YYbO-2Ig{2UUx+fAHTt#nkcNvF7JtyObqd()nO za1%lerjr^Yics)Pp$lGFndI=v zdA}I7VCxiJmu5#O%T9I7D)ZA~2a|^pcm8Q!4)vv3ZThH6i2X}rwY-s~8_eo$`Nh&4 zf&jzrjw?NMEYn`VJHirF825AE9%6VLi$lx~7T&f!N2chdH_oE1+v;|i#XtWU2g-Fm zdPK&IrouhS$~p5Ye-bb|hn@fGR2My>RCEe&3R>y~Z}Dn=qxkjD!`)kuP@45u91gP? zRjp|z$z43EKPhP;BoCL{`1^en{H1EEb2oL#>Hg@IAzEkK!XJe8q~?UMsT`+y3j9&#sjlTxF=Ur7MPY-bI?{-~TeaL! zJ=#tp_l{yAXTdv#SIEw>kM$}zv(F_5*~U(z)xh*5+R(?Mq&wk!c`3~+Sj}J6ptxW%XVuTDTyqvPWbxbI=9}Ty`boE3bKfZDTTDgFluHAd z*^`06u?FHUjsW7st zd-CPAbEBs#0}~>MM!fsol!}PT`6@@35Dk30sB3Jh`{c9or431n5$+zX$|8q%%11!O z#}gjem{IJKHQ97tt1pzHZO*|xW|dP)U{YxUCdSRV{ygfDYxN5qiQ@}#e=eXa)27V) zh(u;T_+9o>Cb5Z<jsr?()x>3w1CJ!zvI4U!X3n`nnLQhvhJUlmWjF2r#)9j{} z54pG6K9$KZ436tVEJuSN2ed67?gnd2anHYY(!+_&OWu7Y6M?9nqO>`w@AWqT0IK6j$1{XSttOf!`up0No0;4J+C1c8_pqg+LZtD zNG{L%s<;}>D%S`(pHqH1HMZvbhTj;962;A(P=KT*WQY?MX&)ryN?P)-NRbF6CuS9y z6%^FsyTeaIX)muj9>#BEd`Dr!SN|ny3%fLZPF(3z`GXmp%;H(U+``@FURIU9*l4<- zBT9Xj%%_OKlwWjStXF&AMCC3mJ+$GG9T+VE-@s@V59qy!&drF1ZHJ#do&WkNF5^tX zitGTd=yJ0f0F zNytzY&QR5-c%+?D8U?z1-`(K#V3AZ>pyy8|@4Q20Rkby|mn6S18Ki`3|I4d2CqSFy z_pQOaxQw>oQ&O;$udDn{Dl%}on)&Ixc+;He4wCHZEen2)O(tE9=69FONWLl5*54>? zauE`2vkD_v=F2Z4o9PJA61P=pki@Wt7QY~+t&>W%Dz1Z}@&+`Ud!+=D5J+j|qyFcA z?>YXTzx@vmCYs8XQ7w_eYh+#DB|x+@{OmC!+etyz4Qunzm7pvCYr3rFr!5@{;Szh| z%npP5{{)2&k2DpOq#~$H1;?$g%EhW0!i;Lhr(Kc52|vNKvYh z=pH~>SfD|Ma+N(H!$FY}ugu}FznpDonm8W+%j;G>F?w-$@~%87`*j_K;0VSeOzKpe zNf>vo78~U)>V=oVQcnQ`}CbvP2j9i9Z1Hxt2^}^uU=LVg;P@2BHBO7Xp|k( z`fKPQu1vx?QO~>LHS|)`HsHK#w{ihp+Z)^G(@R#h;Q-ES0ZG+g2%IHr`WEe@=hP1z ze{LA?Cyw2i#24!`Gy380LDV%cd1tnN45l!`|e=fG&o%%iN z?knJt1&hq=j7oQF18w-E=$kT{V+ltWn8fwqk^VvY`T#mvWqW(2R9#gaUL&KF6#dU& zR%Vv|`>YCKw|iw&kYP9gE3h(AL0TT+LoJJ_R2>A{e`+3yV6~Tp?e77P%Dz4;74^w# zyeP)hp`M~myHnzndea!x_Jb(C1+!Mx#`Qc!X^)sRzW%cZmkYwQ*cw7ntW-zel7J6K zd0ui5Hn}2_3D#W2uCLeZ4)Y{6W*(0nT|Q4MM;4WGRd|x69N<%${PpW41gdy`#;lAn zXWkk6UE-Uxm4x_c7UW7LDpA9Dh#%?U&P(==dgPvCWvWb4X0_S zweFo{8l*{D&+CMib~RfQH>Auujmr{~k~+O3$ix0yRf^wm$TP)S>7vdynhj#m`Y+MW zp}6?QOEN#XysQ(`al01x;! zQZt2(3bxQlWO<)7_P{6qS7>Q-qr!_4`tM_Jwa|Hnyq{;Boq6rO#=o*`H=p)qb?nS| z*kucUkcNB3am^SMnn~3?u!;;A%q<`ZuoNmQ$S_lus#!XeG#P%ercq=spa+@}j27dB zV?7rr**H>FVGbEKnGww=f`#snTBB;NL_UU+8Le7sesO})J(GL++><;br_!XFl+Goa zJncONJ!Dke;sPpD)`|@12??e z@fD}96q=q3{BueqdiKw|uYyvDLqfJu=Kh6+x7q2CaLu@9*|6JdQa;+hg|+*mfr`t+ z^%0vjW4p3r6dY<~Rna9Hv>kp>q`noeBcTVb!ne`P}BcikZYpZ*Soo^l&`k%@3p)y~TwXDydghBXi1?`9Y%eaY|d@e&V&(QheGU0l(s*D*=Cm zOtntzr5}prqC4#Ai#b3Z_Z6wZ)trL87PKDS8JI$#L`exhl2JP}`5;~E$AKOfrbFc& z!OVBz6xi3zqu*-{}4ULcIHkFBgbF?_pe1MV`8nI2Zr~x z9VW$K)0koJgi#t!kAd_J<50AemA%7jMw4mOcU5QcaxyDq4$I9AmqUm8#{pMw_D8Id zi)&~VUG$+HGOj-*FRjudTiXvx1`*XTtg;q1Zx z@9p=n?$3-EYNs%RJDHod9gc3Mm7AhL<|%&Y6ZK@I;jnq;6>u2(8!-5VBq|UK4GEq=E-B6=A~zjT6FLVEjHjt>zsx#^yYu56HVxK5`w!tH(uE}Ckr!B1Au;Zyq7_WI*TmipSPcJ`I0Ik|lRDOxNI zDArA6E((*YiVHp0n9sJzaWRgzvMU5u(y#_TP02B`X=94;zl`e@FZZj5!X5~~sg6yC z*5?3R1#MdHREMToRQ6(x8BeZxZ?di0b{ui(M`ezDma(Evc12@J^E6CAH@ZMaBY`gl z&483?zD>XKn4E_hz3JVy<+Hy%M-1P4!+Gz#)*eb?O_A{z0S|6KQP6XQu8p)4@O2cj z!yy8DkFgC%MyWPme0!odB{rtFmO}lAz{nUo)u^5@!L8`Ww4|2`dE|=xaG@38GhIuE<{ZQ-gu>I zus|Rs0$N}FeUt+)i)+*o;H@V5N15{tVLG@V9UGe$`IC?#M>oRM`+`h%ND{*#(0CllNCMIPP8IEcX zbQl|?M@-DC0A59K{(2K2z)QvA2DDA_Q2wX!P2UMqqQ1gnkev7yI9kVDW3Np(uXb&D zJm+t!^AWcf6Ah_er@jONidU zw?;v(6Q1=V`J%+I>&VH!#3j8YreVw!w|ZQ_wdRb~-B0`Yo-3B8 zO~#%>21^62wwaL2PVT0@nZo^@{bBru^~3BEakJ|>6SiBoSs!@xp5GjDoELbaZneen ztA@QkE@=8iKR~|3-*9MJO^8;aFkfd@_V>{2;f2^A0e^Juis4|@Vsxi~4AZ*F))dQh zn*uKSOB6XLom5wBC1Rj0wz9?q=!SsCPQifmNowx7Q<%+UNN6a^#8IScwDBYo({EIM$61njtl| zqCx+&HD;hasyG(fl!_%=9SzR4n(M9*HO5N5SZK0L_9q9`zlk$_LMfch+_s(RB-mlN zUVOA}qih|p!1-+u$A(xcJWYEZ8358V8T9RqwE%9*?L zj7L4>L4$|a^RHA_k3; ze~CEoZPJ4a)_N~{j@0Qh7b+7g}U+#v?o8_?)kZvQxzsK|)2K!JlEo zmqX+H&r0~%=D$SkFA8_O$8=>~&tFDI$EcZ8$RBNz*=IJ(eZpf@x-FNv`tPOsUHQw% zYUgY@mpz(`cI!!J3Z4|K8f-hP)m(k8(k)vu z>t=NHS;@W!2`;IOd9!XsYbCVeyy-bNR?H$LO(#ox`D3@d!qP@D^%H-5LRfA}873H- zomIP>-c5eQ%rB6gIk2y9^)FGp^LhL1v7H4%++fPOL)0%Imakz3YYH|BX~M^+(J-(< z8r}OHQA;ePz0FP`XWLs3l)0VN1%)t6L<`xrh{MRQN13I2!4KRu)gdYqS{aJmY-oP- zCN&cQ{ph{>KzbCgRr3en!$&=wPAznhE50C4^PSG6aX#C!j2*)5(e6NeOvAZehStrJ9u83Gu>Wu!kmQ17`Juw zFZdWoT?s*3uGfQO*J2`{@Oy7&_YU*8g{F;fr>W(3)+~ZKDG<(hQ+{4JPyD;nM>#mJ z>#3U5M%RV@UgLSjA*U@Al8;jT{GqsflKWkj_f`RhN$j%EO0DFR(%=z>PMdG4RVwgY zS4GbgzwI_o%+J;Ai%s)i3BMb$pk00J8=qL$EVK)IB&8@u)!yi(Ihg_k=RC9WxG-UU$hWqc^j4Ft$Ir6m`C@!9n7Np&SM+;~KK9r+dyANX&_>L^B z`fk#u=Z9|&!#W!t&db@*`&8`xII=zW9Jsw(9G^GF4E#}L;qPv9KuLw(t^JOku`%G- z&}?`R$Y`6GrgfW^B0`dl)6ii9rNTgW%asRL@8OFgntKHKtL1E+U#ys!$tA8Y7#R0Y z-~98KbYQp-h3`-QP(SvwXfiVa0xJY@^jO%L#br9h&IZK! z_GD`{ZC}F1f!r45bGgTr8F!_<#z8^(i3si92A}sghSuf0#_>MKjUNP-)&TfMYtGW2 z{nX4D5tu8R|8uox%@#qiX}bh(fNjaU|&`9B5Pt$&8fJbX(xINa5Z(KZ7^A9(^r&ZW?o#i z0;1BsjOv=(s7=C{B^d=U-aU_fQ&qr@B^P=jocuia)~Z2>aQs@k2Vq~x(T@KmsFwz$ zC}$po^idt<@cbGR8EfS;!RKCV-Q!PH)V9sFSswBOGkhEK^!0sGbMjJsf9Ykv?9`WA z^6V3d9DkRNI)yq@{z*P8Ajz6zN#+csnXl}zV0xT)MJKkjiEMrQBsDd515duPL!ZA) zy!*OJtWk_W4HB3t_#1Fn<2v|n`&aq!5vi6Rf1AXQtX~#=G7EqF{73Lov>5&C@ENnM zq$|t?fvqzgWxZE%_I&qfWs~_R7)3;dETvbfjhPg&s)qXwp9|mdr=T~8;rKu@QEUQq zOf%-@aOKL<^`()CResVY)))_#p{#S-?a^WV;#bm7A?gwKy38uf$*8$~9GWay!arXJ z-X#81Wwrj8X+Zytp4(zq2Ib8Sux@U%WjZ5EB_p<91-GzMSf+-p0wwRtu=fR zQU(X|l64=_VI)!;rWPhMj>Qtk{pDsaz284tlDTTBXmwZZIBtY{UFazV)^&jjHIElrR(`}gMi)uKjfW+&)h^9`15JE<917mKw9pvxI)j_#+w2y6n~wb^K6Ev(~D9 znJqc+;HPKlHJn+3{Whfr^e@rYJI>&Wk-8ci*@6?y64-uT%fr%d$&abm*(KR$9<<@N zHmD9)70471vlkZ|YO`SG#(obt=$ItSiHc!q)}y`INxNR@B;0fm!2d`0@A{|zbS{G5 z#}%I!t#d=`$M`bMyrgEdH5z%IxEY%>7u-)y7yQX|aM?`c#sGWyUq)K%Dm#B36U!rlnTp;_0N95uEw1Z{ zU;T0P6j@vDdNNuPtPImMPTR6RA>d6TEmzmyoBZo@`val=u1^R@qG0(WL)&Tp64{-= zkyD7rw(hb*&usAEnEwiw-2Fcx}C%<9{r++zq#Q1bWp|Ccn_w*g{q@r@$kzOo%u2 z@<;g5GmOA0RP|iVKd$*Ux)e?!n z2d;IN6^=9zJ+jsWAMqyheWLtf!uxS!CmWv!oUYTZUG%UzCjK>;n{9~Ub)3)Bwr5* z`qOVs^)pjMPEe?Nf_A!V-(gm1wN+8K917Y0JGCd*pS_{AmZ$6PH2tN+)9HME+!r)I zWapT{qdh8d(s;l*rT3m5`yBOjUiYOJB#n3*PMS5&!mh(6>LD<>IkBHA%lT-$~J>O+8@)CwNd&rQa@11L%rW;gMp%J!KjOJvP#YVq5&8mh^q&p5vE-RF@_79dMYe)bQ3 zB7fPqW``|$*%{LuOBU7C`7|%dy*?!p&umq`eUb56dQ@lWi-ReTcWOpKvtO2^Sgu2C zd2Jp~==fGUlvR97@sLb6xRvSP`v&gn3ykuMy-7`R$${7Ud4$8#EG<@|Nh>-x6)QDD z6Dv@WL{RD8btds+ zP*ahWhe-yr$Z4}yf7s(mhKtANFoNjX-+%uNuY%;;al3S*oH!H0bm+*Owg9}w`E!mL z-HG2ZE--tQp*I)^SPBq2NuJtZwN6nt`PQnB5JAp$nw}bicC6^yPvqm$yo%>ROu6QrKhDCZt`(}1p8!*CB4B? zNx5KiOh~fHv(cW}E-gw_lw2v#jGt*6tueeywENo`{^aFU7w}eg?!&itge}|u%hz2Z zDAK^P?JnkauEeE7a9zQ9A$t>Fn*|x4o@x=*clAs%rE&tLg+5}{a&AzI2;^86GpY7= z(-;()*No$H3h-6xH?{A? zj?0(Pp^ZGpV0E=|Hh9$=VA~`dvhUTm;++K@+6vT4t(*1 zH@}|kR6ST~448rv9B#EamBkdy)heY8ys~aj`T*VqkO#X0Xv1M3L1k84j1UkI<*TgP zjg8wSV5=)ui)CnQRZR(31qh#3kjBPs|A%G$B{q_)J?)ppaGwI9>U)>!c=_Wj^@G6L zYHWGdg6hkV$rEuC#!;^B2$HOT3{71Amtn4xk7zxl#sQri1|Dw@HV7q?x_Cb=pE)g& zT>w#{b83``7n$o}RAOvjoad8PmK`-uw(e-?H@A;Hz%VMD98wz6Q(Zyb<7eV(5X5V8<-E{UjXqcq zIqtSWFbnD&U?*G7)1B?ytkDiOMi-q`xjNb=JR5qc>1eZL>}U$+Nt6~pV$COUsSoVX zNH@ouV5~Q(NHlt4LEM<(*DsSnl>3MK=@RGwzC8e}PNYfL zzG9yjIsSf3uM?u@dlRVr$GSL7mO>9v4yulq<9GHbVQ)6S5}WcoNYRv5GtR^qN|M3| z9$=_!E71_xtpOl5>XQg&njuIZ@@w2Ux)#0iMobQE6l8!uyVs$LT5Qt*K-Uor?5uz) z$wkD!6+q7S*-W1xIys<-LZSy*KM6yhb)$S}mJ9?)aQ4jcU>d2AQhUn=pGc1NeZ+BO zJ@U;l|7F``65Rjk&RXfD?v}(v>3)S^`f!>?3DG&0%$S2~OhZ5tIIP7mQ({$PiXaSY zN?zGkb9WHoqS&oPtGT^F>O^H3r1ic5*599d)mxrgo>>0@z)Z>qrkd@=ZFsL5 zxoYEPf;`|3eY=@CGP%R)Gga1|l2yGGjdIB$2(S3Gz1=Q}jcGlj-p~fPzt^#fCdL>cv?s$y$PpDKeMnPE1xb;Z}pI$X`}D*6ueu z)Yi@z1#?K?gXG=}8o9srJpQZ2SvZQdSj6zlPvD*wM>qdsulUJTG@;X~!q7HYNci$y z7Tc!H;`xC%W0&17?*@|y!5(F{Ta9X~*A!YT=ojxfhVA2$Uj*7R!sR;!bxS^hTxJA+ zUU_D~+6Q}8hSXX=X2d3>M*009XYJEOxm^q6t=_cuI+L-KBGq!%?u$H+jbT*m$zc5f zyPHBp%v$Na_G<4ce%2*h#c+J<#PhOzw|%w1HeDnbmirqjW^lk-7Qc=GXlM6}=n_;@ z|5>i~KCAMz>YA5x#O*1B@}gF$)fn>LKhv#M=uj(Ol6okmEjzs_37Xa_gturF=Q!`s zaxJz#du~)+PX77ToxKjHaV5ll0UB}+FO82&PyDWhHzO%v{iNl$N3$c8e0<0#Nn)SF zw&|Tq#y1ns;^ru8DJP<^LzgaIm!X#Df!H3@p`3>0Zj3olec&u^2f%W(u)v-xLYFy< zafpb$C$*HH5cK-U?`8BKg||@#Yb3u;;?Ns{Na=r>n*R^>-a4qwr|C+wp(pqA&+q=ubDuMF=A1M0J2OuvlgaKM zx%S%Z?zQ`o*W24-k&61dQm|<u+6~a9v!C042^F^cq|Rth^iM&HlDpyta?$RUkF-9?Z^_feZdCXKS_); zDnDO~rCrUei*xjGA;F|j=P!o2Zd&Q;GJ`(kN~QxyZ#v5aRb*!+1IisZ1N1r!>izepJv{WHmHK~Gi@IysF9mvO!@Zx=P z%ODA6NMBThp)Q;YXWE~y)BTKD2HT!jh{Ge->(7NyTNczJ?>H_nyUP?ho52?IZR(%M zw}8RQbLuikao4QI&7g7Z?1aRf*5GREn<98;#gA`A@rG?)L2^(Mxj7e;X5sHq)0`u!i{fRH% zER_#+Hwnk8`mHH8*-p1bwgl(lhFb4Xkf{(NjXq-Z#r@s-gIUGEHmWUygC$%>>;9t`d zA|#`y$S)-4Ww`wl#hgz_1XL6qW_w@G%bKfUutG5Qs)|f9(Y|T39!RP#KLO^crv3sVoc}Y zByoxFhJo!o78cZWO#3~taoJFaBY@OCdr(!{0b!)7-r${Aq>?Ku+9x#mnxKA*7EaA zjAY3VC;{c0G@xHBp#l9fw)c{^z*Kw88VGXSsVjfeX3vlpo%0qzB^C#3yr>P=>8vVk zSPB5NpBL$d7R=DHx$Y^70_$yFDPppq<17o#7wWB-Y{K87h=3KAki4XKbV=u}>ZJ?B zZ_e*RmCKDylcfkHID0z@tfKhRuaVYLR#`JSv;n+JTD?bUB5+qn8&awo04Y4Q@NBtU z{HtJU=`8uVjV}V+Ql#nN70xvbHSL5f_Q}?PQQ}3cA-WoB8LV!n(J>Y)#k)cJutMgd z#*2n;8djX_OlxC|D#f!7uZRW5!3)W0IeyQ{2m0F(BEi?a_VO%0H^A$SijFL+7Bt-- zAJL51gLTbYKkOS~)z410V|66Sm~wj%A~&*;IK(g8JO@|;#OJ2B)?Zog>Js=YNCo)5CqoD(2>1P;!LW+f3he>%NH%OuYv#*LA5nU9gA5Z&z|B za>LXN?z@{WPLBS>clv$5aT%9tyzQ!8llTiLz8$&4f86~arW~dU+oIWXre^u9j5Dao z&Q;jHBT>~YOv`Q5n3MRtkHoD%>!WX-oYx~WbM$FGd<@7op(CMR8l-@fB7b}s)e@Rpx-&l|AOA~ z$LQdDCq!YHdBnX|O3vP{jqmL#;)Kj*h%L<5LhX15!XM%o~;-i~TN~`&C{< zrBm)jQ>zJ_3?G%?=fCQQ4>T)E&X~M9_jKvX{d_!qmZO{K7Dfge9R2LU5hJPeCH9ga zN8w7Pg?MX3=%71yMtqr>9=y{&sHh^2QYEeGDD!NRDOfMWc>3iNy}Ik@VPyq>mdS*D zCB`ta;6W5wsxG^uq+Lp#vgilqIuUTS;aq`bi}JEK{mNm~OWs>05czh6Rq?r1sd0=$ zPGu^wBBsu!XfAo9AA3tl1(n6~O6 zh`izuD60L-cxWW0_UvG#rb?I5-)pOpuaSrxCjZT1L#F^b1(N+8wV~#pSKXKPsd~(y z*n&O9S0R8g%{ogMRJJ+^idgF8i{(Aner?&zZiY%Gh)pdoso&Q z-xU%)3K<^TCb`lW?4o-o8Z`xa^vYVnf?G78zD3dhT*T4JT^P8C&TIsRVmTR+71*X@ z;g3s>5zO!FCi~IdZSXgpuc&_??Xw3jwAxV zp05l}cSvqLr2hMu=odx~=~?NVh=?_(`RZ!kTw_dRRE+s23O-0I#4-_kuGShYfN^k6 z6J|BP<70@jR4(EY#V5jZS!%*rpgp*52Oq=|HL|{qCL-4;FTcngjODBC_q&5lJ{oI069r zV=%|7|KGfhHTc**6qY^9x5r16W`6A%%EOCE-Vnu!N$%(MNK7yO*H#Y0z>0}`gXhx{ zaJSW{=j+fvtgIBFkR!B1KiJ0iRIm1CrUdJV$+6A()$fgOYwLyan4G~JT6OOX9kq_A zIgQuZ{1zb=9-sdLu$(YX8`5wQ*KS)(np#2qW48LO(>|*7{!UvIO_83+K6{C+Rc~p5R^mkNwhksf4 z9;N>e?Tm;$B5`?pwxTfl{t@jv55vhk8~T`fkUodE=JAiw4MUcC!CCvdh*sJe=eD6z z3#Rg~LZ$#JaI}t7Cqtuo0A>Y^4T>zx_|*?`7o?(xZn$_rJ4-v<%Q0{7>2mGjfv9Zz za|@65B`RBsPf_;-oyeignTmFUnM*d0J`K@Td;s8#^5g$+{{8=H=>PP<|MUQ+2Y5*6 zM0v|v8r35@4$1sj?DsblI#ne{j2L20c2&fpQ__J?$l-K#I}Fx5)luU)lccGVVD#;rQn#4OzjRb@B^&HF;yC zNtrwAGodxvcwPb~4gTBsW#WUba2KI^i;XKWJ*IxI$gR7g?7Xqpje&cmA}v>Nu1kh~ zrKG0#3@;%B>$6=l<2UBzU-)=X8Hl;WcgogaeWr2Tm@FYa6$U_(Q|HuQK$yR?{*u3; zt@*lH97vm{f6unW=T*Jy=P;o4FpB@TeZO~9zXlO{%@?)6mNB&XSS7|n1eH4@{$(bE z&|wZotx(~6AFW#A+s}=)}w`z)g@jLf5j##>Vu6|Wzr`0$0RwK?YZjuGG83LU0!;p&WTm@U-vq2*y# znRHep$}jOWU6QMkz!uK47j1VFwG2j^$>-Mk$s-0^+%^#j;2M3;s8!0W$FArP1btrO zT407LxKga(Vvu4>UcL}8OKac3DN$%gQ&W(&N!d<^Ri~8NfLtsnl_1`HTnENe=vX1B zmYggcmNyc4OQ?JW@9@l9<@^hXCA<~tTfk%fR!u>~$D^jVX6EvK#*9AuGCnak#(GCD z@?~IV>Cb~D3S8~aUwHMKU9%$ft#{s~foKZW<7u|%{{oIQWB^9udizM#^*kMK<2I;^ zd5K|xR#I59Gw2mEl5|kP8#NEpUaU+V$h9jlJJJZdjw2N+BZnc(p3Y)ipJtjQ z8|!jAVv0cgc#&x%^x)xkIsW=_ua=`1l2P_;ZflAoyb5a1`F#~iy~gG;ZBT3r6T{gy z>&`t~#b~~5rg-$LQhd}hJG5~&jagrzK#3RI@zU_^um#Tgfz@?#R&f&9@(D0DP;N3~ z`s0RH$;FihfAUT)c_n6B6pFtgv^}fO8ezW8$g6Dhb3lk612TuZ<&1pfGofxhhA*pw zSN4`ZSmmVG!)J00!Hr2}sCU8)44%m{T1Chcg*p~0O-U$3xe6Ir?q2To!YF}$nyPbUZEYa{61<(Q8sg6Xjn?F++FgbPr2<(&YesV%R#J_^Rv}3g?JFo4GIRlIbX27h}rvM-}96Uq)+S=;S0i*JQfp zHG3azfPv*d{YMG6Z|k7@>gF$ClKF;@MCx*Z+?KjWA}*Jve)xAw3?~om4`T+1@>8 z8WQvuAbnF^wDet*9?i7P+{?FzAwO4zw1ob%^uPLv_wvMZ{Z!ZI78~!Vd;4D^f$c3X zWC9o#H?CyCA-@`{FY*6T2wZCZ3!pK%vHS~=mAY4j2HRs2-^@PUUH+gw4^66ZuLfxgQ~%6vRfnCx%1#Jg+rBTHO4O<}5~}W0(a~@s zQR(wrkxRy$@3mDx>b(4G>x}2a9~%iZ6}G-_#6tWVE0{eJN@3bA95UNq&Nj8C4h8=L z$U4R5_*)za{qGmvE2A_aTOf+)Er0bP2^uCG-X zJu9m&%p`oKwO4e;wMVmh^76>9PG;tx<+nt4Yquyvfy_pV$S?EZ*%F2i7kMl6y8Ukn zM7&`Zog6wii&R2g9`KVbttVVMN9$xL4C$|#A$ANcw(yiP-)3llRbxz3KXHMYZFwer z0u;DeVFf8jjhI#7Dkc)QE*BXqln|T(w$=b4T3fgo(BWyQNUIYC)_8cwa9!Jssad{O z!N5CYD{#uPq6CKfC&^oJ&Gwt6F0F>xOHt9}o*K_dE*{4t8!oXv+k?)$CfVW{|1nF6 zjJcGwb0EXT;~*X4S44$n5>NR`3-D|kIzyOxxMm4#H?f{GzR^LAoRYe%vOH}a4{$%u z6g`6%Mit6W`aQ6Y)>z0&{<9ZAAS7eSibr=r+|lM1KUcBF$yd#}r@^F(G4e1nWTS@L zV&LR`W1>3gCg~j+65AoDG%v@;8pq;GM<1GMI$ezSj|f|T-vN?sz8-q}f>DRc#(g&I zXWa#c&d}LOT(*%Mw)qUclXbg9=MR3i{v$?O8#(27f!;)fR>Yq3PabAT!l;nnJ}E&d z(Of&{$*bp(`npB;oDBRe+30}xtT`C05TW5r3Q{!7);bAqQmu0{kCR~3B8hzkyK20q z$yaWeY0X*$0?2`oH&r*R*-#`@Tp52wCCv=Kv8>VDlyfdmaJEWy)if>Y+bl{AtPB%x z5u%|Q3?Y>cc+_yh?`rdQ2PdwT*La{_?7quyQJ0_d7l)D$RindZ5O)MRj&@-y;9k0b z+S^CG3pZeCZN~5uSldRVQCm&ZiM+q5f11Nc%uB}u>$qI^g>H_~;R>);R>S%@$rYEH zt$k)3Wdan9@!eS+j|bkHvN*nz%I&N+s4l>oLt)g` zCgtb<417P?+vaqQ#Mj?fwCZiu8>V1geF9iznc6T2D~&T4lB8c1g6c=p|N&b~5iv=sHuc4Z;nIzm(ZCE%)ncH?3p-~{QCNpr16?LzH%Od71j62d_*gqq8aD( z+h&YRTjTu8UTE{0!>BARO5)X?Uxg1VXlH$c>n8vxlK%NTCwl+O;|vUz{`fNd>{Rci z@yGwqAMn^XL(8hag6a3XypQOG1azuqevJ<35;cz0Wd#q2ws!MI6hD=H$OS&u_Diiu z5#*cv&YE;sT88azI{#$<^epSM&|SJS?;mM zjqL@>bKla(cx-!TdZ~$n7TL=5%xQC|dI^X{-;e?-42;mS`JP-3Nk#$G8=y$DvH;w=+1CrV^Zi#7Fo7X>N?R)xNrt>;xQ;!~@AUzsQD zKFo-8-)!%GckM$X_=Ql5QHZyS{1ld^ppyGW9yu#~F5{3?k*rwUYvnf;BYvgTdmsRt zDbrj-=BOR6T1c?Ts?}=dvf4ZaD80eOsp{K)9Dnt zj!VCp4;42(r`#rk6FIJGV@Q=4aMEM&==tc5v|(l%4CNthBB$~eDg8A)&bYarul>1v zvwdy6Ws_Dxwlq;i1Mxf6Rg~(D-(mW|KI(1i8-l_7o0hYUjjri(J1R1yy-xppTIdL~ zc5#2t3c0*;&clZ~lRP?yOl)qoW!I$7MD+#TH+M<-IFjk~H89~28?OIp0L!_6RHB;N zRA>AHw1lhCY>1xWL0y)cRfd7)B3&17Cv z@3aq#SX(Th<+(04k?F{)tUi?6y~Jzo*qpJzxv{ISAX$fx=0Z{JCkO$E$z8Gofiz|h za-Sk7xh}^kcv$@*&LeH8*M2T4L2hhZZXxqR(N5$~TmqNOAa|!Bw%wsUCOi(U`QO@% z+ow^lFmd3O6~mT8IH1{sV;QB}EYj=F>K`R}XE*rBWCX*G}Zt%A(%1P#I)s_AXC!JgoP zvUkAvg&s@f1=*45U1hPw!cgOwZ#SRw6lF=yh2+SeKLHt(zh;8T6gm0(55=U7t~IoF z=3iUT{EOHtH;a}_B0~i&ZWP*UZcD2>evjF3u}tK@f3&>v7oe0PeHZ%|VCs%LZ2B9m zODBkyP!)f(Rnki34HW{tjvI<*e*PWs;HUR@4E2fqDg)*h{{Hi90H6KA)91#`4Q+g0 zz=Y2+$vPTPfkkqaC2rFy^gOl1D02==z5?$%xDnIbrl)p9IlB`8KpQ^CyJm72K2&|t zY!GZa$oq2qb$G3F)arS-pZ+V>A;;RxHW0pjAcJdn6`Nb>quFMm|Vw+|ER%h`-pV4>l%=ZMB1tWi;u-efj-#hc3E5!Izju4 zy~u<_&Pnxtlxb2-Y$ha#fS(#}z@$>XZ&|=F|K>*OT~hK$bgGNKn2HW6vqgRj6XaEx zuUKqB@SYSCo__>*$SAZe8_eiv=fmIl0et>w(7wDqqD`V9puBe4P=ps1LzK#ArnhD~ zhtjaaW2T^7Ea9``W%HGfJd3jV(8bd;lz+42w;-JQE2}fzit!D5f@PU{qu2I0M5UgL9y7(cv*+^+tS1S}%-EAs!5~kq--$k=0{e&7 zHpU6k>FkK`BctS89+0a^2DxbWjhfqRLc8~B8`q`eBoQWh8n>b1MO9P`{6T9T`?z3n zOPm8Y%!WaeEe3<^S;w^kZyZj6Wlj>AR2~=p22imZYS0Nfx92&C-DWVyiyda@6})dx z*RP25(GV1oRp&)9l31c7Gf&w0O{3y;Ys9 zn;(b1o14fIH<-WZ-#BZOQcT_~+Vak0#FsBq@Fh#b#dmoCtnB3YM5UX-6jd(IGFLV2 z`JqAMLt*(V-2XNm|6i{VSjje`oD6#3Af6-cqE9hp^?a$W)m;Q<6CNvH z$1ixx{=SYkm(50gO&G4rp!V1`!8MS&=*~DuE$&GR_vD`cNvN{k^>f$M;G1g{fdvWSxXlS3F-EFkm1z`T--;gtP^INZ$6&O8h3)rASc9~fH3OnF zb$5b%1|@wW#UDM+W$MTd0NN35X+^?hX6?(wU0!oGT@d_6E9j!Y-zppOJ@_EG*7aJD zFAity8+VG%ckrAKSG-TjABF!?_$!&{M!tzR0 zq3ZnYJ})?5`iX}pr^o>V!#?$}jl@#DE_iRmoTUt(Z_q z`(0g1xJnYMmWsLPzWVNLcp9btrd(O+W>>|AE~)p(MbA3wN1_35nWM>-=*v)p>xmGv zi2(SkH<8~JTikGu6~w;w3Puyv6*E}>q-Q@Rx_m4=4%Mca_HhZa?u&-{t!pM~xHR46 z`VAg>*H~&-DCwS`^TpP(j@c~bM|Q}cF>fDMu9=}uAIlmN2yrt3r^8$e-g3T#8^0a* z(;d764vpHkl}|L|kiXi)j!wcKGe2copiZhrT!oaSnm2PLe+@PhxYbhC!_1-U(}uk>x-OtB zFj3Xrcf-@Z$s%X{NHeLv(1nWEnzin!XyT+q@;ssKd(x#f=BLt+Wafh+*P9!@3Wl4` zjhK5|Q2ohJwh`5mjCVm9(V}QT58h4sc;wN;&hLMXi&ZAz@otf|0(v54Pe!9t%cobwahUW7kILW;#n9F>fH9zJu#n)jxLS2~qo zS4M6rG{E=fUOR0axDyXQvawa{g7sBA;WW|P$rCpVU@44|u*}|%(;Swd(JZV#I%kR z&sl7q?c&y+n@qcacix?lgnI8j2^nFCiCOMg;N;Sg|4e1R`hi`(S-o*rO@eqEi5`T_ zDCV+WK3l4W=t8-(mrq3Gp-mMZ?Zl72a63bl{26+0O% zGyE!19reQ;Qvr!vK?^fq)Fb&LVjLF~4(^M>i#zAhwyh%zt(yALUQzaAY&ro_UqU4m z)D%Qhg2GB^G%7s}%_bXNKg)r%n9@AM)UV+x86)c?EN3>no(DDo$7|PQHC_XSQB3nH z2|5n61RPUk)~b!xUwvgP_nK@yDihsZ>tcU+hY`I)TInY>L7 z%s)On+g^r#1o!|o{(FO^y{n9*Jkd!4+U^HyzZ&hA=r(p?tG!#BNe^Jm!h@}ILQqdIScCDAfdi8Dg=T7oTsg??vkeyaU%<=X%5)x3 z3YwM6x=AL)U%=@pG)wAG&Yu7ZJ4)3pX+4p|R5omy`~`S~WKKWlHQ4Ho$q-4S`ZA!N z@_PK0qURgf+4?mV`8U9WJ@FcVAWaU*Eu?ZycCY&fGg!x2F!Rh}j&(+%QGdiEr3zm; z1;mi^ZKv$S8dJk%vG?QuK|H-PSY0wVkc~h z3e%>?s`c_x5L=_l-;p0wey|^I@P=)O#!Ni9XC~&tmhYePwj46$zeaQ)JM3A&^O%1dP5)BB5FNAr7jFG}Zm>I^yl52s)MaCk+L=5o&Ra23+SCnul~p(_ zo%g>&gBQ=Qb0A75Ts**>%j-I6n4@@aIVWZXBaQIUy89y;{p?3kCMSwdf&nOAmr` z)o0fOLB(i4r#UHBmp*9AsaGQ6fS>j3D=n8G=~cm-%?@`yML#A@Zo{H*JRL6i*1AB- z0pFSH*p(q z)Y~|vDtHoUFg^?1=~FHELtzpx{xVw4Pq4fqYh7P)@V$O1$xC{JfPo^0Z|QnkW(LW1 zTU;-e@3P1q((_X2CS%AS@s8(T+J#ifOW!`xaab^%_UnvrsZ5-K5Tt0(0WB=`>?swj zxJK!-SgtRLb=@PiNI-S^2jZt6qXfGmk$yErYA8_W{T zp;TH`6}Yp|#Ks;6A)%!O7^U8LT+K+6W#Q<+s1Tij;OjmhaK^52t9nmRdwHPSSWY;# z$(d8`eN}tQvUh4*@sysR#_0mE{J@}kHj_`ja}(T}nVMur8ErXym~BOw!nZDRAl&}x z!(sCs5PI&vfg8CqHhI?oK^Fk`8;m(^Bkb=wRA(0;q@ACw=<&T0R4fIGq02(dVomtUJ?!sx_xlMR_>A3K&Ln(48yc{j|WMb)6& za5#tdExDhlt7aPOCf89AfBH24Zaq=sUbc&$p~1{+ccR$bfaT&+?M?ko35)*8m1JA7 zHJqeGIz?{Em;nbU}UfQbllTMN0-& z6zrvl6JVw)5I5Yw+Fk%^2L?G=)LLc?dh@O5#(ez<(YO3PO-4>zup~jBG2~tGzyUWW zo8NbMvP4bCRxB~v*smrM_j^0N7vclIiP^q`6a~q|go_Q7sUz9w`EoYOv|Ixf|K+o( zdw#T)aryP_V)iKRi{thjgD^yy=p)$Pg+LKqu27{h?`xX9TO$+)TDzc1z=8M22vnfZ zFy+}g=Y&TD!t+I?_JZiMGzhv1)+y1}dQ4JETu^CHz91DRyKog22S<*3FDM&P&1c*8 zY1i^3D|=3c;c+%%cOf%Eo8P}Vlw4q>D56hC8E)_U}$nxSC!s+XqXRYml!ljdg5eQk=-lmMFSbiM(nBLiK^zK#hu7 zGGw*Dj|_cTsrKD#kfz_~Rl{w7lv|J_hCQJ^FAcfWkp4BsJUIR%aP21GF94O-5JGjB zA2Ob!7FY1?KP`{_3)|qLrZd>ojADHF=+;-8s=Uyjtv$vFnYQ+K+K1$K8an1WL??x!$V@dz8swSGm(2f71EAfa`!1_ znRyGNbPCCLjAME9i-fO60OjSd{>NJ5tE~Bh}0bse? znvfdatiOQdL-q?fm%o7Ym47)+YfS&oF8b&wuIjo-dav{^z#H!Zi$CNfdmwn|0JF=Y z_%ENS5H?nq|F8OxWUX%G2~F}-ShVmpQ2b9d?e*KB85f(qr79BQF2tFrDKezy9~TqyD$M{$E}6^!5>1_qFO;x25-Az;*0@xl6OK9+~`G zk3Rahj+VN*S;^G8Z;QJ$#TWrCgfVo{McsV}#xTg+oqMM{X$s%;{4*VWaBph6+iGYv z{A@3p9Xi988xf^J2w4y>5QV!XnmtL5eV5}}>?&eb*ZdC8 z@0(!LiPq$>T0z~pFdqdcw9W{!R_=Amq?pk9y6zpLrISlKYKOrhASp*#$@BgxljjE_ z-7*T22uJThxd&N2s8M_BjIrok^W06gqiZJ0FYQYg+Na+j{q=eVI;rF}YHaW5nj7ly z0oX05kC@z6U|ZVV!#@!i<1n3cF(|K-{+|`!us(UNZil~a2q*ADHP0IceO29i&KO{< z`P_eCOF<`6Y1xr)e2{-gu|L^8$69jFhOw8Mkk3l@dBvA$)=92eN8GAE{FSpSVudD* z-c=n3sBHHX?IL3esjM`^bJ8uW#9Ww+Or1hsUtuQFY96DP0`ZQauKtq6UL`5mqB~GE z(0AZeBV?UfX?Uph%4f=QyD%+_elQZayszQ5pWwqvL=<88v;E8r9wWWEOjSg$5dXS6}?IlJAOm^&VDhRY$fbo z@{1XvZ=#&PcGAF~YjitP^;G?rvl~=zhpxSj@H|Tsc>__MKV7SYzT~wq34?yR{N=$q z<4ao7Ot&%D>+&n_{x7y&gwC2J5R#H7w-&Y#^TV8{daydfM@G{G^`iOW$*vV&9bgq) z^hOOFc0^)xQD%aMNxa417Ai21gAq*~Q2|KD=W2h9acwf8S=;$pyU`r5T&;m%%C%&q z@V)Sc#9BrA;MmCeb0+g_HJ>d-M@+043P4PbZ!*nnZ{H)}F9LbytqZC5WFtoZac_pAE1XZ+=V-MV9P^WW7Bsog8IGh;63L~C1m@}G)~v13Ig1XH`g%7j>N)-( zCtsD~o|O8f+&-cm`K;M-oQuklFW2bOVhNyDu!2E<*RzEBt&9ZW&dI`+e%0WQL}_^^ z;RyjWWss=i{mW)fCrPmHnDIfZ34uelL$x($%20sWvL2bvk7S7t=@s-K+O5nCPh+NH z?5J33Df29n3bkf>s7qMe=c#V;Oc2e%NvcFjQ`)PvamB)pQ0tTOH(t3srpXl|(?-%U z0(Ip;s!7c^*KG*)C49F=>x$QsZh|oOaQpg*4DuMxqQ3WOEmhg6&B^?U9Az&wVLQp@ z$Gk9=W$hu3q5WiDkiDm7(&4v2lvm%Km!3h1p@ZxEf|S#e3%E!AI%%M|{jmYHrn5o; zQPz+`GsHlZDv_7Nr~!O?ZEd%?ZYf`Of|Xw~nU%G`+2oj&RvOmxu|?A9t9JF?#YNGs zn;IUp;EIuX4K0rCCg}i^ta;nQ{j6Ts45 zXe#Ilk7cqb4yhQ{(U_Fu&S*%5fNF2XwEwB0uGXgo@ry}G0mGo(tMfjzO#;u1&T?Y2 zct3|xj74Ax@gb`bO~;zG7ZYk#pIlz7`R;*u+8upm@J;gg!j1Vm_}kwW?}|w0Vvm_0 ziHrOhfb$iUi3S9HS{P)fsqe_c7%~V?9Jg78fbH(v&-35^#HJmY%g!BiPUm;Unoo_C zOaod}<(oLM*ezfKQ}x%Y$_#;LpP1^I{LWC<(VP0>$O*;rc8|)>NS3HDE^nWb>CgVt zeJW4Q>PLs?wl~>ujTBI73X1WY{XO znJd!TQ-1-r_@a6~Q#|F51hdFd$R3UsR({znZ}X4V{UQ+?yfI0g=|Z_BD@MmwTvwZb zetU8n*%J7pXv3T9>+X*}`_(g$1Q2 zB5$KsCyk1&ctUu>Z6ef#lS;N(O-@!IKW>S8N26bM5N>1>UwtvRk;Pz<*!8wIl1-PC z(?_#LdPigwN~em&IF?&|5l?WV%_(?aw)=rw8>+Qc2B@?{YP?yM;Y=l!o^9TCm)dBG zyJ3)K`b<=j;Y4YF{y@i{{Cby@X{EXx8K(P z0-!ugs^mf@u!Bu~EJT|C2WCLe>5}r|C(6a86x)g(+K{m(zhfTGrrf3~<6ea+ugXL? zK3Ljr!I?^PuGc)S^=msU@{3oHD^)MAzl_KXe1+T?7LH;&n~irJ-*#G|x8X9cNSx!+ zI$*zc#D@^Awh$rjmG-DL6pn%5^z%WPY@Vkeom74c{ z!zMzgTx+d!WwaiOf41*1)3Z*X&&y)bUY>L0Q+;jra|lIr?;=E^ZrK22J} z1=a_t&&w1zt`c$583`-hqc>r#18HL<=dGD$DD&qXwDr6{FHcelN9j%@`os?d(m%kF zn@pfPrI8HmkoCHVy_=wJoy*KDy|$V9MZIgP>gt_c4ObbJImO6|)85#Ks(eGM4A#yG4sTiG(7u9etYI&t|56)W z$bH-7-4;<}W(w1DP10}1KIVMb{#21}oz_dJb7foPb`WLnHfUwCCpe?(aAdu{cj4C} zUvj=sMmnrRGyl_KgJQ75?TMwW;z*WoqzLb9Ew$)4(Yr3!+}eglX5G$#YR>uIBUU)G zmr?_NI%_{!whm+jfs%L3E~x8eu|_3m2+TPDEaXkl=VLMQPJ86kp!Uj%qb<0gKWK4{ z*6-4b>MO|qhU%tXW4sI6gl68E;J{$Sr}j9FPJhQ4#2@g;qAWDueigG#V|wJ`*@TK% zB2NQ5`En%JHt&96Oc8kDNWoz=RHvXo+UOCJMQzR`HwqWy_FbCgB*J`Vw??1>_hZwV zuPfj%@}0f&nRw;W*erXb`u?e4_*^tpYeH?IJK*7QMMs&@w^=J@{U%rQ2K|B9FcoOU zDiw`O!QrZh!L)ccq+M{rHR+Fai(X-luzz5DEs<_Dql%47l8tE31k8xG5|Ue~8DEy_ zl@ZW-WFfjH27W8=a&U*_@|n-5iUVID*r=QP`cYbSk=pwV46iXJ*hJo+yCc7*Q^yFz z(1&YwFm0wlbLjJ-cZ3UXqCIOI89poI=iuf?&j_>lc!yJ3(w z7P>86`k#*A|F`OJ$ajIge*u;>VG9nC(hRu?GzcKP%Vguzp7`wLw@!1%w&4E5o2m0j zrL)|kAbWqB&b>tGAk>J<_vkkE^-|BBbR9`sk_=~T)4T@>rd=G z@IK~jl*VLI(#8Mf>|x(&m*EU|VJGKKSdMU!L~g;W6Dhk5&YMacMw3ON``jPXHj^iR zGFqK)jiHlbNI}^s*+nxUeuK~6Wx}@HP%--(;w6$wTC}8HViTYDATWh>XeqJE>9=66 z+3!n8yGgviO>#S)@y)NLKY?*Mv6C|;7g-tftP1+^zVmjIV&aCc{RzL+H{`M|W@S_& zlm$Qy7GY{xEfLY6bjomoGcgI{wM&|o-7m-)?s!;Uo`cWpVauhRl5>N-XRWL_$(|2&6C_dK5tt*!Lp-@RjgUy z7@J9j)*@!O!+gvX-^=O`ryb&lcJ>VTLZAsOQ#F?EUlRZiG9O;)jBY5F8bB+pn7!GOVZ6`Pa{s*mVz&n8hZ8(GR6!Y^+X(8B~&%`2cjP^ zvAx*|RizYRk#;lUin%7;4hsz*(kZN@CQ0XwvHTgAdDr=ad(eam?~^xGym!-{fC~!M zeaE%IZ=(7!P?%B|MoIZ*3YSy`b`mmC`j8(46WrMQ4eV9#U^^B41j-gzv9RHs=?~3y zacUxnAA%6;P1=}^e$Y)JLV_zTKS=IA7lzg!KH*Mlb}BHkJ!t>Rn%QRn-%V0r`1CtJ zrm!k0^&tLosB^y;HdtcjCWX@Wx%2 z6OKvee*MRJ_SorMX%*cX3TK@&SZ5%aZ<{+jn(yCYRa|?o5=x}RtDypSo6m3>x8x_@ zDRmbRSn!p@!_HLUY2%ZB6q-0VGpybm+k(28eG~Yqq{N**=@$mI-=RQ(iBdTvX_9SR zi60UKr?Hnf`Z^Un7fwj-SqY`pz)(`Qdyh&Uj{@zx8cTH)XDl`)=1+#n%jx6NJ&Iv^ zZSIIYuS^N+RcqLMi}J4)$IZ4dp!Z&W@r!&Vx-#6%GH8(~t`^~3Pc0PhyWV=0t}3$t zVh3WnBacmCO56Jp*|S5p+2{?XR6!u!ae~*=pdbQC?GdQkk6B~o!zkjEJV9iA znm&9)C(xa8fA4o>?n_m)6}GYsL+qz$`V409q7|s-lR*<5YEc-dmUo{yEeNJ6|78%B z_#BfgdKzvW{CwWttAhy$9_;5kuTLClDHO*R~R|D9WuE+(b!<=lx*o zpsadx!@wGf_net^2=+zSrj9Z$8RPoGW-Y3X#58@Qgw00pK~e3%B-@4={RVv<58n6V zXJeYd-7&%M&w?_P3-q?(8>{E6B@Vu<3??O@}}dx~T?CHIUGI?=^&K(?air zPUxLL0(r;p)#y9tXmn;YR~qSF&9`M)%d%xJuf5k^<@rCqe}@zM6SqIlfC&aM1 zZ^ofLlY+muzUQIWPcCM967uDxkZHALid0G0%u-lxVrg14lY^MJ03Joc#$$H>_oo3` z#v%=GKLp5*keGPccrMt#)jz6dL1*{8Nv!4rPS`w1GC;MSX^5-#un9qu7~|17Y=fgP z>D|4uKuG&TvXHY2^@v_6$bsQP4@4X%h-Rz?@u1pTK33#zF++;9O(B~m8>|>($3o%x zs9U@TG8b#B_G1%1E?umCtO7A9M|05p1$F{-hH%`cq#8_PX5FwUTY7OhcwcF9yO=SQ zamI(9@=GOFoyu7~z5Olcw0LOS{Y3X<-je+Djl&Avh>?j8I`a4tR~qL<+FRz^Pk~=6 zkS^d#O;M>I`5<2myOY|W4ZCuJ{KuzuU+^e?e>x8?traA0Xgi`DUTC~exq?u*v!C@@ z=rwHk#zxD^Z3FWWsBhB5?Kjx142-?*?HKb@B2||?t*Z?99$``C(AhlRB&I}x3&I{| zg;X=SNhLZ*7-ZKQh@u0Pzviwq=yU(N&`gW;ruf0~l5Y)Oydc*W@z6Q15P6dv;Dm?w z=8twScI>n%Awf?+k<1WoCI?mOQBfY@l}5T>W-o@y zePqMaisZgH(7w`uDIDiHq;7`yKoM@ZqXA<|5H(tJod10RlyJ5VuGdh}hyG;)NvG^3dlyy9A0 zVf9WZ$#AnoGC4jzyk;?>=QeMhV=1gaWrL8Gfh3LgNo6>E3zbvsRV^aY@t#&SydxwrTQHPLMmKc30abaSu3ZP78D) zw?Z$nJv!SJu6N>v#Lu0bcpN`9WCO+LqGmlWCZLEcgadyC?~Bxj{gm*fQFwwVWnJ#8 zdUoR=sXgo#!t7j%dQ@njhIdj2Ujq}laP6hm|JXa!E zC3cZ^XQ$cq&#TjBTpd>DL~3i`HfFVwU_ALPhhmT(+sF$89vR6-iV(248nUv2mwKfv z`DZQXbBsOEdvAhe&Ai4PW&@;BI7`+aOIj=IHIP)&)xDZ!01P>A%~FY1p61UT&X}uo z&l(z2zjM&ashOy^ldY-woDyF?H1{bfBQ&PRI2x;ivFptX&9qU4@w4TpT5g28KElJt zB|?R0HAA10yCMpnme{qKvE=OM4H)kU7^JBG+yvJ;zg@{nmKFxp@*zf|9iGwCJi^+v z8Bw}dsv%SX0mpdUlo}3CJw9&sB@0FW!wo81Q4hZvyl|dqk0WSQOwY^;- z=xBGB2iUo{tRx)EWmlRs6b2ytRyX8XVpPtlAalbt|s0m_!7c_Tdf==p~XIvDp1UfbNnmU?=?$<4}OZU;>|7s+B6&=%L z`~{P-_vx3{>wC}XX}q!rrRZrh$nJJ6&jBql4cRsqnvCa4n=F`> zkQ-$zCdcx=``VHWT^D~+@Ct7Ci%_^<`m3r|T{s?I2u}P^(wIL6(vg7{zjLZ)^%~}d zeF`1iwjM(^IgVS9Xp{MI3h*InajQlua)#kra&aBbOg;c4oTI! z2DCjv*8agf*0(MgtCr>Q$+?wa|AhB~oys76Cx@`kYBQ)gWiq8AVd4uq7PzFeq;*K( z*5HxqqEp=zUEc&2NW4*DV)|lyoG8z!_H(bHdxVB@McUnYNLT+)Hi?etgQ}M-e)@%< zRwOT@M3oHObQHt@lLb^gjz3X9GI=hv-$N<+wSTv?I8ga_~W=h*#e zs^l|00m*^*-IG80roOv`#J}xP`z7@ms$Gufy!v3L(D#Y{ee-0JZeTFSJ~tP#w$E>{ zk)X}!T%$Lh6fy#!!k13aE`!N>PnXO!c%DQ(uSAPM@`_4@<-Jb4^qqYwN0)^um?hn9 z?F@gv#;eHD*O5IFH-o_;&>-P`%P^1fvj{!RlsEt2pLnNcX1aBg({UMT-GKZw2b@b1peP0_wvO?3$w%>jmvPHt0}5bk+ufDZehdb z$qIDUx62`*&a?#*{>-Mr)Mb)t26keM&*|;9zHL)L(}0XdI&Vd94+7+kqG#_?o~8tA zRlS$9SEUb@_(J^W-Y40i$C`45pf4}$nB%(8Z>~%vP49#{@$S;;ylyw}#IGN{|II_s z^C#UJFK9SU@{dQz{F_~e3+(m%D~QMJc?{n7)fe{VQ+goJ%J-GS ze_0s)t54Ad)@xZ@Sj4a_!D%9$ymi2KwstRG{SniU*<*J*jlR-J0@gLU;Rx@1w0s$n z<;c;DP(fm}eb${`tNL8?F{4a}#Q8Hu`)|io#u|Nw@z6a5xPF$Gmfe}{^HEC;eS9$a z;nwd?>AzHlOcS^AJh#vm?}Icyh2&F0x5&|r?un5SZmkg0hvP;qOvUAiVM5ONpNVWa z(y_L5Eg0>X4ZxRvu~-m&gT7f4?UqRt-JVaLGtV>x#?FN<^-JgqRkwlVSw$icm=_pY zo{Q*mDOJ@*@}bpDP2a_6a?_=U>2wP;{xvv7DmL=6%>My=CPhI^((DMHcBN}(y03js zbk8lw-&3Z@)yJE-tdEN1#onI_tU6|I_J${@y|(=Tv;3lYt(Cw&o$I#*X7C$^+uZ%) zF1+`JCeH~9y7WTP)sY*X!MFa|`8U& z;NLfnn2rgA@29J+4GB?V5@wD&C2v}vspJlg*!f)A83TM>_cTR8?D#+X_ye{2-rxy- zH2XhKtQby7EKRwYD!_)cE9QtxsX*?U4jq_NQiaW)n07~R3!S}F+4tKaHk73><0G!G z@AB+Dsvb3B4@fe|YP(`C)2N?0z_zOrk+ho9b)obtl#P^rwhZ-{Wmg(0ZSK{X4vV$K z)}@VYajczs(SEo8qcRNS>cv&OAbr@mV-KxL3xpt-gv45~k*zrtWSmlLUn!r8DcIWr z7l@eFZPS~PNr{2G3c1rskBG@kCkNb&0i^PEp2?~hr(CK zWnp_RHQ3G7fUG=Xp6i>k`m6klOK2Sc0J$=0=O*d+_GR(UC+ z-fU1bt)873I?#opU^GAIvT6U0J+B{QH$4Otwu>0#oppdw2}f1D{pDyp@BD z33RDFzp9iWkiGBso6Rrm*XyXi@$eqt1%MdBUfyfJOOpP2_eyc0`GVt`c;_H}n`-wj z_FKH?_YN)m$pasqUum5aUVM1wyzwn>RXnHGAWAnnp{1Xpk z{{8#^zixlE#}9v5xEmHWVN|!c##<&|vc;Rqv2-qHHhbf^sK~L(W7DoR@Efa+XFr0i zy{m5Sk6R^NRQ;hiUr`aq9AE$UU53cIQKYbN1y#UBi{ol~Q~2HhCTtucU6@n2i?s?J zJls&aqslT^Ka9YcXb;GQ4W>)gf=&gzeq3pin=RfW?J+_gYm6Z;hax-5j$P(1j9bcX z^aqP!PD@Skb;Jvl{9%^% z=?=tHlqYdVvZZ8Ua%3G9LMv0CA-WdVKl?me7`^$&TLWuxiy=|35u9TRaP$=0c}EP= z0CG)Lv{1+U?zZMHuYq&Y|GL`g%$HgAFDtK_k6UVpH&9n}koal}l4o91lF zE~#RaNy~i)#5s3R!f#Pqkju0j3>}Z|wza{aa}e*Z@iIkX(>f#Xj07f8q^pPwE_|~w ze!~UdIIC-m^G%$dU*6xtZG;9MxJtj+7Uk_;H1!>7%^OyPWDAPkh07g4ir)&be!=xO9=~m{AfNokkP}ob#XtCchMR11f?ciXIw<&sA`4|U zj!!jWy3}Y$&aV+BXiv+G!k;2pX#0t1{h z)!}~7rRwWAEA!##*i7(DYgklmwz2azbT;5GyD@vCewt~GbwV~ycw#DRZO$V@`t<%M zbA@gO_iOXU@7!7&t`0VE}R4-(Q#Zlw581Naw{o^b$M{nR3Bq ztZ}^=)p526;uqq&3~MCv zg|GhmuJrGB{@nuqJGTG>L21U5;#w>Txjy4G5U67`sV*{BRdSv6p#X}Se3sc-eY8tH#4D>f zai|be6$9lsJ&P2BwL&vU95i0df9+Mmd@6~eLRaoN5UX10L=BuPEJE|$KI$|w6{^@4 zJog!1N{7vkyRBC2*yjo5Jw$qL9({Tqu+b2R)x}EK=hIoe{V9_Q4uE!=vQ~&a9x&t@ z9BMaRh|JAPeR_gHIMZ?r^nY5L3~7k9&GaUgwj-EtRTgs>K#%TgGW?v)?d`HDtq2&u zYsiK9yVo)S>|y*JH7DQw{fbMvwSIMMaO;e_ntj>z+*rOM7)>EG&TBgOwIVj`{9|cg zIVy1kl|e(>+wg-0I1O-y%yR)^(G^|ONfw|PY5U9~^#k^Y+RQI7Hc}Y{?xobj#<+W! zv2y`Jv*zK;dUv0SvTNs?R)WThGFI59aq}_56@vwf5o0#}p~84_ zO`c4QTnnR};4DI!nQeJV;W;j2IF(yc*ZihyCJuNX25{d8g|lMh*w+N`KxpE6r$_gf@froHdXl@u{pGa|}3MbpF z-cjiojQd59qfYYf2Lf8oF4&@ek7L3z?sBfI4Pr-x5Qgv1+m501_3zs(vBr~DR}FpS z0<)=(AK@eBw6V&}q54Ldnu>chgU%a9rc1e;wB*H&p4pJ^%A96s&t0DtyT{LrE4d~J zIfb3=m=mG>Z7)&!%yvtab@fYpXM(Tc+}mfD^vjPlHsrV(COg%pLGeHYFwnU(5?u!L zz1Rse5;}Nn`m3f~qjpU)qH$Uo1eo3)u^7}3Sl-Gj2$EuEZGDz*P6R#AF`dYFJsbbg z2RFw2aw(~Ld8L~g+fu?@Tpry#gtH^nPM4gF`(ss{80$KIm<0Wxv0O{-m41Ew7jl2f zv_=}K;UkgoLgS8UnCkGkg2N(cg<=%_)r^WMxM-y5M}O$db1v6nDvUP@thRU!}DdrRLcg zzPqCa?*e^{+!O4b;dE|um)GFWs91^-)v*B5N;k2ylSUAoyNX8lWH7_z{@<=;!fSSb)#r*b|Oi>d{-Eu&2 zpwpF|O#+K4|}I~|#IQRvS<@gYt}%GS1s6j0jf((;z0*C+|}hx=B;0=p?B zBk&ET{^)6PTv`22&3W6{utltI4zb3tMz%3ueq@bx3RTNIEs>WevfdWe^d677$9nZY zPTJ!(T2^M_SN&#;zvoI!23)`QWBOYyV?qPA5h(8}lMd%x9WyCt4St;uK1aqNE|EPQ z3)_&$j(d1MFSX0$*?5qy%{?v<>cw`<_M?w?Dpd7>!qYE@IH#S()8w`o$Sgc&Vak+J zRhN>q(C-Jq%Uq4pk0s>@1XC>+i4jU|TiXbwH7DuJ_E|Utsqm6o@aaD=PXSvTU`a>{ zDr>*;ViF31wTc?4@3(-k*|LVoMwf^F9z!fjN49_C(E>+2%O+&2TrFSDe;Qrok@P3+ zKspGJVK4f(i+_p_Bkb8>@-VR?FS<~u>7G^;R@?N7Ys~vK$>ikUc&WtVStONRt=L*k zsQ$*n01f*yhB9`q3KaqS`HuR%LErQM0q~j9KEmA*Fn#6FE{xIrLEBG7zQa zX6!G^X%;;oryj365W9OnyL(s5rM}ZC*e|-9+t_ z%HqHh7?kE_klFfV1I9k#tk&mgpz;$B4^Gtl&lwT1&S~#RTZ=0yg+`ibxgL(h+f?Us zQ*a9GQ9LS^shHoXd!@=tBdf1$XwaDneFZ@%l3=E=X+n0KUsm2z6kqurcRkjK`29}! zZ@i~*W-qINp;dZ)A+ZTV16z=j9f9Ax=b)0NQI9a44_1@euWEbwV4f3tgCtrTPtqaP zZ^=KIK6sSn@iOxlIPIH(+vP@-gr=nj3q`#ibXUyPHqvcPD>pO~F6_P=)5{!onrx8x zX0>15kSQk9WQXs$ytc|tm0^I~Q*jZ#^6;q>@sz~YGtwicC@G~-?od!lPJIu9bj6F_ zPOV)gjWZWiV7VcBG)}9~g2j;TNzgsBc!%uYC!WQ@O_OpbKQO;Gsvg>1w0WCbD`?Cz zrU03E-{dXn)dB1cGapEng4k@hJ0&^6vRvT`zC+h`f(DMYSrcf&2Y5gHhaB|9=^5^W z_swZ(fnvjxBfY}{*f6Fv#^LDj%1k~b%YnffSVjd4v-PXx^T$qH^Ak^a(xW2T7dxPC zzs8`@JGVszpk1cRU4&P@ILhjnZ`x0UD@9#`9JjfQCcrcS*P#SkO8BMuN_%!f#jw;z zgOud=W=n-NOr25Dq=O`-b(cR(3(VQz9GPCMU~^f?C&f_m0VXzU&V=oLBHPqQIB?9) z{p$Ds(F6Y%C{4Ke!la}FCXU}dIwroN{K^w%mH?Szqw7l>QQuuOP^Z{X^&RnwuCMJ| zf9M%4MHKqTTFkO^z^(BBF>v`}nfuU9X>@jOFl$-Y$j(`b=?TEon>xeIGZr3{r2Gw< z_zab$_N|KUQ^s82LK__}JcwZfXueoDtL$613)DTVv%{FR7IlHl6Lozf-^zc z&_eX*N;a5D)M1>b+t4FIuKA3up+sdwwEzmb6J7Shdpr z+yJM?Y#o`bZ?}Mg_||Y5aW{{c!|D5qeF`>Dq^v`Pxhzly0{v2_+Qf0gsRYlr`mMPv zeivd3dIBA)o0WBr$VJ$v|8#jC=U!i?I$#RQH@}rPFM}w5l<&Mfi&NY5@(M6jNJ7st zeeb;Hu5wxYYc8wgetA*E7=et{DPs!sg${|6i)c9uAZuS@es}M>a@ux;ke5X_l{*p4 zFe^@hh?}lIj=f4O07*^?@IKR<=PP8cOA7Wv+P~{kfIIx{r(j@?BG=%Ojl>2Tg|13?bS2iG^#WhqY4jz;Gm`y0X zO=ir?+0y+jr&|Yzk-ktNlf=X)A~9cA;!bNNB9^)3!K9d6J0Jrky|F`Ecb|rFxKpyS z>qF+z^M37*YhJ5R7DbtsgZ_Z67y!cRdp7uabHB{e6_{p}!yfE)Iy)24j7t_Re8;jc z%F9nHhkbEtMy1n4wDQ-mq>Z5t4_|f%8B}T z2beS0i_m8GXs5}+iA~C3`>MX$9gN6)|{G}#7x^F8N^gu`_RV|)gI6Y^jE`pNkS(QoEv_y4^2oaDkx zz$s`>{HO(dSMUxey5zj1-2Z%@8E5T8QR#xDo5h(m zbK&7JsD4NixteX*<&8F*HyYq%7Pa(4!Imc+tYnR4x`|eF81!ph#HAu{*fhA7VQg(a z_-U9n$X4F=VHUI7NU+bxc@YH8sBW`zwW2zPof*ZaokYQ2Orh9l{+P*`Z7X9Qm|1V6 zEvoPN5yO>E&KQLNM@{VVw}KKw+Z@x=$x8jVWdbHLT09TIMZ`=e6}(!^6Z&KgkiO8# z;(3ck?FCc!Ujt01lvQM~%i?hxbOAul0r6+Yf zcz;=lwc|#D|7v3pRsLUJzh`F8?`+=)>h5rRgpNhblGcz+b8R3nVj^fyuo5IC%{OzS zpF#QeUtF6b8Yxs8fW)b-J6FR{rx8OPgTV{@G(qc3i@bFU1FRQ9FJO=+Hl zbE}K%V9`r-M(xqi9HqjIXj|c~m=(W{!Rc2ck zTXn>tHZMm=8zmdc*1^Cny}Xjvwz4@`c}wp4eo?TF_nZ6P{#GYDF_}40sQuCL$p)9K zhUu?|4C^qEP?~R<#O~XBNpL@P%E6zs%)c_;MZH=6eq0OvooD^4>BK?d2QgfEDZ{pH z|H*Lw7Z-)lC6MQ8gRm!{Ge2e5onUlIg5>I4f50u27W$LOOZZ&z z1&lup9kY#|R-v*{6Gv&tDvKo_2CIHFkmb}Q!bT0`*Qwr9t!hE34 zgrL|TuW`B${O=xBk&Uk15La3Pfc{I&dlX;kYlc53#ivvk*hggvnFyYx3$iS9Jpw-u zWrKM?2Gj=T$jr%YIgBe~_}9)o-klsMOw#lE`q{1*re-4NDxSwL1lVf`d5=6#jBGZp zdq^}rLE%3%t441`mE@ETh*H<(D_Lyx;ZIvn2MY+J_QtSdxzUN%J=^QQ*XG_+rA_Co z_E-cLdp-Mc;eH(Qd2j5*rc!Q7GUCEt!spBX0u!izRpDOT)nS(;F7f>!pj&GbVN^mH zO`vKY0@6vcVx!rZBA2h*Aj#M(tYrb{dqTwxS&z6Ev@&Um{@UkQvqST^{TeFG#pYBO z92b|Ic@ZzO5g7c8f$mfnbbBn$F&j}vGUJf>h{VRmtV;0o68iJl_p$Qo104_RRKt zi+s6Lt~vLE4uMCXQlppC)Wwa@Mj$B{KyBGwvsUM*^}9uXG6~$H);!Sm@oEbw*P$-@ z3{52%ZqASR0(P?(_IqK1HkPF_X+sXqhi6Gv3!mm^_Z~y^8)Qf*Ms;?$MB7{RDO2`; zUHP~SZ(JTaJWCwgfi=0`D{aYd zlxyvQK8erB4+MWlCGXMgh~cN>nBMtp0v1Z&nf-EXTiX+g_kLD!Cr?oU>!P;%rPLQW z4a5wEqWBbT9Gk;NLg-mYvAUL@*S6Nixe&FzC5KiLu0bmL>cCHPd8HJ)v}6(i7K;}z zC8X-(GBgUF&$Feg4l{26Y}ZXo`CxY{*aoZ?x_bD-w~4%qoUFGDWlfol^%$)Ffi+FY z-p1enr02I}Lw)Vq6B>JL9n_#;*RTbqbRMqp3Cf(vqg?0H^>L@?nQGPg{CZArr$XaS z+W|ld?#lO7%NEtPAw;?#aI{XDwWu3>zWpU~= zZJB3kB1tkHXf86MXx%GBcbDZ_UmcsmZ-*Ed85VYyZT;4#Um(q$Wab*@a#fVdumz>4 zQ1xb}00O7=?QjniAQ`tMZ%3iGJ?0db8-a;~X994DvVYuh7STJ*=cKngc}Mf``>?F? zgVORw&N?;u@_vO!{*0y({E$>I-8#iWP$J|qWM z%}WK7%3{wQwjcW&SHsNoJR!nY|~mjTQO>RO({N}tv28D(1Fl3;-O*B9T~iVj6q zH5*TwCfYmVuEGU*8jMZ(1v`#DOq4-9)0QIOFMDIJ)R(UEOiG1<)1iTw8yYy zg2{i#M*Ft0tEUxq*UZ(y3j z97Y=rG1H;4hpMkMle^XJV&eI$7Sb;&XH{FtOA^CV6!KHYby|<#Jy~#poTTy&g{AZo z);No8p_<#LAD3A&N!Fulvz1@LI>Qa97j4@SqkrSc<|j>O5BS7_&Dxoh+7*fHG~=gO z=MzG`Vy*&0;c>$h3vyE16gRcOrv+q(;%=$Smjx*?EoXOKnbFv+nR8+Scs=OR*q)tv z6a9AC4#Qd^Xz6%ELS0!i=B1SS0B^QyQ;CalktT^#ev$ztW~o~Ps-x^f;#nG%R2@Zg z_Sls@6ca;U(!uVT&*!eN-Nc*OE^lA?4F|s;#KjF-?SK@9Vp9Li!if}9C2p?8gg=~V zmUs=72a);Q<>UwC>&yu*u#KfoixF!wJ39oX!wHcYvGWbk`kL~Kee5;8ZSvc2D6sWh ztj9^2HMDjaeL2)!r4(r4Ja?48?`ogadN60^H>`6URzM&uFmy3*TW%gl%E?rf5EN@Vp4in1RykmO2|81*rK7 z8QQL$a3EUf-nxH8l{%%^@R@SxqDPSHAxL)c1}60~`7BSZ{3cMHkDrl(r<}+raB7h( z5BVo;zLM4w_36w&hw1$-39G3_skow5qB93b?5Pj7{EeCty%#TRQ<-dE9CbR8&MZ7A;qv_RW`Hq9H+}T6Bc)8G%ff7fpUXm=^RHhGg9w}= zU=R1S_wG4vQiYv9oI$cyIOCVkqDV&6UuBC8kw?aQ<(HYby_q807ER#*mpv0{6}Kv+^isp4sbhN>P%;e1r{uJ_ed_dzu53GF$AElT3c! zfAT1Hlg#mQ!)S#iijJhMiGxCmrL{nU{PQ}$@Rc>uPNf*Vt5u$fm1QooO#x}UKu*wn zonup(th~y@4>hwuZFp%5wg%0$CCvVDH7a2aQ&%muU#839bJSAfJnwjCr(SMu!oW6I zK-nR?Vrxv_?-5bMr8dv&Z6FGMl_K3X_G&t>Ad|-U#w*m=D572!`=Ph%<1u{@%Vp86 z5FpY@;Iy>yM^#z7-*`2@8jM3Vp*16f@<)WO%;qSF=*@GZBF2sh+Q+#tmbQrU}Bz!GJ1SW4*Lg%NsaSk zBLew;YZZ3TVz!w#vo<{7ygL2S+k|d+DScOKgWovR>bW9H1Gx5kT%!7EYkvU0j%mv+ z@o1Sx37fl@wyOM7U0bx6uU)J{XQ@G_v2m2!yHniQenh2gOrvzUek^?XA&Z^ua+@Rv z**1yV5G0ChTg_l&>3R25TMWUeLlUXWG))OfWurp$0X?)nh-e%isB=+NZEV8vA!^I0 zbdbvySl;{i?)!=RL*xv6DfOfl?BW-{^q_mL9yrR&s6g$x+vn*vPFZ9 zB$M(&LA{AXk;~;j5s=PY2!}gq7Q@6<1l7&0^88Eg_bz zUKl0yE_piN8q1`%mpKJ1g|-lhB6R_uz@rq;`E63Vs&VKLI6+yvs{+SmoEy=~_4VS7 zf3W$n4N3YFzI8}!R*~Az1W~8GPm@flE!OOW;_~~?ONFpi$5vtWy-0M;!kL5~YD0g$1zO$-VwG}pm;~Q`A8XNtv^CSUrUPmSL?UOD6*KaTKlQ(y0 zFIa|`hC?t;QBkgPRS-K?I~EI$GX)I|`7JMpxA`xnOdWI?Buzn2(OkLv#a=pK2tm7o zSLC+V0}&;nfIFA)=g1f)>NRIB=ZbKT3IqE^f|6Z@YlIECdPq)N+)bPIeB4Sm>pQ{L zk1#4!+tGaG)lezya`2t19Nb>x@=bM>hbX5m%n|B1mp4PJL=7W5wH>{6IROFE7=P zp?hIC*<=I-!{qL$VH=e;?{oia>GJByVIT01f<5hkmkOV6w+K%suwP^Cb=o zx?d5Lh1+vO3R5*-aI@rr3MfL#=A(@?@_kBV=L`^iq#dSk$(ShW_TX1*(1M3-N;~E9 z-(Oc|v940#yTrMj*u`$LGh)aZd>FIDnPAhK^womJk|UVYg;KjbP!30V8FSjTt7o-& zbs|DsIOt#<$3Q!?B$ZIM-?K9)Y}H_bGqsMSbW^aYLG!n2qa@ra37}h|-+-cta<)+% ziphmvNZyVf)dmvdl1)pG4i+M6Tp?yQ3zDivwF<{|waO&e!w!)z@f&4Rx$U}~#e+ZF z=pDvB6;j1>_afkw_sg@(L8c8kXO|35tctk)FxKowvt3tBJKWMa$n^YLjG3XLK7QVJ zfJwZZUS@-%ZNMAUf{k4$83~{seLJHR@>hX&p-0B^mBJmH1tqRB#!~a-7gkwFXzBUZ;OlLYC z+N-geQ>SYyq5J*khg7WuVQ=Y<41lVS1V?L<0mIM_lpS(+`i~#pEc=B|;_Q#&r3wc( zW4P)^8r1?pM`wuDY$8#iyGM6R!t+H0FTdCjf?a_rX2LckoGTbjZsXjY$Dg?(5?g|{>Xe@#u*7RM^hd{yM;GArL%qwRpo~7F5J9<2KW<%T3kxey_HT@g!{libPdU1q-gw2^( zfZf0Gt|eX{n~nl6R(HpAboKW5$lZ?}&aEN+`Qe?jjvifl!!@(6Y;`Ffsmoz>{hu5( zX?zI4g|rvvNOD|LDk`HT$Z1hgRY{SW*5^!#6Vav7?stHRsR4UsLfy5?3@-ZKlxO&&#j z?HBcXdm8?G=t|{U2fQ)IN(U7KrY>5B8CqjeNmuZEp1oFB`TXB_F8hPaE#+bis6k??l!Xr& zV=CPHg_Mk`QJ1#Aep1pkDt<^6zU#k2EaL7Mu`ml<=$pyN6MD1-j(7g#(ys zkB$j3@-|;rtiU8m&`}Ooo9ZQ$Cm?G&#@fDMaX?7=Peuplr71X_+sq@wbw@uh?t4dl!>tZ8nM`~@A zDH7hPr9~yBR#+?wxgnQZ?Ow8lq4FL~BZDpNyD89#HW5R=%d2SjvN&7IX6W2U4q|!p z)ZUq6w854RtgLK>4GkR)CZ-wL-Q(E|PMaj#C5XYA=)g+{tEK}^d5*Reh_-T2HnNh+ zkFI;Mun4j{$yP~MXZSZB^|;qJZD2;p-*}iNy?(Xtw@4wppRfO~!vcxm^r-7^ZMlk9 z`a&l08FSnnfrjiMTy|@37*KJBAi$wkL2q6cd2@fD&eU&s+_sd+ver%2nS6b;$ z?{mxet#z6)6`j2k@jtz7|6{0~Ey7$o+PY0IH9fBVVV0$E<vs(Z1~Y~cKHGAao%k6(EqU;vw1 zROee-pJ#+rc-_>4-W&pu4*~dy2i+cMoad_Yv+T+8lJlc1pqAIO9MAqyrFRD2%87BS zEphNvl74ZQ$OwC(7*s!e0n8q^^4qR!AWRPPpt}l)v7`ZN_OWW>#Z8B z%IGZ)G8?d|SG-@nOlFLoe`}UalsLTPsfaywzW$Zw0`=4sJ{6yNA~d=A9`D74*ovYY zR}=k=loymMq>Q-clCh1cF0O#lv#w`)PFt>2wLt@GV$$;HfKIIezS^l*CXR)%LqmM} zfi(izB7tWUrL>)Xfcu$Os=k~3KmP<7jRplz(?*XH7$v)1r=)Y+)sTTdROxK1esRyE zd_sk9Y{_-$Nn-v*D^Z*Dc!w3!W-X!?DjA)txChyM!Na<3y9Oa?5cvpyl{h0I0?{R8 z>&x2^Rq*)0!VHEiC`&PB(lBFdoxA)Xw?^YaVQO7ID^K|LTb|*s(DJ!pOdT=fvgm1~ zizp?>8FdAiCT6HxI3t?OZFWfBt)UlqzF9|JdWkgIVIQT6G=T$uEl&Fijb+(K6iaC# zS&nbHOD%^Mo8(V%M61@aAFVVlC(%R#EwOJ?S7LqksXSU{R!BBk3&-xiN+C>M?iUj6if_a^$E2rE2cOMhNR=NZdQA?x6_KctG&4^7+x|mGa(oixtj;%)mFfKm@ zV0zH8wl${r}4&sDV}TRo=ZGB-twq!=f8Hs_vXl-`I2=FbSd z2v^3omj?~-#OIKRj9ST*(K81GMU#@-veOXJiqh5o7MqoCT=$eR>b}Rxolk($&=gPoILDEsdnwD;?)15z{#i8AxU~Iiq(B%_EId4US^N}#w&mshnURk`Cm?p?SyD5Kmn$t)t-BO zBI7C=O~Zlv5WN6VE8As@QjC+5L10XK=$@PV)>u5#?}lfwf8(w33>%MLFYOnq(0Nj4 zYNpI^Zr5B^$a@pCQ3@+hpJqOQ)>)ErTBZA^+xFH_d_w1bp}7V-u1A0=?~Zc z31WPVxsmeytrMq~eQTvChw6%TnddgUFe#Z27qObMt%)@mXEy#sFZo@m(lW!QeNrgh z6AKkhP;5=QY8jQgp19_NL4LoRd{s%VG=CtbzS2(|xABh_8jc2254gc|;MD!HLGYYY z@cqB6oAP;m2nLLAY35@fy^?)maLU2CpHfC9=>urcqo2}j+h2VTMs-@?G0&${^Zly~ zuVM%2U#johcf!X}Da_b)_QX(Md#RQ(7e>?(qJbdZSyueFQH5P&S!pfzGvupazuCk6 zTz^$vp>wbG?WS{X_6I2YZYYHf7E_}!I@=h|{-9OwG^8cdtmh z9I|o7WRRx8N(a>x`8o}pUZqDSc5Hyzm~_l&v`RBNmK^Fab`bdT;VB_{HIFI|7K9OZ z2+EJy{CJE;_hSMT!B1WpIy8NC`ygPHpw_u9pcH8lkkxWH<_7PM{r!Wy3F=)GSu`a* z$}ZQ~V_AXSJZZiWoN`DFT_a`hYV=D(=g+K_#eVGRMEfp8T~KYYm)`JY*!^4%VVvNF z%auA(^0r*_unna|3nrC4<6f%FmiS!;Li&37Q}S<@Pdcn_4}bSrqjh6o9c!)g$Wzm7 zS8gTDu>^t7GNGKI?#awTU&UnwN)b7|z;=I)itNAfe7Nbg67tzJ6b>Z1Eo?s8nQv4k zBI1QZ8rf!&YWr{kyX6k|B;(WLdiS*7QM?jyY|Mi_j927s{e z-kj@yef8c;*E%`)Y_#OhxKfY_0DqqsW@+)6>`iF0H8rLd*VP`Et`^`fy5vQ^lHY>y zK7gYuFvHPny1D-}(RtQAlyZOq_!JUHPyHD<88n9vas5v85N91fdDwq7BD4s%no3zB?e6G zhl{|-ZVSd|OELTKW;3bs(!JVkZ5}nWY%Qror1isNHWB&Y=hyunXa`m?kHwgcoz;84 z|5cOwmW0?tayR*$XuD>K(IaglfQ;(QbRND9-IS((_npV~%bC&OYZCxOsyP+Yc60Xb zyHrfm7h1}HeZl`+VIb4RS-;-9y6cEHQ*xo9ssW|qf9#I-Li>7rqnO*;+@#Q!PAi1{ z_|YW9W6HeZez#XKFUAx{r7o=3RH#zj={3Cnq|R@v^D{m7XA#%Jmv7ijlejA1Ecnwb z9Qy9$)BYSSd(5dM9>I$}N`hs}x;j4TW0}tlzzF5X`B%ysK(*g~^4;jeCdKqkw!8#) znTtWAeb}`RdSy}8)_^KQa@8lB5n;$$%lY~I*mWdWu2??T0!OVSGa&PS>;IYQVs?Xv zitaM!$*yrjQg&9e)z$yO-dhL7)phTJ#1j%oa3{gt9RehHI+^RcM^>v-v-RJzVPuD(c?S1xI&w3ut z?A7G3ta)#?tpRzkO&Z^v3xS=%uCQiuWVpQF$*VQwuRViZ$!(gzmgvN(P=;3II#`K`OpS3|pCRkiG!B#zVcsV^N1v0r)ms zyV{k6FKA3k{0#SE7!T=G=}_RDwwPtAJ6++aG-49iM@ed7_lJLugfi3}^CzYeKVbT^ zqKnG9k33ZOxm=8yv!P$9TEq}mRFYOi>E|&*)uL6XJ;OwzzGhh`QT<>SM9$g=P&nln zXMlYH=IWk4pV1#xLbU6ca+30X3Wb)7YKiH2c(nwGt zRH`+y7gSw3uXMx!3#YM}Sbi5kV_X>O9%8=zXrKO(k&kzW=~+T_oBt*x&Z$E3{&?CW zFzpyQ1OSC6Zyo(qV)p#>HIoO)E@D9fcZ=(4kf!5P$ z$-`MCRPD8)MsjEIO3{wx;1k&%C$@14|{q!=+ZE6N{}SS_}(vwAwpeG#C}?HdyuNuc10+AKoZpY z6mPj58iK3&Hn9!1HHXyR_Rt{psp)n!{W%93O|jQMk6WcP3$1*&XRt#x=K)JEEv5q} zx@<2xO1fs$ib8D0NNDq1sEr__-}WZlBtFk@U)XBTmUD&V_TtH>`CJ33X{=Q$eJ-Ae z-W`xLt<-}QSdWgDm=HGag}JFK$hSXkgz6=s9RF}7O?Djm}%Er3N3R4L1mwCkiu)Lj<26jT^Cx>2X$T{-095#IqC*i7@70h6BRgn^e$3| z8L9jRO&?XF^JWW!<6;N6@LSOs3YHS?Pp9ZgOE(*JyO5;`13}-3DKyOlx}X_%;a^Q znd4E+i^_Bcz0jN*zo+V_2J_XhH@~eh4`=%v4u^gB47`psgx3z`GBAg=@~fTo{mLs> z(9IL|dxjI5=nH$5qd83(_!j?WnA&K_u)fEAhLE*~3^QEb(>mDH)N|}FxYJo%2*Oz= zH|g{*MjVIl{9<7RO(r^$Qe^!QwC&J$Gp)1E6vUq z)^y%qA=~F9rZC>Zo$8s;aa;v#*e4W>8ra=z4)fAC{Wr zv31^;1hlfY{qkQdNDm6K z=^EM^FMo$S($a;oCyIOx2t<=uS!g9l0g9(>#(Bx)o^j z_IZxHnu*WljETO}8JUNu|d4)09}O;;mXV!ZR)&aeU6Pu{fYb zSQlaTHjjgIMR(2_8Oa?rl&8Yzj`bKKQ9gXcU?zD4TXk&GKWKrCMvAv-&yNnRV?Cfk zl~#+}k_irC305$}?Pip`qR;>`-XSk956SLY_$(ek2ZQ%sVF9TS*dSHrAOkF3k?+tS zNZnsO5bu~?vfWIerKPzLjsG`}PtOYl6WsjEv_Yk$$;W83cc#l^xAlaV7V9?sqc+yJ zC|6@}oBmUbgfN<4TihmHV?DbuXcYQmunCf@%j}lvbqTJOERd2uPsE~Ucb56wa$M!B zj*?aCqtnhuyE?=frQEhb9GS?z1(ob&3$KMScV;YJ3aP%{i-ktB8k5hDzB$MV;nMfK z98D-v(NJ4_yR9KiVo<%0h)NC9wSH5L`3CYkE9D|D=x_hSm_+XZH&QF~F~29GIVk$h zVt?o8tXR?_X9_f2Vz7oR&9<9#%9n9v5Gsr!lK}m^n>#UFRAL4-wf$I~Ezxr#K>L#6 zAsjf}=IF$VDP%||qZoppMi}R z^Lkmzj8Qjn8#L>XLyn9C{>D*kmU0W@cR7h(P(O(EFXSfef(9G}(>Iyn)fl%oI~G#t zq2iMTN=0X4eta-U(GlavyiQVrpq0yAW^_H$!H^3`CT5a;m}U(e{A1&E{BN8W8mZkm z(Tl#40_x7D7>(kkto^gmgz3XA=MIc4NpgC+>XM+1|5&S@onQQ{p|CC-BVpG+Zh$oIwq7sx z8dWOo$ftsmDhAOqEurh-KC86yAiLh=<64+WR6fuv)uZ{8*wS+uQQf-02hG;kzg@k= z%LLP8FD;1nzj1}dl^v!5(3PBZg<&jkN2w};n>f|JXK~c6dVFxrK@lKncAVYx@%zOg zDTy#%MAXWOxQfF;1UsEmfret9tQV;ksq%nKW&HAwW(A8+#)=utXo*#VOoA@HOrKIB zsUQ7v<`>3AaK01u4z*11YjY2R+7X1z@~JiE0P zglKwE(&dBgY2w7ml~&mwce|*p5f$b7!R0 zpf-G+7jUZ-wo`!EGeE5Bn-}uKoI`R|DKQywPBi@aSC1La2vYoQ zYd7NW7VyjB0S~yy9^mAAtQT+}Gp^;O@o|R0BV?HJiWST_lYQ2v`UIY?@Y4)Oyo3!o z&kP|_XgK=~kEil8Y({F%ZH8vX+tj42)LC@IhI zji0e8)R)?}eF|BA^*LZ3<;h>KyTh+$sM|SF?ga2D@!*GrndtuXN-1H-`5hs>Q4?rI zuhp?s?+YR8fuRMrq;(J%D8=50iwDT^@sLh@nl{mX=lwe)mAE$oY6X z@M2SSwwMZvRx21dFM6&}c!|ihA*`V8(RCk>vwvxksuzi1Vwa9;Q`d9tRBYtO>&9Y@ ztfbv$zD830AY75@Q)S(@%i)3@gb#LXq^`*4hYdh(MKUG~ed`GtjoJ=q`0CkrtoxaQ zm|xzeL84dxXWXx;eDb=z#t#mbR~4x*WTYyD?&ve7%Y^N(;3I9m0InvwfqlP#I zct)Pa>29Mf?eo$TYvOL92F}c&&kVGrkLUS=04<1f9wLlCKloTBByCGd%HR5@9CmkK z+`Vw!wl@Btj)p^Sy2bl*CCa{uU6fPJL;j3i@wbrxgBGejXgT^;|5zzb4!$y2l(ic< z6YOX>J>jkGm*08e4{mJoq_P`45<76%R1tfTI8bO}TIob>^4y4oT2G2aOpl%X<^qXE z?i84u_-9hL2jS{XNxlGuIPMg4YM)kVjv*5U2Sz|8q{^AdVFgMFH%O*|^ zrSw$rb_k-fUcholZ`1V0uy7o}=8wLE6-P;tP8ZSfm(~~FyY_(Czx+80ui|^6=VA7= zGIfRZqC$D8$@a13qcsT!u$gNE9Z}sdr9`|WKcDj){I<{KEJ+&W0i63_$$nZ1?F%Ye z9+L(mhm8XxxUoffrB(iBt%O5brnpj_!e{YxTXWw>y!xVvX1&1XF?fEW4WUg|WuY9eDpEw7SoEHxa}Kr^+%e+N}v^lv?PV zp0JT#n;HqfMn)HjI1}BOMtYZ8X6nizj{3!h^M1Q+o2*(yb*W%#!!sqmPZr=>+3o@L z_s|Baud}q0w{^4t6!N-TUJd>-qw^R{ex>M?RrO(JeMKE)yUtNn4p^5=&4PmoNJphs zF}I~Jo@CTHtABTIL-z8xG%wP#sQg05&cof>61KTIb^^XP>^(1A+9lu1?*^8r|6F79 z@oTllR#A~5P^oxnh&(9QSA*mZ%XvlALI)%5A(-hVVEo#s(NW~CwE9weT6x76yKuoC ztFFf)F*`;rKEcM%xl5O~iBIxZNJ6_^57U(f*7D_}_{VxoSl-$GUbQ+Ewgf#F#Q^M| z)x@W8cvWaF)DvA7KNIm3q^#J3h(K$Ku9M&&f%v60+C@6#eP}O9AtI3A3_yk*Uces3 zj)?Y{R^94~%mZ^nb-rw2Ug?mDvBhA;v9a&Zku~!)Og;j(#Y%Jg9$WP@8575vVNE^X zj|nFUCPAtTSoTHXQCmb*iZhnO%B0?PAcm$fdL^;wDIbZ-^Irx_BF)i3C*vaaU?L^E zR+>P{vIy?!z{sZNiwXiLumPV0P29_9U8p*irzH&4eaX8=j2ol-<>NcX(kuQZ1nKpm zbt+?B;tTQ}XL4!FbL$x@3G0jWe&@aXq61|DU20(yAp#R7T%CeaEd2E;w_Ab{_3Zl7 z;M*M!#ryU`wf_5sfLDAXlVc%XVhG2_=md#o-vyC#e$;8L*KM#66Z0OpGSdgIa-c!B z-=hWjn+qoYxOJshTa7;{EexgORvDLitN?8C?27xaKodKpd*Bq9S-4@f@U`>^vC)$p zDem4d*c7@jJ86unfQMVx=BaE8m%a%YExAB^tA&tM8XxUTAdvMbwLx>2%sK=rYWmC| zwYh?Y)KPi0dUZXnq0wY^W`+ih_hdA`NYt$3;H-!$6S*H9$!n|maSI%${HJ79TGhin zln4CiTZ#Zffq_ES3MdXHFFKvz5X3^qSxcPBT##7KT~nDOIi!T(Jk6_9(}^=AY%eM; zYxgD4`YV}z63R|~Vry%Ie`)Av1GU~~p5u3aZ7Koy?Cxv(oIO$auJoObE&a_aEDsY( zHW*cxaEojApvM!7)>!YL3oaJM>S8{g4hh<3*s!r=qTeO}jL0Rq?_TR2r1i=B%*7=; zUz5b@yy*kzA=%|$=@8G;)n-yrpamiyA7J4ueE~9m;& zFtIU{@=t>C8!cX+v!dgz8MB2F%twiuyspnf(*^$#i67$L8ro4KCQxk}jQ^KNJeXOS z_npz#vESmGA~y$0f8$gYg~pv7glSTD`J>W}8@zf;C-(6-mqEKTZ2XN8?F54e9#Zdt z_rqzk{I198W#Q+~qTrt4JXv+l3S|_nv)`b;f*XyWczwQp`+hSc@58mU_(6-1;lc7a8XC^xh=SfM z#4q+3BC+l;hhqYt5w`eCgMZw#D2rp~I9(-qIdP3MId=sarYbXKRm$FStyT7HCI-SO zWrl7z;&rJ zFVsnfCk3fQy#~#e7~xhgNQ2!8@iu71T>II*HhRwO8P=^t2PNh){QTy~D?!m7hA9T; zeSF!|h9ygx3NEQV1l`Wtwc&wMyY5CC>*BR2I=C-$gE$r}dUXB!sNbbC z0qZmYKWl@2&3_hQ@Tu+KN)+_#%`{An4($oX*{u$`em-qFPiN31X?b8~vXl~Q{j=@8 zajY@HoHqEN+1PAVYZ*S?vgDyCpe`b!#96^b2rmM$#!&0b zxq8{v0d=Z@hBeu7U*zG##L-QbdKi3}E$6NzZv7#JmT4}k{Wz!kQKdJ;xga|z; zj9~DpRS=^GH3<`;k6(AJ3FnLqvxjLju(~=iky+5w%`BmIMVp5#UKiTp)qP+fyZCnc z0$mZ7=1=wpp($T>1yfzg{m~L%(Ou_HIx#f>sY$ET@SRK8Tq>n);latIRAlv8tFa}l z)NE`hY8XQ~AK0-<9NGUGZo8_|I2NrdfL?D)Y_s_ry+cW;nt5->EMks}NX^VpZ%GR#5YQCmuzJ9&pwwNXt8pe`lF_*1;HG@Y1MeMvq*DI# zg@aV?9Mpx?1BQm%Q4TZNGK&tQ1L6{53D>%r8b9t<;uK}$9H#f7twm1CSaJ{NW8evx z9GjlIe5C^1N+st$cRKK-{b;}R__mKXhTLZ~Lf?(yU4wh91^IRpyt@W>r;%nFk?g)h z)7<5bwZECs+9?sOldKDy6^WMXnv-O#Fzr;ue!m`gqTV5ezQ7_NbAbBk{)RQe~$$<)0SX+w0~ybx}{3cTfB>J*$Fm+Ea2>&}|V zdFWZ>7f95Q%%D^A{xe}69MUrQp8q)V(<1ldaop?to4aGI#;XmMlkl@vQx@G-Sii^V z`zX^wGYxgem(%EG7cu4^CyWILhihfC&l#k>DjiV93iValctR=sFHj=P!!jfbow>Q^qV?U{-LH(~d3y3z|JE&~xRIFF4kdPVgU${*`^bImXXqLq*wdE?Oqx$ehFduc`7*h1H;p^bY%(W>M0Etj2fIslv^z`qqb3Op#FYs+VDKcVd*$!N$A8ReG06{ z#MT%+S6KY6UBoEe*|x^515p8x)j(gT?C=Lc>GdRUB-<~K;ZnR1bIjYH($U7aC5yY6 z>NCOg=@qN!xP}RmgAHrbb{2CN@3`)RNJ z5$~&}GoNnY_iZ-JSn*}~mNDc;rC+dfaZZV+sh{T&n$n32?G98Px!^B;1eN&VO6ZdI6XX3kZ!L zZ5^$O&sV92*bs_s*=hHphs^VE35IRh5FX##Y97-y2SqKDUw>=~-Z!z5rii?&ts)fO zUTMalJkPq-yVMIZaeVjPR(` zYSbO1@U?i<$c5CD<}gK-W8_1YlK1PKdh^_$2j%FED3)%xJ5Hwr-DQ%e&Wml~Iuk^` z-_+~wUbT4cKBsw|Pq0Z!q|ueq`Muy*ZGf>?^7K)njLeFoUtGp^l1^*N`1ruv3D2ew zk?2^B7ez=6Q&fK`W_S9i`#96}px0z*sL4blg(&&)NqO~1Uc_;t4{_KDHCn_YjLmIn z{-5%dXB$UuE&PA*uzKjZ&A{tZ9LJM}oIU+p`vIP)@AvypSEpK9_g6K3Iwn)s{J3mc zT0#ZOC}`;a@Ep21lYa>;w)I<#Px;Fl-H5*rHB|2yn3~XT5aHWJo<3KA@7PXErEJQp zNB#RP2=RJpaZimtd9*6DuLo6J6Hgs`#Tp-0)3#pZ%5OKy<`;_0y z4x{v+qg7nE?r&J0(Y5x{k4!Jj4^Q(tW6r@t%^xjOo7RMM_=e2c-7!)&XP;-Npu?J{ z!_kYDJqA;CY$6zTO&w*D_3^MAULfCO!qtEXLrb^ciYn^75lY;Ikr`AMY5@bo%J&N1dap{QEl?7^Ca=$ z_&#getTOG5r`VTqKaRM?XR*My1_6FkEeC4T@zusH;dAu{>5KdcO2&zVM9vILjF(;- zO^`2>?%ZZd9T7?2k zD|~d(FHR9nBA8Xt=TsF&G~aoS8R z8o0If7RA#&k9DlU+~w@N8jOM-Z|Q`X@=a7oY6y8KN^S}TYXH<2w~mZS+N7#T)`iJZ zL4nw<&_Tl@Mdz=pg94CNn>n>^6WYF*Ycmo_TYBHab-$rbxKFdL1JCBUL1j#`DbdKW zncIusA$#x(qauoSXn|X+n3g5R(IqidVcV^gzUDC$DHH=QJd-u9h^?95fxZFRZkDk+!=P;$ynI z9d583xeXwWbEoa67ehJJYmwmKyzZF{R<i-X5PxH$jRj&p*0{p>B!hljZO$zIl0FKIKz-s}*)^QjmgP)+^&(gjZL0Ourejalb{ zUy8O7kiDX*FLV4(hc*KiP>tvjpw+~IqDWL0V{TH>)=uP+%+M{d5|psZ%SpNAgcqR?`trix_blpS)^$409A$PBu~v zrlxwEmAyBhN+q?^e17j5yZe%H#pKl5e3Q(4hbB!*N5nxTk>coQ=DPq2rm3SV|L8CC z=)h$!@CpSA3?pUv8HqKoMRt&k_uC;xNV(~VmsLCMis>a)ma*4WY;~p$CsbC(fA=0+n24}7EbvkgBI zVvd-+#Z1<$lJYz2j|6;l&v{Ch9>Gr0@8XPqc-JJ+*V(tKQ%&y`Q~>uKtbzFLO{HQ; zy-vF^S)yXeCOu*J$e|L*W!gS#KpI*&@XwCa73SMT-`K8q=zY$wz+`vQb=#FTz6$?K z&MaGhVSZ0bhNa34)0)1Il~Z>S9$q@&lv2 z)K+#kYC6fL6btsg&e$Dx;lf^vbzrUdhu>;QbtXN37Qs&$BxsE{_iXYeYgWj40P@5sHkq(f)e=A;qq`6Y6p;Xg-*eVo<$_&Wa)B3)_U!kf?8X<=Mc9 zvEfAwDJ&L*uKEyX&|mM|muOv`$-I&;r}WvH2%8r85t)Y|Viw5UX)*TN5xbI$$z3M} z6bz4i@9ItnDSjWwmc7ahljb2ncNp?C>nY~(aGDC^{ctZNTp6(zuT3eh$d7a?=SJ2r z1S9zyat)x@GCXEITepL6XJe#H*a1%Xt?&{hK-2R?QwL*dRBRSiZ4 zvkrrjZj66+8O~@$JTN)pu6vNH+Et)c#`4i2O_5@8zs_Ccpu_6K_OFlZ2}8DLPVZbY z6m(vLkg^1}Cziung~Ex>xvG{WgNNZp9PyZY$q}yy@izf2pK>o`H%;p%U;lApqob*U z3ql<8-~T0FZwsZft6wPl%$k1WSX;U2IId00-d+t=X3j_+IA^ny9GQ{PA^>`4DOM^I!(UroJ-BJm|5L+iWx-} zU;N_0ljX4rwoy3Xu!{G&rtpmx{A}4({6x1pZ%dm26a*Z)>$Oluj^ZL_=woP_2tzqW z1!#iy0hqws+!HG3QH6)XXT3q(Fx-@D(c)Rv*~5xGlv$I*o(Nyf%VFiU!JUWQtZ6IXNq_;NQCL`B-mz zf#_%5V+-N~y35-hRV+q>y2C{r0Dt57#)VpR#rwKwuo-QGdFBTl;H}Q(7tgdB)FnsJ zk{!xLmdu6Z+Coc$RH#ywWc7=%uVG!dHBJNP-L6aQ9w$FgJ!>;dUkGQLqaW=z40#(f zQHo~?*rk4njI10srv5tXFU;OcO9T?#+npwo&_90)^q|@Dyv0q&;QVQcaaZU<8p)nE zCfGOEK)qdj4eY|d7;rSRbIPrqO;8xWDe5AqQzaf^G6Hl>s&hSTs#BsNjZI@=K!}oc z?{d>SGO)0EHQ){VGWa?bx}Q)?#wby>t%;Aw&J0H|{}l@ItPUGnHgr}!-Zp_r)8q^D zc|Vy_EG1ENU+_LM3$hb#)f+l?@@@o(ISPfCy}%&NM7DIQ?XJD}94ON56$Puq@yc-jjwr4t`+Jye1u%@zdCR23vcBjEX39BV_j&qi(Gi>450VN(?cOSvh?i{ z4;$ncZB>hhq8TB?MURwk4*$kEHG9)JmErz3PKd)tY4^8hs>L^ACwCw%3Q53kKz(y; zN0bi8K>gklGI|HNX#1f8=7mUPJIjlrdcxKz$2HB=J30H*2H#2P=g;0-wL4U%>hjecB8{(Ij5& z7-V``PVM%L7}YpTu36aMeO_)jHsHj2XGiJA23UVVR+|00aK9Ox*m6_$VPR&mt>>yl zsRd^7+WRY?MB;#u!(jO*Vy_j9rr!)wElZ?Z{Y@8K3?Hjf+|yA)rG`xE_~35Z_@cs; zICh6%rd-+Ictk4!-We}&DSmFmEoWALBEny}!>FwpLtUA-@>Qq7tm*Vw@sqOX%(jlB zCQ!6iT~ab7Gy@Q#&;?GJ=ZboFpLtqaMyM^M_ofMG^$j5UMJw*p1d;3BK`i+|P@Y~F8&qTjrVH)i$!#eCY9 zi}P*=HHHOT6-$RR1k04?SqXXn7MKg(=Tf|prWN!qRea;6&sQJ#G_kyxbzHmN@z{wU zp9kuG3Oi8TZs#HTQLEPps%_TVK?Ftp5n2?H{l;E&PD`hRxLVJ^-*44K>aUiBRK6>7 zbv>SOu)&{E)PgyIxbv;b;ka3kke^1PlI2NWWve6>AZp>}_yZj7vkwb1t^|Fu;ZE06EnJHPGI#Gic`mUq>kn{2p!7C%AVX&C5xX?Z{)|iA{A0Xiy-q88Ln16eI(! zjLR5GHJ^hebBUiNt&h^!rPT0OOEI}yZLi+GQKLt?YsJTwgZJ_H=y=FJciaK2-hIC< zcz_byO)IU=e4Az@*f-W>xn1JiLngKDmc6u%eeZ9iJr+m^rnv4={oRbN5c=vDqT+U& zN^)q#IO{QbA5l9h25M&>V_sV-PA;X`mA%SPDRXo%W9=%B*>Tgl5-s*@RAX9cb#67% ziQM0(=$g3>Rz(hs7v{24HJS|P9U~y=o-Ab4brQu&r998L*q%`E@XiR50A37;#4%)Z zcUz=r$yI2k1nvF>>1Sutp?V!hwH;%m$T7BX!E{FZBHah`>I^jM{Gqyfvx^t9F(%Q? zdAh>Z`rdi<*k3}xBs;@cG5;(dWJIU~Yppdj*=TxSh9o&Gj7TEt97<`r z0PlX)R3`v263_2B?^)bm=B|Sn^ zKU+f$|Hg?#9vYDlSsPvQ39k!z!=ZZMHwilWLR*~9i%QjjuO?o<_hkUBvabyth@IBx zPOIJ(YxYlt{kETZ?aZ&2(;?Oj{G2PDe%vPuSfYzWCA;yFp5q%{L$-bI=jhAs&u`{}{K)YOz zcxA}MF&vzFdg@FP4as9Hq|YyWJGhoXdYDn7$dlO&$bkGlDE>6xV5a7DSJ5ccW+)@>u<>j~RdJE~CKUX23k@?%;`zsk%HS)P*?Y@z&cyL1&pXh^o)Svkq$o&pF z_t5{cM7c^goibTkE1y&@0mjWzG2wzkoiUUAym4~^OLA5_Y!##{Efu;j^YR$ljq8U! z4Sk;RvPJH1w)pU6$s_27;h7QGO$KovhVP$9g{$Qb`9Dx<(IYZj0@=}y?B2zb??-X0 zp}O+d)|u^%Gt}i}_VhDEYD(yBq~)$hO5xes|byzuTmIz@_2)B~S2@ z|5@5BM>)?+hcYd(j8M7rT)7Q|7SYdgQ$4vGwHv!qrU$1wYw_Dtmfy8+ya5n!HWuGB zTc*&P$Q$bjI_qGIRk+$B@6~WAYHOuO-^zRYyT8TTzxivc*qnv^Y|I=|HJN-pumNNF zd9F&M0I1QD({Y8F@cF^HHHRu@0Um8~G3)P;DnxDRp~5~e5+n!Ea8s`tS+b2}XJ_ZZ zjgG+*X6<65J4IDC(FRQL7aMSjT-d4Ft8y$yF{iU0fEw0La0p9~cbwnEg2yYM^m$)# z9{l$EzaNoAAZ`R?px4SbwwO9V8aRWRvo-HYqQSfEhL0 zl|&z(wT2u}6!JUof%tQr%0?19bL+1rf6g?loa*GWY?rVJS3wO5{1~;cNVDmw>5+YB zxz@c48;*eT#M^ArHp$l+85|}&KpBmy&LPDqUj-8_>dGB&d?$Y1nZSOVJP$L;$0kbKUMl|}ZLZJ;6Vu2Rjh*6rMVHS8k7|6X@Bxmql0K}wfDKXZBN?h1m zIx;rc=p~~Pl2c=sma^@6rNlF1^Zy4J#a2gs^e` zL`s7uhYllgG7j{^3kdW+MN#weRik^a7z{K0{>GuKL^coa@31%f0(CsZ@1GHst?~I? z;%Dmek^8w$@WoB*ibV>YZ(h1W+S%NaN)MdyZ_1b)X1oDNuCP1%U;Rw)3bXZBRl450 zz1r8trS@{x}zCCgZm$u_rJ?G8uzrht`-vf-x@vmSBrxi;{R`5MKl8UtZqZxZ`W(% zzZWVsez%o841_%USBt~`;@`WX{kQwje-BK%s=lbA`B#fm!t(E3{ri3X^OyfK%Kw** z{r}J~Qje3`9e!8OzTUhztJ7?}d%NX*P3CuTEjHu10-nra>V)%DbQ<1Qc@>SGcc^UI zNbYs2_z?~JHYL#Q@$jAxsGR)EpY^xCzH2D&a#>%-TbKV`MwP+ zAw=AswppIz$vcz{t)PQWvj7Xx#mGBQWGC-LXYAUrHRBqHJC9Qjaqeu$xIX@audSmZ zcDSt2pT=-8?{6I4xiu8@UOrt&eK0s#zd>F@gHKWvb!YH%c*?nKSW0^fP`{FAE0GoR z7$z%(0BRXA8^+AnojF8DCnO(*oX@vM`9{v)vT;9LGzyM14p=#$l{u}n;xiYwFU$aX z4Cx&zsxk0&;hz4{(^NNWnw5NtcP_lD!bzUx!B8`W<_nK86_-7@7GZL$^qR@egQdbv zdOg$I-+H*Lq4JdFYvQ0o%3qJ7IbTLR7d8EGjxvQQ40&fD7a$$qxa|;W)F(EESNZbl zeb#Xy`t+4=mBnVN>vdL365B?6@)m=(2`}QeNhUlrVxGZhTa)HN1nYWW2tRmGFuFgo-P}IT+6Z;9I zVUH2!ra`7NVRXfvzJT15n%V6$ue;nQTa7T)hA}Y>$P;f!;NFScjk;ws)ye&W&Q$Uh zJyN#ey~IUFIZU2K^|DypW-Z1v+9*y6F7mTx8gBPh9Y}`Aq4YXC>66!u|3J9%V)Css z59uXQS&5-Dt#_YK*{?wxhO%^n_Qj=w{GJVW7M>9vB4fm&60}T z9$&%NC3?rL$&-M@GYrhbR?JF0RD56RG+hErK3z*#0fc-jutuswpj<1Q-aM{}0jw)! z>NbJW(iT33_9mr69EWN|L^&Gjv(0CfdFMk46~Ai27P_C zu6MWfuCi=NOM(vRW#yJdvLz5^L~H4neX6Q3VK-L4M}-|DZI;Y~&6{rJ2i&hIe_tf= z#@uekS~hc};$<>?rWG$b>QRL~v{W72vRp&mPTIQ4NJOkNFY82&bkd&8r?#I|9 zotlUy*e4g}l!no;!U}fGN{*d1hJAPJ1$sk2XYxUs7X`ZU{0Y$76!AQ=We*#S3sx8C zT|35Jdw9ZvqsDFoRCD^eWpZGnP||~fM@VgNecA8AsRCW)iFHx{)n1iv3ZE3Xck(nLr!egfcnK8g)~GB7N60z@i%5P7w~} z(SzQ99Q!Nk<$8;2X)84MblwxlcV><=W)&@J1<^zgr&S!=uM1p8)FD2n)3#E2)tsI1jenKm7Nz z(tm#cX9WH;0{@#wpwBU@IhHsjj7it4UOufd$TfMm% z9Fmph@Ifi2gWP(~0Woj+S00Z$A1lZ&Jx?Jd#IsAq;JZ0FyE+M>=Dc5i)Lw(O(zul) zq$DD7Rr$sesTcS(?Eo2qxvgY5wXF_{V`HJ@A{?xu^FC>Rh&)%>_LDP+?S_5*@s2Ch zjN7XPvL%Za>$OJ0NJtng*#Qz0h8Xe%#`sh#CLzg@x@PR znutr*$!eCDj29eg^m(q)*A`aayMyG8p+9qAlFwzW3ZIHtU^bBX8AfjrL)xeWX#3t1 zqp2=j$%FkXMz?zEtqbT`*$EDg7+Cec84Bg?fRvg8innU^JR`*X0@*RRP;FRIQ5qn^ zi01%xXa!d(DjTjgxrWo1h4)!_y|$Goqa&@It+aMsWFk9R*!~SFab%P;32Eh`kbERU zJ84MjOmYiSit=fG{CqDo$vBZj--eF%qNY^T?lfwrGj#8a937aUYnOSX^q~5 znN-A)zioMqo)*X_hST%Qck}L}Npt=RYlG{rB{x@7NtgCJme66q7%k?CXt_PCNS9U#$MUcI8rs-3FkPs|jZDBMv&F>nw%lF%DI01U z_W56?%058LjLL!N@*u!#rRye&T{Mwqq89h~mzdPZB!|S^1*N$oU106}^;4C+ql||A zlFunv%@cMSfux1a-pJ^9Id>olGV&jQO-bnxJG&qD$ScmvHOTHqUnw#e_g7=A<}b@k z`|E)y$Mj8kY-K(+e1p}B$}7h5mj`9P`)|+c|D)f}iW%s;=_P;FmCeFnZjcqFL4dSt zj4SD0JRDFqTvfvgE@A2H>Bnb&q{cWMNVI1Z>Vc`;agL z*K`=9zPm5GJU`(BD)P@Dev@}Ep8~FqJ|?S2R_d-HZCAu6`Arm7JnuwEOKDorIJc%W9(EP=?lgz9gB z$`@g#S3LQK+1rX#Iuo$oUPlH?KcNb_3sazXMu~%uB$aWW!{U*!cAurAa2rA6EWqsd z)KV?|9b3f`!pw4H4CnzL*!rbTAQeqbeuLW-_s7t~dv&%>_^U(bQ>hRXLojI;%~gE` zUJ02j(fx&$bo;N)(LBMA&A}$O`o95KFY4pM!J+vS_tyjR#j%nt4olC+3x7nM?Rx1Q zNj$9fW?xg)_ho=*+8NlYzmDra>t+UI3WRE!j~DPaxoK31onrLu-$gt;R!@;q<}=Ew z>SSbDr7eSwNI_TRplro&L@l_r``6fpitMWExkOy z6_8Y-@`k<{C>!xtV5{MMdb|7V5|W~qUPV)ZRQQZ=V$)x37WkOs8G7#V9h-7Y#h5`~ zUxl&eqOj4i7nIbFvdD^S6m093>Z)tIulBJ6Fyu`~tD>pYLUCa;VZxN!iD;Q#t*{0` zAm4}S0{)UA8iLVEO63QE2f5(6vc^s_=LUAuZRfLc%K}unEh>G21T(lf_G+lua2_p` z;k1}+TJ9O=Hid(eiLZz~DyTPIk7GCz=h9sZQ1%laN@l3-j^Hx{X$D4Ma#lZ~Xat++|qK(~!@h5mvGN;9|ilIp`&CuhC^wO#ijeQKcCoF*$&W&FWAU z;ZD#;jLoyt%DK?CZgg>`mQLf!~}ef5>BqoH7tI0qbgD$UN)Yepq=8z1wH zLc7uJU$$ZMuHoPq-#z~_g(jV;UNcJ_z}{?Z>NAC@np)GO*ukn<8N>O47PtHhA2EaY zzoHW%(DyZLmtww-*Gu@Yb1k!>mS6BeN9${HJB_e_TEYEFYq3>RDcFpiskE8hP!`oV zYAC_v!nAqyC}3eAKBvi)fpBQ<2c?s~W7jC9;y%!;4`O7;OTGgkR>vl`?w`rqaiPZ% zIn)}sgxW7fN=tP44j&8+`*m&JPo@@4`eqZA=^B1=eSA!_gb0eQc1bdFdbUrY8Zbm< zR1v_Y!xmGBUv4FP5k|d4GpUzHr{x37*~wlLAIMM{3LtmQKF~F)H&Ie4$MG(3tme#| zh3R=Y=#0~h)~oMP@39gI7ej|M-;i>(2A@sQw{Npjt1U2%>TS{(`f-efAjhQpVjhp_ zIL4d~BOCV#pKbuj#aeoC*1(OGlx=2vcafk=8r*Fu>&69~*`s(!ACl zkl1}pQs@_UXW^t~W@p@L;f{|Bs5C9awg@4T7KXe}Hd%5Q^xq{Wyn6rHIMY|~$YV!Utg`c+5c-XA7b{!`jrasDtR04v2Qz7^Fo z>f@cV)rUwk_39^3ce>?Q6lQVdq+@nL5H>%0eg6Xf<@5rt?etdG{xegoBtTA{>hJC% zuc^OYSmi;Aq^fIrp4AwIh;<8bp#HgQnlukoS5H}f_5aSB3-Me0M^FM!g_EM2#aR{fV(=VLhk!EPe`_0l}TjjXaj4K4s96TV#jdqcFey7&*0~TZ*ff( z@A)L9PF;-Yw8bpKm|h!@bj4~W{8^lhn2_*T$?;ujGo!3DVfl}uV1NQ$(`!;Yuz{JK zI+pOshOsHlkH8W>x6nW=1H_zAtC)vo{95+&ZN0 zVj;3XR}^gRTrJ>jJO1LFrP0)d@ZLPRYEdTDsb*4!s1s!AK8nz zm7GQ1zCZxBj3LTS%Ga6Nqb7x63&eu?T###vV}gX{g-h2Ci;Te74$U5DC$VIuWn3dfRDMrH$3<55H^qW{6new zLvfyPu+Ksuxb%=dYA(bgSQ2tI zHc-95JMn!~IHpXYf36^rLw$@VEyhoCmrnd$A)Pu$e$`}LQ0>o{cLw|=qff27(tFg> z$4$bkYSZjxv;CCJ1+K8wdGs1ug|`*P>6*caUC?U$v5gL0l^jWj(40@ld0y631^Yg8 z{{h)i%MfKSi088^TK9Mux*b%`Gl{kaK%suZTnn`2g+`oNlPa}1GD_9+=q9Nas!D1x zEs1U{eKHohHB>im%3wE^Z8ubRVnYLz@;UNv2vxM(rT;gG#)-Pv1Q0 z(C+%~kL-$TFgZ1A3YP-+{r7?K!NBFZ&ApA%-;|t?pH6q5Jh4>l=iT?d)Rat@a;ET6 zJ@+F%*yKL!IgN7Bgmnm)zl%(6;PIxq?|V<9pFZpB6Xb-S3sMc0w)D}vjdmd zt8wN#S&sdTrQpArV5-fw7*crMfo?kIIjuunn$XV<)Hqeb2Y;5^f`DI$ z7M&#@{2b1O`%Mdq8L#mkm_$Xad7LeD!!FIc&9H&ff@M+$qC+Ab&F00^q9{}Op1uJu zvO*F@cda2#WNpYG6Wi^P_Wg8jU%sG!>{@GAkZNUGgAz*cIhDnrE%_48XH1?M( z&I2E!7awqNaGigj9O8)z7%O?d9EDgFIeP`6Rc;C5@-ey(t>4T%o9ONsNi$MRS9>@z zd|?P;UUQHcCuaBqAQbQNfef+^TdQm(>`W8AmH0)DAH$k>OA#xgzSm#Aw zwMdTT$@t`JWH%{i4y76SDreiF)opC3kI7fJ{MD-T9YI65mfU($5mE3kM#kMr>yR|A<=~LGD5VnkqRrD;@Mu=4j@6@px*317QBwbx-C5Zuz|SYI4_>ssb@`{l%`dtWCAr4t-O`AWOJol;>fga#afC> zesJ(Wt<^kX^%vn6jd2BWJu`;#` zMHot+A`sCUGepK5Ob|zaSL~5#D+*BgyAQCdHI^A!+VcWMA zI>N3lO)$1`xKWSYh~k+xulUsN9$?e`rww*Fx0^oR@ZcZL;NrW+O)kl5>JcIE5M8GSlNKs0u5W@=Y-w_3>BcWQe{^4uf84 z+YptPFtOj4|I07m51yG}cMtR!sH%MQKWoUm_nN2T{!>{QF>a?d^~?=ybIA9yVEJ`x zNPhsR;&pK$GC}wCg2x*F=tcpeeBB1`qxctDzqa0r3?y(9Yz#adRJAKm)7#-(nz61} z5{SAC3So;+TlPV;8FF}uK%T@SRGVYNGm=zNoN2u4Tv<~PkOYw-~M~`vLIvklq;a99|UY;K(}u>Fz*@fnoUVusCO*O*f_7myG2@B;5K;v z8fmn05sczyXX~Uidm|3nZ1A$7zdgDiR6pWG!SLd<@;u6(v! ze*YJrzo<5lp;}@B{XU&8)qulzwnX#m%+8fesAp^;g`E`F7+-d+#t$2#O16`Cx`THT z0j~CR-{{yLCgmK?$a*y;OEK(x-M8oi#d80(gD2FRI5y^XHSiLW z8StHnks%u{5*75a0}jN6pr7GwMcX5KvhLKa#jiUbHeEis)R&YM+nHZj%yHnWE|?mr zC=4kf6^kpf#}^W2fXpI*okhUb?tXEto!rhWgwr;@x?S(I_v+Axu5b8gAD2t{nUnVx zHWI@_k{T}B=Za=wP2`}(;HItFV9$W4OIy3I1vZ@K$|HJi$^)XoTw^5DE1^K&0`b+v zRO>sAnz5rD9Gu(V?y^lCj@!3?FpS)uni^FDp4A|l!63?(IiE4zJ$T(^%Q|Ba zLg()=FV6H2=V9!!cJ8>cj+6T_H*a|Ev1aoLIxIcYa-C*Z@Mtze#ZN+mUf2lqsF|fw zFvSq&l||2?PS*B8%JP5SHV-L(|1#ROlz8b_8vUp)vCYlZ->@DC;7jAJCsRxh&I!1D z-U>j@M=v177SwqMj}ckQlj4$S`?kiz$qEy-8FG+UUee~U{xZK}m0w!20Z|k({IxF~ zM2fByB>^PU-?Q@l89k;)!^>NRmvR$%T;_-sKXWHfC|M!?6r~d%JH{XiF8LNR)M+LKfot$f2jgvt{OW|5X%0=A9=JezflLX-xa6_bI6dlPK_NQGqi zn_5vEoOm_pTXG2@teil1Q@?lGQRxUX%Wt9Zs5C_CRsKAAKJ}E(EXxIPWi_I|^pqrp z=pt|ADqxhp;!me4z9}VXy|2(NEs+rHYiE_{? zCokjv3pJiEe1U$BWkjoI!GA6B=Lcwy!Xa!aem~0Ubv8+>GaOgigEN=esg&nrfg6WB z^Mh+5t9_;Y-X`R(-rL?e*zH&s#HGHAF|st`qo49_&f9T$sNs(~{*}~(_6ws3gy7iU zk>eO6H^USzzyN*BT<6I7067sjU4F5#&bTl;dM4bs!J0cw6brUyy?|pzm>@ng|x`#CQfMj(xTCHbJ}6kf~$^_4i4h& z`;?n&G@x1dqC-5_#~#A#(n>@^Q^guve+ua5tHY^V%j9Y)vbdk^zuEcBG2b{SC)Gtv9I&^|DTl z$^&)NhASeOf}DgpZQ(+f?JXIYTl`DmK%>@VPF>W;5)Hf;qA zhgKSr>MMM6;Ie_sXdtlFh$^FndX;u{d)pu}2wB~sIcG9=wpjd>ta5`+L?}R2(5Cim zK2J?VNwHL7x4cNnL$t4zd01WDceEENFI{O27&eqS7qI!2 zbt{bq*^u&|IqQIR-zkIX#lurP3`cT@Q9XH5)UTCF2Zg3?`4vvG_!gK4;V?BGnPFxt ze|xbLS+F0RcPqEJAS7MJi%wQ2%pO08JJrjum!p=uh&Bb+F-sRs`QQ{Tl$??v$8b!X zP%LcZP)2SM3N_3&P(OSgEaAQDlF`UbkKD_|X2Sx#+N!DxUBs@4;EuQabTpM!Mbduu zGksU}pJ@~eeb&)n!o3^Ifx*GQOAs4tB{%<86K+7GXo5mOmPmWx=TUQ6-Ntw0^M9m- zb67Z>UFOm-z1AuX<^^e0(8LFLN+-rBm@*ePA=}L3@6L9@a4*ip7e%ADwQ*F`+@9DA zwm%n3{1l4w!(L@ZY^bk=;;=OVx3|C67p2N|y&4m3zDu?g|CskuFFGXJ*P?3|qVF9o zjL{Q_UOeS33rW$(SKCyAf)@c#RAj@)i}samv1cuh-8q9=%$fg`Z= zrpz~+tuWP_JDeKK4VZxU@-DPTZ?cYDvPEt3=GbXHhVLpBCYYKV8!RM1BY8zeEQw6GE(B&gn!l$SLAh-12@-;rSg_vfRph3^S) z%t7U<379Tu<+f7mR{xU`goDGXJM&p(<$-7Rd^W4f5drg3xpjxLhP&ryogA-v$HJMs z93pXmU!@A1qRzWBq$SBskGixdr6g__7p-VQ`+CY8s_F9augQDolw z^RVHJ8G4`zgUlSj@D?nJ*)GVg9`NPl#{>YJQkz%K0zCC9E6jnzX_!ND?y>El^Gl=h z0haQN^A^aO%6q_h$lv3eD{H^e0tz}CSioqkSYmul6N(a*r;07h=J3c(F0fIs3DBJV zi3q~Mp}%1GpHH0s>ywAb)$+Q_c2T*r@xr&8*EcJtdcMC$+tvT!$ZZkdZ8zaeGC>x8 zuhKHz>`uy_{rT&5UDkSMzsm9c^ZC>J^Q8|DK-lNx?fI{Ue>k~hLvou8(+UTP@6VE|%b3!BN7~n`J|Tz8*}0OD$;#wRkd8+{ zOL~cWM)DXcyTwX`a+6E7N2O3+fJ$&EF7{pjVlhmcI3d^OcZpBzR_t@oC51~}V_r*w zCutfwvV~2j2^M7>d(HDw?Id>@Ad}+hZJ**)<#;toSq|ZFtkrZGF@tW!Y(S;&%Uag zKKK;yxfeT2GyosS0-b+fwN;?prco%uY?h5B?-aLmQkjTr7bEFW6Hde~r_h>et6@Bu zkYWEX{r#O#N8Th?a8htGCmBk_smI*s%L74SYETw~v_Q|uf5k1^5d zH+R{qvK^JpXw8_&H)|3RR!jYg3m+<6e@7eVU25ux@xQE3w0cT2eg_d;X%J_#BPRWw z%&OgZE_kdHD@0dBOf3GW!5}N%DHJ6dtU`Un91($ewC@PWJ@AxNShyK7em}OV-J@K; z<+fYh>|S{Q^x_YutevBTkS3?qE|R`o^_#MVRiO`M+)h#EP0-`GWS#bglws1I*_Xth z1=K8VC#2!`LMw{z3v+DWJ_&zvy;e4QkX090iE#rv6P%<^>qr?SFa5F7Inul~Tdag# zrlI`Is=7%XoLv@W!v9)r9bORCveN9Fe-%Vltdt;9w-|!drZ;`Rl>=oWI!4Tl#3g1# zK(FHsQrqL>YIuKS2@S$Q1Wzg}`jfjaLa!;jfup3Q?m33x0#P`>AAY!)7#;&F6Yn1u#$^dY~Ql{HFiODmG4#VVK>m4cupV}kCuzg*BK z&-7A}WcdE%%;em$AEcuG=TY#GutS?I7`NF(J=q8jwxxFe?d>Np1B*#C`f{IBgSvf^ zkf2_*Le*kF#XkjpLxMJL!t~31$neV!+asPngvuX&$7X z^N7l`3$%~G@g1J6+qAn*Z(|%BFz(?0KJF0q|HU0--(3qFb~$4q^dg^cit_nd zBY*YIO3zh;>btGQE!=M+0(gmTpMZOLgf;YJ>E_%km&nVN2R_sE@Y=&qhkG1)gv|p( zm14|OgL71mR^?zcD;A9hUiyF1-gc+>)BpV>%%78q?sZbm*rS2!em@Re+AxMQCk>`id7)n{8)2FwSa1h*JDb96!wN0>OX4?K2j)^7;g?5Vh!(CPNVgA(O$JYRBm{yPbG$)Y%Ad z-PZmgLTpoM=oq$e$M|5}MjS2^_pXN*G=@DVTwly_wCV0qyiI&*$1h7S)lBD8SSYOv zv)B>mkoqh4DP09a@FmnStt2`;0sI}46y%%(XygnDPj%K}0TX9wI?k$4Bqmd%2hlAM zBf6E7O)Lx#CBG)-Z?tu*pZ4AU+ze5etu@LmTnBUr({+V5=b$hgDbaPXtYFodvf$Ig zTsxrp3!|PQeqh4!#6_tXS1i9P>A~y_A@zW#O8s;NCr~KN;gWi5M>`V>U+G+@LnA|W z*$4bP5SE6U`Myt9$^&X`zQW@9oTrvZ2^-r>8qapPLL2}EdSqbPU4!d}e1u+mL;TQc3k-qE?E zwt>f!bV&5)ZK5qVOAfeu?2*&S3+o6i4Ql+mRsPby3U1k6l?9UrIVT^2r*q0)(2x2tp6XG6u4^LvS7Zu}j)GI!Vz zoMZm%i}TO;ZI<}j{Hqc!L_y#>)u(GFnFY0RjO{rHM7O}9c-b~?-C+xrU5Vxem9r)@ zaJm%gpX!7C88A`h-*6tBO1#8ztk%vm+Kp;`@@DOcVpXG9>#O=>kI{{HQu>?>4Q5lr z1hco?F>SQV&IDaQDF!~At54`u2`gC8Z$A<`7J2UZq^yVbKe$G^5k*XpKz4t0hS@>6ffYKpmL1H>g3U5nqy z^Jb!l*_3or=B(HC8AmmhQIgM-KlmWEYmzbI34yfR3&Nj#K5Kf!MqW|teN*-vEU@Lof_^?@IS#5w zQ#g)m<}-7fIkLD|6=6j!V|PPC2h24o!vBGWndoHqUy)Xw9I4hrK0sG)0eIqZn9{&srIUKdt_Qc~#wbu%cb2>PWEZxk7pea1VojkO;) zVPZei;ntL=CQNvw?)P5Y7meK7Y1ru7w%)tiubVe0w5kw_dX-(q7@lAr#8AaYM6!BI=DM?J+5@RdBz3B)gPRrsrr^me;9STiK2G2mXvJorGWgCHrkYly+klD)n?Am@PW? zLVE`XriR$)Sj**(?Uk;iAS9o0lXBM@5><$0WZ5(|NuXctyi$nhIh5+dq;7l{dv^S} zG2N};({y^_EOo<2q3m4=1HN42o$^U{-D5z6#+0(}JTfKFj8jQrpR3q(Q%-MH*vo4Y z6NdA9{7sjto$ebbkRBFdRl&nz@#6T4JqvsBSF=vxwzL9b~ z>IOecevT|*apI8Y%8#LY%wo$SY=hVZdgvw)q#BV z`_~dmsEX2wmAl#|pB&lfwLH%<$ZVCD9jR%-F6*T$73#uGS?zJFsj!mS{UJ4afw%XK zy4pIu#E8EBr*yildrGQd%2>%BkltfG?se0m<)NSQ*HSAd>upjZh0=IC1$i!$?$B$= zZ6Xh6yP{lJ?VfRJ!-mrHe4W(cUP;{!^I=ms;D%bBXxVaJAbQiLsU;z{STe)2AT`-9 z2yCzUF0saZ2DT7ee8j=ak~h9x&$B(p?x!iNX-)~jICA(?$Nvg*N_(N=kEh5L=73*< z%zgI$TjSY1Ig4C=+&8+cQS&bioz#n$8s-kh^VN~_=y#VFgVE44_R!FT5RA-l)RsYf z(&Z2+ZIyhl+se@=E?EyVIY={!i_Lh40J6yWi9$=?Aeuqy@|#bw7)bg^G@-l=&5@8s z9Cgbv+7r93Ps=*urtg?1wIm8-+?Yv`qBOsi0#tP+*%_B;rGFK{zprDgFQzwUGi;6Y z^R3X?eSO4C>AT)w!68JLjcX9J+~PLc7MX}OXAATpUi(vNdav8;_g-MC)_V>zqgi6O z$uR(A1i&e&7&IEX3HruV^Q>;^t;J1b#V%!~!4|(sf>~QN+q#C?GqfVExCA;_IXouF zyo*jS&wGWLevTM8q4ybA!`ol~ByjJfsvWvK_v`=*H(Sgf5Wb@>^*(YeO-~{vbt7IE zPyF?ZetF8VNlhS;KdWRi%F+KRxP>9NXQ(KNo$cw5eXj=C`ovEg5)^)wS4LgCb$(VV zkYEX6(}AFp7;y7USRGs5d?@A1q<1e4yECY5qHj%iHBy_cdr^b+#EtuYtGZbS#$KOI zG-S5+HAHWXgbof!oYcB~&OS+2qERDUYVnF96@Ew+KgStMjrbMlDAoLZ)n$06dym!) zZ#^K7>2sgGJ7X}PlpOTL0r%~Xe>lI=sqS}4%Sy!=o7c!C;^D}nqe@?z3NFRd#WY(g z$FnYfVwP>2mEzdFGN=+r^+e|U8A$D^hWUDu5rzIEj)dpq*0H6~3gA$K{u|2br+n5K zM&$Y)C?StHdKF~=+^5FQKnEC~1|rd-(b2PcjJ=s`9wDg1l0N?+4tW2VPT)6{D9*$` z9DA}*Ebf}9dShez{*XS^z(5vHr5&8z2DN7$(2k~9u4?UK8;R7O=k`L4@|=2wzCGIP zMD?+7Q#F9~S?q*{^WV}-T;w-ieOM4#($YTc2p3~$wonjEYt~;cS*wd>2W0&wY;(yqn$*?O@0O6fD3WUi-6yxwV<_f%ce;j(e& z8}p*df-H@eFmJ@Q*Q}SdsxED7_W`K8ec6f~F(Q0~W>74&Bkler?cPrdEuwOH^)b)#;=1H&I6L34N2^m z?g;-pT~O`Ah`QYaH9?caHe1wf%H<6KLz_0GD^mtsh}f6wxX)9{=u6ahxN8yL@a3vk zPw$>s{3#W~QD@>6?`gN&yzgFp1|@4LS5$2*b5R|keE^cvTIRVlO`YtE%M{T97>#tI zJ!yB*!!YqN(w+q)xv7|(33JswhQPLriV{ueuf@RbawoOyK#B1;izP0G%yx-%FC6kL zYvu#t_MoQl3>tY{Jv=Kru|s6jcLFRmchq-o&F_OuLb}B(1E#Ktrs~eL9}ix>617NP z0pB#CLE^qS4MQvGSAE697|Kq|-1L6NVlqIuyI}3AlED{qE(j@zT2oVLkby$^M?B#g z$bh!eP;F`Pn12R8H)Cfo2x>y-!T00NinS?*q4QXtb#jcJKQ_%pvw#izt zZi2>evR*Lw6}eWd@n~lNU|X)~m9`1)Jh)OXwh}fAH&@6yVj)okgEq_H+cLc|x*k`VYG7KT%b4!K%u&yTP6skNmBdcjfQsz8dAM7cVc?nAwDZD?neGnzk@MYROeJMUG%3sWm9%hcp+JA2W=oO180x3R_=GvB+ z8dPDo@lOj@`$Pq8pU5u~(pT}-8zU6|^*^pPjbIDhH4DCV8}-H;x< zRUmn?33|j=c`&Jce#U17sRsA;Rll^CNU62j?%~G7XDg+JdIRa!8al=sZ#wD#toYwisQ#&>y8lR&dqi#3jM5`RvGAaIB`A*go~PHYiLmK5k+I8 zV}6@5&HusF-F0BRA^r^3djC7$Ehg^!>~)8cF+Z!&z?RQC15dVE9GEz{{X30V z^ioVDz+J8?v68=Xme;*4o2_$;aG|oQ>6G1FosVqq482`lV&w45s+4<99xYxSI`)%w z3kg>>XtI2%SZCapn<1uN{a)!ak?FsvkPAv5@%O=C{7W3ZOaw#oR?pD7Kw9k|`*o3Mdb=empj? zp~LXwwD_~SYgc{qnO23UMM6-Mh0Z0Bt_E&Aq_W|yQ=v0$eyq@|KFA+hZ@NcDw$^bd zwhU28ow3{|mBlK(N9vNRz7<8kR_Ch3_zMCFJa?eop^^>82U%}aIkmni7w2=q%Ku1H z@8?dmk?X>Bd_&7D12PJ?QuuuH3*m7mkqo3K{;>s&#T_a}8fL(vMfa`TQZc{bo^x;K zG1cb2Hkp-X8Vot6+S&sZt@524#ci3SaGvgz9*yC|WqPX9K`{z?`+m6Mg6Ew}(5c{+ zJxt)#xn`A2&*haWEaUl-WL(R9wtOzJrhT(*LID0!9J@)PnM8XD!`9c#8or3TW@11m zUdY>jI8H$EKi?m`|3Z#?^+OtY!+v&sS2(|R`r3^z809}8`P&le=U0(ix;OUP%Ri2< z#MzHbJUhMY&?KR|Vi&K=F0`UzRSho^na80#|E>-1@uEs49hc%joX_JpY^qVpGjG{p z1?_oJml*PNJinytPDdQ9=;#u>T2bTPDGRyS;wd*lULZoJCz5!fr`O0o1{NwxYh20Y zBCyUZ!=4@YJ?7-em3}J_O5J zV_|=8kj9BeOO2_J=45C&6T2FL<=WZ<)Vm5$V?#gFr>Z$NEB^<_!M^p@(LXY?42(-i zw4ok}UY`#liyt6zMNl3-9J7O+!)x4_w zDX}7al3eG+YGe&L@@qXRu^6!rOC+7evNcTPgY^fk36wc+iMZaS8DP5v2Umr(*Z7d+pIH~Ujk zYag7sk1Ks)fGaTh7)mhn_{^y%=1|jU+G-8Nt!-d*yuC!>K$OK24G*s3b#8Jc4-p2- zSK3sLsSb@4PY>@TGSJZ*@UziZQ~0_(Zs8>iR5q-t3s18R5~DCZ078-%G|ASsmFGDj z7K&i{;r(T#sn!#jH*VF_F2?culhWqbI%$?h^zjLNVU+NNevs+qdgq+EX@U%OpVEAj zbr^*~Z7K8x4z4Y5@V~_zTwl$+`>z>!fhU}I2k7^~`|ooULhep1=HAWRlRC(qslCE^ zYH4GsM2X5)xz=aYLE9}r%~|7q6J^m|dxnWA0SQ9NCXc%b)&`=1N+6*)Z<{glW^tcp zW;P!s^O9*PW2!Pvo+gDmu;a0w&opgNiG0)Td;{G)TX}7*>R5d*x$Ux=xVh}BbE1** z!CAgEjn;P$(*NP0%O|%d?P@=s=cgzZJH-muCI*3thgw99?4bDttSXd1|E>uCj`-b{ zQIQqyUs>@70Fx%;`o!j_B?hNuui5 z*A2Y?!|3)#?AB2qQ;qCv^tF3RMbAhK%?=mT`DJ{p1L~M^O{k+)MunALh}o~|NRvlF zT|Ol`-XL33Bpbm;{7W6Y-o+$G5_h8C+Qd+^d5Sz`))XxS{QAFncr|xYrT?UjqvDed z+Y8o1ZT0HUOr{NgX{K&FLTi$D{h`B^)|<}v6!k~w=)Be_1c>Gd-#G*}qVFT_J{d%+ zkMnSj)(v~7;s3nslT?NAzpSe*&G#u{uo&lD^nJF}Bf8qG8Ypj@HENz~^yQ4pT5*~q@;(pU>V7NlOa*P5@@rL6Ck5^KWLaCM9^v`I$ZjU^?3u+F6 z(7)rBcb{JVBrY2znUSP=bDrW)+veg@Pg){gZ!TER%bts1l%bvJNKsWTv#$1v2G`n@ zkkw|voj8eVZpG)5{SL(HtLH&a^8rZ?sQGJPRpdt&2@BF{_q0#hyjgA1a)6S;i(PUP z4sLC56{V4P<|lkuv3^e>)QZI}ad1ty3k_s%3TOi~?MxmJ^xLYmU;Ne*NbBz+>UdXc28e0rWRi?<($sKUO3$6CoujdD2zXq)c}1E; zJc*nSdHVE?5$TW7n%|uZo%#+@kyi=@Dzcpxjm|OnO^JQ&1_#Z#;5x|)FF(%A!P%W6 zYRvpb{hf;~?}}>hP6bCnQgIDi$j~tP-Tvjo{9t!ayN05`*p=>UN;fu-1=9x|O{;}> zB3G`e=8+-uu6z`rVjgs7Wa_jOcvwW-h?O~dq zkV7S!e}z|qc>pPzyJmZ+DftboSYs4$gF3AAaB6$>DM>iq>QJz(_jbtWX)(91Tdab5 z3K(eG3aMi=@JKcOC6cO$wY7#@BF^>{nlgaRsc*Q;l%cgzo!JYTDT!{n9MSk;EWFUc z)Mz$!jw}!Tp*YLtM_+wk6=@yi6$KHPLpjV1?A;|#4X3s9EXyVW@n`#M{MghB^YJ-+ zrn@uyrGmERHQsP}aaeP}==%rrTy^@7@rueke;G4Ym()f%j#5@L$b5{2=hX0Kv#U7K zvGvZzbY>^{uM92op6MlZoIXHlEMmDr>zkSHtC{+UFWn*UH5)B!UOucx98RS@2Y8>x zn8>Sw>+@M_swi5VjJE?HZ+09}_4s(c4bpNzCptxwsnQX;LI?6_kSV-27hEEbu zQHr*9LtwxDfc<_=3f=L$bqP?pIEebdqdm=o`hD1^l8tPNQwY!d4!8ZELU_fsXiV@+ zQY^Pa-Ks4VP9MLYjbsX82m)qQwD+&FhM$8=D~{Vu8_~t`M-p3($0 zgh;TPyPox44BfM4jWJ^+o85-e*O0sy1(`iaBMFu)|L^!AQ*+L7BaD1sc+l4RaH64v2Hcv3ip_3 z`G?b%<`?^lU7$Sutk#8}z7T^t?lVR2qF!rT$k|rucwm~C@%U`&*h1%T^V4+@LOf%F z=Dm5cRy+7!bT#vXcak^0mCd*LVt0tksA!_5cgXIg69eui8mlAq<~`kbewUe%31pJV zLN8p+zH}>|-M&iE$`N3@-~k}bpGzK87xGGFgu}Lwab~Jo&Q7YcBce8J=XEXke`x=v zGGsgd8hhXRMron2-^; zM2i#a9JP3qyF(c4Oy66GN_e8qVN5^1=RW4$w&Qi7JUh()rGJ9&8AoK-C2s56R90$+ z3HgukrbC%{{A3nBl3BnZgoC=jCEGHY2^5)bluj-28g05Eqx3jEfkoJruF8yRPyQaa zDe>o5k~?yHad$*W_uQhM-r|AS(qp@}Ko~U$;MXuGR>C#DV5+r1EAV2>UX=s8jVc%! zEd}qA91kgGn{|pRy+EFYSjn*c=ikCPcFv-`AbR&C%{jxGTXAX|+spQkvx6qz+; z#ICGYn6JdIn(zGLX6Sj=5H`^O6vh_YV$rG&5)}V%4mIwnBxLSU=5mFLNh+UpxMSOi z@muh?tD$~a)IoZRy-z62a^$#fz8W{DvvSwZOc#G9&(TP|^h;5M2jErsBdmbW#R%ke-Rfe`=jdGOyxk zzbp|=#xs_-BYv!LikZ?k7S@aBu8OspT4fEfR`dIoaRY)IQA8yyMI5`%6MW{iZY`UI zMom69Cv+fZm>{?E{u$-U^9*DE@Hs{y-JQuoXS$u~6E!LaP}}QSK5?$-e>iGg-A25V zJqs7j%I;u}Z$Gy!!xV`Ne&$SN_0BMs=ei#p2W)`#4Ey)vm9(eIju+H?^xH2gy`d$j zq+;mT?;-hn8X5+ydQ##S0vU;JpYW^TUga#UA;;v&tO62`zkBA73V3grCpOG8l-~Qj zm;b)a!BhduayWM@JwwWdwA9_5pVDs|@HqT+MtYi?CoUV6dErmIZF2RKXgG{lKgXTs z?@9w9Ae?@0%r2K-5R;@l+RRaoLFS3Cqe2T4pr+D z*#`Cqx!WFrR>J>MS1U-z8ZXJ|qO;Y2T|b-5n`0V4c0XP;U}4ScvE9pJV=}O%5dkmL z!x@*khPJ#)0Uw7$ud-MfM0&-+z3LOdaY50bl=8uEdb_NI%P}Ds#;htMR|plVlsU{c zNGvZAGT2M+e8}%uz0Kn9HcqY6JRul@%;Xj@J zSsNd_sxx&Q22m~^zjs#VjF#u!?#a4M%>il{5HLxwsLzteX0yce>H1@$B`R)z-bL=!L<~lG9XAxg z2|A49SrJz)apnsxCC;9c$C|b3=9j_3)rFfiUZv^8)GPEahAhiA@x004K(`_(KyIHV zI~p_M(%8sx(ZsXaNL-M=J(D<;L)!f^dq4kx(_)6iXMJ5i16=oq{2-3RhStFKYcwZ! zNa6-9*;}~^X_Hyyiv3F^^Er~jVs|`F_!aHrII~>Q*;5CiAy%*Vq-SkmnSBb0#nT1= zwl_DQ9vQc)dlHx%`1txKHyI!Kwz(eL742qe8PS!9?o^wywawpbS#`Vw4^Ha35Y8gf zvz0qjeT>*L8RpVq);urivo|90w<%k5ip-H`)EVY76V6T0iR0uteNMrTcMRNAfD~}x z_IKY;>exaXEe62%5=ShcC$ohu@Yk0e{^q1f4|>@AtTKjwapw6>`NYrkIpw+Zx^H<_ ze`8s|+1jIe#$Jz4mb)?EY$VcObM;wlqoR3#j9y>B>ANSFZRgZVI; z&yVtqj_cmx)zWvz>HRPE-a4qQuwC>`6^a%w?ohlqL5l>JBEcPk26rj6h2l~Ifd*@F zhvE*!ArRcPNN{NJ0)?J@-<&;XfBWn+bN;wTq&n#ru0WY)^-@AE$Ld%!b+8Bb^t z4~NvtV=z7?n)U>lqzfR{*9n?2x8_^hC9Ps>zP_z9-ad$!nYPLf(+yr}pYuPqcOID7 zWWuPyVf?p7Y%J1(nH-Ym;oZt?F&vxWp%(3HH+Y>_Z=3|uKr1qyu?4QYO6JBu>$70P zdAp{J6ujxlSL1H%`4DKugs9^Qy{P54W{2+sqml|gQalq#ozN`@*3OhtpXIGu!PuP zcnFS2AK!yW^$dph=nPPQ3HM5_xyxo9qA113B1Q6QuXWIj{hQB9q!p_bEV*QiJiE1B zx5k6{nH#rF@+_Lsc6Aarst8qp99gv)VOUWJ)*l=3#cfu;$(!P=%Dr4Y*{WSN2I*8v z#_JqI77Rpcv?q@|b69p%JfuQ!hCk+Q6>U@QkVGclH)wPS?#zNjY_!H$uzhb%}P;LD3XX z$Hs_mTh3cY@=Aw;kKc+DzoX5edWxQBcQnv)A9M21`pdwzl7(}dF-4PZDzj&dU8mL!?kZQ@VvZXC`oT)x~{x$*@54?6UNUgC#OM7QCZ#0;MM)Lvl0;+9bF+*m?^A6vsRl8$(<4KSU`a#PtQ9n z1)(X|*5jD|r-VrGb3i}QX?a{mzr#!Qs7Kw(o9RGCcsz{5@b^~yZh~!6d+A*Dk-0X? z3&SY40D<&$lk{iOMas;IB>6 z*E44%F^$KxKdI@yv^OgBDmQ;A)DR9?RjJ61WxAKGd%R9AOCH07Hhtwes**hTdrl)C z(b7*zmb1vaso!^Z6YZ{8J(?vLlTFtT_JzxCG~h!5e7jmcI&)ysD^`H3WmKgOC%uD+ zvY7HGiD)ZLRFrx&3nw*{<3Js`=Cd;rkCdUfA{C3^v_d%{HAD?38!Zw{ zo?wjzp3V%eiL?B4$63X?wGpUH^6y*IcXt&xT^yr+B_1Lh|V4m;D<* zn)1uk-YQiJx^HR=H1+f{pG_%SdJ?seOk%ImnSYnxe>ZrZhzI0c3r3V zwejEiNqz-9`o{n5-#Y&N7d^gn+Wo3c9{t-nmvzkv559l-!jz8SSD52jm@}hte%@ze zTdH#NLsY``qim{Vz>kB^?UNL=durTWRN{_C@8rcKuKJKa=i&{0 zzQRyt!X78`c#gx_=;*a`3YRNg91qs0_177*x(Fqd;oCVSJMj)FyBKQ_Y+`Loz=3OuKqp}r^mKyCD1**K8 z^)#tmtDlxdCS-tXOtW`DtCHWlZ2u`mI_}I;z_G`DYCoYK7sf8e2|{5tv#2 z=x14P;6^#LhOeMXqGo{RLpFO3ogpV4RV%NwCttS0q>(a$dsC`#7)!g%UaViW+G9~y zeHXwlk~v|V{2HuV=y=0IONUFTe4HHndS7|C86@*Wbm~lt)Jsr?G5l5~a*8m!g+p*X zNv9}|DDVg6p!v?5wY9<^zszX$aN7UNONtYjo$N?tTGhZEPUukm;|EhT?YW(!q zSZ0mFJ_D-9JHguC7w~|h#Ux+r`8hgWdb!PI%27i>Qc;m5L)?{9hgj+$_y=l^C#2n? z0;J;4NrB52cNP$i(}7b-+%=`faY#?)4=(*(?Ybl?6(kj!mb~nVmtT&m6o3z$98y@Z z%W%fHV|Rm{N2&7C$VG>Wjj(hgkU zG8j5oEu1&lyL(S0T)394_-!_a%hZbe&TB+oW2<%$1?DDLVU2WmA?dPN?fWuZ`~xAa zC$5@TJG%(CyEe`!T>iRQUhmA}6@{4RudOGis$-B5Z+i-JJi*#}(Ul*f z%hR1GssRt_cEp)a9_oM3?+rfQtpJra>!b9k*3CQ!qH%($kqrTs1*3*B^S}F*ix3&! z2Q5%EyYiP8A_6O$1@t7mR2>y1xp}Ey z*ZF}{d~Ghai3M$i`TUjUkqFy-09~1gL#_3!l=NwokVBY&|H@S6?$_uye6cGW*fuZ1 z2SUGndUzkkBbrI9@Oc?o$bcZ=&6pU=C&$1cvTOQmXtUsDR@j94U1HKkBNYjMr6v~GwR!nNb3x-v2OtEqX&SkKfsh)+2TXq>8usr_b{L-r`lY5_u4M*z3 z@TUa#_cUp^&sYIZC1+bEarK?{?Fy<|(*jKMbaOfQF)&lR4VPX$A!}_OQ{`scZmAEG zIHC$g?qv?M@d*v;wu>y;?%A(oi2cpV{2g&UKg^QM?QN$;E0;Jz_-fz_N<7QGLf)uq z=0x+-nMu&2{3Cf@gO{yukfaC=h1f9CC0_tw>R#Ht2z=6L=YlFz{4!76Ks$Oj9iNj` zqu+Ex_TeWtv52r5V3n@q@pUQaE!#TFFf;SZU?C_lnUP-R#XjrC2-tIF$vc~6Wib+(7g4Frgl2@h*7yt99lirZ&|3~f zhqll&buO+rUgyyq5-Nny_OvmVJVPxxy^iRLrMT4GdVbh^Qa zyX8xIx*gl^?;bsOtawu7e{F)&(tN|qxSNa)`3 zA6ZGb5rQx_PZFt#wC?~a>cNhTOoOf7r6r&KJXUbKiVZNi)wx-y%*(UPPgSlp&2Bxe z!qfb90izlM_>w|Ll}(4Kww_o+fCS&^K0#7!PSB+YGH>Bqdbmt9Ww?@T6YmEA=^P^c zJ@CO*Gt{b#VKyCkz|0|jkL*b?XekgW2mb!xK)`lXIK%MwcKqj8)(cOehBdNmuxasOP zoGUqSy=1y`-01r#^%!AxxjhBDF#%e%Zr#4H@c=xCxPFk&8JsvRiqGT!>02MTvZT9+ z^S=04IPTW7%W#AHNRV#doXr==U3^bg${ReQ+eVw7K%$0S?!C;q^R+I^AR#>=tB^y0 z{F!Py>odC(ts~7%3#}%W-ai%5v$nJf3S9%7wyPsR6}*O6#}D;PkKdG*gDDJNy?ZFx z%sxdCyPRGx)v;j1BNQ}U0+U?%VyZUKQ)OvH>~HHON+yVJ`N8*m=tsT>OSp{+#z%@< zJh(AJ^Cy16jjjiuD(8)+0NsLDT}w=Aw2e!rhT;g)AXZ?=7q_!YaiB|n2BB6D>N=z3 z-0rx(eS!lf@(80eEn)c%n5kqxp*Q(;oMiR&fTOkTPzp9(-+q>{oPw8`uH)RR(4F-( z*5CjfQBvJw=!+y{MO1DQkeXh5rHrJjxO>pB&$zc$XKf1_-F+xTeXEwh`liY19GS}! z1An>b7&pr=o~!?mE2^pR;0JPHj_->&atq;VEv)7K`rm}M|8Rex&ntI2Fk@jLdVEsl zF;%FAU9}wiewmt=T4A*!ZP80YV@jiMh3)eJE(D%Y`L(W*2TCrk`rM0zCsVi7Ifv;4 zsiyxmg(G)y{VyPmYbNQAWAs6=jdo{w@dLMUvWM56?MC#InLjA{g{g0lVQA!qZK$f( zJBt_7ZU>wIlk+F9J4~zemClRAo}9!h-q(En*9YE_-#vK4_pk4j{?`YdbiUTZ{nz&r z{_6w(RS?eqYLWjqMu;)G%Vf`sq@_^yDoAbg;-lEr#(U5jMx{9@Fo0!wakA$I;~O%V zQ_2b88Vuz)u%BpI8_%|%jr@Gk#rNap$1m_X1Mz>BA|5lpm~XRIB)rGOo$+d2hLI7I zrTsFFiVOAUpRKh^^xPQAaE?kS)U&Ailr$ZG7R-IraJXh06*yAnDE47N*+U>iTyK)dZKmxp(k_tmfqG+VN{w#@wOwBYE^TVnLjbf zwk$AjqDHW}bci{~G$Fx(Eq*j6@JvA2E_yVND#9*5iZ#L|kKyF#qkNa{0yx3r*fQLwtW!@S}69y0lKd)(fK9`u1 zfSng11V(Eo@xK@~IIVKlh5sqr_gTQL-TJvQWUOD2`LR_L%0)fjm%Tie4Y45tQ_aAX zd>i3Mnj~Ld10F4U{M#b*==Dwbuf8#$@O{n<=faS7sX=4r)9>@dgT7QjLi6bwH$=BM zxz2)t-)DhXmtwPVX(?*_6N9Du+TFxJYvr_C!CY^G{7wCKo3gqJ;g4*e`!cz zp78)B3ZT#HsphRc&(Ml(e#*1H*9q&k2EP2%$wtc}5`q1K>S-L1mVVBawvSLrEyI$b zPpwQt!UrDJ+B}Qad~kC$+WTSRc6bKym=%Vn>&qtaZ}t4I`+v2-|KC~wiHVL~#HBtlMPxWCD;uRBEC?D(EPKs-KQVY_~bmdxNbRVdr8sFZy& z_)UA2QPN-gzXt}@rwA(i=S zK4BzoK4dUfrxHy&Ji9!&F}v&#)uA<1GIpH0u3NXr(=$lV5$z zDEjF57^KkS%Ny@wqx+Hj&`f;U!-tHjED-t>bWT-u7Gwka^IT062xm;XS4eKKjqk7? zK$n@e@&X<)Fu(r4XnH(SX-*z}tJ~9Zrf&3Yf1-DkXw7nc`|;QArxSt5#H1c+0wq=@B28$7>Ij%)&Pm(|?T7Ei8Sku3L^c+* zTs*7T>$QqjtS>E%vZZP$`*z&CNHtp#-I$Kr$~W8_FYFDj@fEgBRcc1g|EPNG;@!Zl z`TNHQwiXpz8>&+1eg8tstu~mYidtm-kxD6uB{!jveJy|JQE57^81qx?44@AW?~%wp zOoW)Dbs@mu377IL@5;+`whsiLi^eyxs`_FRRTKPg{OxuR@80FWRTih(rG{;S7_;0xP?E;|Z01xK?+-uz zLS?11UnvQt(R?1tI47ZH)@BQVEdBYol5uJVtmv$%ph$C>{ADDP5~#<>OoCL08CH`u zP0!Ee{8_`0XfQFw9xnJyM>TF1ke<<*vxs+(g{@JsUMkir(G`a9pn~k)8V#X@zkrV{ zHNY`UE>5n@QuA^;NYgS?(cU1 zLX|Ph&|W&i8XeU<89;vf3N2CcVWEXgrbxI!Fu6KH1#oziMFbGwnc#%XAz;Y)Oxk$S zr%ye8I&A*Fdz&N^{pQu;CeE#uQ&-$_i*^T0v5LGJKVj%}KpK}>(YLNG`JvwELB>Ir+`>hX60OP4Mo`SOsn3N^dU3Db&GV~PRB0wt zE~_K68)xY@Q1vfhh7YfuWxthsVZ`~H)g|SmlBmNRB{?7O-s&8a)?3EJ`7;6~F0cWI z@pOB+B1nj1|1GXASU8!fxEQ4Kra;`O(6bnmOjbhGlcsq{UDrlzNZoXYvOmZpyK9?c zt~(@8LOw>og^R?_CuH(eU}9JcY{6YSw0J;%q(QSj+u?rSzB}-YKtS|S;*2p-}NeMxYTU^}9LotIVG%@hPR6~1b znw!*eW?SXc-vGQHRqy^USh{E_><*m@bLZypGyGwyoFyvnLuFp=fu3vVejVaQU}R#n z-Ck>2s!!_4o1}cbN><2fb-V+ZRstj#h)xw_f;nc-=R}AOb0>NVCk;@8e+DhLF&p>i zHjjeWiOBS}riz>yT`O>ew;M5zTO3nmW(lc5BIU?==eZATOf4#f@WTWVVax)TJ`DoP z8v@5h(ys_EG`Z&;>22m4B30#__k+@kpI5SY4sF7r$>qtxqeiO1L>c)iklb4e_q%g- zAgxliE;09BSB(g0$#tcin!NBltp5uBca+rsB3>ye9V9rP^En9>&18u4_d#_LeUg*4; z;m5qEON%=rRjWl27KHPoF;4tipDJ|b-U!a*r9p=IJ8bq9FQ607=WLvW4*0#a!lePc=(VpFR%oq}7qAwZ~I3(gv{Ja~09<&B#3 z*MY`Z2``nV=XVXt|0wLo)7fc!vDKcy>-vYz)#AKm?)KbIW41w5m}dE@BMNgy+}^0- zGM!P-)6;ve{f|p`0`pn56!0-Am{9&*u&)_LQ{6r>M3a%wf;ll#)E@@XCMgLY`AvA4 zMpamV6m(TyLsO?V2w8>T7NQy@B~U$N0}B<%&Q8N0LLDf3Nj9w5J}cllcS7+??|7&C z*rqxAr25$Rz~P``vRTf8=|WAY=n$H%(ZpKCXVa|MIgE%4wSiOAFT1z#;qDgdMvPfr ziif^DSjg1$qu=fzbnUTqL~~r9FzYM7EsdM%+U`%Z?vTE}WL~UvVov@9AmCqo-(V_> z-tONZA5vV=HV~Lm`Dj!(FC-fKB1wN&53gEn9vW0Vi=8X(x!o?5AmFQopJL9;NN}vl zb6NNfJ>Ka>>Dhim&Qj)C9?ebC+a{H$rG-}FM}aX`W||>pue_v6o6MO#Un#F=4L?o; zR|n!N(z+r09oh2qE?K|EaDVIRt!tlXkjC52l*{cNf~#rtxrQ+DM9gke#SH~Az6XIJ z6S>OljKvwM{^nQcK`M<~en88HFf~0cP{aFyPVjf=FL_ij@?p zcGy*XZOCu|1yw7`@0n$Bm#j*CmTlqTOe^BfsE*3g$GB5U>Zw;6@kgW^U1uo>@EWV| zD%U-SCG*tuO-)=b-i8oMpcMN8TN)ZvYdF2g3acqbYyu2|q{6qAX^OvGD>oa+T?lb) z5awRtt^`vSCx-ju@jp;i`gyKD(MlsAaAVgr|Zg`G34UU7UP{*$?m$2$L- zMl7`6C0V)MI_A3zO=i9=7i)eYi=o1R2ru6HpN#%PN>N^~g)r{D$!LZouguLC$QTOB z(IAN+rPmQFEp`K}QBIf3vx1Y`(j?q^!Z&3ctZ+=|{EWkCCaZw(sk9+M1(uLHuy&MXAY-!0+xdc73)X>WlKuY%r5v-t36k z&D`VET(+m(py|T|zAr7sCHAZ8^HMgL4-dVHu@6h)ZiV@;#6n*dxp_!d?kT{!#ul>I zCGIvcC=SZQ!RdrAGO`BLp9CGR_L{m~!UmFixvS=(2X>@}z5q@y_AE$Xhl1Ylq-Z4i@Nk`MZLMKXtnFa_4(nYb-uXJb7hbODD#LA0iA2uxLffBWhT%-B8&3AydVDB~Wy*|sHwFQ^QEUocqH32r z<9*!=lXEJm*u5wT*ESM;naA-VMLmVp#W6w|#WR;TQr)DJeoi`!F z8o`|83E#+d5uZ-{;ulDUjY{U53VAI!vYQhRUpxHXMz;BHeut)ylK(Qv&CMq91{-Pq z^k5k+R5hKT_|zI=5#ox1H*P1Zw6>yh4)g4ke;a8E5IroSHi_aK5=b};iLBy}jUB!~ zi1;ztA%ZVt#MXni=?+A?o7#Q3)d}?%M@M$EE5J&k^k5^N0uTr-xj=8;l6#|qmt0ik zl;a=#>>SnVr^j>LjI+nfT$F-veVi1vi(c^Dvo2&T9Vl|1gd5fbumq7=7#~5sW=KYC z;)DPXi>cH8*&h#Y#p(ZG?-Tw&#@$%4ZsN6?;-=)2zW~dkzkrBV!s`YW03aH-5EEH-#}Ow_x+S7&z4MeKHZ!G<-)kw1 zLhKNe`C;=PnIG&a2V9?^#9dEq(C|&LlN_WQc}VN?AjPb=@cu^?}|EDggmp@y>6$NS2YZo^xcM}VnF}ECgffTNPoqO+^ z!H~2xAmtx&)BL%Lw&-(W!twkG7t@c`NT@99d6~5@u2Y%03R#_(>WE8W>D}XW0}nYL zEkAExcs19IHYI-a9IV8@e=pojVfWaERlgQ8UninbZ_Vl)igzPy1DY=u9vYsN5Q{=L z&A*rv51L=ZQvhA?U&RZ+u?eivr=s`MDPc&Axq3G)Mn>)Ub4M?9;_IPKTpB^F9y8-j6ID=+cx1 z-5En{D8!H+`ODZ~O_pILY)*asO?D`xoxiN~6>mW>TcJL< zmZyWWL14WzZW1Rea#l_7LfsU>7A?>34F6nN>9KsmmPm?fu1yr%tCrAsC(8S@#IP*e zMRg^F3UF!E=xg#IXVX~8&Z+y3ZMP#MrKeE`sZccr0?1%_!~u z-om=R?7W@UeiANbHoaryxq1Sf)BFmbO?%8j*FNVyB@iX4bD|AR(u826g(je@tKUm1 zFO6H4kCVAQkoz3xx!kP!j^_8JGD-ssGGiD-=W1>gU?HAxR&FQv{IYGDTgb(_d(2{X zVa^2A+Kl|>#gZZa(z?Yc{go@RtJiNtzb?~$8g2G^?IQnQ0B>ON;x(i&U+BE!OO-C= zpyu~cDo^n_R$eqKLl)(v3lcRV!4juLDeArt38s{^sVfk9+r>x2^P`C9lATNlyn2ww zNltB+{+@zEO62^^(2t#=dak=N)2glX<+}Wjg0429C=0J;-lqin(LLD$j;`#Qt3IyT zWm7yAmEKKT>`aN=_KpHcFl~y8;YgUK_OY1O3&vZWp;rDgHr}`6PgBo;}_dcL3`_c^j(qKH>5bCW^E;s1<1>Yt@}q#+)DXpmkT5p+67 zW55P8&W0;WDe54*rR@%^GRY|(Ny7*E5uK5Dx)x_nsjv|XDj!R8C~SEp*^&pc|nOutg^BmJTef=Kpp`UmY z?gr{3Z=Yf4=)TYRRQKw$#%S%C3G{LBD}1I?Ih<7_vbVb)A20!7{ZTQ=c|l;Z0H-QR zz5=a-wU|r;Io~+V>LATQs1Dkl$R6QZXxtzzW|PL8G*Dm<66WF!T09IYFd{l~YS3?N zOf9Xz0a#dU;pTOE99i9W>&vXXKYcQ>)^z#pFTje6{!EBl91J2a0!j4QFLOn<~g)OM(ahq6wV4Q1S*93=`} zc}T|cMwS%$&s1W1Q|ccvsl}YT|l);SlHqn{z62nBtP>0VZZ%sm61jf+^lh(Rb21Bs&WQosaT=2UiM08Kvn8FcS z;_ZD$nn}-EY`K!cIhLcJcX>hxWOS?Me$7D8IL<6>qlnt_lr7KdZlVGV4n_2|PDK>q zqW)uJhn24gX(lUXL5*nT%O}B{Bc~;tSyXi(5^b>}MW*P?>d*WH@;3hv8D13jV`K%f z7bZ6(Z{vdQJ@m}`o0o$gueO(r(cCJX^4=w_|bl6=LkE~sHtn84zBm;$D% zkt$c>#AHp*_469w7*hBFc+OG%U4SlsUh6_+Vy;z0Sk#qvyb`=*PRS29ChE<74y&+` zjO?xTrseFSOm%3A@!Z6xdtQ;v^Ux_d${S8!3w-+1IgzLLMmbm7(AORvMY+eJc%;h239E!ktSM~(abRc z!IhwO-CfH^Pdy?`liOU!buh_uhgSD09Q<@3LD3|wpIF6dDVdvsKI$WXV&92!NDIW! zTDLK6S%?{y+E9)_$;YaHsXXigqE@ILjJriXR|Zs=s;vz=;0R~n0SSCGv3Y{4m1c(vcmxJ(z6KBm%suEG``&GA#agDX zTu4%Xy}RQf_+~O*Cy1Kk#oeQZz`ipO(%V$T^FySHZ3;(>C$-op7B?mW{8T1qJ-;v? znrYqH)2$?JdaPFID+g4cNasQy&Q zHbts2O$K^t>oc|KtS`4TltgnBcYKy@pEC8au z9_jQz`)J%ecWvaYs2ij?>Ec$3E{qL++9coQ|Bp@68+{s@N(}cfiO+sS4usX;$enrf!kX)vaLj2Xd0= zWVuzt;MFHzcC>r0T|f1w>LT@>qwbh|i*)K@0Jh5B(3Eq)309z?uP?HGKVXp3#Y##Q zIvFqF21{cpFG$Z4Sm{36*{x3nB{CbIP0xaXPiWxX70QY+Y(8N5f#Nxh_?_XEqerzD z6;--j-$4g2a7-fnqL;#>*090F)R(t9qm4RaHokT=Y|_4_VrN+U&LHA)YPGZVc7v z-gYTpZdcuLmjkWy2ro`O>|^OpW?0Z=xUk1qFH*6mchNrDH-R{1ft6#kzsCOp2Bed& z64!p<|GE$t6u2ZvY|~B6hQl)8-hTlhR@0fSJ32Z9?vX4ao3^i7=VHpyZckb`7}BD0 z+Jtm8n0%jq;2ca!OpJ(;;b{2kXOl<&K%#||nSmCagjdl%u9){8a!1>qfQH+v zwB~?jzcgpW2M@z&8Q}>mU*buqn3_}SEFVM7(N~NhxrDR3R6C-4%RoYj4Ehpa(}Btr z2sN$UE~htMa6UvEq@KpEj^G~kZoYFd|FYKG6W19~>JXj?p1D~u=KH<>rsE_t0wAkJ zDE`!kWIL3qUWOeb)xWyvv(9R?TpN>pz3eM}syIxwDBZbj{z5>@eu5ZuL(Qj}C$<{|dY_yXx)J**qS2KlInY2K;((8Z zS)7+f0ZkN@zWCiLPir)6m@KY+;FcG8xu5!f`tuTtcqIHn@CZ*|6%{d*7 zcS+X8?$aCkX7%-m1b3&lx=qS=uugKMHDTlu-R8`$X4y1UqfS~l3Wz(7reyd0?TR&(E3JY_AE%pJKlj&zM{@Q`_xJ&tNZMClv}@V#Q(GP z09*7Ri<+SWF_}W-S7>A5pv`&}(hlFko?AAEC z*RcqudJuAVx>rxS#=y|enV3_GcvgbmN+P41Q-mG7Exay)KtVvBUgr}>JE^5?hktNw zjr_hEE~30So8rGf2Besi=q@`{0iR54|w$dL@1`5CIRM_^!&EJ(AWuTV>8Qi$rJTH&6~1?bO9?k_*BtOI3ge!ObAS8OogQKFY@j%H8b(rsYx zU@cG;N-F*t1U?K3xEE>toid9Re-HPe58BtPN}lp=53?PZp4cC+^&(14U4CwA7bImh zlMfTpgQ7n45|>fTP;${8dlC;mWV=IDVw}3{L#u5uS|F@{|JU4q?xtjb9`qLtp;hR= z0QwUSwfigSmirh#i|K~Y`)9Tfy1;EC>m`pYcu`^Wfy;XjiR%wF?Sc>C{bNRY@{=iC%4J(Myso@YM{?EoQ` zXtGUav=fgk%;&gFqdL<*-m|jsnB<#ju2jdSPuIC5TJ;tnN-E_k64GZZoZeTrI7rSi zHI78r^jEpH6CLfWsxj=(efbmJ6k0kLZgxn4L#>2EBQKs)# zzrTilFw?D`;Ub^7rBu%)Ja+ z^DfPiX+n`NUpd*x@!^2Dxm1TPKfy>W=Ltac5KC#6&vnvxHH@)l)367sG>sf?T~=^J z<_AOCdj(m`p_DW+O>8DYX%clrT{J*OWx13DQ<4{kcR&97viyKRvTEO>rjC%cpy^0< zb3?*TyWA{Lj-9{OYr9&ljNer8`%$g&Igh7R_qAn&Y370pTmx-Vye`M4Fg*(R{Np+B zu<(p;&-c(`tD@w(iCV3f&gGQ)Q;=04-Pi`CQDru%L|qHEDb|0yl3t@d#$+P=ku#Ml zj+&5mUu(IE(fxc>Kv5MUL}2>T`+M@g73#m2?f=Q!6L7nM{eizj=;jyY+ku}aPD$W@ zrC~m3T`fGg$nZzphYr%;4!b@8TH{M;%pHiF2>!t+$Yrilmmhk5f1s48k5K?{djG-* z8fc3*E(aqgW|ws?52)m14P0@%5Y>dkPM(vT9T32@GdT_!zGPzq3@ zO6|++%--D}b+O^A^uoBEU^G3QuZ4TX&>6%VtU%WuR&yS-8^sxcy^sk&0!5~=>} zK)tBxF##j z7uL~N!3;YJ>Kt(tz@L`Qo^F0Gx@s|`O>x0dJ{?nJa#{HjR+vfmUqEQ%bgl);M#DA2 z$1hp5@MM>A@x+IEMT9DkW^}X^yEH{evQJ^+%x&5g<@j6Den4ugpL->v$k<~^Z?)0< zM}5D}MSn|`OpVbYaV4>9tgpH@|KLmxDUjgaTq6`moSe0iG?b5XFVp!kh5sID!V}qc zbtQ0nPu+3yiZqZGn$^iis0wf1#jU8`Kh{alpl%}w1*PwLmY4H1ZAKnt`=E$8gd(BV0E~Vlns+>&xHhyrC zmZ-z&g17avK?R&(=QcyfZV`M^8(cuOuKyRH?2h$63pa$B7Fwa#(;|tR?bBK}ffYJ3=3+kc&|i(e(NHR@&^gw-FuZNA z2m0aLtWIkc@I6I!hV=wik+!aB92o|&*VT*C2oWR&BlO8ZQDXs6&pZ?RVN;Udi7hHW zA`F^|#e>s703Nnv$o;dj|DRf#0F-la#tVf%wnWlrYm|ljh+O7;Fo_|)fxvzz-z4YHILg_T0=p4#mLmxIDgbp4g^*LpGJnDh|J>!UQnIA>zz?N-v% zB-F9BPG!f0hk5KdSSp)?YPK~zXnFn`y$dpPTP-`^ERg6};)$HAmVe^fz&fE^J^JTZ zqmyl&@=_7tTEjcz8)K@eZ?}lf1Pr^TWl$oAuJy*qE4! z|DsvF`rIx(X6u5~<}k?!JVe5Q+CmsX4z!l(#kw8HDrq@AS>B_fZRzsEgPz$DTB9k2 zU~w>q_3${a%fUA5yV$yfutGN~F{UV>6Z#23Y{UVZcdGJ^hTIE`Kk#E+?~*M)dTvRl z*~O4X%QC$NAKBQ!0}cG!)K|4rQ%=fF?%Q*uVad4#IUE~et|!BTXOixH-5m*miu10^ zMX-bI`ne@VYORegxP^l4nN6`To^yrrgGDrAPUn^FcwuB5xY}i?@fU zIfSjFv6EDC($uuxn8WqOGs^UPc#p?xb;V*56kYXo0vnmbVQ0>B%K3ZXTIVv#jm0)U z(iGh}cQyfDS~B3)LZ|H;)~n)%yH!b>iMYn6@Pq;+I~Fu1x~;CM8>uGhX#Rz>dZMPh zngaOLcgM|INYAaT- zg0GEj&n!w4D$+HctWZo@E7TEL1E}gL`AL6xa?&F3((VNF*%PMe~ zRwdXjft!c9CX|&H8n5jTWb38Fom-Z_0FRMYc^ciM4f-}-{9>OY*-F0GHL^(FE4et7 z`x0G`u&)=XDAn9W)@VNGEH}Lg;WaVMa+pc!j(QokE3$;+KYv_Y>r zNi{55fezs7k;sGNTTfK$Gtw4u5oj>CiT^FYa#CtokIEGZt+ zyhPi&rG|woPQyGf0rjhDvNKP z@^m_WvqqS%*;Y1u-ogJRM+0vtJkjgNg}08G$>c;Dgc8153tEW+q&h*i63_3nAWNnK z@fybsAKDhOa?^_kUNOhC8eJDXV}a0cC$kkuz)94Rl_k%$o*-ksQ1a(2Qe^)*MML}2 z4Z_>}3aNEx?XqMy)@tYlds8y{cfanj%$Te0Xh%9+`)a03dORVWecNm7mL9MWiZ551 zUv{uxi#tY9e2&m9%{1$g(=VM=WnAgrva+0u%QdH^$)MyVN&3atFP{c>a zi+mL&zi8AB3V518NRgUtW!u&qKjyqzxHJ>;%A-nObg3=8zMq+63q9j*eDM}5-n_$h z!Iy_#K`i<0=RyK|7J?1mr<_zY6|1cwKg!CJH4l123IZuolQ||fbTZ~zUmwv($R)a+ z+VyUze;P(S0<(YS_SIFiey``=O7T(w1t}$1Eg;S#cg@TzUEbXI3wXJ=TvTzE5v?6p zIqN?!;?a<2BmQK(vn@nJVr99U$Dd*6$PVyxLd$q!DvPdJNymCjWe|ESbSa*^&qQzp?k8K}~gkpe}Yr zEc6c2J4i_&G!+QFNC~}Y=!6=2)fW*d0Sts*L^^>40Rx1lbV3PI0)#5kq&Go|_}={Q zy&ulGbIzyR&Y3xTGMQxWnPg@sd+oJ;<$12&Y(xBwjFgUi_jhjh)oHi36t%*7o5I0^ zS1()6uBfyxSgjP=TYMl6&j~`XKm<$>@dmiosHZ1754vH8vs{H1iBz~u53ESXWxr=^c=*33 z6Dd|5X>B!TL7=a#>!aJz(|JGF!2eP?+T&6lDnv>>jtq4~R!;kbhqNcY9hxxh!bQB% z@P}4T<}!5aW0%dWk9l`~`IprR#d$`@BWB}X*!#VLJ=`qSXbd9Z!E72eUeK*R@TEZVqLT5Ccgzi6gvPK> zWJPT3+(Ftoqo^H=+M{dg6Il4IB;O*fF0FbmvFY$=;TE`XtT80ge(ixw=ri2uEY2;Q zxxB1*O75%)7@OWcqHk#rp73V}u!{Ejbv_70sXICspBO~&i3kohRrY&IAeNh72-R3^ zTVv;@j_+k_N4bmUFWh(=dv7M*`Nq)jxq|6!WlztQ9fx|0Zr4ZO&ImIq-b=MdX(cc3 z9!FJY=wcUFogMwv&H2T0Qb%3OJ=iczTsrxO6ib|I?V{P%{w?2gxK&l@WV}l;*&>NI z7g_rdzQdGQl~J1v94|@OlKP4PLd+Die0b^~>a~03c4@R|e*b7H=|7wIumH^?h-9O3L%f2V&pb0jq^wNvv(Xj9)cX7HAJzwYYGBIC!{?><;mii`fE ziLy_ROXm1#b*^7jmd%YP8*cF5w&hI;lqpeTlzCC8FE4`Et3FMyp7V@EEDa)>{C}cx z)?yvX#|rb z-aXu>CbPB}TbbMM>Mr4;N5emUbn^7syTfB2?J*3#9WYKni454+Pl!r$k|&nq!?@PU z%%_Ak#^yoqEI?iE4{U?)-rdp_+zVRfYAQy5A|2Q1znC_t4Ug@(kg>S~@E|9;Y-h_q zD+b0r?$@MEw zQ}(X)*s0!R{531m{L7Z$LFD@}ds@R^vg}NX`fNsB-oaK^r!~E8eBaqlE*>;1S*I%^ zroKPu(hJv$^^UbGiN>S`qS6LY6!E(#b}n(HUF4ya`OXA{H}_6O(e1odLaLzN1!c1T z|Je5Wfth2cz2Q+;Y)+<`pPp4jy3}!j0jYsuAXebmXGtLNS#E$sf8*H zsq9W>F}c49WjYcXlPx@2)iXPCO2zx3$bntnf;PmH_|i_*EQO#T@*9M{ES<8|e-y#gi=jQ#xuk;w+FwsWpXr)U`u zJ-g?c5-nvHcIgwp9gZ2vEe=f6`9fuxlR2_#Yso==6YRDLsi7HUA8(Jj4-KF66g7uo zI<29?-!?xR4|`3OPWqWSxjxbnryWmUaGTW+)sa}`RRx;4^%9wE3(JRg5A;xK%uL6Up&R3z9& zuK;VmJKSb^Ph>-8qMCK*ZFe#&C3LSYA+wXgF@vI%mw#<@4IcZ$y>#+{>|4;#Acvu~2 z#0r1DRet&>YS*p8H=9WMDY6fL4*cH+voR?f;w^^ISCTPCH-bunU3OM9N zLj$O7Q&qV>krP}b;dRcY0-$sKa?L$6_6hr*+k?3ms@D17q%`mEiF*c1*7Z{_2Tbzi zO#xn7WiAp(mQS>GRfYd7fFY15N5+=;hU(!=k;~gpuds7UpTBe~$UFy6ej@3qHqP(f zCmZYxe|h0T&QE(e%~FV_q32^7P*7_zer+(=ElSeFE|fFnPK|JD4-$0-^`E5rQr!?$ z@E_BwP(^PYs0=6WabI5R)oLwYi|X^LSJj=-HSH<$ij&wKaTq!uiY3b^Q5Agf_ouL< zS4Cse6Mkhzxg$J07qc;>um8&(RgOu+ZysPhhmyZiobDS!NAXiR+|uRjrAava}*nU1ro2!Bw#`G+c#g zWj@(T8awl{L1cJ7^S!*nqBv}Hx1t`uf7wTUbywDnAaMb&l)JC)xraNpJaBZ=f@DWzBs0qBBd3u6*T7pAT|4JJlMY>LXqn+qn+<-cKY9#1nqPG9qSigr zF;9PKf#rOB(7vk_T#kHXE(gGqknrOh!tbp?}#T%YX7Gqeany1Z6_F9 z3S!`?P0fq#rJ*$25vB87uZjFY2L3(^HlRpbmYzs5T)CoZu~nL||LiL4Ii4q0xFu8c zmj%BkOsVPQ#&QA49%K*tUBlJ9(El&htyp=U_id43m@t7B_%JSB?tD*sa%eBxQR~mL z4_vm*I(f$@_;y?6u7uSj+oEaC4_30e)mGhzs*V{cqQq$e_FI+quE?V4SC3UlgiO$K zd(?VBThk6v$yc9Z-&_=1BO;)xrK+5T_i52mMht&PF!qT7kE$XO^lvo2Jct<_()Pw_1r;G zIG35PU+3Tq)hA&{pSAV%6|#C~S5Lh^kARQ}?-CGUSqmK&m{$tg=&USy6Z8{Zhvq0T zkmXj8^kMJ5ymqHI@}AnnsIc6x7>$=s5{HMWU*7ponN4_MIFB-9Ikdht1ub9|-8I1}2hRy#kSFj?>h&r6&&Brqa&A}JMZ>QQW*+VdKF zwiHl}JRn3JH>Fo>O1FKdqIZ8vxqhz#Ddm$~ZXPI{cmIz|D_ncFL27o|%<-h(mStJF zO*NTmbZ7;Zl&Wj&k!v2C>brC4HI_!R$^bosN;|V>-sjJwde~UqJnz>V#>4An?cFn( zQTFqFofiuj*JNS1-$YjiXB%zPN&B>YQc3n%q>$R$2VH|mw(O`n!Oi`v6SXZx3kpU z>s?UUuH+cn})zhvo`?snXN?&{i=1Qb!Bv@#T4${4mQqUnt9TN1g3DOaIO< zI~xoj{08qawyk9AbhRE)J&bQRod(q&ELRWKDK8l*FIjHFS7ICY-ukM4iy zy)_gf%r_+)BF#8)^>+m2k88~8ZUCHIbYz_M9nOt=YeUtEi(i8nk}`tbXXr%WZz ztV-Oh-sxG&UUM#F$IQ{j>z;efiF$~$ZO#3K3j?ezZGzPjEhTDMY3b->3azS>f0}IO zVU~=4sDWNN)y@)Tdoot6<7%*fl5hgXKCj;?o%f1As(f?0rZ$x3gpTLfT&DhBT3-7m zz{x)vDOB@;rHPPk43SeWII+Us^T&P|OvuwsUJ4dOH<79l?EEHtLjG^C(0h0;aeu~U z;g@~=#6Su*(2DqCm62Bx)iD6OR_`*VQfyAc)&T8DbYiV@8or(@=Q3Ic2G^TokRr6+ z3rmWy{$9P7ZHvRWi)jBu##gue-E*PFRX4MFQ`^ zL`y)>(QTl`b3mWfeF4iNy`+M*^-|1sT~IwPkx`Z4q?1=1u_~XGMKJy0!feNoDKaWj z3jMx-T9vka?322pJ9v`@npKBDIE^U+LB&C|2ixpL!-+S=NBM#f*>c_*l+_}s*}ZVS z`A%8F?J|v29&HMuZD8+XfcIdC6=!1EvGbuu_74BsE(el$3ZY=gagA$8qcyrd|}-W?l@PWxvwqW!>#Gn6uJ4SKa!jIPjro zy|ehIfu1qz0xPC^|EiMm$dq(%S6*9%m?LiDnHf=!2qMq=v!ul~z{HAf44Ub@_%rkkBJA7zUkzd-VLg8cGdEgzIlaF^H zZxU-XiVJq{&Y%L+%@N}x0i{yz#=YUCy-MNI|E#-Km|;f~)ND78X9HyB+r_~JbTU!W z_6Km&5Q^DM$s=lPU0@_s{3H|98##1B^+>FuMo}S<5J`1mzFDKabBR}xw={B4aK&Pz zQyE!hEcrP46AT)SmBVK8J+ym(G`49Y>fQB$F&Aahz6FdOk4@QGB&GAdJAb0GKwq9;SpU9c zrT_ir(_Lyr$g=U~yWoZkoypp%&(JCkFu>fk)3 zw?4>od6$j9B9oZkKRu_Ad9y9x`OuxPTEmZ;I-kQfm^Ma=1~d-oy=NK`d;PV^djPwx zkeHGZ3rS0Z`3o)gNc2*DTW%!)+Zoc|#3!F=t>QsEC<@uWG^odC^(8;lQ^}9j5zx*) z*k!@@HGyu1rI_`ZI>0I}9cwJNHh^dD0$^7?EU;V~FcOTb-yD!Gc^k9{;*mw!$`~uJ zyd~-t>?%=>+9N}EzI&IPr?Ja&U#4QL{-s(^652>VUuwPhm&ytlyx4J?zxh@&zoyU{ z;s#M1=B?oh)_shbcm&;gE{+OYwWwime?UV*QD(g%&AaoQOe?bQ#6+9%ifE3rB^X;K zWX#j_zuDt#b+oM0W*+4&3MfGhU{{huZ|Q2|;jRx5t{yA9 z_tIrDkdViiexDbR0JVZ^4yW@H@mj=Ix5N2>zqeJ|BGZw`+EWpYGNg&VxI$as|}=R zAAZ{_x1aj%DhtCJboYHk)QFc_ds(Ry)QiA#UlOw*W~MTJTSZ@lD$hp`VtY)S+UM04 zt9&pI`NC=Lh|x8;IhWGvmj+;>3~7b1bsdnFzjXA7qD48?`($X7s7BZi=uNf;zwwkt z0%F>SP1a~m=rE!pv_%tFHlimSvEG&@!6QPmF*9G*dv6+D-uH?{-Zh-1|C;7!3lqTE zlm3vTz@pDy3teT|eS^@mMj=y8`pK=s!qok}xbY!SqNW6x4)USs1A%E=Hv4)(9~fuI zy6k>OmqYGe&=&~8=dNXRET&7YFR)sl#!)z=w`aQ}95by|IFDA?MKx_3@GgI9>Ld2v z`u_#~Mf0rnmrK)%eNztULXDa3m=N(YX!qg3?V+hM<7b^T;^~cBjRBT~pPkKqD+{54 zql#j9=vn=AUyT*0{Fao$o4SyOt(BW7R*A=C`*` z_yG3sl@V5M;Z`llr4`O!(ap-Lb*Q(UY@KFWhtU*tyt$Ewv}m8i zRpac4&Yq}yp5}~cJtp(kcd62euz&{gT!_DP$i%SFNphwesb%Vcu}{2S8<>B(#UJ=% zgqfy;4s(U^=kW(ASC`?NG<@?7;zeGEqvPW}JPA;iZV;Rz%n?cObSe``EEqyfkGTA& zGn3Mu`5%R)jHo8;R{GQ~L0!VoI)kNZb|IlwzZ;^F(^`27`WVa&-i8?U?{Xwe%xlI^ zNT^p@vds!+=T>I-PQ#Q(1b)s22t{}yC+f`RDxq(uk^QL_pL&%pg2a~nx%R$O-7gvb zKNsTn?XO;ilK{-N)m?;M|{%n$C~Cv+o9@=z3-el4^oQG?{WG25tDG~ax?ERfO4 zY@7$~$jo{Pv;7S~!18{J0x%w8dF!J4Nfcfm1oBHmgYu-_X$6f23Fc@o#R@9wIH&I< zD^MyRKJcfi7*{*8C9H!6l010PXkLz|nfLP|6;|=w65NeJ+YvF6@o(RYA`dnhhDw4y zC-OP1CnbT7-buI*+b%Jbua9YQp|*n^YFZ4zARXPmGrox>bhRnd+gPiYiv?Fw+Jt1D(NjQ>j2X zB#)_%%2Zo)kN`8JhAkgydWGRx`8X|2;wgc!g42OYOk zwsw|w&i~g|`)B#&?|28+U&5sRpZT2qeXj&ugdl@HC|B5qBNSPYW53X-1k2;*hLgfEIM@}~r( zYOky6aIJDUAR@#+ZxsSZQ?}Ps+~slq%|Oimt(}a}6{)8SB`qmYdz>xc zV-4l`v4Et?CZK&^xqD9Tz5TF;V)TM!nt9ksEryFb7pIVB@za zPb|MWW;>Jkli21QkvF?dsbk|Av2@^fur0t{zVg{wT|DCnJNoC>Vo@aQccf!?=)Y73 zzq8MI9bW(UuSBgWzA!hxSMU3qQ&n^%9K+$46FH3-_lbgNP*=v>7e4H3=*`;+a%L4LEMKp2eyWl^ZS-C-is6JN*KF=&m|cVm_Iw)NylV*XxGag|i3WykAk3F@3m7G0`#f5PhK(P?#Sj zQBIWM6|YhM1S~j{28m6Vh7~oiS`H<-wME*nJEgXjdNhtI&%*H>Z3F8a-8p zdSj_X|BVRHHgIw}sAE8i-FZm2W_BrPlhLfMg?TrxHYnr1ZSZW1cT1q&4A=xDo4QV$ z_7PM@ILF8}mGAA8E9RYzRpB}BMCzJ$Dgrp;{%#j^u1hnT z4txZ&92*r??77t{$C3U7n1{=L!NGO*++(*LIwfR3Y9C8xgBdoH;B(Urw~X#`o|;AI zB=tV8KBK=Z-N}d7N?myB*&GOnNf(|Ada+BT=d1|Kh*|e8O-5Kd>kmsbtQ*h`{xUmC zt56s=q1i;E{L3_7;2I_Q=CNAw-A{aC?kR=cia%#Y?8j+rdeGQvyi4<#F<*S7uQy*U zCjazj#feM*epzT*i?OSrS#nah=UuQ}lddQ)2$|+q&`Xt$o2R#$RC4NFp1Fw2lT=%7 zLvQ{Cn-BcbwAeM$0#-w&_jYp7rrzbJ@tY&&e`aRQ2gMb1xEJPKZ}xP5XNhYYcEa(5 zS39N3!+(|x*$|BA&}VR*f(8}U(Cw%H{c+%b9r<5p;D7Eja8GzOQ~C2NI!9YvgSLdn z^gyl7gyg4c?6=8VR#6L2M~z(O@Xs+->8o>}28^67_@;Jp(OS~`@J-GZEymgv2UC0F z!z=FEs9iCbM99uky1UNQ<$H8CT9?51QOK*}eFGk+PdN8l$zFq`J0E4xIGJK_5oCcx zZZA8XsX$lN>bfs{X&$1IstL7wZ|A}U@N+8(jbcBm{|Lku6}RPES5!GSD=k@|IbXzb z;1tu3lT5UvZR$KFYH2K>5X0Xu{SGuQvLTvM0sg#@-u@NKzs62U{wBjM1ZOmvZ_`0??2;Ur?fWK z#)X(SH)`8T3DXX>1e;`RY1n^(Ede16lr^!nR`SjyZ~6x&4oF-pW)@`gZD6O_=!VJM*DO2kzfCbs~tWFW>Aoe%T7XWcVf!#q3{^e3YREj8w3;K;rCVHUTLSB{4;!7xizg(Sxe;bw~pe7(>E8--&$ zUsOWlzNu|SXrVo$MHV;PZ{NLM4YNGa-?lqHW}H(`+N9AgRU6s1{k;|iHe2+P@fn-x zSL^aqGaF@6WV{j41NmXw8BE?em^cjv%j9o!ZC;b>DL`Nxz4LP*7cTQKg*nV}Tgw5~ z?Tboz-II7H$mO4$kout-amJugke2Zh8M$EAd-rWTN-5jV|u$H&z2%C}Kc%O@SKA=Lm z&rPnRI=*~&6qOuSe~n_h7Ejb1P;tzpIe2@Ntu>NC9R;tE?2W=ni#X&XY$W;0cpRD$ zX_UNj0HR83hy)(=&lX_NKGRWK*$^&r+2I+o9TH*<>-UZf*=@00M2ya&fZCrEf}Omh zr7u(xd9fX}{8MS2@fx#p;GUxGGoQz!i20<$x7N@F3*G9|v3C6AkaM4w4YaHYKZo&Y znAod*Muccs=+NVFkoNW!8@IRwEVBJaPN3db!KrBHymGyx>e-)~sk%9TUq0&H_UrA% z4=3QJFQh@C5cW;13*+WGP@zh<74Ic}?cqlLQ6=b>g-YLZJLs;jn`ENay7N1U4;t-u zMGw*(r5PW+(NSp3_FR%ZePCVWeZpwOiRP`<$&8t`?+N$qbE)1Z*T@%msZ@2AOF#^bpBGw*yXf7Env{}CX-OcAroX_a^pgtGXVL()=3)TPI?xi5);OHs z(XO-TptI;T71wg~{}f~Kb>YDKn+XM|w6w8^aKC$?diJ72)#Jc`=&{G=m#+HrKym#m z#zCakq(hK1yS9SwN*(0%2EC#5g@~1-j#g(-0or!^RiWt4uZ*(1P+GkA(8KrH1ukSK zQt8&&^-?nDFXawSpj>3HJ-A3%9psVN11&a2Av=~SiN0-;1&H{OSoBUNLD-QKeBU!~ z9dwk&vMybp#?lM)Ph$rW{VBVM{>W>`>XoLB{F$~>YnFQeTD&;Q8ysl3vQ8F7i=NDw znH{a!GqqR@CMo|0?Rz?O%D+_%clNL|*@Q6E*QgNFAS8^&uN1jzc&)5ekP7=6l#II6Qr7)EF}R zq&%;uENZeCg6wjnkL`2td|1pEt5`p%Vr~)31i-}O_+rr~INGG-ISH6`T;B1ObH13N zI!l}GP7p*{?ECUfi!Q>!TV>u{1rgNl$?wOW%dGM)vUx9}9DjRk1R2`2dXyQ%Nltn4 zmQ9lSsXsqZ^H=&tu(YiZP4e(W*=bM5Cr_@4BDre&k^6OG90)MHmhrM`c5pORjJ_q= z7TIQ9P|@c%gTHpsVmI3t>~V6q>JjYQ3SWVdDo0NGr$oaqEaqBl!j`Y+tJ?~BC%@WC z8Ye6K?#~p^rFCJ1KsiCriF{6W$UsWrN4<>XaCxp(v)2WInP28ivNU-|sa9e#gem=k zVf?IjsElh^K3Mc%_UtM?id^q{$9c9i{rPZxY$aO5U^a#%6Dz2<2$b#aA$igx_g0pE z6zBpG!ED1PERTvCZ%c>=A}Q+RN2WEXxh5@%xJsSW(DaAupiV5U$i9S3`&7*mR?0ZY z)82d=AK&(YhcU?UMKUIPxiSgEpC}&aAU=R2v-1?E{H;hI6%P_fBSuNpfb)7Bt0iZ% zOTz~Dz6><<+ZYNyldF!-lZ5wA+n+H)VJ3>CSJcNIbygg8Ej6!ymlQjwe+gz5oZDVu z5f2)%7MnlF!5gV00)0)g7U*Lh%%sIU$P=B13P*SIR_49^r5ValOOYR{^9jbfk;P5A zPufA0NFzmSx&whtpZuq9yULbCF`Am03OkbdSowWCk^PfxDgS8z=ZITtOQsy20vKDb zKqv?uu-S8}Ytx~uRT_s6V1Au@oZ%$%cb`&b+MG5`7I3)6qJuskR~Q*NsHVR+3&4s^4OjY`&0CA6G{KQM@PyIBHnD( zxra`fXCb^~16|VPYY!iqPy?IQGE~g8amZmtR-FvivqE3SDlr5$Ygu-` zEG>bT_`%uZVwDrBcBR)r(Lp--;j^>URPWM12%|CWf%XFV zMRseSGM$#3cK{qPKy_tM@%jI8n*j(#`DZ5nfrYqvm44=9ok`Fb$#IUX-!j1PqKz2o zwKX~(?SG50lOowvsa9J{-XWtHOa&$Hp?&9FPaz@#u~H?#KtHTew2O;NOyIJv?K&sg zS@hTEUw!_Zc%rXmbtM^bB9wRH_(<;|O?dT5FOCxW`7L1;gk7jIG+4?oY2!^ClXqa* zQ3BmOCD?<%7;&HeJQLjEDxOVY#4Gs%r2LLWf5gU-nY@f@F%81Q?Wh$Rf_uo|qIScuHt5TA(GnB72#f(-G zx+npvcxMfSV@ZpvmxZXeW&fvu)NQBY`I5AT2f0mdtNfE1t9|s%@|?_1w`{m($VLmA zCg|*U-Gghi*wy*sZ1T_Mx!|{4Jpem}0|6J7lJc1BR{jaa^=$*$bt>maY>s{H5eF?O zX7_vH72@?rz>tB#3s^&HAgGD|?p;nkT80g%a+>EG|7weRBms#x`jLmu*LQ46&6X6* z+9Y&|?xdQOzHFQ;T>rkdFy%6>vsGnHt)bW3ZUWRP{DLJ8VMnnAw@64Vwf;8F!qlbd&^ z<&E{lkMZ|!cD*KfD;x=F!*RnO+p|;ahysRcAlUVoQeBU$fSl9;5Wl~S3d%d$kXunq zC=prpidIeD1C2g)9O=l}B7D8qGEpI!DqsxeKpn#Pr zY-zkkob=>gF+ao?Ya{#YW{;{iG90L`t$xsZxe9Bv#4D1T&J1qu$~r}$I5x|+MSMvR zqr6WMA1_CEzpv@&ue4hYyaPTrdfrzzT(q|UfKFr^kM{`!ybDxAr+h1owX?Q&e(Qf6 zOu2NlpPg(0&d1^*Evj8r4v>rqrJJ`zT;4WMD)=t~%KGGd9jaGXJ)e0oa*+IsGFs>B z8^iIKF!pK99~Dk@Y=a^ePL>xTdM3|LZdY|9ySUTnm!mz98ojkJ-G$!n1>OiL&3&}M$1sW`WXDqumr;pW;u6>4iq>IeWYJPmJuvkmwsiUodpc12L1jmnvptn z{8@66k73leRvN6hDZvAfJ1Ev*SFmdF%+~TwE-FzvmoV3MfK3D?PO-fcIo&-;uCDqn4e-H>sN$PGuzWB9oox^6Z zo?&_;6o$--Sjy?+sb5s%j32TUPr*lLU$nkJyNWW_d#2q{GQIx#UdvXN+>{@qpM$82 zzY(_ks4n|YI-<;QWgvddKqc|MnQK_NM05)ehE9rBtsAm-0hO+d|9FGjtKZ3v{?(me z5x7mGr*=jDp`JLpVqw+LL^zj2`n<%iF?|Ktr2)Sx3wbtUjWPSDt5q#MWZg6Fk~Np1 zmmBB(M#t*b13MJv;j{6~GCmD!-UNw^!2o6dWonO*Rp=7`nx0_DWP+l&oK1WsM>)cE zP*VbdYaN>%I&)Y)W86Zo%66)p zdH*l%Q}|*2pI%Hl%gNsp9hS3D0?4xe_(zU*i`A0joVJK?5E}G+P(0f~Jk^jx;H{z0 zZDNEL=g{(9Y;%@O`S-6kjm=vFwk#?iWUoxdiXMcH>p>kPnSj91G~$_1_9ez}!v%TR zzw5v^cWfaQNTVOkQkc@_7z@-GkMeEiO#ff1_}PW4r{C+w7<5e5+G=5=K8De$fm3ZO1m5`~?2P7<46New)B|l@j-*K$ zLrcaL7pHstlUoO4;-$;edYX8Hm4IBqI_cd}B0RCo=s8~o)`Y^dUj=-F0Ce(}SqTP+ zb(WDP)o|!!8z-LQ$nz)bJuOFH3!vToR!?#Nyhr=!mZ|Zq2%LV3ZH2Ry_$F%*J>$u$ zn+x9Xz6>KEE4vd$&>qQWn6bOp!iK42e9@3<*YjI6>i&fOUZY*!`N_yN^Ddha7`Ht{ zV>f%CdGX+A>~_tPU)#&BNzKL1cI;hm%h5SGa zHhJ$Afye$p2~TKgXAWoS3;ulX`i~U4pgsAZfNp??)}S2J(`Y*~)6IB0%@R7OXxjrn zRu{`0pVaBo2q|Xymr6!UMzrvFwh?0u3^`_XZ4Kb$WdxW{DP6j=x0sh311+dMq|+#`z7S4x;9!!D0}ZU1GS{bV}qdVT@~n z))#5x74LIRx?|ihKL7g+vfTvF2IZuA81qfCnX;_!0nE_=X?>79C(aYX9Gk7E-Zy+e!wvxzp zno=%Xb)~=DXlK93Rb*ThVAT(2zsb|@HG-`(eb__Pg=XP95|B8F*ypag6?16y+X3NJi!At`Yz=bKSEr~-sVr7sx;W%5->Q|pv zab7*I&r%=|Iry$Hi1_Xam^6M$)%3~;@OsbA{j?@WwJ&z1M^|2C5*Xe8b+Ml;zI1!| zE!Uu`8pM|QSkAQZne51`W;N8RN3+y_X%euqdEabU-=7bN9G|RvSlcKJ zAOqeHXjr*{CeOqMF8}#xg!q>#P))zlnKxTH?|n0?^!tH%;+|?Bj28@*S5pK_ z4ovNa+O8%n83b2ZeiE6_aJ}=TQ>H=i-nWjSjp5#acCl+kMw~-p9v6<~>ACByq`e~!^jk_lwF>rFUfLMOuwQjis>gE{+CUcmn>G>^jG1{dcCrwlt+qyjwP3fKh}Zs_$%`%-?4$87^w~rH4}E@oB!` zhbdrN;C}LfSvp??caMzji?*)k$vfV8)6DF4n?nay?2H3_0Jpq|hKHibtK}uOI$vzN zJ>QsDo+jsudh(O%T?oty1}y=!B6I@n=jEQ&TT%2oo^ly-`tzrx9oTJXU#dEtLjCY( z0G9u+l6;aCQaZvz)eMGQz0q)D^xaBH#QsGty6}p;H@OjZfrQ6rMTu#mm~-FY`*a2 z@Z7mR0EP93=ZLHPw6T;hL~oJbwm+Sq?cyrw6Jb*8h-@1+$17#68d|Tw{Rc#)sDogE zy@asbz?V2(dY5RrfTw%w>t*V=GPZlY7WR-y3d}$Eu#Uw#{&_*nP_5 zi>?5X^Vu-a3UTRmhBD`JPD3Tncj`5E)P8T0p%%{Zv00TDVK|eDpe(d z-fB702`_muyhUI*jDxBr5(N2d9;9Mm9|N@e)J|{*RkoApP;P$02x0mYi($K!&X(a{x>F zD#6~k!T(Wdk@{Ef>Iq46W3;dqwrVPYvA!r4rgzxjOdxGiJHo9OdzT$PKvTyH| z!aWmIQ^A6McVCiJRou!3apvIS##OtGOffZaCz~Z_x=x*-4TX1OUP9eBKLmaD8Em}E zW%Vd9ZaGSdXNQGM`8j1uvw73m?^bL6%olL&Cl|*b;OA4tEUp{@h?U>PJNq2;{iV+I z#4I-{DRfFO6y4sKd^lgWZ9DUavlk%_=~>LcO#}w}3J7SB;8)`VW>eOVIgZV&-jSUY66%HZ|hJM+SC zw{%Ulp5RbOd;mosS&~yjE>ZsS2#M?Zqt~s*C$YMaoSA8h4|UIKvs>Q>k%UnTC5SgM z87WAjxp*HJMgjIpAMa3%w+zRQ@j%rNaMwo5$1B&%Q9Wr_LrN{>ig4y8mLagntOzJ%qR zP*l<&tcJfWNsIFJ@MMp2;fnuk=!C=pZeX1jzl;veXuAkBd^tmeWle_z0mmKm_wj-# zAxa9Nl6Dv_D#}|_NOk2r`-{e@w^9Lh(XZ!QgwF>)MW~+*^60@%8UXJV z8J1=t$-i?xdZZv^vWtk|*me2nprvPCVu$rUvDaSXyz?&qh&7Z?B!*~Uj{Ws`84*w? zC2sS?o6JXRhF;?oVzg9K67ip1T~PIL2-p+mUKh&{e6cLB(`iU6|8oDP%0}h{ENm}- z)Rn{@&3UL z{w&Wcc^8vRT_BhC>Q}*X4PVesSAgAac$w&EkU6KjIin3DE8?2Jnne-Jz>jOv!Ir39 z0%7R_Kzca_S_tzM&GD=J`Z;&5)N=TinFEDxDNqO&|M9e zPu4Bp7z!t8n|w@U^xfj)RE`cY>Q=SZEt$V5GZZITjHy7fHQIf{YU6R~vt{ z8xkjVw^Zch@d>l6(o^(ndVC2> zA264eHzcZkCvwm!g5J=HV)fxT7c!0OouX{L*--Gfyas&SMF(`!uH&>8qDSvjig;En0ijb@ts0{dF~ zP=({Pi}304qk*a?j}N_;>=fU=t?A2`%U6W}r*$Q+(c(>c%dPZTP5;UJ`v3B*kS%y1 zs*po@Np`^Yl}Ka0k74U{Qn|g!w-1RpZMI09vt@}8#KU9d`Y2sDyxvd45<4`vHaJm- zH0xy`0OZN*8_fH&Q%|-RMkrbeaKNSI$X}a%=1a(m>t#)uMl@{1q-NY?^l7nGsYEN9 zKR@AvRX&o>pjcg}l6$bT?tO?kL8M~R7`W=Yq|ci@X|`f?Lj(n?O>?>_|0Yc{;j0GBRdRsh$@v-qP$Xk#nR!2aHV8Y5soZ7 zBTb@r(Fy{k_)Jn42WY9PYT_M>@vIat;}`34zUl^9_k0&Kzt2FEwEb`I{S@3?<;(_} ze}m#(kf_>ms6DIJZo1WT)#_DgLrUUrM`Z8~v+7>6sUvG|HMKQ@~ACY7$hHfm{x zrF$&x;>9k3-8M4u4MOz0dT<$=h_>qojBDUKL(;iD0>_#E)U0OqmR>tjrCLmJ{ZQi2 zfXLlGRF(# z`(OF*Y)v>o_*T(r-&y&K`2-*6;;beH!A#xt7(eUEx5Plu_3y?x1xmlA@x5iV&}OUX z@0aT_^DFjv6(DB!zp?k0L2Z3)*e`XXP~4%#309mSZIR$oB)Alp1WRzM;K74?aR{E^ z)?$I6#hn%j6bUU}XzBmtnRm{adFDKG=AHANGw+vYeaOt-lbt=ev-Vnd*1GQN=Vk^h zjDeJmD12oZQey10ifQVz>5C4`O?Ax=?UJS9&PWgJei%D5RBK>?D$!CuI5~~|<+fjN z?%_m)=oRI6X^De{Q}QcO%Y$Qx4WCjv&%-sqml}5ndA5p)UU6#c^!;vR8YoA>1W+N~gb3fSWK+SY)+T2=~^MN<vS(#Szc|G{jC4-oe<{S3eDspIMWU1K6b7K7(bw=$4JJf z&-?OJO3SL)i#3t+R?=8=%eWL-tjlR6Hp%S9{xv=x+0=i3SwP}3`0rgjhVIMq$!k~; z7<>^L*{O060`?YPcfH_^oQm7TkC``U8tyz_?VP@k zyv-&z7kcpXB0{cW&O&ir|98e4H<~xLUkOGRLC`z1y^>v#=RiTbI*3!Pn24sLOI|!~x@6i@O-BK&g346GatU zuxlx45|UWWVB&1Vs{DGF8O04RgY7hyKSL{J$miviiopN1$TcoM`sX0=2^%7snCv3{ z)pCo9t^fdGB9Oc5W)T1YfW>~V=*H`A7$D_3lQ*7xkZsbYTvF&qkz#TkIKQ^LuU18I z4LZ4#p&q~1TFp8brxJoEtoSB~llX&3pBGQj7sqfS)$@}Zs#VAM(~gI?T-jyRSy7j) zoo$C;II;Xn_pU0l^HzMEE$~P35VlxvN(~QRJEQ;xtq@Cq0*nF2C=>}v5c%`}b5`xT zM=lU2mUZT%;!_r~e1<3XT`X31?u3 zzMIW|GM8`YA3Nx*y5H=%m5r+8OEY6Ic=m0{8J_0b zv}i5@g-2GwrOYk&@G4blUy50Vn`i>?dh(x1?m62&{U6`rUTtx6B|w=5w#qeo_{+Hh zZ4cJDL@WAHiPXa{65~?4R-8Ja_W!aCAz}SYyyOOvYeXOt#0&fw2FJ(cfBuh8`TzCx zo^?(o7&_=4#O3(ujjUpYN>olne44DjAkx9MMeKZB^gVdk1+Q3&{C4?F6zaq!>?D)z zQk3n&nMJA2P9u)gDrI*mQ~Xwcu``9ur4(H-#hqrKGQ1g#bJJ@luGIJ0sTPG(%H#JmLagsozxMnlg1kL3*CXDj6 zM%~R9O3W@TC$^W5@Xd7GX%c?s4kysED>{`KJTx}ZJ#Yfy4~rh+enRlunC z)oj+i+Z-<2B1?M=V9$>}`f6d3`C$;9n&0ySVecd=p#$|THCEpfR=?5YaN*xtc1A8PGzP1=Uh=%TV8s6s}J zI`u;z^4u&X8aevy%VHlf0(<)=!KT2l)@?7G!D+SO|*fu)j!NsLspJsE*Bxo^8kWoTgXSw4d(OFxZ~ zgu|nVRAV6W^S!ZRl<(iLjTV&N0&@cT^YGGB@#gi7?cR*q9)YpW{t?C>%#A6to0}O) zGEk)Nw~|B7;YW#1`o6!*__Z2(RivCc zRz{}mfETjAE;q12JY|D7F1V+f+`BsZ;~5%#^HxoKYK-Nhlw;b4wJLAipfQR%;cVby z9}2gz4vUEeNfPvQN6?x)&t``aZ1H|mn`Ko*42StUW-$(j`!IWg^mMt2ybzfMHC97A zUcM0t*r6A;9qM2&#c3i77_egR#Dl{AR@jv%N)o=b_e7K}7y8b|Omb8;h7jneES+3a z!G_5m3`U&_V+$@GB?Ut5+C?^{+fN0=gyPdDU)RxMAG&m>MaAUVmq52HyoqZjTKmt_ zY?naDa%DW2gLigG^C_IOP@~9EGyq3N%$j=|;x>pkEGSC&u)f_`3s;KvtZf<)8T-o} z-_%4Yil+2w<(UiT%rp972;R1mOAm8&@jvL%F^YY9EJ1_+xH@m9B^ddN625KcQSUtYYU`c6KQFYl|((<$2*JU=tT2 zhBCTpV(`31xf8fQt#u%7a4MFDJQ^t#m)1kV!qPcs4q ze2z9d=;Z?fl|vFg`+n72cN_1*7`odb`U0f^C8NYnSAEYV7-JS!I;&<4JlJ{&jZ)91<3AZB6MXVK zTpcwy593)^dQx#fCA;)meqI8DFWJ~XEy<-G*gppSc}Jqi{rUeMkH=l#RJzO^ zPwpwqO=~a3h<#EqUvr2pBVA!1jt0BC)AgdcWbT33d%lgEmt`lcN*?8)g;*+LVn+w{ zQ@E0f6Qfeo&)R1;4PCqR&K>Oqt!503J?lW5sXGZk-GIr1%cb`2mU?K5UX`v@FJ8oux~F@$S#3*d6`+u-m8fQ%t+j< zpChJ8oe~s4VkP?-*kBtqn{~K^fz8B9F;xV3{FC{QZ{k!yN_1YsS!no zw4%;Z+Ta;&F<+58As)>UX{B`P-x+%o9voXVX=qJ+{1C25>4xI}jH&IF#u0IR#?4HO z`jOmPiWFP7?&#)zYsHf6!I>|%3&iUT8m(^aZx~cOaYv6UL6Q4$zeWwzN2dng}mct6Q!_u-z z4+Co@OW^#8nJ?&qacz&66zf)cz?5f$ZVY;x3Hc>^8W73vBGvs88b%7@2HIl@L+A(j zp(C7y_mzbHI;uVb0uvLk-yJ$=@#;A$LtHtpC>(lfT|Bzl8VG;4~O{b1;sl+rVl#x2c}?tDT*F^iS(QUqK;% z-FrU|xW6|BPrg>JHCCsl^)$pq%z+v*WWB-WcX|<=?^l5`e7TG4DxPgIAMjvN*R?a< zPuRWuVhf{1%wv{MvGX&Qmax#C$VVA<+4EAgJ?W-7Iz$+^%}9~N@O}I1Z~%gOaKev) z#PsQH>duWF{cdy7OYVbOEn)1!Z(4algK5LTIV^pRVy9ZH>T`6VaZ>F+BJUIR;bM6Oq$;+yNNS2Go{BC;T*hS?E*_Jc$ zLq66*Y8D96D6BE@FQ?ZL<=QLj+57lgHdfz0%iY~%*^g=GmuV;RLfk?!j8?_$T%9qv zsvD*W$u88hfP4X!>`?eZ3=M*k+#QjP8Lu*Zq&qv0|7*BoJ6O10C zuA{p0NPiccg^z)KxKLm{=hx+3S9U_mTx?l3Ax{#_^~EF{%yl1@x-jFOG_M(d5gnsz z<(6)qd+6&ho9|eYf==gyHbPT*G9XzDQM#-SXjb<8hYaSun%$x6nrl+dl+iak^FRUo z0h|AjyuRiWotkf;{`d;ws$B#zGZGYoK658mhb-W1<;OxWTZL=w*?J{V*Kt-+7_=zo zEp;pfTAeidACl-*%>d;ICJt9vR_Mzb8H-`#Qv%<0Gce5zxcCsm+ctLwRHMbIOX_lI z+YQM#jSxWsZse!ws4`hb#G(@-kVo0IkJ^$V*_91gX&Vbkyl!sGb9Zj+A-IX}RS`Wk@o586!W`xefQcRZZ}-o!f3Cr&%?lLN^C z0~iAn{)utICN&$V3wHXzjv`}b1CqixV%X;q3OwLL?MmckYeL&&O@3vm;r3z&wd+%l z3D#J7I8k8#=e>cVrKCF}jq9JPomwNU`hMvY1+2Cb$fOVtIjLsS=+#l_j>?P+Og3`j zpyOOL@>pnB{wiAK=Vk=HlQPljJtG1?`An}GyYivxI7nUp{MwrDSJzW5+-crH6QPs~Yj3#U5J+;e&8y#@_F#Q*L7mQa~$ zk^MK~&1l(j{UFBvP@kSpFmTQ;b)5gj(uAJQ6=8i+NyuF-Ym4e>Bfq$; z>?-EAY;hmSvtvRI13VAvsxyM zFp@qH<=mO#{OET4-i?TeeOm??wp3`-aVd#!)lX}dn!9jyP~K9J=BhfoqB7;C&nwV{ zX1CocP`BD0d|eX`USE z3Wv_BBBXTH0};nYCxd?ruk;;C>umX6y_=iKQJ!n8HgjB1Twz7dHz50ivVS|_l)8Mx zi`5opbLH%}7D1AK`Di)pkt8P2+te>Nr1aPH#IQq4xn_ER>GV|$QZNnY8Wy2q#>T1%? zF1xt4M~+N|P^3Q5tgzB-ds;A7|z9s+NQTnCgypH6N;i8MxoWPaYi6ON6)etNuf(qj6Gy%W7o;4PUfHA zE8o4E!%Z{r<#Zuj*;jSGE)5%KEB3RXV=S9FJ2WLs3GR9+`O|IoUoExQ4z|FNBAlyu zpJob?rP?!049)i+{T*x%uDp->lvh*z_Am1sRW3pky+c>#YnfiaRDO%-s}naz(*ZpB zI*mJg_Bh$3*np=7PUH4B+L@!)QguX~$LfYyvi~8OJk?fGDd=2C3ou&~~@HGgWpja~X zySwjcVhz+(-TyV+?y_D-QIn~h-N&e$0NPmE-%F8l`9;}(BzQ3!R6g*d@+}K{>!QV0 z`S7L=JRrIis;agZOpubj6YnCCJGWO=m`8Lwr=Vc7mzC8lwlS3`&{X)mm1&b3 z#?K`soAp(PksZsAYSEkAWwwx{sX2ySTF;-aMH06iOH1gqtM0dEHlw3*j3wo%* z(>08Vm;9rxk`jKpw0-?26Z3x517i^#0-C@q-#$D7 zk&b307zbqNcu)R<+P^jG{cG1dY>j$zJ>jkNRy0I=M~Bs9WMmbR_K1%DTzRC)-X3bk zvK1_EW~Kl|`533qQF$HDq~32wW%YH=&>Q4;!Q+H>uTU(|Dl+~2;sjN(N48WIk2v>t zEU@k_I^sf&eMZ=qE|exUQbnW%Ldbx_EEp?L>Yni1$2rv3y*FmA^(TxEXc1NsKqBo9Bzp$qw2*rx!HBKhm7L&$;sL!UpwCl z%>h3DEx(AK7h?7PGBYcfLb}n?&|H015NrYQpfK%>2nl%~jcszSbUeJD5}BfXb{3fL z(u$u1`B(a|4hSg$hW6O*{^Xfi^7M$LlYWfx4ROMAuU2(B@SA2WQ5;bOo>$4T!UV>9 zEayc0{l`or6Jn#h4r|3O*!w#`x#2Q;$JLWbw9F(nwMsuUco@VT=eNkl-hRL0E-cnv zgKDI3o# zz1KCpaWV5LA=v_23p2obl>Gt7T#MDH`y1Y53)m7%G? zRhrwUY+sUTL}$qRD^KYPbCVj`k0CP=18>d_wO!-w6F4#@#gy5WZ1?XZ`z|5@G9IjF zVrHSZs>OsxD@Rr4)1gU-!S2v^v+af2H3|!SKBiPfr6AEJ3BEV8G5SkquUeje?+`F& zv;>~>jkd0aimDwxt)bcFNMS&x(dbJrEAc-D<&RuLHp_+p0FJd-?RvJ3vRYH1CvM+o zNzS>w#9k zslV(ZS#K!8wK#hV1WDG@(=$jlG(0slJOk;1UXhT5zWcX;-bs{UKf3JK4zf8`3FT8Z zY}zDNd*#bIp0&-siw#w60ZKQ`daA%Eri|`-JumZ3p+PUHRPpw7CR6ug*n7yLr!uUR z+|1HTK8k||J`k5Odq&C;ylXR{pc9H6r&$3c%8W?}mvaqli1FIG#HT-8Qmr!}N=Ndn}>o#{)1)8jK`4s;6`?#_| zKvmPsmSulBI@^5CXkRs;Ph-Vknv~7hh%NX` zbbh~cwecDnJ^$;ny9&qaEzwj9>w4bsS}c5X)kOCW5S$EOy`XSZXKW0kNi}caVi{7E z>={Dgl1;y}Fgff8x~~;3Nz{IhR17TeL|C!Ai$Jr8j!+h^3c2t$g+}DCIsgQYN%{FRb@bMsC)l6%A4~7= z30@KH+*KdzBDZ$4B*@e6z(fWPKVAa~Cns`R-p%JzDITfGaBb5VCrjp%L7#4cRBBcg z&8u(f4V2D7tZgt*DH0lKUDQKbNPGKcmBN#d(aEFG6hZ36-(d9! zO7GF%$GaJVw9mTwICm-Y?s(;|&CE!(734}8gvohtOF(SR10IhEjsXrQL*GLvn?EML zW#WH0hVdcY5I@PZU75|~q1mkcS${;WWpg{>`gc@H!gC^qZ0_dvVad|mc)6VTCva1G zFM87TyGyQVZPS${(y`QX)M~F)1GnKj$ileI${{l8Zm#~aKMZ^6*wahS?C&VN!tzPffjrmOev$UU6Q9{1 z`UK02`qtnJ3y6GJJ;R(+9mJGn$|YUa-0Vu2N5X83CfDl@<27&UDi_PsD)=W^SZxkn zlqNU7!|^N5s_X(qa-L7`+^Vi0W-;1LLcR;B{sMQu{Yg*JDc2UBg+6jh2JdYt=l=P# zmbR$(y56&zWq4F`_+`b2q#Y9-{Q%e6(91x)@^Yi&1wZ+*wGSInwDfpq(!*Ig%YF-8=QWa4o? zs7EkhN({9na$5OF?Txe$bS$NxvF+&TnYZQP2Js5~gE&@0mkOzbE?aFq>YS9M_yq4= z(9b1#d?5FTJk=8iFt|6#*EME>cGp2aF7;IJb#E4&X&xoaxApOjPa@m&`n4MRXo{BU ze2jnIz(qVUbaLCQ2s{1Y2IpBUn%jE?i`APm0&_SZPLiQCzLlR>UOe}5w{7bAMJ51a z>9p8Gy|MhxY})jOnCq51EbT)}Ejel~#@upKBKK4=A(XxTKVv9nsx88A zr)1RHa!(;%r^Ky_hMv><3M8^(1YG$omqlD~C1`Ly6lW=X8#?i(RjGTad(Cw6GmpYD~IRU*MLx&L0 z$`eE1Y3S3M?RV=Vk}gZ*i|^TUhg6X2zV*j0I*KK!KH1IJD***8H?@>IM)wv!-^w`k zGqYY^6MXxd=H*IXnM(rKN##7SX@WoC?!{{cUTIU*SoJA`pCDaQxLJzJ`xxEl3y}(R zBc)uz%s#2$rH~m@DPwwEHn+tkdXH_wN6ie?CF#rFQuHL=C>LOUBSKghZ9ygcJOu@) z){hr$`$5OuokvR5*qtKfJsdy29_J)Ut8(dwKRp8>Gn^);s0m=JH)F<(N1Tl79jT8+ z7|)g^5Aupsew|W$U0hwCa#e57gIW2L;WkAJC4&AVXgFE@gLQg20vbLkU+Q(!Zt14p3;!2px2&hURw5VnXyj+ouv)|1v z8)A|eR%Fl-Jr)$D9t581tUkMMVUHDwuRGu(3S)xWL@>E_^n)F_L@9!JAYFBGYdM-} zUD3h5?SZ4Iay`^<2zj+>L_tGpUGRa|cRw|9q7_M){9c z9A~k`4u;IG)UIKyWH2KtSNl%a@wfv_NelD zm4UHIENKvkd4twWQ7AunkZX5(DL<@}bfVZ^fdn#@=4!+P(q{fP9X8L~z{k?VJ^s|QT`bjKn zYI}&n@-t-p2fK}KM(ifdqZ8CU)<_c zo#>Hq84fj!eQ4}bhokG5Y|F;EZ+jOci%&j%;1AU2xcE)QizHi(MmW67cB+Ssb$wZ} z_1PD(R4P5nYNgVYZ+M*Nz0H<@sNw5+PMuX zuD$=Db?96Vo}hg*#lQ%Pp_~%5>;!d4&$){g1a}7QKY_j(h7un5Lci( zER~=4rc+Cjc|qUToX>Lf^FrZ98N<_o->sL9EE_vQum_h4GahLa!;n1V{>o6{<_5dx z=kh&`tR__QRxBGp4Hf;ywLx%+w7zn5?tpWnp?1~=KNCGPM^#xM_WAQq%JwD82Y($U zb3)hj9T*rN>L0s3RFp_gQR!=>3cYSH0JS@~6Xp@?l*#S4dtK>ngV;B33!mh8PGYX# zNJlUTEK0>uhfTYuL2IAer|V1EAMkMx7-nHLicGvGsfae`NPrfD*e0h)L;l(1v@${a z*;~A_WAFU$o0atFM(6CYNW5CZ47~-#yX*zQIpha@FXZDbeZBUB0>0=AkLXo8f|k!X zXcDaBkrtTYYSLbNWM?~nmfw>%KfCw0NhS1xT&n>${btSvzMxaUCF113*vV;Iz0~E1 zU-Gbi>iAt2ie6xcl-RwOw*8c6MX8lr@+}AXq{K6b4=FP+Xd9{B-CtPoUX+*z`f#*b z>~6MfYgL{kjOMU^wk5wR-E*s~Z=>qnZ6|A7po=zZiuXAH1c1Cv9Tk?M5xbQ;RsxE&JdZfes!$^d#kIj@rPms=P8`?Rj#dfA$zF+IJQ7 z#CvvF%(v?qPli6_>xQ_k9quNX_~rJHr@1}I zz8&|93JKS$W~0G!Zg%w)WfL;cYdaC3nN0a~7HXjZ{jKUUwG1|rQfwLfRmVwKxQ*0p zr@gTj>`k!KgA7&ixPIQLW_t7U?M6bn9ZUSKuAV5w`lTZG%*;7+TI3}|yB?2QFw4Gv zRd98abTa$knC!|*p06Z&X!%HSRV# zjVkM*Qs=~lv4E(72*oE6xCAH>^9j#=6O=3>ikV6#)*c|K#PoldtMvCPW8fToeC%ho zQjWdAF!4Fxv;CHb|Kf!r!9H_DJ590N0U_w%bYdAr(<7|xr{pimhs{A!0ah_}E4;(D zG9P@eH+USgJ!kudvdm$K%n`+>3lsF<;aJo39~KM7ZrN)FC|96m2m7!$JDk5^%zW`) z!-!cb|6Xk}uJ?sg5%6j4JZB1!?uZ?V9(>}HQDgQN2S9Qnx(^EYUz-nH`7}jFz2KKfy)?MtXSIcc%~YM zNS&(zMKw!vaYbBtMCRp2Wg1;GODCL8{gdGr&9>kvKAPFIH#fXJGhJo=ik9)SP^y|$ zJFofcT$WgyLbbO31eCoM4$3&LgZM+tX1+|kmgdQ6^{E_TFbMW#B=sR)6p(uH%L;_v7S zTc4ZAm|lx^lU!#p`~2B_{9^e<`J-aiO%+eZ)n* z0L*B_`$u6_2bTL2#V+J_XLwZc)1u;M3jvAz46Hb$nxrP%Z)4U7wi}(-DRRBnPhU~q zI;i)?TsZ{a_$?~Ee~Be`2rDg^=Kn^%m^^4b{yg!A>*kl@Z&C$lr%daT`$7M`_P??E zZ{PUuv+)1vxWPcIbcOZB%6&YWJZ?NTeg$Kjds!$S_$N$?yM5UTa}5u)p4+KSG?A3O zSMv{v1#8Pr*MnUTzFliY%}a8T@ALVjFaK>&Q-0@ZT{?J21`?bas$avDCvxn3mU65~ zSnP_^)O~ zLnBXIW1l6;UQ3ux%uB?{`r#sI|6Y@aphkju^$A!&`DrB;(KOQ6_-?f{bYTpVa>Ae? zahpMo1JD;kE_$w_!ZzL>n&;bWRJIrx__@p4NnfBbtHk1kdrHu4&7o6!FXrzDc`}iK zXpn;hv+->lRSLrM=)*4@S!~387?Tu%h01pSaX<^d>x`t2Xh%Q|058=VjaHFDLc_L_ zJQw-ynwn%8y#R4furzBZAmZ1`R+mfex9P(g$jJ$LPy4pFvd>u!d$+iZU#R7^xu1URhWO|+o)JbMi|27}(hJGW zymiBi&qhGE%w`d!v8E0y0-7la61JdMA88?LU6elBdGL|%vIpIDKB-8)J)%Fn{B96=PMFZP|IT zcUYA7SnM6WzI*x&E%OpoWg8B6;;I~2q2^oL*BP?hT(!v8t*K*&etXZfy zZ?HEh?+Cz!2mLmPY%epL(O0XahINAv*hlZ;?XDSR?mhLx&`HAgEELlp(GU!i!q z)N7kpD_0U+Di5yCS|R0PBjytE`O*eWmZKAhk!42TqK=HJPz2yNv2>S2a<1$1q5a~v zse;N;2c$XZse{^wbHG_^se#$HXs{C4buu3oz`+XxW5D9G-T^d2!jB z4Y1q6x)hn$WdC(h(|UNM7bTEbF5ypsTOP5r?X!Jfw@$DcR7)UO9m?u~pRdN&varoQ zQ^$0vPowygYu%jTsc5OMOn+ve4Vzxbl_B+q?Fw8dsDH?j^4nEeEwHZ>WR|l|<|&L+=NPue)1?c67Ty9>{!*4^UbC=uO79Mq|H@51 z5F%Z6asy?!;sxKoyp2Q8e!2@Z(iATp%rm_;Kj~eJqhaafm@QfR*x{Iv$D2a!mGy*# zmYgOUyUqtn956(rskIpmPzqP&?d@_V@9lD>eO=b%|H{#-V^I-<#k4%0cKLeJ+-%t= z0hiBiTUd0rfK#D)r<(z1RlP%~=_*QCGPsgdViP~SK(u2c`n=iNe*4d3?0?VxHv<2S z!2gyA++z_Dp|C+u~uWYeaKSt!(r=E3tkTpKSZPxtRWv z6gwozF*iB4=vrB_*lyb%&wRchAh8-HoY-qud?I9DJ!nR46=b?PQj!f)2CKb^LF8P~G(dT+{as_CreH^Llr@MI*WCi^v58lE@J(>4 z_$2L|xWx#R(|F@!QX^>Fo=&N{n)9QPnP+{F1o0{{NFU&P|P{W z%{tK4!z}f}VEDUm&G>42=$m z4`c{TfYW2g;rsE?`&TdS-Kr8Za8s+bE2;f;tnLsWxK*B4NiY)Nd2qS~5u{H5(cJOU8}5>{=;}>UJ8P510U5 z-8u40mHCt&*e>h@;S;DpMkthKH=p8YLvw6~Z-ZB;m+eyxZi6}Ov5rR^EV(&a6q^z{ zStlQ$&L8Qh1I#hMVj7FjRa!$fT3!>fRsh0A=1=I%t|0dN{hI8_BP*7oEDr1rR6>@@ zT`x0LA9DH$=B|ErUxOsj-uo;mGe@H~)K_2$e25i+GW!y>_1 zTElwD$Uq#J(mTq_mQaYDxxfpl_Io0@hR-C= zjv@c4bDyntxUf!6UmWHT^P2YYwJu+@Tei6KqL{$?bonFt=oa@?N)~Xs;g&Y%kOQ>{ z(N~@I^M~%{&gA@}{Us?j0PGRAu4y`@-r7>!WJty+?JgdpcJ)^$tG+xLt<8%!6?oF$ zOW@y*H^(}#AKiLC0u!rAD4)l8?6q^Jc5j6+uNx&C>QfF@6BWf;Fn}`$cdw%3_YB)xt75&felm{q41+rO^$ygM{s{ zbRit+2e9xsyxh4H!~A%b#Z3f$_5&_(F~Q!A~E=_}O7|b5^^4 z0#o7INQO_A^5e{XS#G=#*qZb>9AotBME}V_&d$Sa@$aRiO3mp6y{Ge`#y-&*^x=nmaUFJUcb|p;hViqiR2^tvg2BBOy&J+k6_}%XUk({vQhK^C=8|q?9azM(DeJ%PF!OUr(QihIh?94Gej6Ah zckwl>ROz}q>mQORqJc>F9~J-`;dJ7UjOaamK*mk!45hOIjm^K^$zP=^X0IWG__6m> zhOG{;VsM>Ue7uaUZ&@W+5yQOIg>x|kTN-A>$0n((C9O-5)dmkN5m0(SpGS)CWYy)< z`~dVa62By9q`YEp0Su(P9P@q}yWAf71@weTBfXQ0H}gpZ>QC}9gg}4H_L{^faEFD3 zeLF1cq7}hSv!bz24uexH2IQup{4*}>j+QookVBrU`rZ}Ry$lGx`xH{)aP~Mbbu6$3 zfpux!H%#rz<-4yEsa7Hym1g|!S`YBT5Nez2g=#7z(m-P5eCyh(guKoJLyDI8fH<$j^+q}n&LufZPj zA%pUEc1z3LuN!86-Mx-((&Wq654D69P^2wzqgYz9PU+;}?4kUnbY>!iu5-id}}*(zt@Hl~w@IY;_8Q~mX2!AN(} zLM8xSJOfOb4AN8H9#-CZ^`8c`|4rwpoAxe-c4VhBXc5)W_QZ;8ej%S4H?*)dKV2*p znBql$szO-$=obiQSKh68PF6_}mUGFlh+0Sc58QvW(4BByFNPBL{kj+~)<0VaF|TR3 z!?Dy5c**k|y!+rTs>zAldoxcUC7kkg{8zTeU|dk_H(chx#01w!L|&`qa@el~7J;gW znZwk)vvgpp;dL){iLn2+NJj~uhSgec20d1Un0 zwx!Mx2KE}NrydWxCRehUV@|=Y1qhaG*Vby%mLb^B)@A#Di3Qp@??AKI!SVVu6}C8zCfTqq)aBC|fBDRe-@B&&yTDvt#jnzs-Mx99 zQ(&!Yapo3eVY{uOa%|Av!`1_gvlG;Nwf#fBWAdmyGf%|BDr2s}G^C@q z6$UtI%(5CoeRso8z&G(pbL`{T+5)^I#DUwG5k9N?{Za0{w?H#dZRR&?k5YrMRsitL z^)0(m8lpFc4~qockL>xepYd^@F$j8X$CH*LU}$EtU#FGKQ+ZBKg6Mpo=ZZwwNZqGj z6mwFiKiJB?U==krG$aT<`PYp9y~XH^I(-`h18X#=(HwtC+e0l$<;L^^siwLj*3;>8 zg`s0`V;gynJv{5jNv%)?o6;uz2-;O;Lwi&D%;awbqQ+_M%`fMv5XoUF_+vm3mrQ?H14b$- zNk-XZG`F1TxzPl5tai~i=W?aTQD#YBmZgljceAA)j!y)5`7uS@SFMAjBk+!b;oX!I zwz0_%0Q*@p4K<)sh-jI=qXmj`MWf~BjGJ^L#7605LrrXAM z_`~yh%mK%t6y$MR$a+x+Z7$7C2F_7!Oq);0_E=%bV1A4~_0Og>h0be&j6 zXw0Y9ZKX#)FpCWe-r|=Yj30|*$tEPm+28PN{=q0a@}bFl6_+h7E9LLruIW(K_;1mfi1&S8v z&HtQx?m1`Xyt#MoevwHsnaS*(o%O6|t?&ANhO?rC+&_;w75rT<%E}ypOK&0WntZhaS#`UYC?@F4f8rn4191Pn~Lr6L8%b?rA0;O;j(M3Ez z9n#;1rh*xPTZUEq&V^cOOA&J>>C4TF7vF+HDVw5qs0JQ_Nyj8L8!4_ww7(~^vE{p! zApE97`$;O1$eP`oD`p5g+ds%36@M1<0~56~Y1^6(f?~O=#`A`6Ve54Dk3J=891KK+ zg_aQ;*6@zn@=flTm-OONKcPsfS!#5tM*2=52m%IkwI9RI_oa_)na*aZAEqQT4t9@W z7^7LNGWBx1wz5Eqf3V4z2ak?&IJx~?nKn6ARP^0+YM$I>i7{J|%dnX}x)X|7 zd8^T=m#huWu>ms5u_c)sMq{Ds`Ajz;;}*Jac4ih1jhf$@6C5FyH)2GBKShb20Y)`7$MhnpyJ%k**ooE}NsQ^@%E?R~HP+Jw!8Ge>1;;BH zDMy;v2Sv3%ObWa3&P=+88Rwe7BEM9qLO&IeA9}U6b~RZQaJvgoZQFve$-I0{@1krS4(LYvtZ#P!0-dbcRKEAk}G>*c{*@ABI#Bh9zFXD0UAVedTm z(zJ^AFfOud%k3>OHcJ?K^$ptX=MZ+=*{_|i^| zYAw>pWgnWVE?f60cGwr=`ErMoiNdqr>yOzoVqj(?eY-31Wn@Pv&EM&h?`s+%?|xjD zk6}%-C6wd(PVVZ=KQSA#><8BC){BfMp<9*YOWIE~(p0R+kL;MF#NA^qHfVl{q0O4XI-t6a#UE@&mfO0K?p%we zx6Y1JQV&|!F_pdYNA}CK0NTATl9!)Z$4y5=9y&ShbL;Yr2$=;{jJcpn4U$v zfh&}ooTlE_)ypU+Hk!QWpA z@y}35`q@c9nGgG}Kh>a+m*StC1tl5SoQml%_k(M#>lqQ7hJogs><1r|U-+VC&nBY>R$A5&CDcR46xx+7Vd!^Smc_E4K4 zHo$QX2aa<3;wZ-nsuT@#s&WC&fq~>B$Ap5JUp9E~vY6i7ZB8SjV+>*d0HT@cXRvoK z+8t+rrER2M2|CN~9S)aYX-_hIZ#ejqgx_F|4tn*pac6kPSAOZmxP~=+O#kQeUuEVC z3Im@c^4=uAC0PsDYx`+KClyqE<9S$_3*@tT#$XrFO4;8TFC!RLqZdT}u!6gufQ;?A zTzSYv;fqKb7-q-~o74(_>(TS*)pUOMy6Lu0SW4J=QEhe-jGfWS09Ra6wuEaiCy?fb z;avMJX>_^;bG)K;h^?sPJ{X^qvsG02!5Q=T<2P(;QLs(mRlf_DOPrSKbe`FU=du>s zY9uDG;f0pn+ks+F`^@Gv=#UDI>c$TW6Bul;mtf6CA_c2AeUa*Xu`U+>Q@FlcY+w2p z;K9}#`ru+8gPV8=i}*R*SYht>kf#_`uMeWmw1}Ice#4fnj@Stj7FXMQBRwfqXJQjr zoi640LwQYt0W*vY2_#zl2GC!3z%w=4uUr9W}xqS;~38lvChn&Q`Q#Wb}bIFy) z{1I5zpPg20?^5!epYZ97sOesF&)I&iu{?zTc>E(IKZXwWt}O4oZa~-jGu`rrX`KDW z(^-CD|1-4`+<}y&R;T4m&YQcXu?WM`8SU$StruJwODhwy4|dFCjJK{2{La0w;2{ zZSc-3-xf97V)9qs2EvL+DK%mb?Fb<78oeWrRIlrG)x`rZreAF+y@HTIy;#y}2flb? z{nTnbd40Hb>m^6-Xd=pkD8Oj?4FLDs$BzKOL%XZ&QG)yd+TwmI$Fgp5A=FGRD(~DT z`k_~CX|raN3AXb^M_sI3xFVww$mMiZX;>00)~>vZRMc?+n<2+}(4qNI z4tEc)`jO)nBX`C`jpr#9IXus$1SLjs*}z|JJJD*=r)`8&n+VD50tpS~8QWx_FmRP3XutV)gS=(nwuV&V=J9 zqEQ{CmQ;gx)M(FdjuWF^gM^Au!eOT3}E3We5>aR ztGjBrXAGXV-xs9c+I%3s*1gdP|EE^^zkNKg#pLakmizWbnQ`zy!RZjop9-wsZ_Vsq zfU1G_Ba;JriNte$*@6BZ*tjeb=iLssHk| zN@KB8XL9fFWKyrRFj~7H3Y^Z{|NcG8?s99Ai2S%*=f8lL5u+6ON2TKT9maR8*NN>P z-aEf4=kLM2t+-?E2dtah{jBCanPnfC)`;ujoe`cSuH#q7tYIj*VlXU;Kiv04tgm6M zL(uH-QCQ+h%x2jzCPK2taRFUF9zZkwA13%{A>;@Lm=t?p9ZE zN$OP*N{l*+7{`soIC&2`1Q6?=&ycmLr>B4&PJB50FVldXmgRTV7sZ;dn@#a@gCpoq z3$JHXMM{ep^nXcEx>yUe_`T?x#Qf>dy1C1Mx0W z(*7?1KQ;=0BQ%sbbyYwOw$gJnaX91Hpf+BQ)*pO2>aRaJI4#IQN!4npa$^QB1(%K>S8yZLM>(G04W1aa_1UlW z2l9MQ>&0DvvApDM^AmvcPvUw!*%sp~H8uCzHzTSe5?%}}EDU8ri}SdYPbzaq(Gz)X zHSCy0gbNtk4ALag_IXzBg>};qjm^0QJjZL)uln(|2=;s7fK;{ddE(*#+L4dw7q9kv z)`l8AMKK^-hw_CAZQm%j=c2H3xFHzK2laaHboTXsh~fXA-uif7*+uyErVuI|yJ&>y zboO5ltKpc%`>+5*hy?TBK-)4&${a`b=H|g>dTicpEGV18>I)@p?%^9Yv5k`TEgJpo zMzcV`KXf^+yJ}NYQK_Y*hiZddZvP0DY<@;}i$XqE?2DiY(u3b}2Q_ z%;_4PWo5a5H$x9?WE$-|W+cgRphc|DGzVLKO=Z&OAxu z?y7iSwF#Kaoo$V2aIX8={aL%U&GV>S(PvYRVdu-v_8ctY2pgo;`(t}DHH#@o3)}lG zr;Q5j2|O=icT$;84kJ&VHNPFRE~~f9xB2`XJ1e@IR}QVUZTAevnA+x=<~AELneC8l zaGaM%;?5&UUu-t#dp0-$Ef?EA{Mv!b_^_vTc;RO~h1H*Yo)WElxrn|Gdgs(n zuAR}i-z8UD0pe8b8d3D4jfBnk^Q+;TWDMf4qmFc z^dfv|6pdV9GNb)GmVC}B6#6o?ZoLecp~Gwl%W13(gZS{6sDERG_){BfG1sx`+0I~5`CB~{w*LBAH7eYq2DJ^F! z_IbV`x})ppB4Qd%>EB2OpSh5yO^OX@Zb-{>rHH~EU1U$vV;+dh*NYsnrGm&*ULGaJ zhq+AQP2Cy5?_zDT)s7#slR1VsO=d{9<8nC2l{0;#Mn!WPsFyW@fR`xO!uQ6D}K^*z%q`*Semc z%Vib5wa{|ji834HFj4KIWmzftUb-rgZN>czU2ftdbG;_*W zJRosS0-n+DLpf`0Ip2CX=PRmi^_@p~GesT3s%JcRYOtm$7M#RpH%Y(B!e_8UR@-o} zNa~Q$U|!3BnF0#!DuebN=-eOSe1_2x#X}Q=fJwYft=U&$3 zur8#Q!Ov?g4f!K1a$93z{o?5mDM^V9DT(5O?3W<63OB3vMDLjf8~&)2w$j@2mA`;g zv53Eb40ql8`r&$hsfws;7S&z)4u-E@UMO~ndv?bwWD^FD8g-Z72i z-4pF3m$jy_U^5*Kjg%l8cf3Z?k|ZOZ&Na4<;@B|wFF1nKceI>+tb(c|zTGlR*L;=0 zxEBnsmZcBZz2q-gX8u7hAO-z-b&@9$=tD@?ip&u=wLy6iDCOmtg6Z3xf45GxTg6gk z(}ZsOa9)B|I`zGxaiC|huO~JAYN~4H4}XD8)@LmIc+IW12ko0@y%@6L zONj|->r((2uA2WY+ud*QMzyYZ1cIkesP*;DzJj=*t18t^g<=T}v!Rc(O=*Low-M~t%*gTbE5sJ5B^sr3OYHt(; z&rTHgo;))a%a|wgvd^MEfF)xN&RL_btt@l4`jFH#qDequOAYy14WY!hQNUx!KfRAosqdbcEYaC|{y7eY9{x+1@qpz^?(@`-P!gh|v; z1ea|W#E5eA7m_-)Yuss44^F)>4Q&Gk=WROX%wDR|j61ONf#1K1bl{)eqXFfhfWtre zrUn_bmun4}+jJnJBhwC}RNrPisJ6Wa8J|N7hrfIT5Z9Z1!=By4jL0t#6|<#_#Cm~v zQnQKtqrU*(eAl+*ZQAbRj*yMziL3e?59dX%L+W=(XKGDNd`)7~2NNz!`?p>7`XS6` zOxfPnkbX!NSKtM605CGnBN2bUv`c8Yy`%l7f56lj!FaOM+z}{Gm|CM^cc-=lC(;jb{g&(BVmt>`D>+jvES~L(DiQ<$A67}K{!10shRu>jBR$QNnudtmWQvls07Z=bmJF?6dKN4 z(GG*PS%JHcB>K@@3-qfeCfrd>VqvF_CYM4nj(L}DSO;8EY^Gk0MWKDcQUkEphzJbU zCK8qO&>;0Kskb!v8S->ha7z7Rkc3ZuCNOD~VWuihWDYHP9FSP$z>!n_1!gAj<$KKj zlF`P16*0FrX3A*y0)KN;`yG{8H6`~xB_FYJH>IhRL3w)H3Q$BnoIji`1vK!S9p^c7 z{SyMCkLI6ENd4Kxo|Ey_;6o-S`8X#nsCwJfttiR`Y?sM)eh%@~W!VgAt%H?P6b^5sv5y;Z+JsqLq0E_87p}Z{u9QyQYRq{)4&#G= z8jWsw9NM~F*Me~uwuO80NOi*i08yp4036)S^w;)*mQxqiJ%0R^N^f2#`?lJa(K9;D ziaxY?s(Rp}6-rWLZ5mK1!uLES(4WV8iI^*sYYqo$Xq{bLxDU&ES}4Z~8>Okh?wy9z zJ<1DCbzX!G2_#d@_p1F1%fl;{@?ijddP)%))j3s+;SVMxs=s)z-#{ttYUhE!C2Hzy+_Y+$AeY_f)=hYux64NOLHrmJYsmh;3I2o8I%-oUA|STpnlM;Cp>! z>-Rew?T`c#tLZ>1*2#k`XF7UJex=C`4-Hz^KLw+~9dNpec1WE5Nm8VzMM35K z&m~OC*rW4%I4KX=@grcH)4k+D6t_|JT6tC;6*6JDKVdm{%1ZR1`5Q+v(dq&Gzko~B zPW)YfYIgix!xd$)*`cXjbK%PP-u|7mML$A%Oz(3E{~)P#ybUvCM_e$V%$+;;b!Z>l zbG|p56jMHI=lgIqiOK+!~3qUcIN-|8*qB<<)|V5s2>P9;7LkT-cH|Uv%XJbvsyYaQy#9F z&$j*(gt{4h(bcm7@OUkRB22&4YZzsC{BU@gjg1%M)M8JEw$Y1O+q=s|5n1Z0rW2-s zu(2nWzdk<34!fI=iH%~5f~IWpY09PJ(2wR&l(N;wqzr-tu+N6vbFc(SENE9`!u+9W z^vEHJi%fpBO{)m%NCRI~QfYRk=&1$Gw3>hKo%`0SSyb?qfvB~3YdW&y`ZQ=&Jf>x6 zFzUMK<_;T&zuWu;w1;X7w4l^Zw)NF)A6gzA8mi@Su<% zw0iX#1p#W4kG5XKqq~tpx_mFxI^~TEl?YckXGODHlx1tFek&sP)Y{$0T=Wo}2*qzw z;O?yH=u9g)jfQw%DDcuM%K)K3Sh^Ajl}9a#t2sCx`umg|^UJQegw%Ef zzRNlkVAj#f?(jA7(O40%2KTz@TF(#h<$dE%z&EUENy}X9wxeos*k2B**f+MJ z@m+(0Dhe_ipCG8VS-N4^23~TAWgPaseB_;^sIsQMbk!GzbU%QAj;cBg%PLZqV^x}s z_J)bZ)4Gfrz#-it^_;#l2JGya)aqQe2yy`yQ-e6Pxpk>w9kl&qgmhn@i(g4zdCn~a>FqNm#oOZ& zqy}3-Z+JtHC2u#mqFQC^M&_-eL%hrl3&*nCRcUd_S=n9}d2JT`Fo;zxNY>uhp{C&9 z{rS!M8wJ|Z#aXF58}8NA>`Z6|{3F_rzf|p(I>X3svW?UKh>5P*^dx#&*teS4n5kDI z*@}YOBc9f)U5ISO<#4uYzDY7X<%3!zq2X+~F<$+=w4KLGf(<%RHw3%)M*o>T!@89S zQhW}@4?uo=NOr)rRto3&6k7m?Z*^o5Eg`avpW@W zebl0t&;IRaSF34RNnETHaja}!X`dscOdj-krPKNbr6Q=bbZ0o`_+(VdB`zR^LSmS^!h6^cAFN;_bpv|p{0g}SD&9kEr}=i#we&eW8n z_r`t&fU4J?_bcr^*NvJhPI?y&52H%suJa)80rBifVDnWvt=F|*fb8uw|!7O_7J z_G*&huoA0TgU_D@hOboA9_A~nZhhOwpXBtE>nFK4HObW}O;lSb6^QXb>zDrp2(|n2 zZzCMO)k9zY1xV`n*r2UHzMrdqVbllJA$q5-Z8A|!PjAK5t6-t)NdLsh za&U9QE{*l^o4U8Vmv=#m3r(YR9rIpPho_OQ(O$TA3f?u^ zq8bnWK5f5d{7Vc=kSpEkz_>Yo2=1Q8L~$)?yq6+ctH4 zD$0bLlC5H7Hs0y#o-C6U!7(O_1xx&Hdm;YViI>@=Ht9jfty_g%*(yx5)IOJ%fz!d+ zF>7aMr&*=PtsOD_C&ZM!C~IjCVRD_NSqW)l*01at!Ll5iKF{hXDzsC|?UqUfcbCO~ z!n&qr(5xrzr4P@|Z=T=j><7$$Z~pV_q2h**>taK)JoLV4#+rC^q=f1B?~*842LW7p zp~m{!*&-}@iW7gmT49E~68-81BEJXrK9sg}Qj@|YG_dGZI5vOJvwzBNVSeXnP|C!~ zU(Xkl-Drfw8xf5pHN9;_I9QM*+7AAi{icF5KgYL_4n7#KUjBUPnLyKe@r{sip$T4X%%v29PK6? z)zIJyf5QBG=oRnpP%QJHi5cH2@E4m zpZlEzxuT%85~oyth0o_d{Whs~a5hvAafX!bYXs|6H9BR3ycU*09Zw$36w0&P3po=} zQq4-@>|&{q@-JQVhGnr(OFR=R(#CVyJLXpShqdlC%u)TU;JCuDB;kuybE(F+UpHW! zARFzfVn+^Z(hGK?MgwG<9z6{ghiN1C@GR(58^2(JZAbrTG2PAKzT#ogOjNfaqO&Ae z8>%?qcGU9zN5EV&j-n{96P(|TYW)MV0+Jx76xydYQnJbo1;^y67JOx?egb=d&OuK# zn2`Tu(zRTnaIrVKCB3wftQeIWS+rc#edVX2D;;77Z3ySq0@(?}3@1f3$QbQTN`;Ddcn2xMT&J zcgVC!D5#N)TF5~#rkB{eoE5>_!~^_=LG0mYwYdeZF{YsCi>6(JM{?z`Pz{lazW{?x zgSOe-Y0v8G@@Ct_xs&Wbk|3~!3V|zg3@fM@QEQ=GE^Koiw*4y*9rcASyFZ)Uni`6z` zqt9a%->EEV*lPrqt&Z8RfHVeKcvM}dp@lvV5xyCR{kKIoV^sNvCUY~%?3c(u!DyHoKQY7Z^7le3ttLWJ(LXF8N?=et07Kbo|4@nLyWZ2;OwMHY6{1NZ^r`WyhM zkA0|EU=Q$LRUErKsT*&4s~e@GN|7hh(-s(&wR^r(U|545jW2R2)m6~zr_ za+N08<5DnH5EWBaE{vn~EwhGI5TS6_DD{51Tz~NOX}7*;>o7jQD@m$vHd4rfmPz#n zezh?i)8AYgRBplgZ12MIs7qn#cyP~MSjiBH3&vAjLF>0ODerzN;xYW5o>0B)ad+Ig~~iJuZCt*zL~$yuw7GMOEbZl|j$*4gtPD z&y|eoHk}Oj4(m1aPp#dn(-b1RH|6V9)d-=m+Nla+s+=yY$EKs+2Q}j%XQ7OmY}1B4 zbYf3BbxI%~BkB@X?RYY4rA;IihRnmP3$7D<1epAY1^hEQFi^=@do?_liHNGTTOwYS za{mh`Z@u)m=d`0;1dRtPp-+t!CzER<`z*~pFAnE??#J9@i2ahrJNP*)Dj_)C0mNO2 z@(9V{aE~dMY?m&RWj9I5-6NbWWV2H`r51H;DJlrtK@Ui0@p+*=H2LY3BST`-6->K= zq?uEVM!OAp_azddVqzy*>?CJ3sNcB#7ZBg7bz*&uXv?`>-w;6s55{a3|3_)7)P$sU zNL$?_es(MJNlp=<^jd-V6Z)F}BJ9>0q4&QuJ z9u;@G%CLA9rO!iZsvKInOtIk1|9(De9)>LcN$-(77BsfWk8X1S-PDRKX|-%poLd!L zWN^r_;EMaD*8#}YzkkJ^r2c9R$w249Hpw|2PeUKxqH(?FWhq%St$ezBKnhlLlUKCcCz9djcj%aMBGc!}QCo|*8VR}9m4IFLW zvBY@udHxqA+`P%QyXm66?kgaEr$24O2XZPRJY!<|T%Nc19fsado!JlM1HHeO(R%(! zjm>q6q-xD`7(k4S&Q@`h+CQy$)5H>_{o%R$J)J&deNNdXgebqCXm9_#_UIh+;yrIM{`_H&;CMq2- z+sB6bOAz%ba6N_+YO$h$8APg*Z-)6`!V5zg_h>y%35JKwwjvfNY z6H57>^^XTRm!CLB`P0nOX&vCQ7VDYj_06AEyk#(>iOXijeC}Gl<=eKUOgM&c_Sb-nJ)^@X#;V1l-=0)T9$|O>W}0M@WdCR#8KwN4gV}zaHnPBFlQK1 z?~a@L$f(DUWPE|{S^3@)hf=*Wtwi`JTeSRTuJ64@d*XiKnU{~S5{h+k7wYUqYOAK@ zq!^=KtusmL+&W&z*)M-u4E31wwx1tZQmXn{%z)5ti_cImJ!9<_i?m<@{wYNh?cA2n zLIzScT@Gf`{kckP8wK$ca&xRLUYAfcdl1?>Q^Aznbd)7ItE^@`;`*ecr6ZU6c6^g$ z4&-|`wolJedJdzdk#A^^OI(4+;-MO*LR%{dW^#5XdkYRs;SiO1Q#EB7T4CQ1FNvKY zT zj*4sIPm^U@_^dFUmCB$7K0FzBt0C6*+Mgh@+#Dupdwa-8Bd);-oS7WPS)KUpw#Eqe z^7Vz4%+_*y52-wJGQA(Tv3Np9r<&bZpXb44Vl1LtuR!!0XwMdRg8R8X$GStizgtxO z#8neM;~_59--H_Sw*T!^yr#Ka%t##}MIz+iL(`bPuYi>%%5OH+(FX&8#mV|&{O+P%p5wKy-e%uAhDq&o(U)izcO5O;yo^z)L^~=ZgAyZ{ zmbGxFj5BAyYIC`ERhc7|OsbZMBz6C1eG0u+3jIifAxJzR>b9c1WR>TtV-5%-r<_0? z+lgET2t+>xaPWME`FzM-R- zmlUR^+J53amBghHR><}XZE&{z^e)ftzEg?dFJNX_;SxC?^6eX-+BSUtcaYGGQg$|n zm6l-j)E<0%lAeQcXSo#h>_b6f2eZcLLgTdxIkQTNwWAK};UCO*hj{^5g<3XSR5rul ztVGLRQO`LR{Za=u=!&d!xqO^uzLJ_)BV$lx*cKM9+v;gNJR*^9xkzYY)o1=4wMrz+ zP5pKJ8;xXg3f#r}OjoZ0iAbK7;`d)OjD4O1=3QYTQ*DC|v5nWL*AOX4nW^tVB=o8 zh|Y)vj;ghhv>U$cYh3wsL{37uMpNW3%yi&>;is0aH`fwpQ8X?MPOJ~$I_ILmzS!C? zzrze+pvY;n*59zhG2KMuYYQt|<|&5?{N;_-i>jQY@@?HJ! z%`S;Smmsh0G{51Lc^UO${kNwewlCme@_rSNpET4Oc`I2f##m&jjIN@>JxdoCXL zcNOU`-rD@QWG`xtqoRH{`x-+D*A~cni7<_@AutbtX89eubXsQ%O#&T=Bw%Q+++y_> zXyn)pfE8slsI)D ztfMI_Ws~i-4n;oBN%c?;)-ro5g$bsvyj&!se)-2VIY@p^#8$R&ekO^agIs0o>(XcS zSfn&A3lT5Y3V{O>zanLchT{}d8mBEP)|UCMwbp{rvBq`wat(?~a41Y(VkQL2w50y% znfwe$qQAmk$vG<(_;Yzcy)l(9e1{XNR4XqgfpLu{8&z-gqUN2WHgbTpgz-9AY)a5D zlDhjbp5$23Q8gw`;q&EqU&c~cd2ds4^FA`#Q#IRIlGwp)eV+CX{XTyfo8Cg@Y`myb z<0rOKS$mkNf_th++L0EOIdBm5>$?;#xe{Rz{TH-abFBYeAB1o{|B;{%Av!&Ima@60 z-jJSBW^TJ$w3int6o(t*%&x0{B&cu!aq|59Pvl(_!C-R{44p$meWAPVIEQr2y z^>~JlxBFW*Gq&1U(|A8J{XJjHFkQl3ir5}0OPuj!nK!3K%JAz_Raj<>-}?v+q^e0K zrx>?Zj8%(B9n-?LAsS3gyNBWYfmf{?5hO0od9K5_oD=B(#MEOG!RO|s6|%-Wj?Agr z9f<_Ji7?a~Hh&#moIdG{T0M{5Ugh2r;ch#v{I={HDl+p@)C0eHBGqMC^DiKL&3D(? z=!8V?*IAf&RC%PXw16s-P!Xl%S^{(M`DEKtBIhk80SFyQDV?t8eIyap>*GhXaR&S|urhXaZeKNOGWYI7vP~TNE`+h!w*%V$O$3SJNT&}wJ zEJ=WIEYV`o&y|gwBHPmqv*dLq7sD^f4?6m~DNXI%%*g&@>L@db&i$UIGb$~H!;gGM zg$-v1{`*{NnP6)%vuJBX+(nV+>F!jCCUV5P;Dra;ZYOvuzn`e50P^$fa93%cvCf?pn_G~>y1b4n%9aR?bMu6-fwe^V+!M)Dq!Mne!o4`` zR+9C*WlfneG{eL5&5wutiG<<`OHaGm!N@Q3Y~*3CpLGLIU7)&zX!TLXnP`vHBxAy1 zt|>`G9`5+zUZdW!p+i>Mm)PKEp#Gsl=Bn;ycK4*3Eb1*9c(|WfOk)b^oq{zbtx$(9 zUwy{+4ML5Z9zOVE=_H!`72{-!C2u4Cv+8*TqYdKdP;2|LlifOj%vN#YA~9yGQ?L2K zte4!Z+rQ;}&zR^GQXbNsQ>;O%*CipT$Rk!&b%%W>%{xMx8zA>G7jLre2>t6O=kUjy zi`VwyE?GUc%GVTw#WVxTibz@sxD50D*P9?gsa~&U!MMWtiR{wJ``+26?3hq__qk|8 zYEq~e_>ZUbttufccarE|0F@1Q0N(;f<#a$9np`Bd$nwZjjjm6suin(Ma%L_7oJR$& z3dI)+y#Kb7IOfQw*^uL*IR2|>RS+_sBVilT%3o{z;%uD*QNrs?ZMbw7o13A<*0$38uq@|0~gDQ&0dnkt&IZIRd@UtvEe zS}WXZO?}>W#qTl^#W=AY*dDJr(x5mtQnsRujp zBFx?+1#|`cLt;c+_(W}m_i#`1YO>SvJRW{N7TRXyT)8E5z;m##j~DK z(Hpa5%?iW%U|5%OtL6Os@C^{Pyg$iOk`62}n>a9|aRfmqpEwLl<<3Sg2u_FYJ|44b z4Q7bdkXEyr>m%Qye*Dh?_3EAf4ah_@jorkLz_ zI@db;g)c7NauWD;CYek_SEW%gHi4eVWxiddFbZ4LO(^E(i)y$j>hd5MX}j`NZizCal2aB@Z0OLxEMp-*oF0bzvRoC@R7QDSl|$3q4^`L$8`5FfK1tlxw?2( z=uV0?v$r!AT7-|nqkl}&tCou9AY;XhCT|QtH`rVCnYHDzC4GF{_Z3cca%y^3Z=%gy z*e#0)|VYioH6<(RINsIVBiLYEQAdL<@&>yLd%ll9WwxUDwcaLl1s-@ zvZT&7$ik;8ZgNB(AF|wW%Fe(deL3JtwQ9T8=}+4us5n_-yUe|^r^2k+XXV@4JEa>U zA>bX;LhUZ9?*8s&CQvi&7_!h>76*0U>n z2s;aqtz`H^Sg~o2D%hsaAA>elO}9h0v>z9jtaXWNwf0NY&I2X60QcI68+)*0sist}1&g+pJLW_dBlx0G5(7Uw`K_>~fzE{h1Nu>QVHspy4o> z6Z%pqVWfp^L=7m{t7$UQmBORIfuq=r4qS@j>`Qni zWyXbzVY_E^6DaVBz^e}{+~?}4xVdH+Y9ga*0ck4Hul_33t(T(WSzor=NNXJ`O`>M> z%*fPewRqy&qKDs%3PMRsD;%DbO{U?_?QFWT?adrQE6rw<_=e*xi?X8fMT0)cH97o& z7nv;smt`01&$P@-i}FC;lX|8N`fOLl3TNJNx0Owu!Z8rT22m)o--n5r*r2OR!nmv#S&S#QgaR{ZKDQ2orE4C%dmX5G^hNl>(!Q>s5>>Kqf)~IIC&=-y= z;#E=6LC>d^BqpHViHfNv$`iYkD(|zu7!b2#_6RLn#!67QVm6qtqailZK3y?(jg;LK zc?}Lc-?@(ia5QUPmSV>rEaU8nCd!?k(t%;X!zV|@lj0ase zA0IoCvJWp^tc`6t=`uE+}^_~DfJ z;!Ot78eyRp-;%R^Yde9hTOMs=>yd#cxa)-G*m~q&K>EP0LH5hrWpv=c_EP#?$FROw8n4U*RwNcBt_|NQKQ0m$%tX=9+z$*wy^)2&RCnI~svGrd72wp20 zn->RH^oE1MiN@oLk(r#yl$h@Yu>e5LAofr4AIGr~+Gx4?ZoQ*MXgTOSYt8>5}LV`~DF zR2UMg;y^;A69G%*v+#1*Haidq%Lzzlx7su6`7lOO{-ai?Bb`f)h7>kaOI?yT7>V() z3V&*8Rh(u>Gpjh%hJp%_YDE8BCCfiW1blm&LuDitO=2?V%@xj-iH7jEk9HPVEp~v5 zT8CcF3acam+5BW_+nK?mr;W*DenqCH{vgp5d5@Eb}N?IRh&nBxyawUiDa`wRkeeK(!wUSrCQ9FgN69MJ`P!fLus3MZiRe3p4exemWu=kdlu#XXtBuwt__O>`6{_6S zb~r7su8Q{`-jqMiQ;{?oLJUPq=z2{q+piLDrjLwsfYl7f9mruov%sVl49#tfB77{F zeTSpDQ_JHvi`3ypNupW%8{j3q!AGnX_1|%k`pU(a#+3iWMe_d(7fJG8aFO_y8ExDi zpKd-rczIc?w8ddYwy-3<&_EN^n%N(LMC*Ei`kDvNax(U^s;#POa+7ifb+e@yjWk#c z80D^gHyJXDlR2%tM6_qxcOuz+;;d!mr@_6(D$4y%)b%C$c5!1A6*qM8rl~0-twVT~ zexgHcZCdO^BSUO4auYuR3>)FOVsP>ovqnoRvPxEm*C2NO)VWy_V*AZWzZhGU5*-4e z+$4hHsEkAZwZ-emGI`{8h%x@OxJ-d@OBtcKYhZl~)HbtCFxpW52&$7+zuasz!N#Hm zgPSh;JDI)C-=n6rNgjS0miTJ~O*s6+?wNYCe^W&xbMZak!AmLqZaCBRQt#yaU%>5C zY_A|7jv?sklM-f`t__QBs;MkD3{O36&_nzV<&h*>DG9VYH7#0 zDX_NDI94{lM(_>rNanaEL*RMy{*mmjOSjIAp{X?Jg)Efub6~Elk*b0gA2X&gBbaDY zTqVMwKeJVskBpV_3C;*oiN9Aps*Caim6zONOlsM2oD0}|N6QV;i0kbDckR3H{jYuZIUnvhcZ~gE=fh0$8)N>))OX7JKF>qF z>^bu|3G29C5)rfGrth_hRIYVd_LgKV`SXuwwY_{5mroEg{I_e!H&Yoe(Cx`^)Pm_E z-Ae&jR=d8nT+y)DFv_lFO;q%eMzx>9EJ)XmT`JX`CHhs>i+y3QLnUvNy%+z>&h%MG zo%GxNF*G*Z(T<2lfgO%{w`fVRQ<$Oz(HVvpXD25MCJ1EMF1`gQ_5`vn_U$=#3!T23 z?`Gb#b{nk`ORMw0?`fG**>}0Hx^q}>54)4d%DY&fPVwguvuNLzG_=A_3}T-lK2m41 z>It*Q!)k}27J~CPRlw+hULs*`Ygc#QMynOKf?#|53t?3%WnAR=moav%ZehG&ysoEW zKyHp4!`OqC&^#FRK5;QEHNo>7Ln)h^4pQYF8H9l zD3I4OkNuJd$$yd){+#)-TUIKFOA`Q4uoJrRT5XCyDuOvh&)o!9th}v578vI(m}~a- zYPLschx}hn5j-Y;E|gc?2H|S#6RC9-|N$nd%+3IBIkZf;{J z=`HalbK8BVrPo&O+op$6teBj@)qp55|6#%vd>ctJk1!U-k?9<@W~T&TM@mYbkJI=& z028WOLq_xD$%IADwjEbOP^E#{^}rdge@ApIT}~$&ChB?dq~NiM*&g+XA2ro*zyc_n zmiKw0YjWW(H4?7B@2S>DAXxBhpwj@UC=~WSEKdDtU0iH}LgixP>%3MGw``liAjM~1 z>3SSSUSvjZ%3XQ@PdnExaWBdkTXj$?7>|PaDKF`1e)kY?0#XgViq2%QM2|Zk#K=s6 z;rKMO`bA)7!Wep9psviEHbhCAdZp!R*f*CK*eo~9 z4Y`ro#uk}_83o8Cgl4hri+Zub@w{P0Zo=co1(N=r`Gu(MMAu(BH?Ak4j$`u%+p=86 zBEj8NDottQ#pUA*Hr#VQJO--X4u%D&0T6W>;f*18eTi9Onoe6xv$X(?SNx9Vp8)3h z4^s3Cxkf8=SoVl5;oi0;bTGtWQa=j+VZ^rsT&MhO=$uh(2^K@dpwCjgD56Q#T&Gf6 zr&g$Ogbq?_uXl4p{_%50ZFgOfS6c0$RA6jJKaE`NyXg-I!$}yN z7}*Wn3|@a(0^oJC`t?B@~sT>=3cSt$ZWkhsh$2+UPhamRPHXBem0j4 zUrrf3o}@gZW8Pw&AlG@bQKNl+gbKA^lg}(o3<0bQk+{0qArwD(`~{x?0GO;@J@dZP zW`~N~F49FpTEuyoFK`?E%{O0ISMB5RTDBuwYLvb(=OyBu+&=n-MB$lPpxz^E%!{vJ#HKau&E(*oKD(dJiZG7A3rPBk4YkP5bU2WbZa5 zz*bO2?|AUab8|y?TCGqjnq!fKIkN8up)IIdag{taBU6-);kixC1c^9vE&i20w6Py7t_GoZ1yqrI6O~Ngnx3>;t-h|+ zC|wfQ7(;q((8~^2TV+Uc9GMg&mE48z< zW*iuiE88V_*&@S1;#UKpq^Z>YR0c$nQt z@9*Q>8nxWQgWRV#snui_uhGx?X_FLSZ9D}-LE>uw#Bj$i|JJ9QpRn9&BnR)f-A+7C zlbs+Po>D@Tf-u+guY~Yq`~GZoEH!5__UMnx4ozYm|J?rc4J|3{0AE~=k5xL!LieV7 zxg%j}RI;>O>)VtC!NmQ{s+Cus-*KeO*iK8uHQRhMU**mSH3QeJs$$AFtxbJ0rCmj9 z(HDU-G6C_53d!K+x(2%Aed#Rn8pWNCLg}4Lj&(FwtGtDM~^qsJ>K)s9}<-IM{}UA=b;Ao)wJx&aw;iWr66 zGy)y!#IBt>@m0#E9+vdVM=);FVGVy_GnVYm>P8k?U?V6=ghE0gW$+UPtF zCh0$@HF;cdoGigQ0_BeyO%^|$HV8yQd`n%kEQrB=K;a$K;fS|yg-i|LQL+B>|9s;9 zFFw8Zwq6~a`|@w;{htr77ZL&(O&EE$LLRQJ=s#YoSByc=<)@IDwswqR9*2F>N zFEHzQgCjZ?%A&FC^rEnJjSEp2E@IOB7bIJ3H0%J-4{K8@%L&*-y(=Gkg@{k?(+H9j z6sOGJ<(UrhTRqYXH&8)r-BH56%Ue$S{|3yN{egFO?(!K*R<7@qWk3zH7xG0+w#Lx( zTTteOvdKS9LLi3Lss@xf)~uC=BhM-Vsv+D)cV0jURSCGEli9Ih!<=ZpNAs+}XLlQ?Ii9Rclk< zSgvYUf07UOd1&P^SU^3OJ!>MDQl#fWRCketUhXW^h;vf<5OT?Fu|F|&%94b-wNM;8 zySLD_4;{2KU$==(-hx9Ww2OFdmNf%qqH_n*Dh=Wc(v*WK#Pw3OwN{NA6RSN1R<&%6 zUO<-@3n{ujr}d?l_~ms?2!6|SfhP)aa&h{{a6RPQDQAXL)+$+2>;X3-%oJ26gGT38 zh+EFh?B6$mzn}wv7Q<3s;&?0CChbER-8*{OJflL)hrk#f#FY1$w>xdZa9hSy?hnVfz~Za7p(+82$hK_`h4=Ut8eeSCF0}8-@NA zvnsonzIb;hvqJ`l_}Dp~sh#*uCQTgeL_W=kieM~csM09|MyO-ELi~4iEK5OWBm$n)e(f1uymtw1GhF{s1=C@?T1|@A1&N56; zfq+kvy5l+?L^~~Elub&F3>;j{Y|6u zh-}z-5@e0RE%l(}CJGc`s+kS)E6j`BbnK$0=GGaCM9g~7Z74GXfrZslKz=$P9X@(F zUJ(2>`LhqB5JuIAV6T2A?U*~aFR2zCFWM#?z%b*_+-N!|Oqq^g0^l^P{cB79SN~0g z!O}{)7Q;^{JBwUHOXo1t?zvJ~iO@+0(MUlrCKY@37@)FH$`4vWnEj4Q!-{IRpfU@1 z7>hwV*L)?so*Y0j_((v&f@i9;wx5 zvnB9ohHXr&;>zJrdH<3_(}kak-G16rTniPRe*a$4irNr{vDy+c_Y9W>60T>~bOYjJ zSU^51*4mC;AQpPDG4O98?O4afw)nWmQWD^>(?JE29uI${=gnOdY>c7X$%T&uz(GfL zSh=yf03b4CHg}cbF!{{-i(a)pykMVQev?Q#5gn@0qfG`z53<;(oG!SaZZlfRt@A(f zBJ;_$g7xFgcd~4QY0r6Dqbr@Y}&4T@kQ-mSre*>s#l**=85g6f4Asls!p83h2 z9)fAFl2##6FzTie$JrbbO_#$~BQlNj71VY;3v*mT+E`rVs-V-oQaV<=5KA3}K*$8X z*^w0f4Pa3ZDPqJ%HG&vrUi^9fW`I9r8H0n3`9%IsktiHJnx9uG6$D~PD4_O1)1QG9fwj33qU zm{Qgo)~QS^-!3xk^Pg`f`&KcT5TG+Wu2b!y;|nVs2Z!!EG;jxlDHBs8J5y*gjE-Hr zm>b|G*$sMv_*~meI&a90ri&4^V@Bj3Ks-$e_J92#%LvBcr+a#G@QYodz|X+5v=j`+ zUNc~b`D8JONAZN1Rc)FCS8a}gsyd)H-kcRRn(JEpiLT{qYIH`DtxX=6lHAA_Lk`D! z9dC)zzP#XI;$Pw_e&s$@EF~A=AI#3tGHBX$5qDRkYu%d_1Gah;7cJMRm2NqhyUO`~ZU-V8R$~(jd z$YL8W4_9Gpa-wG_;cV)Kk4VZ@hRq)#oe@NA>2I*o5A%vhISDdXw(c zZZP-Lw{-{ED20)}PG=TMF1m9PG243yx$Kx%{-`A{QnQNEVMJ({mZI+44FSy@?#e?k zXGF4T-@=c>vs$n@`Un(qOZ%K9Z!zYsIM!o5NtQ&}tvtJQuR!^-D#6YGr*(bqQOYi+ zo@~xUOsY?c8QHRQ6it?7G(if^7UMI3xl7wmjvBxK072&e2MF?C*b1Lp$UrDi8@VY> zlgE=|rZT~Id%ME6s1yaQwdrOTumCo6rVh8fZXW?-jaHC|rYgol#QXIXKp+JLMG(lG zm{=MFGMFSLT`fy7-fl%&n_jjKVZFgs9=V%ql}>tT2H4?%^$R0@=9dCj113z}r%g4T z2|f!)MsFy+4E5fzd|V0@;$~X&CU0AMye!Ohs(&-%8L0fDA;sVsR1Z0qWdFlb!j;anaRg2guQ5OtEtP&2 zC_<)F)IcQ6`dwfEXrb5kp0D5AREDoN=g%^Jr#wd9YpqeIeW{8G{tDXZn{;6Xr!?u$ zJKH?w;GGV(E2omFTXIc|%b+s9&Z(Ew5T<@XbWF;ul({Y(?1qfsb;RKqp3B}IAvJG7 zGtzOnyI?&_;WKPl;irGKq92Na=!4^oe*=Dog!~57Kd0EB7%2>y^Zfq3qI>Hs?&a0Z z{Wum8`9%uno-JPtReeoka!2(WaE~azJ|_BfFn=4zdmoF<3DOU|`p7ZgJvbY3<`IJF zOHuym9@2V)jX0?KhK(U`VFEn%6MPDEoPp&iK@r zBxugiH3boEp3>2Rw0)hHahu$m!nMbGAePJsuKFRo>$4AA``5yT?m`fm)HHtuMu`~_ zacYqm_F)+!-WSo6* zd5<^ib?e{E;so|Tx_{;BVL^L0rEv9qcey;9U>`?asFPu}F5A{!Y9=(MB``+p#Dhvw zP;HT#Gl_DCC+bWPV7;WiFt=%XI3=8fofQ4JRjuxGwmf=Y1|&m#6k)pSLO^Y zh+xvqv%xr>&krhm99PprfE&X#vNWJ}j|Gln?Zn0fazJwT$6wnj(N1DoU3VK3d*CN-v+1eh8QM(B?;3`!_`zY54X7vA?S_-F6{7C%d^OlNQlqDH z=Oqa^uOG7e+3os_JfNsGh3Crnk*&-Po=0qSonz`(r9YQkNX_DM>+$A0;aWeB_Q}$d z6Go;v3e^yvd^YIx_#*T5N+^uO=`HCxt2-m`BR$RG?wvv z6}6&PAHK8B7lofzfvHkJq*LvYNbHj0v*fY2ZmW;m8yp4r@T@dcUm3Bn7O>ib@h^&i z^<10(h1Rq;28Q=q-LuBQL`pM|r*o6-lbKpG-rAA5x#0Tf5v3E&InCl62a%_%tn@dJ zAJe_`B9?wk=@Wq!d{SrjOCyWhw!OW!_LHouKA@K{FP<_G2GY2=C;NI~RcI)_uB&h{ zQtiTd2$O?sM>r1aUoiL;DNCAtU0BoT?=(TLgwB4~?TDd2*ogm(*SJy*0XH%RW91oW z{D8w%`Zt;;&M^Px)aF%u2@A%z{;d{5DdkHNm)iS6R&5K`KdNOcPb3InsrhHhznnNm z2I3WMVtd9&uaz&_-@XRullr{ITIa0E`JLHnEJ^C+Z@@2s2QG3tUGd#Yl_6KM-M;|~ zk@zrt$fWGPgzJyl@2CDsnSntecEFIo7#?ETq$lWX{;?cHeDnSfJ7?1U@0h*r8}aVr zb=9IPvF_!&cfSGi_92&|&jEjQg>mbM}~OiHTk%X^^herXIem&^(NnWofH8N04dlwvC#naq=z+9hB4p zFFq{FSDMv_-BH+3FYgI*+8dJ7ZYA@51&B;1vsICUP~J~Ld>jFUum(%ZTLD9}@1u#F;LV8;L1$M83RDA6Kd zESbILKRf`;1c!#K$tKF~(Z9KQ!^A_>)?i+}K~H01ai~`8oKC2T*!k4{ao5TmcQFj5 zlTkH%DR{zQl$`|}Td9AWg*`%;5_==6R*Y{wX@3K7Z{Pn0yxn7*qJCg)a(y~5T-Ckm>0Si7uO(dxX+Yev+~Ts~@HJhUFfr!#7GS{vHw$H>v7 zJkH}%nkoI=DkoS|tJ$K-t0dBP|Ha+I(jQV~k#{F(m-_Rcm>5!Ns?aI z*q&qKu-3Fo>jbGZ!(Fxu`G{cECra3GLGai3>X`Y zC^U7FAuDp^*?5vzD%ipZB1fE*`j4*Mz30Z#edQCw6^q;bA{*LKFEv3{zX8<|wY@A8!_3@FXZ?lC*m^8R#_YW#^g?c-a*1iQfN2X%!met5 z6Ooc?w3kderPg+qEr2^bBnYgU7D`_x!t>RvY0V1q!}$Xv>_`tGY3qPeLbc9gMNHYN ztY2Uj*TDU$HR{NGx0NWywv^G*?Ktc_r9`2Ya>rP&0njsiCbK*VzB&% z4`arBFL*AQ>#uU-f*Y7qtH-2=NV&?uON|J^yAeN*%*v%^h9>@PYX3_l!bMrMY^6o( zbLU;{W*&)K*dA|wz)@_$Y z2!9q9lMw4CS6D}S6Aq;pJeK0qeu4jTMqu{c zK+#sE=44aPasfXJdSTP?4I5-#oIGq*?>tTRtb4!bH-LlxU-QP@|8p^aI=DWeL15Q!)-d7% zx=`F3;~5}vd6uMi$V413LFzoT;uY_^#VLNQ!}ZdpHvFYVj`$CZ7>OIleU{ULrk!aD zea1&IXGu2OVL|btye|EkS!>EJ4)KnPLVs?*O|k9eawog~1U)YXq?c0DWXVc>01*Q` zs$V8R-`RRoy^(LTH2>9yW%uDqsP~$F5-oZYhD9D2#Q(o8+}<9xnl-|{Z3#TxZ5tc4 zy6}kxO$*uz1O&LR@)6`>n(6aeE`z>44gUHu>2A@x?Cy`E`+a&G(An+L+yUO2Q@_Mp z7fl{ylVvr!$$)X=;(Ee0L}mh5?JC^~pXd}%?w~mzEDNHID3ARv=;MBbE}o^2QOm4Y z;1?IrL{I(5Z1|jkI++QKgM1}jb(9&cOI57=rxw(tgZJ*uH!erV=uU_>^|ep*J5My ze{+87`B)RS(t-_<>;+x*1_xqYv=^LuJ|SypNYvU~SCPUS=h~WdiFMcZWmQ2tG?aB& zOlO!gHIBjVSDM4+#j{rlN7Ie6JLHU)hW{9fFra5qaG7J{kiDKN0{wAR?I2EA0UPnp z<5-@8m7QM9{aN0@{1d)YW|n!Jw$>{iIc({A;5VoA)#l%~Iw&v>{@u}PV#sIL#g-kV}lw@>)-;KKnK;rjP%`sc3-&y-rnl!bTZ zfh>#hN}a?Y;xXmM1f^DK9fpDSaILLIKLr5bPU>}Jem%{+wKId*ez~;W>vpJ7lVlT( z(SbBYg``WW9Yq@HJ0Y;@Oi)l*Xw&g-yZ;y>fm|VOXl=>nSt+?0bH3T150r*oBDT9) z-L6+Vr=>azB~ujHr?ec}et66-tBAhd0zG2n#U<=lwlDlVUZ~0kd73q9o!BB!pSwZo zZUQH~28Dr&Okip=*@SrBic3G71&Bw%GKA@->=*~t0YO_R_K-dcjLN~yL?4b5#nSA( z288n!+;Qd{-;a>CiH@cUSJ?G=x0dT$5*F<>zPSErm5hyuO{L8a9$#RwLBeA63z?R) z44lc+168is>Axcf8qrJ2@e+GPM&J0BD4gRDKc)u|DI&&~N~rrw6wuFRlf4)%ESU~F z{9RV-9gF&PSYTq_3lF)l{`<0wcL0N;!hy8q>}snYluNR@2P_{Co9St0{SMJo%l-?Lr;Ep1 zPqQd<)Vauw5Zq~FEB9Nq%quKP)OtxG-cM>P==F^%S;C7A0c4o91|kvPv<~hZ36_|S z)F3l`^ar#sR-|C~1<%ajeo+>CICENE(XQBOX>13{9<>w;u)ofUYa_!qc}jXN0DKsP z*5cQ23{r3Oeh98<7e7D>yqiE|J$9|X&4MSBTCS&>2@E^+^#IROqe$&BFG(ElATxryV zZIZUQWJeL3LWCG`2Gqm}k;`-e-S%Umwuq|sjAj4BBqOyiUzHIzc9uG~)|~cR8b+l> zt&;SRp1mRYCYS80?}IJrF>)NP1kYE*69A9(+MFdeFG-uNJ$X8uHWG$>Y>++Owba{c z2h+{r2Kdxs>QhhG>vPxo-R*$s+PLoqy)1m#vvk~!sSa42{{IQ&`Nz(JjsSj|+18n? zne;PfXoostj7;F^XFb@IbZ;0@>de>3Kw|wNXyT>-L9CBvEJpmxb_DUeSgDz3%i`of zob<@#Smtd$Eq$%K>@hWXRBQ$Z(9Zxzzzu4H#u9X5#18?1JDvun6Z*KQ%L}S5iB~@D z#Rv_wiV=FBkZ0OO>l4*5&sv8^s}0j$0-4py$ss-Stij_K6gq9i>>5_IR11tYEVBlI zv_5udQLIPjkEr#X)=Ay@srcP4UT^6;vlZMUwNCbq*Cv4Ds{145QwcJA0VxH{&2go;iksFl%7#Bci~qI=zHVGHe^~9QZ!(mu%a=$ zLxhbrt9M{s$c z4{!7HplP#L=lB`*x&*})OQNth1}7EGrv?Fh1k|OC@N6Lw1K9Z!L9HsjHIO1q+Qa%& zr;DkimHCMDS>+m;vUb<=-72Z#m2{UwW@&#HF7IIKW9jB9F45#xv613o3#oBp(^q9* z+Qi*H?}N&9;qli5x$l`-z^#J~E)ufg9W5&~$EWrq7sVK*lLgN#N+gY1y(P5BNm4kw z?Rds|V-CW+(9mG5m|=CuW+I{SQOPqBjqQ*t`{xL0NPqOj#UMtn}wL$j>rm@Rj|%(-;?y>yeSC(Nrd9Ls}O;tHDvcs{VK8kf;Of&0Tm`frBK zU!UljMA6fUT{5<_TQRB*ayM`7pHPA-6~ZidwxA8eizGGVj`>~h&c>#lYntfV(Qxl^ zlPceGd8v2xU61=CW<&JQfr+e4jk9Cfs_fTWHLkQh*Eol7UkD<`I!YjYuMU!1zIF)H z$Sp%y)5KpYDZX78*WU9_=x?+R3K+dYa*!+qvH8zeXff?XvDu9yl)9sAq*|{arTxn-^chh5kKWMMsv#0N%>!Gz;u3J~y@X^e)a28QUIr$G; z^zVPDgc41o=1i@NgwZ*cx5ZwN!>Dkx$Lq}WV-l}AQnBnu zo@)F;kU99&OjSR#5>yEUP5OWX44+&x#f==Oyzq4w5J)G!BY zAt0vPmNe}9rWt1a#^?CqLfD$z*m#WiI<~0PqJR<#cx>qx9Ktz&Mm+pXU26 z&g$Jf(WK08z;A%9U^l^SH|Cy=?fH|0o%qjz4jbNIoRE!y=lSw;CxTjLPo^5VRJ^kw z&!Y_dJ*2%&ne~!{Fs$0*Kd@@TT|27}Rxl^N2Mzd6)ZUFZD3(H_Jq^^ls$rZ*k-Xd-KH`@zS#bWf zm3C0uFRxrVHlcZRJ`LCT%1uVm-FX`qeq9!sTbI|t(4bq7rPbA-9dDX4ZJ)ed{;DiE zlvdtquFl2)C#E@BP2FSSLZPA2D(Qs@E_k^2`(S3GTIF`_vKrIV_6tif&3n+Q41Zb3 zbLmVi(vUQtgqYp$ee@O+L9(YgxHkjMH*ffVeQ#U4;rRX=a4=x7)}3)1(pUUH>DJf( z+N&~`M=iloe_y_)UAbZ}Qy7oAIR9k+@h=s8{jY_P3E0JwM4+|jguADRI)7C$7Gn7i z??)lQwAUenw`%{hG85(BglvnDp2xYKh5iWMkJu@|`tjUpxo1A`Y*VgxDioBS#npq|1CZ!aBCbLq7f8m7vMSW~_?VFW|@AmYM$!`U#vITlBo}QVKA+)+#k+#-4Be9K6to4eCqY;1p zpKnSa@u-}~p|<%jxOk)4SD+ zz0&KueH-{|dm!AIi$+zdVzyDAiq zs}>AgD~c+MrtT0@j5g4X$q<68%}9jFcO6S zC81LG7T%)VxrWTrmwEbG!;}s^=o0jIRsSya|Gwl2-o`f5PM|L4Vr9d2)aPSErJQn3 zt2#SKB?S&DTH2^3ADZThO*|EeYAmWqjLf0#jq+1c2|50nr^t4PW$70Gj*^&>7HxDI zgz453{&jKmBQ6wcKV?04dq!Wawg@RjA?gRU^QrIF&iL?r@c1-+&)bv*`vzXm5WWu# z?DBfG7uDPri{(48bGixMx^!3NIV1;%r+pVSsMfC7n`HA&ntmly6YaP+Mzc^K%WEoZ zV)06cpN%P9=!}CnZHo58fq$Tz-rJpRr16V-h@l>%+*?9mF-c4)3q8jsFClW;AQ_Q8RTck4c8d$Gq7TVQsAmw ziBWORPm_A+{-7OHR8UY71|6gp=Y}>C+Yd;GzM}9x$CT(|qfpfN>cTWWipV(J1+sjK zo97#tNLW=Rh`;xVTgW)Wb&uufEO;|>(r=FOAm-OVtf)D`W%-kV$eyY+UspBGv+KqQ zg!7`Pv%^$|wO~nS5RGP0y;piwi%f$4*fNJ|RuG5mtD*f;t8yiw3NV!c8wqgBCRIv*Kw}HrBdm-Uq#s(yv?I}TY`*yVAsJTkLzlc?8q9B zY%U`Lsivk-QE|1ZwmQD#AN0C()qEvU7Yj?9orZV~2KE|7&9wmgO}yH@=gS;Q=bIYw zFI_p;!}@YKlf~FQQpdl_kE}trxe7)psd?sZGFCuHu1+4Wi~e#2g_0W4Ctns%e%bmx zO44<>?Nqi}*cCSP!|D9!sYFcHqM}@z#PPP0hF6@8^}{1`$oe>sF5r_L{B|{v=G$^x zezk{xS^JK(X4PC&bP7QuYJ1%Li*Wst!7v{;fllo}pUHXCOowQ2tkd;aV($J3^(rp` zrF+ErNcO?(Z9hAfK)Phs-ECR+JMjVYT65TJ`mbun;TmplkMzZ7WD30Rlk1{cbvqK- zNc`406(muonaidtO#&wdyienb{oM}Q^EdutB=An}^X*96J0IwjwrU({I~aj449@sk z%hpJY3ng!k-k@KN#AZBZ2L}cwhVfhCJ=y(FY|^Xga;;XMhAX>nVA6m`6syCoNzpXq zIdW+`{`_EB^DK!6%~XfK*|*DW7s{RbtT0xc)hE;bH{dBGCR>x}(`|=F;F(4-U44is zr4Zc(yJ~fG9fPfmVjXf-^mvIgCM?i)pR*u(#U@?5^Si1%*M}T3g$=$>8Q%ixA&$5u zByLA>_5lqX$i+COJG)xITUX7@R_0|CewR0|Xh0=c_Nq zC+FLSg_WIGzPo@HOBrgTjh*|9Nnw?S9hrUVUWNsxs zQY77zr;61LehTS*{tESmlSw!Yov2v>eJ{s+#alKJX=c$Ro1c08?gEyQ)%-8$SE~Gh zimgE}XE5z^$J*m|wPNW4HtNlvqQQj-AXvFLeFNl5sMK$iqPFQerBn-&_I=3!KLXtZ zO;=99YAqWx9#(JgPA45&PhK1JG}g>!qjanSGX$rn;H0dIaVO&gs55eP`#%9)W#gRK zh0wlP7wZ|YNMhV8Rz4eU5H0=>4*)afnWko#_>r~v+Li-e`U;oyRxZsCso~LMYVR|% z{B!W{l0uoq69Z9p+~h^SJUxmXZ9(fum3%blI7Cwtzkp~*!ArwyZ zQtG8k2ZV@&+?M3veK*!wL{IB^o4xGQPD9SV&baGzSZV&T%_zJX-_OF=C3KT-0G(i; zhzhICTgK>XD0YV$E0H>gKv+y`-0Na!-CeE3RlaUI9CgRLTng^DNf@d=woF);@T`Mp zF>j1Nt0lCc1UQ=a>`V3yr>=h!etKBYlM!eCRwp@5qS`EE6ct~^+T4jO2Q9bPp(g$7e0&0GYmPPtXk5A|&G zu&x@EVQ1wFk6JZX9o;CJS2{5A0d8FB2|S(|Nea|n^1hR9^{us2`4wC(b=+TP#g}AX zCgz!HH7P`Py?{e{KBQo?xdvHi*DPvCb^A5a+M{*ieQ0C};KgkeAp@7pWgLE%7?)R~ zG}k*26}Kg3gZe2a&9;>3PS7eRVLrwYp4-rH=2*3QEbwahqp^;lD&$UC30Oo3yPvz$_M%jTGD zzmFRezScvR5qx-df&L3F8oIwqxH1aWDw45MWFE0L*8?)8kEA`l*3C#E-!^^bR>B>E z)Eb>rN*$x~K9g+$XLIZ2MO;Q4~D+IeTs@kPk;=24FHf?%* zUS<*C5A9PN*2r1OSN?)EdbQkZy|@(I80mf;J*uzKFuF3u9=s$`0@Kn8J1*uma$WXX zSa;N-h5xR}tc!Oz$WCOqLhL@zDegmDLVkrI3&vD3Du9t4)$S8!YY@q#$~juOVS~P^ zq-VCu{Ky{ZDb%E)emrP1TgZc?19=?~R zQc1qeZIChalfMqf_3g89_|GoFn)Xn%Pu5%e`nP}g*0kWBDzKuC@9Ed1OXCpkAS^)0HwYNm`?;Sgw} z<3mWthu}35bWHxiC}s8p`ps-=m)RG%#kfCs{P50X)?&IcQ#2HDghZRzMWkm2xl(gT z^P4w-`E(o6HmM$5lBS_LyKJ# z%`FAq{JgMXt9dG;@3aUB!fW7_&}kU+f^bfsBOW)AOp=*7^bZdU@mD=igA@4p- z<)@h|=Wca~Z9cG@$9tSA#@d+uUVaYtW27h43t~4#LX^uoiDe5EOAn3EW{@!5{j^YF zL#ks(NFh$5$V{(DsEgG>8;8a>+^QEF=FRWB=kVJV_xDuh8t%Px8{Jpu{7|ZBq10ZF zX4QZrKq)JA^Q*UFjSva1QLmIG{UU%I z5EEZ8r}-FPBkQCmWX@Y-!i-HBl&M8{(Vvoecijxt9)BR9gDiQwU9DbrHv9%~db)~S z=OE3NxR*dT>E*fO^#YSop)Y1F8A@!4_+rz7jZ+x5BqlYhG)i)->3p|0$5~gn_y$(U zofQ2KO+K{fZ!Tzqp_4pzOtwYoJqI@H#W|%|aQJY>uZ?**T}CPqJeZw0a~N~DfE&(( z|IapGgHf+br~~uMT)~*Z$bPofMB`AtQ!m$&?&jJyvzqm*!yoc;U(|-1%@7Jn&S?d$ zi4F{ded;7y3y={gZ@xJEjOirc>d9jFH+T~M3gcC%!qTfK&BNBuITje8cPr4gym*m> zwNi<=*M`LodQtyH;<$*_LMAEA@oPptv`{lG#(P(RPK?L+_%F>2%4;s|P1_1(m#G&} zuNzF(?hq@riEfOuz`7hTS-sUQRw1{YOxFbX7b-OwKeL1n7KoAgYsMKfI~`?g)pt`o zAV1$^x1Ps2V6b6FP5I&>&GEBs{ATc&xDXC0vrSwA?wk3v968}%LqLRMaV_cEP0gWC zp#S>A?5%p2)%;7xrK0lz%1U8pg2-~5N!?R#FQcSr74{ExNr{HlJcX>lO^26lk>$y7 z_RoSGTK9BLe6sd&ArRdPBDSXLG!;p&@lE#r_UqDdsKAbTk#VH&CJUUD=*hw&@s=}v z`bLuPf&)jF#6Bt4gXyyfgLpO`I(@g!hZstIMP=e1N zQa7P)-;GXKl)l>@gFnVEy~=J_K_qx4*sRJxlz$5B58Jl#T_eQ6x`bZrh=KB{H-stg z)}~;w(J@U|;u13wDZybs?({T@%-JDb;>_pTRftRL5$bxt@$xip98ka-1HGK{VJ zj!T*jzRYbN7@?=bNEh>@{2%PSbx>Pf+b_)B-u2?{E$;5x;_ktv1S=4NyWPc|hTz)b zBqR_ZIJ7{K1S{^eNN{M;0tI^VJoEkWK4;GPBn{#H~HJLq=$?QElYp=c5wXW+Y zQdM|^(C8OB0rbKv{ddwTK6ceVIQIf$?WAY?b!%EYTk`t?k+i6GskkLF5DyxY&I8jz zFy^`X4$G)_tynY}$IZ*|v}*bt;2G1e-|osJWm4nG%?NG7G>34|dX}vgBS!>tj7fp0 zn!MOz9?J#ogC%=v!WnL=*Cw+s_5YFiL%JTVXqr8(%!6-y4tXbqn-P2;a?>H5a6G1spI4i$ibzcJj#1ys36&-6Kqcb@2{-IzA7bgN&x zv)9>4WL}T?%)BG3H!oj*ezgtMz8vGFY^7CQ()a}U%Y)*xA&6&c#?vzsPt2`(eg=$~73<+Cl3YU1Kp5q24bfCXyISNS| zMF7sfJb-~)n!hbFV)Ig5asSvD1v{vVOoAX<(Q?!Y0N^NG2KYBe<{3`y-4#Kln zH;?#r`&@u{sH6GX97=0~Z|SctuE8vr*`C#tC=42gRkebqHcN=*tuJ=wy^AuKeM>RV zzm0mNtMJ@&s5tQSwC0frdiQOpZy@MV`&>HU(X5+CuTt6ITahmxiA8E-IYvP-4ljXq zuMGBWb;cKT2DeJ=4g07@Ks6AHJpuzBX2cKcqk>J2u5CeDYtWF^ao9VsRh_j3&uN|Z zVjc~ZWZ-__<9&CiNrz8V#-5rL+otJ3U)#AYsYA^m$PQpOo_bDE*|0uGRZT&d>;&p~ zC@MbCBEKL0)*t`JgLUBR58FND%N)C#WP(DJ!OLQQe(O)a9oD= zmvOLf@zlldwy}r^AA<5vD#*B-9MlPrxw_79KJk(^NY-e{@*U#BXz=|K{e7@}P#`eI)xQGQ5rlk@}%WSRuX>!eId#}JG#x-TFRvwI^m?R_O zZze1(_-s$p4_E0}z;ucwul|cc{lC_0e-PZhbUfi(^J=pT$iI%`;c>q$ZuEh*6Ow6s z2~;jJq&luTN#t^J`QXe}&aSb<>-?cVnyl4kZ-3s=&!zzBRuE`sEuOV5&TUz-_~7R6 zJ^=Y^RgLIr9}`C!Myvq2t037vAHblP6?o&btI%DKZ zcHx+w5q-Vv2=d&P(sE9kiWX3fJYmlwpV4$EmDfd23RLVDH1TDJnA9p1`()~^&DC2x zcQ+4;(cg17A;{n~sp~-JMgMSFl0qWxk;g6g@ZMu4%;cFq+u(Ith!U|n? z3V8p@vI6|F&X%tjoqRh!OMDv;j|Xdd6AGmIMD0&wum$~cU##J!6QHHA7mCWOG! zP5{P>NHjy@nUiV7Tc%_zsySSisXw6hCgi;M*{tvi!`zX?ThwV^!HQEIn`in`{>&Bg z1J<&Tj*;rQPn_@TSPc>RI!2{eU$url6YxDj2;qBS0$hPdvwmVxoY6?%&3fyp(N90D zHye0Y-L|_A-JQpdZpk-+8ux~)FMJVS-8lvTqJz>|DS7Ft)~#<6iCl!!Fqt|vT6uav zu2-y66->i(;$uX6)yaf+&<8w=Rt|Yz97kbK1zz8)LwP*=;FPBj5uKUT@RXy$LPoVW zks*m(`ekzA5B7~LYtS6Y{@C)bN<{pdC^zmX;O+xfwjaGOGi40lqx6||hNX|FrFk_5 zh?Ywl>l5i&ByXdc*zb12lKv35`&VtH1T5C6>e0>>b8OjobcMW%?@48J>l_qyMhbzK zD?jd1hWN!j28E6JKsU!%#z#sX9thokeSuirpE-q2ce%sY4oKu2rY9eTziC!{Tc+#; zota?6!Hj7!i|C>v;4n%4U31M`#%tEj%%B2C>LM+{$dJ!;quSpwZ~Q0SRc4?a?$=pu zkEd#*Kxpi9_V-TAP}V|6$likaROzgyvOW7(J3`9d7&|tx-2GJhI&ngaB3|<;_p^}3 z=Y@xBaMX|x$Z7iExL8KS>G<1_6voTNNHELiYT`J$)vKm!Vr0n;P=Ip-7x+Y{HO$mP z##mh5R1}ad`xSop*%~7Q&QM8tyd&52;`Ps0 zupO%9P(45O^}iACG!w2?CM=TyK8XBU@!s}zMly;^$t=)Gk9Hx75_Oyc(HE82o%373 z>OmCnozO9;rNCh=9&Tlz4lS;MV$U2_~&yX$Gqj_ zGbgvdEcn$j{BkcN8p&r72%Fv4bxKsoBXkv5=;+N02e1 zcL{)@=-E99lc78%o;(1LTLE|OZnX|G4JH9ku^K}ji^j_g$DJnw^v%asw;d3tqqRob zc5M46=>{RQ@>0{2z={Zz*=vrr*DQsbUJKYZGY(-hZqb;Zf1COepKn~gyF={N?aq#n z^R{2nR!JSjif^s83snktEp)kk?usagwF*%uJt_zIzX-taz1?xHY0-RiDxhJ0`AdZK zOIU~BioMbL3bZ%etf`G3ai#yJWS;MWsLsL8{x4!;UTaU?pj01AAN#~g*3}s{j%6M= z{Qj4fysS96s@EL-DhXVw04uR0dD@zmTU{-^Z)JTp`&$M_^e;K`YZQ`#{8G{!Uu@Cx z%-RwuKViUJ%~v59Xjy4ls~uB-G|!2fgD|~Fy}9Bgus^?rqbJ+Az-ZH+4}@fjUA@&Q zBV+WW{t#AYq|6A1lGQn~rr6#wNLbv5<&|!fZD4px*xFnwcLKKOA{1u;*?~5NvW2qA z!JO2=qX89fT(WU|KHx*Nm=l9SAVWUk7I~aw+v754523UnjWd zU2A*qT7JqXiuv&z-RTNCwV-Nd#tLK3JiuU}Voj^YH!(IB<>NVh@5*8~wZf`KSYNA; z*(5T|MMTv2gk8V)OU%J?6q3!ckW^uM3F34Er$})=KFpUKkN)RnEc4utz`JO{+iAMw zhlH|%PsBB){i;Nd-^|;wQ(D^ReemVAI**P))fvyO9H?GT^(Q|Kc_PwrI9kPi*6i~s z5OX0kuui~xil;BkC9HkA?x^m*vJx_gkQwi;aZtm8UGlQU$*Wf{vi-2PxGs;w)_78cGX~UV;ZsXSR8Bzu~pSFE=FQ zcmlZG03|LUjUDx1?)8%SH;AnH%R-$dX(COUt@wPvox?Q7sy%4pqb+40pVZs+(fhjR zC6C3`;G4*PoOno2{VIqtKQ^!POl}12(J%gy-{@G>h&CbJ!8ok|>}aDbuA6N;Z?`6~ zC&hyE`UnNQ5b-l%6tu!Q$<=wk-Pd^M_2#digy_hR#;iIa{NWFV z{t!HE8Na)Kk4+#_uYXC*Z#5BZCD2S`#nh28I~B++`PKQ8rm9x2;JqXJ=>oUYAWD$4 zb6eKPJ9sdtv3G5_l8DH^zRq-mn2xJZf0ljvde3r6+=e~M5)K#(}Byla@_FhCDgVJcTPyJ0U`CtyU4G0MW`tclIf zdW1gEZEXi|-tOOyze;gz1aEKojOyZMa%vJ6$$C z+-DCg$A$$qe>jz+tvhHQHs}LPhNS}5y99~tYd@?l#!IgX(i1Z^qV)owRR^leY~5el zdot=_{GrMJu5$qQmt>0o8ZVhAQ9#T#W@=N=@$3<)TEl3QV|!IXTGd;!sU*&9dLgkGv)1(XQbQghaQjlA)A#!PMl07I-BgRCH;_<$Q|% zrPgXLN z3z5?}?nQ2HQkF6&E%nERX&S1@?2)qD1iZhdc+dNSf88~Jete2Pe)GC&Q84DZE`2G- z)058et_Ru-&Y7w^6utN)T$XWg}2 zZ}KAvrzR#r<*K#7B#JeSnq%GkM%J-Axi;z#g^BW}H2F)=({O6oW|z|TU*vD$>>!Iq*j&S!(0pS#f8}rYn|K4x>|8=0#9gCnhYfFTATlTeH zZw=D6d-iVcLYic^xdvM<~mVK-3PSX`OkO8%&UOleV@)a%4_*3Xp}bTu5Hh z>5ddXcPj>(g~y$5~*-9#FEZ z2ta16m*|#Dw4Y@`(;F{{4wO@vs?}O9T))0KA_~qH6kM?&(wjym>w>VU_lq_=T(0*o zY!5% z|3lDo`!8(pE35aG#fg6iET$qOkbejYCdKwQ_J2zo{~;jw$$Xg|w88NodtQa;M!OTS zmTO@=&KzKPx=vGKi$^8nfszxW_*@H_E^|-+-S+;YyAEYM?XmSA0?N&Wdi;3w$RP=e zN414E7*GI;FBg#{FKLOR{=j6ExEy zKS+P7;H^))Zbk81WVMW~jIA{7Z{tl<7g>AYT1~mN_}s|KV4Ew;KEDq}bW}m$<;E@F z#G>m+(Ie8fW~#!;_Tg6(3;PINfRhnS)NfCjFTWZ$l{2Xy#?qdd4UK5b;|>;|eBJ2q zDZ>vpOWWi)1f%?ycddZmAA(9r3F$Z3E!K?U2S{~v+ELo9AzgRMJ1KQlLu{e8D*)*m z5$ot%xci|(fj!LX&9$A`%c`9VcjxP5F}*0w^%DfppAu3tnv(oGTQ)dO`1b6W9|Y;+ zVY>o2dJk&-YO6*A6gAyL;*h24Rm@hEy+U!WB?6d78SY}B41sNDy&gEnIA;|DL{qbk ztXXAzb4A(@NX--I4f*__E{+D?M;XNGXwXB?634+J4(X>iOmUzqPMAfLRwo{*h)sl? zj}$HC@x|sL?LIk&=6KA9VB`x-o&07w^VNOovMp?PnQ-T3(k2817lp6>zn?L9`iE@I zui<-Jx2xhuGJcpf%HQelWuu+?-WJR>{MK`EZFg<$D4$}q2Q@VMPg7;%5K)7gN<=`X z#w34TKQ>!wO}A;XSTQSW#S>gegJOmBXTcOV$@8pd5&zu#U?*S(XT3HqymvWJ7HMG+ z)@ECqzN_c;Y=bWK)=BBx2ZCzq;jF!(yUcBZZsF>0vnI^{c|yw$0ndZ~yzZm_Jc0k3 z;OV>nyzcA&JmJ4@#Oc3#+&&~6LW^dV7-l2GI&QJ#~^6H`a_XDPG zdHxgCE1v6}GeP!XVw^naTGHy8eB}D;DN`%^4YM`V)9#p@@BiDE@vn&h3Dn$DNDaIC zLenKZ+6cf-?oX`H!&yxVps$@z-bw*r50h;82h3g`&wCRZ>bp&_F^P*0)sGT&?+dbRm^IoW{$udA5~YC>bD zm-YlSvwhY3zvXQ5LP$q>&1;i3wdz;iN#o=?NPnKYo6WH1jKpWzI+y@dv)Wx|$140X z7RM_<*>9(^oyUD2xzb1858o+5T1gEver?dC?PGQ;o#{+n@@X<-b{B8g2hFK>t*l5u%@ez_`uv^8 zJp%cVG=!bOz-V%fo4fz!C;6cg`xMYb^V{#~SjfahgPFMf(Ww;!*U^z&(;;p-4ecMv zIXjAsTg&@m(C4_n-+IH?DhxHxNX>h@IAm^>Roc{GUc*omOq0cq_MfQ5yWP1#M-I|c z^8XM(Dn3o5{~_3erI(OgQ^iRDoME;6AR);5&5j0F}RZD}4`z#4)?9DTFF^@*vmB2itd zTVA&C-K!PEB{9TZRmM;!!@{rm4HEL(Xyc}0-3&dhs=;m+Ada2(g!ych&Zj@@^4|TX zwtvnjIZ`nadU`bD_+?O^GLmiIj;+yAI|Wen9QAn%sa7hw$V~2NL1}qJbME0xU?tHt zkskN8k*|WSTkB#=_jyeYa^91lURiTZZLd^G-nPo7)|{N@DVMsdvqXU0l~_!bdN<$TB_^rbM9C7|G0oabgZ53cdIeEn%Qw^+l^n!I}&SeZVx z!$lF-@50VA?ZPue@ds0%uDkDeVl-fd4Vp)KodGauln70!DGx6+$HIMLbfXbHwEp$L zuJ_Som>*aEQAg`Rz;ddOgxmZ9Mc!h=$ruCsOdl#Y8@9lF}$2DHz31a!xa6! zic^{qXSaXr&NExSHfvcE*6ctTk`zAjN!Q=vQ)aJT)zHj{dp5DQ1s;%k_58!63W8`& zZY!*{f8tbq57=udsXTI2a4OE?q))R(>40vMYZRqiTR=x)Zg8k1;*M&r^~p-sDoZhK zK_2fR`EV-NcYpD@hjYvd38eK`DoO_z^60*Ikk6K^y7+3~>8H7uP;)5QbRh_5n#?;l z9*8t;Pi8E1X89toI9GM#P`&Rve$t=7_=h0l6AFW~i7aia)3K%r;z$kUtmE;4f6ve? z%_CJ6VarhECf8)46q|bKJ#R!3Gw@U?hh_jzAH|mp7E%I;h5q6S?dr!XVg9?}0O0^Y z_#XTU@QUEC%m3{Z^4~xFcMtsE+yj4ol>krA(K(lJMl9xNofCZ|$$-ffpoU8O+h%mz zk2IMX5>In{$py*5D3Ciil1!_GFB2Pu zr7}E*b-DB1$!#c^J_|}&D#s8s5_RxpT0TVj%a@xbM+R-hN26FBMR!_;xe)=ViCo_t z?85>vBX*}nz2BspWuGlk7R#lyZL{Djn(Wh|gs6NG=+83I2o}laGS@=9K245J(VC%! z-T7xOUH4hMO==jmZ1D@YY|>Ds(m7cDNa2E{ZP%m|Ib2o#!T*atuc#j_u=HR8-~(4{ zelq9YtAg9jXIwO(Y|@JjX`jKS(DHOhakXwG)y_Ofivws>4NUsgTq|DU?uuJ(50OA{ zN#8V0c%X3Z$bra0TWX(^$n%<%+99{AvmJfl;}y5L0=}QM6KE$BxW$iD8+s~E9c zwOMJ*Q}V<$zOf3gqT^K*e>Z`T#D1Gkq@fj6ZxnwDYTvzIiBV0p_qa7!It~?ZpjX0K zo^#pcH}PH2O}1IkcQLYVIi~r}$Wt0xt}3Fpr>|e`q{rAM9x2?q@B#H|mc8SOVkF=QEa( zZ&K?4n}@>hB{W?8gJ;~0RUz++EhQ{q{FP)sNdn*^O%QO0G*|zsnu6nTe`GuTEop(> zB}MS9Ol1T^Lhu&zgw@cGwK}|EuQvOGuAehV#o9~j*pwqR9sfO07-U=t|I}|=*pR8& zO=+rjA5u(A_32L1wu?6pW&+b)fMG)ZB7}jO{h!#QP!FYttwbYS1=M~^RSRHueyG!N zJ`*ipYcPezwN)n-CDmR3{m;iwjMwi@8dLIInUT$zjac8n-~eP->oyhEt>|W`x?QIX z*U*UFWt7SEXStj)`{@FK@CN!ghXi1#si@ZDEpHiH#;}M_WfnWU4a2>v=ptLd^gv^M zSJ2ACamVQbOYzdh^I~ToR0{TMXNn4&)}f7t%_`{=PJXtcmX96T%^1W)l6*QnwSdJj zD8x2R%tUYZ*wf5>I}3-={8d0tYR8u1CfnS++Z8z}k<+Jl)8J048RTX*ET62TNl6LF zIvG(j+xTsY*g5_I*-J^2Y_m+3cqOk!JgaR4&h~oR8{pTDdj0Csb?suCk(^CtS6c$Z~oq#EtZ!_$F_ zjJ%KPYL09_D78U`Il+Jiy$0P=X(#TVYG4R^cJi%F->(UwO@F3f9gW7SheHe09vuPo zAe-bjp)Rc!tGKf-eFv2QDuWux-z2a9ehf9$u@Kj!@;*M8cwIpCmSqOU{Q~kNA*Xsp z(-|?qO9n9?8=BSR!Onz-g%Pcd`i-i3766_95TKRPR2-{32k zaR@x#x~n}$5_P+vX`;+mnUW)tz=3JLPs^=hN9nEG8!VQ~B*@f3Js^3%buz42Em8Wfnf?5%UV08Nc^!69x|plh?l&{ zL=yUT|N6ok0$OIgtRiPZXI-YqUs@&Ppfx2&CJz9zkKWj>B(>vii$8i(x{}D za~HmuUVB)&CkzK((GOhZk{!mbK?BJpz8+etft)?)-sD!>bga^@dwA#R(p-pSJktE4 zm9WL+A*#OCm;l#bEBG=XbITgV)3Izr}eQb0FMU@psTiP%{*84o=`Yea9y5;8URnr@+D z$tnAdlX6VVe_d`I)cCV_#mO+D`faZ@XAzX!`vbZ?I%0s#O!tdH3>9d%p`UxmXPdD? zLRRCW2!LF8N?NyQd)N3Z@_6`G-t+g8b^pe4F~$!8(^y?#g_?~iNYiYFG7YYKNY^>! z!{)?CO?<8KdaXQo^OO9piLwm-UwTQV3fvA$=R2EeYHb;67tXHegHVQqtuCahd;X@X zTWM)24}HyS)y}8*y9c|Gll1ioD1jokh~&%2@3uL&FFPJ5Gs`dGu|vBJe+a@se+X8U z4}JRrFCOihT{7bFBpmDDcG}FgZw3Ec3CQB6|K`?RNV|9%TI9A z`<4{FBP{H@<_%`N5kDx|b^MU07ZsEh>n7ahn%PZuLqOF2+GZL;@ zwi~SfL~UH~gwUinX?p)z&C0FvmR8}-q7;DZ3+2h^NiZdpM`U}Ny!hN!bXv3DR)CC$ zXod3WY8OAhg=VSHb?Ng&r{}MfIO3k?)IC_*P!K5^*?OFeTZGk!p~A{n)*scib{DRD zItaJq=SB3#t+X=C4Zl7S24uRj2$DH%d&-5BajCD!Asr^Dc#_vxd%;U{qkSX;KsyN$ z3$hWCMfZ&gekmshkh8BynKk-Wdr(h1Sn*NTfI;trNhXEIFY1U82(WGF~zrVKsXiZB291cg~=8K zehJF-n4$FLH^~JQ=te6Cp%N*4#h{#;O97a=*?T>s`a z{A{)pdO=UVJwLbRLq!?ZTJX(*D$T^51JoJZLcjaXyTO+&%@6u2)kNzg{GtE-&!)(+ z{Ea=oqmjcsqAuljtH3JrYOqmDw-v=!?RGno&V{$LRt)`{w}%0+yJ^E~dy`2W@mHES z)pXU-il_dfnC9P`yk=ZdSJ^>*aoU|JfF;N5z(*n)zx1s{i=%z~fm<6%I0qr98?I&y zRJA&$PNhd%ih6GP0+P`u2g;^3$M5qgQq@rhJ|Vo;GwLi=T@*8_dy>LAU(UnOmhhxI41~@^mciJ~U2UFQ^>X@N*CP|;YyeFWNzAsjc@rHq{ z&~5o;^5^e!4afAMVdH_lhljspWna;nJo;J5jWvG%{}3s>fVq|bL8S0a*^qB#P(dVp zdXOnBElW(8V{Xik;^n}~3J9h9KE*wkwPAqAG?WGzbN}inekr?BbaL@-gkX=EjgI=t z)8G$*tNkZ_h9;-9E_@+?DS*zrf4~Pgpd}mudefCF;Ts2s7rtp5ll3hOaA;xtB=^_I zKSa&fID_PX#wW4>u=Hsd^jTxLG}Xi+t)U1^hi|2?d{&=RW78m4`q`=uPC-@+&^whMnN z`Sn18oZb3IaG$t&Bs5X zp9G@orpzLpZSP#l)kAbv5JvU-bT=25wsuwDY$F0t$q;=w(>o@bvi)y@kJOlG+Q^2~ zFVU0@g(FdXs&XL0>pfF}jW%DQZm}yu!Z_zbL1CV4YPfQ1IKCl&VFN9jJkP87W>5yj z!*FRE(hVWp(#k7Qqm*Xg%Zy1n-LFb@0h!L=(n+-GfvyhedUMW|01DMFfJ$ksg-w5N z0u*=|1QCvG=Wxet<^}k)dG%0iCN(}X2ux%q3LX^{^^{Le0>$#yW%mx#Gi`lyFl4y; z;3;Tcr!*$t!iY&~Cm%`kk-VX+f^+y$%6;4I5yrNoOE z!Kyt5-DboOzu95j>D5G<9Uf&P(MLuNt6Ocb>Yc4PHJGODOfV^Q27P~{xalD6Et_MC zd&X2}%i3!Co_iHb+g~3!>@7SZl>%lFt}F#69uLxg;Ix?fLD^az(rP?7XF|5ZEcKsy zKKX9;o9f=A4;iJa%^2;cKWQ3xp6|*ay6ZeURP|nKH_N)D6t&DzD{VJb4*CZSL)+I1 zX14%kTS=wI`TNZl?E05K=kk`Q6R4MUKQmhFQLGQKhJ0xA@=+fZ<4&^ERNEZ*xdBQc z8wiU@)Lu3zsx2XPhB-X3yjP;LAt;2%7tNgWrf$jepWot?*#49dwM;6OO0o9e(n;yRt_MgVxL0jPec;m zJe&MOP%ddt>R|Vuv0CUI{ik|Gtxum1%&sKK1HX>n$b$vHCkpOn1p!yIr;rmPw%`+< z6|m-E=&KpYyFsl91)b`JbM)^}lccTc854}?Hya&B23>7xDK*CYZ#8+E53F7mR{YoN zcq$qye8{>J>Ct$5NLFqb_%~L6T$+_cE!U}*qySr2G*p}Mw+PP)ZZ@nu+H^06)6sui zlzr94G*KG8LbL}vtE$LLDfekcrxbWNd~d_b1To}nK`?3$@FMk}L?VdVVP(9xvLfM+ z0mcAZ(M|=NoN7?Zpc@TVe+WU>ey2ABP#1}I=Xjc8WHqwv#$((!wLQ{WJ*Vwz$|GLD zo-C}&slQz(>l&t2*0erI^))uWLq$oVPR{op#FxD0h0s)=CY0g*fNuZ7R`W5VN|Ai&pXKs`IaO`qUK-qYqAN@gSVode6QwQHT3N<`kvO#Y2Iqa zXP--}nq)!$JSRY#eK%11R9<})P-TS3G4!u|_3Kr?1yT=|W@$2GjAmXKK3ItS?)oY% z-|0rJUE)}OJqPgfux2S+JChG=TCMHEnBK_3Z>rGbqN=-SB-!wEN9 zSiTw-xc7s%t`?63W=@I9Rl+W=2!{|Qn65HO^hM0VCa2>phLuJfv(z`UHeoQ3_D`MY zkAmk84$!fu#XkOw9d`W@x5HIO4AQ3Gi}BADjJqg-+3-}?c2D6t0?}csH2nb$I0`V~rp~;pc4=hZ1N@Pjq^L(Q* z*qZEKqA_oZgyjS%C~9BKx%84J-j$;N;XY>c6OS8hQz(EOoIgoqj`l_a>x%-8jM9FA zv*!j4!<6RE9fqNf9fN%iSZn@9p>&g@3wu!{R7>{WuMQo*DXT`t5$@tk(*F8Dya4XE zCJPm9jimrUe(-fM`W*cxZ4&9V$TS}@)dDLip?Y{xdKsCM)%$XbR2d@I7tFqv5Khh3sQuHZuk9LYDltg8?V2 zk7=-4p($BOUs|Z@QMPW($v>KMIZr#%V6z|K#_XxDwg!C0$&AT|J0Y4(M@*0ykz|}c z*S9BnAMPRKx!Hr8zeN<7_UKx^^jCf2*x0s5ub|+xOsFQ=^hJw|gUUk9hcdJYH7O&6 zD9uhCkfYq(qQR)DwZ28Z*Q91KspKvE!mtq z6#O%(%>ekx52VFhZL^2UWc9j0jmYX#^I3X2ujH)Xm2B^|2`6OLX)X9#q!k>Zu5^ZOQ~r_2%$mVar`X=hh_zUw4dZG99_oiJ^v|@(TTIn`bqhtkCdH*DB|+vbTpW&i z`9TH?CY1`rg&VX-zoXN(1PxX?Mt1ViM!5TWmBz5it$MK-cuSVa50^2_2+${E(x|Sa z)#|yqe8>valz)LO&$eAQO3r+AWcf+X&W{n@kDcp3u01{U6xy`*tApGLjc@{OtLBVm zt8%8?H~jb_uT!v7na#C)(1JR)j$@5Fog@V3BjyI|D*-T92_!=_{m+u*@Ae7dUxV*;ajaGokYv^z;jdw0 zCGQIdL^%jjos+kUAeaVgewwcD;c|Oi66>ac^Vx0|wWlc*kZ0oPe6;fJtpL}Lp*!6j z#=y4u20iXk7`I>5T88wr7SqJz+iCVR`L>x`^8@4TbiXD`cmQ9gPY8hq?s|RD-0quvccZncce7y0VfUDtQ@gq z;B6kq#{=L04zLRU!4Ge(^r^7{(Kj8wgR5HS9RcmB1N_{*p2*6oJ(YI1se4I{myNLy zw=jhaF*=f&aS8~wbnVRQ7F0^$D-rr+2*++CKEUGwyfck!(rGe<&oM^<3o2Ihl%FaY zZ6^uFE94*hk-O&9K5i@iXpJX${c2Jm^%K0{>AO3pqW@^cQBYGE$&PaRFt`ck*D@(! zqvi-PO79L8aGODhh&Sr(?QDiZ0Pd1#Qc{4segeN$(6X6L|Gt##iTR?Y&+WD##$gyij>vN|A`^=MIb(?bjBXw0tzHI~5tN)}-#D2yzjpO;GAVCp zKQF+!u0dtbsztd+b^>1#E;D!cG(BCa5tjBHbzs^Ph@`xI$rAWn(OZ+{m``DDZhU5 z({sa$HD&g=-OLtl`+2s?Y5`@j?{?5MA84A|)jB-sz!))l!-vpY)}40DLG3T89e9?{ z*BZfupbF3>qbpt9QD>>yfuM!)g?r)u z%f}D-b*D!>l^%$Trvds$_=oa`z+wB-s)Kz{)uh(xAo$gO>L_n3EZh8A_9{N@&Bng* zb6Z8eA~(0cV_q-i?7v7eGBv>yO2{Ri=W}uhN7LgyaBA@q(7^*BbJ-t#mT*FA#1qii za3;jUkZzAz>l z>sKVK<8Tu+z&BUkA^PKY&9>sT2+Ip#$G?;3k>Q}oA0|d`elAvbJ=(Rb+KLcX+*OmN zzNVxo=>D&naN#RQ-x|!F5~DKBw#4RqoA4MYcVHY@qwn{xJ;wIlHjBdYq37+d)Yh-Gf$w#qs z5!1;~lDQ-cd$o-k>rhJ6#Som;ykAw10ja8j{5%|@tZ|^A1bWNpP`hT5Q$LEd=Bhc( zEPKiN*vJ0nY-4pdVSq)L{Bq26j0o1&L)Y+nYMU@0A=KTYhq?W>gO{NW`}KQ7$Az@j zUwQ2U?QK=TF*z8Xhc}Q9zW{u6D7JK_|4^0b1}aN@WN;p*M`3_E=HmIyH)Rp1m3J1k zk8G*3+$9=(k5y(0DLbZV=FxNxG_PTs5@$#}I4^iU6)?=%=A2c-z^5)Bx}1`D8xIKc z@N2P}M$Yffx)Dx+8`2O-r6U1A#8Z*3G>xWa;#yX1ut7FhICZ8NGt*pg`}iVvdy~6D z8spQb%`Yf6BQ?4Wd~#g04;iblmSQRJgDdld818J7?|b#G3|mfr**WBeRgOkmGYlGB z4(3K2s*@4V*z9LzD?GUP6so*Nt@MWgSgZKM5S^Bendr`0b62J6OAT;3w|IW4tjtqC z5kE1kmRyvs4#zWW^j50wn9gp7c{>bKJV&eS>imBrWu5hfb9%Nw6O9p8Ni8Bl>28=s zyAR88uMwDF&_No0yN->7x@D8c+L-0#lc*iU(1UYHKJwZ0X>Cf~+vjf3Wk&KM z)8^|FBl65d3KI{StKAz_Vo58*O6!4vK+t>+)W=f^%@H8^A4`Us)>JsjuZKlTGD~j# zCv=6oTb&)V9+z)=?@ip>vgmx?q50@*ZZ7z05w$ZW^7@N%6^-**tlK$=53?>U>*T20 zQX?-ke_psnrkh>+iEE>_@0n?_Zl{$ym8D2oi7L&UvX2ypLt$6-`ibLttQAhBW=@miz$g$mylrUz1r5_8Q^qZ+*HAo#49otT$$DGpz`m(gaad9M6^ zVZe(3Myz!gIunEzb)E_JR)6lV(39h#u=sVNEPkQFT4S`yIQ}HXlGH5i4JXUOAo{&m ze@6=h2`rmsRkc9gI?ui+*p4TB!@IX&dt#+8ovztdh^u9vW$Aw-Eu{B{ATG=DuP<3y z>a>F+Sv4#^8=P0^#19WYCyr_O$!S@-X$=p^-slEHahX0gzNk^IxATo$VT@`&&A6H~ zPHa_jF<4B@2=5@*FAa6_VTuJA%ShS@+1znE2z-H1o@kDT0;Va~KHLg6`RyIerNZi# zZd)QH2-Z@T(B~Kvvd+yN4<&G;W^&3MKONW78{l#(b8d5~b1IvaaZ%YrL6%U0bX5}Y8#2|DEN&h|kbvMmx5MI&0(s&cwwL2mK^k?!%{y{Hi! z%eW{(JaKPsvya_ee*`dZD(W`p`}yE0@{RHCsa2q$U(q)p#3apLXM!BA^ZZUTfOesq=?rCqGJL`pRyXuz%8On@q z>{xjLv|)AZzs2ESnl}%|3o|A?E)3 z(L`LFIU#K?Gi##3Y-7D+{<>va0|3GNl7e1-XpYa}n_{$0xlus|{x8`O07-=G1goO4 zCGGG3wdGP*X7CE-Obn&A_3ei%U;dkmD!fe=(e%@d7P=V0?oU{o*X$T0{Mq5`oTy1=Tl_xRM~bt zS=UeSq}VQx?eOr}fpI;1R12jSFNFR~Pqn@%e%?*CCvM#&p4VaZjB;evojwK>wM(dj zAW}+dSb@)DyqoKs{-|ZdBXufX^Sp^_3uEe_=^2?RP7_KFON;YRPjkU$Url(&>Tx&b z;k~}R`c3c;j=)87YfOW3%=uq)8XNYIycH zjDBq4V$QU>LZEK4)16AC*(9u0as;Mbw%O<9S(=j6qU!5>2`jLwCs#ND5XV+aG>4QF zV4@S!r@s*F7?AR#wsShm)qmF64!%fh9m(m_)l{%*eMeV8W(cgC+dWbpi_xq8tPuvx zr*GEBfFpS`04$jo$P6oH)svRFcP_?TH4RcySZdG~HpAx8=>tGq;T^~~bTCM_b!T{- zP-I;~23vAlEmB?%@%YVp8CY^;AxPN$r=U^O^X&yT2NRGvIe#h!=6upkhCLTgsF0pN zMTcMVvX7%)S!HYZ?gK;fI_gyJMV3rQiQ#wDM`j*y(e_!e&c*IedRrdaik{&5oyt&R zhofr>_WW=DA4sw%X+E@RG(2gT&I=vS?AN#721)jo=sWQNXQ2xZQ)LQ-6X@N~*@GZU zCDwwRz)#5+{-RU%_PR;k{%)%BrB>86%~w3oghHO<+$gQzC_%hnI^kZPMA+jFKnzUs zz(p&mal{`l#Ld57! z9eE6;wM1JW%}eupJoDM)h)EQRiax_&p=%duD`Gg4@1K0!M5;-glCP<$ORDcF`TQ*N zW!s|;vzkcMVgqD&uVywIP3dL5NnLwt5eo%8?1S)9LYm6_R~8u1?z)s4Aa@7jlnqfp zQHK8@I3eVnk__2r!w=Zs+WW!Say)30C*GZ$_6x@-{ZDVzx}$G)*rGFr+AJ&nj{Gmq ztW+NVl{(YiueQH9M%DKTb?}ni=+27jO18?<(pA^e()Q?q${IJsD4H*Pkgu)F`OX$EHlX0Ui|Azo(IWiqI*UQ|K>?*08_0jv7FZ&)5S{347u zh~7%dyVcm1;uSi5L;ql>zWoCy-5;LdpQ!jdioZDXns?L@l_uXJsmVA$QL>ftvJ>@o z>ze9nmiY;g>QCv%>t19z4*Ney$eKoyi%Vd*XV#FwpwLvHO!(DYg)^mZJH~e`>$9_P%L%4eB9e=I5XMs2L_gCveH`F*N~OIjRZTl0#g+5U=o z-h(1)#^<&)je?9ft_QZl*bRga=Rv+-unQk2NU3}jnj@;Tbfvj8dK=*oq&-G97BCXH z1@m+?FV_u#+sF+nTS-Y-MN;)YFFt1f=w_1lY;QDtbG~o8 zCyR{YYF6s|ezrSSBgyT(wNCq+xMSD%a>;ZZrA#X>VNN}TXL=cvu+q@vF;CdiRD5v} z#jbV2=9Oiw6)~d%KiseKQ+2SNyLn(+{AH_SWCk<(* z4p&c|6{#O(rY?32T(v+;jBm$CIwG7ixa9A@vSAH@f6Ob8q@#3=z8a$id{jEPPpKUkI*m>j z2@>18IgepaE$UyqUiqB)rmLjB<0Qr>#vB8~4|U?JsV(98E|<-BHwa0T&>}8!ycRqj zV=-AQJv;d7@K2E>uBA9Pljoz>%fPlKk%+PUx|cHRBD}KNQoP3GvsmY%)|;s@VS#?K z;*QqnIQ_mlC#)XTH&s>OX_@XO-d~)4QnDepFYa69IZ}&z59jDbo9kS&(L=PEx25aL zEvouLn8F7kbzD5pnCxor@=c5|MxrmOV4(yVtdvtss?Nr}#w9S7P3`LW$cBMpj;L79 ztqYMlGPQfY#U_?U-UAs?LYoAVU9eVPu2i+)<8dc<f0Xb`JUmjcU>GcB+Sn;apDF8+3@R4p5a(esAa#}n{ ze6wS1ZCuIv;Rq)F8lEb`^`Szg$iG0PSR~5$mt@n#U!3gwk}eC0&9nL}6amc+z&r7^ zu78p>zFrFc*Llu!%VaOvJfk=0CdSW`pEL1p(8q%&A?)=;gj0_xA+1Sb;&VP{v|>=v z#jZ=)Vjq>IM3|LpUv`swN z>gq|^{kEITojJ39Dhq7|kDovFN*|8%Np%HV<-KnfD1sDmSsT+wo^aN3@;pfkj!5VN zWR8tPJ$9nxgZ-Aoj8DP~w+Nae`#_OuI=}YF6#NRavO?bR1a6+bu?zPhwP45 zheG%YK@bs@KQ7fU^GB=g+MO70jKFv*TyK0QxX)or@&1Q#!1OgB?_4-)n9mv0+={O_ z0-mnP>&$VS9R=AJ8qJfce$O>P2`!1jV7)QyO;jU;_6 z`dd_dSS&z}02ztZV@AKR&$8xACKaLjk*<<^l2`(^>K#$d+^{3lRdeb-yB zrRz>u90z_-wOl9^!aEZ^jot+|z$7vfoSDq0MICH9)>^&@cvi0y8NsYc7dp{hsc>Eh zNY!2tI!KCrEbpR&%_oS@fqZ2srcL40iBHKbLFM$D%oxlQPG9*%3owy9+g!aZeO;N= zo3Up0^+G2)deQ zu&P~8I6(jplR1=)_Wm&KjbkUwDt$^#hXXo?T5IHYIze={g-=kNAHLwUG^p69w=5s5 z#uw8ii^G>L#Im9MK|Cv0ImC>6SMA%6q}!B6q9*6rBa9<)uzvS(htwJJ8rM)9s@22clP+NbJ4`|-^?4IIw_U8nD$T(Y6=_E(lxEws6%>Q)JLTr4+dT1Ey0a**W$2^ms z$>c_^Y}Gw`&}egx-N>(})*b;5?JechA9(p*>N!pXK~{|yp5rWai;L~ZYrAILzo69u zS0A9c9M=~YumbYc(|~xm-;`1GE2dOlCbsE*iHX)4N0Tw_PM&2k2?fX*h-i!Iid=fC*xrkI<$}WX}>Na$Ed4TO-CDw5eLNM7>yi*tfFIw zVynuMUYWt-dZOz7o|=|1&IGPL?A%s#40)mvySY|4A)ZOecl=YDmhTTPmx}9(q8m}| zR%miM8)Eya5+I0>~xyV7F`aKg-)9|qApxY690_D-VmlHl`x$VYU_1kkL ziD(cLfZmu5%9Yveonuap5PvM2{)*ZZ)vgf#9hMj&Bq^{ophVW;Tm18}J!$@zvAiFWzf2=WkWu3TOlD1uGnm=Y)Cc7!I z(w2qPhZi{&C7xPa<~@cDW;m*&AsUBRfo?YZ7vn88WAqKvvLr-}NJ3bf)L*)jH1?`z zOFOu2T=k0af`7w*H)4^0Sk~-dg#5orRlMi414F=Ou2=qF5cCOHr=R_!%Bx>S(YUP7`k-3C>pQS};T~ zxQhftawkTYn{fL1YFb6(do7LE?gZDX?$A3L`GuN7`2^x}3BB}qkM@=*ki}RyXgkq> z5)IP}?JY(@o}G^#sGTlQs3=P!s~W?cJ{+}aRylo_>yp#HVrx3*Sa1KNpvZ_KTJT5kw}&IfK25}eld2+v(sX>e7ww>EoDD>44fyQ75x$#S9n{l#52qR z4|Who5UkL3QcVr?(?r4zWs8 zu$Y{85naH3fEpgLT1s0S08{p|nvo-Yj7_CV{_GgGHE9$p`WGh(w##k^vUUIS))eD+ zR_+OoUr1*6OO2uO zfE$KQWf!YG)k7FDh-*j_xl(IZYZAt&n-WUVzoGhZm08g>Hj-t_m%3-od!=ed=l(9C z{x1&ia0{QnNWg?t$bo+wp?=8LcLh<t982PuX!tWNlR zh76M%6e?S+19a)DPQ4p9Y2GO+RU+xu2*paILC-$PPK?|yV5}Mk;5)a>pKjU;RgDVm z2FU2v_Cz4cA{S!*fVh!S?|NQe%emuGw^ub=0qKI=w)gQSTEPPOmQTKqx%m3~wQ~!( zGbHv;L5&a$w6hq+iufI#ii1_j@ASpElj^!?jj!j_-Wu1@Yjh=|dSr-}pl`v`0usvH zdfCtGwknx2v+U-q#nU%p85CL$NBl&Lcc?dXWLNcq*d$ne9#y^ZnGbK|AhRXxFRJ}c zN`p{Da`ceKSkNQ7bMtAlkPcWif&-Tp$tG)*@fKF|eQDfm;BhgdmcctKR%8=#F8xUK z^EkSGJ2_k(MyOKYjZZa<;?W&=tWTjbNdKuwmj`M!E6DfFWM8Ps>rL3tj=geQ$=!#8 zPdB1ScBtp9-w(2InRE@+{4u9^ANjaCiI&$zn>iPMg<0Dml1*7cyP_4eyMwYl6`S<8 z!;ip=jt8>c%f}Z$+qqr%r&14U&^pgi3!E##3BDiSx zh2P?`Q9l3%$tU5ExcF6g=xZ@=_T9dAY+?S4hGk&99D*{dbc^kS34lIWAg~5J?a|voxU8RD6z&q$Y(N7X#|MTi}@#QZ0JJzfxrS*b%SObyK9|Zw>zr4Ks zwDVG=ya|>&cCnYeqHxx3!c? z>t(C)SW806>AWw*h7pms5y~kXst&&UK*)(f4SzjLhTK6wjmiapBiR_xX6%&niX%m9YbsHd2~InDmuzlN4T>2& z-4lznHrm2QTyw&rJ-M%+ToK-v%3=+TA8|LzJ^j#6#^2R_&+1TSLO$8aB+Oj0HwhJc zy|=HgiO3U#M*nEGYJ!Q%>5aUAq6XLt^4LC?zV1PZ#UZKWBle*;DCTLnzW#RN-e1IolYCyzV$TaO^{#={s$nL082I>8eL_xllySpzHH!jpk&w^6U_ecxX=xd(G> zAE9`Q_f*n)myiGA!2R)AstvLE+@CNrMiW7;E=$2_%*+9`G;XT9pXbuCJx8oOUG&5_^rveClyr79`g}uynK0VkK5g! zY)tc%bhzBQrb^7CI+?^|?88e5a#?A7)M= zqRpQ;JZnuTIRXlJQ;=2B3>46iS1g+oar&KYsw5E=Rd@2%=^xxebg`h|dHg1d{PILC zF25{{5Nlb#c7Y z$f%tI3`5dEHF8MMVYj%(afV7xLx`f6di z44n2>pY3x5@7V&eUtL|Lq?`Z91e+{Oc=6``-jdZ~qd$%E6-bl;dC z(p)DTJNw!VA9ZI0A=-uEGlD9|LlxB}9n(z8!m|x*V4#**`Yb>p#-ChC%6TQmrC(*W zSEnCYYEL8X`mCP|+20^@#My1~g;SH)I%pRet@o>5TVW%cbpaWy4;F9XgC3qN0mzbf zSY-9d=^+T#`4o@*bZSJ2TZ_|S&=}q;cGZR{?muidEXD>=76$L9Q*Iuaq2*tF$ipXf z>zF16D$YHs!7A&eClq4Rls+VU{)MOgUzAP%^Gy$HXiL4Lyzuw`d2zp8+{?}`)uS4h zd=S`TgYr0RMy^vj6z(ioFwMiY!%}+KP#l#W+jU=qQ-ij;0O`qUL+epl!C^I>DtcwE znkRLbm&PHCdyFlzjPynC(1vWiYFw(pd2Dlg0l`c&c1PHZQRyyE9XTxuzO<%?jgm#| zurq>>E`pC@j#Hk7E>UZ_a_c8lw75)B_-1MHh@ZQKI>*?^xgZ+tzGHjPpk}*^_2ro~ zN`UeQahm`cA-QUj0)FoBu%J%S=?ob~9;hx0g*b3^V3Hm*y&=k$pJF7j6< z%9Ely$}C|atcw;(SguvE?ueS3uvb%p%7dzG1Yah}r7CyXC6z{wB~vxG{(HxU21|0T zx%ny8FWL^5lYRDUgkS^>lY4C+Uv*EtsHrWX&IER_=1Yy!-23PB`C80h9Kvf$yMe-S zRs)G|wUb#Z`aa>Dx;EDW_d~jfj3JMF>j4GMO@^}}Yo?Gceb$22n0#9>iAs|Ly?QYV z9Nr{-uo+Oh`>kfJA*|ogQt5D1t13I=Cu(#N>Z0!mHbR)sEi`y~=tkF$c{s#a+PWaQ zV0EWGDK>NjziAe!u-@1h%m4NwhJCw;J@!xQ`XEZVQ$PH+ok@OvG# z^v;QeN&?rWxMdhJ%rmK;9+39Zn>$-TNR(N~F(ar@G{%o^5^Rz0X=Cg=Okh-eRCjQNBf)@xRK+OYv8yJlS5a!C?@GE!5y zSL2wVF>9fGU$SteucEFhU)xVrldk4xVjUeWZ#PYjU7B+mWx?D1=YqjaV>3q$G#mLi z8B3n&9dwB{te6uZ;?aR<%}4{;TbPt%F0@Tkp(6CfY~{Z?COY8{%1ujm?_}r2uhyqa zrkWgW7qN;YjSr=!&y70OnHFZ9X2Qqk@4utpuBjY-4z}Zt!!qJ1ydE zVr@sR5d_fwvl*9d#>^^AwTY+7T{u-n1gWK*cFA)XPAEQ zT;uHBAH^FY@ZRf-#q^Q0b}c!Oq>)Xeh*~?`*5oKMR8^!ZYugYnP@Yg;ed?2k7}S6G zb^h?$;}6H5u^4|E(C4S&XIz^h&u}h{ny*;jdw~oaO-f^a?EHiTR4N5|oS0bQLrZtwVruX;7^ zU!w=E)O%s2<{`4E+`&XCZ!&i7w^L0pX{FN8-=Ru=#eT4K&V?qXE8hu}dFS^25}*0- z=2UqhnwfRVUTi0a2rzX6Tz1&c8UP_c7x(-%vpoz`AzwZl@y6IV_=-WB;=M(Kr+hvk zN083ei{q}i#oHkqj^3|G=)^rHo^(DAGD&1|P}}>ICBAB=*f(4cV{OqjV{K+V`YK2_ z<$J7eBwlco8tF=`Iew!gdd1$##lvA-?{<(5bkBG@}=7lRB&-X|K!cVznA8} zSc^|liCt1)+Z?>(s7uaQJKb0{ZEQw*k~vl!%>XxhUf)o#Zv(Kd2H=H@Ga!+!%NMt- z$Rdj=m>kYEEZd)%5K8*bPTQ_seWK$Q@xVa|jFQ`C-l8nF62Ep`Os8Tfq1o7wExMjh zY}87PjCHi`^W8&HPn}R#b9-w|Y+6t){8c2|Ug7Xjj3rGP%7*8_lKg5G)%stJp$|h_ zFV?#b_}p?FKtJE5c-) z(+1QCb(ME;KVtN|NzRvZocr1GfdYT71u1OK1$l-u6`^1BI2pDI7DXJ=N4$W!qMi&k z{4m)M&=1@k2(`x-qu4BD)8yG~Kj*OBYKg;>l;hZ(M7=ujd`6OJj$H2x{!jS+^hMh|4n9%0f~eB=(&8i+b=kW z0d@fj3LIeUB5FUJ_+DAmpQx)FhX_N>&ZyRT=FA#B_1#Zdu<^4UM^;YuPiowa7X@1p z|HbL4v*>Rkvg?38VeoP!lxuztVH_~__t&;xZjd|ZKnn7oAV`q|ha)TP?%BI`#qnt% zI@;N`h^pxLPmdisf-N9VhbP|Q8gI2)T8)AlY%A!Uy^sCjThYmc2~g7izp8HM1^ zx*-t89Nt!briTnj4)b^Hb|`e1dK4u3xz24Xi;{eJp{&Vpz{t3Xmz74Q0c`RGtTI>$ zB@+e^m6QU|+8YHOlPXyUM}sjt2Te2joYkI{prtR5&-)!~eyWKwvqs5l%8^LfPrLoT z>{Xl!ezT#w5sf~U9|FE@X<%cHQjp|Cbg8j85a7+&A9=w`p3_`4X1{4(>#pZXg(8R7 za^`5px3?=}TIC4 zuzm3t2Qy)Pe?9jXr!~xXwdLl~DdLu(=S!liP~gkII9=0g_qfpebo~(flc&7$3`vXM zZQu7S`j_nwF61@%E$IzXATY!iF_}qGNnw26v1D=+*3mIVEuPvy1`58UIq1m0dq9*# z?0XzpCfO3rYaMQ0QU%VGq04lvz^bDm1j%6t`qj+r_F0v~Y*WSs0;sNH>OlTFQgz+l z2Tj{0!K=2B>6D(d;HMc6BS8Tq$ylJss&lcyEDlu;`)4_q38O42=nAMyfA);RA{G^; zo0U^RiIQ)%+=n>+{Mzl*T$CT4$lOn8)eX=JRVG}4<_TEW$p|UM^obJKz=;>EtA}Qn zhpE}HuUTFYqtlQ`JjAZ(<+41_vBAJA12I+k10q2s zH}9%XWbw0x=jhT3?Nhv4y!j<0^3LGOCv~GkSI+8WUQSb^iI*$ANtw~5A7f4GaDlad}9R9cW>Eg=0Q)ru>(Gu8c9r1;+?(z3#dwl^GK zP80Ke3g_v6`iUZ`cR6^mq}>sev_F&h7w6y;Klj!S&vO016wETt1jzrmy<%P?CeMq+ zh?i5$NY$phYRdM*?C|^^r}NwG=n5NJ-ePW_eniUBnR&61h)uJDWSJSSuyt*tJyNgO zWFEn(m&7|#0(+h)NA#_s=k-#0KVNW#!CbFIqmt?Kfh(_mm7-OSrdW@jlZr>iVE>|m z=6}GP{^G|Cj^z>z+i*RFUV=}lwWSR%k%v~MJU)?eb0=hsnl<$UC0Jh>-`2x1O7?)G zo6?}Dv~gJJL(cj>TarW=r!6g&ZFvEu7yXPSNQ4wwQ`F?NDnro;ARl3PiMETBUFnkS z&)Iv{r5`zHV5EV8k;G-Uh3BaorQ|yv#wu9xl%PTH`l}-<>f}fh%q&Uw^b}(auSt)t zZfTFSzHe#zxdZ>=(4!XbHvr7l<&p}eHDqb-T7Ytl*1(317#Fs4oTdj-8Lkad!I*Zz z&(F6%p}v?}eo*;3ubV;eM-PgOL;@)}}zHhlAOARl}lJ2Sb7{$RXBc|n~S?=eqr|T_TBodtj zxjip48PZ!X3ezhX4otT+n7_0(ID0on07Dn-@=w?vK_}uBAskC#6Pm5o%QHpH%&v=x zUTrjqVRpt0s^!1$_1Z1;!zIm`0l zV6`4s*)3##j|}eG5H{m=@jL|CE7|`Zh-rGaC_4Hryx?1Ov8=-9ecpgF*iQPWoS;UU zpzCLS9RJI2+LrvB~^>YAw42c(QF>_sz zK#G;E1o1nzIXNT6*DDItJ1v)r0YIqql--ijqs#tq=3)OJ_4E<*?@k&ly=`m zK?Lx&hv>)fIq5l!IVF5Vb;Nz27I{UVfp|SD6-?dY2J19&%kH#cRWVMQ?T7+f6|q*w zB=wAl{fp_d>6+=E-WxcyzSvhD;vXA6j+f;B&_*d*!gWn@J4mHArTmBX^}D=RD~kHS zg61uGp7PE#AW%_VX0SCzevF`c!=PEVhl~81^#ha1&$HWH^@n4WX#Tvec`|*PDb2RGu}&pLuNG}kKCV8HbuM6jrdQfax~V3elfj@D`N64d#h)$U6TLxpa6}C& zTIC9L8Rbq7SI#*?^Z9og`Tl$Ay^*Q9$p!N^TAj@IQSGji=aRpzNvVp*!B41I%&-hd zDfzx#kN4y;kol5*P^auPv!3L5o1zm)-}icqIZ9WV>EFY@-r{a=2O=;UnLf>qZam=f zfukxkXvBIblJ}_G0zreneW{}_$eZUl%5kr!I;P2kyCVlQcgq~2N`p=`?*2-3R7URV z$>Rb#X6@=r;DTz}Y;cabN%l@#Vb<#G-98wTNpsIZ$xGJM`erdXJ{)hM^Dy+-JktGqB5%m#Z?DCinv zD=eEf;{H9ghR8*-wad#>79BS^`#hIhqP)1CDkD*$AL1-8DSvE8jW?-S@#?zJBA?dI zhGleE5E}!`nil;dGCJw{^L{RYalw-m^n z4>_q6hQK?17AYH)MNv!%De#qC21E5`Hv6Qlplha+_jNNO!|M!>7Zy81b$0*k23j@B z`;D-u+q5%qrUcpY*I;&P3=Y>j|7=Q)u&k6=&wM$fX2%r2bPM=B=N;0b(=BjZip|Io zihnPR>Z3_j^RHlqQSKNJbdfIFVs0Jx>7TPx0w-t#&yo{@>Y zd7Ox*XW+Qn0(6|17IG2b6@TfPN11PI<;nQ}l49!zeMvr0d-_YJ*clbsrd|l`rSB?7z;nOpb{Rfe{@D_Sh87~57GRWY@L)W zNk`{QPVP)jT}S&!lR63u*2T7x5^8E{hsw#F>gb&6n90fTor7oS{IrfnEEJ41lG!ny zMT!Z8Jzyllh}&J#PZQ~-{77E0Iw~|c7J$lMj|>CkKPU2f4c2wjXWN7u`8$~jW&cwJ z9)<|E?iY3MVHyptL?}Oif~h#^=_#$Y7z1P-((->{BIB7)1}m_b$U(B<>|P1K{$XJe-)@@3 zZqAr;rNyWkQUJK@IK0Y`kN0)`b{_M`vY*dwkZ8b&dNh-5X-<8~&i1({^WX#v? zXIoodY8xWa(|cAf@$M%4QCCbU9En$!WmcINBI9M{dOcd++{t*_bC7C@?Rr7yTUzgH z=`a-9(}DcD(W&U?up*6hl>)6YFdS*H4U#CgWG`f?o_4!DXQ?;xc9I)6L;x*&9qbPH zUp(ouH~wtLPfk{E%CA+NZjHzs) zwy^TabL;vS(Xw9?Y7F<{$Kt}nVied#JkXY(+tzItRa>m^mVpZ>7C^pWe<^yr|1C7? z&G3AVuAL+_Gcb7(22~UM;yS8;&TrrphZor}E|M}WfC90pwJ70ufX**NH+|s_W9uh{ z8*a-YHG+=ol9{I%fl2Wtu#;$8xSnT3Znh6SkTC!%BF3iU`~td=ETKu3_S=?kw2QDj z5P8J3_DSRLq}Xr}T{d2W1QuI>nTh1&P5mzVMX`iDEfN;6MD_Oc2HqP z!+x1S4qdat(XO_mW4|ErLR>#hSfxpgAhohVaXps!mSFF59T%XH7 zO2Zt{f=5G!vOh_i^lPrXr0Yc69YylT3+Rbuk z#-v^vC5iq;&PB!Yg@*WLgX1pS;|se!uu0_GJPs|*K|@CYL}BvRf`8sO1d^8&s4vpT z>AWKpudRltF18?jFsu9#b2R}I=o~|~UJF9b41fLo;qA?^Ps0zmXXk!<`wfBwZWg>hd@ zkKS!a)`$yz`5ct|<=brKu@m#3+?-3lMY9efvkA7tF|b;z5S)!JK!%4RO5NBomC*~sE&T3nOyYj`?1DE9e*1u<5 zrt~?prt$0?Fv}S&BcO7KsXwrOCKKIqITPCJ;zm_Fyu#y_t+I3rnrtDnxXX*G_lT_W zm>eCpq>CqRvaM|lu1VYDbZ1B=Z`4F6Crj*x58;nL5NN^3_2OVCNB+TYOlUf z$b(*Q$@a4W8^Np2qW#8H-Ka2j^7PHQy0k0-Uz1DLDME4d`nDy~NmgFLvt)UI;+a>E zYpfy%f>FMiRr#N1hrtcx1A!vD62)S;QCRn1zy#>Pe`08Gm11zS`a9$g(4E|19B?!) zGE-gVZ^BQ;79^(2{0BVqrbMib)=Q?&p+ZVtiPnb4{p~)iKy?9&XxyhSDK$OjGUCvs zYIgFZY6R%$h~Uq99puhZ^4^G*pPK}ty~ZAHY*#FG+8$TVZ}eib62b!)8JGy)rhHh9 zKA#h1F97=&YLqeqn08PTaYm5iu^VqERG-Xt8t@^Ujy6|iKmnwP6jbw>oyZY(o6ejX zAyf(qWOUt8LwR1`)NW`eB~|`fZp&9?F==STj#YTruigoGS(*yHL-3{eb-GG#M{H~qBoEh!a3WM)mj&{hN8 zXs||JbIT7P*bvI5F`LbLv-Whf)-CuWXgI4`K+JGBsWM|&#>P}2?`Q&qdYir~Xe|-F z*OU7{`FAcw)c*3gAc z!CWyESg7<1VR_&YHL0T$S=}>7^$|xzK?ysJp(f3!1U7dlP95mZvOC(C(+j0k%;hm` z{V05`YL!_O6C;c8cKxHp5Ta=u+2jO&fdsH={oYBK-TL@ox|F2ZtNok3Zmtf7KdRMt z>3wH|#<%G5k4Q~SvT2)UfjFO@=6>A%8m7g=$|zxkx~z0}W4FW|hWv{2XdD_7n`W`e zYbudc2AV`h_w6u8NLuU@+fwjy8H%dvVG6NKt^tQ4H(OzplSIeC*GEq~kD_Dinp%PE zw?X3xUPPtV{X)bDd%|Nlm-}TnkZk|$xLZ^yYs`C3BAsxNdvI@m+gN71H&)&or2Hee z02{4Nk}2o{jSzNfwgNsG(@9s=(F3SZ2xw`9@sOyXc?dpP6=A73zs)1s`H#j4x-j)* zGWHQLg*aQ`YI)2HZ3?7_$nB>lMwp#!HZxjIj3ECzhi;PO2g}U4US7V>I6P-9TDyqb z+Lw1HKn$jKAE?4v0PnM?7NUqdeP?3H6z)X{D90+3ZT$=8n09GrOJd zG%A8P#0&jUgcMQ_1UnXWCaD*mLaUCCoPUYgjv*oOP?MzKXXQznE%i>nbX!8O6a{9F zA&adjJV_oO-S)FlXloXy+)6? zSZq=3(f-2uAg=JnXY_%jvI-sTX@MMs<*8T9qElrdGSO*ovwvhCQGW<8of;cWBtI}p z7l^T>VwQBX^ty-+Dw^_ts`k|BrtItvoAFwqU#7gUlRU_gqYE^{U7`JGpn)6&7FgcE1BHHl(&t9qjmdik+5L<<~f@W+2O3hK*eS7#5$gMU)eZHXYuXvAQtv;RB6qj2zMP5E2hRVHK00q)(*7B+ zI{Ig0S@u3B_kW+{fBz@{f88f}X3bisYiKF;mBg7r?#cBpXH-|5x6y6Z0htS6`M)^t zMh(mu&5X0_?!GwRZLM6r^E>%=x{?w#TuDAk#vi~dG|rX zDf@NP?alAqTvpXeC>BnCY-G$$QuLBZ&oIRVA8rC^wkLeo{k-CRZ5 z_SHIqaL7E-XPPzoDQ;e2@8&uop;`d+#H}$jO1jljspxni#Yj072DtB-{qu4T#wQ$C ztW8Oc4k`S26+*)REG)@I!!?<8#}u1X8^ zSy;E*&~Wzr*+2|K#z?8m4;YJ=Ust_at~Kok0285_^mmu>KUxMQgMdCEOY&$|@7xxy z$O%@fa%WRdo4y$ZZEjVf@%6kfcpL!LeL&*8afK&rY*eC2GK8I|XSqOm&4^~ov}w*5 z-PUV7EqxHB5-0Y4qpS(=RyM9?;s0pwx}uuw(lz{8D54@D(o3X+NGE{s3k2ys^dba8 z3oSrE>OUeaAP{;eLFptEX;MNFg+QnR(wj){MWqU!%sS`d%q;(#S!ZU>#oX@wt@qpe zeRuo5{XWkF=hdq2*5a#9J%}@{pbV#yybtRguekqr${})IwsDGWV?xd0D$Z8(^>Cq* zjDRPh>v#vzmi}P%?)0L`c%p+mqF~JQLr`aH(=}M8VgS!6nmV0vV-6^-G%_~#d*gfE zjEcRiZ=*6a8}=8$CL)XueXC+t(>}cG1$s}aMbhs%opZ`TEvzfvd@nX7K3uthnS&m+ zdO3_B%DmAnh$rn9Lp}_5AxG(0hX;?WM4#Y9RlY&2zdOFEUMJuhcR)so?q^}6<$Kd1 z7TY(CnOAnQ)+8p&_-mS!Eb}}4%pgxjbCJi=F(=L_MIL5F(j_czWiR>ae!(fZtPX(B~)F@$Jc< zWTWvh2`o1jev(z`W=xQftZ&2PF7Jf%pB=UnyQfGfZKXwap{1`1j2B8)O_!11_$FTG zcXo5hd=2?LX=tO67P||4ZGY^>bk zUhzjHPMHaq;lthAAy4D6#N-C9X%ex=xo?*xhZ(;x>aIl&0p9W`a1Fzab-LZ@`~HySx2-<6aNQsrP~$0Nd65pX5*)hcRW+ibKp5RWPQrgk$j-;R42u?( z%V=iAyASy<2U7vxo-^k}tgaWB`cN={>@@Hp+v~hH5tJCi@~jvRWuW<#rUhteNQKnG zkoV50W6PsA6^P0JFiY_A1E%9^pa9*Txqc*NRvKkQe(}_KKtEJ84xKgSwkZSL3-23R zV>&VHZsU0jM1BHO+<|IB#DKxIjaot9N17;XCBU1_d+vI&aJyDUP7is;K07g<+ig5_4~QQ{W&194cOAr z>y=1fJs9m?vG>T>Z{yUTr*SU(y5cs0rv=Zhe{)ALXN&UZ-wtx%7bE8aFXaH;lSQT^ zum{a}AU!=J1rs~fb!JW)n%l&3n2wq@-!SQuqaOu8zyJkP#c}F7S+crPEcLKt4OtRT z&;1^i)W&5p!z!ozzVzMk0?YDa+l1VGLagxgP{9qj-tNXKOuPW{5{lYWuLr`bgkVC} zN!lO?wG03EN%eU$4V48hw6>8UZo{4nkpY?zD z>*fCcL+N$a)w>sYvl$1f{i5f}O=4gE0CKT;Wm+AD!|l3mJ#5&%Ty95_E&t)uX74q1 zK@4Y5e7{h8o_r}lkxWiFjcj*5=KW#tl_qRxSNr7EO^tut+&x&ElFLqan#nW^CNdxp zXA095ePkK$uc$7<&b}q1VeUPf@)G@O0|XXUKctc!G$Y|!9OTTg_TiA3$h_;iq`g%& z{Bobw>+kxLP(xs%^#o()`I({4VN&A);4JX>wQ)@z--$7BsM&lA8Y&w)Ps(;xz18fI znI&E&K0?^GKuQB_#~aekaBuM5@YGRr4u)E+9sy^>Y7!eLLqy#z3t4*!Kz3 zfoS)Lk_n54q>@|HY)F0ycIY!z91wd#QXn)=qq`<;9XY5d7}T zpwn=<;ME@)#PN!yfFDXE>G_&xddJRQUWJdYFDvBc{Rrqk32m2L*bDxHwuAiR`i!;} zY}KuO!fZNn4hK&fOvRZy6!-Ua65pWh02~|slcgc4lkfHEK{{*9-2t=g`+wfpe`5{# zDHf}7KYyzisco zdh;MY8A*Xfd%zF7jj`guKlA-;XA!s=VwoUSK+(jpG{gYGihE;!qlaex{(5PRRv`0zc*Fxgvs= zhtGyr7iF^(RR+(4YEAjJ1p}KP**p!LplOjgxnf?v+sZu9)=VaVY;5reYO;v3nf*`K;%VQ{lVPTFN#_OzMZ% zX1>YqlO8D*lg?m42?uWZLLViGHBfL*mX3q2mmgn`=raI=R&silC3`1By8j|Q zhho?782T#tGUV$mjkd>5X`R-_e(y5gun3P1B~>+1boXSKnw5kGPYn60Hz;~HAP*rT zEHb`VAwDT=TLR@Rl2Pkzh$j4=Go;uWa+Motv}f?^LGfF&HM;(gDaCpZg&d;$Z5y#&@UN#kp#W~&zD52l0ux;q?p*e@VqO;7x6j%o(s3<`|N8zS+9=j zc)3R=M-HINec!^xky;>h-=~6mm9J4riGwy0CRm(9haK(9vqN!G-tv6KdH<*1@80@# zx5>z^aCx?2X8YPbUjD_m;_&9%il71440MDR;k67;pNI>q)FY6ta)CzA>Z`+Rd5&FnZDF|g?GQ+&hbq=CeQz2>aln7jr>AP2Ln&-k|kco z+ip~24iK1mV%$`YbBi@J%61g8w#5GBys>)#vKBi%!FW1d++GOYxy!pVuC=4rN~P@T z8~O0d2XQ8bvDEn9dGSxyy&8CsnYu!nsb4X8ugSvsnxS!rcu@A&M7{?~W@kXWZhU|? z4smqDb9RY+WNl)q&0Sf6Q^G4i?lkAeqJsQthXRZQkpty7x2h8z$|hFVu!A+l)@D#% zo~%|>lobt~bZ?<=eVUsCkOZn&d9ajf=ncNZ#oqsCQTqqW$#1kiZfdG`!Siy+tk0I% zRkzw-(L7I3{7rvVYaFf5L~h}Ip|<4k5FvK2eD#^$`G|a=TEQ$xpv&w5)a6OLWFVE{ zicr~{eer%XM?atqYG5D00Nky2Z|d&yYgKcJo5qxN?OTI9SIP& zxf1c(tnJYz#(pJCx(v&jpXst^&=9o~W#Cjdt`%wds4YZNxZ*9jfq&G-{RBEQ>4{Fn zJdnN^^x57@O_#~0{Zc% z<0;rpt2#`%KLX5=%TkUvj2(N8_~zxglj*h%xM|`U3PH7gDT3PZ3`GzAiu=6nKdy)7 z8gYKIBO_R8@^JivPB0fr&!{@dVIvpWf-w~gro`9Czp0#TQo1$8($r)7K3fhwp!)_O zQ(5zRJ1~;o@Z|`O=Bc1DP=Cc*LmXswu(=#1uC*$DY2B@$eQnUtZ_M!}=0Jk1=XWx) zn|F!itZtP<;8g?R(zyE~g;#KprMgN0^j;O)DFsAX5ho4DLc34)VF@mff%-Q9f79x= z?Prieb(7}8xrqBXky(5`!U ztmovb&PLaVr4t_8jy~JCUYTpYt$ET!2=0>t1Z@r~xi=`G)TRi*J}8A(zYZ7miF@7z zDv6ZhbCfX;ofY8_UaSnaRadKI-6hX}{7jgv}g`PQJ9Ga>L#2LW@2dNDP5cM&iTquO%EA_w=|NS?A`#K8-l zc&mI~K_1g#+hp(}bB*Nl2APN7&#xNo?v=xz3T}z6Sf) zKa2dhZ=QkjjGZPxp@vt{67SbYjGp!%76gcDxq@$=w<#W9_zc|oN!Ba5mmF|5i;l^MFH<#A=SidZ9^Zr%&xT<p9*3HN?(4!NNpuiWsYNJ&lJ&t2^S9t?OKh$5 ztRymQak=o1KXv6lTtR`GEt95=wn-|RclSPOp3M(qU3Vo2C_6R;Gzj8ej0@JprPAin z)z;leDaJj;$y)Gg8GoTay*lz`K_%l<;NaT8!?_;{DOz;}au`dQu^VL}I?JEjV>4g@ z7^+)~MXd5WbqQ9C4rd695n`PYf{gqsTj*w@XTDBITvMn;2JDiZ=zy`c`n`(PHOjn= z9+iK=-Zc&==$*$`rdfx(*>T3 z~*3N(m;c?5iEk+`DE$<8wg>EEIJrjs9|uhJZ-eo9gQt>+9Fuy+<)uXO&6 z?&$$VuE6)V#L#BM;Ex*cg4yQRdf?{S&4nkeFWrS9^)|w9qXmCwyi|0K=b@`=*8H+8 zzYHrNh<>u(LhIZOeD~|PvK;h=(l8U*`8~!T3{Dl|>x?r?w3`KMQh5pd)S}dQ6HACWpQF^w>+`!-tg{B*EgU;fT~68Do_QsP|i4 zewv4`6Z{OyhMI^@kX4p@2Nm}@s)VpOwLxJ)&Zjx1Q5q{rE&FZOP{Lng*rCxwkfH2{y60g3;F29Vo_3atq&q2X!z7xMpB*)5 zRSHV-e%>h*Q~8{jNyH+{GO>L5P*TGUlh4>-(JUA6)n-48sRG{hJ_Ux7&3va$@?|k<7UdF zUXkW40f*vbK|W)Fe3HHyH#Owm}hJBWsV{(!k$b0=PpXpqM z=JRmUf$-B6&7h*t4qt&Yo8gprf35*RBcU7}o;!&_g)hCz0%YUOwT+q2WSYX3(ShR# zxoIpi4#G-J_XOqasqIfpcH;xHqDJ%g|8fmrD1p+JODmV(8g;zJ~oGexf z$95m1Sr!XGH;i$#;P~EzM^p?UC`G*aAX~2%R-bOEMp9T~oXg2m#KnA2)>S^e+66JV zGR;%iMX)K;eNntCF{$fXLd@LA&wt6fBC}7T8e_=#CSvW%Mo)v%S+oC>0Y}ETKcQR& z;J$3#5o;M}G*?uq5^4_HBhEkW-`kb7VNoGkq>E(717K-|RyfH7?pO+`LXqVlrvnHS z?KF~bLz7Q0Mw4kc8iofjY}&V{@nbV~7lY34dvfl1Uyb;~tb0Xsv*^6hwvEUdeLkyX zg2CG1Be%9ujp42D?%rhFpIoQ{a9*}4&g@^s`YJ$_368)WXiXJ%+5-Toi0kBEF zwTC$1`c+fAWPGxY z;NkJClFzfnGk60(9ci+|<1<2MR00o~3!#tUj9r!^v)#ni`X9rG>M%|`FwLzjTb&40 zx4GwvR=Az0t|uYmCjCS4!!>xdL^`cg|f}V`dbykI?_-tI`;lnDaTy(4Q^2-jY#d}EW_9-f$YZm8zv-f z$c?w&$$BZ~kpsrYRzujZuX;CWNqLX_I?tl73dgetT3QRO8FK0loCxvFhuiBn=sFfa zjI6F|G+GpZvQ(weXeIZVT<+Bs+23x~Gh(k%==E=OY81d$$e#rSa?1IrUB=l~guv(869>1zNR_tNK}j;@qW??u}$HMKQZltf!@ zZivaK)QgtCr0|*9-PdKH)4e8Q;L0|fEhX{l&tm&eEvGo0N(|;S5C8q2`j-C~|9{~D I@}E=x1vO!RxBvhE literal 0 HcmV?d00001 diff --git a/art/preview.png b/art/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..8833146e55bb4708bf715c656424acf5036c4bb9 GIT binary patch literal 568227 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